<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Adil Omer — Writing</title>
    <link>https://adilomer.xyz/</link>
    <atom:link href="https://adilomer.xyz/rss.xml" rel="self" type="application/rss+xml" />
    <description>How I build Laravel systems, and write-ups of bugs I fixed in open-source PHP projects.</description>
    <language>en</language>
    <lastBuildDate>Mon, 28 Sep 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Keeping every school's data apart in a multi-tenant Laravel app</title>
      <link>https://adilomer.xyz/writing/madarik-tenant-isolation</link>
      <guid isPermaLink="true">https://adilomer.xyz/writing/madarik-tenant-isolation</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>How Madarik scopes 30 models to the current school with one middleware and one trait, where that stops protecting you, and the test that proves it.</description>
      <category>Laravel</category>
      <category>Multi-Tenancy</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Why Horizon showed &quot;Delayed Until&quot; equal to &quot;Pushed&quot;</title>
      <link>https://adilomer.xyz/writing/horizon-delayed-until</link>
      <guid isPermaLink="true">https://adilomer.xyz/writing/horizon-delayed-until</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <description>A delayed job looked like it had no delay at all. The cause was two libraries using the letter &quot;m&quot; for different units.</description>
      <category>Laravel</category>
      <category>Queues</category>
      <category>JavaScript</category>
    </item>
    <item>
      <title>Getting validation errors back into the Debugbar session panel</title>
      <link>https://adilomer.xyz/writing/debugbar-validation-errors-cut</link>
      <guid isPermaLink="true">https://adilomer.xyz/writing/debugbar-validation-errors-cut</guid>
      <pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate>
      <description>Validation messages showed up as &quot;_cut&quot; because of a dumper depth limit. A pair of casters removed one level of nesting.</description>
      <category>Laravel</category>
      <category>Debugging</category>
      <category>PHP</category>
    </item>
    <item>
      <title>When GRAV_CONFIG__…=false means true</title>
      <link>https://adilomer.xyz/writing/grav-env-boolean-overrides</link>
      <guid isPermaLink="true">https://adilomer.xyz/writing/grav-env-boolean-overrides</guid>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <description>Environment variables are always strings, and (bool)&quot;false&quot; is true in PHP. A small cast fixed a config override that did the opposite of what it said.</description>
      <category>PHP</category>
      <category>Configuration</category>
    </item>
  </channel>
</rss>
