Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.Once you are ready for a code review before merge, submit a Pull Request.In any case, please linkyour PR to the issues it solves by using the GitHub syntax: "fixes #issue_number".
You can find the plugin documentation here: <a href="https://livingston.frama.io/peertube-plugin-livechat/" target="_blank"> Peertube Plugin Livechat documentation </a>.
For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).
Before asking for help, please use the diagnostic tool: <a class="peertube-plugin-livechat-launch-diagnostic">Launch diagnostic</a> (if this button is not opening a new window, please try to refresh the page).
This plugin is [REUSE](https://reuse.software/) compliant: it uses SPDX headers to identify licensing information of its source code.More information on the [REUSE](https://reuse.software/) website.You can use the [reuse](https://reuse.readthedocs.io/en/stable/readme.html#) command line tool to help you update headers.The `npm run lint` command will use the `reuse` command to check compliance.Don't forget to add your copyright information in SPDX headers when you modify some code.
These terms & conditions will be shown to all users when then join chatrooms. Streamers can also configureterms & conditions for their channels, that will be shown right after these global terms & conditions.
This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.ESBuild can handle Typescript, but does not check types (see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).Then, if everything is okay, we run ESBuild to generate the compiled javascript.
There is a debug mode for this plugin, that shorten some delay.For example, some log files will rotate every two minutes, instead of once per day.This permit to test more easily certain actions, for which it could normally take hours or days to wait.