<feed xmlns='http://www.w3.org/2005/Atom'>
<title>soryu/makima/frontend/src/components/files/FileDetail.tsx, branch makima-ios-m2-auth</title>
<subtitle>soryu-co/soryu mirror</subtitle>
<id>http://src.eirin.xyz/soryu/atom?h=makima-ios-m2-auth</id>
<link rel='self' href='http://src.eirin.xyz/soryu/atom?h=makima-ios-m2-auth'/>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/'/>
<updated>2026-01-25T00:01:25+00:00</updated>
<entry>
<title>Move files tab and file pages to be accessible via contracts (#27)</title>
<updated>2026-01-25T00:01:25+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-25T00:01:25+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=a279ec29efb863fefd1ca82e5b490f2e8784cf3c'/>
<id>urn:sha1:a279ec29efb863fefd1ca82e5b490f2e8784cf3c</id>
<content type='text'>
* feat: remove Files from top-level navigation

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;

* feat: update file links to use contract-scoped routes

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;

* feat: add contract context to FileDetail component

- Add contractId, contractName, and onContractClick props to FileDetailProps
- Update breadcrumb navigation to show contract name with path separator
  when viewing file within a contract context
- Fall back to "Back to list" when no contract context is provided
- This enables the FileDetail component to be used within the
  /contracts/:contractId/files/:fileId route

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;

* feat: update routes to nest files under contracts

- Add react-router-dom for client-side routing
- Create ContractList component to list all contracts
- Create ContractDetail component with tabs (overview, files, tasks, repos)
- Create FileDetail component to view individual files
- Configure routes:
  - /contracts - list all contracts
  - /contracts/:id - view contract details with Files tab
  - /contracts/:contractId/files/:fileId - view file in contract context
- Remove standalone file routes (/files, /files/:id)

Files are now only accessible through their parent contract.

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

---------

Co-authored-by: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</content>
</entry>
<entry>
<title> Contract system</title>
<updated>2026-01-15T00:21:16+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-11T05:52:14+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=87044a747b47bd83249d61a45842c7f7b2eae56d'/>
<id>urn:sha1:87044a747b47bd83249d61a45842c7f7b2eae56d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Initial Control system</title>
<updated>2026-01-11T03:01:13+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-06T04:08:11+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=8b17a175c3e7e27b789812eba4e3cd760beadb10'/>
<id>urn:sha1:8b17a175c3e7e27b789812eba4e3cd760beadb10</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add versioning to files</title>
<updated>2025-12-24T05:45:22+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2025-12-24T05:45:22+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=2faba0388f93d8e4fb86219eba7883b331d501ff'/>
<id>urn:sha1:2faba0388f93d8e4fb86219eba7883b331d501ff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add overwrite mechanism for conflicting writes of files</title>
<updated>2025-12-24T00:23:05+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2025-12-24T00:23:05+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=cdfac7b3792d3813594daa36470465bd8c841ea9'/>
<id>urn:sha1:cdfac7b3792d3813594daa36470465bd8c841ea9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add editable file sections and a drag&amp;drop feature</title>
<updated>2025-12-23T19:11:57+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2025-12-23T19:11:57+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=f5222a7ae5ade5589436778cb01fc0abe625b3c3'/>
<id>urn:sha1:f5222a7ae5ade5589436778cb01fc0abe625b3c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add file body and initial tool call system</title>
<updated>2025-12-23T14:47:18+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2025-12-23T14:43:23+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=555061b179b8ec034cb70f9a2dd6c823ced0f637'/>
<id>urn:sha1:555061b179b8ec034cb70f9a2dd6c823ced0f637</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Postgres for persistence and File cabinet</title>
<updated>2025-12-23T14:47:18+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2025-12-23T02:14:58+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=a32dc56d2e5447ef8988cb98b8686476cc94e70c'/>
<id>urn:sha1:a32dc56d2e5447ef8988cb98b8686476cc94e70c</id>
<content type='text'>
Migrations are local only currently, and must be run manually by setting POSTGRES_CONNECTION_URI
</content>
</entry>
</feed>
