The app becomes a Rails 8 application; the Vue frontend moves to app/frontend and is served through vite_rails. - Without an account documents stay in the browser (IndexedDB). Sign-in is by magic link or the 6-digit code from the same mail; afterwards local documents can be uploaded into the account. - Server documents (/d/<id>) with versioned saves and a single-editor lock per browser tab; others see them read-only and follow by polling. - Sharing via link (works without an account) and via e-mail invitation, roles viewer/editor; the owner manages links and people. - Store gains a read-only mode that blocks all content changes. - Solid Queue, Cache and Cable share the one PostgreSQL database. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
19 lines
1.2 KiB
XML
19 lines
1.2 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<svg width="100%" height="100%" viewBox="0 0 197 93" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
|
<g transform="matrix(1,0,0,1,-230,0)">
|
|
<g id="Artboard2" transform="matrix(1,0,0,1,-0.38331,-0.424444)">
|
|
<rect x="230.383" y="0.424" width="196.322" height="92.247" style="fill:none;"/>
|
|
<g transform="matrix(0.333333,0,0,0.935173,222.05,-23.7646)">
|
|
<rect x="40" y="30" width="90" height="90" style="fill:rgb(255,212,0);"/>
|
|
</g>
|
|
<g transform="matrix(0.661788,0,0,0.932447,201.881,-23.4375)">
|
|
<rect x="102" y="30" width="90" height="90" style="fill:rgb(0,87,255);"/>
|
|
</g>
|
|
<g transform="matrix(1,0,0,0.934048,168.983,-23.6296)">
|
|
<rect x="164" y="30" width="90" height="90" style="fill:rgb(232,56,79);"/>
|
|
</g>
|
|
</g>
|
|
</g>
|
|
</svg>
|