# jitsi-start A small html/js project to nudge a user to use the desktop client for Jitsi. ## Configuration All settings live in `assets/config.json`, loaded at startup. The launcher stays up but links break if the file is missing or malformed. Rename `assets/config.json.sample` to `assets/config.json`. | Parameter | Description | | --- | --- | | `jitsiLauncher` | Domain of this Jitsi launcher. Used for the meeting URLs created by the meeting creator (Nextcloud, adhoc link). | | `jitsiHost` | Jitsi domain. Used for the browser fallback URL, the desktop protocol URL and the UID of generated ICS files. | | `nextcloudBase` | Nextcloud instance for calendar event creation. The "Create in Nextcloud Calendar" button is only shown if this is set. | | `legalNotice` | URL of the "Legal Notice" link in the navbar. The link stays hidden if unset. | | `allowAdhocMeetings` | Whether adhoc meetings are allowed. The "Create Adhoc Link" button is only shown if this is `true`. | | `launchTimeout` | Timeout in ms before the browser fallback is shown after trying to start the jitsi-meet-electron client. | | `backgroundImage` | Path to the page background image. Empty: no background. | | `logo` | Path to the logo shown in the logo bar. Empty: logo bar stays hidden. | | `favicons` | Paths to the page icons: `ico` (fallback icon), `svg` (icon), `appleTouch` (Apple touch icon). The values from `launch.html` are kept if a key is missing. | | `downloads` | Download URLs for the jitsi-meet clients, shown in the fallback view per detected OS: `windows`, `macos`, `linux`, `ios`, `android`. | ## Translations All texts live in `assets/i18n.json`, one object per language (`en`, `de`, `fr`, `zh`). Elements carry the key in `data-i18n` (dots descend into nested objects), inputs in `data-i18n-placeholder`. Translations may contain ``, `` and `` markup (no nesting). The renderer builds only these whitelisted elements; other tags render literally and never execute. ## Help overlay The "Help" button in the navbar opens a dialog with camera/microphone hints. It only shows on the detected OS. The texts live under `meetingPrivacySettings` in `assets/i18n.json`, keyed by OS (`windows`; `macos`, `linux`, `ios` and `android` can follow). The dialog width is defined in `dialog.privacy` (`assets/css/launch.css`). ## Third-party assets - `assets/lib/ua-parser.min.js` — [ua-parser-js](https://github.com/faisalman/ua-parser-js) v2.0.10, © Faisal Salman, licensed under AGPL-3.0.