Xylight

joined 2 years ago
MODERATOR OF
[–] Xylight@lemdro.id 1 points 5 hours ago* (last edited 5 hours ago) (1 children)

photon.ani.social's on a old version that uses a different way of lemmy's resizing, they're ~11 months out of date

I could potentially add an option to waste heaps of bandwidth and load full images for everything (like everyone else, including lemmy-ui) but it seems wasteful

[–] Xylight@lemdro.id 8 points 18 hours ago

Not just flatpaks, same with .deb and .rpm, bloat files. Actually, all packaged binaries suck too, they're unoptimized. The only decent solution is to compile every binary yourself. Actually, that's a waste and sucks because what if the developer didn't code with the oversight of god himself? So we should write the software ourselves in C, because Rust is bloat. But wait, then we're using a premade compiler, so we just need to write raw x86 machine code (only a bad dev needs 64 bit registers).

Actually, x86 has too many instructions that are pointless which complicates the architecture of the CPU. Do we even need a CPU? What's the point of half of this system anyway? I don't need a computer to do the math. I can do it myself. I don't need programs.

Wait, but even just myself has bloat. You're telling me that 15-20% of my body is just wasted energy, never to be used? Need to get that down to 0℅. What's the point of 2 lungs when I can function with 1? Two kidneys? Eyes? Ears? Why do we have duplicates when one works just fine? What's the point of an appendix or a gallbladder?

Well, it seems that even the human body alone isn't a bloat free native replacement. So it's time to ascend beyond the mortal flesh. But even then, we're confined to 3 dimensions. Stupid sandbox, what's the point?

Unfortunately I can't think of any further solutions so it looks like for now I'm gonna be stuck with the oh so terrible flat pack

[–] Xylight@lemdro.id 1 points 20 hours ago (1 children)

I put closer to what I actually changed in each patch note now, I used to pick and choose a lot

4
v2.0.1 (github.com)
 

What's Changed

  • feat: add a static site option by @Xyphyn in https://github.com/Xyphyn/photon/pull/622
  • design: improve comment experience by @Xyphyn in https://github.com/Xyphyn/photon/pull/623
    • better spacing, and separation, as well as easier and more readable font size
  • perf: optimize bundle size by @Xyphyn in https://github.com/Xyphyn/photon/pull/627
    • stuff is now more dynamically loaded which should improve load speed
    • other misc performance improvements
  • security: add a content security policy
  • misc: add a User-Agent for API requests
  • design: use a unified common list component
  • misc: use gradients for placeholder avatars
    • I use placeholder avatars a lot since it's easier to distinguish users based on color/shape rather than username, and this makes it even easier to distinguish
  • feat: add a vote ratio bar option
    • when enabled, if a post is more controversial, a bar will be overlayed behind it to visualize it
  • feat: browse communities of specific instances
    • the available instances are only that you have accounts/guests on as i consider them "trusted"
  • feat: add an SSG adapter
    • admins can build the app with ADAPTER=static and then a build folder will be generated with just the shell. There will be no server side rendering available with this.
  • i18n: sync translations with weblate
    • Bulgarian: salif
    • Polish: gapetto

Full Changelog: https://github.com/Xyphyn/photon/compare/v2.0.0...v2.0.1

[–] Xylight@lemdro.id 19 points 3 days ago (11 children)

Well the IPv4 spec only allows 4 octets, so having 5 or more is impossible. We could fix it by changing the protocol, but at that point it's more worth it to just migrate to IPv6.

 
18
submitted 5 days ago* (last edited 4 days ago) by Xylight@lemdro.id to c/photon@lemdro.id
[–] Xylight@lemdro.id 5 points 5 days ago (1 children)

As in a regex or ..?

An ipv4 parser would also be sorta difficult.

you have to account for the fact that all the octets can be added to decimal: http://2130706433 (valid 127.0.0.1)

or the fact that octets can be in different formats: http://0x7F.0x0.0x0.0x1 (127.0.0.1)

or the fact that you can mix octet formats: http://0xC0.0250.0.1 (192.168.0.1)

 

On the 16th of July, at around 8pm UTC+2, a malicious AUR package was uploaded to the AUR. Two other malicious packages were uploaded by the same user a few hours later. These packages were installing a script coming from the same GitHub repository that was identified as a Remote Access Trojan (RAT).

The affected malicious packages are:

  • librewolf-fix-bin
  • firefox-patch-bin
  • zen-browser-patched-bin

The Arch Linux team addressed the issue as soon as they became aware of the situation. As of today, 18th of July, at around 6pm UTC+2, the offending packages have been deleted from the AUR.

We strongly encourage users that may have installed one of these packages to remove them from their system and to take the necessary measures in order to ensure they were not compromised.

Follow up

There are more packages with this malware found.

  • minecraft-cracked
  • ttf-ms-fonts-all
  • vesktop-bin-patched
  • ttf-all-ms-fonts

What to do

If you installed any of these packages, check your running processes for one named systemd-initd (this is the RAT).

The suspicious packages have a patch from this now-inaccessible Codeberg repo: https://codeberg.org/arch_lover3/browser-patch

The Arch maintainers have been informed of all this already and are investigating.

[–] Xylight@lemdro.id 1 points 2 weeks ago (1 children)

I looked at threativore's REST API, and it raised a question about how the flairs should be displayed.

Were user flairs intended to be displayed inline in a comment section next to their username? Or if you specifically visit their profile? I ask this because there's only an API endpoint to get details regarding a single user, which would require dozens of API calls for a single comment section or post feed.

[–] Xylight@lemdro.id 1 points 3 weeks 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.

[–] Xylight@lemdro.id 3 points 3 weeks ago (1 children)

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

[–] Xylight@lemdro.id 3 points 3 weeks ago (1 children)

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.

24
[Photon] v2.0.0 (use.phtn.app)
submitted 3 weeks ago* (last edited 3 weeks ago) by Xylight@lemdro.id to c/lemmyapps@lemmy.world
 

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

35
Photon v2.0.0 (use.phtn.app)
submitted 3 weeks ago* (last edited 3 weeks ago) by Xylight@lemdro.id to c/photon@lemdro.id
 

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

[–] Xylight@lemdro.id 13 points 3 weeks ago

I prefer details since it's easier for me to scan visually, with my eyes only having to go straight down, to find either a name, date, or size. Sorting I also find more intuitive. However, I prefer icon view for my pictures and videos folders

[–] Xylight@lemdro.id 2 points 3 weeks ago

"are we serious" whenever something negative happens

[–] Xylight@lemdro.id 2 points 3 weeks ago

I changed it to just use your browser background now.

 

Photon is two years old now! (I missed the birthday which was 2 weeks ago. :< )

I've done these posts a few times during Photon's early days, and they've been helpful.

2.0 is almost out, I'm done with pretty much everything and it's stable enough. There's bug fixes in here that make it arguably more stable than the current "stable" release.

I ended up with a bit of a "RobTop and 2.2" situation working on this update.

if you're on phtn.app you're always on the latest commit, and if you're using lemdro.id, p.lemmy.world, or photon.slrpnk.net, you're on the latest 2.0 beta.

Ill make a big release note once it's out, but for now:

Are there any new features that you'd like?

Currently planned is:

  • Piefed support (targeting v2.2.0)

Side noteThank you to everyone who supports and uses Photon, this has been my most motivated project and I'm glad it's useful to some. I've started to recognize the usernames of all the translators and those who are active in this community. I'm not planning on dropping this project anytime soon!

39
submitted 1 month ago* (last edited 1 month ago) by Xylight@lemdro.id to c/photon@lemdro.id
 

I am currently working on alpha PieFed support for Photon.

The PieFed API is missing a lot of features from native PieFed, so not all functionality you'd expect will work (notably, the inbox.) I can't do anything about this until those features are added to the API.

The way I'm writing this will also allow Mastodon support in the future.

Status

I've already implemented basically the entire AVAILABLE PieFed API. You can try a beta here.

You can view my progress at via the pull request on GitHub.

 
 

It's been on a separate URL for a while now but it is now on phtn.app.

It hasn't been merged to main yet and has not been put as stable release, but i believe it is stable enough to bring to my URL.

Once the stable release is out, I will write release notes. This is the svelte 5 version.

 

You have become the very thing you swore to destroy

 

So the overall layout won't change, and if you're using default navigation settings, you'll barely notice any difference.

Instances using Photon with SSR have rightfully complained that there's a layout shift between server load and hydration. This happens because the current navbar's position isn't determined by CSS, but by calculations in JavaScript. This is pretty messy and bad.

I rewrote it to be CSS based so that this shift won't happen, and it also simplifies the code quite a lot. However, there's one downside, you won't be able to manually customize the position: the navbar will be a top panel on desktop, and a bottom dock on mobile.

One new feature in this is that on mobile, the bottom dock will hide when you scroll down and re-appear when you scroll up at all. You can disable that in settings.

I consider Photon an opinionated client (of my opinion), but I also want to make sure this isn't a dealbreaker for anyone.

Github Link

Preview URL

view more: next ›