heyarne / airsonic-ui Goto Github PK
View Code? Open in Web Editor NEWModern user interface for https://github.com/airsonic/airsonic – CURRENTLY INACTIVE
Home Page: https://heyarne.github.io/airsonic-ui
License: GNU General Public License v3.0
Modern user interface for https://github.com/airsonic/airsonic – CURRENTLY INACTIVE
Home Page: https://heyarne.github.io/airsonic-ui
License: GNU General Public License v3.0
This concerns the keyboard shortcuts as well as the previous / next buttons in the player. It should instead stay paused. Clicking a track in one of the playlist UIs should still start playback as it does now.
2.8.40
to 2.8.41
.This version is covered by your current version range and after updating it in your project the build failed.
shadow-cljs is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
I think it makes sense to handle scrobbling completely on the clientside. I created a branch feature/lastfm
to track progress on this. The lastfm API is a a bit ugly but it should work. The main reason is that server-side development takes some time and the new rest API will have to be planned carefully.
It still makes sense to leave some logic related to artist information etc. on the server. The good news is that you don't need any authorization for that (see album.getInfo, artist.getInfo and artist.getSimilar). It should be easier to do this scrobbling on the client though, so maybe we can fix airsonic/airsonic#776 and finally close quite a popular issue.
2.8.83
to 2.8.84
.This version is covered by your current version range and after updating it in your project the build failed.
shadow-cljs is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
2.8.78
to 2.8.79
.This version is covered by your current version range and after updating it in your project the build failed.
shadow-cljs is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
1.22.5
to 1.22.6
.This version is covered by your current version range and after updating it in your project the build failed.
sass is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
To install Dart Sass 1.22.6, download one of the packages above and add it to your PATH, or see the Sass website for full installation instructions.
Potentially breaking bug fix: The keywords()
function now converts underscore-separated argument names to hyphen-separated names. This matches LibSass's behavior, but not Ruby Sass's.
Further improve performance for logic-heavy stylesheets.
Improve a few error messages.
See the full changelog for changes in earlier releases.
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! 💜 🚚💨 💚
Find out how to migrate to Snyk at greenkeeper.io
2.9.4
to 2.9.6
.This version is covered by your current version range and after updating it in your project the build failed.
shadow-cljs is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
This issue is meant to list things that would be nice to have but aren't really possible with the current @airsonic api.
☝️ Important announcement: Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! Find out how to migrate to Snyk and more at greenkeeper.io
2.8.99
to 2.8.100
.This version is covered by your current version range and after updating it in your project the build failed.
shadow-cljs is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
Before implementing sharing, playlists etc, we should take user roles into consideration. My idea would be to use http://www.subsonic.org/pages/api.jsp#getUser for authenticating on login and saving the roles locally.
re-frame: no handler registered for effect: Object { ns: null, name: "event", fqn: "event", _hash: 301435442, "cljs$lang$protocol_mask$partition0$": 2153775105, "cljs$lang$protocol_mask$partition1$": 4096 } . Ignoring. core.cljs:3874:14
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5 core.cljs:3874:14
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4 core.cljs:3869:6
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3 core.cljs:3863:6
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2 core.cljs:3857:6
cljs.core.apply.cljs$core$IFn$_invoke$arity$2 core.cljs:3892:6
re_frame.loggers.console.cljs$core$IFn$_invoke$arity$variadic loggers.cljc:38:3
re_frame$fx$do_fx_after fx.cljc:77:19
re_frame$interceptor$invoke_interceptor_fn interceptor.cljc:68:5
re_frame$interceptor$invoke_interceptors interceptor.cljc:106:22
re_frame$interceptor$execute interceptor.cljc:201:7
re_frame$events$handle events.cljc:65:12
re_frame.router.EventQueue.prototype.re_frame$router$IEventQueue$_process_1st_event_in_queue$arity$1 router.cljc:177:6
re_frame.router.EventQueue.prototype.re_frame$router$IEventQueue$_run_queue$arity$1 router.cljc:197:10
re_frame.router.EventQueue.prototype.re_frame$router$IEventQueue$_fsm_trigger$arity$3/vec__27676< router.cljc:145:61
re_frame.router.EventQueue.prototype.re_frame$router$IEventQueue$_fsm_trigger$arity$3 router.cljc:168:25
re_frame.router.EventQueue.prototype.re_frame$router$IEventQueue$_run_next_tick$arity$1/G__27670 router.cljc:186:30
goog.async.nextTick.getSetImmediateEmulator_/channel.port1.onmessage http://localhost:8080/app/js/cljs-runtime/goog.async.nexttick.js:211:9
2.8.49
to 2.8.50
.This version is covered by your current version range and after updating it in your project the build failed.
shadow-cljs is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
1.23.2
to 1.23.3
.This version is covered by your current version range and after updating it in your project the build failed.
sass is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
To install Dart Sass 1.23.3, download one of the packages above and add it to your PATH, or see the Sass website for full installation instructions.
@extend
crossed module boundaries.See the full changelog for changes in earlier releases.
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
I was testing it out and so far I must say its amazing. One thing I noticed missing is a volume bar.
Auto-login currently always redirects to /hello
instead of checking window.location.hash
.
The main issue here is that we page through content that is loaded once; also the number of pages doesn't really match up.
A better approach would...
per-page * (page - 1)
to per-page * (page - 1) + 5 * per-page
. This way we always should be able to page through the results quicklySince shadow-cljs supports hot-reloading stylesheets from relative paths now we can probably simplify the build scripts a bit. See https://github.com/thheller/shadow-cljs/releases/tag/2.4.21
2.8.71
to 2.8.72
.This version is covered by your current version range and after updating it in your project the build failed.
shadow-cljs is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot 🌴
They should just take the standard credential map containing user, password and server and pull out their info as required.
Even though the server is persisted, the first api request receives nil
when you hit the reload button.
This should use re-pressed now that it doesn't depend on jQuery anymore. For now we just port over the old keyboard shortcuts, keeping it simple.
This is annoying especially with longer tracks on slower connections.
Should roughly look like this:
{:queue [{...}, {... :current? true}, ...]
:shuffle? true ;; or false
:repeat :all} ;; or :current / :none
At the moment we're looking at the content and trying to figure out which page we're looking at. Idk why it was implemented like that in the first place.
It would be nice to go back to the main page by clicking the logo on the top left.
This leads to a build that's approximately 200kb larger / 100kb gzipped. See the attached build reports (generated via npx shadow-cljs run shadow.cljs.build-report app build-report.html
):
Awesome that somebody is finally modernizing the Airsonic UI. Kudos to you Arne!
Have you considered a column browser?
Something like this (see attached pic - based on MM4 browser) would be awesome in my POV.
It should read locations/nodes for the tree, tags for the genre/artist/album (and more), files for the tracks window below with user set choice of columns showing tags for files. Users should even be allowed to resize the different parts as they please.
I guess its mostly useful for people with large collections or a wide variation of tags.
To reproduce:
Behavior:
Before being redirected you can briefly see the login form after the loading spinner.
Expected behavior:
The loading spinner should be the only thing we see.
Hi,
When trying to play audio through the UI in Safari, I get this error:
Unhandled Promise Rejection: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
This is most probably caused by the recent change in policy regarding audio autoplay in Safari (11 and 12):
https://www.reddit.com/r/webdev/comments/71nkym/safari_11_has_a_major_change_to_web_audio_api/
https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/
Clicking on a track in queue to start playing it manually doesn't work either.
Thanks for the hard work! Airsonic-UI looks great :-)
This is only a minor issue. Still the progress bar don't shrink after changing the windows size.
Currently the response a request overwrites the previous one, which is a bit bogus. We should allow multiple requests at once. This should work together nicely with the events fired for a route:
airsonic-ui/src/cljs/airsonic_ui/routes.cljs
Lines 22 to 41 in 727d454
This is a requirement for #19.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.