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

Add bookmarks #7107

Merged
merged 12 commits into from Nov 13, 2019
Merged

Add bookmarks #7107

merged 12 commits into from Nov 13, 2019

Conversation

@ThibG
Copy link
Collaborator

ThibG commented Apr 11, 2018

Add a bookmark feature, working mostly like favourites, except they are not federated nor visible by other users than the person bookmarking a toot.

@ThibG ThibG added the enhancement label Apr 11, 2018
@ThibG ThibG force-pushed the ThibG:features/bookmarks branch 2 times, most recently Apr 11, 2018
@Cassolotl Cassolotl mentioned this pull request Apr 11, 2018
1 of 1 task complete
@Cassolotl

This comment has been minimized.

Copy link

Cassolotl commented Apr 11, 2018

This seems like a good change, I like private save-for-later as separate from public reaction hearts/stars.

Related issues:

  • Dream feature: "like" and "save" separately #1178
  • arbitrary emojis as reactions #4106 - maybe the heart/star can just be like a positive reaction button and it doesn't need to be saved?
@ThibG ThibG force-pushed the ThibG:features/bookmarks branch Apr 12, 2018
@trwnh

This comment has been minimized.

Copy link
Contributor

trwnh commented Apr 13, 2018

re: what m4sk1n said -- i don't see a compelling reason to change anything about how faves work currently. fundamentally, they are a public approval / acknowledgement of a message, and can be browsed from someone's profile if they want to see go back and see them.

a bookmark feature would be almost the same thing, but private -- no indicator, not exposed via the profile or the status. adding bookmarks is no reason to remove functionality from the favorites.

@Cassolotl

This comment has been minimized.

Copy link

Cassolotl commented Apr 13, 2018

I feel like "like/star" doesn't really need to be saved in a list if it's just a reaction emoji ish thing - if folks want to save it for later they'll use the bookmark feature, right?

And I think probably bookmarked toots should show up in search because it's save-for-later and that'll be something you want to be able to look up later.

I think "like/star" toots don't need to show up in a search because it's just public approval and that could clog up the search results unnecessarily - most people are gonna "like/star" much more than they'll save-for-later, and they're less likely to need to pull liked toots up in searches later, right?

@nightpool

This comment has been minimized.

Copy link
Collaborator

nightpool commented Apr 16, 2018

disagree with adding this per my comments on #1178.

@nightpool

This comment has been minimized.

Copy link
Collaborator

nightpool commented Apr 16, 2018

Hmm. Not sure what happened to that issue, it seems to be completely deleted, along with discussion.

@Cassolotl

This comment has been minimized.

Copy link

Cassolotl commented Apr 16, 2018

@nightpool My account has been flagged, and I think it's making a lot of my issues invisible. :S I've messaged Github to find out what's going on, it could be that I've been reported, but it could also be that I've been flagged by a spam-detecting bot, so I'm not really sure what's going on!

@Gargron

This comment has been minimized.

Copy link
Member

Gargron commented Apr 16, 2018

Archive: https://web.archive.org/web/20171226131702/https://github.com/tootsuite/mastodon/issues/1178

No idea how that issue disappeared, I did not delete it. I did not know you can delete them like that, only close...

@ThibG

This comment has been minimized.

Copy link
Collaborator Author

ThibG commented Apr 16, 2018

Ok, your main argument seems to be “web browser bookmarks serve this purpose”, yes and no.
If you bookmark the public toot, it's a pain to get back into the WebUI to boost/like/reply to it.
If you bookmark the WebUI, it's a bit better, but you go through the trouble of reloading the whole WebUI, either in an extra tab, or replacing your position in timelines, etc.

@lanodan

This comment has been minimized.

Copy link
Contributor

lanodan commented Apr 16, 2018

I’m pretty sure favorite should be enhanced instead (searching in the favorites for example).
There is a save feature in friendica and I pretty much never used it and never heard of someone using it.
Also using the browser bookmarks feature (assuming your browser has bookmarks…) lacks the ability to search in the content of the message.

@ThibG

This comment has been minimized.

Copy link
Collaborator Author

ThibG commented Apr 16, 2018

@lanodan favorites are already searchable (along with the rest) if Full-Text-Search is enabled.
The point of the “bookmark” feature as I use it is to bookmark things I haven't the time to read right now but I potentially want to react on later. For instance, if someone posts a long article or a video, and I want to like/boost/comment once I've seen it.

@ThibG ThibG force-pushed the ThibG:features/bookmarks branch 2 times, most recently Apr 16, 2018
@Gargron

This comment has been minimized.

Copy link
Member

Gargron commented Apr 17, 2018

@ThibG But I use favourites for that use case. And that having a social function makes sense to me, I remember the old Delicious used to display rankings of favourited links and stuff that authors of those links could be proud of. I'm not a big fan of splitting this functionality. In fact, I was not a fan when Twitter changed favourites to likes, and now iirc they are adding "bookmarks" and I think that's a hot mess that could've been avoided by just keeping favourites the way they are here right now.

@ThibG

This comment has been minimized.

Copy link
Collaborator Author

ThibG commented Apr 17, 2018

@Gargron but why should that person be proud of something I haven't read yet? Afaik, people use favorites (or likes, that's what they are protocol-wise) as approval, encouragement, or “I read this” marks. A bookmark is “I want to read this” and is something completely different honestly.

@Cassolotl

This comment has been minimized.

Copy link

Cassolotl commented Apr 17, 2018

But I use favourites for that use case. And that having a social function makes sense to me, I remember the old Delicious used to display rankings of favourited links and stuff that authors of those links could be proud of.

I feel like basically there are two "save" features now - one that is viewable on posts and has people's names publicly attached, and one that isn't and doesn't.

This PR makes sense as a thing being tacked on, but as part of a bigger picture it is quite messy, I think?

So, how about making likes just a reaction? (I'm sure folks have seen me say this before, so I'm sorry if I'm repeating it for anyone here!) Likes could be not saved in a list for you to view later, and likes could be not included in search results. It's just a social signal way to say "awesome" or "thanks" or whatever. The numbers would still publicly be attached to toots for Delicious-style rankings etc.

I'm very much in favour of public like-reactions and private saves. They seem like two different functions to me.

Also we have bookmarks on dev.glitch.social right now and it is good. :D

screen shot 2018-04-17 at 13 06 54

@ThibG ThibG force-pushed the ThibG:features/bookmarks branch 2 times, most recently Apr 19, 2018
@ThibG ThibG force-pushed the ThibG:features/bookmarks branch May 12, 2018
@ThibG

This comment has been minimized.

Copy link
Collaborator Author

ThibG commented May 12, 2018

Worth a shot I guess 🤷‍♂

pr

@ThibG ThibG force-pushed the ThibG:features/bookmarks branch 2 times, most recently May 12, 2018
@ThibG ThibG force-pushed the ThibG:features/bookmarks branch Aug 10, 2018
@ThibG

This comment has been minimized.

Copy link
Collaborator Author

ThibG commented Aug 10, 2018

Updated the PR to:

  • Rebase it
  • Remove the joke rainbows
  • Add OAuth scopes for bookmarks
@ThibG ThibG force-pushed the ThibG:features/bookmarks branch Aug 31, 2018
@Gargron Gargron added the suggestion label Oct 20, 2018
@ThibG ThibG force-pushed the ThibG:features/bookmarks branch from c4a6990 to de30c73 Nov 12, 2019
@ThibG

This comment has been minimized.

Copy link
Collaborator Author

ThibG commented Nov 12, 2019

Rebased and fixed the migration. Would have to go other it to make sure everything has been kept up-to-date.

@umonaca

This comment has been minimized.

Copy link
Contributor

umonaca commented Nov 13, 2019

You would probably want this commit and this commit as well

@umonaca

This comment has been minimized.

Copy link
Contributor

umonaca commented Nov 13, 2019

Bug report: the un-bookmark is not as responsive as the un-favourite. When a toot is unbookmarked, the icon remains active so the user is unsure if the toot has been unbookmarked or not. The user has to refresh the entire page to see the unbookmark has succeeded.

I reported this issue in glitch-soc but was unable to reproduce it on the glitch-soc instance. However, I am able to reliably reproduce this bug in this PR in a local test environment.

@ThibG ThibG force-pushed the ThibG:features/bookmarks branch from e113436 to be06e13 Nov 13, 2019
@ThibG ThibG force-pushed the ThibG:features/bookmarks branch from 76dbf16 to 06d9489 Nov 13, 2019
@@ -198,6 +204,7 @@ class ActionBar extends React.PureComponent {
<div className='detailed-status__button'><IconButton disabled={reblog_disabled} active={status.get('reblogged')} title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>
<div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /></div>
{shareButton}
<div className='detailed-status__button'><IconButton className='bookmark-icon' active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} /></div>

This comment has been minimized.

Copy link
@Gargron

Gargron Nov 13, 2019

Member

I heard at least one user opinion that favourites and bookmarks not need be side-by-side, bookmarks can be in the dropdown menu. More responses have stated that they would use bookmarks more rarely than favourites, so perhaps this makes sense? Thoughts?

This comment has been minimized.

Copy link
@Gargron

Gargron Nov 13, 2019

Member

Oh well, we can move it later.

@Gargron Gargron changed the title Add a “bookmark” feature Add bookmarks Nov 13, 2019
@Gargron Gargron merged commit dfea736 into tootsuite:master Nov 13, 2019
2 checks passed
2 checks passed
build-and-test Workflow: build-and-test
Details
codeclimate All good!
Details
umonaca added a commit to umonaca/mastodon that referenced this pull request Nov 14, 2019
* Add backend support for bookmarks

Bookmarks behave like favourites, except they aren't shared with other
users and do not have an associated counter.

* Add spec for bookmark endpoints

* Add front-end support for bookmarks

* Introduce OAuth scopes for bookmarks

* Add bookmarks to archive takeout

* Fix migration

* Coding style fixes

* Fix rebase issue

* Update bookmarked_statuses to latest UI changes

* Update bookmark actions to properly reflect status changes in state

* Add bookmarks item to single-column layout

* Make active bookmarks red

Conflicts:
	app/javascript/mastodon/actions/interactions.js
	app/javascript/mastodon/components/status_action_bar.js
	app/javascript/mastodon/features/bookmarked_statuses/index.js
	db/migrate/20180831171112_create_bookmarks.rb
@bannisdale

This comment has been minimized.

Copy link

bannisdale commented Nov 28, 2019

Maybe a stupid question, but ... is this already live? Is this part of the next release? How would I be able to find out? :)

@Gargron

This comment has been minimized.

Copy link
Member

Gargron commented Nov 29, 2019

It's live on mastodon.social, but no stable version has been released since this PR was merged, yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
10 participants
You can’t perform that action at this time.