Skip to content

Conversation

@Steffo99
Copy link
Contributor

@Steffo99 Steffo99 commented Oct 5, 2024

Closes #601.

Still very work in progress, but wanted to share it in the meantime!

Screenshot

Not really necessary, but all pull requests look nicer with images!

@Steffo99 Steffo99 changed the title Initial support for Akkoma's bubble timeline Support for Bubble timeline on instance where it is available Oct 11, 2024
@Steffo99 Steffo99 changed the title Support for Bubble timeline on instance where it is available Support for Bubble timeline on instances where it is available Oct 11, 2024
@Steffo99
Copy link
Contributor Author

Figured out how to add it to the shortcut menu, but I'm struggling to understand how to add a new input type to the shortcut settings (the "variant" option would need a <select>).

For now I've set its type to "text", and I'm having the user input the string corresponding to the chosen variant manually.

More screenshots!

@cheeaun cheeaun added enhancement New feature or request akkoma labels Oct 14, 2024
@Steffo99 Steffo99 force-pushed the feature/akkoma-bubble branch from 3727666 to ae9330a Compare December 9, 2024 03:13
@Steffo99 Steffo99 changed the title Support for Bubble timeline on instances where it is available Support for Bubble timeline on Akkoma and Chuckya Dec 9, 2024
@Steffo99
Copy link
Contributor Author

Steffo99 commented Dec 9, 2024

This works everywhere now, and even has a proper dropdown:

I think I also stumbled upon a bug in the import of shortcuts, which I think I fixed in 369935f.

@Steffo99 Steffo99 marked this pull request as ready for review December 9, 2024 04:24
@Steffo99
Copy link
Contributor Author

Steffo99 commented Dec 9, 2024

CCing @TheEssem, who might (or might not) be interested in this implementation, as author of TheEssem/mastodon@07ff6d0

@donfeduardo
Copy link

I think I managed to fix the merge conflicts on my fork without botching anything, so I have this running on my instance. If there's anything in particular you want another pair of eyes on, let me know.

@donfeduardo
Copy link

This is perhaps a dumb question, and I swear I've searched, but what's the best way to deal with merge conflicts on the default PO file at src/locals/en.po? When I first merged this branch I just manually looked for the strings in question as a way to learn how the code worked, but that's impractical. When watching the build output after merging with the current release, I saw messages from lingui extract. Should I be running npm run messages:extract on its own, should I just run a build after a merge and let the file be replaced that way before committing it to my local repo, or is there some other best practice I should be following?

@Steffo99
Copy link
Contributor Author

"Should I be running npm run messages:extract on its own, should I just run a build after a merge and let the file be replaced that way before committing it to my local repo, or is there some other best practice I should be following?"
@donfeduardo

I think just running a build should be enough for the relevant files to be replaced, although I never really explored how the localization system works, so perhaps @cheeaun might be able to provide a better answer :)

@paulo-roger
Copy link

Thank you so much! Is it implemented?

@Steffo99 Steffo99 force-pushed the feature/akkoma-bubble branch 2 times, most recently from 382d200 to 7c81ba1 Compare September 9, 2025 04:58
@Steffo99
Copy link
Contributor Author

Steffo99 commented Sep 9, 2025

Rebased onto 226fd66 and reorganized commits to be atomic.

@cheeaun please have a look when you can!

@cheeaun
Copy link
Owner

cheeaun commented Sep 9, 2025

@Steffo99 this has been a while 😮‍💨. Would be useful to see some screenshots of this working 😁

@Steffo99 Steffo99 force-pushed the feature/akkoma-bubble branch from af86bb9 to 7d9c1e8 Compare September 10, 2025 08:27
@Steffo99
Copy link
Contributor Author

A few more screenshots!

2025-09-10 10-59-49 2025-09-10 11-2-15 2025-09-10 11-3-17 2025-09-10 11-7-41 2025-09-10 11-9-05

Comment on lines +45 to -43
// TODO: this switches depending on our current instance, and not the instance we're viewing
let endpoint;
if(supports('@akkoma/bubble-timeline')) {
endpoint = masto.v1.timelines.bubble
}
else {
endpoint = masto.v1.timelines.public
}

const publicIterator = useRef();
async function fetchPublic(firstLoad) {
if (firstLoad || !publicIterator.current) {

// TODO: same as above for Pixelfed here
const opts = {
limit: LIMIT,
local: isLocal || undefined,
local: variant === 'local' || undefined,
bubble: variant === 'bubble' || undefined,
remote: variant === 'federated' && supports('@pixelfed/global-feed') || undefined,
};
if (!isLocal && supports('@pixelfed/global-feed')) {
opts.remote = true;
}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we have a way to check supports for the instance we're viewing, instead of the one we're logged in to?

This breaks from Mastodon to Pixelfed or between Akkoma and anything else...

@Steffo99 Steffo99 requested a review from cheeaun September 11, 2025 13:45
@Steffo99 Steffo99 marked this pull request as draft September 11, 2025 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

akkoma enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request] Akkoma Bubble Support

4 participants