Commit graph

201 commits

Author SHA1 Message Date
Chris McCord
fa8d7f6692 Formatting 2022-02-02 08:49:29 -05:00
Chris McCord
ef4097c0a3 Add more aggressive expiration and tell user about it 2022-02-02 08:38:15 -05:00
Kurt Mackey
08c052a17f
Sign In -> Sign In with GitHub 2022-02-01 19:43:06 -06:00
Chris McCord
cf7d571818 Debounce other tab pings 2022-02-01 09:40:58 -05:00
Chris McCord
0b6774e5b1 Fix warning 2022-02-01 09:33:04 -05:00
Chris McCord
d9b63adb85 Fix bugs 2022-01-31 22:12:32 -05:00
Chris McCord
1975f85cfe Fix ping 2022-01-31 15:42:41 -05:00
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