You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The JetStream Lua script will be migrated from its current repository into this repository. Jacob, CJ, and I just got off a call discussing how we thing it should work. This issue is an overview of how the migration will work and other things we decided.
JetStream.lua: the current version of the JetStream Lua file located in the external repository
jet_stream.lua: the new version of the JetStream Lua file that will be located in this repository
The problem
There are several issues we're trying to solve with this migration:
The JetStream.lua file is getting really large (almost 11,000 lines of code), making it unmaintainable
Many scripts / functions are duplicated between the JetStream.lua and this repository
For many aspects of developer experience (e.g., a shared function library, configuration, etc.), the JetStream.lua needs to keep reinventing the wheel
Many features in our shared library are more robust than those found in the JetStream.lua (e.g., SMuFL font detection)
The JetStream has many functions this repo lacks, and vice versa
In short, by doing this migration, it will improve the quality and maintainability of both this repo and the JetStream.
The migration
The process
Resolve the outstanding PRs and edits awaiting merge in the current JetStream repository
Copy the JetStream.lua file as is from that repository to this one (no code review will be performed as explained later)
Replace functions in the JetStream.lua with those from our shared library
Abstract functions from the JetStream.lua that can be used elsewhere into our shared library
Abstract scripts from this repository that can be used in the JetStream.lua into their own shared library functions
Create standalone scripts from the abstracted JetStream.lua functions
Steps 3–6 won't be entirely linear, but that is roughly the priority. Note, the JetStream AutoHotKey and Keyboard Maestro macros will remain in its current repository. Only the JetStream.lua will be migrated over.
Code review
Initial PR
For the first PR, the JetStream.lua will be copy-pasted from its current repo as is. No code review will be performed. This is because that file would require hundreds of changes to meet the code style standards in this repository. To expedite the migration, we will forego code review in this one instance. Instead, each subsequent PR will be reviewed leading to a gradual improvement of the code.
Codeowners
The JetStream project is more than just a Lua script. It's a collection of Lua scripts, Keyboard Maestro / AutoHotKey macros, and StreamDeck profiles. Each of these need to stay in lock-step with one another.
As such, the jet_stream.lua file will be owned by @CJGarciaMusic and @jwink75. One of them must approve every change to the jet_stream.lua file. This ensures that there won't be any accidental changes to things like the JetStream codes. We will enforce this using GitHub's code owners feature.
It also means that only one of them needs to review any new changes to the jet_stream.lua file. Of course, others are still encouraged to look over PRs editing jet_stream.lua.
This will not apply to any edits to shared library functions jet_stream.lua may depend upon. Those edits will go through the normal code review process.
Distribution
The new jet_stream.lua file will be available to download from the website. However, their installer will be the recommended way to install this script.
I may have missed something from our call. CJ and Jacob, feel free to add a comment with more detail.
TL;DR;
The JetStream Lua script will be migrated from its current repository into this repository. Jacob, CJ, and I just got off a call discussing how we thing it should work. This issue is an overview of how the migration will work and other things we decided.
Terminology
The problem
There are several issues we're trying to solve with this migration:
In short, by doing this migration, it will improve the quality and maintainability of both this repo and the JetStream.
The migration
The process
Steps 3–6 won't be entirely linear, but that is roughly the priority. Note, the JetStream AutoHotKey and Keyboard Maestro macros will remain in its current repository. Only the JetStream.lua will be migrated over.
Code review
Initial PR
For the first PR, the JetStream.lua will be copy-pasted from its current repo as is. No code review will be performed. This is because that file would require hundreds of changes to meet the code style standards in this repository. To expedite the migration, we will forego code review in this one instance. Instead, each subsequent PR will be reviewed leading to a gradual improvement of the code.
Codeowners
The JetStream project is more than just a Lua script. It's a collection of Lua scripts, Keyboard Maestro / AutoHotKey macros, and StreamDeck profiles. Each of these need to stay in lock-step with one another.
As such, the jet_stream.lua file will be owned by @CJGarciaMusic and @jwink75. One of them must approve every change to the jet_stream.lua file. This ensures that there won't be any accidental changes to things like the JetStream codes. We will enforce this using GitHub's code owners feature.
It also means that only one of them needs to review any new changes to the jet_stream.lua file. Of course, others are still encouraged to look over PRs editing jet_stream.lua.
This will not apply to any edits to shared library functions
jet_stream.lua
may depend upon. Those edits will go through the normal code review process.Distribution
The new jet_stream.lua file will be available to download from the website. However, their installer will be the recommended way to install this script.
I may have missed something from our call. CJ and Jacob, feel free to add a comment with more detail.
cc @rpatters1 @CJGarciaMusic @jwink75 @cv-on-hub @ThistleSifter
The text was updated successfully, but these errors were encountered: