Commit graph

190 commits

Author SHA1 Message Date
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
Nolan Darilek f7db67f636 Hide icons with associated buttons from accessibility tree. 2021-11-16 14:14:17 -06:00
Chris McCord 364b0659e1 Deploy and presence stub 2021-11-16 11:58:28 -05:00
Kurt d1a6f5d0cd fix id3 tag parsing, extract title 2021-11-15 18:24:52 -06:00
Chris McCord e496ff0a4e Docs 2021-11-15 13:06:04 -05:00