Roomipedia

Yan Minagawa

A Wikipedia-style wiki that lives entirely in your room

CommunityCollaborationProductivity

Screenshots

Screenshot 1 of Roomipedia Screenshot 2 of Roomipedia Screenshot 3 of Roomipedia

About this app

Roomipedia is "the free room encyclopedia": a wiki with the look of Wikipedia that the whole room reads and edits together. Pages have links and backlinks, red links for pages that do not exist yet, full revision history with restore, search, and Wikipedia's edit flow — edit the source, write a summary, publish, and get an "edit conflict" screen if someone changed the same lines meanwhile. It works at phone width in the Marcade Player and in Element's side panel.

All content comes from the room: pages and redirects from room state, pictures from your homeserver's media repo. The widget bundle is code only and fetches nothing. A room admin can fill a new room with 200 funny, interlinked articles from Wikipedia's "Unusual articles" list using the seeding script in the source repo (text under CC BY-SA 4.0, attributed and linked on every page). Importing any other article from Wikipedia is opt-in per browser and only happens on an explicit click; that request to *.wikipedia.org is the widget's only network access. Roomipedia is not affiliated with Wikipedia or the Wikimedia Foundation.

Each page is a Yjs CRDT document synced through the room itself: incremental edits travel as timeline events (de.minagawa.roomipedia.update), and a chunked snapshot in room state (de.minagawa.roomipedia.page) is the source of truth, so new members load every page and its history. There is no server beyond your homeserver and this static bundle.

Room state is not encrypted, even in an encrypted room. The timeline edits are end-to-end encrypted by your client, but the page snapshots — and with them every page's text and history — sit in cleartext on the homeserver and federate in cleartext. The widget shows a permanent notice in encrypted rooms. There are no per-page permissions: anyone in the room who may send these events can rewrite or delete any page (history keeps the old revisions). Room power levels are the only access control. Don't put secrets in the wiki.

Add to a room

Paste this into any room you may configure — Element and most clients understand /addwidget:

/addwidget https://marcade.store/apps/de.minagawa.roomipedia/0.1.1/

A new room is an empty wiki. Create the first page, or seed the room with 200 starter articles: node --experimental-strip-types scripts/seed-room.ts (see the README).

Rooms should pin the versioned URL above. https://marcade.store/apps/de.minagawa.roomipedia/latest/ always points at the newest release.

Name and icon in Element

/addwidget can carry only the URL: Element lists the app as “Custom” without an icon. Add the Marcade Store once per room and it gives every Marcade app pasted in there its name and icon, and tells you when an update is out.

/addwidget https://marcade.store/apps/de.minagawa.marcade-store/0.1.4/

Permissions

Capabilities this widget may request. The Marcade Player asks for your consent before granting any of them.

What's new in 0.1.1

Room-only data: pages, redirects and pictures now come from the room and its media repo, nothing is bundled or fetched. A seeding script fills a room with the 200 starter articles. Wikipedia import is opt-in per browser. Fixes "Unable to access room timeline" in Element (edits now reach the room).

Information

Version
0.1.1
Section
Community — Built by Marcade CI from a pinned commit; the capability list has been audited.
License
AGPL-3.0-or-later
Author
Yan Minagawa
State event types
de.minagawa.roomipedia.page, de.minagawa.roomipedia.redirects
Encrypted rooms
Not declared
Widget ID
de.minagawa.roomipedia