this post was submitted on 13 Jul 2025
31 points (100.0% liked)

Photon

839 readers
3 users here now

Photon for Lemmy

A client for the fediverse designed to be intuitive, fast, and sleek.

This community is a place to ask questions, report bugs, check on the latest updates, or share your experiences with Photon!

You can contact me at @[email protected].

Rules

  1. Posts must be related to Photon (in any way)
  2. Don't be mean
  3. If your post is a bug report, please preface the title with [solved] if it's been fixed.

founded 2 years ago
MODERATORS
31
Photon v2.0.0 (use.phtn.app)
submitted 3 days ago* (last edited 3 days ago) by [email protected] to c/[email protected]
 

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, Tywele)
  • 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

you are viewing a single comment's thread
view the rest of the comments
[–] db0 3 points 1 day ago (2 children)

Is there any chance I could convince you to support fediseer (i.e. display remote instance reputation from your own instance) and threativore user flairs?

[–] [email protected] 1 points 23 hours ago (2 children)

I generally try to make photon depend as little as possible on external APIs, especially specific ones.

However, I was thinking of a system to let instance admins choose for themselves if they want their hosting of photon to have it, perhaps through a "plugin" system. I could add a threativore/fediseer plugin that you could specify configuration to.

I probably wouldn't add it on my phtn.app, but I can add "plugins" so that you could use it on lemmy.dbzer0.com.

[–] db0 1 points 8 hours ago

Btw, since I havw you here, is it possible to reduce the size of instance custom emojis? Photon displays them way too large, I think they should be resized to either 24x24 or 48x48. Custom emojis always include the "emoji " string in their markdown, so other frontends just resize the images to 24x24 if they detect the that string.

Example: https://p.lemmy.dbzer0.com/post/lemmy.dbzer0.com/48319452

[–] db0 1 points 20 hours ago

Being able to hook some sort of plugin system would be perfectly fine with me. I can't develop it myself though >_< But if you would have a fediseer plugin and a threativore plugin and one just provides some necessary variables, I would totally use them.

[–] [email protected] 2 points 1 day ago (1 children)

@db0 @Xylight has any client app added support for these yet? Would love to see what that would look like in action

[–] db0 3 points 1 day ago

tesseract had support for fediseer (although not as visible as I would have liked). Nothing has added yet support for threativore flairs.