Skip Navigation

Photon v2.0.0

use.phtn.app

Photon

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

12 comments
  • Thank you! I know youve already implemented most of my suggestions (votes,revamped inbox) etc, and I hate to be pushy, but;

    It would be amazing to have registration application templates. Thats the only thing I use for tesseract now (since you've implemented most of what I need)

    And two small bugs I found, no pressure:

    You can't set the default modlog view despite there being "default" as an option in the Modlog page, but only previews as lists.

    In the Arabic version, the RTL switch is broken unlike Hebrew (they both work the exact same, not sure why it's like that)

    Anyways, those last two are very small and don't matter much; this update is amazing, Thank you!

    We've updated https://p.lemmy.dbzer0.com/ to the latest version

    • I'm still updating this daily, I'll get that in there soon. I only made the "stable" 2.0 release now because I wanted to get all the instances using the ancient v1.34 up to date

  • Why does my contribution to translating to German always get seemingly forgotten?

    • Thank you for your work !

    • I'm really sorry about that, I used a different script to generate the translation reports for this release note than the credits page in the app. The first one only took the top 1 translator, and then I filled what I thought I missed.

      I edited the post. Translation is a great dedication of time and I apologize for not recognizing the time you put.

  • Thanks, Photon is the best site on the web!

  • Do you have instructions for upgrading?

    • Just change the image version. It should work as normal:

       yml
          
      image: ghcr.io/xyphyn/photon:v2.0.0 # preferably use latest
      
        

      or from the shell

       sh
          
      docker run ghcr.io/xyphyn/photon:v2.0.0
      
        
12 comments