Skip to content

Commit

Permalink
Merge pull request #82 from spacebarchat/client-update
Browse files Browse the repository at this point in the history
update docs for client
  • Loading branch information
MaddyUnderStars committed Aug 30, 2023
2 parents 816ae7a + 5813e9a commit 46f7654
Show file tree
Hide file tree
Showing 4 changed files with 165 additions and 105 deletions.
106 changes: 1 addition & 105 deletions docs/setup/clients/index.md
Original file line number Diff line number Diff line change
@@ -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)
6 changes: 6 additions & 0 deletions docs/setup/clients/official/index.md
Original file line number Diff line number Diff line change
@@ -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)
87 changes: 87 additions & 0 deletions docs/setup/clients/official/legacy.md
Original file line number Diff line number Diff line change
@@ -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!
71 changes: 71 additions & 0 deletions docs/setup/clients/official/react.md
Original file line number Diff line number Diff line change
@@ -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.

0 comments on commit 46f7654

Please sign in to comment.