Commit graph

164 commits

Author SHA1 Message Date
Berenice Medel
ec6606f29c test delete_expired_songs/2 2022-01-17 10:02:19 -06:00
Berenice Medel
1cb2e7454c add functions to delete expired songs 2022-01-17 10:02:19 -06:00
Chris McCord
be420bdc44 Match topbar with theme 2022-01-14 11:05:41 -05:00
Chris McCord
a39bb0a5ac Return updated metas to client.
Fixes presences being removed when user has
active tabs
2022-01-12 14:15:06 -05:00
Chris McCord
924da28b6b Move presence tracking to player 2022-01-12 12:27:30 -05:00
Chris McCord
a30e311645 Merge branch 'feature/presence' 2022-01-11 14:58:05 -05:00
Chris McCord
9998e06caa Optimize presence.
Avoid fetching each user by passing in full pre-fetched
presences from Presence.fetch/2 callback.
Use temporary assigns in ProfileLive to avoid duping
presences in memeory.
Handle removes by a small hook event
2022-01-11 14:57:06 -05:00
Berenice Medel Sánchez
a65c789748 add presence client behaviour callbacks 2022-01-11 14:04:27 -05:00
Chris McCord
b8bbba8ecb Fix tests 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
dcaf024042 change tests description 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
4d0665679c add metas tests 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
8dfb96c78a fix tests 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
84d4eead7a use genserver pid or name in client API 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
0bde8f40d6 don't start presence client on tests 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
028c619047 keep client state in the phoenix presence client 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
9b5587d484 implement fetch callback to list users 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
defb8ccf92 update/remove metas 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
6b5e820130 initial tests added 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
bdb4319f16 unsubscribe is no more handled in untrack_pid 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
0579f9f293 handle leaves and joins in the same function 2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
c22e104a24 change key to string when tracking and untrackin presences 2022-01-11 14:04:27 -05:00
Berenice Medel
463faafe71 Implement handle_leave and handle_join in presence_client
- The profile Liveview is subscribed to active_users topic
- user_joined and user_left events are sent
- Users are added and removed from presences assign
2022-01-11 14:04:27 -05:00
Berenice Medel
4634d32295 update phoenix client state
-add topics
- remove_topics
- add_presences
- remove_presences
2022-01-11 14:04:27 -05:00
Berenice Medel
bd927bf8b2 add presence client 2022-01-11 14:04:27 -05:00
Berenice Medel
216916817b configure presence for tracking the users listening a playlist 2022-01-11 14:04:27 -05:00
Chris McCord
a0f3b76f61
Merge pull request #18 from ndarilek/hide-empty-metadata
Hide title/artist metadata when empty.
2022-01-10 14:56:32 -05:00
Chris McCord
ad3cab4d29
Merge pull request #20 from ndarilek/playlist-a11y
Improve playlist accessibility
2022-01-07 15:24:00 -05:00
Chris McCord
cb781d855e Merge branch 'cm-tailwind-standalone' 2022-01-07 13:42:26 -05:00
Chris McCord
fba89209bd Merge branch 'master' of github.com:chrismccord/live_beats 2022-01-07 13:42:12 -05:00
Chris McCord
c5b25aa5be Add standalone tailwind 2022-01-07 13:42:04 -05:00
Chris McCord
dff06cf171
Merge pull request #21 from ndarilek/misc-a11y
Add additional region for search region when mobile sidebar is displayed.
2022-01-05 16:02:08 -05:00
Chris McCord
a774838355
Merge pull request #22 from ndarilek/trim-a11y
Simplify a few things
2022-01-05 15:50:22 -05:00
Nolan Darilek
7b48c2fbaf Further simplify post-route handler.
* Use `HtmlElement.tabIndex` directly rather than going through attributes.
* Always restore `tabIndex` after focus.
* Remove `setTimeout` to simplify implementation.

This does have a disadvantage in that it leaves unnecessary `tabindex="1"` instances around. On the other hand, it does simplify the implementation and get the job done' so is probably a more clear example of how to do this correctly.
2021-12-22 12:41:19 -06:00
Nolan Darilek
7d09845b8c Remove unnecessary window.requestAnimationFrame. 2021-12-22 12:06:08 -06:00
Nolan Darilek
57150a4f7a Add additional region for search region when mobile sidebar is displayed. 2021-12-20 12:13:49 -06:00
Nolan Darilek
159363fb4b Add button role to icons to hint that they are actionable. 2021-12-20 11:02:36 -06:00
Nolan Darilek
3860c79ec7 If an icon has aria-labelset, don't set aria-hidden. Also, label some icons. 2021-12-16 15:26:12 -06:00
Chris McCord
bbb9693e8c WIP 2021-12-16 11:06:22 -05:00
Chris McCord
67a291ac3a Revert temporary assign 2021-12-15 22:03:18 -05:00
Chris McCord
8da032fed3 Make songs temporary assigns 2021-12-15 21:51:09 -05:00
Chris McCord
ce1a1fdc5f Do not focus outline h1 in title bar 2021-12-15 12:48:05 -05:00
Chris McCord
9958ba97d0 TODO 2021-12-14 21:09:36 -05:00
Chris McCord
803f0b52cc Test bad inputs 2021-12-14 21:07:02 -05:00
Chris McCord
816eb78064 Add mp3stat test 2021-12-14 21:02:50 -05:00
Chris McCord
c089302881 TODO 2021-12-14 15:40:46 -05:00
Chris McCord
b2950adb2a TODO 2021-12-14 15:31:02 -05:00
Chris McCord
570e86d02c Test song deletion 2021-12-14 15:29:07 -05:00
Chris McCord
dda0cdaa3f Test basic uploads 2021-12-14 15:19:03 -05:00
Nolan Darilek
7fdb30520e Hide title/artist metadata when empty.
From an accessibility perspective, having an empty `<h2/>` is confusing. Even though it lacks text, it remains visible to scree readers and is still navigable.

I'm not sure whether wrapping the entire `<div/>` in this check breaks the layout, or if the individual elements should have `aria-hidden` set if their values are empty.
2021-12-14 12:17:40 -06:00
Chris McCord
c8a6035a02 Fixup tests 2021-12-14 10:35:51 -05:00