A virtual certificate with text "Celebrating 10M users on Bluesky, #119,618, zetavg @zeta.vg, joined on Jun 12, 2023"
Bluesky now has over 10 million users, and I was #119,618!
A virtual certificate with text "Celebrating 10M users on Bluesky, #119,618, zetavg @zeta.vg, joined on Jun 12, 2023"
Bluesky now has over 10 million users, and I was #119,618!
🤟 🙋 🤟 🙋 👐 🙏 🤗
🩷 💚 💙 💛 🧡
Saw the Bluesky team is already very busy working on amazing features (it seems that commits and PRs are even made and opened on weekends). Should do my best not to increase their workload.
Thank you! It’s also impressive how swiftly they review, test, merge, and release contributions. I would recommend the Bluesky app to OSS enthusiasts as a widely-used RN app to contribute to.
Thanks for testing it out! Glad to make the Bluesky mobile app more appealing for Android users.
希望打破都市傳說到出一台 mini 版的旗艦型 iPhone 的程度 😭
我也想要 120hz 和微距鏡頭rrr
崩潰 🫠
A poster taped on a wall. The main text on the poster reads “BIRDS AREN’T REAL” in bold letters. Below this, it says “Wake up, 35c3!” and features a silhouette of a bird with the text “GOVERNMENT SURVEILLANCE DRONE” underneath it.
Glad you mentioned it! My ultimate goal is to bring the bird back 😈
(Decided 2 seconds ago)
Since Twitter isn’t open-sourced, I finally ended up here 🐦
So this may be a react-native-reanimated worklet function (when used as an onScroll event handler?) thing.
Test code: gist.github.com/zetavg/6f1d2...
const obj = { a: 1, b: 2, c: 3, d: 4, }; function fn() { return obj.a; } Run 1e6 times under React Native on Android (Hermes): 252.8965630531311ms
const obj = { a: 1, b: 2, c: 3, d: 4, }; const { a } = obj; function fn() { return a; } Run 1e6 times under React Native on Android (Hermes): 242.1379680633545ms
Well, I do expect this to have some perf difference (or not, due to some JS runtime optimization magic?)
But, yes, it shouldn't be that significant.
At least, it shouldn't cause a function running at 60fps to lag.
Did a quick search & couldn’t find any documentation or discussions on this... tip?
If anyone knows of someone talking about this somewhere, please let me know!
Took me some time to identify the cause of this issue.
It’s interesting how accessing a property of a tiny object (just 4 properties!) in a react-native-reanimated worklet function can noticeably impact performance.
The downside of having a highly customized theme is that it has to be maintained from time to time. Luckily, even without maintenance, this hasn't broken down within half a year.
發現了如何改善 Bluesky app 在 Android 上,時間軸的捲動會卡頓的問題。 youtu.be/ipZeTkb2mAk
可能算是 react-native-reanimated worklet function 的一個小地雷?
(App 時間軸的捲動流暢度跟 web app 版比、或是時間軸頁面的捲動和個人檔案頁面的捲動相比,滑順程度有明顯落差。)
(比較好的 Android 裝置可能感受不太出來,但中階或以下會隨著等級越低越到無法接受的程度。)
稍微看了一下,撇除 X API 的定價可能是無法忽略的開支,要獲得穩定的 API 供應也是堪憂呀⋯⋯畢竟他們有無預警封殺 3rd party client 的紀錄,而且這樣也擋了廣告的獲利。
雖然似乎還是有一些 3rd party app 活著,初步研究了一下他們是怎麼做到的 🤔
hackmd.io/@z/3rd-party...
做來自己用簡單,做完發 PR 難呀~
今非昔比 😅
(剛剛在看 code 試著拿一個自訂的 URL 當作是 tenor 上的 gif 丟進 gif selector UI 的 onSelect callback 看能不能變成那樣,但沒有成功 😛)
太陽花十週年紀念活動。
原本的 Google 翻譯用起來大概是這樣的感覺⋯⋯按下去等幾秒後再捲捲捲,幾乎要快五秒才總算看到翻譯。
media.giphy.com/media/v1.Y2l...
修改 Bluesky app,把貼文 translate 的功能改接到 iOS 系統內建翻譯。
好用多啦~幾乎按下去瞬間就能看到翻譯 🎉
media.giphy.com/media/v1.Y2l...
DM 我幾乎都只有轉貼文給別人的時候會用⋯⋯
我還期待早日能 PO 影片和 gif 🍿
不過這或許也要歸功於 iOS 在作業系統的層級就提供了相當多好用的 API 和 UI,例如 stack 和 modal navigation、ScrollView 與螢幕上鍵盤的互動處理、action sheet、context menu⋯⋯等,而 iPhone 上的系統,通常就只會是那幾個版本,於是大家就可以放心地直接使用這些系統提供的功能(像是幾乎完全沒看過它卡過的 iOS navigation),將它們包成 RN packing 變成人人都在用的 community standard。
目前我開發 RN 的感覺是,RN 無論如何比起 native app 都多了一個 JS 層的 element tree 要處理,應該無論如何效能或能耗都比純 native 差上一點。以及同樣的 app 在 Android 上的體驗相較於 iOS 會比較糟:撇除可能 RN 在 Android 上的實作有效能差異、或 UI thread 比較容易受到其他 thread 的影響而變得卡頓之外,RN 生態圈在 iOS 上有比較多 native component 的實作可能也是一個主要原因。
我的理解也是 RN 本身的限制(但並非無法解決,像 Discord 就順到不像 RN),Expo 倒像是讓 RN 開發起來比較順手的工具包 + 一堆常用的高品質 library。不過也有一個可能是包了很多 expo 或外部 lib 讓 app 變肥變慢。