Skip to content
Permalink
master

Commits on Aug 16, 2017

  1. Merge pull request #378 from google/crdt-doc-1

    CRDT Documentation
    trishume committed Aug 16, 2017
  2. More edits from @cmyr

    trishume committed Aug 16, 2017

Commits on Aug 6, 2017

  1. Applied @cmyr's remaining suggestions

    trishume committed Aug 6, 2017

Commits on Aug 4, 2017

  1. A bunch of editing thanks to @cmyr

    trishume committed Aug 4, 2017
  2. Merge pull request #380 from google/fuchsia-crdt-doc

    Document about CRDTs on the Fuchsia Ledger
    trishume committed Aug 4, 2017
  3. Document about CRDTs on the Fuchsia Ledger

    trishume committed Aug 4, 2017
  4. Fix up typos, links and citations

    trishume committed Aug 4, 2017

Commits on Aug 3, 2017

  1. Merge pull request #379 from google/fix-fuchsia-compile

    Fix compile errors with Fuchsia syncing
    trishume committed Aug 3, 2017
  2. Fix compile errors with Fuchsia syncing

    trishume committed Aug 3, 2017
  3. Fix trans_expand image

    trishume committed Aug 3, 2017

Commits on Aug 2, 2017

  1. More diagrams and short motivation section

    trishume committed Aug 2, 2017

Commits on Jul 31, 2017

  1. Diagrams for transform_expand

    trishume committed Jul 31, 2017

Commits on Jul 28, 2017

  1. Document rebase

    trishume committed Jul 28, 2017
  2. Merge pull request #369 from google/better-sync

    Use CRDT merge to resolve conflicts with Fuchsia sync
    trishume committed Jul 28, 2017
  3. Merge pull request #370 from google/session-priority

    Use both edit priority and session ID to order inserts
    trishume committed Jul 28, 2017
  4. Small cleanliness fix

    trishume committed Jul 28, 2017
  5. More writing

    trishume committed Jul 28, 2017

Commits on Jul 26, 2017

  1. Add note about computing transforms

    trishume committed Jul 26, 2017
  2. More docs, and pictures!

    trishume committed Jul 26, 2017
  3. Cleaner engine code

    trishume committed Jul 26, 2017
  4. More progress on WIP CRDT doc

    trishume committed Jul 26, 2017
  5. Optimization / conceptual simplification helpful for writing docs

    trishume committed Jul 26, 2017
  6. WIP CRDT document

    trishume committed Jul 26, 2017

Commits on Jul 12, 2017

  1. Use both edit priority and session ID to order inserts

    Multiple devices may use the same priorities for edits since they depend only
    on the plugin, which means that they may not be well-ordered. Solve this by
    also using the session ID to break ties in priority, both for merge and
    mk_new_rev.
    trishume committed Jul 12, 2017

Commits on Jul 11, 2017

  1. WIP conflict resolver machinery

    This should be all that is needed, but I haven't even compiled it so it might
    be totally borked.
    trishume committed Jul 11, 2017

Commits on Jul 10, 2017

  1. Use CRDT merge to incorporate page watcher changes

    trishume committed Jul 10, 2017
  2. Merge pull request #364 from google/device-ids

    Refactor revision numbers to have session IDs
    trishume committed Jul 10, 2017
  3. Plumb session ID through to Engine from top level on Fuchsia

    trishume committed Jul 10, 2017
  4. Switch to 96 bits of session ID

    The numbers with 64 bits were such that if Fuchsia/Xi was a spectacular success
    and a million people made documents with 6 million sessions there would be on
    expectation one person who's document got corrupted by a collision.
    
    Realistically not enough people would have 6 million sessions on a single
    document but I could avoid the possibility entirely without increasing
    struct size so why not.
    trishume committed Jul 10, 2017
  5. Rename everything to be session IDs instead of device IDs

    trishume committed Jul 10, 2017
  6. Refactor revision IDs into RevId struct and u64 tokens

    The RevId struct is a delta-compressible representation used by Engine, the
    RevToken is an alias for u64 that is used by plugins as a non-colliding
    identifier for a revision to base their edits on.
    
    The RevToken is currently just a DefaultHasher hashed version of RevId,
    which since DefaultHasher is cryptographically-pseudorandom should never
    really collide. The collision set is just concurrent revisions since it
    searches for the corresponding revision from newest to oldest.
    
    This refactor paves the way for different Fuchsia devices to have separate
    device IDs on their Engine, allowing them to generate non-conflicting
    revisions that can be merged using the Ledger syncing mechanics.
    trishume committed Jul 10, 2017
  7. Merge pull request #363 from callodacity/master

    implement delete_word_forward and delete_word_backward
    trishume committed Jul 10, 2017

Commits on Jul 6, 2017

  1. Merge pull request #357 from google/xi-editor/fix-gc-crash

    Also GC initial loading revision in Editor, fixing panic
    trishume committed Jul 6, 2017

Commits on Jul 5, 2017

  1. Update Cargo.lock

    trishume committed Jul 5, 2017
  2. GC initial loading revision, fixing panic

    Fixes xi-editor/xi-mac#52 by including the revision
    that contains the initial contents in the GC call the Editor makes. The GC
    only supports GCing prefixes of the visible edit history but when the initial
    revision was introduced, the Editor no longer abided by that restriction,
    causing invalid states and thus crashes.
    trishume committed Jul 5, 2017
Older
You can’t perform that action at this time.