Commit graph

194 commits

Author SHA1 Message Date
Chris McCord
8cd6048d4b Optimize presence and rate limit pings 2022-01-31 14:27:06 -05:00
Chris McCord
de2f473624 Only clean songs if server owns file 2022-01-31 08:41:34 -05:00
Chris McCord
826cf1d4f9 Add pings 2022-01-31 08:21:27 -05:00
Chris McCord
1caf809be7 WIP 2022-01-28 20:40:48 -05:00
Chris McCord
65f307b1fa Add ping 2022-01-27 20:42:36 -05:00
Chris McCord
31c69acd10 Add replica for global region support 2022-01-27 20:42:26 -05:00
Chris McCord
eecb14ecba Fix seekable songs 2022-01-27 14:41:26 -05:00
Chris McCord
214ec50f0e WIP 2022-01-27 13:03:42 -05:00
Chris McCord
add1d15177 Add clustering with proxy file streaming 2022-01-27 09:36:04 -05:00
Kurt
2243651c70 store server_ip on uploaded files 2022-01-26 11:59:18 -05:00
Chris McCord
5ce9142253 Fix username not updating on presence when settings changed 2022-01-26 11:49:53 -05:00
Chris McCord
83db1294f9 Fix warning 2022-01-26 11:33:55 -05:00
Chris McCord
4a5728daf5 Styling tweaks and optimize initial file drop 2022-01-26 11:33:20 -05:00
Chris McCord
53bd0a3cd1 Fix visual bouncing quirk on load 2022-01-26 11:33:20 -05:00
Chris McCord
8ab0dd04a0
Update lib/live_beats/application.ex 2022-01-18 12:29:08 -05:00
Berenice Medel
bd4d57377b delete repeated code 2022-01-18 11:12:44 -06:00
Chris McCord
545594f1e5 Guard against valid units 2022-01-17 14:13:59 -05:00
Chris McCord
e4dd585e39 Remove need for timex 2022-01-17 14:11:26 -05:00
Berenice Medel
ffee2bf6f3 Init SongsCleaner on startup 2022-01-17 10:27:18 -06:00
Berenice Medel
1cb2e7454c add functions to delete expired songs 2022-01-17 10:02:19 -06: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
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
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
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
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
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
Chris McCord
57c193e490
Merge pull request #14 from ndarilek/accessible-routing
Initial work on making routing more accessible
2021-12-13 13:21:04 -05:00
Chris McCord
7db38a70ab
Merge pull request #15 from ndarilek/sidebar-a11y
Improve accessibility of mobile sidebar
2021-12-13 13:19:53 -05:00
Berenice Medel
9262895d13 fix typo 2021-11-30 09:03:08 -06:00
Berenice Medel
e5c663ab38 show stop button when listening someone else playlist 2021-11-29 19:23:23 -06:00
Berenice Medel
0e0d349e31 hide play button on playlist 2021-11-29 19:21:35 -06:00
Chris McCord
5e3149ad8e Only active tab user's own profile 2021-11-23 22:06:48 -05:00
Nolan Darilek
ca311dd11d Further sidebar accessibility improvements.
* Set `aria-controls` to the sidebar container.
* Swap button focus as sidebar is revealed/hidden.
2021-11-23 11:41:07 -06:00
Nolan Darilek
ad13a8c364 Partial implementation of ARIA disclosure pattern for sidebar.
* Hide/show buttons to reveal sidebar as appropriate.
* Hard-code `aria-expanded`, since by default only one button is exposed at a given time.
2021-11-23 11:29:49 -06:00
Chris McCord
a325b385b3 Rename link attrs 2021-11-23 09:34:46 -05:00
Chris McCord
7f9b7c5f9a Assign active_tab in handle_params to handle live patches 2021-11-23 09:34:46 -05:00
Nolan Darilek
7096b98cc2 Add alert role on connection status so it is read automatically on change.
Note: not currently tested since I'm not sure how to force these states, but I did notice them happening from time to time so wanted to try addressing them..
2021-11-22 15:24:10 -06:00
Nolan Darilek
6d95137d1f Set aria-current on active tab to indicate to screen readers which is selected. 2021-11-22 14:20:10 -06:00
Nolan Darilek
ef1355f897 Set aria-hidden="true" on more SVG graphics, and hide icons by default.
The original icon fix assumed that the `<svg>` tag had an `alt` attribute, which it does not. Instead, SVG requires a child element to specify a description. A complete fix involves patching upstream to allow for setting this element, but since we don't seem to have actionable icons without associated textual controls, set `aria-hidden="true"` by default and require it to be overridden if needed.
2021-11-22 13:50:20 -06:00
Nolan Darilek
5cf58b2b77 Minor cleanup to make navigating by region easier.
* Make `<main>` the part of the page that actually changes when the route updates, thus making navigation to page content easier.
* Add labelled region for persistent audio player.
2021-11-22 13:18:06 -06:00
Chris McCord
d35554ee0e Link logo placeholder 2021-11-22 13:04:05 -05:00
Chris McCord
55a1e1f02a Logo placeholder 2021-11-22 12:50:42 -05:00
Chris McCord
7209a3121c Add dropdown component 2021-11-22 11:21:11 -05:00
Chris McCord
198846433b Resolve conflicts 2021-11-22 10:37:56 -05:00
Chris McCord
aec76630d1 Remove unnecessary attr 2021-11-22 10:36:18 -05:00
Chris McCord
a7c319c035 Use live_action instead of params 2021-11-22 10:31:40 -05:00
Chris McCord
632b211c44
Merge pull request #7 from chrismccord/fix/avoid_raise_error_on_duplicated_song
Handle unique song title constraint error on upload
2021-11-22 09:58:02 -05:00
Chris McCord
bb23d8e071 Rename SongLive modules to ProfileLive 2021-11-22 09:57:24 -05:00
Chris McCord
8b5c77ca90 Tweak highlight hover styles 2021-11-22 09:44:56 -05:00
Chris McCord
8ee6b39ad5 Show connection status flash 2021-11-22 09:24:41 -05:00
Berenice Medel
1a1bbe295e show active tab in navbar 2021-11-19 13:50:36 -06:00
Berenice Medel
11d5cd8cdd add unique constraint on songs changeset 2021-11-19 13:01:15 -06:00
Chris McCord
023ddc2806 Rename songs_number to songs_count and refactor error messages 2021-11-19 10:51:50 -05:00
Chris McCord
19241308ae
Merge pull request #5 from chrismccord/feature/validate_max_songs_per_account
Limit # of songs per account
2021-11-19 10:22:28 -05:00
Chris McCord
07d1dbf744 Fixup flash hiding 2021-11-19 09:55:26 -05:00
Berenice Medel
43bb03fb42 decrement songs_number with multi.update_all 2021-11-18 15:50:05 -06:00
Berenice Medel
64969fca31 handle raise conditions in multiple uploads 2021-11-18 15:36:51 -06:00
Chris McCord
f52eeb22c3 aria popup 2021-11-18 15:22:22 -05:00
Chris McCord
1dc43ac366 Fix focus and keyboard nav
Only enable keyboard nav and focus if button is
triggered by keyboard event
2021-11-18 15:21:07 -05:00
Chris McCord
d1f57d7514 Fix bad url recovery 2021-11-18 11:50:15 -05:00
Chris McCord
30b46e95e5 Add aria menu hook and use in sidebar 2021-11-18 09:55:09 -05:00
Berenice Medel
984c1c8523 decrement songs_number when a song is deleted 2021-11-17 15:32:09 -06:00
Berenice Medel
74c720180e validate max songs per account in upload form 2021-11-17 15:31:34 -06:00
Nolan Darilek
c31a2ea8e0 Remove unused menu. 2021-11-17 10:09:04 -06:00
Nolan Darilek
72501c90b4 Remove aria-hidden on icons in favor of empty alt text.
This matches better with adding alt text to images, which is probably better than either manually opting out of the accessibility tree or creating some less-compatible implementation.
2021-11-17 09:30:33 -06:00
Chris McCord
44a36a8763 Fix icon alignment 2021-11-16 22:26:33 -05:00
Chris McCord
11d48dea95 Rotate session key 2021-11-16 22:16:58 -05:00
Chris McCord
ee571b19a7 Allow configurable upload dir per env 2021-11-16 22:11:11 -05:00
Chris McCord
2f4940fab6 Fixup profiles 2021-11-16 15:54:40 -05:00
Nolan Darilek
fad37064db Label player controls. 2021-11-16 14:26:10 -06:00