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

Add contribution guidelines #4591

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

SamantazFox
Copy link
Member

As this was requested multiples times, here is a CONTRIBUTING.md file to guide new contributors.

@SamantazFox SamantazFox requested a review from a team as a code owner April 21, 2024 16:08
@SamantazFox SamantazFox requested review from unixfox and removed request for a team April 21, 2024 16:08
@SamantazFox SamantazFox marked this pull request as draft April 21, 2024 16:12
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
We use the [Github issue tracker](https://github.com/iv-org/invidious/issues) to track and manage
bug reports, feature requests and improvements.

**Note: Before opening any kind of issue, make sure to search on the tracker
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would even add something along the lines of "If you spot a duplicate issue, feel free to point it out"
This can help with reducing duplicates, where users who create duplicates can close them when they are made aware of the original issue

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
CONTRIBUTING.md Outdated Show resolved Hide resolved



## Testing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is worth mentioning the labeling system. For example if I'm in for a round of testing, I can go to PRs, filter by need-testing and have at it. Perhaps as a contributor can comment something like "I'm testing this using this scenario..." so you know which PRs are in testing

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, thanks :)

Copy link
Member

@TheFrenchGhosty TheFrenchGhosty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+ do a pass with a spellchecker, I might not have caught everything by "hand".

opened (and/or closed).**

In order for everyone to be able to understand eachother, all exchanges are done in English.
You can obviously use a translator if needed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can obviously use a translator if needed.
You can obviously use a translator if needed, though it is strongly encouraged that you speak a bit of English, since nuance will get lost in translation..

## Issues

We use the [Github issue tracker](https://github.com/iv-org/invidious/issues) to track and manage
bug reports, feature requests and improvements.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bug reports, feature requests and improvements.
bug reports, feature requests and improvements.
Users who (understandably) do not wish to use GitHub can [contact us](https://invidious.io/contact/) saying that they want us to open an issue for them (if you can write something we can directly paste in a GitHub issue, it would be perfect).

It's something I always did.

Comment on lines +51 to +57
Before opening your issue, **make sure to test a few other instances**, just to check that the
problem you're facing is not temporary (E.g an overloaded instance, a network outage, etc.) or
caused by configuration error on your side.

If a bug report already exists for your problem, you can add a comment with more details, but make
sure that it's useful and adds value to the discussion. If 20 people did that already, it might not
be relevant to post a new comment.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move this above "you should open a "bug report"

CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
Once you've filled the form with your instance's informations, your instance will be added to our
uptime monitor. From there, a probatory period of 30 days will start, to make sure that you can
keep your instance online and up to date. Finally, your instance will be added to the list. We'll
ask you to join our Matrix room, so that we can inform you of important updates and exchange with
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ask you to join our Matrix room, so that we can inform you of important updates and exchange with
ask you to join our Matrix room, so that we can inform you of important updates, warn you in advance of security issues and exchange with

Comment on lines +141 to +142
wget "https://github.com/iv-org/invidious/pull/4439.diff"
git apply 4439.diff
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can be done in another way by passing the URL directly to git apply (not sure of the syntax though)

Edit: found it in my notes:

git apply <(curl https://patch-diff.githubusercontent.com/raw/iv-org/invidious/pull/1403.patch)

using patch-diff is better by the way, pull/XXX.diff is often outdated.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The short URL (github.com) just 301 redirects to the long one, so it's the same, except the short one is easier to remember and type.

"Patch" includes each commit separately, with message info and other overhead, where as "Diff" is the entire code change without commit information. It's pretty much the same in the end, git apply doesn't really care.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The thing is that at one point pull/XX.diff was outdated but patch-diff wasn't, it's maybe solved but patch-diff was always correctly updated... so it seems safer to recommend its use.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively,

git fetch upstream pull/4591/head:branchname
git checkout branchname

Comment on lines +146 to +147
If you have prior knowledge of Invidious, that's great, but otherwise feel free to get in touch
with us on Matrix or IRC. We'll do our best to give you a better understanding of the project.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"otherwise"?

No, they should join anyway.

CONTRIBUTING.md Outdated
Code contributions are handled through
[Github's Pull Requests (PRs)](https://github.com/iv-org/invidious/pulls).

Invidious' backend is developped in Crystal, a compiled language inspired from Ruby. The frontend
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Invidious' backend is developped in Crystal, a compiled language inspired from Ruby. The frontend
Invidious' backend is developped in [Crystal](https://crystal-lang.org/), a compiled language inspired by Ruby. The frontend

Invidious' backend is developped in Crystal, a compiled language inspired from Ruby. The frontend
is developped using Crystal's own templating engine (ECR) with some vanilla JS and CSS.

Invidious follows more or less closely the [Crystal coding convention]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Badly worded

Co-authored-by: TheFrenchGhosty <47571719+TheFrenchGhosty@users.noreply.github.com>
Co-authored-by: Brahim Hadriche <brahim.hadriche@gmail.com>
@@ -1 +0,0 @@
https://hosted.weblate.org/projects/invidious/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the TRANSLATION file not necessary for Weblate or Github?

**Make sure to redact secrets like your DB password and HMAC key first!!**


**Note: Security-related issues should be reported by e-mail at
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is fine for now but in the future we should probably be pointing this to a proper security policy at SECURITY.md

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.

None yet

5 participants