|
1 | 1 | # Skyshare 更新履歴 |
2 | 2 |
|
| 3 | +## 1.6.0 |
| 4 | + |
| 5 | +### Minor Changes |
| 6 | + |
| 7 | +- バックエンドの仕組みを抜本的に改修しました。 |
| 8 | + - FaaSを一本化しました。Cloudflare Workerの実行内容もFirebase Functionsに統合しました。 |
| 9 | + - APIをOpenAPIHonoを用いてリファクタしました。超見やすいです。 |
| 10 | + - Upstash Redis Clientを一般的なRedisクライアント(`redis/ioredis`)に置き換えました。 |
| 11 | + - Firebase Storageを一般的なオブジェクトストレージクライアント(`aws-sdk/client-s3`)に置き換えました。 |
| 12 | + - ローカルでの実行手順を強化しました。 |
| 13 | + - 追従してフロントエンドの一部を修正しました。 |
| 14 | +- オブジェクトストレージをGoogleCloudStorageからCloudflareR2に置き換えました。また、データベースを複数利用可能にしました。 |
| 15 | + - サービス課金額が大きく減少するであろうことを見込んでOGPの有効期限を90 → 365日に延長することにしました。やったね。 |
| 16 | + - ただし、容量の肥大化状況によっては1ユーザの投稿リミットを設ける等の対応は検討しています。一日一人100件超えとかしなければ大丈夫だとおもいます。 |
| 17 | +- バックエンドの改修に紐づき、一部の機能をオミットしました。 |
| 18 | + - 生成したOGPページ一覧の表示機能を削除しました。データベースにRedisを用いており、`scan`コマンドはデータベース上のデータ量に比例してリクエスト回数が増加し、課金額が上がるためです。 |
| 19 | +- <a href="https://bsky.app/profile/nekono.dev/post/3mb62zbwp4224">横長画像の投稿がBluesky公式クライアントでは余白が表示されてしまう問題</a>への対処ができませんでした... |
| 20 | + - 現在、公式クライアントでは従来の`com.atproto.repo.createRecord`ではなく`com.atproto.repo.applyWrites`というAPIを用いているようです。 |
| 21 | + - `app.bsky.embed.images#view`の`aspectRatio`が`createRecord`では付与されず、これが原因のようでした。 |
| 22 | +``` |
| 23 | +"embed": { |
| 24 | + "$type": "app.bsky.embed.images#view", |
| 25 | + "images": [ |
| 26 | + { |
| 27 | + "thumb": "https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:quimkpbfh6mdasxs426v6ogy/bafkreib6rcvuywlkzemoq7d73evwfx32dd3rerwyzmdozxpibzz74xt3em@jpeg", |
| 28 | + "fullsize": "https://cdn.bsky.app/img/feed_fullsize/plain/did:plc:quimkpbfh6mdasxs426v6ogy/bafkreib6rcvuywlkzemoq7d73evwfx32dd3rerwyzmdozxpibzz74xt3em@jpeg", |
| 29 | + "alt": "", |
| 30 | + "aspectRatio": { |
| 31 | + "height": 1137, |
| 32 | + "width": 2000 |
| 33 | + } |
| 34 | + } |
| 35 | + ] |
| 36 | +}, |
| 37 | +``` |
| 38 | +- 上記への対応として、`com.atproto.repo.createRecord`に`aspectRatio`を付与しましたが、解消できませんでした。 |
| 39 | + - Skyshareは現在BlueskyAPIへの追従が非常に困難な状態になっており、フロントエンドについても抜本的改修が必要だと考えています。 |
| 40 | + |
3 | 41 | ## 1.5.6 |
4 | 42 |
|
5 | 43 | ### Patch Changes |
|
298 | 336 | - 今回のアップデートにて、投稿フォームのプレビュー画面にOGP画像を表示させるため、データの扱いを大幅に改修しました。これまで`Array<Files>: imageFiles`と定義していた変数は`MediaData`としてより広い役割を持つようになりました。`MediaData`型は`LinkCard`と`Images`、メディアが存在しない場合の`null`のユニオン型で、以下のように定義されています。 |
299 | 337 |
|
300 | 338 | ```ts |
301 | | -export type MediaData = LinkCard | Images | null; |
| 339 | +export type MediaData = LinkCard | Images | null |
302 | 340 | type LinkCard = { |
303 | | - type: "external"; |
| 341 | + type: "external" |
304 | 342 | images: Array<{ |
305 | | - blob: Blob | null; |
306 | | - }>; |
| 343 | + blob: Blob | null |
| 344 | + }> |
307 | 345 | meta: ogpMetaData & { |
308 | | - url: string; |
309 | | - }; |
310 | | -}; |
| 346 | + url: string |
| 347 | + } |
| 348 | +} |
311 | 349 | type Images = { |
312 | | - type: "images"; |
| 350 | + type: "images" |
313 | 351 | images: Array<{ |
314 | | - alt: string; |
315 | | - blob: Blob; |
316 | | - }>; |
317 | | -}; |
| 352 | + alt: string |
| 353 | + blob: Blob |
| 354 | + }> |
| 355 | +} |
318 | 356 | ``` |
319 | 357 |
|
320 | 358 | - これまで`Array<File>`型で定義していた変数は`Images.images.blob`に、`Blob`型として配置されています。これはプレビューの作成や実際の`createRecord`の際に`File`型である必要がないためです。 |
|
0 commit comments