<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-11-04T01:23:24Z</updated>
  <generator>https://nostr.now</generator>

  <title>Nostr notes by Xylight‮</title>
  <author>
    <name>Xylight‮</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.now/npub19nnnxz96v3jztht5nlc54kwf5hr8qpajv78xjq40elrjd7n5hr9s6va8p8.rss" />
  <link href="https://nostr.now/npub19nnnxz96v3jztht5nlc54kwf5hr8qpajv78xjq40elrjd7n5hr9s6va8p8" />
  <id>https://nostr.now/npub19nnnxz96v3jztht5nlc54kwf5hr8qpajv78xjq40elrjd7n5hr9s6va8p8</id>
  <icon>https://sh.itjust.works/pictrs/image/e2bc195a-a14e-4cf1-80de-2e6c9986f912.jpeg</icon>
  <logo>https://sh.itjust.works/pictrs/image/e2bc195a-a14e-4cf1-80de-2e6c9986f912.jpeg</logo>




  <entry>
    <id>https://nostr.now/nevent1qqsgve2l2j6tjq3vmpsfhzxq66zv7gvug2ggx4xquccq6za8gtk826qzyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvkxz25c4</id>
    
      <title type="html">Still going! I&amp;#39;ve been exploring other projects recently but ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgve2l2j6tjq3vmpsfhzxq66zv7gvug2ggx4xquccq6za8gtk826qzyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvkxz25c4" />
    <content type="html">
      Still going!&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve been exploring other projects recently but I still enjoy maintaining and improving Photon.&lt;br/&gt;&lt;br/&gt;### Lemmy v1&lt;br/&gt;&lt;br/&gt;Support for Lemmy v1 (API v4) is complete as for all currently existing functions. I&amp;#39;ve finished a few of the new Lemmy features (post tags, multi communities) but still have some others to add.&lt;br/&gt;&lt;br/&gt;This update also comes with a lot of technical improvements and UX improvements, and should fix a few long standing issues. I&amp;#39;m quite excited to merge it.&lt;br/&gt;&lt;br/&gt;The way I implemented this update was to rebase the entire client on the API v4 schemas and structures. While this was great for my overall code quality, and helps me future proof this client, it means I now have to write a compatibility adapter to support API v3. To make things worse, I have to rewrite the entire Piefed adapter (unless I do some cursed setup like Piefed adapter -&amp;gt; v3 adapter -&amp;gt; v4/base).&lt;br/&gt;&lt;br/&gt;### Android app&lt;br/&gt;&lt;br/&gt;You can now install an APK for Photon! It has a few minor issues but should be pretty usable, and it has edge-to-edge support unlike the PWA. You can get it from &lt;a href=&#34;https://github.com/xyphyn/photon/releases&#34;&gt;https://github.com/xyphyn/photon/releases&lt;/a&gt;, going to the latest one, and downloading `app-release.apk`. You can paste the GitHub link into obtainium, too.&lt;br/&gt;&lt;br/&gt;### Future&lt;br/&gt;&lt;br/&gt;I have a lot of UX improvements to make, but I&amp;#39;m waiting until after Lemmy V1 releases to make them (I don&amp;#39;t want to bloat the PR too much). I want to make things more &amp;#34;reliable&amp;#34;, by fixing the way pages are cached, keeping scrolling states intact, adding &amp;#34;drafts&amp;#34; everywhere in case you accidentally delete things, and overall keeping everything in sync. Some changes in the API v4 PR provide the first step to achieving this.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m planning to make a &amp;#34;demo&amp;#34; version of Photon that has a heavily curated default feed (not for standard use! phtn.app will remain untouched) so that I can show it in my resume or something.&lt;br/&gt;&lt;br/&gt;### Closing&lt;br/&gt;&lt;br/&gt;Thanks to everyone who uses this app! It was an important pathway to me becoming a better web developer (as much as I dislike that title). I&amp;#39;m rather surprised how many Lemmy servers host it now, and even strange obscure non-fediverse websites using it inexplicably. (Related to recent events, did you know Tesseract began as a fork of Photon?)&lt;br/&gt;&lt;br/&gt;*if you&amp;#39;d like to donate to support my work, you can do so [here.](&lt;a href=&#34;https://buymeacoffee.com/xylight&#34;&gt;https://buymeacoffee.com/xylight&lt;/a&gt;)*
    </content>
    <updated>2026-07-27T05:34:02Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs087ch07d9d2wrcpa9m0audqhktljlh6cw0mqjwk66qgy9mhsgv4szyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvk8h9fwq</id>
    
      <title type="html">Curious on the usage statistics. Should I make a full survey ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs087ch07d9d2wrcpa9m0audqhktljlh6cw0mqjwk66qgy9mhsgv4szyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvk8h9fwq" />
    <content type="html">
      Curious on the usage statistics.&lt;br/&gt;&lt;br/&gt;Should I make a full survey asking about granularity so that app devs can see what to focus on?
    </content>
    <updated>2025-11-28T22:20:46Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs89ezvx6qdpt0gsyd60n64uq2zc5uq3yzvjrrhrwhpt3gm0y2xwkqzyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvk2njgdt</id>
    
      <title type="html">I generally try to make photon depend as little as possible on ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs89ezvx6qdpt0gsyd60n64uq2zc5uq3yzvjrrhrwhpt3gm0y2xwkqzyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvk2njgdt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdyh3r2pge2uf24zxxm7d5t7cwz78gfkvn02qxtc03l503j5kx47smcdxg2&#39;&gt;nevent1q…dxg2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I generally try to make photon depend as little as possible on external APIs, especially specific ones.&lt;br/&gt;&lt;br/&gt;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 &amp;#34;plugin&amp;#34; system. I could add a threativore/fediseer plugin that you could specify configuration to.&lt;br/&gt;&lt;br/&gt;I probably wouldn&amp;#39;t add it on my phtn.app, but I can add &amp;#34;plugins&amp;#34; so that you could use it on lemmy.dbzer0.com.
    </content>
    <updated>2025-07-16T18:34:47Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsr5lnuyedzvutj6lwawxxe2skz4cwcwumw3pq7lqpun34f60waw8gzyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvkgg34uf</id>
    
      <title type="html">This is a very big release since v1.31.4. If you&amp;#39;ve used ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsr5lnuyedzvutj6lwawxxe2skz4cwcwumw3pq7lqpun34f60waw8gzyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvkgg34uf" />
    <content type="html">
      This is a very big release since v1.31.4. If you&amp;#39;ve used phtn.app, you won&amp;#39;t notice a difference, since that runs on the latest commit.&lt;br/&gt;&lt;br/&gt;### TL;DR&lt;br/&gt;- Photon has been completely rewritten to use Svelte 5&lt;br/&gt;- This brings significant performance improvements&lt;br/&gt;- The UX has been changed to fit Photon&amp;#39;s philosophy more closely&lt;br/&gt;- Many issues have been resolved and bugs fixed&lt;br/&gt;- 60% of changes are under the hood, but there&amp;#39;s many visible ones too&lt;br/&gt;&lt;br/&gt;# What you&amp;#39;ll notice&lt;br/&gt;## Snappier performance&lt;br/&gt;  - **Svelte 5 optimizes a lot of the reactive parts of the app**&lt;br/&gt;  - I&amp;#39;ve also spent a lot of time on a new virtualizer, which runs a lot faster&lt;br/&gt;## Design changes&lt;br/&gt;  - While the overall layout is relatively the same, I&amp;#39;ve reworked a lot of pages to fall more in line with my design philosophy.&lt;br/&gt;  - The design across (most) pages is much more consistent&lt;br/&gt;  - There&amp;#39;s a new default theme&lt;br/&gt;  - Compact mode is now the default (if you&amp;#39;ve used photon before, this will not affect your setting)&lt;br/&gt;  - Comment layout is slightly different and more intuitive&lt;br/&gt;  - Modals now create a backstack so you can press the back button on your browser&lt;br/&gt;&lt;br/&gt;## New features and options&lt;br/&gt;  - More moderation features&lt;br/&gt;    - Quickly view users&amp;#39;/submissions&amp;#39; moderation logs&lt;br/&gt;    - View the users&amp;#39; votes n a post&lt;br/&gt;    - **Grouped reports for many reports on the same post**&lt;br/&gt;      - you can resolve many at once&lt;br/&gt;  - Options for more granular control over how links work in posts&lt;br/&gt;  - Option to reverse the action row&lt;br/&gt;  - Option to use absolute timestamps&lt;br/&gt;  - lemmy language tagging support&lt;br/&gt;  - Command palette now has contextual navigation options&lt;br/&gt;  - Contextual warnings for certain actions (like missing languages in posts)&lt;br/&gt;  - Messages page has been overhauled with markdown, contextual actions, etc&lt;br/&gt;  - Better view and options for modlog page&lt;br/&gt;  - Donation dialog as Lemmy requested&lt;br/&gt;&lt;br/&gt;## Optimizations&lt;br/&gt;- Uses CSS animations more often which are faster&lt;br/&gt;- Uses svelte context API to reduce prop drilling&lt;br/&gt;- Navbar uses CSS rather than JS for positioning&lt;br/&gt;- Uses optimized svelte $state rather than stores&lt;br/&gt;&lt;br/&gt;## Languages&lt;br/&gt;Thanks to the community making translations on the [Weblate](&lt;a href=&#34;https://weblate.xylight.dev/&#34;&gt;https://weblate.xylight.dev/&lt;/a&gt;), Photon has support for **18 languages!**&lt;br/&gt;- **English** (100%)&lt;br/&gt;- **Hebrew** (58%)&lt;br/&gt;- **Arabic** (33%) (fxomt)&lt;br/&gt;- **Bulgarian** (72%) (salif)&lt;br/&gt;- **Chinese (Simplified)** (91%) (qiancsf, CDN, binary3141)&lt;br/&gt;- **Chinese (Traditional)** (21%) (binary3141)&lt;br/&gt;- **Dutch** (81%) (qaz)&lt;br/&gt;- **Estonian** (24%) (pewgar)&lt;br/&gt;- **Finnish** (94%) (sevon)&lt;br/&gt;- **French** (87%) (Blisterexe)&lt;br/&gt;- **German** (64%) (poVoq, Tywele)&lt;br/&gt;- **Hungarian** (55%) (myedition8)&lt;br/&gt;- **Japanese** (84%) (Rentlar)&lt;br/&gt;- **Polish** (83%) (gapetto)&lt;br/&gt;- **Portuguese** (78%) (tmpod)&lt;br/&gt;- **Russian** (83%) (WerySkok, mudkip)&lt;br/&gt;- **Spanish** (81%) (acidrums4)&lt;br/&gt;- **Turkish** (91%) (ikanat)&lt;br/&gt;&lt;br/&gt;## In the future &lt;br/&gt;&lt;br/&gt;- Piefed support is targeting v2.2.0&lt;br/&gt;  - With the way it is being written, Mastodon support may as well come sometime around v3.0.0&lt;br/&gt;&lt;br/&gt;There&amp;#39;s a lot more in this release, as well as more to come. I&amp;#39;m trying to make Photon closer to its design philosophy, which can be summarized as:&lt;br/&gt;&lt;br/&gt;&amp;gt; It should not take more than 3 seconds to identify an action you wish to perform within a given container or page.&lt;br/&gt;&lt;br/&gt;This covers a lot of reasons why I design stuff the way I do, for example, you&amp;#39;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.&lt;br/&gt;&lt;br/&gt;I hope you enjoy this release!&lt;br/&gt;&lt;br/&gt;**Full Changelog**: &lt;a href=&#34;https://github.com/Xyphyn/photon/compare/v1.31.4...v2.0.0&#34;&gt;https://github.com/Xyphyn/photon/compare/v1.31.4...v2.0.0&lt;/a&gt;
    </content>
    <updated>2025-07-13T23:34:04Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2gvycgpva24elggt33tl55evecagwkkhtzm0t3rn8kf2g88xturczyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvknjurpn</id>
    
      <title type="html">I really want to rewrite my API code to make it server agnostic, ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2gvycgpva24elggt33tl55evecagwkkhtzm0t3rn8kf2g88xturczyqkwwvcghfjxgfwawj0lzjkeexjuvuq8kfncu6gz4l8uwfh6wjuvknjurpn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg0h6guxsg5tgespvj78erajumg4x2u9d2xx6ducsktzhffae6swsutkh4f&#39;&gt;nevent1q…kh4f&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I really want to rewrite my API code to make it server agnostic, so I can support many fediverse platforms at once. If I add Piefed support the quick way, there&amp;#39;ll basically be a bunch of checks saying &amp;#34;if server = Piefed, hide this button&amp;#34;.&lt;br/&gt;&lt;br/&gt;I could do it the quick and dirty way right now if that&amp;#39;s what people want.
    </content>
    <updated>2025-06-14T22:14:43Z</updated>
  </entry>

</feed>