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 Support for Emoji Reactions #1980

Closed
wants to merge 48 commits into from
Closed

Add Support for Emoji Reactions #1980

wants to merge 48 commits into from

Conversation

fef1312
Copy link

@fef1312 fef1312 commented Nov 29, 2022

I'm running a custom fork of glitch-soc on my instance and recently implemented Akkoma-style emoji reactions for it. It has been running without issues so far, so I'm offering to merge the code with upstream because I believe it's quite a cool feature (and it would also make my diffs smaller :3).

Some details of how this works:

  • Each user can add up to eight reactions to a single toot (this is a default value and can be customized through the MAX_REACTIONS environment variable)
  • The toot author receives a notification for every reaction, although it's possible to filter them just like all other notification categories
  • Reactions federate to and from other compatible servers (tested with Akkoma and Misskey); this works through an ActivityPub extension as seen on Akkoma

The whole thing is based on announcement reactions, and I also took some architectural hints from the Fedibird fork.

I'm sorry if this description lacks some important details; I don't really do pull requests very often and never have for such a large commit. Feel free to ask for clarification.

@Plastikmensch
Copy link

Plastikmensch commented Nov 30, 2022

While I'm not opposed to the idea, it gets spammy real quick.
There should probably be a limit on how many reactions a post can have:
Screenshot_2022-11-30_01-57-56

Also with multiple reactions, clicking on a reaction and adding a different one removes another reaction instead of the clicked one.
To reproduce:
Add thumbs_up, heart and robot_face emojis:
Screenshot_2022-11-30_02-05-26
Click on thumbs_up to remove it and add scream:
Screenshot_2022-11-30_02-05-56
Everything looks correct.
On reload:
Screenshot_2022-11-30_02-06-26
Thumbs_up is still there and heart got removed.
Same on recipient side.

Also there should not be a new notification send when a reaction was changed:
Screenshot_2022-11-30_02-31-11

@fef1312
Copy link
Author

fef1312 commented Nov 30, 2022

Thanks for the feedback!

There should probably be a limit on how many reactions a post can have

That would make sense, although I'm not sure that's really feasible to enforce in the backend due to federation. I'm not very familiar with ActivityPub tbh but I can imagine it might cause inconsistencies between instances if they receive reactions in different orders. It's probably easiest to just make the frontend handle this by sorting reactions by count and only display the first couple ones.

Also with multiple reactions, clicking on a reaction and adding a different one removes another reaction instead of the clicked one

That's really strange and to be quite honest I have no idea why it happens, but I'll definitely look into it.

Also there should not be a new notification send when a reaction was changed

Are you referring to an already existing emoji just having its counter incremented, like from 2 to 3? Yeah, I can see how that might get quite noisy. That should be fixable by simply checking the reaction count before sending out the notification though.

I'll do my best to solve all of these issues and will report back when everything is ready.

const visibleReactions = reactions
.filter(x => x.get('count') > 0)
.sort((a, b) => b.get('count') - a.get('count'))
.filter((_, i) => i < maxReactions);
Copy link

@Plastikmensch Plastikmensch Nov 30, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The limit for how many reactions are displayed should probably be different from the amount of reaction one user can set.
Let's say an admin limits reaction per user to 1, now only the most used reaction is displayed on a post.
I propose a new variable like: MAX_VISIBLE_REACTIONS or have it as a settings (more convenient than env vars)
And change the default of max visible to 6, which would be 1 row. Looks cleaner imo.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, I'll throw that into the app settings modal. And now that I think about it, it might also be useful to have a button that quickly expands all reactions for a single toot. What do you think?

Copy link

@Plastikmensch Plastikmensch Nov 30, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure about a button, since I think it would look weird.
Thinking again, a plus button which shows all reactions might actually be good.
But maybe a column setting or user preference to show all reactions and/or show all in the detailed status view?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick mock-up for a button (missing proper styling, but good enough to visualise):
Screenshot_2022-11-30_13-28-22
I used the plus icon because it was the quickest I could find which fits.
Might be confused with "add reaction" though

Copy link
Author

@fef1312 fef1312 Nov 30, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think using a plus button would be kind of confusing because that's already used for adding reactions. Also, announcement reactions have their plus button right next to the existing emojis, just where that expand button would be. The way I'm currently doing it is only limiting in the timeline view, and always display all reactions when you click on the status to open the detailed view.

edit: speaking of things that are confusing, shoutout to GitHub for dynamically loading new comments in the regular discussion but not for commits

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree

@Plastikmensch
Copy link

Thanks for the feedback!

:3

There should probably be a limit on how many reactions a post can have

That would make sense, although I'm not sure that's really feasible to enforce in the backend due to federation. I'm not very familiar with ActivityPub tbh but I can imagine it might cause inconsistencies between instances if they receive reactions in different orders. It's probably easiest to just make the frontend handle this by sorting reactions by count and only display the first couple ones.

Good point.
Yeah limiting on the frontend should be enough.

Also there should not be a new notification send when a reaction was changed

Are you referring to an already existing emoji just having its counter incremented, like from 2 to 3? Yeah, I can see how that might get quite noisy. That should be fixable by simply checking the reaction count before sending out the notification though.

I was referring to there being 4 notifications but only 3 reactions, because "admin" changed a reaction.
The previous notification(s) should just update instead (as they already do), without there being another one.
Related: I think this feature would really benefit from grouped notifications, but that's out of scope for this PR.

I'll do my best to solve all of these issues and will report back when everything is ready.

Thanks!

@CherryKitten
Copy link

The way Misskey handles emoji reactions, a user can only react exactly once to a post, and it replaces the "like" feature. ( + federates to instances that don't support reactions as just a like)

Maybe, for better cross-fediverse compatibility, it'd be good to implement it the same way?

@Plastikmensch
Copy link

The way Misskey handles emoji reactions, a user can only react exactly once to a post, and it replaces the "like" feature. ( + federates to instances that don't support reactions as just a like)

Maybe, for better cross-fediverse compatibility, it'd be good to implement it the same way?

One reaction per user is probably enough, yeah.
Would also be easier on the database.
Personally, I would do that, but I'm not opposed to giving people the option if they really want to.

Cross-federation is a very good point though, but out of my expertise.
I don't know how misskey or other fediverse software would handle receiving multiple reactions.
But I think it should be up to the respective software.
(Again, I don't know if you can send different data based on software, but I don't think so)

@fef1312
Copy link
Author

fef1312 commented Nov 30, 2022

As for fedi compatibility, Misskey handles multiple reactions from the same account by updating the emoji rather than adding a new one. Hitting fav is treated the same way as reacting with ⭐. I can see how this might be a problem, so I agree it's a good idea to at least make MAX_REACTIONS default to 1.

Nevertheless, I still think admins should be able to raise that limit if they wish, as other fedi software like Akkoma doesn't have this restriction either. At least my personal fedi bubble is overwhelmingly in favour of multi reactions.

number
>
<FormattedMessage id='settings.num_visible_reactions' defaultMessage='Number of visible reaction badges:' />
</LocalSettingsPageItem>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about making this a glitch flavour only setting or feature in general.
While I don't see upstream implementing it anytime soon, I think it would be worth it to have reactions in the vanilla flavour. (Which would require this being a preference instead of local setting)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair point, I'll move it. Having reactions in the vanilla flavour also requires copying all changes in /app/javascript/flavours/glitch over to /app/javascript/mastodon, right?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, also adapted imports.

@@ -60,7 +60,7 @@ export default class StatusPrepend extends React.PureComponent {
return (
<FormattedMessage
id='notification.reaction'
defaultMessage='{name} reacted to your post'
defaultMessage='{name} reacted to your status'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor nitpick: Why changing the default message to say "status" instead of "post"?
Was this accidental?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh that's just to make it consistent with the other default messages, I originally called it "post" without realizing that the other default messages use "status" here.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe they just weren't updated then. Okay.

@fef1312
Copy link
Author

fef1312 commented Nov 30, 2022

Just realized I totally forgot to reply to the other issue:

I was referring to there being 4 notifications but only 3 reactions, because "admin" changed a reaction.
The previous notification(s) should just update instead (as they already do), without there being another one.

Ah, now I get what you mean. I've looked into it, and as it turns out this also happens with favs:

Screenshot_20221130_142757

Steps to reproduce: Favourite something, wait for the notification, then remove the fav and add it again. Also works for boosts. I agree this is an issue that should be resolved, but Mastodon's backend notification code is mostly agnostic to the particular kind of notification. I believe it would actually be easier to remove duplicates for all kinds of notifications at once rather than do so only for reactions.

So, depending on how you look at it, this might kinda fall out of scope. I assume this won't take too much effort to fix though, so I could also include it in this PR if you want.

Related: I think this feature would really benefit from grouped notifications, but that's out of scope for this PR.

100% agreed, I might actually work on that after I'm done with reactions.

@@ -21,6 +22,7 @@ import PictureInPicturePlaceholder from 'mastodon/components/picture_in_picture_
// We use the component (and not the container) since we do not want
// to use the progress bar to show download progress
import Bundle from '../features/ui/components/bundle';
import { visibleReactions } from '../../flavours/glitch/initial_state';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should import mastodons initial state, not glitch's

@@ -9,6 +9,8 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { me } from '../initial_state';
import classNames from 'classnames';
import { PERMISSION_MANAGE_USERS } from 'mastodon/permissions';
import EmojiPickerDropdown from '../features/compose/containers/emoji_picker_dropdown_container';
import { maxReactions } from '../../flavours/glitch/initial_state';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maxReactions should be added to the import in line 9

@@ -6,6 +6,7 @@ import ClearColumnButton from './clear_column_button';
import GrantPermissionButton from './grant_permission_button';
import SettingToggle from './setting_toggle';
import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_REPORTS } from 'mastodon/permissions';
import PillBarButton from '../../../../flavours/glitch/features/notifications/components/pill_bar_button';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PillBarButton is unused in vanilla

@Plastikmensch
Copy link

Just realized I totally forgot to reply to the other issue:

I was referring to there being 4 notifications but only 3 reactions, because "admin" changed a reaction.
The previous notification(s) should just update instead (as they already do), without there being another one.

Ah, now I get what you mean. I've looked into it, and as it turns out this also happens with favs:

Screenshot_20221130_142757

Steps to reproduce: Favourite something, wait for the notification, then remove the fav and add it again. Also works for boosts. I agree this is an issue that should be resolved, but Mastodon's backend notification code is mostly agnostic to the particular kind of notification. I believe it would actually be easier to remove duplicates for all kinds of notifications at once rather than do so only for reactions.

So, depending on how you look at it, this might kinda fall out of scope. I assume this won't take too much effort to fix though, so I could also include it in this PR if you want.

I agree it would make sense to remove duplicates of all notifications in that case.
I think that makes it fall out of scope for this PR.

(Also I probably should've created one review instead of creating multiple comments. Sorry)

@fef1312
Copy link
Author

fef1312 commented Nov 30, 2022

I agree it would make sense to remove duplicates of all notifications in that case.
I think that makes it fall out of scope for this PR.

It would probably be best to solve this issue directly in vanilla Mastodon.

(Also I probably should've created one review instead of creating multiple comments. Sorry)

Not a problem!

@fef1312
Copy link
Author

fef1312 commented Nov 30, 2022

So, if I haven't lost track of anything, the strange reaction removal bug is the last major obstacle standing in the way of getting this merged.

I noticed that it only occurs if you're doing it fast enough, which lets me suspect it might have something to do with Sidekiq. I wanna be totally honest here, though: I'm not familiar with the Ruby ecosystem at all and this is the most Ruby code I've written in my life, so my guess is basically as good as anyone's.

It's probably gonna take some time to get to the bottom of this, but I will give updates if something noteworthy happens.

@fef1312
Copy link
Author

fef1312 commented Nov 30, 2022

Well, this is either good or bad news: I can't reproduce the bug anymore. I tried everything, including switching between Firefox and Chrome and using the vanilla and glitch flavour, even going as far as using the exact same emojis that you originally chose. No matter how fast or slow I perform the steps, it just works.

@Plastikmensch
Copy link

Plastikmensch commented Dec 1, 2022

Well, this is either good or bad news: I can't reproduce the bug anymore. I tried everything, including switching between Firefox and Chrome and using the vanilla and glitch flavour, even going as far as using the exact same emojis that you originally chose. No matter how fast or slow I perform the steps, it just works.

I can pin it down a bit: It works as long as the user which reacted to a post doesn't reload.
Changing a reaction and then reloading the page apparently sends out a different state.

Edit: I'll look deeper into it once I'm awake again.

@fef1312
Copy link
Author

fef1312 commented Dec 1, 2022

Well that was certainly something. Turns out I just forgot to pass the reaction's actual name to UnreactWorker, causing the database to just drop whatever reaction it found first.

Anyway, the bug should definitely be gone for good now.

By the way, do you know what's up with the CircleCI build? I noticed it succeeded the very first time it ran when I originally opened the PR, but it's been failing ever since for no apparent reason.

@Plastikmensch
Copy link

Well that was certainly something. Turns out I just forgot to pass the reaction's actual name to UnreactWorker, causing the database to just drop whatever reaction it found first.

Anyway, the bug should definitely be gone for good now.

That seems to have fixed it. Can't reproduce it anymore.
Weird, I also found another thing that fixed it for me.

By the way, do you know what's up with the CircleCI build? I noticed it succeeded the very first time it ran when I originally opened the PR, but it's been failing ever since for no apparent reason.

Looks like it uses a openssl3 environment and fails during precompiling assets due to missing NODE_OPTIONS=--openssl-legacy-provider, which is a known issue.

Copy link

@Plastikmensch Plastikmensch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oof, making a review was way more exhausting than I expected.
Someone else would have to review the backend, as I'm not familiar enough with it.

I still have some functional concerns, but most of them fall out of scope.
(For example that it's not possible to know which user reacted with which emoji, but looks to me that this is a limitation of Mastodon with how notifications work)

Thanks for putting the work into this btw!

onClick={this.handleClick}
onMouseEnter={this.handleMouseEnter}
onMouseLeave={this.handleMouseLeave}
title={`:${shortCode}:`}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this could be changed to a translatable string {count} people reacted with {shortcode} for screenreader users, but I don't have one to test what it currently says.
Maybe the title attribute is unneeded though, as likes and boosts also have no title attribute and this might interfere with screenreaders, telling them to say the ":shortcode:" (which is already there than hovering the emoji) instead of the count.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have never used a screenreader to be honest, but I imagine making this a whole sentence could quickly turn reading all reactions out loud into a lengthy process. It's probably best to ask people who actually use a screenreader for feedback on this.

app/javascript/flavours/glitch/actions/interactions.js Outdated Show resolved Hide resolved
app/javascript/mastodon/components/status_reactions.js Outdated Show resolved Hide resolved
onClick={this.handleClick}
onMouseEnter={this.handleMouseEnter}
onMouseLeave={this.handleMouseLeave}
title={`:${shortCode}:`}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title={`:${shortCode}:`}

Again, maybe messes with screenreaders and is already shown when hovering the emoji.

app/javascript/mastodon/features/status/index.js Outdated Show resolved Hide resolved
app/javascript/mastodon/initial_state.js Outdated Show resolved Hide resolved
@kescherCode
Copy link

I've checked the Ruby part of this and it all seems fine to me after the most recent three commits.

@kescherCode
Copy link

@fef1312 Regarding the CircleCI build, try doing a git rebase with your PR branch with glitch-soc:main. 1122697 should fix this.

@easrng
Copy link

easrng commented Dec 1, 2022

It'd be nice if the client api for this was closer to Pleroma/Akkoma's implementation, it's very similar as is but there are a few differences:

  • this has the key the list of reactions is in named reactions and akkoma has it named emoji_reactions
  • the "username reacted to your post" notification is a different type (reaction here, pleroma:emoji_reaction on pleroma/akkoma tho idk how you'd feel about including a pleroma-prefixed thing like that in the api)
  • the api for adding and removing reactions is a bit different
    • add reaction:
      • this:
        POST /api/v1/statuses/post_id/react/reaction_name
      • pleroma:
        PUT /api/v1/pleroma/statuses/post_id/reactions/reaction_name
    • remove reaction:
      • this:
        POST /instance/api/v1/statuses/post_id/unreact/reaction_name
      • pleroma:
        DELETE /api/v1/pleroma/statuses/post_id/reactions/reaction_name

it'd be nice to not need to handle the two separately in my client tho again idk how you'd feel about including a pleroma-prefixed api.

@kescherCode
Copy link

@easrng tbh, I agree that the key in the list of reactions could be called emoji_reactions.

However, I think the rest is really out of place on something that is not Pleroma or, unfortunately, Akkoma, and the API of reactions was designed with the rest of the existing Mastodon API in mind (see also c8ab12a14a76ac0b73134d8ce39a17a899501b07).

@easrng
Copy link

easrng commented Dec 1, 2022

yeah i guess, and it's minimal effort for me especially since i'm only implementing emoji reactions now, but i assume there are clients out there that already support reactions on pleroma/akkoma and it'd be nice if they worked as is with this.
it kinda sucks that pleroma/akkoma prefix their features like this, this isn't the only prefixed api from them i'd like to see in glitchsoc (the other main one is listing the supported content types in /api/v1/instance so i don't have to try to guess based on the version)

@fef1312
Copy link
Author

fef1312 commented Dec 1, 2022

@kescherCode:

I agree that the key in the list of reactions could be called emoji_reactions

Do you mean the attribute of the JSON object returned by /api/v1/status/:id?

@Plastikmensch
Copy link

I've moved the backend strings to locales-glitch now, but I'm not sure what to do with the frontend ones as there is no glitch-specific directory for them as of now (none that I would be aware of, at least). Is it possible to separate those as well?

<lang>.js files are glitch locales <lang>.json are vanilla ^^
Basically, just remove changes from the /mastodon/locales/<lang>.json files, keep /flavours/glitch/locales/<lang>.js.

As for splitting the PR into multiple parts, I'm not sure what you mean by that. Are you referring to just the review process or actually opening up multiple PRs?

I was thinking opening up multiple PRs as this currently changes 80 files. It would make the review process easier, as I completely loose track every time I look at it.

@fef1312
Copy link
Author

fef1312 commented Dec 20, 2022

<lang>.js files are glitch locales <lang>.json are vanilla ^^

Oh okay, I didn't know vanilla also loads from glitch. Will do that!

I was thinking opening up multiple PRs as this currently changes 80 files. It would make the review process easier, as I completely loose track every time I look at it.

I understand, although I don't know whether it's even possible to separate the trees now without basically rewriting the entire commit history. Especially the frontend side has a lot of overlapping commits between the vanilla and glitch flavours, because I always edited them simultaneously ever since I ported the feature to vanilla.

So, while I'm not opposed to the idea as I find it increasingly hard to keep track of everything myself, I'm not sure whether it's feasible to do so at this point.

@Plastikmensch
Copy link

<lang>.js files are glitch locales <lang>.json are vanilla ^^

Oh okay, I didn't know vanilla also loads from glitch. Will do that!

Yeah, I probably should've mentioned that glitch locales basically extend vanilla locales.

So, while I'm not opposed to the idea as I find it increasingly hard to keep track of everything myself, I'm not sure whether it's feasible to do so at this point.

Yeah, it probably requires basically starting from scratch on new branches and manually copying changes from this PR :/

@github-actions
Copy link

This pull request has merge conflicts that must be resolved before it can be merged.

@prplecake
Copy link

This causes the action bar to be too long in search results, thus cutting off the timestamp.

@Plastikmensch
Copy link

This causes the action bar to be too long in search results, thus cutting off the timestamp.

Must be introduced by #2038 as it worked fine before.

@prplecake
Copy link

prplecake commented Dec 22, 2022

This causes the action bar to be too long in search results, thus cutting off the timestamp.

Must be introduced by #2038 as it worked fine before.

No? Please familiarize yourself with the codebase more before making such accusations.

The smallest a status in the main columns can be is somewhere around 320px, whereas the smallest a status can be in the left sidebar is closer to 285px. #2038 had nothing to do with changing the widths of anything.

You didn't even test #2038 yourself, did you?

@Plastikmensch
Copy link

Plastikmensch commented Dec 22, 2022

You didn't even test #2038 yourself, did you?

Nope, as I'm busy with other stuff.
It was the only recent change which might have caused this, as I couldn't reproduce it.
Turns out it just affects older toots, but there is a difference though:

Before:
Screenshot_2022-12-22_17-40-57
Screenshot_2022-12-22_17-40-21
Screenshot_2022-12-22_17-39-34

After:
Screenshot_2022-12-22_17-26-18
Screenshot_2022-12-22_17-35-17
Screenshot_2022-12-22_17-37-33

Default for comparison:
Before:
Screenshot_2022-12-23_11-13-46
Screenshot_2022-12-22_18-00-23
Screenshot_2022-12-22_18-00-50

After:
Screenshot_2022-12-23_11-10-05
Screenshot_2022-12-23_11-08-52
Screenshot_2022-12-23_11-08-15

@vgskye
Copy link

vgskye commented Dec 27, 2022

this PR comment history is very long and I'm not sure if this was attempted a fix or not, but this issue seems to be still present: #1980 (comment)

tested with Calckey, for reference.

Comment on lines +6 to +7
def call(account, status, name)
reaction = StatusReaction.find_by(account: account, status: status, name: name)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
def call(account, status, name)
reaction = StatusReaction.find_by(account: account, status: status, name: name)
def call(account, status, emoji)
name, domain = emoji.split('@')
custom_emoji = CustomEmoji.find_by(shortcode: name, domain: domain)
reaction = StatusReaction.find_by(account: account, status: status, name: name, custom_emoji: custom_emoji)

As of now this looks for shortcode@domain.tld in the database for remote emojis, making this fail as such entry cannot be found.
This suggestion basically does the same as react_service.rb, splitting the name and domain and also look for the custom emoji ID, making it possible to remove a reaction with a remote emoji.

@neatchee
Copy link

I have rebased this branch to latest, applied the suggested fix above, and submitted a pull request to the author's repo, in the hopes of getting this merged sooner :) I've started using the feature on our instance and it's great 👍

@moyitpro
Copy link

This is another confirmation that the rebase and fixes @neatchee fixes and they are working on the instance I run. Also, confirmed working on Mastodon Glitch 4.1.0 as well.

@neatchee
Copy link

@Plastikmensch It's been a month with no response from the initial PR creator. Would you like to switch to a new PR from my repo? We're looking to squash one more bug (emoji picker does not stay in screen bounds and can be inaccessible off-screen)

@fef1312
Copy link
Author

fef1312 commented Feb 11, 2023

Oh well. I don't really have an explanation for staying away for so long, but I'm still more than willing to get this finished. After all, I'll have to do it either way for my own Mastodon instance. For starters, this is merely keepalive comment to let you know I am in fact not dead. I'll catch up with the conversation history when I get up in around 9 hours. My sincere apologies for the long silence.

@neatchee
Copy link

neatchee commented Feb 11, 2023 via email

@ClearlyClaire
Copy link

Hi, this is not a review, but I just wanted to say I'm potentially interested in this change, but unfortunately do not currently have the mental bandwidth to review such a large PR. Hopefully this will improve sooner than later, but thank you for your contribution either way!

@neatchee
Copy link

neatchee commented Feb 12, 2023 via email

@pedroCX486
Copy link

@neatchee Any chance you could open a new PR with the updated code? This one seems stale/dead and I'd love to test/help fix bugs on the front-end if possible.

Cheers

@neatchee
Copy link

neatchee commented Feb 23, 2023 via email

@Reticulmz
Copy link

Is there any chance that this PR will start working again?

@neatchee
Copy link

neatchee commented Mar 8, 2023 via email

@neatchee
Copy link

neatchee commented Mar 8, 2023

New pull request is #2127

@kescherCode
Copy link

Highly suggest this e4c411e to be added.

@kescherCode
Copy link

Ah, I messed that commit up. Apply 9c4e060 afterwards.

@ClearlyClaire
Copy link

Replaced by #2221

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet