Latest Updates

Documenting code, one commit at a time.

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

Enhancing Workflow Reliability with Code Review

In software development, a robust workflow is crucial for maintaining code quality and minimizing potential issues. Recently, we've focused on refining our development process to incorporate more rigorous code review practices, specifically before finalizing changes.

The Importance of Early Code Review

Integrating a 'dev:code-review' step earlier in the workflow offers several key advantages:

Read more

Unifying Generation Workflows for Enhanced Security and Reliability

This post details how we streamlined our content generation process to improve security, consistency, and maintainability.

The Challenge

Previously, our application used separate code paths for generating content based on user prompts versus automatic generation. This divergence led to inconsistencies in security auditing, resource management, and error handling.

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

Fixing Placeholders in Our Application

Sometimes, during development, placeholder values can inadvertently slip into the final application. This post discusses how we addressed such an issue in our vlog index page, specifically focusing on unresolved :app_name placeholders.

The Problem: Unresolved Placeholders

Unresolved placeholders are problematic because they present a poor user experience and can sometimes expose internal

Read more

The Hidden Cost of Unused Placeholder Fixes

We've all been there: a quick fix for an apparent issue, like an unresolved placeholder in a user-facing section. But what happens when the fix itself introduces more complexity than it resolves?

Recently, we addressed an issue where the :app_name placeholder wasn't being correctly rendered on the /earn hero section of our application.

Read more

Enhancements to Cache Handling and Code Robustness

Introduction

Recent commits to our application focused on improving the reliability and efficiency of our caching mechanisms, as well as enhancing the overall robustness of the codebase. These changes aim to prevent race conditions and reduce the risk of errors during refactoring.

Atomic Cache Operations

A key improvement involves replacing Cache::has and Cache::put with the atomic

Read more

Automating Development Tasks with Custom Skills

In software development, repetitive tasks can consume valuable time and introduce inconsistencies. Automating these tasks not only boosts efficiency but also enhances code quality and maintainability. This post explores how custom skills can be leveraged to streamline project workflows, focusing on practical examples and benefits.

Custom Skills for Enhanced Productivity

Custom skills are

Read more