cross-posted from: https://lemdro.id/post/25562194
This is a very big release since v1.31.4. If you’ve used phtn.app, you won’t notice a difference, since that runs on the latest commit.
TL;DR
- Photon has been completely rewritten to use Svelte 5
- This brings significant performance improvements
- The UX has been changed to fit Photon’s philosophy more closely
- Many issues have been resolved and bugs fixed
- 60% of changes are under the hood, but there’s many visible ones too
What you’ll notice
Snappier performance
- Svelte 5 optimizes a lot of the reactive parts of the app
- I’ve also spent a lot of time on a new virtualizer, which runs a lot faster
Design changes
- While the overall layout is relatively the same, I’ve reworked a lot of pages to fall more in line with my design philosophy.
- The design across (most) pages is much more consistent
- There’s a new default theme
- Compact mode is now the default (if you’ve used photon before, this will not affect your setting)
- Comment layout is slightly different and more intuitive
- Modals now create a backstack so you can press the back button on your browser
New features and options
- More moderation features
- Quickly view users’/submissions’ moderation logs
- View the users’ votes n a post
- Grouped reports for many reports on the same post
- you can resolve many at once
- Options for more granular control over how links work in posts
- Option to reverse the action row
- Option to use absolute timestamps
- lemmy language tagging support
- Command palette now has contextual navigation options
- Contextual warnings for certain actions (like missing languages in posts)
- Messages page has been overhauled with markdown, contextual actions, etc
- Better view and options for modlog page
- Donation dialog as Lemmy requested
Optimizations
- Uses CSS animations more often which are faster
- Uses svelte context API to reduce prop drilling
- Navbar uses CSS rather than JS for positioning
- Uses optimized svelte $state rather than stores
Languages
Thanks to the community making translations on the Weblate, Photon has support for 18 languages!
- English (100%)
- Hebrew (58%)
- Arabic (33%) (fxomt)
- Bulgarian (72%) (salif)
- Chinese (Simplified) (91%) (qiancsf, CDN, binary3141)
- Chinese (Traditional) (21%) (binary3141)
- Dutch (81%) (qaz)
- Estonian (24%) (pewgar)
- Finnish (94%) (sevon)
- French (87%) (Blisterexe)
- German (64%) (poVoq)
- Hungarian (55%) (myedition8)
- Japanese (84%) (Rentlar)
- Polish (83%) (gapetto)
- Portuguese (78%) (tmpod)
- Russian (83%) (WerySkok, mudkip)
- Spanish (81%) (acidrums4)
- Turkish (91%) (ikanat)
In the future
- Piefed support is targeting v2.2.0
- With the way it is being written, Mastodon support may as well come sometime around v3.0.0
There’s a lot more in this release, as well as more to come. I’m trying to make Photon closer to its design philosophy, which can be summarized as:
It should not take more than 3 seconds to identify an action you wish to perform within a given container or page.
This covers a lot of reasons why I design stuff the way I do, for example, you’ll never find more than 5 buttons (minus links) in a single container. Additionally, specific types of actions will usually look different, like primary actions on a page versus sub actions.
I hope you enjoy this release!
Full Changelog: https://github.com/Xyphyn/photon/compare/v1.31.4...v2.0.0
Great news!
That all looks amazing, I’m excited to try it out!
Lovely stuff!