Skip to content

Conversation

@blakekwehrle
Copy link
Contributor

@blakekwehrle blakekwehrle commented Oct 31, 2023

Description

Shows current item information from Old School Runescape's Grand Exchange. Items are cached for 7 days. There are about 4000 items.

gif4
gif2

Copilot

🤖 Generated by Copilot at 2790356

Summary

📄🎮📊

This pull request adds a new app for the Tidbyt device, called Runescape, which displays information about items from the Old School Runescape game. The app consists of a manifest file apps/runescape/manifest.yaml and a Starlark script apps/runescape/runescape.star that uses the Tidbyt API modules. The app fetches and caches item data from the Runescape API, and renders it using various layout widgets and base64 encoding.

Runescape app code
Shows items from Grand Exchange
Autumn of nostalgia

Walkthrough

  • Create and implement a new app for displaying Runescape items on the Tidbyt device (link, link)
    • Add a manifest file manifest.yaml with the app metadata and configuration (link)
    • Add a Starlark script runescape.star with the app logic and rendering (link)
      • Import modules from the Tidbyt API such as render, layout, random, and base64 (link)
      • Define constants and helper functions for the app settings, data processing, and caching (link)
      • Fetch and decode item data from the Runescape API using http and base64 modules (link)
      • Select a random item and page from the cached data using random module (link)
      • Render the item sprite, name, price, and trend icon using render module and layout widgets (link)

@tidbyt
Copy link

tidbyt bot commented Oct 31, 2023

⚠️ The automated review process is experimental and likely has bugs. Please bear with us as we iron out the kinks and enable you to ship changes at high velocity 🚀

Next Steps

Hello! Thank you so much for your change 🤜 🤛 . There are a few things you need to do:

  • Sign the CLA if you haven't already
  • Ensure your build is green! Any problem will display a proposed solution to try out
  • Get a review, either by Tidbyt Bot or by a Tidbyt engineer

Manual Review Required

Hang tight! A Tidbyt engineer will be by shortly to review your change. Here is what they will be looking for:

Test Details
App Dir All files are in a single app directory
🟡 Modules Usage of http.star requires review
Original Author The original author matches the PR author

Previews

apps/runescape/runescape.star:

@tidbyt-bot
Copy link

tidbyt-bot commented Oct 31, 2023

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@blakekwehrle
Copy link
Contributor Author

I have read the CLA Document and I hereby sign the CLA

@blakekwehrle
Copy link
Contributor Author

blakekwehrle commented Oct 31, 2023

image
currently app seems to take ~480-680 ms to load on average. Pushing additional commits/runs could technically make the pixlet check -r runescape pass but I figured it is best to ask. May have to find a way to tweak the get's in get_cachable_data() though I'm not exactly sure how. Really excited about my applet and would love any and all feedback. Thank you all : )

@blakekwehrle
Copy link
Contributor Author

Just a additional note on that occasionally I see pixlet check -r runescape take as long as a full second to render. I plan to do more and take a peek at the strava applet to see if that helps me crack this.

@matslina
Copy link
Contributor

matslina commented Nov 5, 2023

Hey! The problem is in the HTTP calls taking too long to complete. I think we'll have to nudge up the runtime limit a bit, as there are a few other very reasonable apps failing CI due to it.

@matslina matslina merged commit f4e6ce0 into tidbyt:main Nov 6, 2023
@blakekwehrle blakekwehrle deleted the runescapedisplay branch November 7, 2023 20:24
@tidbyt tidbyt locked as resolved and limited conversation to collaborators Nov 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants