<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/includes, branch master</title>
<subtitle>Bitweaver kernel package repository
</subtitle>
<id>https://git.rdm1.uk/kernel/.git/atom?h=master</id>
<link rel='self' href='https://git.rdm1.uk/kernel/.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/'/>
<updated>2026-06-06T22:35:20Z</updated>
<entry>
<title>kernel: load mConfig before checkEnvironment writes to it</title>
<updated>2026-06-06T22:35:20Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T22:35:20Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=8a2962f8d9cc5a2160e82d06f2978002003e9694'/>
<id>urn:sha1:8a2962f8d9cc5a2160e82d06f2978002003e9694</id>
<content type='text'>
checkEnvironment() called setConfig() to record site_server_type before
mConfig had been loaded from the database. This left mConfig non-empty
with only the server-type entry, so the subsequent empty() guard in
loadConfig() short-circuited and site_title was never loaded.

Result: getSiteCookieName() fell back to 'bit-user-bitweaver' on every
request where checkEnvironment() ran first, creating a second spurious
cookie alongside the real 'bit-user-&lt;site&gt;' cookie and splitting sessions.

Fix: call loadConfig() at the top of checkEnvironment() if mConfig is
not yet populated, matching the pattern used elsewhere. The bit-user-bitweaver
fallback is now only reached during a genuine cold install.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>kernel: revert installer login redirect attempts</title>
<updated>2026-06-06T22:04:38Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T22:04:38Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=88a8fbd1ffca15e0ee6a83fc0cbbf8c7f19464ce'/>
<id>urn:sha1:88a8fbd1ffca15e0ee6a83fc0cbbf8c7f19464ce</id>
<content type='text'>
The signin/loginfrom session approach didn't work reliably due to
session name inconsistency. Revert to original force_installer.tpl
display. Use gOverrideLoginFunction for upgrade-time admin access.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>kernel: redirect non-admin to signin when INSTALLER_FORCE is active</title>
<updated>2026-06-06T21:46:23Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T21:46:23Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=351de64a6e302b566eab1ac2c0c95e011efd86f7'/>
<id>urn:sha1:351de64a6e302b566eab1ac2c0c95e011efd86f7</id>
<content type='text'>
Replace the inline login form (which suffered from session cookie name
inconsistency) with a direct redirect to signin.php. The post-login
redirect to install.php is now handled by validate.php checking the
version mismatch directly, which is session-independent.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>kernel: set loginfrom to installer before force_installer.tpl display</title>
<updated>2026-06-06T21:30:06Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T21:30:06Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=3a9de79726296c7185ca632cc660c5c5750f5bf1'/>
<id>urn:sha1:3a9de79726296c7185ca632cc660c5c5750f5bf1</id>
<content type='text'>
After login via validate.php, redirect back to the installer rather
than the site homepage, so the admin can proceed with the upgrade
without having to navigate back manually.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>kernel: fix site_closed login bypass for nginx (SCRIPT_URL not set)</title>
<updated>2026-06-06T19:55:21Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T19:55:21Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=2957fcfd1be9f9cfdfc8329833e048290a556611'/>
<id>urn:sha1:2957fcfd1be9f9cfdfc8329833e048290a556611</id>
<content type='text'>
SCRIPT_URL is an Apache-only variable — nginx does not set it unless
explicitly added to fastcgi_params. When site_closed is active, validate.php
needs to bypass the gate so admins can log in, but the SCRIPT_URL check
always failed on nginx, making login impossible while the site is closed.

Fall back to PHP_SELF (set by nginx) when SCRIPT_URL is absent.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>BitSystem: replace TikiWiki placeholder with architecture docblock</title>
<updated>2026-06-06T14:18:26Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T14:18:26Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=5ee02bb733a8be57bf918b2384f12d1c47393b6f'/>
<id>urn:sha1:5ee02bb733a8be57bf918b2384f12d1c47393b6f</id>
<content type='text'>
Covers the six concerns: package registry (registerPackage/scanPackages/
registerAppMenu), configuration (kernel_config, getConfig/storeConfig),
display pipeline (display/fatalError/fatalPermission), permissions and
access guards, installer schema registration (register* family /
verifyInstalledPackages), and utilities (MIME, versioning, date/time,
navigation).

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>BitBase: replace TikiWiki placeholder with architecture docblock</title>
<updated>2026-06-06T14:12:22Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T14:12:22Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=9f5032f301402bfb7dd58dd686a3301a748ff9c4'/>
<id>urn:sha1:9f5032f301402bfb7dd58dd686a3301a748ff9c4</id>
<content type='text'>
Covers the four concerns: DB connection, mInfo/mErrors data hash,
APCu object caching, and list utilities (prepGetList/postGetList).

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Bump BIT_SUB_VERSION to 1 — getBitVersion() was still returning 5.0.0</title>
<updated>2026-06-01T16:17:57Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-01T16:17:57Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=3376557702a90479bb36a7db3eb3d267c26a6fdd'/>
<id>urn:sha1:3376557702a90479bb36a7db3eb3d267c26a6fdd</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Bump version to 5.0.1</title>
<updated>2026-06-01T15:59:50Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-01T15:59:50Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=ee54c9bd769bb4280452f91d60ca8c1f680dce2f'/>
<id>urn:sha1:ee54c9bd769bb4280452f91d60ca8c1f680dce2f</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Return early from bit_redirect() if URL is null or empty</title>
<updated>2026-06-01T11:33:40Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-01T11:33:40Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/kernel/.git/commit/?id=6108bc6c952ec0fda11035311502d8690153bf5f'/>
<id>urn:sha1:6108bc6c952ec0fda11035311502d8690153bf5f</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
