-
-
Notifications
You must be signed in to change notification settings - Fork 551
Contributing
What about telling friends, or discussing here (or on reddit, twitter, quora, etc.) And please let us know if you make/made a blog-post or video about us.
We need concise explanations with .gifs /screenshots /videos. And content for Tooltips in the app. (And invisible Tags & alternative names of the features for search, multi-language)
You can help us to translate ImprovedTube. Please, check the wiki page.
You can help us by logging any bugs you find. (As a small team, prioritization is critical, so knowing which issues are impactful for many users or not can help us.)
- BTW, you can check an extension in incognito mode ( chrome://extensions
details
or chrome://extensions/?id=bnomihfieiccainjcjblhegjgglakjdd) ) - In some cases, we might compare the DOM YouTube gives you, by copying the whole
<html>
root element (includes all children), in the top left of Dev-Tools:
(FireFox:)- (There are 2-3 different versions of this depending if you open a new window or clicked a link on YouTube. While the bug might not happen in each of these moments.)
We are volunteers. ImprovedTube is made out of love for our users. Your happiness is the currency of our hearts. We dare to keep ImprovedTube open-source & free, despite it is still a lot of work, that won't stop while YouTube releases updates.
Welcome! Some inspiration Pinned issues, Roadmap, https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement & #1881, to do
- Bugs, ordered by activity
- Advanced: label:important & Pinned issues (meaningful).
- Feature Requests (especially: #Set-and-forget, #Plan, #Unique, #Should be crowdsourced, ... )
- More Issue lists/sorted queries (in readme.md#to-do#labels.
- Feature Requests (especially: #Set-and-forget, #Plan, #Unique, #Should be crowdsourced, ... )
- Advanced: label:important & Pinned issues (meaningful).
-
Add a UI element in the menu
-
To add a name edit our English locale.py (at least)(other languages setting will check the English one at need).
-
Our functions usually start checking ImprovedTube.storage to check if a corresponding feature or toggle is enabled. (ImprovedTube.storage is loaded at the start of our JS)
- We put all enabled features in every DOM to (as attributes of the element this works before the page even loaded). However this is just an option and CSS can mostly / primarily depend on JS injections, since Browsers might process CSS rules from right to left.)
-
We react to user changes of settings immediately, so that we can call the feature before the next page-reload (or possibly an introductory animation if you will (or "farewell-animation too when removing something.))
-
We have some global variables & regex
-
We observe the DOM for changes to apply features as soon as certain elements appear
-
We have our extension popup's GUI & re-purposable functions in our little library Satus.js
-
if your edit requires a difference in one browser: Add to our build.py.
Updating the name or value of a feature of option in our menu?: Import people's old storage!
-
Testing Browser-Extension changes with 1 click: Extension Reloader & enable the option to reload the current tab too & set a nice shortcut like
alt
+E
chrome://extensions/shortcuts- Alternatively fully automatic: https://github.com/rubenspgcavalcante/webpack-extension-reloader
-
Build script (old)
-
- store APIs / github actions/workflows + auto testing #842
-
-
Depending what feature you work on : https://github.com/kdzwinel/DOMListenerExtension, https://chrome.google.com/webstore/detail/visual-css-editor/cibffnhhlfippmhdmdkcfecncoaegdkh, https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg
-
Q: "Youtube runs up to 3 GUI versions at once, depending what account i use..."
-
A: "They might only test changes could be permanent."
- Remedy: we always have the option to sensitively offer GUI on top of Youtube, instead of fiddling to integrate our's: CSS position:fixed or sticky)
-
A: "They might only test changes could be permanent."
-
The important CSS IDs (& pathes) _should_ stay the same in all current & future YouTube.
Yet, we _could_ predict how Youtube might be renaming some still... An Extension could even search for new names if old ones disappear. More over, regEx can be cheap & even CSS allows some wildcards / 'regular expressions' *= ^= $=
- An editor to compare 3 Versions: Download (Alternatives@Wikipedia)
(Some YouTube versions: archive.org/2021/youtube, 2020, 2019)
- names over time, considering amounts 1. view-source 2. DevTools (logged-in)
- An editor to compare 3 Versions: Download (Alternatives@Wikipedia)
year | 1. yt-
|
1. ytd-
|
2. yt-
|
2. ytd-
|
---|---|---|---|---|
May 2024 | 32 | 62 | 2387 (2468) | 3115 (3175) |
2024 | 32 | 63 | ||
2021 | 31 | 61 | ||
2020 | 24 | 58 | ||
2018 & 2019 | 700 | 0 | ||
2014 | 1400 | 0 | ||
2013 | 1 | 0 |
-
Pull Requests by command-line:
gh pr create --base master --title "my PR" --body "fixing..."
- Alternatively:
hub pull-request
acts as a wrapper forgit
) https://github.com/github/hub- (Or if you hate all Pull Requests, we might allow you to make commits after a few PRs)
- Alternatively:
-
Reading issues in ranked/structured/rewarding way: We can work on the top bugs, plans & wishes ordered by popularity
- For example: The bugs on top will be most important and/or half-solved
- also linked in our readme.md - "tidy" could be first in the ToDo-List, besides it is last in the ToDo list requiring permission and assumming new contributors reading it, while repeat-contributors tidy already. ) (You might also want to edit our Readme)
- For example: The bugs on top will be most important and/or half-solved