Skip to content

Commit

Permalink
Merge branch 'release-v1.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
jryans committed Feb 14, 2019
2 parents c421c0b + 3b123ce commit 674b8c3
Show file tree
Hide file tree
Showing 144 changed files with 2,177 additions and 2,904 deletions.
105 changes: 105 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,108 @@
Changes in [1.0.0](https://github.com/vector-im/riot-web/releases/tag/v1.0.0) (2019-02-14)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.0-rc.2...v1.0.0)

* Add snipping lines to welcome page without guests
[\#8634](https://github.com/vector-im/riot-web/pull/8634)
* Add home page to fix loading tests
[\#8625](https://github.com/vector-im/riot-web/pull/8625)

Changes in [1.0.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v1.0.0-rc.2) (2019-02-14)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.0.0-rc.1...v1.0.0-rc.2)

* Update from Weblate.
[\#8615](https://github.com/vector-im/riot-web/pull/8615)
* Replace favicon assets to ones with transparent backgrounds
[\#8600](https://github.com/vector-im/riot-web/pull/8600)
* Refreshed icons
[\#8594](https://github.com/vector-im/riot-web/pull/8594)
* Fix order of fetch-develop-deps / npm install
[\#8566](https://github.com/vector-im/riot-web/pull/8566)
* Revive building dark theme
[\#8540](https://github.com/vector-im/riot-web/pull/8540)
* Update from Weblate.
[\#8546](https://github.com/vector-im/riot-web/pull/8546)
* Repair app loading tests after welcome page
[\#8525](https://github.com/vector-im/riot-web/pull/8525)
* Support configurable welcome background and logo
[\#8528](https://github.com/vector-im/riot-web/pull/8528)
* Update from Weblate.
[\#8518](https://github.com/vector-im/riot-web/pull/8518)
* Document `embeddedPages` configuration
[\#8514](https://github.com/vector-im/riot-web/pull/8514)
* README.md : Syntax Coloring
[\#8502](https://github.com/vector-im/riot-web/pull/8502)

Changes in [1.0.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v1.0.0-rc.1) (2019-02-08)
====================================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.9...v1.0.0-rc.1)

* Update from Weblate.
[\#8475](https://github.com/vector-im/riot-web/pull/8475)
* Add configurable welcome page
[\#8466](https://github.com/vector-im/riot-web/pull/8466)
* fix app tests after force enabling lazy loading + removing feature flag
[\#8464](https://github.com/vector-im/riot-web/pull/8464)
* Allow Electron to zoom with CommandOrControl+=
[\#8381](https://github.com/vector-im/riot-web/pull/8381)
* Hide sign in / create account for logged in users
[\#8368](https://github.com/vector-im/riot-web/pull/8368)
* Fix home page link target
[\#8365](https://github.com/vector-im/riot-web/pull/8365)
* Add auth background image and update Riot logo
[\#8364](https://github.com/vector-im/riot-web/pull/8364)
* New homepage
[\#8363](https://github.com/vector-im/riot-web/pull/8363)
* Spell homeserver correctly
[\#8358](https://github.com/vector-im/riot-web/pull/8358)
* Merge redesign into develop
[\#8321](https://github.com/vector-im/riot-web/pull/8321)
* Disable room directory test because it doesn't work
[\#8318](https://github.com/vector-im/riot-web/pull/8318)
* Tweak auth overflow on Windows and Linux
[\#8307](https://github.com/vector-im/riot-web/pull/8307)
* Clean up Custom Server Help dialog
[\#8296](https://github.com/vector-im/riot-web/pull/8296)
* Cache-bust olm.wasm
[\#8283](https://github.com/vector-im/riot-web/pull/8283)
* Completely disable other themes for now (#8277)
[\#8280](https://github.com/vector-im/riot-web/pull/8280)
* Remove support for team servers
[\#8271](https://github.com/vector-im/riot-web/pull/8271)
* Add target="_blank" to footer links
[\#8248](https://github.com/vector-im/riot-web/pull/8248)
* Fix device names on desktop
[\#8241](https://github.com/vector-im/riot-web/pull/8241)
* Fix literal &lt/&gt in notifications
[\#8238](https://github.com/vector-im/riot-web/pull/8238)
* Fix registration nextLink on desktop
[\#8239](https://github.com/vector-im/riot-web/pull/8239)
* Add returns to fetch-develop-deps
[\#8233](https://github.com/vector-im/riot-web/pull/8233)
* Update electron builder
[\#8231](https://github.com/vector-im/riot-web/pull/8231)
* Try fetching more branches for PRs
[\#8225](https://github.com/vector-im/riot-web/pull/8225)
* Use content hashing for font and image URLs
[\#8159](https://github.com/vector-im/riot-web/pull/8159)
* Develop->Experimental
[\#8156](https://github.com/vector-im/riot-web/pull/8156)
* Update from Weblate.
[\#8150](https://github.com/vector-im/riot-web/pull/8150)
* Correct the copying of e-mail addresses in the electron app
[\#8124](https://github.com/vector-im/riot-web/pull/8124)
* Start documenting keyboard shortcuts
[\#7165](https://github.com/vector-im/riot-web/pull/7165)
* Update issue templates
[\#7948](https://github.com/vector-im/riot-web/pull/7948)
* Added new colour var to all themes
[\#7927](https://github.com/vector-im/riot-web/pull/7927)
* Redesign: apply changes from dharma theme to status theme
[\#7541](https://github.com/vector-im/riot-web/pull/7541)
* Redesign: ignore setting and always show dharma theme for now
[\#7540](https://github.com/vector-im/riot-web/pull/7540)

Changes in [0.17.9](https://github.com/vector-im/riot-web/releases/tag/v0.17.9) (2019-01-22)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.17.9-rc.1...v0.17.9)
Expand Down
146 changes: 85 additions & 61 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
Riot
====

Riot (formerly known as Vector) is a Matrix web client built using the Matrix
React SDK (https://github.com/matrix-org/matrix-react-sdk).
Riot (formerly known as Vector) is a Matrix web client built using the [Matrix React SDK](https://github.com/matrix-org/matrix-react-sdk).

Getting Started
===============

The easiest way to test Riot is to just use the hosted copy at
https://riot.im/app. The develop branch is continuously deployed by Jenkins at
https://riot.im/develop for those who like living dangerously.
The easiest way to test Riot is to just use the hosted copy at https://riot.im/app.
The `develop` branch is continuously deployed by Jenkins at https://riot.im/develop
for those who like living dangerously.

To host your own copy of Riot, the quickest bet is to use a pre-built
released version of Riot:

1. Download the latest version from https://github.com/vector-im/riot-web/releases
1. Untar the tarball on your web server
1. Move (or symlink) the riot-x.x.x directory to an appropriate name
1. Move (or symlink) the `riot-x.x.x` directory to an appropriate name
1. If desired, copy `config.sample.json` to `config.json` and edit it
as desired. See below for details.
1. Enter the URL into your browser and log into Riot!

Releases are signed by PGP, and can be checked against the public key
at https://riot.im/packages/keys/riot.asc
at https://riot.im/packages/keys/riot.asc .

Note that Chrome does not allow microphone or webcam access for sites served
over http (except localhost), so for working VoIP you will need to serve Riot
Expand Down Expand Up @@ -69,16 +68,22 @@ to build.
is at least v5.x).
1. Clone the repo: `git clone https://github.com/vector-im/riot-web.git`.
1. Switch to the riot-web directory: `cd riot-web`.
1. Install the prerequisites: `npm install`.
1. If you're using the `develop` branch then it is recommended to set up a proper
development environment ("Setting up a dev environment" below) however one can
install the develop versions of the dependencies instead:
```
```bash
scripts/fetch-develop.deps.sh
```
Note that running `npm install` will undo the symlinks put in place by
`scripts/fetch-develop.deps.sh` so you should run `npm install` first, or
run `npm link matrix-js-sdk` and `npm link matrix-react-sdk` after running
`npm install`.

Whenever you git pull on riot-web you will also probably need to force an update
to these dependencies - the simplest way is to re-run the script, but you can also
manually update and rebuild them:
```
```bash
cd matrix-js-sdk
git pull
npm install # re-run to pull in any new dependencies
Expand All @@ -94,18 +99,16 @@ to build.
Or just use https://riot.im/develop - the continuous integration release of the
develop branch. (Note that we don't reference the develop versions in git directly
due to https://github.com/npm/npm/issues/3055.)
1. Install the prerequisites: `npm install`.
1. Configure the app by copying `config.sample.json` to `config.json` and
modifying it (see below for details).
1. `npm run dist` to build a tarball to deploy. Untaring this file will give
a version-specific directory containing all the files that need to go on your
web server.

Note that `npm run dist` is not supported on Windows, so Windows users can run `npm
run build`, which will build all the necessary files into the `webapp`
directory. The version of Riot will not appear in Settings without
using the dist script. You can then mount the `webapp` directory on your
webserver to actually serve up the app, which is entirely static content.
Note that `npm run dist` is not supported on Windows, so Windows users can run `npm run build`,
which will build all the necessary files into the `webapp` directory. The version of Riot
will not appear in Settings without using the dist script. You can then mount the
`webapp` directory on your webserver to actually serve up the app, which is entirely static content.

config.json
===========
Expand All @@ -129,8 +132,13 @@ For a good example, see https://riot.im/develop/config.json
release to release.
1. `brand`: String to pass to your homeserver when configuring email notifications, to let the
homeserver know what email template to use when talking to you.
1. `branding`: Configures various branding and logo details, such as:
1. `welcomeBackgroundUrl`: An image to use as a wallpaper outside the app
during authentication flows
1. `authHeaderLogoUrl`: An logo image that is shown in the header during
authentication flows
1. `integrations_ui_url`: URL to the web interface for the integrations server. The integrations
server is not Riot and normally not your Home Server either. The integration server settings
server is not Riot and normally not your homeserver either. The integration server settings
may be left blank to disable integrations.
1. `integrations_rest_url`: URL to the REST interface for the integrations server.
1. `integrations_widgets_urls`: list of URLs to the REST interface for the widget integrations server.
Expand All @@ -157,9 +165,14 @@ For a good example, see https://riot.im/develop/config.json
1. `whitelistedHSUrls`: a list of HS URLs to not redact from the analytics
1. `whitelistedISUrls`: a list of IS URLs to not redact from the analytics
1. `siteId`: The Piwik Site ID to use when sending analytics to the Piwik server configured above
1. `teamServerConfig`, `teamTokenMap`, `referralBaseUrl`: an obsolete precursor to communities
with referral tracking; please ignore it.
1. `welcomeUserId`: the user ID of a bot to invite whenever users register that can give them a tour
1. `embeddedPages`: Configures the pages displayed in portions of Riot that
embed static files, such as:
1. `welcomeUrl`: Initial content shown on the outside of the app when not
logged in. Defaults to `welcome.html` supplied with Riot.
1. `homeUrl`: Content shown on the inside of the app when a specific room is
not selected. By default, no home page is configured. If one is set, a
button to access it will be shown in the top left menu.


Note that `index.html` also has an og:image meta tag that is set to an image
Expand All @@ -185,23 +198,23 @@ To run as a desktop app:
`npm run build` instead of `npm run dist` (since we don't need the tarball).
2. Install electron and run it:

```
```bash
npm install electron
npm run electron
```

To build packages, use electron-builder. This is configured to output:
* dmg + zip for macOS
* exe + nupkg for Windows
* deb for Linux
* `dmg` + `zip` for macOS
* `exe` + `nupkg` for Windows
* `deb` for Linux
But this can be customised by editing the `build` section of package.json
as per https://github.com/electron-userland/electron-builder/wiki/Options

See https://github.com/electron-userland/electron-builder/wiki/Multi-Platform-Build
for dependencies required for building packages for various platforms.

The only platform that can build packages for all three platforms is macOS:
```
```bash
brew install wine --without-x11
brew install mono
brew install gnu-tar
Expand All @@ -215,29 +228,29 @@ for 64 bit Linux:
1. Follow the instructions in 'Building From Source' above
2. `node_modules/.bin/build -l --x64`

All electron packages go into `electron/dist/`
All electron packages go into `electron_app/dist/`

Many thanks to @aviraldg for the initial work on the electron integration.

Other options for running as a desktop app:
* https://github.com/krisak/vector-electron-desktop
* @asdf:matrix.org points out that you can use nativefier and it just works(tm)

```
```bash
sudo npm install nativefier -g
nativefier https://riot.im/app/
```

Development
===========

Before attempting to develop on Riot you **must** read the developer guide
for `matrix-react-sdk` at https://github.com/matrix-org/matrix-react-sdk, which
Before attempting to develop on Riot you **must** read the [developer guide
for `matrix-react-sdk`](https://github.com/matrix-org/matrix-react-sdk), which
also defines the design, architecture and style for Riot too.

You should also familiarise yourself with the "Here be Dragons" guide to the
tame & not-so-tame dragons (gotchas) which exist in the codebase:
https://docs.google.com/document/d/12jYzvkidrp1h7liEuLIe6BMdU0NUjndUYI971O06ooM
You should also familiarise yourself with the ["Here be Dragons" guide
](https://docs.google.com/document/d/12jYzvkidrp1h7liEuLIe6BMdU0NUjndUYI971O06ooM)
to the tame & not-so-tame dragons (gotchas) which exist in the codebase.

The idea of Riot is to be a relatively lightweight "skin" of customisations on
top of the underlying `matrix-react-sdk`. `matrix-react-sdk` provides both the
Expand All @@ -262,46 +275,57 @@ having to manually rebuild each time.

First clone and build `matrix-js-sdk`:

1. `git clone https://github.com/matrix-org/matrix-js-sdk.git`
1. `pushd matrix-js-sdk`
1. `git checkout develop`
1. `npm install`
1. `npm install source-map-loader` # because webpack is made of fail (https://github.com/webpack/webpack/issues/1472)
1. `popd`
``` bash
git clone https://github.com/matrix-org/matrix-js-sdk.git
pushd matrix-js-sdk
git checkout develop
npm install
npm install source-map-loader # because webpack is made of fail
# see https://github.com/webpack/webpack/issues/1472
popd
```

Then similarly with `matrix-react-sdk`:

1. `git clone https://github.com/matrix-org/matrix-react-sdk.git`
1. `pushd matrix-react-sdk`
1. `git checkout develop`
1. `npm link ../matrix-js-sdk`
1. `popd`
```bash
git clone https://github.com/matrix-org/matrix-react-sdk.git
pushd matrix-react-sdk
git checkout develop
npm link ../matrix-js-sdk
popd
```

Finally, build and start Riot itself:

1. `git clone https://github.com/vector-im/riot-web.git`
1. `cd riot-web`
1. `git checkout develop`
1. `npm install`
1. `npm link ../matrix-js-sdk`
1. `npm link ../matrix-react-sdk`
1. `npm start`
1. Wait a few seconds for the initial build to finish; you should see something like:
```
Hash: b0af76309dd56d7275c8
Version: webpack 1.12.14
Time: 14533ms
Asset Size Chunks Chunk Names
bundle.js 4.2 MB 0 [emitted] main
bundle.css 91.5 kB 0 [emitted] main
bundle.js.map 5.29 MB 0 [emitted] main
bundle.css.map 116 kB 0 [emitted] main
+ 1013 hidden modules
```
```bash
git clone https://github.com/vector-im/riot-web.git
cd riot-web
git checkout develop
npm install
npm link ../matrix-js-sdk
npm link ../matrix-react-sdk
npm start
```

Wait a few seconds for the initial build to finish; you should see something like:
```
Hash: b0af76309dd56d7275c8
Version: webpack 1.12.14
Time: 14533ms
Asset Size Chunks Chunk Names
bundle.js 4.2 MB 0 [emitted] main
bundle.css 91.5 kB 0 [emitted] main
bundle.js.map 5.29 MB 0 [emitted] main
bundle.css.map 116 kB 0 [emitted] main
+ 1013 hidden modules
```
Remember, the command will not terminate since it runs the web server
and rebuilds source files when they change. This development server also
disables caching, so do NOT use it in production.
1. Open http://127.0.0.1:8080/ in your browser to see your newly built Riot.

Open http://127.0.0.1:8080/ in your browser to see your newly built Riot.

___

When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be
automatically picked up by webpack and built.
Expand Down
1 change: 0 additions & 1 deletion config.sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"feature_pinning": "labs"
},
"default_federate": true,
"welcomePageUrl": "home.html",
"default_theme": "light",
"roomDirectory": {
"servers": [
Expand Down
Binary file modified electron_app/build/icon.icns
Binary file not shown.
Binary file modified electron_app/build/icon.ico
Binary file not shown.
Binary file modified electron_app/build/icons/128x128.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified electron_app/build/icons/16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified electron_app/build/icons/24x24.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified electron_app/build/icons/256x256.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified electron_app/build/icons/48x48.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified electron_app/build/icons/512x512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified electron_app/build/icons/64x64.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified electron_app/build/icons/96x96.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified electron_app/img/riot.ico
Binary file not shown.
Binary file modified electron_app/img/riot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion electron_app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "0.17.9",
"version": "1.0.0",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"dependencies": {
Expand Down
Loading

0 comments on commit 674b8c3

Please sign in to comment.