Latest Updates

Documenting code, one commit at a time.

Fixing Session Cookie Issues Over HTTPS in Reimpact Platform

The Problem

Users of the Reimpact platform were experiencing 401 errors during Livewire POST requests. The investigation revealed that session cookies were not being sent correctly when the application was served over HTTPS. The root cause was identified as the same_site attribute of the session cookie being null while the secure attribute was also false, leading to the browser blocking

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

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

Filament Tables: Collapsed Details and Translated Filters

Working with large datasets in Filament can sometimes be overwhelming. Displaying all the information at once can make it difficult to quickly grasp key insights. This post explores how to enhance Filament tables by collapsing details by default and using translated filters for a more user-friendly experience, as recently implemented in the Reimpact/platform project.

Collapsing Details by

Read more

Enhancing Filament Tables with Manual Filtering, Searching, Sorting, and Pagination

Introduction

When working with Filament, especially when displaying data from sources other than Eloquent models, you might encounter situations where the built-in features for filtering, searching, sorting, and pagination don't work out of the box. This post describes how to manually implement these features for array-based report tables within Filament admin panels.

The Challenge: Array

Read more

Enhancing Report Generation in Reimpact/platform: Storing and Displaying Report Data

This post discusses recent enhancements to the report generation process within the Reimpact/platform project, focusing on storing and displaying the generated report data.

The Feature

The primary goal of these changes is to persist generated report data and provide flexible views for different report types. This involves adding a report_data column to the packaging_generated_reports

Read more