Latest Updates

Documenting code, one commit at a time.

PHP SEO

Boosting SEO on the Landing Page

The devlog-ist/landing project focuses on creating a compelling landing experience. Recent work centered on improving SEO and ensuring proper sitemap discovery.

The Problem

The Cloudflare CDN was overriding the application's robots.txt, which prevented search engines from discovering the sitemap. This negatively impacted SEO performance.

The Approach

To bypass the CDN override, a

Read more
Laravel PHP OAuth

Limiting OAuth Providers in Laravel

Working on the devlog-ist/landing project, we're refining the authentication flow. The goal is to streamline user registration and login, particularly for non-developers who might be contributing recommendations. We've adjusted the available OAuth providers to match user roles.

Previously, both GitHub and LinkedIn were presented as default options on the login and registration pages.

Read more
PHP Laravel OAuth

Enhancing User Security in Laravel OAuth Implementations

OAuth provides a streamlined approach to user authentication, but it's crucial to implement security measures that protect user data and prevent unauthorized access. A common scenario involves social login, where users authenticate via third-party providers like GitHub or LinkedIn.

The Problem: Unregistered Users and Automatic Registration

A potential vulnerability arises when users not yet

Read more
PHP Laravel SEO

Canonical URLs and SEO: Ensuring Consistent Indexing

Maintaining a consistent URL structure is crucial for search engine optimization (SEO). Duplicate content, even with slight variations in the URL (like the presence or absence of "www"), can confuse search engines and dilute your website's ranking potential.

The Problem: Duplicate Content with Varying URL Prefixes

Search engines like Google treat example.com and `www.example.

Read more

Enhancing GitHub OAuth Flow: Preserving User Permissions

Introduction

This article discusses a common issue in applications using GitHub OAuth for authentication: inadvertently overwriting a user's existing token with one that has fewer permissions. We'll explore how to ensure the application preserves the user's original, broader-scoped token when requesting narrower scopes during subsequent logins.

The Problem

Many applications use GitHub

Read more

Enhancing Application Stability with Strategic Cache Invalidation

Introduction

Maintaining data consistency across distributed systems and applications often requires careful management of caches. Stale data in caches can lead to unexpected behavior and inconsistencies. We recently implemented several enhancements to our application's caching strategy, focusing on proactive invalidation to ensure data accuracy and prevent outdated information from impacting

Read more

Improving Database Transaction Handling in Tests

Introduction

During recent testing of the social login functionality in our application, we encountered intermittent failures. These "flaky" tests were traced back to how database transactions were being handled, particularly in PostgreSQL.

The Challenge

The core issue was that within a test, a failed database query (e.g., due to a validation error during profile synchronization) would

Read more

Refactoring for Efficiency: Sharing Tenant Setup Logic in Our Testing Suite

In large projects, repetitive code across numerous tests can lead to maintenance overhead and inconsistencies. We recently tackled this in our application by extracting common tenant setup logic into a reusable trait, significantly reducing code duplication and improving test maintainability.

The Problem: Duplicated Boilerplate

Our testing suite involved numerous tests that required setting

Read more