Latest Updates

Documenting code, one commit at a time.

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

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
PHP Service Layer

Improving Component Management and Data Handling in Platform

The Reimpact/platform project focuses on building a robust and scalable platform. Recent work has concentrated on improving component management and ensuring data integrity across different modules. These changes streamline the codebase and address potential errors in data handling.

Fixing Data Type Handling

A critical fix addressed an issue in channels.php related to UUID comparison.

Read more

Enhancing Data Synchronization in the Reimpact Platform

This post details recent improvements to the data synchronization process within the Reimpact platform, focusing on dependency management, data integrity, and automation.

The Challenge

Data synchronization can be complex, especially when dealing with relational databases that have foreign key constraints and auto-generated values. Ensuring data consistency and avoiding errors during

Read more

Scaling with Schemas: Multi-Tenancy Migration in Laravel

The Reimpact platform is undergoing a significant architectural shift, moving from a MySQL row-level multi-tenancy model to a more robust PostgreSQL schema-per-tenant setup. This post dives into the key considerations and steps involved in this migration, leveraging Laravel and Filament.

The Motivation for Schema-Based Tenancy

Row-level multi-tenancy in MySQL, while initially simpler to

Read more