Photon

1363 readers
1 users here now

Photon for Lemmy

A client for the fediverse that is fast, modern, and intuitive.

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 @Xylight@lemdro.id.

You can support development at Buy me a coffee

Links

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
1
 
 

What's Changed

  • design: make the signup page look slightly less atrocious
  • feat: add keyword and URL filtering for posts by @Kehet and @Xyphyn in https://github.com/Xyphyn/photon/pull/711
    • only for posts for now, by default it will minimize the post in your feed to let you know it was hidden while still being unobtrusive. if you want to completely hide them, that's still an option
  • feat: automatically retrieve cross-server content
    • previously this would require an extra button press. this is much more transparent
    • also this makes photon links a lot better for sharing with frens
  • feat: completely rewrite the api adapters to not be absymal trash
    • if an employer saw that i wrote the old api adapter i would be fired on the spot
  • fix: Missing escaped text by @sevonj in https://github.com/Xyphyn/photon/pull/706
  • upgrade: svelte -> 5.49.1, sveltekit -> 2.50.1, vite -> 6.4.1, tailwindcss -> 4.1.18
  • misc: improve settings reachability by making a categorized page on mobile
  • design: make button presses react more frequently to just make things feel nicer
  • design: lots and lots of design tweaks like a new loading animation (massive changes)
  • refactor: authentication logic
  • fix: remove useless sveltekit __data.json blocking calls, speed up navigation within layouts (and make everything work without the photon server)
  • feat: make it impossible to use the app if you have a certain username because funny

New Contributors

Full Changelog: https://github.com/Xyphyn/photon/compare/v2.2.2...v2.3.0

2
 
 

I realize that I never posted this link publicly anywhere other than my donation page, though it's existed for quite a while.

You can join the matrix room for the photon community here, where you can report small issues, ask for help, or discuss the app.

I've also added relevant links like this to the header of this community.

3
 
 

Hello 👋. I can't use Photon while RethinkDNS is active. I can log in to the website, but as soon as I do, the errors shown in the photo appear, and I can't use it.

4
 
 

cross-posted from: https://lemdro.id/post/38345798

I noticed these strange banners today.

But can't post photos here apparently

5
 
 

I've always thought that the photon project didn't receive enough money.

Although an age verification prank would have arguably been funnier

6
1
shoot man (piefed-media.feddit.online)
submitted 1 month ago* (last edited 1 month ago) by Xylight@feddit.online to c/photon@lemdro.id
7
 
 

Very few lemmy instances actually proxy images, and this makes it impossible to run image transforms (compression and resizing). this leads to a lot of scenarios where some profile picture that gets rendered at 24x24px is actually downloading a full-size 4K image. additionally, you've connected to hundreds of domains in the process of scrolling your home feed, leaking your IP address to all of them.

i'm working on a centralized image proxy that solves these problems (though it's not locked into photon, it depends on environment variables). it'll roll out on phtn.app for now.

Comparison

Compact mode, loading 1 page on home feed

  • Unproxied: 836 KB downloaded, 30 domains
  • Proxied: 76 KB downloaded, 1 domain
8
1
[Feature] keyword filters (piefed-media.feddit.online)
submitted 2 months ago* (last edited 2 months ago) by Xylight@feddit.online to c/photon@lemdro.id
 
 

Thanks to a PR from @Kehet https://github.com/Xyphyn/photon/pull/711 there are now keyword filters for posts. It's pretty easy to add comments next, which i will do soon

The reason I didn't like filters initially is that I dislike completely missing any information. This filter system has an option for "minimize" which tells you that a post was hidden, which I vastly prefer. If you want to completely hide posts, there's also a "hide" option. Regexes are supported too!

9
 
 

I turn off infinite scroll cause it bugs out sometimes, and there's always a page count and arrow buttons, except when I go to "saved." I know I've saved more than 10 things, and I don't think they've all been deleted, so I thought I'd report it.

10
 
 
11
 
 

I used to daily drive this app for browsing Lemmy/PieFed and stopped due to random annoying bugs and design issues popping up. Now I just found this file in the codebase and it made everything click. What do you guys think?

12
 
 
  • design: use common components for administration pages
  • design: use common styles for vote buttons
  • impr: add proper pageination to messages page, fix diffing desync
  • feat: add autosubmit to URL autofill
  • design: use Materials for highlights in comments
  • fix: piefed poll vote api schema changes
  • fix: markdown tables re-enable
  • feat: add custom thumbnail option to PostForm
  • feat: add piefed metadata generation
  • design: redesign the profile block pages to not look awful
  • fix: post polls causing a scroll to top
  • feat: make comment guide borders clickable to collapse (like reddit)
  • misc: skip client validation for linked instances
  • feat: make command palette more obvious with a button in profile picture (ctrl + k guys) (or right click/hold on photon logo)

Full Changelog: https://github.com/Xyphyn/photon/compare/v2.2.1...v2.2.2

13
 
 

I get blank empty screen a lot when I'm in page inbox.

  • when clicking mark all as read
  • when going to messages or replies or mentions
14
 
 

[![](https://upload.wikimedia.org/wikipedia/commons/4/44/Narrow-banded_dartwhite_%28Catasticta_flisa_postaurea%29_underside_on_Mimosa_pudica.jpg)](https://github.com/Xyphyn/photon/)

Above is an image inside a link. The image is broken.

I poked at the source code and found that MdImage gets passed href of the parent link and not the image url itself. So the image component tries to display https://github.com/Xyphyn/photon/ instead of what its supposed to. It's probably caused by value meant for parent being sent to children via those ...rest params in MdTree, but I couldn't follow that enough to find out how exactly.

Bonus: This bug lets me embed a video straight into the post

[![](https://upload.wikimedia.org/wikipedia/commons/4/44/Narrow-banded_dartwhite_%28Catasticta_flisa_postaurea%29_underside_on_Mimosa_pudica.jpg)](https://www.youtube.com/watch?v=dQw4w9WgXcQ)

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

TLDR: after/if this is finished, Photon will support no-javascript usage a lot better with authentication and settings respected. It'll be more suitable as a default interface for Lemmy instances.

Photon currently is a client-side only app, with optional guest SSR. This works great as a web app, but not for SEO. While you can enable SSR for SEO, it is not authenticated and will lead to a flash of content from a guest user instead of your profile--making things clunky for actual users.

this pr aims to do the following:

  • Rewrite app-side data to use a unified userHost object that can be filled with either data from a cookie, or localStorage.
  • this will allow for a hybrid mode, where you can either use server-side user data or client-side user data.
  • userHost data is stored in a JSON state, but can be loaded into reactive classes for the client/rendering.
  • Instead of using global state in the form of profile or settings objects, use Svelte's getContext and setContext to access this data.
  • Maintain a near-identical user experience for client-side instances, such as at phtn.app.

This will be relatively difficult, as I'll have to rewrite every instance of those globals being used, and I'll have to update all API calls to go through the server.

16
1
Photon v2.2.0 (lemdro.id)
submitted 4 months ago* (last edited 4 months ago) by Xylight@lemdro.id to c/photon@lemdro.id
 
 

It is recommended to install this update as soon as possible, it contains important security fixes.

What's Changed

  • feat: add piefed polls and events
    • only supported on piefed v1.4.0 which isn't out yet
  • feat: add piefed user notes
    • ditto
  • feat: auto-detect server software type in login form
  • impr: optimize theme css handling, decrease stylesheet size
  • design: revolutionize modal animations by making them zoom out instead of zoom in
  • feat: add a share target to the PWA
    • you can share a link with the app. it won't start a discussion with you unfortunately, instead it'll automatically convert the link to a photon compatible link (so you can open lemmy posts in the app)
  • misc: enable sourcemaps in production for Transparency™
    • no security risk. in fact it improves security because you can see if the source code matches the actual photon source
  • performance: optimize the virtualizer resizeobserver
  • design: use EntityHeaders for instance and community cards
  • design: make toasts look anywhere between 0% and 200% better
  • design: improve the comment context UI, showing a +x more button and an all comments button
  • fix: loading logo not appearing on firefox
  • fix: separate password lengths on piefed and lemmy
  • fix: make PostListShell parameters reactive to fix stubborn sorting
  • impr: various behind-the-scenes improvements in codebase
  • misc: make postbody collapse/expand button sticky so you dont have to scroll toe the bottom
  • fix: moderation report id collisions

Full Changelog: https://github.com/Xyphyn/photon/compare/v2.1.1...v2.2.0

17
 
 

Since yesterday, scrolling is broken for me on Photon Web. The posts are jumping up and down so I lose what I was just reading, new posts are often not loaded and when they finally are, they jump a couple of posts down so I have to go back up to find where I was. Sorry, can't explain it any better. It does not happen on Lemmy.ml or other Lemmy web apps. Any idea what's going on?

18
19
1
submitted 5 months ago* (last edited 5 months ago) by gwl@lemmy.blahaj.zone to c/photon@lemdro.id
20
 
 

Anyone having the same issue?

21
1
Photon v2.1.1 (lemdro.id)
submitted 5 months ago* (last edited 5 months ago) by Xylight@lemdro.id to c/photon@lemdro.id
 
 

What's Changed

  • design: make media embeds not look like garbage
  • design: make error containers not look awful
  • design: make big community cards not look awful (and make them fully clickable)
  • fix: photon accidentally took inspiration from every article site ever and would autoplay videos from posts when you navigated. this was fixed
  • fix: a poor, alone button was in the command palette. i joined it with the other ones so that you can actually navigate with arrow keys and it looks better
    • it also got a friend, an option to search communities.
  • fix: i made a workaround for a svelte bug (i think). somehow, it would render an {#if} branch even if the condition was false, specifically if you had a dynamic component anywhere. this caused post feeds to have stale data when switching accounts.
  • fix: automatically strip leading https:// from the login prompt, for people who interpret "server domain" as the full fwicking url
  • fix: CommentItem had a shadow when it shouldn't've (that's a word?)
  • fix: when you went to edit your post, it would crash. i fixed

Full Changelog: https://github.com/Xyphyn/photon/compare/v2.1.0...v2.1.1

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

What's Changed

  • feat: add piefed support
    • you can log into your Piefed account and browse all available features in the API
    • some piefed exclusive features are available too, like user/post flairs, feeds, and topics.
  • perf: optimize code bundle size -- initial bundle from 780 KB -> 620 KB
    • cool, tf does that mean
      • ok bub this basically means that theres less code loaded initially so stuff loads faster.
    • I rewrote some bad libraries that were bloating up the javascript
    • yes im embarassed the bundle is this high. im getting it lower every update i swear
    • at least its still smaller than lemmy-ui
    • in addition i restructured the entire file tree of the app, and wrote nearly 3000 import statements manually because i have a human soul and i lowk felt filled with determination
  • impr: rewrite feed handling, cache more things
    • post feeds, post pages, communities, feed feeds, topic fe
    • wait a second, feed feeds?? this naming is getting out of hand.
    • ok, in piefed there's "feeds". that's pretty cool. but now the "main feed" can either be the main feed or the main feed.
      • what?
  • impr: use native css for more things
    • this is partially because i am embarassed that i use tailwind
    • i am migrating common components to use vanilla css but with some advantages of tailwind
    • like i can use a compile-time design system and it has nice @variant things
    • this also makes the DOM tree smaller so theres probably some benefit elsewhere...maybe
  • impr: automatically mark inbox items as read when you click jump
  • design: make the modlog not look like absolute buns
    • it actually fits on one screen now and looks nicer. you can now observe the insanity of Lemmy's moderation with more comfort.
  • design: make the mobile navbar not look like absolute buns
    • i made the tap targets bigger too. next update i will make them cover the whole screen
  • design: make the accounts page not look like absolute buns
  • impr: i made the things that should be radio groups actually be radio groups. no problem
  • impr: expandables and comments now use <label> so that it uses browser native html
  • fix: admin detection is better. lemmy removed a property i used constantly for some reason. i fixed that though
  • impr: this one makes me mad. for some reason, native CSS transitions absolutely ruin font rendering (on firefox at least). so i removed some animations or replaced them with svelte ones (js ew)
  • impr: i preload a lot more things on hover/tap now. things will be like 100ms faster.
    • call me john locke in the way i be optimizing ts
  • misc: the term "instance" has been replaced with "server". let's be real, talking about instances makes no sense

Full Changelog: https://github.com/Xyphyn/photon/compare/v2.0.2...v2.1.0

Try now on Photon™©️ (phtn.app) today! 🚀

23
 
 

cross-posted from: https://lemmy.dbzer0.com/post/55547080

I’ve just found out that some Lemmy web interfaces let you sign in with multiple accounts and switch between them easily. Is there any client that can show notifications from all accounts at the same time, so I don’t need to switch back and forth?

I’ve checked out Voyager, Photon, Alexandrite, and Tesseract. They all seem quite similar to me. Which one would you recommend?

24
 
 

I tend to be quite opinionated on design, but I'd like to hear any issues you have regarding:

  • any pages that look bad?
  • any components that can be improved?
  • other ui elements?
25
 
 
view more: next ›