Skip to content

Commit e3dcaeb

Browse files
authored
Merge branch 'develop' into patch-2
2 parents ba7991d + f625590 commit e3dcaeb

File tree

142 files changed

+3671
-1345
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+3671
-1345
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<!-- Please report security issues by email to security@matrix.org -->
2+
13
<!-- This is a bug report template. By following the instructions below and
24
filling out the sections with your information, you will help the us to get all
35
the necessary data to fix your issue.

.travis.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ dist: trusty
33

44
# we don't need sudo, so can run in a container, which makes startup much
55
# quicker.
6-
sudo: false
6+
#
7+
# unfortunately we do temporarily require sudo as a workaround for
8+
# https://github.com/travis-ci/travis-ci/issues/8836
9+
sudo: required
710

811
language: node_js
912
node_js:

AUTHORS.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ include:
1313

1414
* Michael Telatynski (https://github.com/t3chguy)
1515
Improved consistency of inverted elements in dark theme across browsers
16+
17+
* Alexandr Korsak (https://github.com/oivoodoo)
18+
Improved multiple file uploading

README.md

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,13 @@ You can configure the app by copying `config.sample.json` to
128128
1. `cross_origin_renderer_url`: URL to a static HTML page hosting code to help display
129129
encrypted file attachments. This MUST be hosted on a completely separate domain to
130130
anything else since it is used to isolate the privileges of file attachments to this
131-
domain. Default: `usercontent.riot.im`. This needs to contain v1.html from
131+
domain. Default: `https://usercontent.riot.im/v1.html`. This needs to contain v1.html from
132132
https://github.com/matrix-org/usercontent/blob/master/v1.html
133+
1. `piwik`: an object containing the following properties:
134+
1. `url`: The URL of the Piwik instance to use for collecting Analytics
135+
1. `whitelistedHSUrls`: a list of HS URLs to not redact from the Analytics
136+
1. `whitelistedISUrls`: a list of IS URLs to not redact from the Analytics
137+
1. `siteId`: The Piwik Site ID to use when sending Analytics to the Piwik server configured above
133138

134139
Running as a Desktop app
135140
========================
@@ -314,31 +319,51 @@ For a developer guide, see the [translating dev doc](docs/translating-dev.md).
314319
Triaging issues
315320
===============
316321
317-
Issues will be triaged by the core team using the following primary set of tags:
322+
Issues will be triaged by the core team using the below set of tags.
318323
319-
priority:
324+
Tags are meant to be used in combination - e.g.:
325+
* P1 critical bug == really urgent stuff that should be next in the bugfixing todo list
326+
* "release blocker" == stuff which is blocking us from cutting the next release.
327+
* P1 feature type:voip == what VoIP features should we be working on next?
320328
321-
* P1: top priority; typically blocks releases
329+
priority: **compulsory**
330+
331+
* P1: top priority - i.e. pool of stuff which we should be working on next
322332
* P2: still need to fix, but lower than P1
323333
* P3: non-urgent
324-
* P4: intereseting idea - bluesky some day
334+
* P4: interesting idea - bluesky some day
325335
* P5: recorded for posterity/to avoid duplicates. No intention to resolves right now.
326336
327-
bug or feature:
337+
bug or feature: **compulsory**
328338
329339
* bug
330340
* feature
331341
332-
bug severity:
342+
bug severity: **compulsory, if bug**
333343
334-
* cosmetic - feature works functionally but UI/UX is broken
335344
* critical - whole app doesn't work
336345
* major - entire feature doesn't work
337346
* minor - partially broken feature (but still usable)
347+
* cosmetic - feature works functionally but UI/UX is broken
348+
349+
types
350+
* type:* - refers to a particular part of the app; used to filter bugs
351+
on a given topic - e.g. VOIP, signup, timeline, etc.
338352
339-
additional categories:
353+
additional categories (self-explanatory):
340354
341355
* release blocker
342356
* ui/ux (think of this as cosmetic)
343357
* network (specific to network conditions)
344-
* platform (platform specific)
358+
* platform specific
359+
* accessibility
360+
* maintenance
361+
* performance
362+
* i18n
363+
* blocked - whether this issue currently can't be progressed due to outside factors
364+
365+
community engagement
366+
* easy
367+
* hacktoberfest
368+
* bounty? - proposal to be included in a bounty programme
369+
* bounty - included in Status Open Bounty

config.sample.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
{
22
"default_hs_url": "https://matrix.org",
33
"default_is_url": "https://vector.im",
4+
"disable_custom_urls": false,
5+
"disable_guests": false,
6+
"disable_login_language_selector": false,
7+
"disable_3pid_login": false,
48
"brand": "Riot",
59
"integrations_ui_url": "https://scalar.vector.im/",
610
"integrations_rest_url": "https://scalar.vector.im/api",
@@ -10,6 +14,8 @@
1014
"feature_pinning": "labs"
1115
},
1216
"default_federate": true,
17+
"welcomePageUrl": "home.html",
18+
"default_theme": "light",
1319
"roomDirectory": {
1420
"servers": [
1521
"matrix.org"
@@ -18,6 +24,8 @@
1824
"welcomeUserId": "@riot-bot:matrix.org",
1925
"piwik": {
2026
"url": "https://piwik.riot.im/",
27+
"whitelistedHSUrls": ["https://matrix.org"],
28+
"whitelistedISUrls": ["https://vector.im", "https://matrix.org"],
2129
"siteId": 1
2230
}
2331
}

docs/skinning thoughts.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
== Skinning refactor ==
2+
3+
matrix-react-sdk
4+
- base images
5+
- base CSS
6+
- all the components needed to build a workable app (including the top layer)
7+
8+
riot-web: the riot skin
9+
- riot-specific classes (e.g. login header/footer)
10+
- riot-specific themes
11+
- light
12+
- dark
13+
14+
i.e. the only things which should go into riot-web are bits which apply vector-specific skinning
15+
specifically "Stuff that any other brand would not want to use. (e.g. riot logos, links, T&Cs)"
16+
- Questions:
17+
- Electron app? (should probably be a separate repo in its own right? but might as well go here for now)
18+
- index.html & index.js? (should be in matrix-react-sdk, given the SDK is useless without them?)
19+
20+
ideally matrix-react-sdk itself should ship with a default skin which actually works built in.
21+
22+
status skin (can go in the same app for now)
23+
- has status theme
24+
- which inherits from riot light theme
25+
- how do we share graphics between skins?
26+
- shove them into react-sdk, or...
27+
- guess we do ../../vector/img
28+
- this means keeping the skin name in the images (unless /img is a shortcut to the right skin's images)
29+
30+
out of scope:
31+
- making the components more independent, so they can be used in isolation.
32+
- that said, the bits which should probably be used by being embeded into a different app:
33+
- login/reg
34+
- RoomView + RoomSettings
35+
- MessageComposer
36+
- RoomList
37+
- MemberList
38+
- MemberInfo
39+
- Voip UI
40+
- UserSettings
41+
- sharing different js-sdks between the different isolated modules
42+
43+
other changes:
44+
- how do we handle i18n?
45+
- each skin should really be its own i18n project. As long as all the commonality stuff is in matrix-react-sdk this shouldn't be too bad.
46+
- ability to associate components with a given skin
47+
- skins/vector/src <-- components
48+
- skins/vector/css
49+
- skins/vector/img
50+
- skins/vector/fonts
51+
- gather together themes (per skin) into a single place too
52+
- skins/vector/themes/foo/css
53+
- skins/vector/themes/foo/img
54+
- skins/vector/themes/foo/fonts
55+
- ideally riot-web would contain almost nothing but skins/vector directory.
56+
- ability to entirely replace CSS rather than override it for a given theme
57+
- e.g. if we replace `Login.js` with `StatusLogin.js`, then we should similarly be able to replace `_Login.scss` with `_StatusLogin.scss`.
58+
59+
random thoughts;
60+
- should we be able to change the entire skin at runtime (more like wordpress) - to the extent of replacing entire components?
61+
- might pose security issues if a theme can be swapped out to replace MatrixChat or other fundamental functionality at runtime
62+
- if so, perhaps skins & themes should converge...
63+
64+
-----------------
65+
66+
Immediate plan for Status:
67+
* Implement it as a theme for the riot skin
68+
* Ideally move skins to a sensible level (possibly even including src?)

docs/translating-dev.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,13 @@ function getColorName(hex) {
3636
## Adding variables inside a string.
3737

3838
1. Extend your ``_t()`` call. Instead of ``_t(STRING)`` use ``_t(STRING, {})``
39-
2. Decide how to name it. Please think about if the person who has to translate it can understand what it does.
40-
3. Add it to the array in ``_t`` for example ``_t(STRING, {variable: this.variable})``
41-
4. Add the variable inside the string. The syntax for variables is ``%(variable)s``. Please note the s at the end. The name of the variable has to match the previous used name.
39+
1. Decide how to name it. Please think about if the person who has to translate it can understand what it does. E.g. using the name 'recipient' is bad, because a translator does not know if it is the name of a person, an email address, a user ID, etc. Rather use e.g. recipientEmailAddress.
40+
1. Add it to the array in ``_t`` for example ``_t(STRING, {variable: this.variable})``
41+
1. Add the variable inside the string. The syntax for variables is ``%(variable)s``. Please note the _s_ at the end. The name of the variable has to match the previous used name.
42+
43+
- You can use the special ``count`` variable to choose between multiple versions of the same string, in order to get the correct pluralization. E.g. ``_t('You have %(count)s new messages', { count: 2 })`` would show 'You have 2 new messages', while ``_t('You have %(count)s new messages', { count: 1 })`` would show 'You have one new message' (assuming a singular version of the string has been added to the translation file. See above). Passing in ``count`` is much prefered over having an if-statement choose the correct string to use, because some languages have much more complicated plural rules than english (e.g. they might need a completely different form if there are three things rather than two).
44+
- If you want to translate text that includes e.g. hyperlinks or other HTML you have to also use tag substitution, e.g. ``_t('<a>Click here!</a>', {}, { 'a': (sub) => <a>{sub}</a> })``. If you don't do the tag substitution you will end up showing literally '<a>' rather than making a hyperlink.
45+
- You can also use React components with normal variable substitution if you want to insert HTML markup, e.g. ``_t('Your email address is %(emailAddress)s', { emailAddress: <i>{userEmailAddress}</i> })``.
4246

4347
## Things to know/Style Guides
4448

@@ -47,3 +51,5 @@ function getColorName(hex) {
4751
- If a string is presented in the UI with punctuation like a full stop, include this in the translation strings, since punctuation varies between languages too.
4852
- Avoid "translation in parts", i.e. concatenating translated strings or using translated strings in variable substitutions. Context is important for translations, and translating partial strings this way is simply not always possible.
4953
- Concatenating strings often also introduces an implicit assumption about word order (e.g. that the subject of the sentence comes first), which is incorrect for many languages.
54+
- Translation 'smell test': If you have a string that does not begin with a capital letter (is not the start of a sentence) or it ends with e.g. ':' or a preposition (e.g. 'to') you should recheck that you are not trying to translate a partial sentence.
55+
- If you have multiple strings, that are almost identical, except some part (e.g. a word or two) it is still better to translate the full sentence multiple times. It may seem like inefficient repetion, but unlike programming where you try to minimize repetition, translation is much faster if you have many, full, clear, sentences to work with, rather than fewer, but incomplete sentence fragments.

docs/translating.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Head to the explanations under Steb 2b
3535
## Step 2b: Adding a new language
3636

3737
1. Go to one of the projects listed https://translate.riot.im/projects/riot-web/
38-
2. Click the ``Start new language`` button at the bottom
38+
2. Click the ``Start new translation`` button at the bottom
3939
3. Select a language
4040
4. Start translating like in 2a.3
4141
5. Repeat these steps for the other projects which are listed at the link of step 2b.1

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"main": "electron_app/src/electron-main.js",
55
"version": "0.13.5",
66
"description": "A feature-rich client for Matrix.org",
7-
"author": "Vector Creations Ltd.",
7+
"author": "New Vector Ltd.",
88
"repository": {
99
"type": "git",
1010
"url": "https://github.com/vector-im/riot-web"
@@ -74,8 +74,7 @@
7474
"pako": "^1.0.5",
7575
"prop-types": "^15.5.10",
7676
"react": "^15.6.0",
77-
"react-dnd": "^2.1.4",
78-
"react-dnd-html5-backend": "^2.1.2",
77+
"react-beautiful-dnd": "^4.0.1",
7978
"react-dom": "^15.6.0",
8079
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
8180
"sanitize-html": "^1.11.1",

0 commit comments

Comments
 (0)