View the history of public and world readable Matrix rooms
Go to file
Eric Eastwood 839e31a35e E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00
config E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00
public Add year select fallback for Firefox 2022-02-17 21:10:36 -06:00
server E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00
shared E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00
test E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00
.eslintignore Fix lints 2022-02-15 21:33:31 -06:00
.eslintrc.json Fix lints 2022-02-15 21:33:31 -06:00
.gitignore E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00
.prettierrc.json SSR with linkedom 2022-02-03 23:44:50 -06:00
README.md E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00
package-lock.json E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00
package.json E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00
vite.config.js E2E test but still failing because fetching from start of day before test events happened 2022-02-23 21:25:05 -06:00

README.md

Matrix public archive

NB: This project is very much a work-in-progress (WIP)! Undocumented config/secrets, using a draft branch of Hydrogen, etc.

In the vein of feature parity with Gitter, the goal is to make a public archive site for world_readable Matrix rooms like Gitter's archives which search engines can index and keep all of the content accessible/available. There is already https://view.matrix.org/ (https://github.com/matrix-org/matrix-static) but there is some desire to make something with more Element-feeling polish and loading faster (avoid the slow 502's errors that are frequent on view.matrix.org).

Plan summary

The plan is to server-side render (SSR) the Hydrogen Matrix client on a Node.js server (since both use JavaScript) and serve pages on the fly (probably with some Cloudflare caching on top) when someone requests /archives/${year}/${month}/${day}. To fetch the events for a given day/time, we will use MSC3030's /timestamp_to_event endpoint to jump to a given day in the timeline and fetch the messages from a Matrix homeserver.

Re-using Hydrogen gets us pretty and native(to Element) looking styles and keeps the maintenance burden of supporting more event types in Hydrogen.

Prerequisites