diff --git a/docs/setup/clients/index.md b/docs/setup/clients/index.md index 0d3058d..b8f9a19 100644 --- a/docs/setup/clients/index.md +++ b/docs/setup/clients/index.md @@ -1,105 +1 @@ -# Clients - -!!! note "The {{ project.name }} client is, at the time of writing this (March 17th, 2023), under heavy development and not ready to be used in production just yet." - -!!! warning "Windows support is currently broken." - -The official {{ project.name }} client is currently being developed at [this repository]({{ repositories.base_url }}/{{ repositories.client }}). - -## Official host - -The new, React-only client is being hosted at [https://dev.app.{{ project.domain }}](https://dev.app.{{ project.domain }}). -An older, React Native version of the client can be found at -[https://app.{{ project.domain }}](https://app.{{ project.domain }}). -You can use it to connect to our official instance by default, or you can use it to connect to your -own instance by editing your local storage to include the `routeSettings` key with the below example -content: - -```json -{ - "api": "https://api.old.server.{{ project.domain }}/api/v9", - "cdn": "https://cdn.old.server.{{ project.domain }}", - "gateway": "wss://gateway.old.server.{{ project.domain }}", - "invite": "https://old.server.{{ project.domain }}/invite", - "template": "https://old.server.{{ project.domain }}/template", - "gift": "https://old.server.{{ project.domain }}/gift", - "scheduledEvent": "https://old.server.{{ project.domain }}/events" -} -``` - -Replace the above endpoints with your own. If your domain name is `https://whatever.notasite`, then you'll most likely want to enter -`https://whatever.notasite/api/v9` for the API endpoint, etc. - -If you're using the React Native client, you can also edit these settings by visiting [https://app.{{ project.domain }}/settings](https://app.{{ project.domain }}/settings). - -## Setup/Building - -These Instructions refer to the old, React Native client, and therefore do not apply to the new, React-only client. - -### Dependencies - -- [Git](https://git-scm.com/) -- [NodeJS](https://nodejs.org). Version 18+ -- [yarn](https://yarnpkg.com/) - -In your terminal: - -```bash -# Download {{ project.name }} Client -git clone {{ repositories.base_url }}/{{ repositories.client }}.git -b legacy-v2 - -# Enter the cloned directory, switch branches to the one, which is actually being developed -cd client - -# Install dependencies -yarn install -``` - -To start the client with Metro for development, run - -```bash -yarn start -``` - -!!! note "Platform-specific development commands:" - - For development for Android, run - - ```bash - yarn android - ``` - - For development for iOS, run - - ```bash - yarn ios - ``` - - For development for Windows, run - - ```bash - yarn windows - ``` - -To build static files for the web (i.e. when hosting it yourself), run - -```bash -yarn build:web -``` - -Files will be built to `web-build` - -## Contributing - -To contribute: - -- [Fork the repository]({{ repositories.base_url }}/{{ repositories.client }}/fork) -- Run the building instructions. -- Commit & Push. -- Pull Request & Done! - -### What can I contribute? - -- "Core" features like settings, editing messages, dms, markdown rendering, etc. What do you think are basic features that you would want? Some of the GitHub Issues apply to this. -- Implementing other things like voice/video is fine too, though -- [This]({{ repositories.base_url }}/{{ repositories.client }}/issues/21) is a good starting point and lists the core features that are still missing from the client. +## [Official Client](official) diff --git a/docs/setup/clients/official/index.md b/docs/setup/clients/official/index.md new file mode 100644 index 0000000..67a7f05 --- /dev/null +++ b/docs/setup/clients/official/index.md @@ -0,0 +1,6 @@ +# {{ project.name }} Client + +The {{ project.name }} client has 2 versions: + +- The new, React version which is currently under active development. Docs: [React Client](react.md) +- The old, legacy React Native version which is no longer under active development. Docs: [Legacy Client](legacy.md) diff --git a/docs/setup/clients/official/legacy.md b/docs/setup/clients/official/legacy.md new file mode 100644 index 0000000..543189a --- /dev/null +++ b/docs/setup/clients/official/legacy.md @@ -0,0 +1,87 @@ +# Legacy Client + +!!! danger "This version is no longer under active development! Please see [React Client](dev.md) for the current in-development version." + +!!! warning "Windows support is currently broken." + +## Official host + +The client will connect to our official instance by default, or you can use it to connect to your +own instance by editing your local storage to include the `routeSettings` key with the below example +content: + +```json +{ + "api": "https://api.old.server.{{ project.domain }}/api/v9", + "cdn": "https://cdn.old.server.{{ project.domain }}", + "gateway": "wss://gateway.old.server.{{ project.domain }}", + "invite": "https://old.server.{{ project.domain }}/invite", + "template": "https://old.server.{{ project.domain }}/template", + "gift": "https://old.server.{{ project.domain }}/gift", + "scheduledEvent": "https://old.server.{{ project.domain }}/events" +} +``` + +Replace the above endpoints with your own. If your domain name is `https://example.com`, then you'll most likely want to enter +`https://example.com/api/v9` for the API endpoint, etc. + +You can also edit these settings by visiting `https://client.example.com/settings` + +## Setup/Building + +### Dependencies + +- [Git](https://git-scm.com/) +- [NodeJS](https://nodejs.org). Version 18+ +- [yarn](https://yarnpkg.com/) + +In your terminal: + +```bash +# Download {{ project.name }} Client +git clone {{ repositories.base_url }}/{{ repositories.client }}.git -b legacy-v2 + +# Enter the cloned directory, switch branches to the one, which is actually being developed +cd client + +# Install dependencies +yarn install +``` + +To start the client with Metro for development, run + +```bash +yarn start +``` + +!!! note "Platform-specific development commands:" + + For development for Android, run + + ```bash + yarn android + ``` + + For development for iOS, run + + ```bash + yarn ios + ``` + + For development for Windows, run + + ```bash + yarn windows + ``` + +To build static files for the web (i.e. when hosting it yourself), run + +```bash +yarn build:web +``` + +Files will be built to `web-build`. These files need to be served by a Web Server such as Nginx or Apache, the `index.html` file cannot just be opened in a browser. + +## Contributing + +This version is no longer being developed, you are free to clone the repository and make your own changes though! diff --git a/docs/setup/clients/official/react.md b/docs/setup/clients/official/react.md new file mode 100644 index 0000000..f793b31 --- /dev/null +++ b/docs/setup/clients/official/react.md @@ -0,0 +1,71 @@ +# React Client + +!!! warning "The {{ project.name }} client is under heavy development and not ready to be used in production yet." + +The official {{ project.name }} client is currently being developed at [this repository]({{ repositories.base_url }}/{{ repositories.client }}). + +## Official host + +The client is currently hosted at [https://app.{{ project.domain }}](https://app.{{ project.domain }}). +You can use it to connect to our official instance by default, or you can use it to connect to your +own instance by editing the `Instance` field on the login page. + +!!! note + + If you've set up [wellknown](/setup/server/wellknown/), you can enter that address here. + I.e. `https://spacebar.chat`. If you haven't, you'll need to enter the API endpoint address + +!!! warning + + If you're using the app at [https://app.{{ project.domain }}](https://app.{{ project.domain }}), + you'll need to make sure your instance allows CORS from that address. + +## Setup/Building + +### Dependencies + +- [Git](https://git-scm.com/) +- [NodeJS](https://nodejs.org): Version 18+ +- [pnpm](https://pnpm.io/) + +In your terminal: + +```bash +# Download {{ project.name }} Client +git clone {{ repositories.base_url }}/{{ repositories.client }}.git + +# Enter the cloned directory +cd client + +# Install dependencies +pnpm install +``` + +To start the client for development, run + +```bash +pnpm start +``` + +To build static files for the web (i.e. when hosting it yourself), run + +```bash +pnpm build +``` + +Files will be built to `build`. These files need to be served by a Web Server such as Nginx or Apache, the `index.html` file cannot just be opened in a browser. + +## Contributing + +To contribute: + +- [Fork the repository]({{ repositories.base_url }}/{{ repositories.client }}/fork) +- Run the building instructions. +- Commit & Push. +- Pull Request & Done! + +### What can I contribute? + +- "Core" features like settings, editing messages, dms, markdown rendering, etc. What do you think are basic features that you would want? Some of the GitHub Issues apply to this. +- Implementing other things like voice/video is fine too, though +- [This]({{ repositories.base_url }}/{{ repositories.client }}/issues/21) is a good starting point and lists the core features that are still missing from the client.