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>
10 lines
266 B
Ruby
10 lines
266 B
Ruby
# Serves the Vue app for every client-side route (/, /d/<id>). The signed-in
|
|
# user is embedded so the app knows it before its first render.
|
|
class SpaController < ApplicationController
|
|
layout false
|
|
|
|
def show
|
|
@boot = { user: Current.user&.as_json }
|
|
end
|
|
end
|