alphawing
alphawing copied to clipboard
TestFlight-like application for YOU
## 起こっている現象 1. メーリスで permission を登録した後にそのメーリスに追加されたメンバーはトップページにその app が出てこない(`/app/***` にはアクセスできる) 2. メーリスで permission を登録した後にそのメーリスにメンバーを追加すると、メーリスの permission ID が変わる?(消そうとしても Not Found になる)
ref. https://github.com/kayac/alphawing/issues/56#issuecomment-107926385 service account の容量を使用した場合についても不要な bundle が容量を食ってしまうのは望ましくない。そこで、例えば以下のような仕組みを入れて bundle の世代管理を行う。 - 削除したくないビルドには永続化フラグを立てられるようにする - 永続化フラグが立っていないビルドは一定基準(ex. アップロードから1週間経過)で削除していく
Google Drive API から`403 rate limit exceeded` が帰ってきて https://github.com/kayac/alphawing/blob/master/app/controllers/alphawing.go#L276 でpanicになる場合がある。 exponential backoff https://developers.google.com/drive/web/handle-errors を頑張って実装する。
実際に運用してみていろいろ改善したいことが出てきているので、一旦洗い出す。 - Revel 依存 - Google Drive と Google Cloud Storage で異なるインターフェース などなど。 必要であればフルリプレイスするくらいの気概。
GoogleDriveにアップロードする直前にFileIdが空のBundleを追加してrevisionをあげていましたが、 以下の問題があります - Upload中にFileIdが空っぽのBundleが他のユーザに見えてしまう - GoogleDriveへのアップロードが失敗すると、FileIdが空のまま残ってしまう - Bundleを削除してしまうと同じrevisionが再利用されてしまう revisionを別テーブルに分離しbundleとは別で管理することにより、これらの問題を解消します。
ipa をあげたときも apk をあげたときも `install_url` に ipa ダウンロードページの URL `/bundle/***/download` が入るので、`platform_type` ごとに返す URL を分ける