You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+19-12Lines changed: 19 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,10 +7,10 @@ Check it out at [matrix-notepad.kb1rd.net](https://matrix-notepad.kb1rd.net/) an
7
7
This is not in any particular order:
8
8
*[x] More or less working insertions
9
9
*[x] More or less working removals
10
-
*[ ] Conflict resolution
11
-
*[] Improved UI/UX (this will be incremental)
10
+
*[ ] Conflict resolution -- Almost!
11
+
*[x] Improved UI/UX (this will be incremental)
12
12
*[ ] Unit testing!!!
13
-
*[] Create a different package for the `Logootish` algorithm
13
+
*[x] Create a different package for the `Logootish` algorithm -- Right [here](https://github.com/KB1RD/logootish-js)
14
14
*[ ] Node 'squashing' or similar. Currently Matrix Notepad has to sync ALL of the events :(
15
15
*[ ] Rich text editing
16
16
@@ -23,9 +23,7 @@ Fundementally, it is frustrating that there is no standard way to collaborate on
23
23
Just head on over to [matrix-notepad.kb1rd.net](https://matrix-notepad.kb1rd.net/) and sign in. This will bring you to a room list. It's not a great idea to re-use rooms, so if you haven't joined a document room yet, click the "Add" button at the top of the room list and either create a room or join an existing one by ID or alias.
24
24
25
25
### WARNING!
26
-
First of all, since this is experimental software, do not use it to store very important or confidential information. Second, I have recommended to some of the Matrix devs that they create another account to test this program. This program *shouldn't* do anything to break anyone's account -- I use it on my normal Matrix account and nothing bad has happened. Yet. I suggested that they use another account because their job depends upon a working account. If you *absolutely* need your Matrix account every day, I would recommend creating another account just to be safe. This program will:
27
-
1.) Post a good number of events to whichever room you choose. If you use this to type out a novel or something, it may slow down Riot since sync requests get larger, but this shouldn't be too much of an issue
28
-
2.) Scroll back as far as possible in whichever room you choose. For this reason, **do not** open public chats since the editor will try to sync back to the beginning of time and probably crash your browser. I'm working on a more efficient sync system. See issue #11
26
+
Since this is experimental software, do not use it to store very important or confidential information. I am not responsible for lost information
29
27
30
28
### Bug Reporting
31
29
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.
@@ -40,20 +38,29 @@ Have a look at the [Wiki](https://github.com/KB1RD/matrix-notepad/wiki) if you'r
40
38
41
39
## Organization
42
40
Here is the directory structure
43
-
*`algorithms` -- A directory for possible algorithms in case I ever want to develop others. This is more of an organizational thing
44
-
*`/logootish` -- The `logootish` algorithm that I developed. This is the more interesting of all the directories
45
-
*`/index.js` -- The main Logootish algorithm
46
-
*`/bst.js` -- A custom binary sorting tree that supports custom compare functions and supports getting groups of nodes. This is used to select regions of nodes to consider. This may need a rewrite
47
-
*`/ints.js` -- A custom `Int32` type. I implemented this so that any int-based type would have a standard interface using methods rather than operators because JavaScript doesn't support operator overloading. In the future, it would be possible to replace the `Int32` type with any other int type because of this interface. Because it's only an Int32, the document will have issues if you add 2^31 characters consecutively, but then again so will most web browsers :)
48
-
*`utils.js` -- Random utilities that I should move somewhere else. This includes `Enum`, `arraymap`, `PeekableIterator`, and `FatalError`
49
41
*`components` -- Vue components
50
42
*`layouts` -- Nuxt layouts. This is currently just the default layout
51
43
*`pages` -- Nuxt pages
52
44
*`plugins` -- Nuxt plugins that perform vital functions for the program that are not the algorithm or the Vuex store
45
+
*`/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.
53
46
*`static` -- Static files. Currently only has the site icon
54
47
*`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)
55
48
*`test` -- A directory that I have reserved for unit testing. This would help **a lot** if I actually implemented it. *sigh*
56
49
50
+
## Debugging
51
+
I have removed the debug panel as of version `0.2.0` in favor of a console based debug under the window-scope variable `$debug`. Here's the main tricks:
52
+
53
+
```js
54
+
// Provides direct access to the ListDocumentModel
55
+
$debug.active_document.ldm
56
+
57
+
// Disable the initial load
58
+
$debug.syncback_settings.initial=false
59
+
60
+
// Manually fetch events (if initial load is disabled)
0 commit comments