Skip to content

Commit

Permalink
Cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
KB1RD committed Jul 1, 2020
1 parent 60d07f6 commit f6f6fc3
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 23 deletions.
47 changes: 24 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
![Matrix Notepad](static/logo/notepad%20logo.svg)
> A buggy way to collaborate on text documents using the [Matrix](https://matrix.org) protocol. When it works, consider this the Matrix Console of collaboration!
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/kb1rd/matrix-notepad)
![Matrix](https://img.shields.io/matrix/matrix-collaboration:kb1rd.net?label=chat%20on%20%23matrix-collaboration%3Akb1rd.net&server_fqdn=matrix.org)
![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/KB1RD/matrix-notepad/build/master?label=build%20and%20deploy)
![GitHub](https://img.shields.io/github/license/kb1rd/matrix-notepad)

Check it out at [matrix-notepad.kb1rd.net](https://matrix-notepad.kb1rd.net/) and come chat at [#matrix-collaboration:kb1rd.net](https://matrix.to/#/#matrix-collaboration:kb1rd.net?via=kb1rd.net&via=matrix.org&via=matrix.geklautecloud.de)! I'd love to hear about what you think (and what issues you encounter)!

## Brief Roadmap
Expand All @@ -9,10 +14,12 @@ This is not in any particular order:
* [x] More or less working removals
* [ ] Conflict resolution -- Almost!
* [x] Improved UI/UX (this will be incremental)
* [ ] Unit testing!!!
* [x] Unit testing for the algorithm (`logootish-js` is unit tested)
* [x] Create a different package for the `Logootish` algorithm -- Right [here](https://github.com/KB1RD/logootish-js)
* [ ] Node 'squashing' or similar. Currently Matrix Notepad has to sync ALL of the events :(
* [ ] Rich text editing
* [ ] Create "Matrix Apps" to load `iframe`d apps, such as the Notepad
* [ ] Clean up the code. I've been focusing on the algorithm, so the Notepad had gotten a bit messy

In addition, I think it would be a good idea to discuss future possibilities for sharing more than just text over Matrix and the possibility of creating a unified 'app host' client that manages permissions for applications and allows the user to browse a directory structure.

Expand All @@ -29,9 +36,9 @@ Since this is experimental software, do not use it to store very important or co
If you see error messages pop up or you encounter any bugs, **please** report it either on GitHub or on the Matrix chat. This is **very** helpful as I'm sure there are bugs that I don't know about.

## Screenshots
![Sign in](static/signin.png)
![Room List](static/roomlist.png)
![Document Editing](static/document.png)
![Sign in](resources/signin.png)
![Room List](resources/roomlist.png)
![Document Editing](resources/document.png)

## Contributing
Have a look at the [Wiki](https://github.com/KB1RD/matrix-notepad/wiki) if you're interested in contributing. I'd love the help! The wiki also contains documentation about how the algorithm, `logootish-js`, works internally as well as links to the JSDoc.
Expand All @@ -45,6 +52,7 @@ Here is the directory structure
* `/matrix.js` -- Provides the interface between Matrix, the GUI, and the algorithm. It is dense and poorly written since I'm still trying to figure out where to put everything.
* `static` -- Static files. Currently only has the site icon
* `store` -- The Vuex store. This is used for UI only since I want the algorithm to be seperate from Vue.JS. Vuex does track the state of the Matrix client, but not the state of document nodes (that's all "traditional" ES6 JS)
* `resources` -- Files used in README.md or the docs
* `test` -- A directory that I have reserved for unit testing. This would help **a lot** if I actually implemented it. *sigh*

## Debugging
Expand All @@ -59,6 +67,13 @@ $debug.syncback_settings.initial = false

// Manually fetch events (if initial load is disabled)
$debug.active_document.fetchEvents(1)

// Enable the LDM's internal operation log (currently disabled)
// This is helpful for diagnosing a bug that is identified in production
$debug.active_document.setupLogging()

// Dump the LDM's internal operation log (if enabled)
$debug.active_document.printEventLogJSON()
```

## Build Setup
Expand All @@ -76,22 +91,8 @@ $ yarn run generate
$ yarn run stats
```

Also, if you want to debug the core algorithm, `logootish-js`, see https://github.com/KB1RD/logootish-js . If you want to test it with the Notepad, the `yarn link` setup process is as follows:
``` bash
# get logootish-js
$ git clone https://github.com/KB1RD/logootish-js.git
$ cd logootish-js

# install dependencies & build
logootish-js$ yarn install
logootish-js$ yarn run build

# link to yarn
logootish-js$ yarn link

# switch to the notepad
logootish-js$ cd ../matrix-notepad

# link logootish-js
matrix-notepad$ yarn link logootish-js
```
Also, if you want to debug the core algorithm, `logootish-js`, see https://github.com/KB1RD/logootish-js .
I used to include a code sample in here to use `yarn link` to use a local
version of the algorithm, but `yarn link` appears buggy and it's way faster to
test and develop the algorithm on its own. I would encourage potential
developers to use that method instead.
Binary file added resources/document.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/roomlist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/signin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed static/document.png
Binary file not shown.
Binary file removed static/roomlist.png
Binary file not shown.
Binary file removed static/signin.png
Binary file not shown.

0 comments on commit f6f6fc3

Please sign in to comment.