Skip to content

MSC3381: Polls (mk II)#3381

Merged
turt2live merged 38 commits intomainfrom
travis/msc/polls
Dec 5, 2023
Merged

MSC3381: Polls (mk II)#3381
turt2live merged 38 commits intomainfrom
travis/msc/polls

Conversation

@turt2live
Copy link
Copy Markdown
Member

@turt2live turt2live commented Sep 7, 2021

Rendered

Note: the implementations below are for an earlier draft of this proposal. The latest draft does not technically have any implementations, but is not functionally different from the prior draft. That prior draft, called "v1", is available here.

Element Web Implementation:

Element iOS Implementation:

Further work:


SCT Stuff:

FCP tickyboxes

No MSC checklist.

Status: "BLOCKED" due to requiring Extensible Events to fully land, which (currently) requires a room version.

Next steps: Land extensible events, or merge an MSC which avoids the dependency.

@turt2live turt2live added kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal labels Sep 7, 2021
@turt2live turt2live changed the title [WIP] Polls (mk II) [WIP] MSC3381: Polls (mk II) Sep 7, 2021
Comment thread proposals/3381-polls.md Outdated
@turt2live turt2live added the client-server Client-Server API label Sep 7, 2021
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md
Comment thread proposals/3381-polls.md
Comment thread proposals/3381-polls.md
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md
Comment thread proposals/3381-polls.md
Comment thread proposals/3381-polls.md Outdated
Comment thread proposals/3381-polls.md
Comment thread proposals/3381-polls.md
@mscbot
Copy link
Copy Markdown
Collaborator

mscbot commented Jul 30, 2023

The final comment period, with a disposition to merge, as per the review above, is now complete.

@mscbot mscbot added finished-final-comment-period and removed disposition-merge final-comment-period This MSC has entered a final comment period in interest to approval, postpone, or delete in 5 days. labels Jul 30, 2023
@turt2live
Copy link
Copy Markdown
Member Author

will update the MSC text with the minor (non-blocking) changes before merge.

@uhoreg
Copy link
Copy Markdown
Member

uhoreg commented Nov 27, 2023

will update the MSC text with the minor (non-blocking) changes before merge.

@turt2live it looks like this got forgotten?

@turt2live
Copy link
Copy Markdown
Member Author

It's not forgotten, but heavily delayed 😭 I'm hoping to take a look in the short term, or at least before the year ends.

Comment thread proposals/3381-polls.md Outdated
@turt2live
Copy link
Copy Markdown
Member Author

2ff9870 addresses the minor review feedback which came up during FCP discussions. As it didn't block FCP and the threads appear to have conclusions, I've incorporated those conclusions into the proposal text.

Merging otherwise per #3381 (comment)

@turt2live turt2live merged commit e5eb721 into main Dec 5, 2023
@turt2live turt2live deleted the travis/msc/polls branch December 5, 2023 22:25
@turt2live turt2live added spec-pr-missing Proposal has been implemented and is being used in the wild but hasn't yet been added to the spec blocked Something needs to be done before action can be taken on this PR/issue. and removed finished-final-comment-period labels Dec 5, 2023
@turt2live
Copy link
Copy Markdown
Member Author

Like #3930 (comment) , this is blocked on the wider system actually landing in the spec itself.

Comment thread proposals/3381-polls.md
Comment on lines +69 to +72
* `answers` - Array of options users can select. Each entry is an object with an `m.text` content
block, similar to `question`, and an opaque string field `m.id` for use in response events. More
blocks might be added in the future. Clients should treat each entry similar to how they would an
`m.message` event. The array is truncated to 20 maximum options.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

answers is probably intended to be REQUIRED, since the poll is useless otherwise. For the same reason, it MUST NOT be empty. It would be possible to also define a relationship between max_selections and the array length, but I don't see the necessity - instead it leaves the option open for e.g. selecting the same entry multiple times in the future.

Comment thread proposals/3381-polls.md
Comment on lines +69 to +70
* `answers` - Array of options users can select. Each entry is an object with an `m.text` content
block, similar to `question`, and an opaque string field `m.id` for use in response events. More
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

In addition to my other comment, it seems reasonable to me to REQUIRE a plain text representation for each answer. This appears also to match the landscape of current implementations.

Comment thread proposals/3381-polls.md
Comment on lines +69 to +70
* `answers` - Array of options users can select. Each entry is an object with an `m.text` content
block, similar to `question`, and an opaque string field `m.id` for use in response events. More
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The m.ids need to be unique (within the answers array) or otherwise define behavior defining dupes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked Something needs to be done before action can be taken on this PR/issue. client-server Client-Server API kind:feature MSC for not-core and not-maintenance stuff proposal A matrix spec change proposal spec-pr-missing Proposal has been implemented and is being used in the wild but hasn't yet been added to the spec

Projects

Status: BLOCKED, requires spec writing
Status: Done for now

Development

Successfully merging this pull request may close these issues.