Latest Updates

Documenting code, one commit at a time.

PHP PostgreSQL

Optimizing PostgreSQL Queries: Avoiding DISTINCT on JSON Columns

Introduction

The landing project encountered a performance bottleneck related to how it was handling JSON data within PostgreSQL. Specifically, the issue arose when using SELECT DISTINCT queries on columns containing JSON data.

The Challenge

PostgreSQL's inability to directly compare JSON columns for equality posed a problem. The Filament admin panel, when preloading the attach-user

Read more

Localizing the Breniapp: From Session to User Database

The Breniapp project aims to streamline [description]. Recently, we tackled an issue with the locale switcher that was causing inconsistencies in how user locales were being handled.

The Problem

Previously, the locale selected by a user was only being saved in the session and a cookie. This approach relied on a two-step redirect chain through a LocaleController.

Read more

Improving Job Reliability with Time-Based Retries in Landing

In the landing project, we've been focusing on improving the reliability of background jobs, especially when dealing with rate limiting and throttling exceptions. Previously, we used a fixed number of retry attempts, but this approach proved to be problematic.

The Problem

When jobs are released back to the queue due to rate limiting or throttling middleware, each release counted towards the

Read more

Refactoring PostgreSQL Dashboard Functions in Reimpact/platform

The Reimpact/platform project is focused on [description]. Recent work has concentrated on improving the reliability and accuracy of PostgreSQL dashboard functions. A key area of focus was addressing data type mismatches and sequence issues that could lead to errors and inconsistencies in the displayed data.

The Problem

One specific issue involved the product_ranking function, where a

Read more

Robust Data Handling in PostgreSQL Dashboard Functions

Introduction

The Reimpact platform leverages PostgreSQL for its data storage needs. Ensuring data integrity and accurate comparisons within dashboard functions is crucial for reliable reporting and analysis. Recent work focuses on addressing data type inconsistencies that can lead to unexpected errors and inaccurate results.

The Problem

In the PostgreSQL database, the `products.

Read more

Explicit Type Casting in PostgreSQL Functions: A Must-Do

Ever faced a baffling error message that seemed to defy logic? In the Reimpact platform, we encountered a particularly frustrating issue in our PostgreSQL dashboard functions. The symptom? A cryptic 42883 error cropping up across all Packaging dashboard widgets.

The culprit turned out to be PostgreSQL's strictness regarding implicit type casting. Specifically, it doesn't automatically convert

Read more

Mitigating Session Logout Issues After User Impersonation

Introduction

Have you ever experienced a user being unexpectedly logged out immediately after being impersonated? This issue often stems from inconsistencies in session data following authentication switches. Let's explore how to address this in a PHP-based platform.

The Problem: Stale Session Password Hashes

In many web applications, especially those employing middleware for

Read more

Global Impersonation: Fixing a Routing Glitch in a Laravel Platform

Working on the Reimpact platform, we encountered a routing issue that prevented the 'stop impersonation' feature from working consistently across all panels. This post details the problem and the solution implemented to ensure global functionality.

The Problem

The impersonation.stop route was not always accessible because the RouteServiceProvider responsible for registering it wasn't

Read more

Enhancing Data Visualization in Filament with PostgreSQL Functions

Introduction

This post explores how the Reimpact/platform project enhanced its Filament-based dashboard by leveraging PostgreSQL functions to improve data visualization. The focus was on creating a more insightful and efficient packaging dashboard.

From MySQL to PostgreSQL: A Performance Shift

The initial implementation relied on MySQL stored procedures. To optimize performance and

Read more