Skip to content

Commit

Permalink
Remove some TODOs, add notes on running multiple instances
Browse files Browse the repository at this point in the history
  • Loading branch information
adzialocha committed Dec 10, 2024
1 parent ee60711 commit 8b94591
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,39 @@ MVP local-first text editor :)

## Getting Started

The [GNOME Builder IDE](https://builder.readthedocs.io/) is
required to build and run the project. It can be installed with flatpak.
The [GNOME Builder IDE](https://builder.readthedocs.io/) is required to build
and run the project. It can be installed with flatpak.

1. [Install flatpak](https://flatpak.org/setup/) for your distribution.
1. [Install flatpak](https://flatpak.org/setup/) for your distribution.

2. Install [Builder](https://flathub.org/apps/org.gnome.Builder) for GNOME:

`flatpak install flathub org.gnome.Builder`
`flatpak install flathub org.gnome.Builder`

3. Clone the aardvark repo:

`git clone git@github.com:p2panda/aardvark.git && cd aardvark`
`git clone git@github.com:p2panda/aardvark.git && cd aardvark`

4. Open the Builder application and navigate to the aardvark repo.
- You may be prompted to install or update the SDK in Builder.

5. Run the project with `Shift+Ctrl+Space` or click the ► icon (top-middle
of the Builder appication).
5. Run the project with `Shift+Ctrl+Space` or click the ► icon (top-middle of
the Builder appication).

6. Run builder in a separate dbus session if you need multiple instances to
test the application:

`dbus-run-session org.gnome.Builder`

## Todo

> This is a list of ideas which came up during our hacky GTK + Rust + Automerge + p2panda hackfest (December 24, Berlin) trying to get a working POC together for an offline-first text editor.
> This is a list of ideas which came up during our hacky GTK + Rust + Automerge
> + p2panda hackfest (December 24, Berlin) trying to get a working POC
> together.
- [ ] UI: Creating and joining a new document flows
- [ ] Automerge root key needs to be safely transmitted
- Currently the first peer who writes a key-stroke determines the (random?) root key. We want this to happen in a way where other peers learn about this root key before they contribute to the document.
- [ ] Why do we get empty strings from the `update_test` GTK callback?
- This causes some weird infinite loop behaviour we could only hack around by ignoring empty strings
- [ ] Intercept key-strokes before sending it to textfield
- [ ] UI: Multi-cursor support
- [ ] p2panda: Look into max. reorder attempt bug
- [ ] p2panda: Re-attempty sync after being offline bug
- [ ] Keep the cursor where it was when receiving remote updates
- [ ] Understand better how text CRDTs in automerge work
- [ ] UI: Multi-cursor support?
- [ ] Frequently do full-state "snapshots" with automerge and prune p2panda log
- For example, do it every x minutes or after someone pressed "Save"?

0 comments on commit 8b94591

Please sign in to comment.