Photon uses Svelte.js as the main JS framework for the UI. Photon uses Svelte 4 currently, but Svelte 5 was released and has a lot of benefits for the codebase. It’s also a lot faster.

However, the paradigm for Svelte 5 is a lot different and almost the entirety of Photon might have to be rewritten.

Luckily, there’s a migration tool that can do a lot of the work for me. However, I’ve still got to fix about 3,000 lines of code and 70 different files to work properly with Svelte 5. There’s also gonna be a lot of hidden bugs I’ll need to fix.

Because of this, I won’t work on any new features for the next month or so, so that I can get this as done as fast as possible.

Generally you won’t notice much other than slight behavior changes due to minor code structure changes, or maybe a bug or two.

Once I’m finished, I’ll make another announcement and you might notice photon feeling a bit faster!

Once it’s been confirmed stable I’ll release docker images.

You can see my progress here

Other notes

Browser support drops

Very old browsers probably might break. I’m talking Internet Explorer (although I’m pretty sure that was already broken. I don’t care if Photon doesn’t work on IE.)

  • poVoqA
    link
    fedilink
    English
    arrow-up
    1
    ·
    15 hours ago

    Is there an update on this?

    The git repo on github is not being updated anymore it seems?

  • poVoqA
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 month ago

    So the original plan to have a stable version on Svelte 4 was scrapped?

    I am not against this, if Svelte5 brings a lot of improvements and maintaining an old branch is not worth the trouble, but it does effect our plans to switch to Photon as the main UI in the short term.

    • Xylight@lemdro.idOPM
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 month ago

      The app will essentially be the same thing, with a different library. I don’t think there’s a need to keep an old branch since I’m just migrating the app, not rewriting.