Skip to content
This repository was archived by the owner on Nov 25, 2024. It is now read-only.

Peeking via MSC2753 - #1370

Merged
ara4n merged 66 commits into
masterfrom
matthew/peeking
Sep 10, 2020
Merged

ara4n merged 66 commits into
masterfrom
matthew/peeking

Conversation

@ara4n

@ara4n ara4n commented Aug 30, 2020 •

Copy link
Copy Markdown
Member

This is a draft PR to gather feedback on the vague shape (and to help inform review of MSC2753), and to get something committed.

Full scope (although i'd like to merge this before it bitrots and handle the other checkboxes in other PRs):

  • get feedback on whether the design is remotely correct
  • make it build
  • make it work
  • actually add peek block into the sync response
  • respect history visibility
  • add postgres
  • add /unpeek
  • show unpeeked rooms briefly in the leave block
  • support EDUs in peeked rooms
  • figure out whether to stop trying to wake up devices which are no longer syncing
  • stop peeking if history visibility changes
  • clean up peeks on since-less /sync
  • sort out unstable prefixes
  • tracing
  • complement / sytests - sytest in progress at test peeking via MSC2753 on dendrite sytest#944

See also matrix-org/matrix-spec-proposals#2753

This consciously doesn't implement peeking over federation, which should be a separate PR, but is the main reason for doing this.

doesn't yet compile or work.
needs to actually add the peeking block into the sync response.
checking in now before it gets any bigger, and to gather any initial feedback on the vague shape of it.
@ara4n
ara4n marked this pull request as draft August 30, 2020 14:52

@kegsay kegsay left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Broadly speaking this implements MSC2753 well. There's some discussion to be had around the shape of peeking over federation, which will depend on what the federation API shape looks like.

Comment thread clientapi/routing/routing.go Resolved
Comment thread docs/peeking.md Resolved
Comment thread docs/peeking.md Resolved
Comment thread roomserver/api/output.go Resolved
Comment thread syncapi/storage/shared/syncserver.go Resolved
Comment thread syncapi/sync/notifier.go Resolved
@ara4n

ara4n commented Sep 9, 2020

Copy link
Copy Markdown
Member Author

assuming CI passes, i think this is ready to merge.

anoadragon453 pushed a commit to matrix-org/synapse that referenced this pull request Sep 9, 2020
Dendrite's implementing MSC2753 over at matrix-org/dendrite#1370 to prove the implementation for MSC purposes, and so sytest has sprouted tests for it over at matrix-org/sytest#944. But we don't want them to run on synapse until synapse implements it.
Comment thread syncapi/storage/postgres/peeks_table.go Resolved
@ara4n

ara4n commented Sep 10, 2020

Copy link
Copy Markdown
Member Author

sytest is still failing for me locally on postgres with the peeked blocks having no timeline entries, so i am very confused on how this is passing CI.

@ara4n ara4n closed this Sep 10, 2020
@ara4n ara4n reopened this Sep 10, 2020
Comment thread syncapi/storage/sqlite3/peeks_table.go Resolved

@kegsay kegsay left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise LGTM!

@ara4n
ara4n merged commit 39507ba into master Sep 10, 2020
@ara4n
ara4n deleted the matthew/peeking branch September 10, 2020 13:39
clokep pushed a commit to matrix-org/synapse that referenced this pull request Sep 17, 2020
Dendrite's implementing MSC2753 over at matrix-org/dendrite#1370 to prove the implementation for MSC purposes, and so sytest has sprouted tests for it over at matrix-org/sytest#944. But we don't want them to run on synapse until synapse implements it.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants