Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

native classes and decorators #737

Open
wants to merge 34 commits into
base: master
Choose a base branch
from

Conversation

bastimeyer
Copy link
Member

This information and the whole PR is meant for myself, so I can write a checklist and stay motivated.
The goal is to modernize the entire code base and upgrade to the most recent Ember (octane) versions.

Everything pushed here is the continuation of the work started one and a half years ago, but still very much WIP. Lots of stuff has changed since then and rebasing the branch, solving merge conflicts and fixing deprecations is a lot of effort. Ideally, this should be split into upgrading Ember and fixing deprecations, and then rewriting everything, but fixing some deprecations is very tedious with the old syntax.

  1. this: native classes and decorators
  2. later: modernize templates
  3. later: tracked properties
  4. later: remove GlobalsResolver

Checklist

  • data/models
    • Auth, Versioncheck, Search, Window
    • Settings, ChannelSettings
    • Refactor CustomRESTAdapter
      The entire adapter stack needs to be reworked, as noted in the code itself. Ideally this should be done when upgrading to the Twitch helix API.
    • Twitch
    • Github
    • Stream
  • services
    NotificationService will need proper rewrite (PollingService + NotificationService)
  • ui/components
    • work
    • in
    • progress
  • ui/routes
    Haven't checked this in the rebase. The infinite-scroll mixin needs to be fixed.
  • new decorators
    • data related
    • hotkeys
    • comp-prop clobbering

TODO

  • Commit remaining stashed WIP changes
  • Fix deprecations
  • Fix bugs
  • Add/upgrade remaining/necessary tests

- upgrade to latest ember-decorators
- use native ember decorators polyfill (until 3.10)
- update ember modules API babel plugin
- add transform runtime babel plugin
- turn AdapterMixin into CustomRESTAdapter that extends from RESTAdapter
- make TwitchAdapter extend from that class
- make the adapter's urlFragments and headers objects static
- add custom decorators for property descriptors and urlFragments
- remove isStreamlinkMixin
- refactor SettingsChannelsRoute
also fix and add tests for DocumentationLinkComponent
also fix class names and hide modals from the QUnit test runner layout
@codecov
Copy link

codecov bot commented Aug 7, 2020

Codecov Report

Merging #737 into master will increase coverage by 0.19%.
The diff coverage is 61.40%.

@@            Coverage Diff             @@
##           master     #737      +/-   ##
==========================================
+ Coverage   88.37%   88.57%   +0.19%     
==========================================
  Files         456      489      +33     
  Lines       14979    15276     +297     
  Branches     1317     1350      +33     
==========================================
+ Hits        13238    13531     +293     
- Misses       1657     1662       +5     
+ Partials       84       83       -1     

@bastimeyer bastimeyer mentioned this pull request Jan 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant