"Fossies" - the Fresh Open Source Software Archive

Member "jitsi-meet-7555/CONTRIBUTING.md" (28 Sep 2023, 5972 Bytes) of package /linux/misc/jitsi-meet-7555.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field.

A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.


How to contribute

We would love to have your help. Before you start working however, please read and follow this short guide.

Reporting Issues

Provide as much information as possible. Mention the version of Jitsi Meet, Jicofo and JVB you are using, and explain (as detailed as you can) how the problem can be reproduced.

Code contributions

Found a bug and know how to fix it? Great! Please read on.

Contributor License Agreement

While the Jitsi projects are released under the Apache License 2.0, the copyright holder and principal creator is 8x8. To ensure that we can continue making these projects available under an Open Source license, we need you to sign our Apache-based contributor license agreement as either a corporation or an individual. If you cannot accept the terms laid out in the agreement, unfortunately, we cannot accept your contribution.

Creating Pull Requests

Coding style

Comments

Duplication

Formatting

Indentation

Naming

Feature layout

When adding a new feature, this would be the usual layout.

react/features/sample/
├── actionTypes.ts
├── actions.js
├── components
│   ├── AnotherComponent.js
│   ├── OneComponent.js
│   └── index.js
├── middleware.js
└── reducer.js

The middleware must be imported in react/features/app/ specifically in middlewares.any.ts, middlewares.native.ts or middlewares.web.ts where appropriate. Likewise for the reducer.

An index.js file must not be provided for exporting actions, action types and component. Features / files requiring those must import them explicitly.

This has not always been the case and the entire codebase hasn't been migrated to this model but new features should follow this new layout.

When working on an old feature, adding the necessary changes to migrate to the new model is encouraged.

Avoiding bundle bloat

When adding a new feature it's possible that it triggers a build failure due to the increased bundle size. We have safeguards inplace to avoid bundles growing disproportionatelly. While there are legit reasons for increasing the limits, please analyze the bundle first to make sure no unintended dependencies have been included, causing the increase in size.

First, make a production build with bundle-analysis enabled:

npx webpack -p --analyze-bundle

Then open the interactive bundle analyzer tool:

npx webpack-bundle-analyzer build/app-stats.json