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
Try to reproduce end-to-end encryption flows to see if I can, well, reproduce the bugs
Dormspam to get user feedback and more understanding of the messaging context before launching
Must have: Tweak directory behavior (by overriding user directory endpoint) - this is synchronous I'm pretty sure
Prefer local accounts (strict - show them first)
However RIP... Element discards this ordering and sorts it again. Figure out a solution?
Prefer non ghosts (strict) (perhaps hide ghosts altogether)
Hide remote users who the user does not share a room with (no idea how to implement, there is the users_who_share_private_rooms table but uh it'd basically need rewriting the whole SQL query I think)
Compromise: for now, just exclude remote users from the search altogether
Element also shows client-side results, including ghosts which we excluded. For remote users, this ends up being helpful due to the compromise above, but for ghosts, we need to make them autorespond that they're ghosts as a result.
Debug why "showDisplaynameChanges": false is not being respected (sent an issue, it doesn't seem on my end)
Add notification mechanism (doesn't support matrix, discord doesn't work, i refuse to use slack, and email fails with a certificate error) (Rageshake notifications #79)
Develop custom access control plug in (Develop custom access control plug in #104) - for now it should only work with custom state events, then we can document them and put them into our upcoming integration manager
Good enough, however federated users can still join. Not sure how to do this over federation.
Choose a backend for the class list. Options: Subjects API or the Hydrant json file
Look at the Courses API to see if it is of any use (not atm)
Figure out a way to get the current term in a way that will scale through time - possibly latestTerm.json from Hydrant or the Terms API (Hydrant is better. I couldn't get Terms API to work, and we can trust Hydrant will keep being maintained, and it stores the upcoming term, which the Terms API doesn't; useful in transitional periods.)
Write backend with the following methods:
Get details about class by class nameProbably unnecessary. Let's skip for now.
Get number of members in class group chat (0 if it doesn't exist)
Add kerb matrix user ID to class group chat (create if it it doesn't exist)
Add endpoint to query whether a matrix user ID in the class group chat
Make it authenticate with a shared secret
Stretch: search API with member count
Custom SvelteKit web app with minimal functionality but a class/group chat search
Figure out authentication mechanism for said app. Let's figure out minting an identity-only token and passing it to the server.
Hydrant: Add an advertisement/button - make it generate a clickable link button with the class list as a query string
Make sure you set the target to _blank for said button
Interstellar "Join group chat" or "Create group chat" button with a member count
Interstellar: warn anonymous users that they are joining a group chat where they can't be anonymous
Stretch: even adding a button in Element itself??
Judiciously use the Matrix directory itself (maybe make a space per term) (not willing to do right now, probably not a good idea yet?)
Develop the ability for everyone to create plumbed Messenger rooms in a user-friendly manner
Second round of posters after this feature is added
Documentation! We need our own docs on how to use Matrix, that are written with MIT's context in mind (for instance, instead of just saying "spaces exist" you can say "spaces exist which you can create for your club or organization and they are similar to Slack workspaces but with these differences")
Element - show all spaces
Scalability:
Set up workers (Set up workers #73). Put that RAM to use and anticipate a large wave of users.
By FPOP:
Hide remote users who the user does not share a room with (no idea how to implement, there is theusers_who_share_private_rooms
table but uh it'd basically need rewriting the whole SQL query I think)on_new_event
callbackOther misc (also by FPOP):
Other misc (whenever possible):
"showDisplaynameChanges": false
is not being respected (sent an issue, it doesn't seem on my end)By registration:
latestTerm.json
from Hydrant or the Terms API (Hydrant is better. I couldn't get Terms API to work, and we can trust Hydrant will keep being maintained, and it stores the upcoming term, which the Terms API doesn't; useful in transitional periods.)Get details about class by class nameProbably unnecessary. Let's skip for now.kerbmatrix user ID to class group chat (create if it it doesn't exist)target
to_blank
for said buttonJudiciously use the Matrix directory itself (maybe make a space per term)(not willing to do right now, probably not a good idea yet?)After the semester starts:
Scalability:
Once the stud reopens:
The text was updated successfully, but these errors were encountered: