Compare commits
2 Commits
v0.12.4
...
v0.10.0-rc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad2765944b | ||
|
|
e7ef20fe62 |
2
.babelrc
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"presets": ["react", "es2015", "es2016"],
|
||||
"plugins": ["transform-class-properties", "transform-object-rest-spread", "transform-async-to-bluebird", "transform-runtime", "add-module-exports"]
|
||||
"plugins": ["transform-class-properties", "transform-object-rest-spread", "transform-async-to-generator", "transform-runtime", "add-module-exports"]
|
||||
}
|
||||
|
||||
2
.gitignore
vendored
@@ -14,6 +14,6 @@
|
||||
npm-debug.log
|
||||
electron/dist
|
||||
electron/pub
|
||||
**/.idea
|
||||
/.idea
|
||||
/config.json
|
||||
/src/component-index.js
|
||||
|
||||
25
.travis.yml
@@ -1,10 +1,3 @@
|
||||
# we need trusty for the chrome addon
|
||||
dist: trusty
|
||||
|
||||
# we don't need sudo, so can run in a container, which makes startup much
|
||||
# quicker.
|
||||
sudo: false
|
||||
|
||||
language: node_js
|
||||
node_js:
|
||||
# make sure we work with a range of node versions.
|
||||
@@ -12,21 +5,13 @@ node_js:
|
||||
# - 4.x is still in LTS (until April 2018), but some of our deps (notably
|
||||
# extract-zip) don't work with it
|
||||
# - 5.x has been EOLed for nearly a year.
|
||||
# - 6.x is the active 'LTS' version
|
||||
# - 7.x is no longer supported
|
||||
# - 8.x is the current 'current' version (until October 2017)
|
||||
# - 6.x is the current 'LTS' version
|
||||
# - 7.x is the current 'current' version (until October 2017)
|
||||
#
|
||||
# see: https://github.com/nodejs/LTS/
|
||||
#
|
||||
# anything before 6.3 ships with npm 3.9 or earlier, which had problems
|
||||
# with symlinks in node_modules (see
|
||||
# https://github.com/npm/npm/releases/tag/v3.10.0 'FIXES AND REFACTORING').
|
||||
- 6.3
|
||||
- 6.0
|
||||
- 6
|
||||
- 7
|
||||
addons:
|
||||
chrome: stable
|
||||
install:
|
||||
# clone the deps with depth 1: we know we will only ever need that one
|
||||
# commit.
|
||||
- scripts/fetch-develop.deps.sh --depth 1 && npm install
|
||||
- scripts/fetch-develop.deps.sh
|
||||
- npm install
|
||||
|
||||
483
CHANGELOG.md
@@ -1,486 +1,3 @@
|
||||
Changes in [0.12.4](https://github.com/vector-im/riot-web/releases/tag/v0.12.4) (2017-09-20)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.4-rc.1...v0.12.4)
|
||||
|
||||
* No changes
|
||||
|
||||
Changes in [0.12.4-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.4-rc.1) (2017-09-19)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3...v0.12.4-rc.1)
|
||||
|
||||
* Fix test for new behaviour of 'joining' flag
|
||||
[\#5053](https://github.com/vector-im/riot-web/pull/5053)
|
||||
* fix really dumb blunder/typo preventing system from going to sleep.
|
||||
[\#5080](https://github.com/vector-im/riot-web/pull/5080)
|
||||
* T3chguy/devtools
|
||||
[\#4735](https://github.com/vector-im/riot-web/pull/4735)
|
||||
* CSS for unignore button in UserSettings
|
||||
[\#5042](https://github.com/vector-im/riot-web/pull/5042)
|
||||
* Fix alias on home page for identity room
|
||||
[\#5044](https://github.com/vector-im/riot-web/pull/5044)
|
||||
* generic contextual menu for tooltip/responses
|
||||
[\#4989](https://github.com/vector-im/riot-web/pull/4989)
|
||||
* Update from Weblate.
|
||||
[\#5018](https://github.com/vector-im/riot-web/pull/5018)
|
||||
* Avoid re-rendering RoomList on room switch
|
||||
[\#5015](https://github.com/vector-im/riot-web/pull/5015)
|
||||
* Fix menu on change keyboard language issue #4345
|
||||
[\#4623](https://github.com/vector-im/riot-web/pull/4623)
|
||||
* Make isInvite default to false
|
||||
[\#4999](https://github.com/vector-im/riot-web/pull/4999)
|
||||
* Revert "Implement sticky date separators"
|
||||
[\#4991](https://github.com/vector-im/riot-web/pull/4991)
|
||||
* Implement sticky date separators
|
||||
[\#4939](https://github.com/vector-im/riot-web/pull/4939)
|
||||
|
||||
Changes in [0.12.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.3) (2017-09-06)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.3...v0.12.3)
|
||||
|
||||
* No changes
|
||||
|
||||
Changes in [0.12.3-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.3) (2017-09-05)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.2...v0.12.3-rc.3)
|
||||
|
||||
* Fix plurals in translations
|
||||
[\#4971](https://github.com/vector-im/riot-web/pull/4971)
|
||||
* Update from Weblate.
|
||||
[\#4968](https://github.com/vector-im/riot-web/pull/4968)
|
||||
|
||||
Changes in [0.12.3-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.2) (2017-09-05)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.3-rc.1...v0.12.3-rc.2)
|
||||
|
||||
* New react-sdk version to pull in new translations and fix some translation bugs.
|
||||
|
||||
|
||||
Changes in [0.12.3-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.3-rc.1) (2017-09-01)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.2...v0.12.3-rc.1)
|
||||
|
||||
* Fix overflowing login/register buttons on some languages issue #4804
|
||||
[\#4858](https://github.com/vector-im/riot-web/pull/4858)
|
||||
* Update vector-im to riot-im on Login
|
||||
[\#4943](https://github.com/vector-im/riot-web/pull/4943)
|
||||
* lets let people know that the bug report actually sent properly :)
|
||||
[\#4910](https://github.com/vector-im/riot-web/pull/4910)
|
||||
* another s/vector/riot/ in README
|
||||
[\#4934](https://github.com/vector-im/riot-web/pull/4934)
|
||||
* fix two room list regressions
|
||||
[\#4907](https://github.com/vector-im/riot-web/pull/4907)
|
||||
|
||||
Changes in [0.12.2](https://github.com/vector-im/riot-web/releases/tag/v0.12.2) (2017-08-24)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.1...v0.12.2)
|
||||
|
||||
* Update react-sdk and js-sdk to fix bugs with incoming calls, messages and notifications
|
||||
in encrypted rooms.
|
||||
|
||||
Changes in [0.12.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.1) (2017-08-23)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.1-rc.1...v0.12.1)
|
||||
|
||||
* [No changes]
|
||||
|
||||
Changes in [0.12.1-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.1-rc.1) (2017-08-22)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.12.0-rc.2...v0.12.1-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#4832](https://github.com/vector-im/riot-web/pull/4832)
|
||||
* Misc styling fixes.
|
||||
[\#4826](https://github.com/vector-im/riot-web/pull/4826)
|
||||
* Show / Hide apps icons
|
||||
[\#4774](https://github.com/vector-im/riot-web/pull/4774)
|
||||
|
||||
Changes in [0.12.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.12.0-rc.1) (2017-08-16)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.4...v0.12.0-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#4797](https://github.com/vector-im/riot-web/pull/4797)
|
||||
* move focus-via-up/down cursors to LeftPanel
|
||||
[\#4777](https://github.com/vector-im/riot-web/pull/4777)
|
||||
* Remove userId property on RightPanel
|
||||
[\#4775](https://github.com/vector-im/riot-web/pull/4775)
|
||||
* Make member device info buttons fluid and stackable with flexbox
|
||||
[\#4776](https://github.com/vector-im/riot-web/pull/4776)
|
||||
* un-i18n Modal Analytics
|
||||
[\#4688](https://github.com/vector-im/riot-web/pull/4688)
|
||||
* Quote using innerText
|
||||
[\#4773](https://github.com/vector-im/riot-web/pull/4773)
|
||||
* Karma tweaks for riot-web
|
||||
[\#4765](https://github.com/vector-im/riot-web/pull/4765)
|
||||
* Fix typo with scripts/fetch-develop-deps.sh in Building From Source
|
||||
[\#4764](https://github.com/vector-im/riot-web/pull/4764)
|
||||
* Adjust CSS for optional avatars in pills
|
||||
[\#4757](https://github.com/vector-im/riot-web/pull/4757)
|
||||
* Fix crypto on develop
|
||||
[\#4754](https://github.com/vector-im/riot-web/pull/4754)
|
||||
* Fix signing key url in readme
|
||||
[\#4464](https://github.com/vector-im/riot-web/pull/4464)
|
||||
* update gitignore to allow .idea directory to exist in subdirs
|
||||
[\#4749](https://github.com/vector-im/riot-web/pull/4749)
|
||||
* tweak compact theme
|
||||
[\#4665](https://github.com/vector-im/riot-web/pull/4665)
|
||||
* Update draft-js from 0.10.1 to 0.11.0-alpha
|
||||
[\#4740](https://github.com/vector-im/riot-web/pull/4740)
|
||||
* electron support for mouse forward/back buttons in Windows
|
||||
[\#4739](https://github.com/vector-im/riot-web/pull/4739)
|
||||
* Update draft-js from 0.8.1 to 0.10.1
|
||||
[\#4730](https://github.com/vector-im/riot-web/pull/4730)
|
||||
* Make pills, emoji translucent when sending
|
||||
[\#4693](https://github.com/vector-im/riot-web/pull/4693)
|
||||
* Widget permissions styling and icon
|
||||
[\#4690](https://github.com/vector-im/riot-web/pull/4690)
|
||||
* CSS required for composer autoscroll
|
||||
[\#4682](https://github.com/vector-im/riot-web/pull/4682)
|
||||
* CSS for group edit UI
|
||||
[\#4608](https://github.com/vector-im/riot-web/pull/4608)
|
||||
* Fix a couple of minor errors in the room list
|
||||
[\#4671](https://github.com/vector-im/riot-web/pull/4671)
|
||||
* Styling for beta testing icon.
|
||||
[\#4584](https://github.com/vector-im/riot-web/pull/4584)
|
||||
* Increase the timeout for clearing indexeddbs
|
||||
[\#4650](https://github.com/vector-im/riot-web/pull/4650)
|
||||
* Make some adjustments to mx_UserPill and mx_RoomPill
|
||||
[\#4597](https://github.com/vector-im/riot-web/pull/4597)
|
||||
* Apply CSS to <pre> tags to distinguish them from each other
|
||||
[\#4639](https://github.com/vector-im/riot-web/pull/4639)
|
||||
* Use `catch` instead of `fail` to handle room tag error
|
||||
[\#4643](https://github.com/vector-im/riot-web/pull/4643)
|
||||
* CSS for decorated matrix.to links in the composer
|
||||
[\#4583](https://github.com/vector-im/riot-web/pull/4583)
|
||||
* Deflake the joining test
|
||||
[\#4579](https://github.com/vector-im/riot-web/pull/4579)
|
||||
* Bump react to 15.6 to fix build problems
|
||||
[\#4577](https://github.com/vector-im/riot-web/pull/4577)
|
||||
* Improve AppTile menu bar button styling.
|
||||
[\#4567](https://github.com/vector-im/riot-web/pull/4567)
|
||||
* Transform `async` functions to bluebird promises
|
||||
[\#4572](https://github.com/vector-im/riot-web/pull/4572)
|
||||
* use flushAllExpected in joining test
|
||||
[\#4570](https://github.com/vector-im/riot-web/pull/4570)
|
||||
* Switch riot-web to bluebird
|
||||
[\#4565](https://github.com/vector-im/riot-web/pull/4565)
|
||||
* loading tests: wait for login component
|
||||
[\#4564](https://github.com/vector-im/riot-web/pull/4564)
|
||||
* Remove CSS for the MessageComposerInputOld
|
||||
[\#4568](https://github.com/vector-im/riot-web/pull/4568)
|
||||
* Implement the focus_room_filter action
|
||||
[\#4560](https://github.com/vector-im/riot-web/pull/4560)
|
||||
* CSS for Rooms in Group View
|
||||
[\#4530](https://github.com/vector-im/riot-web/pull/4530)
|
||||
* more HomePage tweaks
|
||||
[\#4557](https://github.com/vector-im/riot-web/pull/4557)
|
||||
* Give HomePage an unmounted guard
|
||||
[\#4556](https://github.com/vector-im/riot-web/pull/4556)
|
||||
* Take RTE out of labs
|
||||
[\#4500](https://github.com/vector-im/riot-web/pull/4500)
|
||||
* CSS for Groups page
|
||||
[\#4468](https://github.com/vector-im/riot-web/pull/4468)
|
||||
* CSS for GroupView
|
||||
[\#4442](https://github.com/vector-im/riot-web/pull/4442)
|
||||
* remove unused class
|
||||
[\#4525](https://github.com/vector-im/riot-web/pull/4525)
|
||||
* Fix long words causing MessageComposer to widen
|
||||
[\#4466](https://github.com/vector-im/riot-web/pull/4466)
|
||||
* Add visual bell animation for RTE
|
||||
[\#4516](https://github.com/vector-im/riot-web/pull/4516)
|
||||
* Truncate auto-complete pills properly
|
||||
[\#4502](https://github.com/vector-im/riot-web/pull/4502)
|
||||
* Use chrome headless instead of phantomjs
|
||||
[\#4512](https://github.com/vector-im/riot-web/pull/4512)
|
||||
* Use external mock-request
|
||||
[\#4489](https://github.com/vector-im/riot-web/pull/4489)
|
||||
* fix Quote not closing contextual menu
|
||||
[\#4443](https://github.com/vector-im/riot-web/pull/4443)
|
||||
* Apply white-space: pre-wrap to mx_MEmoteBody
|
||||
[\#4470](https://github.com/vector-im/riot-web/pull/4470)
|
||||
* Add some style improvements to autocompletions
|
||||
[\#4456](https://github.com/vector-im/riot-web/pull/4456)
|
||||
* Styling for apps / widgets
|
||||
[\#4447](https://github.com/vector-im/riot-web/pull/4447)
|
||||
* Attempt to flush the rageshake logs on close
|
||||
[\#4400](https://github.com/vector-im/riot-web/pull/4400)
|
||||
* Update from Weblate.
|
||||
[\#4401](https://github.com/vector-im/riot-web/pull/4401)
|
||||
* improve update polling electron and provide a manual check for updates
|
||||
button
|
||||
[\#4176](https://github.com/vector-im/riot-web/pull/4176)
|
||||
* Fix load failure in firefox when indexedDB is disabled
|
||||
[\#4395](https://github.com/vector-im/riot-web/pull/4395)
|
||||
* Change missed 'Redact' to 'Remove' in ImageView.
|
||||
[\#4362](https://github.com/vector-im/riot-web/pull/4362)
|
||||
* explicit convert to nativeImage to stabilise trayIcon on Windows [Electron]
|
||||
[\#4355](https://github.com/vector-im/riot-web/pull/4355)
|
||||
* Use _tJsx for PasswordNagBar (because it has <u>)
|
||||
[\#4373](https://github.com/vector-im/riot-web/pull/4373)
|
||||
* Clean up some log outputs from the integ tests
|
||||
[\#4376](https://github.com/vector-im/riot-web/pull/4376)
|
||||
* CSS for redeisng of password warning
|
||||
[\#4367](https://github.com/vector-im/riot-web/pull/4367)
|
||||
* Give _t to PasswordNagBar, add CSS for UserSettings password warning
|
||||
[\#4366](https://github.com/vector-im/riot-web/pull/4366)
|
||||
* Update from Weblate.
|
||||
[\#4361](https://github.com/vector-im/riot-web/pull/4361)
|
||||
* Update from Weblate.
|
||||
[\#4360](https://github.com/vector-im/riot-web/pull/4360)
|
||||
* Test 'return-to-app' functionality
|
||||
[\#4352](https://github.com/vector-im/riot-web/pull/4352)
|
||||
* Update from Weblate.
|
||||
[\#4354](https://github.com/vector-im/riot-web/pull/4354)
|
||||
* onLoadCompleted is now onTokenLoginCompleted
|
||||
[\#4335](https://github.com/vector-im/riot-web/pull/4335)
|
||||
* Tweak tests to match updates to matrixchat
|
||||
[\#4325](https://github.com/vector-im/riot-web/pull/4325)
|
||||
* Update from Weblate.
|
||||
[\#4346](https://github.com/vector-im/riot-web/pull/4346)
|
||||
* change dispatcher forward_event signature
|
||||
[\#4337](https://github.com/vector-im/riot-web/pull/4337)
|
||||
* Add border on hover for code blocks
|
||||
[\#4259](https://github.com/vector-im/riot-web/pull/4259)
|
||||
|
||||
Changes in [0.11.4](https://github.com/vector-im/riot-web/releases/tag/v0.11.4) (2017-06-22)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.3...v0.11.4)
|
||||
|
||||
* Update matrix-js-sdk and react-sdk to fix a regression where the
|
||||
background indexedb worker was disabled, failures to open indexeddb
|
||||
causing the app to fail to start, a race when starting that could break
|
||||
switching to rooms, and the inability to invite users with mixed case
|
||||
usernames.
|
||||
|
||||
Changes in [0.11.3](https://github.com/vector-im/riot-web/releases/tag/v0.11.3) (2017-06-20)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2...v0.11.3)
|
||||
|
||||
* Update to matrix-react-sdk 0.9.6 to fix infinite spinner bugs
|
||||
and some parts of the app that had missed translation.
|
||||
|
||||
Changes in [0.11.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.2) (2017-06-19)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2-rc.2...v0.11.2)
|
||||
|
||||
* Add more languages and translations
|
||||
* Add a 'register' button
|
||||
|
||||
Changes in [0.11.2-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.2-rc.2) (2017-06-16)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.2-rc.1...v0.11.2-rc.2)
|
||||
|
||||
* Update react-sdk to pull in fixes for URL previews, CAS
|
||||
login, h2 in markdown and CAPTCHA forms.
|
||||
* Enable Korean translation
|
||||
* Update from Weblate.
|
||||
[\#4323](https://github.com/vector-im/riot-web/pull/4323)
|
||||
* Fix h2 in markdown being weird
|
||||
[\#4332](https://github.com/vector-im/riot-web/pull/4332)
|
||||
|
||||
Changes in [0.11.2-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.11.2-rc.1) (2017-06-15)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.1...v0.11.2-rc.1)
|
||||
|
||||
* Attempts to deflakify the joining test
|
||||
[\#4313](https://github.com/vector-im/riot-web/pull/4313)
|
||||
* Add a test for the login flow when there is a teamserver
|
||||
[\#4315](https://github.com/vector-im/riot-web/pull/4315)
|
||||
* Remove onload simulator from loading test
|
||||
[\#4314](https://github.com/vector-im/riot-web/pull/4314)
|
||||
* Update from Weblate.
|
||||
[\#4305](https://github.com/vector-im/riot-web/pull/4305)
|
||||
* Test that we handle stored mx_last_room_id correctly
|
||||
[\#4292](https://github.com/vector-im/riot-web/pull/4292)
|
||||
* Ask for email address after setting password for the first time
|
||||
[\#4301](https://github.com/vector-im/riot-web/pull/4301)
|
||||
* i18n for setting email after password flow
|
||||
[\#4299](https://github.com/vector-im/riot-web/pull/4299)
|
||||
* Update from Weblate.
|
||||
[\#4290](https://github.com/vector-im/riot-web/pull/4290)
|
||||
* Don't show the tooltips when filtering rooms
|
||||
[\#4282](https://github.com/vector-im/riot-web/pull/4282)
|
||||
* Update from Weblate.
|
||||
[\#4272](https://github.com/vector-im/riot-web/pull/4272)
|
||||
* Add missing VOIP Dropdown width
|
||||
[\#4266](https://github.com/vector-im/riot-web/pull/4266)
|
||||
* Update import and directory path in the Translations dev guide
|
||||
[\#4261](https://github.com/vector-im/riot-web/pull/4261)
|
||||
* Use Thai string for Thai in Language-Chooser
|
||||
[\#4260](https://github.com/vector-im/riot-web/pull/4260)
|
||||
|
||||
Changes in [0.11.1](https://github.com/vector-im/riot-web/releases/tag/v0.11.1) (2017-06-14)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.0...v0.11.1)
|
||||
|
||||
* Update to react-sdk 0.9.4 to prompt to set an
|
||||
email address when setting a password and make
|
||||
DM guessing smarter.
|
||||
|
||||
Changes in [0.11.0](https://github.com/vector-im/riot-web/releases/tag/v0.11.0) (2017-06-12)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.0-rc.2...v0.11.0)
|
||||
|
||||
* More translations & minor fixes
|
||||
|
||||
Changes in [0.11.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.11.0-rc.2) (2017-06-09)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.11.0-rc.1...v0.11.0-rc.2)
|
||||
|
||||
* Update to matrix-react-sdk rc.2 which fixes the flux
|
||||
dependency version and an issue with the conference
|
||||
call bar translation.
|
||||
|
||||
|
||||
Changes in [0.11.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.11.0-rc.1) (2017-06-09)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.2...v0.11.0-rc.1)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#4258](https://github.com/vector-im/riot-web/pull/4258)
|
||||
* Update from Weblate.
|
||||
[\#4254](https://github.com/vector-im/riot-web/pull/4254)
|
||||
* Update from Weblate.
|
||||
[\#4253](https://github.com/vector-im/riot-web/pull/4253)
|
||||
* Expect to see HTTP /join/#some:alias when we the view knows it
|
||||
[\#4252](https://github.com/vector-im/riot-web/pull/4252)
|
||||
* Update from Weblate.
|
||||
[\#4250](https://github.com/vector-im/riot-web/pull/4250)
|
||||
* add explicit import to utf8 polyfill and rip out unused imports
|
||||
[\#4169](https://github.com/vector-im/riot-web/pull/4169)
|
||||
* Added styling for copy to clipboard button
|
||||
[\#4204](https://github.com/vector-im/riot-web/pull/4204)
|
||||
* Update from Weblate.
|
||||
[\#4231](https://github.com/vector-im/riot-web/pull/4231)
|
||||
* Update from Weblate.
|
||||
[\#4218](https://github.com/vector-im/riot-web/pull/4218)
|
||||
* Update CSS for ChatInviteDialog
|
||||
[\#4226](https://github.com/vector-im/riot-web/pull/4226)
|
||||
* change electron -> electron_app which was previously missed
|
||||
[\#4212](https://github.com/vector-im/riot-web/pull/4212)
|
||||
* New guest access
|
||||
[\#4039](https://github.com/vector-im/riot-web/pull/4039)
|
||||
* Align message timestamp centrally about the avatar mid-point
|
||||
[\#4219](https://github.com/vector-im/riot-web/pull/4219)
|
||||
* Remove '/' from homepage URL
|
||||
[\#4221](https://github.com/vector-im/riot-web/pull/4221)
|
||||
* Chop off 'origin/'
|
||||
[\#4220](https://github.com/vector-im/riot-web/pull/4220)
|
||||
* Update from Weblate.
|
||||
[\#4214](https://github.com/vector-im/riot-web/pull/4214)
|
||||
* adjust alignment of message menu button in compact layout
|
||||
[\#4211](https://github.com/vector-im/riot-web/pull/4211)
|
||||
* Update from Weblate.
|
||||
[\#4207](https://github.com/vector-im/riot-web/pull/4207)
|
||||
* Fix Tests in ILAG
|
||||
[\#4209](https://github.com/vector-im/riot-web/pull/4209)
|
||||
* Update from Weblate.
|
||||
[\#4197](https://github.com/vector-im/riot-web/pull/4197)
|
||||
* Fix tests for new-guest-access
|
||||
[\#4201](https://github.com/vector-im/riot-web/pull/4201)
|
||||
* i18n for SetPasswordDialog
|
||||
[\#4198](https://github.com/vector-im/riot-web/pull/4198)
|
||||
* Update from Weblate.
|
||||
[\#4193](https://github.com/vector-im/riot-web/pull/4193)
|
||||
* to make the windows volume mixer not explode as it can't resize icons.
|
||||
[\#4183](https://github.com/vector-im/riot-web/pull/4183)
|
||||
* provide react devtools in electron dev runs
|
||||
[\#4186](https://github.com/vector-im/riot-web/pull/4186)
|
||||
* Fix DeprecationWarning
|
||||
[\#4184](https://github.com/vector-im/riot-web/pull/4184)
|
||||
* room link should be a matrix.to one
|
||||
[\#4178](https://github.com/vector-im/riot-web/pull/4178)
|
||||
* Update home.html
|
||||
[\#4163](https://github.com/vector-im/riot-web/pull/4163)
|
||||
* Add missing translation for room directory
|
||||
[\#4160](https://github.com/vector-im/riot-web/pull/4160)
|
||||
* i18n welcome
|
||||
[\#4129](https://github.com/vector-im/riot-web/pull/4129)
|
||||
* Tom welcome page
|
||||
[\#4038](https://github.com/vector-im/riot-web/pull/4038)
|
||||
* Fix some tests that expect Directory (they should expect HomePage)
|
||||
[\#4076](https://github.com/vector-im/riot-web/pull/4076)
|
||||
* Add "Login" button to RHS when user is a guest
|
||||
[\#4037](https://github.com/vector-im/riot-web/pull/4037)
|
||||
* Rejig the PaswordNagBar
|
||||
[\#4026](https://github.com/vector-im/riot-web/pull/4026)
|
||||
* Allow team server config to be missing
|
||||
[\#4024](https://github.com/vector-im/riot-web/pull/4024)
|
||||
* Remove GuestWarningBar
|
||||
[\#4020](https://github.com/vector-im/riot-web/pull/4020)
|
||||
* Make left panel better for new users (mk III)
|
||||
[\#4023](https://github.com/vector-im/riot-web/pull/4023)
|
||||
* Implement default welcome page and allow custom URL /w config
|
||||
[\#4015](https://github.com/vector-im/riot-web/pull/4015)
|
||||
* Add warm-fuzzy for successful password entry
|
||||
[\#3989](https://github.com/vector-im/riot-web/pull/3989)
|
||||
* autoFocus new password input in SetPasswordDialog
|
||||
[\#3982](https://github.com/vector-im/riot-web/pull/3982)
|
||||
* Implement dialog to set password
|
||||
[\#3921](https://github.com/vector-im/riot-web/pull/3921)
|
||||
* Replace NeedToRegister with SetMxId dialog
|
||||
[\#3924](https://github.com/vector-im/riot-web/pull/3924)
|
||||
* Add welcomeUserId to sample config
|
||||
[\#3906](https://github.com/vector-im/riot-web/pull/3906)
|
||||
* CSS for mxIdDialog redesign
|
||||
[\#3885](https://github.com/vector-im/riot-web/pull/3885)
|
||||
* Implement PasswordNagBar
|
||||
[\#3817](https://github.com/vector-im/riot-web/pull/3817)
|
||||
* CSS for new SetMxIdDialog
|
||||
[\#3762](https://github.com/vector-im/riot-web/pull/3762)
|
||||
|
||||
Changes in [0.10.2](https://github.com/vector-im/riot-web/releases/tag/v0.10.2) (2017-06-06)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.1...v0.10.2)
|
||||
|
||||
* Hotfix for bugs where navigating straight to a URL like /#/login and
|
||||
and /#/forgot_password
|
||||
|
||||
|
||||
Changes in [0.10.1](https://github.com/vector-im/riot-web/releases/tag/v0.10.1) (2017-06-02)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.0...v0.10.1)
|
||||
|
||||
* Update to matrix-react-sdk 0.9.1 to fix i18n error which broke start chat in some circumstances
|
||||
|
||||
Changes in [0.10.0](https://github.com/vector-im/riot-web/releases/tag/v0.10.0) (2017-06-02)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.0-rc.2...v0.10.0)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#4152](https://github.com/vector-im/riot-web/pull/4152)
|
||||
|
||||
Changes in [0.10.0-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.10.0-rc.2) (2017-06-02)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.10.0-rc.1...v0.10.0-rc.2)
|
||||
|
||||
* Update from Weblate.
|
||||
[\#4150](https://github.com/vector-im/riot-web/pull/4150)
|
||||
* styling for webrtc settings
|
||||
[\#4019](https://github.com/vector-im/riot-web/pull/4019)
|
||||
* Update from Weblate.
|
||||
[\#4140](https://github.com/vector-im/riot-web/pull/4140)
|
||||
* add styles for compact layout
|
||||
[\#4132](https://github.com/vector-im/riot-web/pull/4132)
|
||||
* Various tweaks to fetch-develop-deps
|
||||
[\#4147](https://github.com/vector-im/riot-web/pull/4147)
|
||||
* Don't try to build with node 6.0
|
||||
[\#4145](https://github.com/vector-im/riot-web/pull/4145)
|
||||
* Support 12hr time on DateSeparator
|
||||
[\#4143](https://github.com/vector-im/riot-web/pull/4143)
|
||||
* Update from Weblate.
|
||||
[\#4137](https://github.com/vector-im/riot-web/pull/4137)
|
||||
* Update from Weblate.
|
||||
[\#4105](https://github.com/vector-im/riot-web/pull/4105)
|
||||
* Update from Weblate.
|
||||
[\#4094](https://github.com/vector-im/riot-web/pull/4094)
|
||||
* Update from Weblate.
|
||||
[\#4091](https://github.com/vector-im/riot-web/pull/4091)
|
||||
* Update from Weblate.
|
||||
[\#4089](https://github.com/vector-im/riot-web/pull/4089)
|
||||
* Update from Weblate.
|
||||
[\#4083](https://github.com/vector-im/riot-web/pull/4083)
|
||||
|
||||
Changes in [0.10.0-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.10.0-rc.1) (2017-06-01)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.10...v0.10.0-rc.1)
|
||||
|
||||
44
README.md
@@ -16,13 +16,13 @@ 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 vector-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-master.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
|
||||
@@ -55,14 +55,14 @@ Building From Source
|
||||
Riot is a modular webapp built with modern ES6 and requires a npm build system
|
||||
to build.
|
||||
|
||||
1. Install or update `node.js` so that your `node` is at least v6.3.0 (and `npm`
|
||||
is at least v3.10.x).
|
||||
1. Install or update `node.js` so that your `node` is at least v6.0.0 (and `npm`
|
||||
is at least v3.8.6).
|
||||
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. If you're using the `develop` branch, install the develop versions of the
|
||||
dependencies, as the released ones will be too old:
|
||||
```
|
||||
scripts/fetch-develop.deps.sh
|
||||
scripts/fetch-develop-deps.sh
|
||||
```
|
||||
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
|
||||
@@ -81,7 +81,7 @@ to build.
|
||||
npm run build
|
||||
```
|
||||
However, we recommend setting up a proper development environment (see "Setting
|
||||
up a dev environment" below) if you want to run your own copy of the
|
||||
up a development environment" below) if you want to run your own copy of the
|
||||
`develop` branch, as it makes it much easier to keep these dependencies
|
||||
up-to-date. Or just use https://riot.im/develop - the continuous integration
|
||||
release of the develop branch.
|
||||
@@ -134,7 +134,7 @@ Running as a Desktop app
|
||||
|
||||
Riot can also be run as a desktop app, wrapped in electron. You can download a
|
||||
pre-built version from https://riot.im/desktop.html or, if you prefer,
|
||||
build it yourself. Requires Electron >=1.6.0
|
||||
built it yourself.
|
||||
|
||||
To run as a desktop app:
|
||||
|
||||
@@ -253,6 +253,7 @@ Finally, build and start Riot itself:
|
||||
1. `rm -r node_modules/matrix-react-sdk; ln -s ../../matrix-react-sdk node_modules/`
|
||||
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
|
||||
@@ -281,33 +282,18 @@ If any of these steps error with, `file table overflow`, you are probably on a m
|
||||
which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again.
|
||||
You'll need to do this in each new terminal you open before building Riot.
|
||||
|
||||
Running the tests
|
||||
-----------------
|
||||
How to add a new translation?
|
||||
=============================
|
||||
|
||||
There are a number of application-level tests in the `tests` directory; these
|
||||
are designed to run in a browser instance under the control of
|
||||
[karma](https://karma-runner.github.io). To run them:
|
||||
[<img src="https://translate.nordgedanken.de/widgets/riot-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.nordgedanken.de/engage/riot-web/?utm_source=widget)
|
||||
|
||||
* Make sure you have Chrome installed (a recent version, like 59)
|
||||
* Make sure you have `matrix-js-sdk` and `matrix-react-sdk` installed and
|
||||
built, as above
|
||||
* `npm run test`
|
||||
|
||||
The above will run the tests under Chrome in a `headless` mode.
|
||||
Head to the [translating doc](docs/translating.md)
|
||||
|
||||
You can also tell karma to run the tests in a loop (every time the source
|
||||
changes), in an instance of Chrome on your desktop, with `npm run
|
||||
test-multi`. This also gives you the option of running the tests in 'debug'
|
||||
mode, which is useful for stepping through the tests in the developer tools.
|
||||
Adding Strings to the translations (Developer Guide)
|
||||
====================================================
|
||||
|
||||
Translations
|
||||
============
|
||||
|
||||
To add a new translation, head to the [translating doc](docs/translating.md).
|
||||
|
||||
For a developer guide, see the [translating dev doc](docs/translating-dev.md).
|
||||
|
||||
[<img src="https://translate.riot.im/widgets/riot-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.riot.im/engage/riot-web/?utm_source=widget)
|
||||
Head to the [translating dev doc](docs/translating-dev.md)
|
||||
|
||||
Triaging issues
|
||||
===============
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
"matrix.org"
|
||||
]
|
||||
},
|
||||
"welcomeUserId": "@riot-bot:matrix.org",
|
||||
"piwik": {
|
||||
"url": "https://piwik.riot.im/",
|
||||
"siteId": 1
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
## Adding new strings
|
||||
|
||||
1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements.
|
||||
1. Check if the import ``import _t from 'counterpart-riot'`` is present. If not add it to the other import statements.
|
||||
2. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method)
|
||||
3. Add the String to the ``en_EN.json`` file in ``src/i18n/strings`` (respect which repository you are on).
|
||||
3. Add the String to the ``en_EN.json`` file in ``src/i18n`` or if you are working in matrix-react-sdk you can find the json file in ``src/i18n/strings``
|
||||
|
||||
## Adding variables inside a string.
|
||||
|
||||
|
||||
@@ -8,25 +8,25 @@
|
||||
|
||||
## Step 0: Join #riotweb-translations:matrix.org
|
||||
|
||||
1. Come and join https://matrix.to/#/#riotweb-translations:matrix.org
|
||||
1. Come and join https://riot.im/develop/#/room/#riotweb-translations:matrix.org
|
||||
2. Read scrollback and/or ask if anyone else is working on your language, and co-ordinate if needed. In general little-or-no coordination is needed though :)
|
||||
|
||||
## Step 1: Preparing your Weblate Profile
|
||||
|
||||
1. Head to https://translate.riot.im and register either via Github or email
|
||||
1. Head to https://translate.nordgedanken.de and register either via Github or email
|
||||
2. After registering check if you got an email to verify your account and click the link (if there is none head to step 1.4)
|
||||
3. Log into weblate
|
||||
4. Head to https://translate.riot.im/accounts/profile/ and select the languages you know and maybe another language you know too.
|
||||
6. Head to https://translate.riot.im/accounts/profile/#subscriptions and select Riot Web as Project
|
||||
4. Head to https://translate.nordgedanken.de/accounts/profile/ and select the languages you know and maybe another language you know too.
|
||||
6. Head to https://translate.nordgedanken.de/accounts/profile/#subscriptions and select Riot Web as Project
|
||||
|
||||
## How to check if your language already is being translated
|
||||
|
||||
Go to https://translate.riot.im/projects/riot-web/ and visit the 2 sub-projects.
|
||||
Go to https://translate.nordgedanken.de/projects/riot-web/ and visit the 2 sub-projects.
|
||||
If your language is listed go to Step 2a and if not go to Step 2b
|
||||
|
||||
## Step 2a: Helping on existing languages.
|
||||
|
||||
1. Head to one of the projects listed https://translate.riot.im/projects/riot-web/
|
||||
1. Head to one of the projects listed https://translate.nordgedanken.de/projects/riot-web/
|
||||
2. Click on the ``translate`` button on the right side of your language
|
||||
3. Fill in the translations in the writeable field. You will see the original English string and the string of your second language above.
|
||||
|
||||
@@ -34,7 +34,7 @@ Head to the explanations under Steb 2b
|
||||
|
||||
## Step 2b: Adding a new language
|
||||
|
||||
1. Go to one of the projects listed https://translate.riot.im/projects/riot-web/
|
||||
1. Go to one of the projects listed https://translate.nordgedanken.de/projects/riot-web/
|
||||
2. Click the ``Start new language`` button at the bottom
|
||||
3. Select a language
|
||||
4. Start translating like in 2a.3
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"main": "src/electron-main.js",
|
||||
"version": "0.12.4",
|
||||
"version": "0.10.0-rc.1",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Vector Creations Ltd.",
|
||||
"dependencies": {
|
||||
"auto-launch": "^5.0.1",
|
||||
"electron-window-state": "^4.1.0",
|
||||
"minimist": "^1.2.0",
|
||||
"png-to-ico": "^1.0.2"
|
||||
"auto-launch": "^5.0.1",
|
||||
"minimist": "^1.2.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF0jCCBLqgAwIBAgIRAISYBqZi3VvCUeSfHXF+cbwwDQYJKoZIhvcNAQELBQAw
|
||||
gZExCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
|
||||
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTcwNQYD
|
||||
VQQDEy5DT01PRE8gUlNBIEV4dGVuZGVkIFZhbGlkYXRpb24gQ29kZSBTaWduaW5n
|
||||
IENBMB4XDTE3MDgyMzAwMDAwMFoXDTIwMDgyMjIzNTk1OVowgdgxETAPBgNVBAUT
|
||||
CDEwODczNjYxMRMwEQYLKwYBBAGCNzwCAQMTAkdCMR0wGwYDVQQPExRQcml2YXRl
|
||||
IE9yZ2FuaXphdGlvbjELMAkGA1UEBhMCR0IxETAPBgNVBBEMCFdDMVIgNEFHMQ8w
|
||||
DQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjEbMBkGA1UECQwSMjYgUmVk
|
||||
IExpb24gU3F1YXJlMRcwFQYDVQQKDA5OZXcgVmVjdG9yIEx0ZDEXMBUGA1UEAwwO
|
||||
TmV3IFZlY3RvciBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7
|
||||
X0HP3oM/SVr6PboD03ndtYTONZDcJ/GJ3EyYi6UNrcbKjuDHwPktx9hjAhNjcVkG
|
||||
lmuTEPluPj9DbvjaTrers0cQsAS1vJ0RHjLfA93Flg1ys9Q6OThUMw77FtFPtiJU
|
||||
z5cSYzfFAhn/4dv7BcgGptn+Mv/8CaTu+RUZJUgoSlRWcT1TREmxkzWotbblqsHO
|
||||
zjDmUg20tL5/qpt6BSWsNespf5udKQFXMtqkczBcLvBLmql0vurVcQy8BibB+Q89
|
||||
QKwRzwLgaIa7O8WEssFcW8uJe9s0SNtUy8ehbuoSxpA/DbHFwsiDbNA78vp7HrqM
|
||||
qY6t6OIgLtDYBFCfe/btAgMBAAGjggHaMIIB1jAfBgNVHSMEGDAWgBTfj/MgDOnK
|
||||
pgTYW1g3Kj2rRtyDSTAdBgNVHQ4EFgQUH+mDOdRkF3bYDxCWEaGB4lxiCxcwDgYD
|
||||
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMw
|
||||
EQYJYIZIAYb4QgEBBAQDAgQQMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQYBMCsw
|
||||
KQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMFUGA1Ud
|
||||
HwROMEwwSqBIoEaGRGh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQUV4
|
||||
dGVuZGVkVmFsaWRhdGlvbkNvZGVTaWduaW5nQ0EuY3JsMIGGBggrBgEFBQcBAQR6
|
||||
MHgwUAYIKwYBBQUHMAKGRGh0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JT
|
||||
QUV4dGVuZGVkVmFsaWRhdGlvbkNvZGVTaWduaW5nQ0EuY3J0MCQGCCsGAQUFBzAB
|
||||
hhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wJgYDVR0RBB8wHaAbBggrBgEFBQcI
|
||||
A6APMA0MC0dCLTEwODczNjYxMA0GCSqGSIb3DQEBCwUAA4IBAQBJ2aH4aixh0aiz
|
||||
4WKlK+LMVLHpQ2POE3FZYNpAW7o1q2YDGEADXdGrygPE9NCGNBXKo0CAemCYNWfX
|
||||
Ov/jdoiMfeqW3vrZ66oEy8OqbvJSwK1xmomWuYw3wYPWcPVG+YbWYD2CGdQu8jTz
|
||||
fzAJCpvAuY3Wji3fQjiecAC7JCSB4fBHa0ALJOmiSqKQUUpkXs5kW7O0lPBnHzNF
|
||||
2tQGltXMSIrq1QfFtcreMyKlwDOxPIh360dv5aHhaeSRDRKxq7uq5ikQF2gjKx4k
|
||||
ieg2HRbAW6fVPpFr4zRS5umpeZV3i06i11VQQPS/mA/OBEXyaqzx4mr6B7U6ptrp
|
||||
jMqiUv2w
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,7 +1,6 @@
|
||||
/*
|
||||
Copyright 2016 Aviral Dasgupta
|
||||
Copyright 2016 OpenMarket Ltd
|
||||
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -29,7 +28,6 @@ const AutoLaunch = require('auto-launch');
|
||||
const tray = require('./tray');
|
||||
const vectorMenu = require('./vectormenu');
|
||||
const webContentsHandler = require('./webcontents-handler');
|
||||
const updater = require('./updater');
|
||||
|
||||
const windowStateKeeper = require('electron-window-state');
|
||||
|
||||
@@ -47,9 +45,69 @@ try {
|
||||
// Continue with the defaults (ie. an empty config)
|
||||
}
|
||||
|
||||
let mainWindow = null;
|
||||
global.appQuitting = false;
|
||||
const UPDATE_POLL_INTERVAL_MS = 60 * 60 * 1000;
|
||||
const INITIAL_UPDATE_DELAY_MS = 30 * 1000;
|
||||
|
||||
let mainWindow = null;
|
||||
let appQuitting = false;
|
||||
|
||||
function installUpdate() {
|
||||
// for some reason, quitAndInstall does not fire the
|
||||
// before-quit event, so we need to set the flag here.
|
||||
appQuitting = true;
|
||||
electron.autoUpdater.quitAndInstall();
|
||||
}
|
||||
|
||||
function pollForUpdates() {
|
||||
try {
|
||||
electron.autoUpdater.checkForUpdates();
|
||||
} catch (e) {
|
||||
console.log('Couldn\'t check for update', e);
|
||||
}
|
||||
}
|
||||
|
||||
function startAutoUpdate(updateBaseUrl) {
|
||||
if (updateBaseUrl.slice(-1) !== '/') {
|
||||
updateBaseUrl = updateBaseUrl + '/';
|
||||
}
|
||||
try {
|
||||
// For reasons best known to Squirrel, the way it checks for updates
|
||||
// is completely different between macOS and windows. On macOS, it
|
||||
// hits a URL that either gives it a 200 with some json or
|
||||
// 204 No Content. On windows it takes a base path and looks for
|
||||
// files under that path.
|
||||
if (process.platform === 'darwin') {
|
||||
// include the current version in the URL we hit. Electron doesn't add
|
||||
// it anywhere (apart from the User-Agent) so it's up to us. We could
|
||||
// (and previously did) just use the User-Agent, but this doesn't
|
||||
// rely on NSURLConnection setting the User-Agent to what we expect,
|
||||
// and also acts as a convenient cache-buster to ensure that when the
|
||||
// app updates it always gets a fresh value to avoid update-looping.
|
||||
electron.autoUpdater.setFeedURL(
|
||||
`${updateBaseUrl}macos/?localVersion=${encodeURIComponent(electron.app.getVersion())}`);
|
||||
|
||||
} else if (process.platform === 'win32') {
|
||||
electron.autoUpdater.setFeedURL(`${updateBaseUrl}win32/${process.arch}/`);
|
||||
} else {
|
||||
// Squirrel / electron only supports auto-update on these two platforms.
|
||||
// I'm not even going to try to guess which feed style they'd use if they
|
||||
// implemented it on Linux, or if it would be different again.
|
||||
console.log('Auto update not supported on this platform');
|
||||
}
|
||||
// We check for updates ourselves rather than using 'updater' because we need to
|
||||
// do it in the main process (and we don't really need to check every 10 minutes:
|
||||
// every hour should be just fine for a desktop app)
|
||||
// However, we still let the main window listen for the update events.
|
||||
// We also wait a short time before checking for updates the first time because
|
||||
// of squirrel on windows and it taking a small amount of time to release a
|
||||
// lock file.
|
||||
setTimeout(pollForUpdates, INITIAL_UPDATE_DELAY_MS);
|
||||
setInterval(pollForUpdates, UPDATE_POLL_INTERVAL_MS);
|
||||
} catch (err) {
|
||||
// will fail if running in debug mode
|
||||
console.log('Couldn\'t enable update checking', err);
|
||||
}
|
||||
}
|
||||
|
||||
// handle uncaught errors otherwise it displays
|
||||
// stack traces in popup dialogs, which is terrible (which
|
||||
@@ -61,6 +119,8 @@ process.on('uncaughtException', function(error) {
|
||||
console.log('Unhandled exception', error);
|
||||
});
|
||||
|
||||
electron.ipcMain.on('install_update', installUpdate);
|
||||
|
||||
let focusHandlerAttached = false;
|
||||
electron.ipcMain.on('setBadgeCount', function(ev, count) {
|
||||
electron.app.setBadgeCount(count);
|
||||
@@ -84,7 +144,7 @@ let powerSaveBlockerId;
|
||||
electron.ipcMain.on('app_onAction', function(ev, payload) {
|
||||
switch (payload.action) {
|
||||
case 'call_state':
|
||||
if (powerSaveBlockerId && electron.powerSaveBlocker.isStarted(powerSaveBlockerId)) {
|
||||
if (powerSaveBlockerId && powerSaveBlockerId.isStarted(powerSaveBlockerId)) {
|
||||
if (payload.state === 'ended') {
|
||||
electron.powerSaveBlocker.stop(powerSaveBlockerId);
|
||||
}
|
||||
@@ -156,23 +216,9 @@ electron.ipcMain.on('settings_set', function(ev, key, value) {
|
||||
});
|
||||
|
||||
electron.app.on('ready', () => {
|
||||
|
||||
if (argv.devtools) {
|
||||
try {
|
||||
const { default: installExtension, REACT_DEVELOPER_TOOLS, REACT_PERF } = require('electron-devtools-installer');
|
||||
installExtension(REACT_DEVELOPER_TOOLS)
|
||||
.then((name) => console.log(`Added Extension: ${name}`))
|
||||
.catch((err) => console.log('An error occurred: ', err));
|
||||
installExtension(REACT_PERF)
|
||||
.then((name) => console.log(`Added Extension: ${name}`))
|
||||
.catch((err) => console.log('An error occurred: ', err));
|
||||
} catch(e) {console.log(e);}
|
||||
}
|
||||
|
||||
|
||||
if (vectorConfig.update_base_url) {
|
||||
console.log(`Starting auto update with base URL: ${vectorConfig.update_base_url}`);
|
||||
updater.start(vectorConfig.update_base_url);
|
||||
startAutoUpdate(vectorConfig.update_base_url);
|
||||
} else {
|
||||
console.log('No update_base_url is defined: auto update is disabled');
|
||||
}
|
||||
@@ -185,7 +231,7 @@ electron.app.on('ready', () => {
|
||||
defaultHeight: 768,
|
||||
});
|
||||
|
||||
mainWindow = global.mainWindow = new electron.BrowserWindow({
|
||||
mainWindow = new electron.BrowserWindow({
|
||||
icon: iconPath,
|
||||
show: false,
|
||||
autoHideMenuBar: true,
|
||||
@@ -203,7 +249,7 @@ electron.app.on('ready', () => {
|
||||
mainWindow.hide();
|
||||
|
||||
// Create trayIcon icon
|
||||
tray.create({
|
||||
tray.create(mainWindow, {
|
||||
icon_path: iconPath,
|
||||
brand: vectorConfig.brand || 'Riot',
|
||||
});
|
||||
@@ -215,10 +261,10 @@ electron.app.on('ready', () => {
|
||||
}
|
||||
|
||||
mainWindow.on('closed', () => {
|
||||
mainWindow = global.mainWindow = null;
|
||||
mainWindow = null;
|
||||
});
|
||||
mainWindow.on('close', (e) => {
|
||||
if (!global.appQuitting && (tray.hasTray() || process.platform === 'darwin')) {
|
||||
if (!appQuitting && (tray.hasTray() || process.platform === 'darwin')) {
|
||||
// On Mac, closing the window just hides it
|
||||
// (this is generally how single-window Mac apps
|
||||
// behave, eg. Mail.app)
|
||||
@@ -228,17 +274,6 @@ electron.app.on('ready', () => {
|
||||
}
|
||||
});
|
||||
|
||||
if (process.platform === 'win32') {
|
||||
// Handle forward/backward mouse buttons in Windows
|
||||
mainWindow.on('app-command', (e, cmd) => {
|
||||
if (cmd === 'browser-backward' && mainWindow.webContents.canGoBack()) {
|
||||
mainWindow.webContents.goBack();
|
||||
} else if (cmd === 'browser-forward' && mainWindow.webContents.canGoForward()) {
|
||||
mainWindow.webContents.goForward();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
webContentsHandler(mainWindow.webContents);
|
||||
mainWindowState.manage(mainWindow);
|
||||
});
|
||||
@@ -252,10 +287,7 @@ electron.app.on('activate', () => {
|
||||
});
|
||||
|
||||
electron.app.on('before-quit', () => {
|
||||
global.appQuitting = true;
|
||||
if (mainWindow) {
|
||||
mainWindow.webContents.send('before-quit');
|
||||
}
|
||||
appQuitting = true;
|
||||
});
|
||||
|
||||
// Set the App User Model ID to match what the squirrel
|
||||
|
||||
@@ -16,9 +16,6 @@ limitations under the License.
|
||||
*/
|
||||
|
||||
const {app, Tray, Menu, nativeImage} = require('electron');
|
||||
const pngToIco = require('png-to-ico');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
let trayIcon = null;
|
||||
|
||||
@@ -26,17 +23,17 @@ exports.hasTray = function hasTray() {
|
||||
return (trayIcon !== null);
|
||||
};
|
||||
|
||||
exports.create = function(config) {
|
||||
exports.create = function(win, config) {
|
||||
// no trays on darwin
|
||||
if (process.platform === 'darwin' || trayIcon) return;
|
||||
|
||||
const toggleWin = function() {
|
||||
if (global.mainWindow.isVisible() && !global.mainWindow.isMinimized()) {
|
||||
global.mainWindow.hide();
|
||||
if (win.isVisible() && !win.isMinimized()) {
|
||||
win.hide();
|
||||
} else {
|
||||
if (global.mainWindow.isMinimized()) global.mainWindow.restore();
|
||||
if (!global.mainWindow.isVisible()) global.mainWindow.show();
|
||||
global.mainWindow.focus();
|
||||
if (win.isMinimized()) win.restore();
|
||||
if (!win.isVisible()) win.show();
|
||||
win.focus();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -54,46 +51,32 @@ exports.create = function(config) {
|
||||
},
|
||||
]);
|
||||
|
||||
const defaultIcon = nativeImage.createFromPath(config.icon_path);
|
||||
|
||||
trayIcon = new Tray(defaultIcon);
|
||||
trayIcon = new Tray(config.icon_path);
|
||||
trayIcon.setToolTip(config.brand);
|
||||
trayIcon.setContextMenu(contextMenu);
|
||||
trayIcon.on('click', toggleWin);
|
||||
|
||||
let lastFavicon = null;
|
||||
global.mainWindow.webContents.on('page-favicon-updated', async function(ev, favicons) {
|
||||
if (!favicons || favicons.length <= 0 || !favicons[0].startsWith('data:')) {
|
||||
if (lastFavicon !== null) {
|
||||
win.setIcon(defaultIcon);
|
||||
trayIcon.setImage(defaultIcon);
|
||||
lastFavicon = null;
|
||||
}
|
||||
return;
|
||||
win.webContents.on('page-favicon-updated', function(ev, favicons) {
|
||||
let newFavicon = config.icon_path;
|
||||
if (favicons && favicons.length > 0 && favicons[0].startsWith('data:')) {
|
||||
newFavicon = favicons[0];
|
||||
}
|
||||
|
||||
// No need to change, shortcut
|
||||
if (favicons[0] === lastFavicon) return;
|
||||
lastFavicon = favicons[0];
|
||||
if (newFavicon === lastFavicon) return;
|
||||
lastFavicon = newFavicon;
|
||||
|
||||
let newFavicon = nativeImage.createFromDataURL(favicons[0]);
|
||||
|
||||
// Windows likes ico's too much.
|
||||
if (process.platform === 'win32') {
|
||||
try {
|
||||
const icoPath = path.join(app.getPath('temp'), 'win32_riot_icon.ico');
|
||||
fs.writeFileSync(icoPath, await pngToIco(newFavicon.toPNG()));
|
||||
newFavicon = nativeImage.createFromPath(icoPath);
|
||||
} catch (e) {
|
||||
console.error("Failed to make win32 ico", e);
|
||||
}
|
||||
// if its not default we have to construct into nativeImage
|
||||
if (newFavicon !== config.icon_path) {
|
||||
newFavicon = nativeImage.createFromDataURL(favicons[0]);
|
||||
}
|
||||
|
||||
trayIcon.setImage(newFavicon);
|
||||
global.mainWindow.setIcon(newFavicon);
|
||||
win.setIcon(newFavicon);
|
||||
});
|
||||
|
||||
global.mainWindow.webContents.on('page-title-updated', function(ev, title) {
|
||||
win.webContents.on('page-title-updated', function(ev, title) {
|
||||
trayIcon.setToolTip(title);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
const { app, autoUpdater, ipcMain } = require('electron');
|
||||
|
||||
const UPDATE_POLL_INTERVAL_MS = 60 * 60 * 1000;
|
||||
const INITIAL_UPDATE_DELAY_MS = 30 * 1000;
|
||||
|
||||
function installUpdate() {
|
||||
// for some reason, quitAndInstall does not fire the
|
||||
// before-quit event, so we need to set the flag here.
|
||||
global.appQuitting = true;
|
||||
autoUpdater.quitAndInstall();
|
||||
}
|
||||
|
||||
function pollForUpdates() {
|
||||
try {
|
||||
autoUpdater.checkForUpdates();
|
||||
} catch (e) {
|
||||
console.log('Couldn\'t check for update', e);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {};
|
||||
module.exports.start = function startAutoUpdate(updateBaseUrl) {
|
||||
if (updateBaseUrl.slice(-1) !== '/') {
|
||||
updateBaseUrl = updateBaseUrl + '/';
|
||||
}
|
||||
try {
|
||||
let url;
|
||||
// For reasons best known to Squirrel, the way it checks for updates
|
||||
// is completely different between macOS and windows. On macOS, it
|
||||
// hits a URL that either gives it a 200 with some json or
|
||||
// 204 No Content. On windows it takes a base path and looks for
|
||||
// files under that path.
|
||||
if (process.platform === 'darwin') {
|
||||
// include the current version in the URL we hit. Electron doesn't add
|
||||
// it anywhere (apart from the User-Agent) so it's up to us. We could
|
||||
// (and previously did) just use the User-Agent, but this doesn't
|
||||
// rely on NSURLConnection setting the User-Agent to what we expect,
|
||||
// and also acts as a convenient cache-buster to ensure that when the
|
||||
// app updates it always gets a fresh value to avoid update-looping.
|
||||
url = `${updateBaseUrl}macos/?localVersion=${encodeURIComponent(app.getVersion())}`;
|
||||
|
||||
} else if (process.platform === 'win32') {
|
||||
url = `${updateBaseUrl}win32/${process.arch}/`;
|
||||
} else {
|
||||
// Squirrel / electron only supports auto-update on these two platforms.
|
||||
// I'm not even going to try to guess which feed style they'd use if they
|
||||
// implemented it on Linux, or if it would be different again.
|
||||
console.log('Auto update not supported on this platform');
|
||||
}
|
||||
|
||||
if (url) {
|
||||
autoUpdater.setFeedURL(url);
|
||||
// We check for updates ourselves rather than using 'updater' because we need to
|
||||
// do it in the main process (and we don't really need to check every 10 minutes:
|
||||
// every hour should be just fine for a desktop app)
|
||||
// However, we still let the main window listen for the update events.
|
||||
// We also wait a short time before checking for updates the first time because
|
||||
// of squirrel on windows and it taking a small amount of time to release a
|
||||
// lock file.
|
||||
setTimeout(pollForUpdates, INITIAL_UPDATE_DELAY_MS);
|
||||
setInterval(pollForUpdates, UPDATE_POLL_INTERVAL_MS);
|
||||
}
|
||||
} catch (err) {
|
||||
// will fail if running in debug mode
|
||||
console.log('Couldn\'t enable update checking', err);
|
||||
}
|
||||
}
|
||||
|
||||
ipcMain.on('install_update', installUpdate);
|
||||
ipcMain.on('check_updates', pollForUpdates);
|
||||
|
||||
function ipcChannelSendUpdateStatus(status) {
|
||||
if (global.mainWindow) {
|
||||
global.mainWindow.webContents.send('check_updates', status);
|
||||
}
|
||||
}
|
||||
|
||||
autoUpdater.on('update-available', function() {
|
||||
ipcChannelSendUpdateStatus(true);
|
||||
}).on('update-not-available', function() {
|
||||
ipcChannelSendUpdateStatus(false);
|
||||
}).on('error', function(error) {
|
||||
ipcChannelSendUpdateStatus(error.message);
|
||||
});
|
||||
@@ -19,7 +19,7 @@ const {app, shell, Menu} = require('electron');
|
||||
// Menu template from http://electron.atom.io/docs/api/menu/, edited
|
||||
const template = [
|
||||
{
|
||||
label: '&Edit',
|
||||
label: 'Edit',
|
||||
submenu: [
|
||||
{ role: 'undo' },
|
||||
{ role: 'redo' },
|
||||
@@ -33,7 +33,7 @@ const template = [
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '&View',
|
||||
label: 'View',
|
||||
submenu: [
|
||||
{ type: 'separator' },
|
||||
{ role: 'resetzoom' },
|
||||
@@ -45,7 +45,6 @@ const template = [
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '&Window',
|
||||
role: 'window',
|
||||
submenu: [
|
||||
{ role: 'minimize' },
|
||||
@@ -53,7 +52,6 @@ const template = [
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '&Help',
|
||||
role: 'help',
|
||||
submenu: [
|
||||
{
|
||||
@@ -124,7 +122,7 @@ if (process.platform === 'darwin') {
|
||||
];
|
||||
} else {
|
||||
template.unshift({
|
||||
label: '&File',
|
||||
label: 'File',
|
||||
submenu: [
|
||||
// For some reason, 'about' does not seem to work on windows.
|
||||
/*{
|
||||
|
||||
@@ -84,23 +84,13 @@ module.exports = function (config) {
|
||||
// available preprocessors:
|
||||
// https://npmjs.org/browse/keyword/karma-preprocessor
|
||||
preprocessors: {
|
||||
'{src,test}/**/*.js': ['webpack', 'sourcemap'],
|
||||
'{src,test}/**/*.js': ['webpack'],
|
||||
},
|
||||
|
||||
// test results reporter to use
|
||||
// possible values: 'dots', 'progress'
|
||||
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
|
||||
reporters: ['logcapture', 'spec', 'junit', 'summary'],
|
||||
|
||||
specReporter: {
|
||||
suppressErrorSummary: false, // do print error summary
|
||||
suppressFailed: false, // do print information about failed tests
|
||||
suppressPassed: false, // do print information about passed tests
|
||||
showSpecTiming: true, // print the time elapsed for each spec
|
||||
},
|
||||
|
||||
client: {
|
||||
captureLogs: true,
|
||||
},
|
||||
reporters: ['progress', 'junit'],
|
||||
|
||||
// web server port
|
||||
port: 9876,
|
||||
@@ -123,23 +113,8 @@ module.exports = function (config) {
|
||||
browsers: [
|
||||
'Chrome',
|
||||
//'PhantomJS',
|
||||
//'ChromeHeadless'
|
||||
],
|
||||
|
||||
customLaunchers: {
|
||||
'ChromeHeadless': {
|
||||
base: 'Chrome',
|
||||
flags: [
|
||||
// '--no-sandbox',
|
||||
// See https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md
|
||||
'--headless',
|
||||
'--disable-gpu',
|
||||
// Without a remote debugging port, Google Chrome exits immediately.
|
||||
'--remote-debugging-port=9222',
|
||||
],
|
||||
}
|
||||
},
|
||||
|
||||
// Continuous Integration mode
|
||||
// if true, Karma captures browsers, runs the tests and exits
|
||||
// singleRun: false,
|
||||
|
||||
48
package.json
@@ -2,7 +2,7 @@
|
||||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"main": "electron_app/src/electron-main.js",
|
||||
"version": "0.12.4",
|
||||
"version": "0.10.0-rc.1",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Vector Creations Ltd.",
|
||||
"repository": {
|
||||
@@ -31,8 +31,8 @@
|
||||
"build:res": "node scripts/copy-res.js",
|
||||
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
||||
"build:compile": "npm run reskindex && babel --source-maps -d lib src",
|
||||
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail",
|
||||
"build:bundle:dev": "webpack --optimize-occurence-order --progress --bail",
|
||||
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress",
|
||||
"build:bundle:dev": "webpack --optimize-occurence-order --progress",
|
||||
"build:electron": "npm run clean && npm run build && npm run install:electron && build -wml --ia32 --x64",
|
||||
"build": "npm run reskindex && npm run build:res && npm run build:bundle",
|
||||
"build:dev": "npm run reskindex && npm run build:res && npm run build:bundle:dev",
|
||||
@@ -46,41 +46,38 @@
|
||||
"start:prod": "parallelshell \"npm run reskindex:watch\" \"npm run start:res\" \"npm run start:js:prod\"",
|
||||
"lint": "eslint src/",
|
||||
"lintall": "eslint src/ test/",
|
||||
"clean": "rimraf lib webapp electron_app/dist",
|
||||
"clean": "rimraf lib webapp electron/dist",
|
||||
"prepublish": "npm run build:compile",
|
||||
"test": "karma start --single-run=true --autoWatch=false --browsers ChromeHeadless",
|
||||
"test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
|
||||
"test-multi": "karma start"
|
||||
},
|
||||
"dependencies": {
|
||||
"babel-polyfill": "^6.5.0",
|
||||
"babel-runtime": "^6.11.6",
|
||||
"bluebird": "^3.5.0",
|
||||
"browser-request": "^0.3.3",
|
||||
"classnames": "^2.1.2",
|
||||
"draft-js": "^0.11.0-alpha",
|
||||
"draft-js": "^0.8.1",
|
||||
"extract-text-webpack-plugin": "^0.9.1",
|
||||
"favico.js": "^0.3.10",
|
||||
"filesize": "3.5.6",
|
||||
"flux": "2.1.1",
|
||||
"flux": "~2.0.3",
|
||||
"gemini-scrollbar": "matrix-org/gemini-scrollbar#b302279",
|
||||
"gfm.css": "^1.1.1",
|
||||
"highlight.js": "^9.0.0",
|
||||
"linkifyjs": "^2.1.3",
|
||||
"matrix-js-sdk": "0.8.3",
|
||||
"matrix-react-sdk": "0.10.4",
|
||||
"matrix-js-sdk": "0.7.9",
|
||||
"matrix-react-sdk": "0.9.0-rc.1",
|
||||
"modernizr": "^3.1.0",
|
||||
"pako": "^1.0.5",
|
||||
"prop-types": "^15.5.10",
|
||||
"react": "^15.6.0",
|
||||
"q": "^1.4.1",
|
||||
"react": "^15.4.0",
|
||||
"react-dnd": "^2.1.4",
|
||||
"react-dnd-html5-backend": "^2.1.2",
|
||||
"react-dom": "^15.6.0",
|
||||
"react-dom": "^15.4.0",
|
||||
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
|
||||
"sanitize-html": "^1.11.1",
|
||||
"text-encoding-utf-8": "^1.0.1",
|
||||
"ua-parser-js": "^0.7.10",
|
||||
"url": "^0.11.0",
|
||||
"velocity-vector": "vector-im/velocity#059e3b2"
|
||||
"url": "^0.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^6.6.0",
|
||||
@@ -89,7 +86,7 @@
|
||||
"babel-eslint": "^6.1.0",
|
||||
"babel-loader": "^6.2.5",
|
||||
"babel-plugin-add-module-exports": "^0.2.1",
|
||||
"babel-plugin-transform-async-to-bluebird": "^1.1.1",
|
||||
"babel-plugin-transform-async-to-generator": "^6.16.0",
|
||||
"babel-plugin-transform-class-properties": "^6.16.0",
|
||||
"babel-plugin-transform-object-rest-spread": "^6.16.0",
|
||||
"babel-plugin-transform-runtime": "^6.15.0",
|
||||
@@ -104,7 +101,6 @@
|
||||
"css-raw-loader": "^0.1.1",
|
||||
"electron-builder": "^11.2.4",
|
||||
"electron-builder-squirrel-windows": "^11.2.1",
|
||||
"electron-devtools-installer": "^2.2.0",
|
||||
"emojione": "^2.2.7",
|
||||
"eslint": "^3.14.0",
|
||||
"eslint-config-google": "^0.7.1",
|
||||
@@ -115,22 +111,18 @@
|
||||
"fs-extra": "^0.30.0",
|
||||
"html-webpack-plugin": "^2.24.0",
|
||||
"json-loader": "^0.5.3",
|
||||
"karma": "^1.7.0",
|
||||
"karma": "^0.13.22",
|
||||
"karma-chrome-launcher": "^0.2.3",
|
||||
"karma-cli": "^0.1.2",
|
||||
"karma-junit-reporter": "^0.4.1",
|
||||
"karma-logcapture-reporter": "0.0.1",
|
||||
"karma-mocha": "^0.2.2",
|
||||
"karma-sourcemap-loader": "^0.3.7",
|
||||
"karma-spec-reporter": "0.0.31",
|
||||
"karma-summary-reporter": "^1.3.3",
|
||||
"karma-phantomjs-launcher": "^1.0.0",
|
||||
"karma-webpack": "^1.7.0",
|
||||
"matrix-mock-request": "^1.2.0",
|
||||
"matrix-react-test-utils": "^0.2.0",
|
||||
"minimist": "^1.2.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"mocha": "^2.4.5",
|
||||
"parallelshell": "^1.2.0",
|
||||
"phantomjs-prebuilt": "^2.1.7",
|
||||
"postcss-extend": "^1.0.5",
|
||||
"postcss-import": "^9.0.0",
|
||||
"postcss-loader": "^1.2.2",
|
||||
@@ -140,7 +132,7 @@
|
||||
"postcss-simple-vars": "^3.0.0",
|
||||
"postcss-strip-inline-comments": "^0.1.5",
|
||||
"react-addons-perf": "^15.4.0",
|
||||
"react-addons-test-utils": "^15.6.0",
|
||||
"react-addons-test-utils": "^15.4.0",
|
||||
"rimraf": "^2.4.3",
|
||||
"source-map-loader": "^0.1.5",
|
||||
"webpack": "^1.12.14",
|
||||
@@ -152,7 +144,7 @@
|
||||
"build": {
|
||||
"appId": "im.riot.app",
|
||||
"category": "Network",
|
||||
"electronVersion": "1.7.5",
|
||||
"electronVersion": "1.6.8",
|
||||
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
|
||||
"asar": false,
|
||||
"dereference": true,
|
||||
@@ -170,7 +162,7 @@
|
||||
"category": "Network;InstantMessaging;Chat",
|
||||
"maintainer": "support@riot.im",
|
||||
"desktop": {
|
||||
"StartupWMClass": "riot"
|
||||
"StartupWMClass": "riot-web"
|
||||
}
|
||||
},
|
||||
"win": {
|
||||
|
||||
@@ -11,7 +11,7 @@ cd `dirname $0`
|
||||
|
||||
for i in matrix-js-sdk matrix-react-sdk
|
||||
do
|
||||
depver=`cat package.json | jq -r .dependencies[\"$i\"]`
|
||||
depver=`cat package.json | jq -r .dependencies.\"$i\"`
|
||||
latestver=`npm show $i version`
|
||||
if [ "$depver" != "$latestver" ]
|
||||
then
|
||||
|
||||
BIN
res/flags/AD.png
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/AE.png
|
Before Width: | Height: | Size: 1015 B After Width: | Height: | Size: 841 B |
BIN
res/flags/AF.png
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/AG.png
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/AI.png
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/AL.png
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/AM.png
|
Before Width: | Height: | Size: 654 B After Width: | Height: | Size: 744 B |
BIN
res/flags/AO.png
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/AQ.png
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/AR.png
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 955 B |
BIN
res/flags/AS.png
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/AT.png
|
Before Width: | Height: | Size: 655 B After Width: | Height: | Size: 701 B |
BIN
res/flags/AU.png
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
res/flags/AW.png
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 938 B |
BIN
res/flags/AX.png
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 900 B |
BIN
res/flags/AZ.png
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 978 B |
BIN
res/flags/BA.png
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/BB.png
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/BD.png
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
res/flags/BE.png
|
Before Width: | Height: | Size: 558 B After Width: | Height: | Size: 689 B |
BIN
res/flags/BF.png
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 954 B |
BIN
res/flags/BG.png
|
Before Width: | Height: | Size: 659 B After Width: | Height: | Size: 737 B |
BIN
res/flags/BH.png
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 842 B |
BIN
res/flags/BI.png
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/BJ.png
|
Before Width: | Height: | Size: 811 B After Width: | Height: | Size: 777 B |
BIN
res/flags/BL.png
|
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 692 B |
BIN
res/flags/BM.png
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BN.png
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BO.png
|
Before Width: | Height: | Size: 668 B After Width: | Height: | Size: 733 B |
BIN
res/flags/BQ.png
|
Before Width: | Height: | Size: 672 B After Width: | Height: | Size: 726 B |
BIN
res/flags/BR.png
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BS.png
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/BT.png
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BV.png
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 866 B |
BIN
res/flags/BW.png
|
Before Width: | Height: | Size: 669 B After Width: | Height: | Size: 697 B |
BIN
res/flags/BY.png
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 950 B |
BIN
res/flags/BZ.png
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/CA.png
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/CC.png
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/CD.png
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/CF.png
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/CG.png
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/CH.png
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 800 B |
BIN
res/flags/CI.png
|
Before Width: | Height: | Size: 568 B After Width: | Height: | Size: 692 B |
BIN
res/flags/CK.png
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/CL.png
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 964 B |
BIN
res/flags/CM.png
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 908 B |
BIN
res/flags/CN.png
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/CO.png
|
Before Width: | Height: | Size: 668 B After Width: | Height: | Size: 726 B |
BIN
res/flags/CR.png
|
Before Width: | Height: | Size: 785 B After Width: | Height: | Size: 734 B |
BIN
res/flags/CU.png
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/CV.png
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/CW.png
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 970 B |
BIN
res/flags/CX.png
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
res/flags/CY.png
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/CZ.png
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/DE.png
|
Before Width: | Height: | Size: 568 B After Width: | Height: | Size: 734 B |
BIN
res/flags/DJ.png
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/DK.png
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 797 B |
BIN
res/flags/DM.png
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/DO.png
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 946 B |
BIN
res/flags/DZ.png
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/EC.png
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/EE.png
|
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 723 B |
BIN
res/flags/EG.png
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 914 B |
BIN
res/flags/EH.png
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/ER.png
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 1.7 KiB |
BIN
res/flags/ES.png
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/ET.png
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
res/flags/FI.png
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 841 B |
BIN
res/flags/FJ.png
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/FK.png
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/FM.png
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/FO.png
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 834 B |
BIN
res/flags/FR.png
|
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 692 B |
BIN
res/flags/GA.png
|
Before Width: | Height: | Size: 661 B After Width: | Height: | Size: 753 B |
BIN
res/flags/GB.png
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/GD.png
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/GE.png
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/GF.png
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
res/flags/GG.png
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1001 B |
BIN
res/flags/GH.png
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1010 B |
BIN
res/flags/GI.png
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.1 KiB |