Skip to content

Releases: rahmanef63/open-silong

v1.0.0 — First public release

Choose a tag to compare

@rahmanef63 rahmanef63 released this 17 Jul 08:22

open-silong v1.0.0 — the first public open-source release.

An open-source, self-hostable collaborative workspace inspired by Notion & Obsidian: a block editor, databases, and an Obsidian-style knowledge graph. Next 16 · React 19 · Convex · Tailwind v4. Production-deployed on Vercel + Convex Cloud; typecheck + 1,110 tests + build green. MIT licensed, no vendor lock-in.

🔗 Live demo: https://silong-os.vercel.app

✨ Added

  • Per-page share grants — share a single page with a specific user (by email) as viewer or editor, independent of workspace membership; granted pages surface in the library "Shared" section. Bounded authz so an editor grant reaches page content only — never trash / delete / re-share / grant management.
  • Convex handler test suite — a convex-test harness + 33 in-process handler tests covering pages CRUD + descendant cascade, database rows, the workspace membership gate (owner / non-member / viewer / unauth), public share slugs, and per-page grant authz.
  • Knowledge graph, Obsidian-style (/dashboard/graph) — interactive cloud of pages, [[wikilinks]], @mentions, #tags, and database rows, with backlinks and unresolved "ghost" nodes.
  • Architecture diagrams (docs/architecture/diagrams.md) + TRADEMARKS.md.

🔧 Changed

  • Partial Prerendering (Next Cache Components) — the auth + realtime stack is scoped to an (app) route group and cacheComponents is enabled, so every route builds as a static shell + server-streamed data; public /share·/site·/forms no longer boot the Convex client.
  • Performance pass — −~400 KB dashboard first-load (barrel→leaf split), dropped the always-mounted global snapshot subscription, content-keyed structural sharing so one edit re-renders one row, getById DTO, non-reactive admin analytics, and ~2.6 k lines of dead code + the orphaned slice-portability apparatus removed.
  • Mobile UX — the AI console and page action menu are now vaul bottom-sheet drawers (drag the handle to close); nested submenus portal into the drawer; the topbar was decluttered (theme relocated into the page menu, redundant search hidden); submenus open centered.
  • Graph Forces + Animate rebuilt on the d3-force model (inverse-square repulsion, degree-normalised springs, reheat/breathing, focus dimming, cluster tinting).

🐛 Fixed

  • @-mention rendered an extra line — Tailwind Preflight forces svg{display:block}, pushing the inline mention icon onto its own line; icon is now display:inline-block.
  • Nested trash / restore / permanently-delete threw in production — the descendant BFS paginated per level, but Convex allows one paginated query per function execution; each level now reads with an indexed .take.

📄 Full changelog: CHANGELOG.md · 🚀 Deploy your own: DEPLOY.md · 🤝 Contribute: CONTRIBUTING.md