berty/yolo

[META] Ideas 💡

moul opened this issue · 3 comments

moul commented

Front Improvements

  • Open running builds by default (#308)
  • see the branch that triggered the build
  • support nice URLs instead of complex query strings
  • Add download statistics to build info on front (#305)
  • Cadd a widget that shows running builds (#144, #288)
  • Add merge request sharable link icon functionality to buildcards with MR (#254)
  • Use alternative logo/logo position for small screens (#284)
  • Header in logo resizes bizarrely on small-medium screen (#250)
  • Change link icon --> copy icon (UI) (#259)
  • Make UI button/icon alignment and sizing consistent (#257)
  • Add UI branch filter functionality (#253)
  • Add more views (TV Mode, Dashboard, ...) (#26)
  • Scroll to feed/feed start on feed display toggle

Back Improvements

  • TestFlight integration
  • Android store integration
  • F-droid store integration
  • add direct url to know if there is a new version and return a json + another one to download “latest version” and append them with hash in the generated plist before resigning the binary
  • add a way to force the refresh of the API (caching issue)
  • direct url to dl last artifact -> Home Screen button and in-app update
  • Share apple shortcut
  • support uploading an artifact
  • put/get on s3 instead of local disk to become stateless
  • bigger pagination on build list
  • check if possible to match PRs without match
  • sort by commit date (#458)
  • add a call that can be generated by yolo to give direct download link to "more recent version", and add this link in the generated plist
  • support auto domain expanding(#454)
  • add a .github/yolo.yml config file that configures yolo for this repo, i.e., enabled workflows, etc
  • Define a format to attach custom metadata with releases (#35)
  • github driver: compute artifact duration
  • pagination
  • check if missing a beforeUpdate gorm hook or if there is another reason why the yoloid sometimes disappear
  • support filter: include_wip (#299)
  • support filter: include_closed (#299)
  • support filter: artifact_driver=... (#126)
  • support filter: branch_name=... (#126)
  • support filter: artifact_state=... (#126)
  • support filter: job_name= (#126)
  • support filter: merged VS PR VS other (#126)
  • support filter: job_id= (#126)
  • support input search field instead of checkboxes (#126)
  • support <none> or <other> filter value for filtering booleans (#126)
  • support filter: with_no_mergerequest=true (#399)
  • reprocess existing entities (#298)
  • add a mode that paginate from the creation of the repo
  • store/distribute artifacts with IPFS
  • resign .ipa
  • (re)sign .apk
  • add missing relationship during aggregation: build<->mergerequest on multiple drivers (#146)
  • add missing relationship during aggregation: has_project on multiple drivers (#146)
  • add missing relationship during aggregation: duration field (#146)
  • add missing relationship during aggregation: fetch github commits (#146)
  • add missing relationship during aggregation: fetch github releases (#146)
  • Add Travis driver (#14)
  • Return full URLs (with domain) from the API (#86)
  • webhook to trigger refresh (#89)
  • add a routine that periodically check that existing data in db is still valid (not 404/403) (#235)
  • add a mode that fetches all the build history and also backup all the artifacts locally (#234)
  • Use human-friendly values in query params (#185)
  • create a first "badge" generator (#148)
  • support .exe, .zip, .dmg, .pkg, docker images, etc (#147)
  • yolo can comment pull requests with direct install links (#135)
  • Validate query parameters in API (#115)
  • patch the .ipa, and .apk to add a yolo_update_url dynamically (#41)
  • add a mergerequest_list route or sort/group query param (#2 (comment))
  • add alternative .ipa configuration (various download buttons)
  • if icon cannot be extracted from the artifact, use the org/user image instead of yolo.png
  • consider using the event observer design pattern for aggregators
  • basic SEO and thumbnail sharing with light API that works without token
  • generate a ribbon overlay with beta/PR ID
  • Speed up signature (https://github.com/zhlynn/zsign#how-to-sign-quickly)
  • method to list what artifact should be GCed
  • use pinata/s3 to store artifacts for a long time
  • Investigate why the link is ugly here -> https://yolo.berty.io/?build_id=https://github.com/berty/berty/actions/runs/528752453 + berty/berty#3070

Code Quality

  • Split out messy global state manager (#306)
  • Move inline React-CSS color styles to (s)css module file (#256)
  • Use berty/berty similar coding style to define flags in the go main(#456)
  • Make sure docker build is only installing node production dependencies (#66)
  • Use CSS coherently throughout front (#68)
  • Stop using babel-node for web production build (#70)
  • Handle React component failures gracefully (#72)

Doc

  • Add demo.gif in the README.md (#350)
  • Add a section about "contributing to the front without running your own backend" -> can be moved in the CONTRIBUTING.md file instead (#149)

Testing

  • Create an example repo with different CIs set up (#8)

It would be nice to see the branch that triggered the build on the cards on the front page

Can we add limit and sort params to http requests? (If not already there?)

Add a mergerequest_list route (or sort/group query param)?

It could be for the API; since the whole feed is sorted by MR now in UI, a backend supporting this would eliminate some fragile data transforms in the front.

I guess an alternative is that this could just go in the URL bar on the front; at least it will clarify the organization for users (it's currently weird to ask limit=10 and get two visual blocks/cards, but with group_by=mergerequest it becomes clear).