Latest Updates

Documenting code, one commit at a time.

PHP Filament

Fixing Late Static Binding Issues in Filament Resources

When developing with Filament, you might encounter issues with PHP's late static binding, especially when working with resources. A recent update to the platform project addressed such a problem, improving the way queries are handled within resource classes.

The issue arose from directly calling Resource::getEloquentQuery(). This approach breaks PHP's late static binding, causing

Read more

Tenant Isolation Strategy: Global Rates in a Multi-Tenant Laravel Application

Introduction

In multi-tenant applications, data isolation is key. One common challenge is determining which data should be tenant-specific and which should be global. In our Laravel platform project, we faced this question with application rates. Initially, we considered rates to be tenant-scoped, but we discovered that, due to regulatory requirements, these rates are actually global and

Read more
PHP Filament

Filament v5: Addressing Class Not Found Errors with Layout Components

Introduction

When upgrading to new versions of frameworks, you sometimes encounter unexpected errors. This post addresses a "class not found" error in Filament v5 related to relocated layout components, and how to resolve it.

The Issue: Layout Components Relocation

In Filament v5, layout components like Section and Grid were moved from Filament\Forms\Components to

Read more

Enhancements to Rate Management in the Platform

Streamlining Rate Management in the Platform

We've been working on the Reimpact platform to improve how rates are managed, focusing on global applicability and enhanced security. Here's a breakdown of the changes.

Global Rate Application

Previously, rates were tied to specific companies. We've transitioned to a model where rates are global, scoped by a priority_product_id.

Read more

Debugging Authentication Issues in Laravel Filament

Introduction

When developing with Laravel and Filament, encountering authentication issues can be a common challenge. Diagnosing these issues, especially vague 401 errors, requires a strategic approach to uncover the root cause. This post outlines a method for adding detailed logging to your authentication process to better understand and resolve such errors.

The Problem: Elusive 401

Read more
PHP UX Breniapp

Enhancing Onboarding Flow with Streamlined CTA Selection in Breniapp

This post delves into recent improvements made to the onboarding process in Breniapp, focusing on a more intuitive and user-friendly experience. These changes align the onboarding flow with the Lovable specification, specifically targeting CTA selection and copy style options.

The Challenge

Previously, the process of selecting primary and secondary Call-to-Action (CTA) options during

Read more

Keying into Performance: Setting the Primary Key for TopExceptionsWidget

In the Reimpact platform, we're always striving to optimize performance and ensure smooth operation. Recently, we encountered an interesting issue with the TopExceptionsWidget model that highlights the importance of correctly defining primary keys, especially when dealing with subqueries.

The Problem

Filament, our admin panel framework, relies on $record->id to uniquely identify rows in

Read more

Simplifying Widget Queries in Reimpact/platform

When developing widgets in Reimpact/platform, efficiency is key. A recent update addresses an issue with Filament's default sorting behavior in subqueries, specifically within the TopExceptionsWidget. Let's explore the problem and the solution.

The Problem

Filament, a PHP framework, automatically applies ORDER BY model.id when using HasRecords. This default behavior becomes problematic

Read more

Enhancements to Exception Reporting and Data Presentation in Reimpact Platform

Introduction

The Reimpact platform is undergoing continuous improvements to enhance its monitoring and reporting capabilities. Recent updates focus on refining how exceptions are tracked and how data is presented to users, ensuring a more informative and user-friendly experience.

Addressing Query Builder Compatibility

One of the key updates involves resolving a compatibility issue within

Read more

Enhancing Data Presentation in Reimpact/platform with Filament Tables

The Reimpact/platform project is focused on [description]. Recent development efforts have concentrated on improving the way DPR (Data Protection Report) data is presented and managed within the platform. This involved transitioning from a static HTML table to a dynamic Filament TableWidget, offering enhanced features such as pagination, search, filtering, and translation support.

Read more