Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Sharing #2106

Merged
merged 36 commits into from
Jan 24, 2023
Merged

Implement Sharing #2106

merged 36 commits into from
Jan 24, 2023

Conversation

deluan
Copy link
Member

@deluan deluan commented Jan 22, 2023

This is an initial implementation of Sharing:

One of the nice features of Subsonic is its ability to generate a sharing link for a track/album/artist/playlist to send to friends, so that they can listen/download the music without having an account on your instance. This is a nice alternative to Youtube links to share music.

As there are still some rough edges, this feature will be disabled by default in 0.49.0. To enable it you'll need to set EnableSharing=true in your configuration.

Notes:

  • If enabled, all users will have access to all current shares, including changing description and expiration, and will be able to create new ones. Currently there's no way to set permissions per user
  • All generated sharable links will have the format: http://yourserver.com/share/XXXXXXXXXX, so if you have Navidrome behind a reverse proxy, be sure to allow traffic to /share

Closes #748

  • Add ways to create and manage shares in the UI
    • Albums
    • Songs
    • Playlists
    • Artists
  • Implement the Subsonic API related endpoints:
    • getShares
    • createShare
    • updateShare
    • deleteShare
  • Add a standalone player (based on our current React Player)
  • Add meta-tags to html (to show some info about the shared music in chat platforms)

@github-actions
Copy link

github-actions bot commented Jan 22, 2023

Download the artifacts for this pull request:

@deluan deluan changed the title Implements Sharing Implement Sharing Jan 23, 2023
@deluan deluan marked this pull request as ready for review January 24, 2023 22:51
@deluan deluan merged commit 8aa6939 into master Jan 24, 2023
@deluan deluan deleted the shares branch January 24, 2023 23:35
@deluan deluan restored the shares branch January 24, 2023 23:35
@deluan deluan deleted the shares branch January 24, 2023 23:36
@jan666
Copy link
Contributor

jan666 commented Jan 26, 2023

The share button is visible and you can create shares when DevEnableShare=true is not set. There is no "Shares" in the Menu and the created shares do not work - but the button is there and the shares are generated. I guess this is a bug?

@deluan
Copy link
Member Author

deluan commented Jan 26, 2023

Yes it is! Fixed now, thanks for reporting.

@morbificagent
Copy link

morbificagent commented Feb 3, 2023

Hi there,

wanted to try it, updated to the last git-version and added the DevEnableShare option in the toml...
But even after a restart no "share button" appears...:

image

Did i anything wrong or is it a bug?

@jan666
Copy link
Contributor

jan666 commented Feb 3, 2023

@morbificagent it's EnableSharing=true

@morbificagent
Copy link

Great, its working with this!
Many thanks

@andrewgdunn andrewgdunn mentioned this pull request Feb 3, 2023
@centralscrutinizer21
Copy link

Great work on this feature!
I was wondering what would be the best way to embed the shared link into a static web page (markdown,html, etc.) ?

@github-actions
Copy link

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ability to share a subset of the library
4 participants