Xylight

joined 2 years ago
MODERATOR OF
[–] Xylight@lemdro.id 5 points 1 day ago

If I unironically monetize photon in any other way than donations, shoot me.

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

i added that tier after you sent this to me

[–] Xylight@lemdro.id 9 points 2 days ago (2 children)

the cat and their invaders are taking over Photon. i will fight back.

[–] Xylight@lemdro.id 15 points 3 days ago (4 children)

Photon Premium™️ members will receive more incredible revolutionary unprecedented amazing features soon©️ on April 1st

[–] Xylight@lemdro.id 3 points 1 week ago

marking an inbox item as read just does $notifications.inbox--, but the number only updates every 5 minutes, so when you go to an inbox with unread items before it updates, and mark one as read, it does this

i could easily fix it but i always forget right as i open the editor

[–] Xylight@lemdro.id 1 points 1 week ago* (last edited 1 week ago) (1 children)

I did. In the long run it's better for me to write my own since it's easier to update and debug

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

I'm definitely gonna have to write my own virtualizer. I tried using Tanstack Virtual but it definitely has too many issues with my setup to work well.

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

That's because they linked photon.lemmy.world... this is why I was hesitant to allow instances to link photon to them.

Anyway, you can use https://phtn.app/ (the official URL, like vger.app) to use any instance.

 

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.

 

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

 

I use Lemmy for bigger news and all that, but sometimes I like to showcase little things I've done in Photon or tweaked. Maybe even hold polls there.

Should I post mini updates there? Lemmy will still be reserved for the big ones.

@photonlemmy@mas.to

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

The Svelte 5 migration has progressed enough that I think it's safe to release betas now.

Docker tags are released for 2.0.0-beta.2, and you can access the latest beta yourself at https://svelte-5.photon-8na.pages.dev/.

I've made a few UX changes to match the new codebase, I hope that this release is good for you.

Please let me know of any major issues.

Issues I've noticed (I will fix as soon as I am available:

  • Post mutations don't save when you navigate, when you go back, they are reverted.
1
submitted 5 months ago* (last edited 1 month ago) by Xylight@lemdro.id to c/photon@lemdro.id
 

Approximately 70% complete

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.)

 

I usually don't like orange/brown themes but I think this one's cozy. I decided to make it for the autumn season.

{"slate":{"25":"255 248 240","50":"253 244 232","100":"251 236 221","200":"246 220 198","300":"240 195 165","400":"219 162 122","500":"196 133 89","600":"133 108 89","700":"89 72 59","800":"66 54 44","900":"44 36 29","950":"33 27 22"},"zinc":{"50":"255 243 230","100":"250 228 207","300":"227 186 156","400":"204 144 105","500":"181 102 54","600":"120 96 79","700":"82 66 54","800":"61 49 40","900":"41 33 27","925":"33 26 22","950":"25 20 16"},"primary":{"100":"255 245 235","900":"122 48 0"},"other":{"black":"25 20 16","white":"255 252 248"}}

To import, go to Main menu > Themes > Click the + to make a new theme > Import > Paste and import

 

I used to ask these a lot during Photon's early development, but I decided to do one now.

Are there any major features you'd like added or issues you'd want fixed?

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

Saw people on slrpnk.net were looking for a photon theme so I decided to make one. I'm not necessarily expecting this to be used at slrpnk.net, but I like the theme so I'll be using it. It has a nice light theme too.

It's pretty similar to a recent post for a "wintergreen" theme, this one is less saturated.

{"slate":{"25":"245 248 247","50":"235 242 241","100":"225 236 235","200":"205 218 222","300":"185 200 209","400":"155 172 186","500":"125 144 163","600":"95 116 140","700":"75 98 122","800":"55 80 104","900":"35 62 86","950":"25 44 68"},"zinc":{"50":"245 248 248","100":"220 235 233","200":"185 214 210","300":"143 185 182","400":"103 154 151","500":"77 127 125","600":"60 101 100","700":"51 82 82","800":"44 66 67","900":"35 51 51","925":"27 41 41","950":"20 31 32"},"primary":{"100":"180 200 199","900":"30 65 64"},"other":{"black":"20 20 30","white":"245 248 247"}}
 

I'd like to learn about the community that uses Photon, so I've decided to make a survey! You can answer it if you like. In about a week I'll collect the responses and see if anything's interesting, and then I'll make a post showing any discoveries.

The survey just has a few questions about demographics, Lemmy usage, and knowledge of Photon's features.

 

this security issue can only be triggered by users fault, but it's up to the UI designer to prevent user mistakes causing potential credential leaks.

The login page

The login page is designed to be as simple as possible. Only 1 page, no extra steps. It'll validate whatever instance url you type in to ensure it's actually a Lemmy instance.

The problem

If the user mistypes the instance url to a typo squatting instance, your credentials were just sent straight to them. Bad. For example, I could setup an instance named lemmu.world, and if someone accidentally mistypes lemmy.world as that, I get their credentials for free.

Potential solutions

I'm not sure which one would be best as they all have problems.

  • Require you to type the instance before you can start typing your credentials.
    • This complicates things and adds an extra step. This also wouldn't completely solve the problem.
  • Add an auto complete list
    • This will work for popular instances as they'll know that they have the wrong url because it disappeared from the auto complete. However, I'd need to keep this list updated and id prefer photon to have minimal external ties. This also wouldn't work for small instances.
  • Add typo checking
    • This has the same problem as above as I'd need to keep common misspellings updated and I want photon to have minimal external ties.

Any ideas? For now, this isn't a problem as long as you double check the instance you're logging in with, and there's no cases of this AFAIK.

 

TL;DR

Vercel has been a PITA for a few reasons I won't go into, and I eventually reached a usage limit that made the site unusuable. Cloudflare pages has no usage limits, so I have switched to that. Nothing different should be noticable, except that initial loads might be slightly faster.

if you don't like cloudflare

I understand lots of people dislike cloudflare, so if you want to get away from it, here are some publicly hosted instances:

Instance Location Contact
phtn.app (Official) 🇺🇸 US West photon@xylight.dev
photon.thesanewriter.com 🇺🇸 US East thesanewriter@lemmy.thesanewriter.com
p.darrennathanael.com 🇮🇩 ID West noc@darrennathanael.com
phtn.ngn.tf 🇹🇷 Turkey services@ngn.tf
lm.sudovanilla.org 🇺🇸 US East hello@sudovanilla.org (behind 1 version)

You can also selfhost it if you'd like.

git clone https://github.com/Xyphyn/photon
cd photon
npm install && ADAPTER=node npm run build
node ./build/index.js 
1
submitted 7 months ago* (last edited 7 months ago) by Xylight@lemdro.id to c/photon@lemdro.id
 

On phtn.app I can give all translators of Photon a badge, here's how it looks on @Blisterexe@lemmy.zip (the French translator!)

If you want this and you translated the app, just add a comment and I'll try to verify your contributions. Then I'll add it to phtn.app. I can add and remove this at any time, and this will only appear on phtn.app.

To get the badge, you must have

  • Validly translated at least 30 strings of any language (other than English)
  • Proof that you are the contributor on weblate (using the same username on both should be enough)
view more: next ›