Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Developer demo of alternate wiki store implementation #7329

Draft
wants to merge 76 commits into
base: master
Choose a base branch
from

Commits on Mar 4, 2023

  1. Initial commit

    This is the very barebones beginnings of a demo implementation of an alternate tiddler store. It is not functional. If using the Vercel builds, open developer tools in the browser to see it failing due to the absence of basic wiki methods.
    
    The plan is to build it up into the smallest possible plain JS wiki store implementation, sharing as much implementation as possible with the existing core implementation with as little code duplication as possible. It could then serve as the basis for future experiments with wiki stores based on SQLite (@linonetwo), or a custom append only database (@yaisog).
    Jermolene committed Mar 4, 2023
    4 Configuration menu
    Copy the full SHA
    fdec12f View commit details
    Browse the repository at this point in the history

Commits on May 10, 2023

  1. Configuration menu
    Copy the full SHA
    7fdd8a5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6233710 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b6bc197 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. Configuration menu
    Copy the full SHA
    3561318 View commit details
    Browse the repository at this point in the history
  2. Incorporate @joshuafontany's plain JS wiki implementation

    And make the demo storage areas switchable
    
    @joshuafontany's implementation was in #7521
    Jermolene committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    1d0b928 View commit details
    Browse the repository at this point in the history
  3. Proof of concept of instantiating sqlite3 without needing external de…

    …pendencies
    
    We get a reference to sqlite3 but we're not yet doing anything with it
    
    Also note that this approach leads to duplication - there will be two copies of sqlite3.js and sqlite3.wasm in each generated HTML file. The plan is to dynamically retrieve those tiddlers from the store area rather than baking them into the raw markup area
    Jermolene committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    544e079 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0546a14 View commit details
    Browse the repository at this point in the history
  5. Make rawmarkup code dynamically load dependencies

    empty.html with the plugin is now 4.1MB
    Jermolene committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    146a22b View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. Configuration menu
    Copy the full SHA
    449e227 View commit details
    Browse the repository at this point in the history
  2. Include sqlite3 in the empty edition

    Makes for an empty size of 4.1MB
    Jermolene committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    6f24f33 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c43bc8f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    831fb39 View commit details
    Browse the repository at this point in the history
  5. Cleanup and clarify

    Jermolene committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    8690936 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9427cf7 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2023

  1. Simplify the plain JS store implementation

    Removing indexers and title cache
    Jermolene committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    9ac21f1 View commit details
    Browse the repository at this point in the history
  2. Wire the sql functions into the wiki object

    At this point, the result is incredibly, painfully slow – the wiki will probably fail to load entirely on mobile
    Jermolene committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    7e60726 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2023

  1. Configuration menu
    Copy the full SHA
    9cb8721 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2023

  1. Configuration menu
    Copy the full SHA
    ede5f1e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8399538 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2099c4f View commit details
    Browse the repository at this point in the history
  4. Remove instrumentation

    Makes the code complex and is hard to keep up to date
    Jermolene committed Jun 28, 2023
    Configuration menu
    Copy the full SHA
    12a19bb View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2023

  1. Configuration menu
    Copy the full SHA
    87213f2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6ded5e6 View commit details
    Browse the repository at this point in the history
  3. Fix typo

    Jermolene committed Jun 29, 2023
    Configuration menu
    Copy the full SHA
    b29af44 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2023

  1. Configuration menu
    Copy the full SHA
    1f4be3e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    687b1df View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2023

  1. Configuration menu
    Copy the full SHA
    71c02e5 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2023

  1. Add logging utility

    Jermolene committed Jul 6, 2023
    Configuration menu
    Copy the full SHA
    2d229e2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9e190a4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    21ef2d7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f3bc32a View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2023

  1. Configuration menu
    Copy the full SHA
    d2e21dd View commit details
    Browse the repository at this point in the history
  2. Write tiddlers with string fields

    Otherwise date fields will get saved as JS date objects, which are not properly defined in JSON.
    Jermolene committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    64ffa52 View commit details
    Browse the repository at this point in the history
  3. Update comment

    Jermolene committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    b557dea View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2023

  1. Configuration menu
    Copy the full SHA
    e3255a4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f48bddb View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2023

  1. Configuration menu
    Copy the full SHA
    709669b View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2023

  1. Add tags tables and tag indexer and make custom collator be optional

    This commit (a) is very much work in progress (b) improves performance significantly and (c) is actually broken
    
    Right now, theme stylesheets don't get loaded for some reason.
    
    I plan to spend some time improving debuggability by adding a SQL console
    Jermolene committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    cc2cd20 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    83e7d32 View commit details
    Browse the repository at this point in the history
  3. Introduce sql console

    Very bare bones, but functional. Results are displayed in JSON for the moment. The console should also perhaps be hidden by default, with a keyboard shortcut, and a setting in local storage.
    Jermolene committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    979a1f7 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2023

  1. Configuration menu
    Copy the full SHA
    88c8c2c View commit details
    Browse the repository at this point in the history
  2. Styling for SQL console

    Jermolene committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    b4fe896 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    09b0e28 View commit details
    Browse the repository at this point in the history
  4. Fix tag saving

    Jermolene committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    2cd2a05 View commit details
    Browse the repository at this point in the history
  5. Sql console styling

    Jermolene committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    2d3027f View commit details
    Browse the repository at this point in the history
  6. Wire up the tag indexer properly

    Improves rendering performance by a factor of 4, but we're still 5 times slower than the plain JS store
    Jermolene committed Jul 19, 2023
    Configuration menu
    Copy the full SHA
    7fd2dd5 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2023

  1. Sort tag lookups according to TW semantics

    Perhaps it would be better to keep the tags in the desired order in the database...
    Jermolene committed Jul 20, 2023
    Configuration menu
    Copy the full SHA
    b9245da View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2023

  1. Configuration menu
    Copy the full SHA
    39d0451 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2023

  1. Configuration menu
    Copy the full SHA
    7eeaa20 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2023

  1. Configuration menu
    Copy the full SHA
    bb41ae0 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2023

  1. Fix tag collation syntax

    Jermolene committed Jul 29, 2023
    Configuration menu
    Copy the full SHA
    e6309e9 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2023

  1. Configuration menu
    Copy the full SHA
    66cba18 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2023

  1. Configuration menu
    Copy the full SHA
    25138ec View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2023

  1. Configuration menu
    Copy the full SHA
    1754be2 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2023

  1. Simplify the SQL schema

    And introduce some very simple tests
    Jermolene committed Oct 21, 2023
    Configuration menu
    Copy the full SHA
    c52014c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fd3d8ae View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2023

  1. Configuration menu
    Copy the full SHA
    863066d View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2023

  1. Use the empty string as special plugin name for ordinary tiddlers

    Using NULL was working against the grain of SQL
    Jermolene committed Oct 24, 2023
    Configuration menu
    Copy the full SHA
    d4dec0c View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2023

  1. Move tags into their own tables

    This roughly halves the bootup time of the prerelease wiki
    Jermolene committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    f49b9fa View commit details
    Browse the repository at this point in the history
  2. Add indexes for columns used in joins

    Doesn't actually appear to make any appreciable difference
    Jermolene committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    12c6cb3 View commit details
    Browse the repository at this point in the history
  3. Refactor indexer implementation

    Previously, we were using the existing addIndexer method to piggyback adding our own internal indexers.
    Jermolene committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    dc94ed8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3a4f5b8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e9d640b View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2023

  1. More indexes

    Jermolene committed Oct 27, 2023
    Configuration menu
    Copy the full SHA
    01e1882 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a58f119 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e4af21a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d982658 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2023

  1. Configuration menu
    Copy the full SHA
    8c1f7a6 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. Configuration menu
    Copy the full SHA
    9493084 View commit details
    Browse the repository at this point in the history
  2. Revert attempt at optimising filter execution

    At the moment the optimiser returns a list of chainable functions, it would be simpler to just return a single function
    Jermolene committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    02f3065 View commit details
    Browse the repository at this point in the history
  3. Minor refactoring

    Jermolene committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    d7f0c5c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6997c61 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2023

  1. Configuration menu
    Copy the full SHA
    5d20e98 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2023

  1. Fix indentation

    Thanks @pmario
    Jermolene committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    4897248 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2023

  1. Configuration menu
    Copy the full SHA
    6983564 View commit details
    Browse the repository at this point in the history