<feed xmlns='http://www.w3.org/2005/Atom'>
<title>liberty, branch master</title>
<subtitle>Bitweaver liberty package repository
</subtitle>
<id>https://git.rdm1.uk/liberty/.git/atom?h=master</id>
<link rel='self' href='https://git.rdm1.uk/liberty/.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/'/>
<updated>2026-06-19T10:35:42Z</updated>
<entry>
<title>Fix mContentTypeGuid never set after getLibertyObject load</title>
<updated>2026-06-19T10:35:42Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-19T10:35:42Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=2553f9f5ac6150eb5bd9587182dafe16b7255d37'/>
<id>urn:sha1:2553f9f5ac6150eb5bd9587182dafe16b7255d37</id>
<content type='text'>
registerContentType() set mType and mPackageGuid but skipped mContentTypeGuid,
leaving it null throughout the object lifetime when loaded via getLibertyObject.
This caused a TypeError in xrefType() -&gt; LibertyXrefType::__construct(string, ...).

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix pdfjs viewer URL: move zoom to hash, fix search hash parameter</title>
<updated>2026-06-16T11:51:42Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-16T11:51:42Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=839602bc2401491407f9a7d5bb7804ec57769954'/>
<id>urn:sha1:839602bc2401491407f9a7d5bb7804ec57769954</id>
<content type='text'>
zoom=page-width was appended to the file URL; moved to viewer hash where
pdfjs expects it. search= now correctly appended to the same hash fragment.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Replace Add Comment text button with insert-text icon in non-AJAX path</title>
<updated>2026-06-16T08:37:09Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-16T08:37:09Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=cec932e3c3a0667e9e1aa3af3b0f3ffb6a76a43b'/>
<id>urn:sha1:cec932e3c3a0667e9e1aa3af3b0f3ffb6a76a43b</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Replace network-receive with go-down for file download icon</title>
<updated>2026-06-16T08:31:29Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-16T08:31:29Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=aa17306c2111503cfb61eb6d2c31dd4361abfbdb'/>
<id>urn:sha1:aa17306c2111503cfb61eb6d2c31dd4361abfbdb</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Replace Add Comment text button with insert-text icon</title>
<updated>2026-06-16T08:28:48Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-16T08:28:48Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=78da8ad1155f2a51e7ed8588a38aaa1158ba1b58'/>
<id>urn:sha1:78da8ad1155f2a51e7ed8588a38aaa1158ba1b58</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add CLAUDE.md with liberty xref machinery developer notes</title>
<updated>2026-06-14T15:23:51Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-14T15:23:51Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=4c104c66860804be236136622f8d203e5d6a3d7a'/>
<id>urn:sha1:4c104c66860804be236136622f8d203e5d6a3d7a</id>
<content type='text'>
Covers LibertyXrefType, dual-guid schema, xref display path,
parseDataHash, storeXref, owner change, Firebird GROUP BY.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>loadContent: add linked_data alongside linked_title from lc_linked JOIN</title>
<updated>2026-06-12T15:13:26Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-12T15:13:26Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=924893d051920a93553a16b148efb33d1691285c'/>
<id>urn:sha1:924893d051920a93553a16b148efb33d1691285c</id>
<content type='text'>
Exposes liberty_content.data of the linked content item so BOM and other
xref view templates can display description without a separate enrichment query.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>LibertyXref: propagate mPackageGuid so dual-guid types resolve correctly in load/verify; loadContent: add linked_title from joined liberty_content</title>
<updated>2026-06-12T09:41:35Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-12T09:41:35Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=96fa98e388aaca189de0134bb8d1c8374bb75b91'/>
<id>urn:sha1:96fa98e388aaca189de0134bb8d1c8374bb75b91</id>
<content type='text'>
LibertyXref gains mPackageGuid; load() and verify() now use IN(contentTypeGuid,packageGuid)
so package-level xref items (e.g. stock/supplier) are found when editing a sub-type record
(e.g. stockcomponent). LibertyContent propagates mPackageGuid to LibertyXref in loadXref(),
storeXref() and stepXref(). LibertyXrefType::loadContent() LEFT JOINs liberty_content on
x.xref to expose linked_title for templates that display a linked content item's name.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Consolidate xref loading: LibertyXrefInfo → LibertyXrefContent + LibertyXrefType::loadContent()</title>
<updated>2026-06-11T13:14:36Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-11T13:14:36Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=6aa6a828fd9f7b43a1a526dbf8c5e4d5910b8f1d'/>
<id>urn:sha1:6aa6a828fd9f7b43a1a526dbf8c5e4d5910b8f1d</id>
<content type='text'>
- Add LibertyXrefContent: thin data container (just $mGroups), replaces LibertyXrefInfo
- Delete LibertyXrefInfo: constructor params and load() move to LibertyXrefType::loadContent()
- LibertyXrefType::loadContent($contentId): loads all display groups and their xref rows,
  returns LibertyXrefContent; absorbs both LibertyXrefInfo::load() and LibertyXrefGroup::loadXrefs()
- LibertyXrefGroup: pure value object — remove extends LibertyBase, remove loadXrefs();
  mXrefs type changed to LibertyXref[]
- LibertyXref: add ArrayAccess + fromRow() factory; templates keep {$xrefInfo.key} dot
  notation unchanged; load() also populates $mRow for consistency
- LibertyContent: mXrefInfo type updated to LibertyXrefContent; loadXrefInfo() delegates
  to $this-&gt;xrefType()-&gt;loadContent(); xrefType() visibility private → protected
  (StockBase calls it from an override)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>LibertyXref: extend BitBase directly, not LibertyBase</title>
<updated>2026-06-11T12:43:50Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-11T12:43:50Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/liberty/.git/commit/?id=b6ce14d05ba406c89f5046044378fd997b91cc52'/>
<id>urn:sha1:b6ce14d05ba406c89f5046044378fd997b91cc52</id>
<content type='text'>
Uses mDb and mErrors from BitBase; does not use any LibertyBase factory
methods (getLibertyObject, getLibertyClass etc). BitBase is the correct base.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
