RiotRobot
7d07ab7c7e
v2.3.2
2019-09-16 17:40:19 +01:00
RiotRobot
f8ff3aac58
Prepare changelog for v2.3.2
2019-09-16 17:40:19 +01:00
David Baker
299a7728d1
Merge pull request #1034 from matrix-org/travis/t2
...
[Release] Fix addPendingEvent with pending event order == chronological
2019-09-16 17:02:32 +01:00
David Baker
39dc6a1742
Fix addPendingEvent with pending event order == chronological
...
When the pending event order setting was set to 'chronological'
(the default) `addPendingEvent` would NPE because Room no longer
has a `this._filter` property. It should get the filter from the
event timeline set instead, as it does in the previous line when
checking or the presence of a filter.
We should strongly consider changing the default pending event order
to 'detached' and probably removing 'chronological' or comitting to
support it properly: it's not really tested and is prone to breakage
like this.
Applies flumpt's fix from https://github.com/matrix-org/matrix-js-sdk/issues/599
Fixes https://github.com/matrix-org/matrix-js-sdk/issues/599
2019-09-16 09:36:14 -06:00
RiotRobot
f21c5aa7f2
v2.3.2-rc.1
2019-09-13 16:13:27 +01:00
RiotRobot
e9bc3f26a5
Prepare changelog for v2.3.2-rc.1
2019-09-13 16:13:27 +01:00
David Baker
23eaddd6ea
Merge pull request #1033 from matrix-org/travis/t1
...
Synapse admin functions to release
2019-09-13 16:07:58 +01:00
Travis Ralston
8143ce8450
Update src/client.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-09-13 09:01:16 -06:00
Travis Ralston
0a487ec43e
Add Synapse admin functions for deactivating a user
...
For https://github.com/matrix-org/matrix-react-sdk/pull/3371
2019-09-13 09:01:05 -06:00
Travis Ralston
0edb483802
Merge pull request #1032 from matrix-org/travis/t1
...
[To Release] Add matrix base API to report an event
2019-09-13 08:27:31 -06:00
Michael Telatynski
06a32ce0a1
Add matrix base API to report an event
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-09-13 08:24:49 -06:00
RiotRobot
a57ec87c67
v2.3.1
2019-09-12 12:48:36 +01:00
RiotRobot
4e62491ea4
Prepare changelog for v2.3.1
2019-09-12 12:48:36 +01:00
RiotRobot
5758029c1e
v2.3.1-rc.1
2019-09-11 18:38:22 +01:00
RiotRobot
8f08710c58
Prepare changelog for v2.3.1-rc.1
2019-09-11 18:38:21 +01:00
David Baker
90f98105f0
Merge pull request #1031 from matrix-org/dbkr/update_profile_on_redact_2
...
Update room members on member event redaction
2019-09-11 18:12:46 +01:00
David Baker
90354aa330
Update room members on member event redaction
...
If a member event was redacted, we weren't updating the current
state.
2019-09-11 18:09:54 +01:00
RiotRobot
06adc34fb3
v2.3.0
2019-08-05 11:46:46 +01:00
RiotRobot
87bf07f95e
Prepare changelog for v2.3.0
2019-08-05 11:46:46 +01:00
Travis Ralston
ab512d087c
Merge pull request #1008 from matrix-org/travis/tombstone-push-rel
...
[release] Support rewriting push rules when our internal defaults change
2019-08-01 08:30:01 -06:00
Travis Ralston
6799c29921
Appease the tests
2019-08-01 08:23:19 -06:00
Travis Ralston
a3f1da1981
Appease the linter
2019-08-01 08:23:19 -06:00
Travis Ralston
3b225651cc
Support rewriting push rules when our internal defaults change
...
and change our internal default for tombstones
2019-08-01 08:23:19 -06:00
RiotRobot
aa8c2ca277
v2.3.0-rc.1
2019-07-31 16:20:54 +01:00
RiotRobot
84509087ac
Prepare changelog for v2.3.0-rc.1
2019-07-31 16:20:54 +01:00
J. Ryan Stinnett
2450d461fd
Merge pull request #1002 from matrix-org/jryans/is-v2-auth
...
Add support for IS v2 API with authentication
2019-07-30 18:13:08 +01:00
J. Ryan Stinnett
50c590ae26
Note cleanup issue
2019-07-30 10:38:53 +01:00
J. Ryan Stinnett
516dff06ee
Rename isAccessToken to identityAccessToken
2019-07-30 10:06:52 +01:00
Travis Ralston
9a8af05bfb
Merge pull request #1001 from matrix-org/hs/recursive-tombstone-fixes
...
Tombstone bugfixes
2019-07-29 08:52:59 -06:00
Will Hunt
c9bf61c387
Simplify Set
2019-07-29 15:29:18 +01:00
Will Hunt
4f0f2e8c16
Fix issues with recursive tombstones
2019-07-29 15:27:32 +01:00
J. Ryan Stinnett
6f042a2142
Add IS v2 support to other IS APIs
...
This adds v2 support with fallback to other IS APIs in the SDK.
2019-07-29 14:55:40 +01:00
J. Ryan Stinnett
91416bdbb2
Add IS v1 API fallback for lookup
2019-07-29 14:44:15 +01:00
J. Ryan Stinnett
9b093f7569
Add first pass of IS v2 API with authentication
...
This only updates the `/lookup` API so far. It also doesn't handle falling back
to v1.
2019-07-29 13:15:19 +01:00
David Baker
6cca73b999
Merge pull request #988 from matrix-org/dbkr/terms
...
Support for MSC2140 (terms of service for IS/IM)
2019-07-23 10:32:05 +01:00
David Baker
fafd6df13e
Use standard _matrix path for terms endpoints
2019-07-22 18:53:36 +01:00
RiotRobot
8f77870526
Merge branch 'master' into develop
2019-07-18 15:44:16 +01:00
RiotRobot
eb0462e89b
v2.2.0
2019-07-18 15:42:21 +01:00
RiotRobot
80748d7d85
Prepare changelog for v2.2.0
2019-07-18 15:42:20 +01:00
David Baker
b694d53b73
Revert 8004e82c50
...
We need to switch the paths over all at once, so we can't commit
this yet: leave it until scalar suypports the new API then we can
update develop to use the _matrix paths.
(Also for some reason I broke the IS path too)
2019-07-15 14:26:16 +01:00
David Baker
8004e82c50
Use _matrix prefix for terms API
2019-07-15 13:51:39 +01:00
J. Ryan Stinnett
85b5849228
Upgrade lodash
2019-07-12 19:25:47 +01:00
J. Ryan Stinnett
6b86777e96
Upgrade lodash
2019-07-12 19:25:21 +01:00
RiotRobot
efe64a4817
v2.2.0-rc.2
2019-07-12 17:25:20 +01:00
RiotRobot
ad777f36b2
Prepare changelog for v2.2.0-rc.2
2019-07-12 17:25:20 +01:00
J. Ryan Stinnett
de77ad867c
Merge pull request #995 from matrix-org/jryans/v2.2.0/devices
...
Add a request method to /devices
2019-07-12 16:47:06 +01:00
Travis Ralston
9b35f86497
Add a request method to /devices
...
Turns out `HTTP /devices undefined` is invalid.
Regressed in https://github.com/matrix-org/matrix-js-sdk/pull/990
2019-07-12 16:38:43 +01:00
Travis Ralston
84fc8b1931
Merge pull request #994 from matrix-org/travis/fix-devices
...
Add a request method to /devices
2019-07-12 08:12:59 -06:00
RiotRobot
455c85fb69
v2.2.0-rc.1
2019-07-12 11:12:26 +01:00
RiotRobot
2a2fed695b
Prepare changelog for v2.2.0-rc.1
2019-07-12 11:12:25 +01:00
Travis Ralston
c1f28bd410
Add a request method to /devices
...
Turns out `HTTP /devices undefined` is invalid.
Regressed in https://github.com/matrix-org/matrix-js-sdk/pull/990
2019-07-11 14:35:04 -06:00
David Baker
c74e0bb6b3
tell people what an IS/IM are
2019-07-11 16:29:27 +01:00
David Baker
5b9e158035
unused param
...
getTerms is un-authed so doesn't need the access token
2019-07-11 16:28:41 +01:00
Travis Ralston
a8d200dd02
Merge pull request #993 from matrix-org/travis/sas-is-done
...
End the verification timer when verification is done
2019-07-11 08:20:30 -06:00
Travis Ralston
34ae967cb8
Merge pull request #990 from matrix-org/travis/stably-use-stable-apis
...
Stabilize usage of stably stable APIs (in a stable way)
2019-07-11 08:20:14 -06:00
RiotRobot
a67f14825e
Merge branch 'master' into develop
2019-07-11 10:36:44 +01:00
RiotRobot
50c14d0ab8
v2.1.1
2019-07-11 10:34:58 +01:00
RiotRobot
0edb6e6f6f
Prepare changelog for v2.1.1
2019-07-11 10:34:58 +01:00
Travis Ralston
36d0dacda1
Process ephemeral events outside timeline handling
2019-07-11 10:21:44 +01:00
Bruno Windels
83b74070aa
Merge pull request #987 from matrix-org/bwindels/include-orig-in-history
...
Expose original_event for /relations
2019-07-11 08:09:44 +00:00
Travis Ralston
f80af68686
End the verification timer when verification is done
...
Fixes https://github.com/matrix-org/matrix-js-sdk/issues/980
This also improves cleanliness in the tests to cancel/terminate timers when needed.
2019-07-10 14:51:12 -06:00
Travis Ralston
fe4ac06f43
Use the correct media endpoints
2019-07-10 13:24:11 -06:00
Travis Ralston
eaaa3e980a
Use unstable prefix for key backup
2019-07-10 13:17:31 -06:00
Travis Ralston
07629bfb9a
unstable -> stable
2019-07-10 13:11:46 -06:00
Travis Ralston
88fdeca2bf
Merge pull request #989 from matrix-org/travis/edu-timeline
...
Process ephemeral events outside timeline handling
2019-07-10 10:38:02 -06:00
Travis Ralston
a3c8eac38b
Process ephemeral events outside timeline handling
2019-07-10 10:26:21 -06:00
Bruno Windels
bd5380c0b4
Merge pull request #986 from matrix-org/bwindels/include-ssa-for-replace
...
Don't accept any locally known edits earlier than the last known server-side aggregated edit
2019-07-10 14:38:26 +00:00
David Baker
c3b5767999
update comment to reflect right version
2019-07-10 12:19:12 +01:00
David Baker
9e5c2732c9
consistent spacing
2019-07-10 12:18:41 +01:00
David Baker
b8957fa917
omit null params
2019-07-10 12:17:52 +01:00
David Baker
52c139dcdc
Forgot /terms for ISes
...
and IMs shouldn't have a slash
2019-07-10 12:15:31 +01:00
David Baker
39d4bf1494
SERVICE_TYPES
2019-07-10 12:08:13 +01:00
David Baker
4c713e3387
s/servicetypes/service-types/
2019-07-10 11:53:59 +01:00
David Baker
bb486f5148
SERVICE_TYPES
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-07-10 11:47:36 +01:00
David Baker
524fea1297
lint
2019-07-10 10:43:54 +01:00
David Baker
e9528ebb98
Support for MSC2140 (terms of service for IS/IM)
2019-07-09 18:50:01 +01:00
Bruno Windels
de18283c3b
map, decrypt and return original_event if present
2019-07-09 17:52:58 +02:00
Bruno Windels
cc1c7561a3
Merge pull request #984 from matrix-org/bwindels/replace-server-date
...
Get edit date transparently from server aggregations or local echo
2019-07-09 15:03:02 +00:00
Bruno Windels
5d928f07a0
don't accept any edit earlier than the server-side set edit.
2019-07-09 15:06:07 +02:00
Bruno Windels
01b882480f
method to get edit date transparently from server aggregations or local echo
2019-07-09 11:29:19 +02:00
Travis Ralston
21d52fdbdd
Merge pull request #982 from matrix-org/travis/soft-logout-keys
...
Add a function to flag keys for backup without scheduling a backup
2019-07-08 11:48:09 -06:00
RiotRobot
f9baff2a3a
Merge branch 'master' into develop
2019-07-08 10:46:33 +01:00
RiotRobot
71eca4ffcc
v2.1.0
2019-07-08 10:44:47 +01:00
RiotRobot
bc8dca5105
Prepare changelog for v2.1.0
2019-07-08 10:44:47 +01:00
David Baker
3ae3dffff7
Lint
2019-07-08 10:37:24 +01:00
David Baker
81c6023940
Fix exception whilst syncing
...
event.getPushRules() may return null (for better or worse...).
Use client.getPushRulesForEvent which will calculate them if they
haven't already been calculated.
Fixes https://github.com/vector-im/riot-web/issues/10269
2019-07-08 10:37:24 +01:00
Travis Ralston
3a0f27fa7e
Add a function to flag keys for backup without scheduling a backup
...
For https://github.com/vector-im/riot-web/issues/10263
Starting/scheduling the backup won't help us because the token would be invalid from a server perspective. Instead, we should update what needs to be done and return a count.
2019-07-05 13:50:11 -06:00
J. Ryan Stinnett
60e339bac0
Merge pull request #981 from matrix-org/jryans/reactions-send-marks-unread
...
Block read marker and read receipt from advancing into pending events
2019-07-05 17:55:52 +01:00
J. Ryan Stinnett
ecb88f45b7
Merge pull request #977 from matrix-org/jryans/upgrade-deps
...
Upgrade dependencies
2019-07-05 17:50:10 +01:00
J. Ryan Stinnett
24a869d15b
Update copyright header
2019-07-05 15:07:56 +01:00
J. Ryan Stinnett
1d427a1ea8
Block read marker and read receipt from advancing into pending events
...
This changes the methods that update the read marker and read receipts to
prevent advancing into pending events.
Part of https://github.com/vector-im/riot-web/issues/9952
2019-07-05 13:59:04 +01:00
J. Ryan Stinnett
90e25867ad
Merge pull request #976 from matrix-org/jryans/push-rule-reactions
...
Add default push rule to ignore reactions
2019-07-05 12:01:31 +01:00
David Baker
2ae56e61cb
Merge pull request #979 from matrix-org/dbkr/fix_sync_exception
...
Fix exception whilst syncing
2019-07-05 11:08:00 +01:00
David Baker
56c0830328
Lint
2019-07-05 10:32:33 +01:00
David Baker
093f139d34
Fix exception whilst syncing
...
event.getPushRules() may return null (for better or worse...).
Use client.getPushRulesForEvent which will calculate them if they
haven't already been calculated.
Fixes https://github.com/vector-im/riot-web/issues/10269
2019-07-05 10:26:47 +01:00
Travis Ralston
1083efc212
Merge pull request #975 from matrix-org/travis/soft-logout-base
...
Include the error object when raising Session.logged_out
2019-07-04 09:57:22 -06:00
J. Ryan Stinnett
69773c2619
Upgrade dependencies
2019-07-04 15:04:34 +01:00
J. Ryan Stinnett
2525b5a5d8
Add default push rule to ignore reactions
...
This adds a default push rule to ignore reactions as proposed in
[MSC2153](https://github.com/matrix-org/matrix-doc/pull/2153 ). By adding it here
in the client directly, we can try out the idea early even if it hasn't appeared
in the user's HS yet.
Part of https://github.com/vector-im/riot-web/issues/10208
2019-07-04 14:41:04 +01:00
Travis Ralston
ff9c84ff94
Fix tests
2019-07-03 16:50:24 -06:00
Travis Ralston
3aa2bf8a76
Include the error object when raising Session.logged_out
...
Note: The `call` argument previously defined in the SDK was never actually populated, and appears to be a documentation error when the definition was copied from `Call.incoming` directly above it.
2019-07-03 16:42:33 -06:00
RiotRobot
a229ece693
v2.1.0-rc.1
2019-07-03 16:40:08 +01:00
RiotRobot
b435137332
Prepare changelog for v2.1.0-rc.1
2019-07-03 16:40:07 +01:00
Travis Ralston
2cdbc9f4db
Merge pull request #974 from matrix-org/travis/e2e-self-notif
...
Handle self read receipts for fixing e2e notification counts
2019-07-03 09:16:22 -06:00
Michael Telatynski
aa6884e484
Merge pull request #973 from matrix-org/t3chguy/show_hidden_redactions_missing_redacts
...
Add redacts field to event.toJSON
2019-07-03 13:10:16 +01:00
Bruno Windels
4f4d694687
Merge pull request #972 from matrix-org/bwindels/handle-associated-failures
...
Handle associated event send failures
2019-07-03 09:02:49 +00:00
Travis Ralston
1b47999e80
Handle self read receipts for fixing e2e notification counts
...
Fixes https://github.com/vector-im/riot-web/issues/9421
This also adds a context to the ReEmitter so we have access to the Room at the time of read receipt. Without this, we have to bind handlers to every encrypted room (which is tedious to maintain) or figure out which room `$something` belong to (CPU intensive).
2019-07-02 13:12:29 -06:00
Michael Telatynski
02427651dd
Add redacts field to event.toJSON
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2019-07-02 19:44:16 +01:00
Bruno Windels
8eeb088e50
allow to clear replacement on redacted events
...
this is needed when cancelling sending anything related to an event,
to not keep the event as edited when we cancel the edit
before the redaction.
2019-07-02 13:12:13 +02:00
Travis Ralston
3f62581556
Merge pull request #971 from matrix-org/travis/cleanup-debugging
...
Remove irrelevant debug line from timeline handling
2019-07-01 09:47:36 -06:00
Travis Ralston
b53a7f6ee8
Remove irrelevant debug line from timeline handling
...
See https://github.com/matrix-org/matrix-js-sdk/pull/877#discussion_r271704218
2019-06-28 16:29:18 -06:00
Bruno Windels
a4591afba6
clarify when this will return something
2019-06-27 17:53:49 +02:00
Bruno Windels
6ea4c77dd5
expose local echo redaction event on redacted event
2019-06-27 17:53:29 +02:00
Bruno Windels
dc3d90d696
keep local redaction event to return accurate status
2019-06-27 17:17:53 +02:00
Bruno Windels
00de919eb4
Merge pull request #969 from matrix-org/bwindels/e2e-edit-history
...
Handle relations in encrypted rooms
2019-06-27 13:15:59 +00:00
Bruno Windels
fdacc2f7ab
dont try to decrypt reactions
2019-06-27 15:03:47 +02:00
J. Ryan Stinnett
5a64c29228
Fix logging typo
...
Regression from https://github.com/matrix-org/matrix-js-sdk/pull/924
2019-06-27 13:27:13 +01:00
Bruno Windels
c5cddf1607
take reactions into account when fetching relations from e2e rooms
2019-06-27 14:06:57 +02:00
Bruno Windels
44c7844a4b
handle relations in encrypted rooms
2019-06-27 12:35:34 +02:00
Bruno Windels
f293da5b34
Merge pull request #967 from matrix-org/bwindels/edit-history
...
Relations endpoint support
2019-06-26 14:38:46 +00:00
Bruno Windels
4f044de79e
add jsdocs
2019-06-26 15:48:39 +02:00
Bruno Windels
da116e6077
remove c/p leftover
2019-06-26 15:48:27 +02:00
Bruno Windels
2489180c47
rename pagination token option to from, more in line with cs api
2019-06-26 15:47:59 +02:00
J. Ryan Stinnett
4ec4d330aa
Merge pull request #968 from matrix-org/jryans/reactions-disable-encryption
...
Disable event encryption for reactions
2019-06-26 11:29:47 +01:00
Bruno Windels
c75ca1c2d6
fix lint and encode path params properly
2019-06-26 12:10:24 +02:00
Bruno Windels
67462e9fc4
support paginating relations
2019-06-26 12:00:25 +02:00
Bruno Windels
424b6303ef
basic support for /relations endpoint
2019-06-26 12:00:25 +02:00
J. Ryan Stinnett
59c4e2c354
Disable event encryption for reactions
...
For reactions, there is a very little gained by encrypting the entire event, as
relation data is already kept in the clear. Event encryption for a reaction
effectively only obscures the event type, but the purpose is still obvious from
the relation data, so nothing is really gained. It also causes quite a few
problems, such as:
* triggers notifications via default push rules
* prevents server-side bundling for reactions
The reaction key / content / emoji value does warrant encrypting, but this will
be handled separately by encrypting just this value.
See https://github.com/matrix-org/matrix-doc/pull/1849#pullrequestreview-248763642
Fixes https://github.com/vector-im/riot-web/issues/10130
2019-06-26 10:59:44 +01:00
Travis Ralston
ecca8bc86e
Merge pull request #966 from matrix-org/travis/known-safe
...
Change the known safe room version to version 4
2019-06-25 17:29:24 -06:00
Travis Ralston
43ca920b10
Change the known safe room version to version 4
...
The default room version in the spec is v4 due to widespread adoption. We should mirror that.
2019-06-25 15:19:28 -06:00
Travis Ralston
e1a3f8f053
Merge pull request #965 from matrix-org/travis/detect-ll-r0.5
...
Check for lazy-loading support in the spec versions instead
2019-06-25 09:02:20 -06:00
Travis Ralston
6e7cb63e7d
Check for lazy-loading support in the spec versions instead
...
Fixes https://github.com/vector-im/riot-web/issues/9966
2019-06-24 13:03:06 -06:00
Travis Ralston
ab1177d987
Merge pull request #963 from huan/patch-1
...
Use cameCase instead of underscore
2019-06-24 11:09:36 -06:00
Huan LI (李卓桓)
ee0a1d281d
Use cameCase instead of underscore
...
To make all the variable names to be consistent
2019-06-23 11:56:05 +08:00
Travis Ralston
aef7b9a1dc
Merge pull request #961 from matrix-org/travis/sas-timeouts
...
Time out verification attempts after 10 minutes of inactivity
2019-06-20 14:29:18 -06:00
Travis Ralston
7cb8de5b69
Appease the linter
2019-06-20 14:17:51 -06:00
Travis Ralston
5c2fb1c42b
Null check and naming
2019-06-20 14:12:16 -06:00
Travis Ralston
553857583d
Merge pull request #962 from matrix-org/travis/sas-cancel
...
Don't handle key verification requests which are immediately cancelled
2019-06-20 09:10:31 -06:00
Travis Ralston
6d0923153f
Don't handle key verification requests which are immediately cancelled
...
Fixes https://github.com/vector-im/riot-web/issues/10083
Fixes https://github.com/vector-im/riot-web/issues/9197
Fixes https://github.com/vector-im/riot-web/issues/8629
The issue is partially fixed by https://github.com/matrix-org/matrix-react-sdk/pull/3123 in that users would no longer see "Incoming request", but would launch their client to a bunch of "key verification cancelled" dialogs. To work around this, we just don't handle key verification requests which we know are cancelled.
The changes are a bit awkward (flagging the event as cancelled instead of filtering it) because:
* We probably don't want to prevent events getting sent over the EventEmitter because applications may still rely on them.
* The cypto side only has visibility of 1 event at a time, so it needs to have some kind of flag to rely on.
An attempt has been made to generalize the new event flag for possible future cases.
2019-06-19 16:46:38 -06:00
Travis Ralston
e34eb48914
Don't timeout cancelled requests
...
The cancelled flag is used upstream and is therefore public.
2019-06-19 14:44:36 -06:00
Travis Ralston
05ab6ef3ab
Time out verification attempts after 10 minutes of inactivity
...
Fixes https://github.com/vector-im/riot-web/issues/10117
2019-06-19 14:15:58 -06:00
RiotRobot
81eefc1377
v2.0.1
2019-06-19 15:43:38 +01:00
RiotRobot
895d854e1c
Prepare changelog for v2.0.1
2019-06-19 15:43:38 +01:00
RiotRobot
e432d4f808
v2.0.1-rc.2
2019-06-18 15:28:47 +01:00
RiotRobot
56c0ae294b
Prepare changelog for v2.0.1-rc.2
2019-06-18 15:28:47 +01:00
David Baker
0b9d68b4f2
Merge remote-tracking branch 'origin/develop' into release-v2.0.1
2019-06-18 15:24:51 +01:00
Bruno Windels
e2e034f795
Merge pull request #960 from matrix-org/bwindels/redactions-blended-echo
...
return 'sending' status for an event that is only locally redacted
2019-06-18 13:09:03 +00:00
Bruno Windels
bb5e3d51b8
remove redundant localecho part from method name
2019-06-18 14:58:17 +02:00
Bruno Windels
70b23614b5
comment typo
2019-06-18 14:55:58 +02:00
Bruno Windels
24a75e3765
return 'sending' status for an event that is only locally redacted
2019-06-18 13:46:34 +02:00
Hubert Chathi
d694ee3ef3
Merge pull request #954 from uhoreg/fix_verification_request
...
Key verification request fixes
2019-06-14 15:39:01 -04:00
David Baker
efbdf4e1a8
Merge pull request #956 from matrix-org/dbkr/resurrect_riot_bot
...
Add flag to force saving sync store
2019-06-14 17:20:27 +01:00
David Baker
44bfc2e846
Add flag to force saving sync store
...
Add a 'force' flag to to the save method of the store to force the
store to sace its data even if it wouldn't normally.
2019-06-14 15:57:49 +01:00
Travis Ralston
0121bdbb75
welcome back, Olm
2019-06-14 08:23:27 -06:00
David Baker
b8ba77a7b5
Merge pull request #953 from matrix-org/dbkr/simplify_email_reg
...
Expose the inhibit_login flag to register
2019-06-13 18:22:23 +01:00
David Baker
65dd5cc6ad
use right variable
2019-06-13 16:30:39 +01:00
David Baker
8aeb994839
Expose the inhibit_login flag to register
2019-06-13 16:23:11 +01:00
Hubert Chathi
64daa444dd
Key verification request fixes
...
- fix requestVerification in MatrixClient to match the function in crypto
- reorder the arguments so that the arguments actually do what they say they
do
- pass through the third argument, which was accidentally omitted
- ignore verification requests from ourselves
- also fix a comment
2019-06-13 10:55:06 -04:00
Bruno Windels
26aab4f38d
Merge pull request #947 from matrix-org/bwindels/relations-unsent
...
Support redactions and relations of/with unsent events.
2019-06-13 11:32:37 +00:00
Bruno Windels
6059df1b67
move CANCELLED check deeper into aggregation path
2019-06-13 12:28:02 +02:00
Bruno Windels
2a0c85c772
add hasAssociation helper
2019-06-13 12:28:02 +02:00
Bruno Windels
3488fbe64c
expand comment why need to preserve redaction local echo on remote echo
2019-06-13 12:28:02 +02:00
Bruno Windels
811a98ad19
whitespace, newlines
2019-06-13 12:28:02 +02:00
Bruno Windels
4462f4b90e
add isRedaction helper on Event
2019-06-13 12:28:02 +02:00
Bruno Windels
4143a79f7b
rename related id to associated id
2019-06-13 12:26:38 +02:00
Bruno Windels
3ed9b00398
clarify why we need to listen for remote echo of related event
2019-06-13 12:26:38 +02:00
Bruno Windels
b005b75331
comment typo
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-06-13 12:26:38 +02:00
Bruno Windels
a9f9e2cf35
comment typo
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-06-13 12:26:38 +02:00
Bruno Windels
5602b94dcb
make sure where not re-adding cancelled events when undoing local red.
2019-06-13 12:26:38 +02:00
Bruno Windels
930de640ac
don't add events from /sync that have been locally redacted
...
it'll cause the reactions counter to go up and down while reactions
and redactions come in.
In case the local redaction gets cancelled,
Room._revertRedactionLocalEcho will add the relation back to
the relations collection.
2019-06-13 12:26:38 +02:00
Bruno Windels
6d9fba8191
preserve (locally) redacted state after applying remote echo
...
because the RedactionDimensions was trying to redact an event
that was already redacted after it's remote echo had come in
but it's redaction hadn't synced yet.
2019-06-13 12:26:38 +02:00
Bruno Windels
624c6f0a6e
get the txnId from the correct place to delete event after remote echo
2019-06-13 12:26:38 +02:00
Bruno Windels
7d2f7fae45
fix tests
2019-06-13 12:26:38 +02:00
Bruno Windels
3f917b39c9
fix lint
2019-06-13 12:26:38 +02:00
Bruno Windels
f1336a5ce7
rename target id to related id and add jsdoc comments
2019-06-13 12:26:38 +02:00
Bruno Windels
7a10d504b2
emit Relations.redaction synchronously, timeout should not be needed
...
listeners shouldn't care about the original event, as it's removed
from the Relations collection already.
2019-06-13 12:26:38 +02:00
Bruno Windels
831aec6488
emit remote id once received so enqueued relations have it when sent
2019-06-13 12:26:38 +02:00
Bruno Windels
6eb229ac1e
first look in pending event list for event being redacted
...
in case the redacted event hasn't been sent yet
2019-06-13 12:26:38 +02:00
Bruno Windels
c58db665dd
give the client a chance to run room.updatePendingEvent after sending
...
before the next event is sent. This is needed to update the target id
if it was the local id of the event that was just sent.
2019-06-13 12:26:38 +02:00
Bruno Windels
e222fb1783
enqueue relations and redactions as well
...
as they might need to wait until their target has been sent
2019-06-13 12:26:38 +02:00
RiotRobot
31a0192c2d
v2.0.1-rc.1
2019-06-12 11:47:36 +01:00
RiotRobot
53f8091e3a
Prepare changelog for v2.0.1-rc.1
2019-06-12 11:47:35 +01:00
David Baker
012cbf7995
Merge pull request #952 from matrix-org/jryans/file-api-changes
...
Fix content uploads for modern browsers
2019-06-11 13:11:53 +01:00
J. Ryan Stinnett
ac26c91cba
Fix content uploads for modern browsers
...
Modern browsers now expose a `stream` function on the Blob and File interfaces.
This conflicts with an older style of passing data to the `uploadContent` SDK
method, which supported supplying the data to upload in the `stream` property of
an object.
Since this old style is still in active use in the Matrix JS ecosystem, we
preserve the backwards compatibility for now by checking whether `stream` is a
function.
This fix has been tested in Firefox Nightly (69), Firefox Release (67), Chrome
Canary (77), and Chrome Stable (75).
Fixes https://github.com/vector-im/riot-web/issues/9913
Fixes https://github.com/matrix-org/matrix-js-sdk/issues/949
2019-06-11 13:02:42 +01:00
David Baker
c13162aada
Merge pull request #951 from matrix-org/dbkr/one_request_at_a_time_two
...
Don't overlap auth submissions with polls
2019-06-11 10:42:32 +01:00
David Baker
9fb6eea8b7
Document what to use instead
2019-06-10 18:04:30 +01:00
David Baker
23c4f19cda
lint
2019-06-10 16:29:55 +01:00
David Baker
3b34570749
doc background flag deprecation
2019-06-10 16:26:09 +01:00
David Baker
0412ca5810
make busyChanged optional
2019-06-10 16:24:20 +01:00
David Baker
c80518bf3e
s/setBusy/busyChanged/
2019-06-10 16:23:06 +01:00
David Baker
61ee6eb8af
This should be null, not false
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com >
2019-06-10 16:19:45 +01:00
David Baker
654e8b41fa
Don't overlap auth submissions with polls
...
Wait for polls to complete before submitting auth dicts, otherwise
we risk the requests overlapping and both returning a 200.
Also introduces a setBusy interface to interactive-auth to explicitly
set the busy status, since otherwise it doesn't get set until the
request actually starts.
2019-06-10 15:18:46 +01:00
J. Ryan Stinnett
7080458f7e
Merge pull request #945 from matrix-org/jryans/funding
...
Add funding details for GitHub sponsor button
2019-06-07 20:42:28 +01:00
J. Ryan Stinnett
08d236f5ec
Add funding details for GitHub sponsor button
2019-06-07 11:46:56 +01:00
David Baker
e332a7d113
Merge pull request #944 from matrix-org/dbkr/verify_signature_modifies_the_object_because_everything_is_awful
...
Fix backup sig validation with multiple sigs
2019-06-07 11:26:13 +01:00
David Baker
7879709f62
Fix backup sig validation with multiple sigs
...
verifySignature modifies the object so we need to clone if we're
verifying more than one signature.
Fixes https://github.com/vector-im/riot-web/issues/9357
2019-06-07 11:05:44 +01:00
David Baker
56e030762e
Merge pull request #943 from matrix-org/dbkr/wait_for_token_request
...
Don't send another token request while one's in flight
2019-06-06 19:18:20 +01:00
David Baker
bac73150ca
Don't send another token request while one's in flight
...
Otherwise we end up with more tokens than are strictly necessary
2019-06-06 19:03:29 +01:00
David Baker
2e1fb15ada
Merge pull request #942 from matrix-org/dbkr/one_poll_at_a_time
...
Don't poll UI auth again until current poll finishes
2019-06-06 18:36:34 +01:00
David Baker
ae9bcd6f6c
Don't poll UI auth again until current poll finishes
...
On slow networks/servers we were ending up with lots of requests in
flight.
2019-06-06 18:31:54 +01:00
Travis Ralston
c18c679b9b
Merge pull request #938 from matrix-org/travis/fail-fast-but-not-too-fast
...
Provide the discovered URLs when a liveliness error occurs
2019-06-06 09:03:39 -06:00
Travis Ralston
d014ee0b72
Merge pull request #941 from matrix-org/travis/redact-v3
...
Encode event IDs when redacting events
2019-06-06 08:29:15 -06:00
Travis Ralston
a30ef7250b
Encode event IDs when redacting events
...
Because v3 rooms are a thing.
2019-06-05 15:27:55 -06:00
Hubert Chathi
570ce4f4b7
Merge pull request #940 from uhoreg/fix_missing_logger
...
add missing logger
2019-06-05 14:49:38 -04:00
Hubert Chathi
3c7c9048eb
add missing logger
2019-06-05 14:04:39 -04:00
Hubert Chathi
41243757ee
Merge pull request #939 from uhoreg/unpicky_verification
...
verification: don't error if we don't know about some keys
2019-06-05 12:18:53 -04:00
Hubert Chathi
2af311bd7d
verification: don't error if we don't know about some keys
2019-06-05 11:56:37 -04:00
Bruno Windels
1bc9ee7110
Merge pull request #937 from matrix-org/bwindels/redactions-local-echo
...
Local echo for redactions
2019-06-05 07:49:31 +00:00
Bruno Windels
4e040f8e77
correct comments about redaction events
2019-06-05 09:41:52 +02:00
Travis Ralston
26c1c6db3b
Fix tests and populate the right IS validation object
2019-06-04 23:51:41 -06:00
Travis Ralston
d38da83656
Provide the discovered URLs when a liveliness error occurs
...
See https://github.com/vector-im/riot-web/issues/9828
2019-06-04 23:39:31 -06:00
Bruno Windels
58f163ed5c
emit Room.redactionCancelled event when undoing redaction local echo
2019-06-04 18:45:13 +02:00
Bruno Windels
c0c9f0122c
remove leftover newline
2019-06-04 16:08:14 +02:00
Bruno Windels
d33395e46d
improve naming and commenting for _aggregateNonLiveRelation
2019-06-04 15:54:31 +02:00
Bruno Windels
b83c7d3929
unneeded check, as redacted_because is now also set for local echo
2019-06-04 15:49:52 +02:00
Bruno Windels
b5df016b1b
remove unused method
2019-06-04 15:28:40 +02:00
Bruno Windels
a8b6be3b38
also set redacted_because with redaction local echo
2019-06-04 13:37:24 +02:00
Bruno Windels
78cf175f5a
also look for redaction local echo event in pendingList
...
also re-aggregate the relation if it's redaction has been cancelled
2019-06-04 11:55:48 +02:00
Travis Ralston
1b78856a7d
Merge pull request #934 from matrix-org/travis/re-check-version
...
Refresh safe room versions when the server looks more modern than us
2019-06-04 01:40:57 -06:00
Bruno Windels
8194287391
make redactEvent go through same local-echo aware path as other events
2019-06-03 18:37:25 +02:00
Bruno Windels
2eecea9a07
handle redactions in room pending event logic
2019-06-03 18:37:01 +02:00
Bruno Windels
465032dd4f
support marking an event as redacted in a way we can undo it later
...
in case the redaction can't be sent
2019-06-03 18:36:03 +02:00
Travis Ralston
e473315a89
Check for the correct capability when refreshing
2019-06-03 09:56:55 -06:00
Travis Ralston
9d34ad5287
Merge pull request #935 from matrix-org/travis/v4-rooms
...
Add v4 as a safe room version
2019-06-03 07:11:13 -06:00
Travis Ralston
a532cc5cf9
Add v4 as a safe room version
...
It's listed as stable in the spec, and this is for our fallback.
2019-06-02 23:36:02 -06:00
Travis Ralston
60c6c5bc41
Refresh safe room versions when the server looks more modern than us
...
Fixes https://github.com/vector-im/riot-web/issues/9845
2019-06-02 23:34:58 -06:00
J. Ryan Stinnett
0cbbbe8503
Merge pull request #933 from matrix-org/jryans/disable-guard-for-in
...
Disable guard-for-in rule
2019-05-31 18:10:57 +01:00
J. Ryan Stinnett
47a8d3e50a
Disable guard-for-in rule
...
The Google code style config for ESLint turns on `guard-for-in` to require
for-in loops to check own properties. This makes it annoying to iterate objects,
and we seem to disable the rule by line comments when it comes up anyway, so
this just disables it globally.
2019-05-31 16:36:54 +01:00
RiotRobot
304da09f3b
Merge branch 'master' into develop
2019-05-31 10:30:58 +01:00
RiotRobot
acd4dcb56e
v2.0.0
2019-05-31 10:29:21 +01:00
RiotRobot
c170456cde
Prepare changelog for v2.0.0
2019-05-31 10:29:20 +01:00
J. Ryan Stinnett
4e739e4b06
Merge pull request #932 from matrix-org/jryans/login-change-release
...
Saves access_token and user_id after login for all login types
2019-05-31 10:05:34 +01:00
J. Ryan Stinnett
137c6919f6
Fix undefined logger in webstorage.js
2019-05-31 10:01:32 +01:00
J. Ryan Stinnett
842ce30190
Fix lint error in login.spec.js
2019-05-31 09:54:47 +01:00
J. Ryan Stinnett
df1539040c
Fix lint error in login.spec.js
2019-05-31 09:54:11 +01:00
Sergii Stotskyi
2a04459bb2
fix(login): saves access_token and user_id after login for all login types
...
Signed-off-by: Sergii Stotskyi <sergiy.stotskiy@gmail.com >
Fixes #876
2019-05-31 09:40:51 +01:00
J. Ryan Stinnett
6367bf7c75
Merge pull request #931 from matrix-org/jryans/key-backup-base-x
...
Fix recovery key encoding for base-x 3.0.5
2019-05-30 18:29:17 +01:00
Travis Ralston
a0456dc430
Merge pull request #924 from jkasun/loglevel-extend
...
Extend loglevel logging for the whole project
2019-05-30 11:20:49 -06:00
Travis Ralston
52ec831b16
Merge pull request #930 from stalniy/fix/save-login-state
...
fix(login): saves access_token and user_id after login for all login types
2019-05-30 11:20:01 -06:00
J. Ryan Stinnett
8263062fab
Fix recovery key encoding for base-x 3.0.5
...
This fixes our recovery key encoding to work with base-x 3.0.5, which requires the
encoding input to be in a `Buffer`. (base-x is a dependency of bs58.)
Unfortunately, base-x hasn't marked this as breaking change through a major
version increment, so semantic versioning can't help us here to ensure we get
particular version.
I have verified that the change to `Buffer` works with both old and new base-x,
so we should be okay no matter what version is actually selected.
For extra fun, base-x 3.0.5 also uses newer JS features, which `uglify-js`
doesn't support. I have migrated to `terser` instead, which is what we're using
for Riot these days (via Webpack).
Fixes https://github.com/vector-im/riot-web/issues/9901
2019-05-30 15:42:39 +01:00
janith
9a2bf78a8e
logger.dir changed to a log
2019-05-30 12:58:32 +05:30
janith
cb16f7a60b
Minor Fixes
2019-05-30 09:35:37 +05:30
janith
ad84631ddb
Change logger import to ES6
2019-05-30 09:27:25 +05:30
RiotRobot
d78426d708
Merge branch 'master' into develop
2019-05-29 15:53:51 +01:00
RiotRobot
a9543df6db
v1.2.0
2019-05-29 15:52:20 +01:00
RiotRobot
aae388be93
Prepare changelog for v1.2.0
2019-05-29 15:52:19 +01:00
Sergii Stotskyi
4ef970b4da
fix(login): saves access_token and user_id after login for all login types
...
Signed-off-by: Sergii Stotskyi <sergiy.stotskiy@gmail.com >
Fixes #876
2019-05-28 17:47:49 +03:00
Travis Ralston
b199f133b3
fixup readme
2019-05-27 10:41:04 -06:00
Travis Ralston
7d1b183a1b
Merge pull request #929 from spantaleev/fix-non-integer-media-sizes
...
Do not try to request thumbnails with non-integer sizes
2019-05-27 08:37:03 -06:00
Slavi Pantaleev
49d119e92e
Do not try to request thumbnails with non-integer sizes
...
Issue described in: https://github.com/vector-im/riot-web/issues/9690
matrix-react-sdk was patched separately, so that it won't call `mxcUrlToHttp()`
(and in turn `getHttpUriForMxc()`) with non-integer sizes.
This patch fixes the JS SDK as well, hoping to prevent the same issue
from happening on other clients (besides matrix-react-sdk / riot-web).
Signed-off-by: Slavi Pantaleev <slavi@devture.com >
2019-05-27 11:25:35 +03:00
Janith Kasun
feed1da570
Merge branch 'develop' into loglevel-extend
2019-05-24 18:00:40 +05:30
Travis Ralston
a3ad835d84
Merge pull request #928 from matrix-org/revert-927-travis/wk-discovery
...
Revert "Add a bunch of debugging to .well-known IS validation"
2019-05-23 14:47:48 -06:00
Travis Ralston
f8afee8ebd
Revert "Add a bunch of debugging to .well-known IS validation"
2019-05-23 14:47:38 -06:00
Travis Ralston
7e955fc312
Merge pull request #927 from matrix-org/travis/wk-discovery
...
Add a bunch of debugging to .well-known IS validation
2019-05-23 14:19:33 -06:00
Travis Ralston
eebf92366f
Add a bunch of debugging to .well-known IS validation
2019-05-23 14:00:17 -06:00
RiotRobot
3c23e166a7
Upgrade jsdoc
2019-05-23 16:30:30 +01:00
RiotRobot
26a8439ce4
Upgrade jsdoc
2019-05-23 16:28:26 +01:00
RiotRobot
2c2e8fa1ac
v1.2.0-rc.1
2019-05-23 16:11:35 +01:00
RiotRobot
ddc2fa74b9
Prepare changelog for v1.2.0-rc.1
2019-05-23 16:11:35 +01:00
David Baker
93d51b83c3
Merge pull request #926 from matrix-org/dbkr/uiauth_send_email
...
interactive-auth now handles requesting email tokens
2019-05-22 14:24:08 +01:00
David Baker
f83eae4a46
typing hard
2019-05-22 13:11:05 +01:00
David Baker
87c6d11fca
PR feedback
2019-05-22 13:09:24 +01:00
David Baker
e87ac86e48
interactive-auth now handles requesting email tokens
...
interactive-auth now has a callback to request the email token which
it will call at the appropriate time (now at the start of the
auth process if the chosen flow contain an email auth stage).
This does make this a breaking change, although not sure this is
used outside of Riot. We could make it backwards compatible by
having an option for the new behaviour. It may not be worthwhile
though.
https://github.com/vector-im/riot-web/issues/9586
2019-05-22 11:51:05 +01:00
Janith Kasun
de8063a43a
Merge branch 'develop' into loglevel-extend
2019-05-19 09:40:38 +05:30
jkasun
a73dabcb67
Console logging to loglevel
2019-05-19 09:29:40 +05:30
Bruno Windels
7782e81101
Merge pull request #923 from matrix-org/bwindels/caneditcheckfix
...
allow access to unreplaced message content
2019-05-17 12:32:45 +00:00
Bruno Windels
aa70687d9e
allow access to unreplaced message content
2019-05-17 13:25:21 +01:00
Bruno Windels
38d32de06b
Merge pull request #922 from matrix-org/bwindels/editedmarker
...
Add method to retrieve replacing event
2019-05-17 11:04:00 +00:00
Bruno Windels
7720c72b73
correct return type
2019-05-17 12:03:36 +01:00
Bruno Windels
ff9505073f
add method to retrieve replacing event
2019-05-17 11:56:28 +01:00
David Baker
21ee1c31a7
Merge pull request #921 from matrix-org/dbkr/really_log_useful_info_on_verify_failure
...
More logging when signature verification fails
2019-05-17 10:18:34 +01:00
David Baker
fd01ba1fcf
More logging when signature verification fails
...
Still no luck diagnosing https://github.com/vector-im/riot-web/issues/9357
so adding more logging.
2019-05-17 10:08:27 +01:00
Bruno Windels
fbf53524ed
Merge pull request #920 from matrix-org/bwindels/message-editing-local-echo
...
Local echo for m.replace relations
2019-05-16 15:22:12 +00:00
Bruno Windels
1f2a701ace
remove double newline
2019-05-16 16:14:53 +01:00
Bruno Windels
0b87a573b3
reduce indenting by returning early, also actually pass replacement!
...
also add comment
2019-05-16 16:14:19 +01:00
Bruno Windels
74438716af
PR feedback/cleanup
2019-05-16 15:54:15 +01:00
Bruno Windels
d10b348e74
clear event replacement on redaction
...
as redaction supersedes a replacement
2019-05-16 15:53:46 +01:00
Bruno Windels
68e9be47d9
check if an incoming event is the target of a Relations
2019-05-16 15:49:55 +01:00
Bruno Windels
bddd03c2fd
separate setTargetEvent method
...
call makeReplaced from addEvent instead so it's all done from Relations
2019-05-16 15:48:03 +01:00
Bruno Windels
e23ba50dd8
only call aggregation code for local echo for relations
2019-05-16 14:42:09 +01:00
Bruno Windels
261ab7ae68
don't block local echo for m.replace anymore!
2019-05-16 14:40:55 +01:00
Bruno Windels
21c8c76dc3
helper method to get sending status of event or replacement
2019-05-16 14:40:39 +01:00
Bruno Windels
266d0f9d05
remove flag for edits as it's not handled separately anymore
2019-05-16 14:40:17 +01:00
Bruno Windels
69d25c1498
emit from MatrixEvent.makeReplaced instead of Room
...
now that event can be replaced from Relations instead of Room
Also make `makeReplaced` non-destructive by not touching the original
event.content, so it can be undone by later calls.
2019-05-16 14:38:48 +01:00
Bruno Windels
3cd2b3925a
re-evaluate last replacement on redaction and local echo cancellation
2019-05-16 14:36:38 +01:00
Bruno Windels
33e9eb371e
use relation handling in timelineset for replacements
2019-05-16 14:35:50 +01:00
Bruno Windels
07572d1e8d
helper method to get last valid replacement
2019-05-16 14:34:08 +01:00
Bruno Windels
dde4f558f3
set targetEvent on Relations, once known
2019-05-16 14:33:24 +01:00
J. Ryan Stinnett
79d2574ea7
Merge pull request #919 from matrix-org/jryans/reactions-status-bar
...
Track relations as pending and remove when cancelled
2019-05-16 13:39:41 +01:00
J. Ryan Stinnett
51fb5c4a15
Update aggregation by sender on remove
...
This updates the aggregation by sender in the relations collection on removal.
It also changes this aggregation to use a Set, so consumers will need to update.
2019-05-16 12:40:19 +01:00
J. Ryan Stinnett
875c6b973b
Remove cancelled relations from the relations collection
...
This listens for event status changes on sending events in case they might be
cancelled and removes them from aggregation if so.
Part of https://github.com/vector-im/riot-web/issues/9731
2019-05-16 12:29:28 +01:00
J. Ryan Stinnett
21e1312dd7
Allow relations into the pending event list
...
Relations actually should go into the pending event list, just like messages.
This is the easiest way to keep them in a holding area in case of unverified
devices, etc.
We still want the relations to local echo immediately, so we directly trigger
the aggregation on the timeline sets.
2019-05-16 12:26:36 +01:00
J. Ryan Stinnett
a722ef3b03
Merge pull request #916 from matrix-org/jryans/stringify-events
...
Add stringify helper to summarise events when debugging
2019-05-16 09:44:39 +01:00
J. Ryan Stinnett
80ba5d29f2
Add stringify helper to summarise events when debugging
2019-05-16 09:31:19 +01:00
Bruno Windels
a35e6a0f54
Merge pull request #918 from matrix-org/bwindels/message-edit-editor3
...
Message editing: filter out replacements for senders that are not the original sender
2019-05-15 17:21:03 +00:00
J. Ryan Stinnett
bdc1958c08
Merge pull request #917 from matrix-org/jryans/encrypted-reactions
...
Wait until decrypt before aggregating
2019-05-15 17:26:07 +01:00
Bruno Windels
3f2bac71c6
filter out replacements for senders that are not the original sender
2019-05-15 15:52:37 +01:00
J. Ryan Stinnett
6b9a11b697
Wait until decrypt before aggregating
...
For encrypted annotations, we need to wait until the event has been decrypted
before adding it to the relations collection.
2019-05-15 15:48:33 +01:00
J. Ryan Stinnett
f17ecba519
Add getRelation helper
...
This adds a `getRelation` helper to ensure we always read relation info from the
wire content as required in E2E rooms.
2019-05-15 15:48:33 +01:00
Bruno Windels
ce0b014a5a
Merge pull request #914 from matrix-org/bwindels/message-edit-editor2
...
Message editing: mark original event as replaced instead of replacing the event object
2019-05-15 14:11:38 +00:00
Bruno Windels
ad48d2997e
prevent earlier replacements from messing things up
2019-05-15 14:54:52 +01:00
Bruno Windels
1c1781ce76
make replacements work in e2e rooms
2019-05-15 14:54:21 +01:00
Bruno Windels
5fd001354a
replace content when replacing instead of evaluating in getContent
2019-05-15 14:53:44 +01:00
Bruno Windels
a18bdad44f
dont replace a redacted event
2019-05-15 13:56:13 +01:00
Bruno Windels
600dff62e8
detect relations on encrypted events properly
2019-05-15 13:56:00 +01:00
Bruno Windels
db7a402e9b
mark original event as replaced instead of replacing the event object
...
this is more in line with what happens on the server-side,
and also doesn't break existing reply relations.
2019-05-15 12:05:39 +01:00
Bruno Windels
0e53f9052f
Merge pull request #913 from matrix-org/bwindels/message-edit-editor
...
Support for replacing message through m.replace relationship.
2019-05-15 09:22:34 +00:00
Bruno Windels
62e69cacb7
remove leftover code, fix lint
2019-05-14 15:52:02 +01:00
Bruno Windels
852c88c341
add unstableClientRelationReplacements in js-sdk
2019-05-14 15:33:49 +01:00
Bruno Windels
455f52f1f5
remove logging
2019-05-14 15:25:47 +01:00
Bruno Windels
df6012c58d
completely avoid local echo for edits for now
2019-05-14 15:25:07 +01:00
Bruno Windels
f68a3dde46
cleanup
2019-05-14 15:24:57 +01:00
Bruno Windels
25e6b1cac8
handle m.replace relations in room, emit Room.replaceEvent
2019-05-14 15:24:36 +01:00
Travis Ralston
4ad20526db
Merge pull request #912 from matrix-org/travis/wk/timeouts
...
Use a short timeout for .well-known requests
2019-05-14 08:24:09 -06:00
Bruno Windels
18cd017f58
support marking an as replacing another
...
and take if the timestamp of the original event if so
also helper methods
2019-05-14 15:23:22 +01:00
Bruno Windels
0161664b6c
add support for replacing an existing event in a timeline(set)
2019-05-14 15:22:46 +01:00
Travis Ralston
25df31bf96
Use a short timeout for .well-known requests
...
Applies to verification of the homeserver, identity server, and fetching of the .well-known objects. Does not affect other HTTP requests.
See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 18:39:59 -06:00
Travis Ralston
09438b440e
Fix spelling error in txnId for redactions
...
Fixes https://github.com/vector-im/riot-web/issues/9700
2019-05-13 13:43:44 -06:00
J. Ryan Stinnett
6a5f5b249e
Merge pull request #911 from matrix-org/jryans/aggregations
...
Redaction and change events for relations
2019-05-13 15:20:15 +01:00
J. Ryan Stinnett
3a20114c39
Change to event-level beforeRedaction event for efficiency
...
To avoid an O(n^2) situation with every relations container trying to process
every redaction that may occur in a room, this switches to an event-level
notification, so that the specific relations container who cares can listen to
just the events it wants to know about.
2019-05-13 14:35:39 +01:00
J. Ryan Stinnett
f411d50253
Clarify before redaction event timing
2019-05-13 14:17:23 +01:00
J. Ryan Stinnett
00851df25c
Always add pending relation events to the timeline sets directly
...
This special cases pending relation events to go directly to the timeline sets
and ignores the `pendingEventOrdering` option. This feels a bit strange in the
code, so we should revisit this choice when we stabilized relation support.
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
8822d255b3
Fix indentation in src/models/event.js
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
4b4ba86167
Add Relations.add event for additional relations in collection
...
This adds a `Relations.add` event that consumers can listen for to be notified
each time an additional relation event is added to a relations collection.
Part of https://github.com/vector-im/riot-web/issues/9485
Part of https://github.com/vector-im/riot-web/issues/9572
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
7ea820f6e1
Add Event.relationsCreated event to listen for future relations collections
...
If you ask for relations but none currently exist, we return `null` to avoid the
overhead of many empty relations objects in memory. However, we still want some
way to alert consumers when one _is_ later made, so this event level event
provides that.
Part of https://github.com/vector-im/riot-web/issues/9572
Part of https://github.com/vector-im/riot-web/issues/9485
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
53d8cf0852
Update relation collections after redaction
...
This watches for redactions of relations and updates the relations collection
to match, including various aggregations. In addition, a redaction event is
emitted on the redaction collection to notify consumers of the change.
Part of https://github.com/vector-im/riot-web/issues/9574
Part of https://github.com/vector-im/riot-web/issues/9485
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
761806c678
Add support for class properties
...
This enables compiler and linting features to allow class properties like we do
in the React SDK.
2019-05-13 13:52:37 +01:00
J. Ryan Stinnett
d6abd639f3
Merge pull request #910 from matrix-org/jryans/aggregations
...
Add basic read path for relations
2019-05-09 12:01:57 +01:00
J. Ryan Stinnett
6078bbbe24
Add basic read path for relations
...
This adds a read path for relations (gated behind an unstable option). A few
basic client-side grouping and sorting operations are supported. Consumers are
expected to ask the `EventTimelineSet` for a relation container when desired.
2019-05-08 18:05:52 +01:00
J. Ryan Stinnett
c1c81df4de
Intern rel_type for relations
...
In anticipation of relations being quite frequently used, we should intern
strings of common fields, such as `rel_type`.
2019-05-08 17:41:06 +01:00
David Baker
ee8a4698a9
Merge branch 'master' into develop
2019-05-07 15:25:23 +01:00
David Baker
c1956d3f05
v1.1.0
2019-05-07 15:23:32 +01:00
David Baker
56316dc5d9
Prepare changelog for v1.1.0
2019-05-07 15:23:32 +01:00
Travis Ralston
b5c74b5666
Merge pull request #860 from matrix-org/travis/tombstone-notif
...
Add a concept of default push rules, using it for tombstone notifications
2019-05-03 11:21:37 -06:00
Travis Ralston
dc946dffbc
Add some words to explain why we do things the way we do
2019-05-03 11:19:46 -06:00
David Baker
937baadb9b
Merge pull request #907 from matrix-org/dbkr/yarn_upgrade_may19
...
yarn upgrade
2019-05-03 12:00:03 +01:00
David Baker
8d0c03b4f0
Add customer resolution for base-x
...
to fix dependency version to 3.0.4 (ie. the version that exports
ES5 rather than ES6)
2019-05-03 11:46:11 +01:00
David Baker
a3fba73044
Set base-x back to 3.0.4
...
3.0.5 exports ES6 which breaks the build.
Also specifically depending on version 3.0.4 in the package.json
doesn't look like it has the desired effect now (yarn just installs
two separate versions) so remove that.
2019-05-03 11:03:29 +01:00
David Baker
116cf31199
yarn upgrade
2019-05-03 10:50:23 +01:00
J. Ryan Stinnett
cdb78e4c75
Remove noisy debug logs
...
The debug logs in the sync loop haven't been helpful so far, and they are quite
noisy pushing other logs out of the way, so this change removes them.
2019-04-30 15:43:54 +01:00
David Baker
0bb9c56e94
Merge branch 'develop' into release-v1.1.0
2019-04-30 11:50:24 +01:00
David Baker
821f1c876b
Undo unintentional commenting
2019-04-30 11:48:38 +01:00
David Baker
e9b95f8567
v1.1.0-rc.1
2019-04-30 11:43:35 +01:00
David Baker
103d811441
Prepare changelog for v1.1.0-rc.1
2019-04-30 11:43:34 +01:00
David Baker
bb4f5a3fa1
Get the name of the pipeline right
2019-04-26 18:07:04 +01:00
David Baker
f5cbdeac8f
Trigger react-sdk build in buildkite pipeline
2019-04-26 18:06:04 +01:00
Hubert Chathi
56062e8e4e
Merge pull request #903 from uhoreg/olm-3.1.0
...
use the release version of olm 3.1.0
2019-04-24 18:19:15 -04:00
Hubert Chathi
03c85d48e5
update the yarn.lock with the olm release
2019-04-24 12:07:10 -04:00
Hubert Chathi
dd8f0fbdcb
use the release version of olm 3.1.0
2019-04-23 18:06:09 -04:00
Travis Ralston
fac61a76e9
Merge pull request #901 from matrix-org/travis/olm2
...
Use new Olm repo link in README
2019-04-18 08:26:12 -06:00
Travis Ralston
3b09ab3ca1
Use new Olm repo link in README
2019-04-17 23:50:51 -06:00
Travis Ralston
16bfe79305
Merge pull request #897 from matrix-org/travis/wk-custom
...
Support being fed a .well-known config object for validation
2019-04-17 09:58:22 -06:00
J. Ryan Stinnett
d668f97c98
Clarify comment
...
Co-Authored-By: turt2live <travpc@gmail.com >
2019-04-17 09:44:52 -06:00
Bruno Windels
18bd10b03d
Merge pull request #900 from matrix-org/bwindels/stylepreviewbar
...
emit self-membership event at end of handling sync update
2019-04-17 12:31:16 +00:00
Bruno Windels
6b1d089caf
Merge branch 'develop' into bwindels/stylepreviewbar
2019-04-17 14:24:25 +02:00
Travis Ralston
af93401385
Use more appropriate errors for some situations
2019-04-16 11:13:36 -06:00
Travis Ralston
fa5add3d99
Use the right error codes
2019-04-16 11:03:58 -06:00
Travis Ralston
fb971580e0
Merge branch 'develop' into travis/wk-custom
2019-04-16 11:01:49 -06:00
Bruno Windels
dcaea98e33
emit self-membership event at end of handling sync update
...
otherwise the room state isn't updated yet (and we can't for
example distinguish a leave from a kick)
this is only used for updating the UI,
seems safe to emit this event at a later point
2019-04-16 17:16:24 +02:00
Travis Ralston
b95079d1c5
Merge pull request #898 from matrix-org/travis/packages.matrix.org
...
Use packages.matrix.org for Olm
2019-04-16 09:14:21 -06:00
J. Ryan Stinnett
e59f36cdc0
Merge pull request #899 from matrix-org/travis/fix-tests
...
Fix tests on develop
2019-04-16 09:36:56 +01:00
Travis Ralston
0f2f041d8b
Use constants for autodiscovery errors
...
To ease usage
2019-04-15 22:04:24 -06:00
Travis Ralston
33d2837ec3
Use packages.matrix.org for Olm
...
See https://github.com/vector-im/riot-web/issues/9497
2019-04-15 21:23:18 -06:00
Travis Ralston
7cede221de
Support being fed a .well-known config object for validation
...
Used by Riot to consume the user's provided config. This also includes a change to carry over custom keys on m.homeserver and m.identity_server which aren't intentionally controlled.
2019-04-15 21:22:49 -06:00
Travis Ralston
fe47435fc7
Fix tests for autodiscovery
2019-04-15 21:12:17 -06:00
Travis Ralston
491226a916
Use the right this in _shouldAbortSync
2019-04-15 21:04:29 -06:00
Travis Ralston
deb7433453
Use toMatch for presence events
...
We don't pass the reference through, so the test fails with toEqual
2019-04-15 20:17:42 -06:00
Travis Ralston
14973a35c2
Use the right error object
2019-04-15 19:46:30 -06:00
Travis Ralston
b5779f8654
Merge pull request #895 from matrix-org/travis/stop-client-on-logout
...
Stop syncing when the token is invalid
2019-04-15 11:30:24 -06:00
Travis Ralston
f7d1984257
De-duplicate usage of shouldAbortSync
2019-04-15 11:29:55 -06:00
Bruno Windels
3fba683090
Merge pull request #887 from jkasun/fix_redact_put
...
change event redact, POST request to PUT request
2019-04-15 15:13:59 +00:00
jkasun
430da8ac09
JS Doc Fix
2019-04-15 20:34:39 +05:30
Travis Ralston
dcd9b5c382
Stop syncing when the token is invalid
...
Fixes https://github.com/vector-im/riot-web/issues/9451
2019-04-14 21:38:51 -06:00
jkasun
348c293962
Argument Length Check, Duplicate Fix for Redact Funcation
2019-04-13 22:23:57 +05:30
Travis Ralston
34309da10c
Merge pull request #894 from matrix-org/travis/guests/better-errors
...
Expose better autodiscovery error messages
2019-04-12 10:21:05 -06:00
Travis Ralston
6db973f430
Expose better autodiscovery error messages
...
Fixes https://github.com/vector-im/riot-web/issues/7925
2019-04-11 15:50:43 -06:00
J. Ryan Stinnett
9f27bafa62
Merge pull request #892 from jryans/degraded-storage
...
Explicitly guard store usage during sync startup
2019-04-09 17:12:07 +01:00
Travis Ralston
b05136146a
Merge pull request #893 from matrix-org/travis/v3-safe
...
Flag v3 rooms as safe
2019-04-09 10:00:56 -06:00
Travis Ralston
13d3be637b
Copyright 2019 NV
2019-04-09 09:58:33 -06:00
J. Ryan Stinnett
44de7fad6f
Preserve previous error flow
2019-04-09 16:44:36 +01:00
J. Ryan Stinnett
b99243406b
Move logs inside try block
2019-04-09 16:40:13 +01:00
Travis Ralston
0e9ec811b0
Merge pull request #890 from matrix-org/travis/cached-capabilities
...
Cache failed capabilities lookups for shorter amounts of time
2019-04-09 09:29:42 -06:00
Travis Ralston
6979177fb2
Log errors for capabilities requests
2019-04-09 09:27:38 -06:00
Travis Ralston
3aa8bfa6ca
Flag v3 rooms as safe
...
The spec says they are, so we might as well too.
2019-04-09 09:25:07 -06:00
Travis Ralston
17b356b08e
Merge pull request #891 from matrix-org/travis/fix-notifs
...
Fix highlight notifications for unencrypted rooms
2019-04-09 09:19:58 -06:00
Travis Ralston
f72ae490a8
Appease the linter
2019-04-09 09:05:20 -06:00
J. Ryan Stinnett
b0c3d0d2e3
Explicitly guard store usage during sync startup
...
This adds explicit `try` blocks in the spots where we interact with the store
during sync startup. This shouldn't be necessary as the store should already be
catching this and degrading as of
https://github.com/matrix-org/matrix-js-sdk/pull/884 , but that doesn't seem to
have been enough for the affected user in
https://github.com/vector-im/riot-web/issues/7769 , as they are seeing sync just
stop when storing without any further detail.
2019-04-09 15:06:54 +01:00
Travis Ralston
9dc344999e
Fix highlight notifications for unencrypted rooms
...
A logic error introduced by https://github.com/matrix-org/matrix-js-sdk/pull/886 meant that all unencrypted rooms were not getting highlight notifications.
2019-04-08 15:57:44 -06:00
Travis Ralston
663c096400
Cache failed capabilities lookups for shorter amounts of time
...
This should fix https://github.com/vector-im/riot-web/issues/9225 for showing up too often/too long.
2019-04-08 12:24:00 -06:00
J. Ryan Stinnett
420b4d119d
Merge pull request #889 from jryans/guard-missing-crypto
...
Document checking crypto state before using `hasUnverifiedDevices`
2019-04-08 16:56:13 +01:00
J. Ryan Stinnett
58b752c63b
Document checking crypto state before using hasUnverifiedDevices
...
It's unclear what `hasUnverifiedDevices` should do when crypto is disabled on
the current device. Let's at least document that callers should first check
crypto status.
2019-04-08 16:24:25 +01:00
J. Ryan Stinnett
4740232fa4
Merge pull request #888 from jryans/degraded-storage
...
Add logging to sync startup path
2019-04-08 16:20:29 +01:00
J. Ryan Stinnett
0cc9994b8b
Add logging to sync startup path
...
In https://github.com/vector-im/riot-web/issues/7769 , we're seeing sync startup
fail to complete, but the actual error isn't being logged. Hopefully these extra
debug logs will provide more insight into the failing step.
2019-04-08 15:55:52 +01:00
Bruno Windels
1e78628b23
Merge branch 'master' into develop
2019-04-08 16:04:45 +02:00
Bruno Windels
00f5ddc93c
v1.0.4
2019-04-08 16:03:26 +02:00
Bruno Windels
f79f2105fd
Prepare changelog for v1.0.4
2019-04-08 16:03:25 +02:00
Travis Ralston
828c51467f
Refuse to set forwards pagination token on live timeline
...
Should fix the error seen in https://github.com/matrix-org/riot-web-rageshakes/issues/1389 (https://github.com/vector-im/riot-web/issues/8593 )
2019-04-08 15:48:03 +02:00
Travis Ralston
963e271bce
Refuse to link live timelines into the forwards/backwards position
...
See https://github.com/vector-im/riot-web/issues/8593#issuecomment-478681816
Previously (https://github.com/matrix-org/matrix-js-sdk/pull/873 ) we allowed half-linking timelines to each other if they satisfy the conditions, however this appears to not be helping. Instead, it seems like the timelines are getting stuck in a position where one direction is spliced but the other is broken. To avoid this case, we'll just avoid splicing in both directions when one of the directions is invalid.
2019-04-08 15:47:40 +02:00
Travis Ralston
0ab41215f0
Add a tiny bit of logging to work out what timelines are doing
...
See https://github.com/vector-im/riot-web/issues/8593
2019-04-08 15:47:21 +02:00
Travis Ralston
d153c4da07
log the timeline that broke
2019-04-08 15:47:03 +02:00
Travis Ralston
91aa783c3d
Use better words for warnings
2019-04-08 15:46:56 +02:00
Travis Ralston
a54845bf76
Appease the linter
2019-04-08 15:46:48 +02:00
Travis Ralston
8a56a5f1ed
Refuse splicing the live timeline into a broken position
...
Credit to Matthew for basically solving this.
Theoretically fixes spontaneous timeline corruption: https://github.com/vector-im/riot-web/issues/8593
When the live timeline ends up in a position where it can no longer be live (such as becoming the second timeline in the set, rather than the first) we end up getting neighbouring timeline errors. By refusing to splice the live timeline into such a position, we hopefully keep the live timeline in a position of still being live for when it is next used.
The running theory that leads to this fix is multiple limited syncs coming in, causing holes in the timeline. When trying to patch up the holes, the timeline set would end up splicing all over the place, leading to potentially splicing the live timeline into a broken position.
2019-04-08 15:46:41 +02:00
Travis Ralston
f585c80491
Merge pull request #886 from matrix-org/travis/e2e-notifs-2
...
Track e2e highlights better, particularly in 'Mentions Only' rooms
2019-04-08 07:40:31 -06:00
jkasun
c495b12cef
change event redact, POST request to PUT request
2019-04-07 00:19:02 +05:30
Travis Ralston
1d6f7f862f
Track e2e highlights better, particularly in 'Mentions Only' rooms
...
Fixes https://github.com/vector-im/riot-web/issues/9280
The server is unable to calculate encrypted highlights for us, so we calculate them. This also means the server always sends a zero for highlight_count, and therefore in sync.js we now trust our judgement over the server's. In future, this check will need to be altered to support server-side encrypted notifications if that happens. This fixes the part of 9280 where the badge count ends up disappearing unless the message received also happens to be a mention.
The changes in client.js are more to support rooms which are mentions only. Because the server doesn't send an unread_count for these rooms, the total notifications will always be zero. Therefore, we try and calculate that. In order to do that, we need to assume that our highlight count is also wrong and calculate it appropriately.
2019-04-05 14:49:38 -06:00
Hubert Chathi
0a82c84006
Merge pull request #882 from uhoreg/fix_mac
...
support both the incorrect and correct MAC methods
2019-04-05 16:45:45 -04:00
Travis Ralston
a614a02b90
Merge pull request #885 from matrix-org/travis/refuse-forwards-token
...
Refuse to set forwards pagination token on live timeline
2019-04-05 11:54:33 -06:00
Travis Ralston
0945e2c5c6
Refuse to set forwards pagination token on live timeline
...
Should fix the error seen in https://github.com/matrix-org/riot-web-rageshakes/issues/1389 (https://github.com/vector-im/riot-web/issues/8593 )
2019-04-05 11:36:01 -06:00
J. Ryan Stinnett
b1b49413d0
Merge pull request #884 from jryans/degraded-storage
...
Degrade `IndexedDBStore` back to memory only on failure
2019-04-05 11:32:42 +01:00
Hubert Chathi
01af303d63
fix the selection of the verification methods, and test more things
2019-04-04 14:08:30 -04:00
Hubert Chathi
751060305c
update the name of the MAC method
2019-04-04 14:07:16 -04:00
J. Ryan Stinnett
389fcfaf3d
Ensure IDB store maintains all memory state
...
A few of the IDB store methods weren't updating memory store state, so let's
improve those so we can reliably fall back to it from IDB at any time.
2019-04-04 17:39:50 +01:00
J. Ryan Stinnett
3eb0c534a5
Clarify why it's safe to change store types on demand
2019-04-04 15:54:26 +01:00
J. Ryan Stinnett
8a2f84b678
Emit event when IndexedDBStore degrades
...
This allows for optional tracking of when the store degrades to see how often it
happens in the field.
2019-04-04 12:06:41 +01:00
J. Ryan Stinnett
dd00735409
Degrade IndexedDBStore back to memory only on failure
...
IndexedDB may fail at any moment with `QuoteExceededError` when space is low or
other random issues we can't control. Since `IndexedDBStore` is just a cache for
improving performance, we can give up on it if it fails.
This causes `IndexedDBStore` to degrade in place back to using memory only. This
allow (for example) login to complete even if IndexedDB is exploding.
Hopefully improves https://github.com/vector-im/riot-web/issues/7769
2019-04-04 12:06:41 +01:00
J. Ryan Stinnett
6ba7e85e24
Ensure we have crypto before accessing it in Room model
...
If crypto startup has failed, we shouldn't try to access any of its methods.
This fixes a variant of this in the `Room` model.
2019-04-04 12:06:41 +01:00
Travis Ralston
941d93c2f4
Merge pull request #877 from matrix-org/travis/tlexpl-full-abort
...
Refuse to link live timelines into the forwards/backwards position when either is invalid
2019-04-03 09:59:09 -06:00
David Baker
c73e9cbc7c
Merge pull request #883 from matrix-org/dbkr/logging_for_9357
...
Key backup logging improvements
2019-04-03 11:45:10 +01:00
David Baker
ae89e4bf21
Key backup logging improvements
...
To try & diagnose https://github.com/vector-im/riot-web/issues/9357
2019-04-03 11:00:31 +01:00
Hubert Chathi
d1e64d0cfb
support both the incorrect and correct MAC methods
...
also do some refactoring to make it easier to support choices in the other
methods in the future
2019-04-02 23:36:49 -04:00
David Baker
8f9f9590d9
Merge pull request #880 from matrix-org/dbkr/more_logging_for_7769
...
Don't assume aborts are always from txn.abort()
2019-04-02 18:33:32 +01:00
David Baker
ed68093310
lint
2019-04-02 18:30:49 +01:00
David Baker
23655e748d
Don't assume aborts are always from txn.abort()
...
According to https://developer.mozilla.org/en-US/docs/Web/API/IDBTransaction/abort_event
a txn can abort for any number of reasons, not just because of an
abort call, so we can't assume our abort error is set.
This should give us more info on https://github.com/vector-im/riot-web/issues/7769
2019-04-02 18:25:23 +01:00
David Baker
98624871bd
Merge pull request #878 from matrix-org/dbkr/logging_for_7769
...
Add a bunch of logging
2019-04-02 13:34:26 +01:00
Will Hunt
7b154c0834
Revert "Remove "Event sent to" line from client.js"
...
This reverts commit d9f056242f .
2019-04-02 13:24:58 +01:00
Will Hunt
d9f056242f
Remove "Event sent to" line from client.js
...
Emitting a log line here means that bridges emit this for each event sent in stdout, which bloats forever.log
2019-04-02 13:22:27 +01:00
David Baker
a4268d288e
Add a bunch of logging
...
to try & diagnose https://github.com/vector-im/riot-web/issues/7769
2019-04-02 12:30:24 +01:00
Travis Ralston
f90c91dded
Refuse to link live timelines into the forwards/backwards position
...
See https://github.com/vector-im/riot-web/issues/8593#issuecomment-478681816
Previously (https://github.com/matrix-org/matrix-js-sdk/pull/873 ) we allowed half-linking timelines to each other if they satisfy the conditions, however this appears to not be helping. Instead, it seems like the timelines are getting stuck in a position where one direction is spliced but the other is broken. To avoid this case, we'll just avoid splicing in both directions when one of the directions is invalid.
2019-04-01 18:43:48 -06:00
Travis Ralston
5c8890c3c1
Add a tiny bit of logging to work out what timelines are doing
...
See https://github.com/vector-im/riot-web/issues/8593
2019-04-01 11:11:35 -06:00
David Baker
cd3c6809a9
Merge branch 'master' into develop
2019-04-01 13:33:51 +01:00
David Baker
e2c17528c2
v1.0.3
2019-04-01 13:31:45 +01:00
David Baker
e00f565f37
Prepare changelog for v1.0.3
2019-04-01 13:31:44 +01:00
J. Ryan Stinnett
085e797c30
Merge pull request #874 from matrix-org/travis/1.0.6-fire/872
...
Add existence check to local storage based crypto store
2019-04-01 09:26:39 +01:00
J. Ryan Stinnett
d753db590b
Add existence check to local storage based crypto store
...
This supports additional diagnostics of stores in
https://github.com/vector-im/riot-web/issues/9309 .
2019-03-29 16:19:54 -06:00
Travis Ralston
eab074a27b
Merge pull request #873 from matrix-org/travis/refuse-splicing
...
Refuse splicing the live timeline into a broken position
2019-03-28 19:20:58 -06:00
Travis Ralston
e2a3e3816f
log the timeline that broke
2019-03-28 19:14:17 -06:00
Travis Ralston
01dd57adab
Use better words for warnings
2019-03-28 18:59:40 -06:00
Travis Ralston
08e674b695
Appease the linter
2019-03-28 18:34:57 -06:00
Travis Ralston
9f70970e61
Refuse splicing the live timeline into a broken position
...
Credit to Matthew for basically solving this.
Theoretically fixes spontaneous timeline corruption: https://github.com/vector-im/riot-web/issues/8593
When the live timeline ends up in a position where it can no longer be live (such as becoming the second timeline in the set, rather than the first) we end up getting neighbouring timeline errors. By refusing to splice the live timeline into such a position, we hopefully keep the live timeline in a position of still being live for when it is next used.
The running theory that leads to this fix is multiple limited syncs coming in, causing holes in the timeline. When trying to patch up the holes, the timeline set would end up splicing all over the place, leading to potentially splicing the live timeline into a broken position.
2019-03-28 18:30:41 -06:00
J. Ryan Stinnett
e9ffd5a125
Merge pull request #872 from jryans/storage-existence-check-ls-crypto
...
Add existence check to local storage based crypto store
2019-03-28 17:49:08 +00:00
J. Ryan Stinnett
20f4469361
Add existence check to local storage based crypto store
...
This supports additional diagnostics of stores in
https://github.com/vector-im/riot-web/issues/9309 .
2019-03-28 12:20:51 +00:00
David Baker
feac096dc2
v1.0.3-rc.1
2019-03-27 17:29:28 +00:00
David Baker
67985d449a
Prepare changelog for v1.0.3-rc.1
2019-03-27 17:29:27 +00:00
J. Ryan Stinnett
a6de59c198
Update matrix-mock-request
2019-03-27 15:02:48 +00:00
J. Ryan Stinnett
01eeb98e35
Merge pull request #871 from jryans/storage-edge-cases
...
Add IndexedDB existence checks
2019-03-26 15:32:23 +00:00
J. Ryan Stinnett
49a7defbf0
Close the DB right away
...
This seems to be needed in Chrome to avoid blocking future opens.
2019-03-26 14:58:45 +00:00
J. Ryan Stinnett
c1ba5de686
Add missing word
2019-03-26 11:25:59 +00:00
J. Ryan Stinnett
81428f23d1
Tweak code style
2019-03-26 11:21:22 +00:00
Travis Ralston
8af86bb746
Merge pull request #869 from matrix-org/travis/timeline-explosion-workaround
...
Emit sync errors for capturing by clients
2019-03-25 11:33:01 -06:00
J. Ryan Stinnett
8513f5c413
Add an IndexedDB existence check to the crypto store
...
This will be useful for future storage diagnostics as part of
https://github.com/vector-im/riot-web/issues/9271 .
2019-03-25 16:11:59 +00:00
J. Ryan Stinnett
eadec35093
Add an IndexedDB existence check to the main store
...
This will be useful for future storage diagnostics as part of
https://github.com/vector-im/riot-web/issues/9271 .
2019-03-25 16:11:51 +00:00
Travis Ralston
d6dbd621b8
Merge pull request #868 from matrix-org/travis/leave-room-chain
...
Add functions for getting room upgrade history and leaving those rooms
2019-03-25 09:57:10 -06:00
Travis Ralston
7168f76614
Emit sync errors for capturing by clients
...
For https://github.com/vector-im/riot-web/issues/9260
2019-03-22 20:19:38 -06:00
Travis Ralston
1cda95f23c
Add functions for getting room upgrade history and leaving those rooms
...
Required for https://github.com/vector-im/riot-web/issues/8539
2019-03-22 17:34:05 -06:00
J. Ryan Stinnett
bb1cd2bbce
Merge pull request #867 from jryans/real-name
...
Clarify the meaning of 'real name' for contribution
2019-03-22 17:26:21 +00:00
J. Ryan Stinnett
3f90ac5712
Merge pull request #865 from jryans/storage-edge-cases
...
Remove `sessionStore` to `cryptoStore` migration path
2019-03-22 17:25:51 +00:00
J. Ryan Stinnett
8d249a843c
Reformat contribution doc to 80 chars
2019-03-22 11:53:43 +00:00
J. Ryan Stinnett
858b41d835
Clarify the meaning of 'real name' for contribution
...
This applies the clarification already adopted by Synapse:
https://github.com/matrix-org/synapse/commit/ec766b25303b420850e6d2875f156f23109acf6a
2019-03-22 11:51:07 +00:00
Travis Ralston
61aea05af0
Merge pull request #866 from matrix-org/travis/verbose-capabilities
...
Add debugging for spurious room version warnings
2019-03-20 17:10:23 -06:00
Travis Ralston
e7c764d5f5
Add debugging for spurious room version warnings
...
See https://github.com/vector-im/riot-web/issues/9225
2019-03-20 17:05:09 -06:00
J. Ryan Stinnett
09a9afe4e7
Clarify the current state of each store
...
This moves docs about the 3 stores used next to each other and clarifies their
purpose for future readers.
2019-03-20 16:56:47 +00:00
J. Ryan Stinnett
5a26503da7
Remove sessionStore to cryptoStore migration path
...
The code to migrate from the `sessionStore` to `cryptoStore` originally appeared
in https://github.com/matrix-org/matrix-js-sdk/pull/584 (2017-12-06). At this
point, it seems safe to assume most sessions that need migrating have already
done so. Removing this code simplifies store handling and removes the
`sessionStore` from most places in JS SDK.
2019-03-20 16:56:47 +00:00
J. Ryan Stinnett
5faf5ea1f8
Merge pull request #864 from jryans/storage-notes
...
Add investigation notes for browser storage
2019-03-20 16:35:13 +00:00
J. Ryan Stinnett
0754c29c22
Add investigation notes for browser storage
...
This collects my notes from investigating the state of browser storage as part
of https://github.com/vector-im/riot-web/issues/9109 .
2019-03-20 16:33:47 +00:00
Hubert Chathi
d5c6dcf111
Merge pull request #862 from uhoreg/check_resolver
...
make sure resolve object is defined before calling it
2019-03-20 10:32:10 -04:00
J. Ryan Stinnett
6a57ddd33c
Merge pull request #861 from matrix-org/jryans/storage-edge-cases
...
Rename `MatrixInMemoryStore` to `MemoryStore`
2019-03-20 11:05:55 +00:00
Hubert Chathi
bd711cdc1f
make sure resolve object is defined before calling it
2019-03-19 23:21:49 -04:00
J. Ryan Stinnett
e669e493c9
Add deprecation notice to MatrixInMemoryStore
2019-03-19 15:04:05 +00:00
J. Ryan Stinnett
48f290196c
Rename MatrixInMemoryStore to MemoryStore
...
None of the other store classes use the `Matrix` prefix, and I find the mismatch
confusing (it leads me to think it might have a different purpose than the
others).
This change removes the prefix from the store for consistency. The old name is
left as an export for existing SDK consumers.
2019-03-19 14:24:47 +00:00
David Baker
f8985dbb39
Merge branch 'master' into develop
2019-03-18 13:50:07 +00:00
David Baker
ef594d52e4
v1.0.2
2019-03-18 13:47:54 +00:00
David Baker
23bbb2f8c6
Prepare changelog for v1.0.2
2019-03-18 13:47:53 +00:00
Travis Ralston
42f181cc7b
Appease the linter
2019-03-15 14:11:29 -06:00
Travis Ralston
b3d2d39b60
Add tombstone rule as a default rule in support of MSC1930
...
Part of https://github.com/vector-im/riot-web/issues/8447
See also https://github.com/matrix-org/matrix-doc/pull/1930
2019-03-15 14:07:15 -06:00
Travis Ralston
e323d917a4
Support default push rules for when servers are outdated
2019-03-15 14:06:28 -06:00
Travis Ralston
73c7733ebc
Merge pull request #859 from matrix-org/travis/buildkite
...
Use Buildkite for CI
2019-03-15 11:43:50 -06:00
Travis Ralston
87f7f9443e
Delete Travis (CI)
...
We now use BuildKite
2019-03-13 17:27:17 -06:00
Travis Ralston
af6bbbc59b
Add a basic BuildKite :pipeline:
2019-03-13 17:23:30 -06:00
J. Ryan Stinnett
5b35a364a9
Ignore package-lock.json in case of confused npm users
2019-03-13 15:49:18 +00:00
Hubert Chathi
d56ebadbc4
Merge pull request #857 from uhoreg/fix_ensureolm_race
...
only create one session at a time per device
2019-03-13 11:21:35 -04:00
J. Ryan Stinnett
04accdeddc
Ignore *.log files, such as from npm or Yarn
2019-03-13 14:40:42 +00:00
David Baker
70575f9e33
v1.0.2-rc.1
2019-03-13 14:24:57 +00:00
David Baker
8e16586d84
Merge branch 'develop' into release-v1.0.2
2019-03-13 14:24:26 +00:00
David Baker
6920dfb800
Yarn needs --new-version to create a new version
2019-03-13 14:23:51 +00:00
David Baker
02d93770aa
Prepare changelog for v1.0.2-rc.1
2019-03-13 14:20:18 +00:00
David Baker
cd124231c5
Merge pull request #858 from jryans/yarn-ci
...
Use modern Yarn version on Travis CI
2019-03-13 13:22:39 +00:00
J. Ryan Stinnett
cd75848882
Use modern Yarn version on Travis CI
...
Travis CI uses a quite old version of Yarn by default. This adds Yarn's
recommended incantation for using the latest stable version.
2019-03-13 12:28:07 +00:00
J. Ryan Stinnett
1bae15ede9
Recommend using the latest Node LTS version
2019-03-13 10:50:58 +00:00
Hubert Chathi
8c2001adbf
don't reject on error
...
because we ignore it anyways, and it makes an unrelated unit test fail
2019-03-12 17:24:34 -04:00
Hubert Chathi
79ca235e7c
only create one session at a time per device
2019-03-12 16:04:26 -04:00
J. Ryan Stinnett
4570fcaa8a
Ignore .npmrc
2019-03-12 12:02:04 +00:00
J. Ryan Stinnett
90670cf1be
Merge pull request #856 from jryans/yarn
...
Switch to `yarn` for dependency management
2019-03-11 13:27:04 +00:00
J. Ryan Stinnett
cc86f427d2
Convert Olm to a dev dependency
...
This gives more natural behavior of downloading Olm by default when working on
this module, so that all tests including crypto are run.
2019-03-08 15:58:08 +00:00
J. Ryan Stinnett
2144791d52
Update scripts and docs to use yarn where appropriate
...
Most `npm` operations are replaced with `yarn`, which generally has better
behavior. However, steps like publish that write to the NPM registry are left to
`npm`, which currently handles these tasks best.
2019-03-08 15:45:57 +00:00
J. Ryan Stinnett
33aabf44e7
Convert from npm to yarn lock file
...
The npm lock file was imported into yarn. A yarn install pass was then run to
double-check the lock file for sanity.
2019-03-08 10:47:58 +00:00
Hubert Chathi
fc1ea27380
Merge pull request #855 from uhoreg/fix_key_requests
...
More key request fixes
2019-03-06 14:46:43 -05:00
Hubert Chathi
81946294d8
use lolex to fake the timer
2019-03-06 14:42:52 -05:00
Matthew Hodgson
77270fa78c
Merge pull request #851 from matrix-org/travis/e2e-notifs
...
Calculate encrypted notification counts
2019-03-06 17:11:22 +00:00
Hubert Chathi
9e29289dcc
use a different transaction ID when re-sending a key request
2019-03-06 12:02:48 -05:00
Travis Ralston
6198943976
Add a mention that we should be handling gaps in /sync
2019-03-06 09:56:36 -07:00
David Baker
8beb836ccd
Merge pull request #854 from matrix-org/dbkr/deps_190206
...
Update dependencies
2019-03-06 14:08:26 +00:00
David Baker
b7c0e39c1a
Update dependencies
...
To get non-vulnerable versions
2019-03-06 13:50:35 +00:00
David Baker
777acae2e5
Merge branch 'master' into develop
2019-03-06 11:17:25 +00:00
David Baker
e77389c1ce
v1.0.1
2019-03-06 11:10:42 +00:00
David Baker
eb24e2e1f1
Prepare changelog for v1.0.1
2019-03-06 11:10:41 +00:00
Hubert Chathi
114244f8bb
fix typo
2019-03-06 00:23:01 -05:00
Travis Ralston
54769d9136
Add jsdoc
2019-03-05 14:25:32 -07:00
Travis Ralston
2f2deb5333
Expose the clear event content directly from an event
2019-03-05 14:04:51 -07:00
Travis Ralston
37f106d4af
More safely set the push actions for an encrypted event
2019-03-05 14:04:39 -07:00
David Baker
36ee7cdbfc
v1.0.1-rc.2
2019-03-05 18:53:16 +00:00
David Baker
2b564498ee
Prepare changelog for v1.0.1-rc.2
2019-03-05 18:53:15 +00:00
David Baker
0ddba16fa1
Merge pull request #853 from matrix-org/bwindels/dontswallowcryptotxnerrors
...
dont swallow txn errors in crypto store
2019-03-05 18:36:15 +00:00
Hubert Chathi
550086eb67
Merge pull request #850 from uhoreg/ensure_key_request
...
make sure key requests get sent
2019-03-05 10:57:15 -05:00
Hubert Chathi
055ce673cd
fix jsdoc
2019-03-05 10:54:02 -05:00
David Baker
5308595658
Merge pull request #852 from matrix-org/dbkr/getusermedia_deviceid_ideal
...
Use 'ideal' rather than 'exact' for deviceid
2019-03-05 14:23:39 +00:00
David Baker
e726e29f39
Better logging here too
2019-03-05 13:02:55 +00:00
David Baker
33b12fa6b5
Use 'ideal' rather than 'exact' for deviceid
...
We were using 'exact' which means we fail outright if the device
we wanted isn't available. This means if a user selects a specific
device then later unplugs it, we fail to open a capture device
the next time they make a call even if there's one available.
Using 'ideal' uses the chosen device in preference, but something
else if it isn't available.
Also log the name of the exception when we fail to open a capture
device to give us more of an idea of what's gone wrong.
Should help fix https://github.com/vector-im/riot-web/issues/8993
2019-03-05 12:59:29 +00:00
Travis Ralston
829cd05cba
Appease the linter
2019-03-04 21:46:48 -07:00
Travis Ralston
4834e12a3a
Calculate unread badges for encrypted events
2019-03-04 21:41:20 -07:00
Travis Ralston
bcd4ad130c
Use the decrypted event content when checking the push rules
...
Otherwise we'll be looking at the encrypted source, and that doesn't help anyone.
2019-03-04 21:33:57 -07:00
Travis Ralston
998d9e010e
Support flushing the cache on calculated push rules
...
Needed for encrypted events to be able to pass some push rules.
2019-03-04 21:24:25 -07:00
Hubert Chathi
5480e8e1d5
refactor key sharing requests
...
use sendRoomKeyRequest with a new resend flag, instead of cancelRoomKeyRequest,
when requesting keys, so that we make sure that we send a new request if there
is no previous request
fixes https://github.com/vector-im/riot-web/issues/6838
2019-03-04 17:09:56 -05:00
Hubert Chathi
98fdcabc00
stop client after each test
2019-03-04 16:59:54 -05:00
Bruno Windels
236397816d
Merge pull request #849 from matrix-org/bwindels/dontswallowcryptotxnerrors
...
Don't swallow txn errors in crypto store
2019-03-04 13:05:17 +01:00
Bruno Windels
755c55de3e
dont swallow txn errors in crypto store
2019-03-04 12:58:05 +01:00
Hubert Chathi
526da71992
Merge pull request #848 from uhoreg/fix_partial_keyshare
...
handle partially-shared sessions better
2019-03-01 12:18:54 -05:00
Hubert Chathi
86ef262799
fix c+p comment
2019-03-01 12:15:59 -05:00
Hubert Chathi
282904d4be
restore the order of backup vs retry decryption
2019-03-01 08:54:04 -05:00
Hubert Chathi
a1be24307a
lint
2019-02-28 22:54:46 -05:00
Hubert Chathi
4b5623691b
handle partially-shared sessions better
...
- don't cancel key requests if we can't decrypt everything in the session
- overwrite the session key if we get a better version
2019-02-28 16:01:29 -05:00
David Baker
7bdf1e9b92
v1.0.1-rc.1
2019-02-28 14:28:36 +00:00
David Baker
af1db8a606
Prepare changelog for v1.0.1-rc.1
2019-02-28 14:28:36 +00:00
Travis Ralston
a99bb3c4c9
Merge pull request #847 from matrix-org/travis/fix-megolm-error
...
Fix "e is undefined" masking the original error in MegolmDecryption
2019-02-26 13:59:16 -07:00
Travis Ralston
fd155c15bd
Excessive checks are excessive
2019-02-26 13:50:09 -07:00
Travis Ralston
aaa43631aa
Fix "e is undefined" masking the original error in MegolmDecryption
2019-02-26 13:15:03 -07:00
Hubert Chathi
d2557bc943
only set the dirty flag if something was actually changed
2019-02-22 08:37:34 -05:00
Hubert Chathi
33a3506981
speling is hard
2019-02-15 17:14:29 -05:00
J. Ryan Stinnett
03a54353be
v1.0.0
2019-02-14 16:48:12 +00:00
J. Ryan Stinnett
c6328923e6
Prepare changelog for v1.0.0
2019-02-14 16:48:11 +00:00
J. Ryan Stinnett
1ecb820bb0
Merge branch 'develop' into release-v1.0.0
2019-02-14 16:46:34 +00:00
J. Ryan Stinnett
0be2319288
Merge pull request #841 from jryans/package-lock-release
...
Try again to commit package-lock.json
2019-02-14 15:57:21 +00:00
J. Ryan Stinnett
073a025b83
Try again to commit package-lock.json
2019-02-14 14:20:31 +00:00
J. Ryan Stinnett
e83836d487
v1.0.0-rc.2
2019-02-14 10:47:41 +00:00
J. Ryan Stinnett
065c61e05c
Prepare changelog for v1.0.0-rc.2
2019-02-14 10:47:41 +00:00
J. Ryan Stinnett
139a6bd903
Merge branch 'develop' into release-v1.0.0
2019-02-14 10:43:04 +00:00
J. Ryan Stinnett
3fa0ee59d4
Merge pull request #839 from matrix-org/dbkr/commit_package_lock
...
Release script: commit package-lock.json
2019-02-13 18:57:38 +00:00
David Baker
bd3d26422d
git st is not a standard thing
2019-02-13 18:20:16 +00:00
David Baker
370ef9fc69
Merge pull request #840 from matrix-org/dbkr/recheck_key_backup
...
Add method to force re-check of key backup
2019-02-13 18:19:35 +00:00
David Baker
a087fb37a3
Add method to force re-check of key backup
...
Also detect when the key backup version changes and do the right
thing
https://github.com/vector-im/riot-web/issues/8524
2019-02-13 15:40:07 +00:00
David Baker
68c8fe0fa9
Release script: commit package-lock.json
...
Commit the package-lock.json when bumping the version, otherwise
the versions get out of sync, and this is going to matter more now
that jenkins runs `npm ci` which is fussy about these things.
2019-02-13 13:40:46 +00:00
Bruno Windels
4309749979
Merge pull request #838 from matrix-org/bwindels/e2eiconsanddialog
...
Fix: dont check for unverified devices in left members
2019-02-13 11:41:57 +01:00
Bruno Windels
1a677804a4
use getEncryptionTargetMembers instead of doing membership checks ourselves
2019-02-13 11:22:38 +01:00
Bruno Windels
a427e2a75c
dont check devices for left members
2019-02-12 18:33:44 +01:00
David Baker
3c735b0ac1
v1.0.0-rc.1
2019-02-08 18:33:52 +00:00
David Baker
4f446c3909
Prepare changelog for v1.0.0-rc.1
2019-02-08 18:33:51 +00:00
Hubert Chathi
999ed1b5b3
Merge pull request #837 from uhoreg/emoji_sas
...
change hex SAS verification to decimal and emoji
2019-02-08 11:44:53 -05:00
David Baker
8fa19f4a0f
More en_GBification
2019-02-08 14:56:08 +00:00
David Baker
71a01ec234
Replace symbol characters with the emoji variants
...
The symbol ones are often rendered as little black & white icons: replace them with their variants from the emoji range
Also change to en_GB
2019-02-08 14:11:47 +00:00
David Baker
32f033a9da
Merge pull request #836 from matrix-org/dbkr/trust_on_decrypt
...
Trust on decrypt
2019-02-08 11:36:44 +00:00
David Baker
dade385147
Put error constant on the class
2019-02-08 10:43:17 +00:00
David Baker
6cf2e54f9a
Fix double-santa
2019-02-08 09:59:42 +00:00
Hubert Chathi
fb673b0304
change hex SAS verification to decimal and emoji
2019-02-08 00:56:30 -05:00
David Baker
1a425af3f2
Pass backup info here too
2019-02-07 15:51:51 +00:00
David Baker
9bafed2c26
OK fine, we'll use the session store
2019-02-07 15:33:49 +00:00
David Baker
bb2d0b0f62
lint
2019-02-07 14:47:03 +00:00
David Baker
5e4f10a80c
Trust on decrypt
...
Trust backups that we've restored by saving the matching pubkey
locally.
NB. Contains technically breaking API changes to the backup restore
(takes backupInfo rather than version).
2019-02-07 14:37:25 +00:00
David Baker
9e12fc4d7d
Merge pull request #835 from matrix-org/dbkr/always_track_own_device_list
...
Always track our own devices
2019-02-07 09:30:13 +00:00
David Baker
1caf2b7f83
Always track our own devices
...
It's generally a reasonable assumption that we'll be interested in
them, and important for key backup.
Fixes https://github.com/vector-im/riot-web/issues/8213
2019-02-06 16:48:57 +00:00
David Baker
6f17e3e659
Merge pull request #834 from matrix-org/dbkr/lint_consistency
...
Make linting rules more consistent
2019-02-05 13:12:25 +00:00
David Baker
17e2cd755d
Make linting rules more consistent
...
* Put back babel-eslint for class-properties
* Allow arrow functions without params
This makes the style more consistent with react-sdk.
NB. The line lengths are still inconsistent but it's not clear which
way to go on that yet.
2019-02-05 11:58:53 +00:00
Bruno Windels
a6970d4de8
Merge pull request #833 from matrix-org/bwindels/e2eicons
...
add method to room to check for unverified devices
2019-02-01 18:14:51 +00:00
Bruno Windels
bc99c1f3ce
add method to room to check for unverified devices
2019-02-01 14:37:11 +01:00
David Baker
5e3ff7fc27
Re-apply changelog that somehow got lost
2019-01-30 13:12:32 +00:00
Bruno Windels
ffe3f966fe
Merge pull request #831 from matrix-org/experimental
...
Merge redesign into develop
2019-01-30 12:47:33 +00:00
Travis Ralston
c60c19a28e
Merge pull request #830 from matrix-org/travis/rver-cap-support
...
Supporting infrastructure for educated decisions on when to upgrade rooms
2019-01-29 11:28:57 -07:00
Travis Ralston
4ea785b604
Add some prose for what safe versions are
2019-01-29 10:46:40 -07:00
Travis Ralston
2d4e9d0d3f
Add safety for when the endpoint doesn't exist
2019-01-28 17:18:57 -07:00
Travis Ralston
971d572fbf
Supporting infrastructure for educated decisions on when to upgrade rooms
...
Part of https://github.com/vector-im/riot-web/issues/8251
2019-01-28 16:03:27 -07:00
Hubert Chathi
244e1b84f7
Initial implementation of key verification
2019-01-23 13:34:25 -05:00
David Baker
e5cdc99a34
Merge pull request #826 from matrix-org/dbkr/key_backup_status_unknown_device
...
Include signature info for unknown devices
2019-01-18 10:58:21 +00:00
David Baker
9a5768219f
Doc function API changes
2019-01-18 10:04:22 +00:00
Travis Ralston
cee8f57318
Merge pull request #828 from matrix-org/travis/v2-is-safe
...
Flag v2 rooms as "safe"
2019-01-17 16:36:27 -07:00
Travis Ralston
1a40e0a83a
Flag v2 rooms as "safe"
...
We'll still need something like https://github.com/matrix-org/matrix-doc/pull/1804 to make this work correctly, but this fixes the immediate issue in https://github.com/vector-im/riot-web/issues/8154
2019-01-17 16:14:53 -07:00
Travis Ralston
d0072d930f
Merge pull request #827 from matrix-org/develop
...
Develop->Experimental
2019-01-17 15:51:22 -07:00
David Baker
385062c4d7
Include signature info for unknown devices
...
Add a 'deviceId' property and leave 'device' undefined for unknown
devices.
https://github.com/vector-im/riot-web/issues/8142
2019-01-17 16:43:26 +00:00
J. Ryan Stinnett
9245638b25
Set key backup guard flag to avoid duplicate uploads
...
Not sure how this was missed, but anyway, guard against duplicate uploads with
the existing flag.
2019-01-17 08:19:09 -06:00
J. Ryan Stinnett
1865542192
Emit when user's status message changes
2019-01-15 08:59:31 -06:00
J. Ryan Stinnett
2563abda11
Ensure we have power to set custom status
...
If we're in a non-DM room of 2 people, we may not have power to set state events
like custom status. Ensure that we do before sending.
2019-01-15 08:59:31 -06:00
David Baker
59b80d8fbd
Remove babel-eslint as we no longer need it
2019-01-10 10:42:43 +00:00
David Baker
68bb8182e4
Update ESLint
...
* Bump version
* Add a couple of rules to match our existing precedent
* Fix a few genuine lint errors
* Ignore a guard-for-in (not sure why eslint doesn't like this?)
* Update max warnings
2019-01-10 10:42:34 +00:00
David Baker
c979ff6696
Merge pull request #821 from matrix-org/dbkr/update_eslint
...
Update ESLint
2019-01-10 09:35:24 +00:00
J. Ryan Stinnett
25681e888c
Change initial key backup to background
...
Alters the APIs used for initial key backup so that the actual upload happens in
the background after all session are marked for backup.
2019-01-09 12:03:55 -06:00
J. Ryan Stinnett
5cfd082b00
Schedule key upload on enabling backup
...
This ensures a partially completed backup will continue to make progress.
2019-01-09 12:03:55 -06:00
J. Ryan Stinnett
0cbced43bd
Emit when count of sessions to backup changes
...
This will be used in the React SDK to display upload progress when there are
many sessions to upload.
2019-01-09 12:03:55 -06:00
David Baker
b3e8d7e07e
Remove babel-eslint as we no longer need it
2019-01-09 17:33:42 +00:00
David Baker
f4a7395e3a
Update ESLint
...
* Bump version
* Add a couple of rules to match our existing precedent
* Fix a few genuine lint errors
* Ignore a guard-for-in (not sure why eslint doesn't like this?)
* Update max warnings
2019-01-09 17:29:30 +00:00
J. Ryan Stinnett
14b42abfa4
Re-check key backup status on version mismatch
...
This ensures we will report the updated status when consumer code asks for it.
Fixes part of https://github.com/vector-im/riot-web/issues/8048 .
2019-01-09 04:07:58 -06:00
J. Ryan Stinnett
e8022e985e
Merge pull request #815 from matrix-org/develop
...
Merge develop into experimental
2019-01-03 13:54:34 -06:00
David Baker
f6c8687dc8
Merge pull request #812 from matrix-org/dbkr/getallsessions
...
Add a getAllEndToEndSessions to crypto store
2019-01-03 10:09:18 +00:00
J. Ryan Stinnett
472d8faace
Merge pull request #668 from matrix-org/t3chguy/fix_displayname_logic
...
T3chguy/fix displayname logic
2019-01-02 17:40:19 -06:00
Michael Telatynski
fc5f3c2fcc
re-add empty check after removing hidden chars
2018-12-30 00:20:33 +00:00
Travis Ralston
fb756208d8
Merge pull request #814 from trashhalo/rebase-tip
...
Contributing: Note that rebase lets you mass signoff commits
replace find loop + slice with a single filter. More readable
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
keep public APIs consistent with previous behaviour now that its fuzzy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
make tests not fail, because of order of occurrence
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
do falsey displayname check regardless of whether we have roomstate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
add tests for the fuzzy disambiguation between members in a room
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
remove duplicated call
2018-12-30 00:18:05 +00:00
Travis Ralston
6a98e93845
Merge pull request #814 from trashhalo/rebase-tip
...
Contributing: Note that rebase lets you mass signoff commits
2018-12-28 19:40:41 -07:00
Stephen Solka
79e155acfb
Note that rebase lets you mass signoff commits
...
Signed-off-by: Stephen Solka <stephen0q@gmail.com >
2018-12-28 21:36:06 -05:00
David Baker
59ae6e3dc0
Missing bracket
2018-12-21 19:21:40 +00:00
David Baker
e628ed3ef4
Add a getAllEndToEndSessions to crypto store
...
So we can migrate them from place to place
2018-12-21 19:12:01 +00:00
J. Ryan Stinnett
11d40e9daa
Merge pull request #672 from matrix-org/t3chguy/unhomoglyph
...
take into account homoglyphs when calculating similar display names
2018-12-20 14:38:48 +00:00
Michael Telatynski
a07f0631b7
Include unhomoglyph in package-lock.json - it must have felt left out :L
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-12-19 22:28:40 +00:00
Michael Telatynski
790d1dd8f7
Merge branches 'develop' and 't3chguy/unhomoglyph' of github.com:matrix-org/matrix-js-sdk into t3chguy/unhomoglyph
2018-12-19 22:21:09 +00:00
J. Ryan Stinnett
c92e510a4d
Pin to base-x 3.0.4
...
This avoids API changes in 3.0.5 (requiring `Buffer` instances), but more
importantly also avoids dealing with ES6 in dependencies for another day.
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com >
2018-12-18 19:47:17 +00:00
David Baker
c48a6c0601
Merge pull request #809 from jryans/key-backup-version-change
...
Emit for key backup failures
2018-12-18 09:34:43 +00:00
J. Ryan Stinnett
383f3f9834
Merge branch 'develop' into t3chguy/unhomoglyph
2018-12-18 01:01:41 +00:00
J. Ryan Stinnett
3c1e9ba6e9
Merge pull request #646 from leonlianght/develop
...
emit oldEventId on "updatePendingEvent"
2018-12-18 00:41:52 +00:00
J. Ryan Stinnett
26893b9877
Merge pull request #589 from johbo/add-thirdparty-user
...
Add getThirdpartyUser to base api
2018-12-18 00:38:09 +00:00
J. Ryan Stinnett
2b734b8e69
Emit for key backup failures
...
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com >
2018-12-14 15:17:22 +00:00
J. Ryan Stinnett
c5f6f87a6c
Add await to ensure we wait for backup errors
...
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com >
2018-12-14 15:17:22 +00:00
David Baker
66cdb62a3d
Reorganize key backup flow
...
This will allow the key backup flow to propagate errors for things like version
mismatches more easily.
In addition, it raises the limit of keys sent per request from 10 to 200 to cut
down on the number of requests.
2018-12-14 15:17:10 +00:00
Travis Ralston
f53e33723b
Merge pull request #805 from matrix-org/travis/custom-status
...
Support custom status messages
2018-12-13 10:24:37 -07:00
Travis Ralston
06bc6e7568
Update jsdoc to match _unstable_ prefix
2018-12-13 09:42:22 -07:00
J. Ryan Stinnett
5e3f42ec5a
Use olm-loader in all crypto tests
...
Standardize on importing `olm-loader` rather than pasting the same boilerplate
in different tests. Importantly, `spec/unit/crypto.spec.js` did not include any
loading approach, so it would only find Olm if some other test loaded it first.
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com >
2018-12-13 08:59:57 +00:00
Travis Ralston
08b3dfa3b5
Prefix the status message API with _unstable
...
It's not a formal feature of Matrix yet, so we should try and avoid people relying on it. This makes it appear as a private API and is very clearly labeled as not intended for use.
2018-12-12 23:05:03 -07:00
J. Ryan Stinnett
6cf9563441
Avoid checking key backup status if guest
...
Fixes vector-im/riot-web#7839 .
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com >
2018-12-12 22:26:01 +00:00
Travis Ralston
fb65c7f4ba
Support setting status message in rooms that look like 1:1s
...
Part of https://github.com/vector-im/riot-web/issues/1528
2018-12-12 13:21:13 -07:00
Travis Ralston
c4452909e7
Support .well-known autodiscovery in the js-sdk ( #799 )
...
* Support .well-known autodiscovery in the js-sdk
It's much more useful here than in the react-sdk as it can be reused by more applications. This is also required to make the react-sdk a little easier to manage .well-known lookups as soon it'll be doing it in several places.
Automatic discovery is an abstract concept in the spec and could include more than .well-known in the future, so this is made to be generic enough to support future mechanisms and other resources to discover. There's also a ton of comments (more than normally needed) as people may wish to use this as a reference in their own implementation and it doesn't hurt to explain what everything is doing.
Many of the functions are air lifted from the react-sdk and modified to work within the confines of the js-sdk.
* Swap out uglify-js for uglify-es
So we can start using ES6 dependencies without figuring out how to update babel.
`uglify-es` is compatible with `uglify-js@3` (we were using `@2`) , which is why the same command is used. This commit includes changes to the command line to make the thing run the same as before too.
* Appease the linter
* Appease the linter some more
* Appease the linter: the tiebreaker
* Appease the linter yet again
* Switch to using the already available URL libraries
* Remove excess logging
2018-12-12 08:38:05 -07:00
Bruno Windels
2d3669b03b
Merge pull request #749 from matrix-org/bwindels/releaseimprovements
...
Extra checks to avoid release script blowing up mid-process.
2018-12-12 09:07:12 +00:00
Travis Ralston
848e6e5897
Support reading custom status messages
...
Part of https://github.com/vector-im/riot-web/issues/1528
2018-12-11 21:41:15 -07:00
David Baker
c723b76138
Merge branch 'master' into develop
2018-12-10 13:37:15 +00:00
David Baker
57f6b0af09
v0.14.2
2018-12-10 13:31:37 +00:00
David Baker
1c4082af45
Prepare changelog for v0.14.2
2018-12-10 13:31:37 +00:00
David Baker
eece5d318e
Merge pull request #800 from matrix-org/travis/mto-via
...
Move glob regex utilities out of the pushprocessor and into a more generic place
2018-12-07 17:47:56 +00:00
David Baker
bb6ade2165
v0.14.2-rc.1
2018-12-06 11:11:29 +00:00
David Baker
586b010811
Prepare changelog for v0.14.2-rc.1
2018-12-06 11:11:28 +00:00
Travis Ralston
84ab0fde51
Appease the linter
2018-12-05 18:13:28 -07:00
Travis Ralston
ec18df2c2a
Move glob regex utilities out of the pushprocessor and into a more generic place
2018-12-05 18:01:12 -07:00
David Baker
f50503e7c1
Merge pull request #794 from uhoreg/e2e_backup-test-fix
...
fix some assertions in e2e backup unit test
2018-12-04 11:22:20 +00:00
Travis Ralston
c619e5c381
Merge pull request #798 from matrix-org/hs/fix-media-config
...
Config should be called with auth
2018-12-03 18:29:56 -07:00
Will Hunt
e7c4a74ed6
Config should be called with auth
2018-12-04 01:27:08 +00:00
Hubert Chathi
f8ea019f02
fix some assertions in e2e backup unit test
2018-11-29 11:52:19 -05:00
David Baker
6db8dd620d
Fix https://github.com/matrix-org/matrix-js-sdk/pull/792
2018-11-28 16:11:28 +00:00
David Baker
bdc1fa4c03
Merge pull request #792 from matrix-org/dbkr/dont_reestablish_unknwon_device
...
Don't re-establish sessions with unknown devices
2018-11-28 16:04:31 +00:00
David Baker
4e66a2d436
Don't re-establish sessions with unknown devices
...
as it won't work
2018-11-28 15:53:13 +00:00
David Baker
0fa948448e
Merge branch 'master' into develop
2018-11-22 16:48:36 +00:00
David Baker
76c675cd09
v0.14.1
2018-11-22 16:46:26 +00:00
David Baker
85a4a594c5
Prepare changelog for v0.14.1
2018-11-22 16:46:25 +00:00
David Baker
f70746c50f
Handle crypto db version upgrades
2018-11-22 16:38:10 +00:00
David Baker
712490b671
Use a vaguely recent node
2018-11-21 18:44:21 +00:00
David Baker
b580e68469
Merge pull request #736 from matrix-org/dbkr/e2e_backups
...
Support for e2e key backups
2018-11-21 18:27:45 +00:00
David Baker
bd2cf18fbc
Merge pull request #786 from matrix-org/dbkr/e2e_backups_passphrase
...
Passphrase Support for e2e backups
2018-11-21 18:24:59 +00:00
David Baker
092f4217b0
docs
2018-11-21 17:56:02 +00:00
David Baker
abd2ac7168
Rename backup API call in test
2018-11-20 16:34:04 +00:00
David Baker
eeea70640e
Add randomString factored out from client secret
2018-11-20 16:28:29 +00:00
David Baker
6047838f53
lint
2018-11-20 16:17:58 +00:00
David Baker
cb51799246
Make backup restore work
2018-11-20 16:15:29 +00:00
David Baker
44d99277fe
Support passphrase-based e2e key backups
2018-11-20 13:09:59 +00:00
David Baker
5b8e643541
Merge branch 'master' into develop
2018-11-19 15:11:40 +00:00
David Baker
ae85c209ab
v0.14.0
2018-11-19 15:09:43 +00:00
David Baker
2306caa62f
Prepare changelog for v0.14.0
2018-11-19 15:09:42 +00:00
Richard van der Hoff
17c11ae23f
Merge pull request #783 from matrix-org/rav/sso_login_type
...
Add 'getSsoLoginUrl' function
2018-11-19 14:13:52 +01:00
Richard van der Hoff
5b51096e37
fix default login type for getSsoLoginUrl
2018-11-19 13:08:41 +00:00
Travis Ralston
ac79d6bcee
Merge pull request #784 from matrix-org/bwindels/missingheroescrash
...
Fix: don't set the room name to null when heroes are missing.
2018-11-16 13:23:57 -07:00
David Baker
b6e056f832
Merge pull request #785 from matrix-org/dbkr/crypto_db_version_upgrade
...
Handle crypto db version upgrades
2018-11-16 17:32:40 +00:00
David Baker
d99a22d68d
Update to new API
...
Also fix test & remove debug logging from test
2018-11-16 14:46:18 +00:00
David Baker
2602c155d0
Handle crypto db version upgrades
2018-11-16 11:31:08 +00:00
Bruno Windels
80f562643f
never return null as a name
2018-11-16 10:38:44 +01:00
Richard van der Hoff
578cb4e268
Add 'getSsoLoginUrl' function
2018-11-15 19:00:37 +00:00
David Baker
c53c6a94d7
Update package-lock
...
so versions are consistent
2018-11-15 16:38:35 +00:00
David Baker
907cf19f05
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-11-15 16:35:52 +00:00
David Baker
88682e1c3b
Merge pull request #780 from matrix-org/dbkr/olm_session_unwedge
...
Restart broken Olm sessions
2018-11-15 16:34:10 +00:00
David Baker
20a4edf899
Merge pull request #776 from matrix-org/dbkr/use_session_last_received_message
...
Use the last olm session that got a message
2018-11-15 16:33:59 +00:00
David Baker
3222b11346
v0.14.0-rc.1
2018-11-15 15:06:39 +00:00
David Baker
fc9d6a6d47
Prepare changelog for v0.14.0-rc.1
2018-11-15 15:06:39 +00:00
David Baker
c9917e4079
lint
2018-11-15 10:03:16 +00:00
Bruno Windels
b233ab87bb
Merge branch 'master' into develop
2018-11-14 18:21:01 +01:00
Bruno Windels
73c3a709de
Merge branch 'release-v0.13.1'
2018-11-14 18:19:24 +01:00
Bruno Windels
6ce7b30b72
v0.13.1
2018-11-14 18:18:12 +01:00
Bruno Windels
980d55a2f3
Prepare changelog for v0.13.1
2018-11-14 18:18:11 +01:00
Richard Lewis
988be62804
Add function to get currently joined room members.
2018-11-14 18:15:14 +01:00
Richard Lewis
23efd0850d
Add function to get currently joined rooms.
2018-11-14 18:15:08 +01:00
David Baker
17e0f1d9ab
Merge branch 'dbkr/use_session_last_received_message' into dbkr/olm_session_unwedge
2018-11-14 14:58:21 +00:00
David Baker
3c85bd55d3
Time goes forwards
2018-11-14 14:57:48 +00:00
David Baker
2298d72ab9
Merge branch 'dbkr/use_session_last_received_message' into dbkr/olm_session_unwedge
2018-11-14 14:35:33 +00:00
David Baker
408407b33d
Fix typo
2018-11-14 14:34:36 +00:00
David Baker
ab426384e1
Merge branch 'dbkr/use_session_last_received_message' into dbkr/olm_session_unwedge
2018-11-14 14:30:10 +00:00
David Baker
5bc68c0c6d
Handle last received message ts being undefined
2018-11-14 14:29:03 +00:00
David Baker
ebf20d5b2c
Don't force more than one new session per device per hour
2018-11-14 14:20:55 +00:00
David Baker
93d9c40323
Merge branch 'dbkr/use_session_last_received_message' into dbkr/olm_session_unwedge
2018-11-14 14:20:42 +00:00
Bruno Windels
c6ea976d7f
Merge branch 'master' into develop
2018-11-14 10:55:13 +01:00
Bruno Windels
5f24915300
Merge branch 'release-v0.13.0'
2018-11-14 10:54:52 +01:00
Bruno Windels
fbe174fb64
v0.13.0
2018-11-14 10:53:42 +01:00
Richard Lewis
977d5331c0
Update CHANGELOG.
2018-11-14 10:50:05 +01:00
Richard Lewis
d40d7e18f5
Update CHANGELOG.
2018-11-14 10:49:54 +01:00
Richard Lewis
11be68ad49
Refactor code to base 'login' method.
2018-11-14 10:49:44 +01:00
Richard Lewis
b0d0782a72
Linting.
2018-11-14 10:49:36 +01:00
Richard Lewis
dbb6d8ac71
Set access_token and user_id after login in with username and password.
2018-11-14 10:49:25 +01:00
David Baker
a30845f9ce
lint
2018-11-14 08:03:23 +00:00
David Baker
379f290b8b
Add package-lock.json
...
to force base-x to version 3.0.4 because 3.0.5 breaks the build
by exporting ES6.
2018-11-13 14:49:56 +00:00
David Baker
6c413bba48
Typo + exit if session was never shared
2018-11-13 12:15:33 +00:00
David Baker
e17a39d446
PR feedback
2018-11-13 12:10:26 +00:00
David Baker
fcadf6ec4a
Store last received message ts on olm session
2018-11-12 18:12:43 +00:00
David Baker
231fde219c
Store last received message ts on olm session
2018-11-12 18:10:11 +00:00
David Baker
2774bd238b
Merge pull request #781 from matrix-org/travis/block-send-if-failed
...
Prevent messages from being sent if other messages have failed to send
2018-11-09 10:54:38 +00:00
Travis Ralston
fed67192bc
Fix test: Actually resend the event after unknown devices are found
...
This test didn't actually test that resending would work, despite its name.
2018-11-08 17:17:30 -07:00
Travis Ralston
16db970558
Appease the linter
2018-11-08 16:51:21 -07:00
Travis Ralston
c9a79bf32e
Prevent messages from being sent if other messages have failed to send
...
Fixes https://github.com/vector-im/riot-web/issues/5408
2018-11-08 16:46:03 -07:00
David Baker
d74ed508f9
Restart broken Olm sessions
...
* Start a new Olm sessions with a device when we get an undecryptable
message on it.
* Send a dummy message on that sessions such that the other end knows
about it.
* Re-send any outstanding keyshare requests for that device.
Also includes a unit test for megolm that isn't very related but came
out as a result anyway.
Includes https://github.com/matrix-org/matrix-js-sdk/pull/776
Fixes https://github.com/vector-im/riot-web/issues/3822
2018-11-08 19:09:28 +00:00
David Baker
eafba9c7ef
Merge pull request #777 from matrix-org/dbkr/olm_unit_test
...
A unit test for olm
2018-11-06 12:04:55 +00:00
Richard Lewis
610923af89
Merge pull request #778 from matrix-org/rxl881/loginWithPassword
...
Set access_token and user_id after login in with username and password.
2018-11-05 17:25:31 +00:00
Richard Lewis
23dfeb13df
Update CHANGELOG.
2018-11-05 17:17:22 +00:00
Richard Lewis
f4abd7d027
Update CHANGELOG.
2018-11-05 17:06:39 +00:00
Richard Lewis
b716e71784
Refactor code to base 'login' method.
2018-11-05 16:40:11 +00:00
Richard Lewis
094598196a
Linting.
2018-11-05 16:02:30 +00:00
David Baker
db1d1c49a0
Merge pull request #779 from matrix-org/rxl881/getRooms
...
Add function to get currently joined rooms.
2018-11-05 12:14:12 +00:00
David Baker
ff4125c11e
Remove unused stuff & comments
2018-11-05 09:39:46 +00:00
Richard Lewis
a0d51803ed
Add function to get currently joined room members.
2018-11-05 00:08:04 +00:00
Richard Lewis
3aabd63975
Add function to get currently joined rooms.
2018-11-04 21:49:17 +00:00
Richard Lewis
394e37f9ea
Set access_token and user_id after login in with username and password.
2018-11-04 19:43:18 +00:00
Travis Ralston
369b88d6f8
Merge pull request #775 from matrix-org/travis/cleanup-request
...
Remove the request-only stuff we don't need anymore
2018-11-02 09:39:23 -06:00
David Baker
ec8b3ae515
Lint (and also name the test right)
2018-11-02 12:33:46 +00:00
David Baker
c94382b46c
A unit test for olm
...
Megolm has plenty but none for just the olm layer by itself. I
was playing with getting session re-establishment to work and a
unit test came out.
2018-11-02 12:05:13 +00:00
David Baker
2a6a67c6cc
Inbound session creation counts as a received message
2018-11-01 17:08:43 +00:00
David Baker
37f0a9ad7b
Try tests on node 10
2018-11-01 13:54:41 +00:00
David Baker
28540ad50a
Use the last olm session that got a message
...
Implements https://github.com/matrix-org/matrix-doc/pull/1596
For https://github.com/vector-im/riot-web/issues/3822
Requires https://github.com/matrix-org/olm-backup/pull/77 (+release)
2018-11-01 12:59:38 +00:00
David Baker
29d92d3e81
Lint
2018-10-31 20:05:21 +00:00
David Baker
0477f354c9
Fix key forwarded count
...
It's exported in snake case
2018-10-31 19:45:29 +00:00
David Baker
c7a0c1402c
refer to getAllEndToEndInboundGroupSessions for magic numbers
2018-10-31 19:39:07 +00:00
David Baker
2af5643243
Clarify comment
2018-10-31 19:37:19 +00:00
David Baker
5e9885946f
random double linebreak
2018-10-31 19:36:30 +00:00
Travis Ralston
e89879d8a6
Remove the request-only stuff we don't need anymore
...
This was introduced in https://github.com/matrix-org/matrix-react-sdk/pull/2250 but can be pulled out due to https://github.com/matrix-org/matrix-js-sdk/pull/770 . See https://github.com/vector-im/riot-web/issues/7634 for more information about the future.
2018-10-31 13:07:31 -06:00
David Baker
2f219f83db
Catch exceptions from backupGroupSession()
2018-10-31 18:46:02 +00:00
David Baker
63e9f794c7
Remove unnecessary if
2018-10-31 18:37:38 +00:00
David Baker
7c0b910d7a
remove unnecessary isFinite check
2018-10-31 18:36:55 +00:00
David Baker
c77ecad9a5
clarify comment
2018-10-31 18:34:49 +00:00
David Baker
db2897cf1e
Remove spurious interlopers
2018-10-31 18:33:31 +00:00
David Baker
5c5ce0dfe3
Typo
2018-10-31 18:32:48 +00:00
David Baker
6de213483c
Change getDeviceByIdentityKey() to just the 2 arg version
2018-10-31 18:31:56 +00:00
David Baker
f5846b89ea
More modern loop syntax
2018-10-31 18:18:41 +00:00
David Baker
c5e7bedb37
Conclusion: no, it shouldn't
2018-10-31 18:08:53 +00:00
David Baker
2b46c560c7
Add crypto. prefix to keyBackupStatus event
2018-10-31 18:07:12 +00:00
David Baker
c6ad0665b5
factor out duplicated test code
2018-10-31 18:03:40 +00:00
David Baker
8ab84dee16
PR feedback 1/n
2018-10-31 17:40:17 +00:00
Travis Ralston
62b2c07be2
Merge pull request #770 from matrix-org/travis/fix-request
...
Manually construct query strings for browser-request instances
2018-10-30 15:18:33 -06:00
Travis Ralston
2fb29ae8fd
Use the right query string lib
2018-10-30 14:59:57 -06:00
Travis Ralston
b57e858ad1
We can't use arrow functions, apparently.
2018-10-30 14:27:51 -06:00
Travis Ralston
054aac17aa
Just use the interface provided to us rather than hack in a flag
2018-10-30 14:25:25 -06:00
Travis Ralston
68b65dd357
Because uglify-js breaks everything
2018-10-30 14:12:46 -06:00
Travis Ralston
f2881126cd
Manually construct query strings for browser-request instances
...
Because `request` just doesn't work for us in the browser, but `browser-request` is fine despite us having to do our own query strings.
Fixes https://github.com/vector-im/riot-web/issues/7620
2018-10-30 13:59:29 -06:00
Bruno Windels
11968a5888
Merge pull request #769 from matrix-org/bwindels/initcryptoll
...
Fix: correctly check for crypto being present
2018-10-30 16:13:32 +00:00
Bruno Windels
ad279dc566
correctly check for crypto being present
2018-10-30 16:05:44 +01:00
David Baker
2814932845
lint
2018-10-30 12:36:03 +00:00
David Baker
a2430dbc53
Fix DeviceList index of users by identity key
...
Was causing all keys to be send as unverified
2018-10-30 12:29:44 +00:00
David Baker
e51d2dd36a
Fix a few e2e backup bits
...
* Don't _maybeSendKeyBackup() as soon as we enable them: we shouldn't
have anything to send anyway until we mark all sessions for backup,
which we do just afterwards, so leave that to trigger the upload
(otherwise the uploading triggered by backupAll just returns
straight away because a backup is already in progress).
* Pass delay & retry params to _maybeSendKeyBackup(): we want the
all-key upload to happen straight away so pass in delay=0, and
we also don't want to retry on a timer if the the user is waiting.
* If we fail due to an HTTP 400 or similar, don't swallow the error.
* Use the right indexeddb store
2018-10-30 11:45:19 +00:00
David Baker
604af1ac8c
Merge branch 'master' into develop
2018-10-29 14:01:26 +00:00
David Baker
68c6393eb2
v0.12.1
2018-10-29 13:59:39 +00:00
David Baker
4cbf9c7f47
Prepare changelog for v0.12.1
2018-10-29 13:59:39 +00:00
Travis Ralston
8bb3b75b1d
Merge pull request #768 from aaronraimist/lint
...
Update babel-eslint to 8.1.1
2018-10-26 21:13:04 -06:00
Aaron Raimist
a76f0c7cb4
Update babel-eslint to 8.1.1
...
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2018-10-26 22:07:40 -05:00
Travis Ralston
01e31afcbd
Merge pull request #764 from matrix-org/travis/permalink-routing
...
Support `request` in the browser and support supplying servers to try in joinRoom()
2018-10-26 14:22:51 -06:00
David Baker
3b2f2f922e
Bump db version
2018-10-26 18:49:05 +01:00
Travis Ralston
64b83b3245
Merge branch 'develop' into travis/permalink-routing
2018-10-26 09:20:54 -06:00
David Baker
563e6b3cdd
Fix jsdoc
2018-10-26 13:23:37 +01:00
David Baker
6518bff2ac
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-26 12:09:38 +01:00
David Baker
0e26247b53
Speed up time rather than increasing timeouts
2018-10-26 12:08:55 +01:00
David Baker
e69f7dbc5f
Merge pull request #767 from matrix-org/dbkr/loglevel_dep
...
loglevel should be a normal dependency
2018-10-26 11:26:15 +01:00
David Baker
4d0f6df89a
alphabetical order
2018-10-26 11:23:05 +01:00
David Baker
6b184363a1
loglevel should be a normal dependency
...
rather than a dev dependency
2018-10-26 11:16:20 +01:00
David Baker
b519069634
Merge pull request #766 from matrix-org/dbkr/stop_devicelist
...
Stop devicelist when client is stopped
2018-10-26 11:14:36 +01:00
Travis Ralston
1bd44a7427
Merge remote-tracking branch 'origin/develop' into travis/permalink-routing
2018-10-25 14:36:46 -06:00
Travis Ralston
568ff5a3f5
Appease the linter
2018-10-25 14:36:14 -06:00
David Baker
a6bf40d4e2
We can always import these now
2018-10-25 19:21:29 +01:00
David Baker
b3bb99d76a
Stop client after backup tests
2018-10-25 19:11:43 +01:00
David Baker
243bab7036
Merge branch 'dbkr/stop_devicelist' into dbkr/e2e_backups
2018-10-25 19:03:57 +01:00
David Baker
88b39f4b67
Stop devicelist when client is stopped
...
To avoid the devicelist trying to save after the client has been
stopped
Hopefully will fix random test failures on node 11.
2018-10-25 19:00:03 +01:00
David Baker
5e8061f846
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-25 17:33:48 +01:00
David Baker
870e96a1df
Merge pull request #743 from matrix-org/dbkr/wasm
...
Update to WebAssembly-powered Olm
2018-10-25 15:58:18 +01:00
David Baker
59070c2af6
Merge remote-tracking branch 'origin/develop' into dbkr/wasm
2018-10-25 15:29:41 +01:00
David Baker
cec8936728
Merge pull request #763 from Ryuno-Ki/logging-lib
...
Logging lib. Fixes #332
2018-10-25 15:28:47 +01:00
David Baker
14071b0d31
Merge pull request #765 from matrix-org/dbkr/mock_request_stop
...
Use new stop() method on matrix-mock-request
2018-10-25 15:16:08 +01:00
David Baker
57173e4385
Use mock-request 1.2.2
2018-10-25 15:01:05 +01:00
David Baker
997caad985
jsdoc
2018-10-25 14:43:17 +01:00
David Baker
2b752c0c02
Use new stop() method on matrix-mock-request
...
To finish all pending flushes between tests. This stops the unit
tests from hanging on node 11 when run in certain combinations.
Requires https://github.com/matrix-org/matrix-mock-request/pull/6
(so will need a release of matrix-mock-request before merging)
2018-10-25 14:29:25 +01:00
Travis Ralston
2cccb8b450
Install memfs because webpack is made of fail
2018-10-24 16:57:36 -06:00
Travis Ralston
0c540ac8de
Re-add the querystring options
2018-10-24 16:36:12 -06:00
Travis Ralston
6033b7b886
Update request and browserify; Use request in the browser
2018-10-24 16:36:00 -06:00
Travis Ralston
b67f8d1389
Merge branch 'develop' into travis/permalink-routing
2018-10-24 16:22:18 -06:00
André Jaenisch
ae645ad9f0
Use Node.js module export, since ES6 export breaks build.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 21:52:50 +02:00
André Jaenisch
5b72509dac
Fix broken build.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 21:12:51 +02:00
André Jaenisch
3ce42a096b
Add Apache license banner.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 21:06:04 +02:00
André Jaenisch
8331c2f267
Use ES6 export instead of CommonJS.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 21:05:21 +02:00
André Jaenisch
b3c9570b0f
Remove 'use strict'.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 20:56:29 +02:00
André Jaenisch
9d5c877df9
Set loglevel to DEBUG to remain current behaviour.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 20:55:54 +02:00
André Jaenisch
a8e2727473
Set level of logger instead of all of them.
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 20:55:22 +02:00
David Baker
4b9c6e6bd2
Merge remote-tracking branch 'origin/develop' into dbkr/wasm
2018-10-24 19:15:04 +01:00
David Baker
d29ac088c0
retest
2018-10-24 18:55:04 +01:00
David Baker
3a316de9ef
Update to Olm 3 here too
2018-10-24 17:40:58 +01:00
David Baker
40cb37e824
Update to Olm 3
2018-10-24 17:37:33 +01:00
David Baker
f165b55a1d
Merge branch 'e2e_backups' of git://github.com/uhoreg/matrix-js-sdk into uhoreg-e2e_backups
2018-10-24 17:15:36 +01:00
David Baker
84b91d4575
Update to Olm 3
2018-10-24 16:58:48 +01:00
David Baker
f5832423f4
v0.12.1-rc.1
2018-10-24 11:14:59 +01:00
David Baker
73dd07aadf
Prepare changelog for v0.12.1-rc.1
2018-10-24 11:14:59 +01:00
André Jaenisch
0f39a45734
Fixing module export of logger. Refs #332
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 01:44:10 +02:00
André Jaenisch
f41060c39a
Replace console.log with loglevel logger. Fixes #332
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 00:48:57 +02:00
André Jaenisch
bbb8e12bac
Create logger module. Refs #332
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 00:48:57 +02:00
André Jaenisch
d0e1471c91
Added loglevel library. Refs #332
...
Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de >
2018-10-24 00:48:52 +02:00
Hubert Chathi
322ef1fd63
update backup algorithm name to agree with the proposal
2018-10-22 11:28:16 -04:00
Travis Ralston
47cb97bc60
Merge pull request #762 from aaronraimist/valid-package-json
...
Add repository type to package.json to make it valid
2018-10-20 21:55:48 -06:00
Aaron Raimist
8d35bea830
Add repository type to package.json to make it valid
...
Signed-off-by: Aaron Raimist <aaron@raim.ist >
2018-10-20 21:38:04 -05:00
Travis Ralston
d8bcc4e3f1
Initial support for specifying which servers to try in joinRoom
...
This has a bug when using browser-request where the query string for `server_name: [a, b]` comes out as `?server_name=a,b` instead of `?server_name=a&server_name=b`. This is due to browser-request not supporting the same qs options as request, so the qsStringifyOptions do nothing.
2018-10-19 13:34:22 -06:00
Hubert Chathi
434ac86090
properly fill out the is_verified and first_message_index fields
2018-10-19 10:51:19 -04:00
Travis Ralston
1061026f96
Merge pull request #761 from Half-Shot/hs/upload-limits
...
Add getMediaConfig()
2018-10-16 09:04:08 -06:00
Will Hunt
e638c49160
Merge remote-tracking branch 'upstream/develop' into hs/upload-limits
2018-10-16 11:32:21 +01:00
David Baker
5d84db9fb7
Merge branch 'release-v0.12.0'
2018-10-16 10:49:14 +01:00
David Baker
874bdea634
v0.12.0
2018-10-16 10:47:33 +01:00
David Baker
68497d3a1f
Prepare changelog for v0.12.0
2018-10-16 10:47:32 +01:00
David Baker
b9e198c172
Oops: remove debug logging
2018-10-15 11:39:39 +01:00
Hubert Chathi
40d0a82342
remove accidental change to eslintrc
2018-10-12 15:45:48 -04:00
Hubert Chathi
d49c0a1bcb
more de-linting and fixing
2018-10-12 14:28:31 -04:00
Hubert Chathi
91fb7b0a7c
fix unit tests for backup recovery
2018-10-12 12:03:51 -04:00
Hubert Chathi
9b12c22823
de-lint plus some minor fixes
2018-10-12 10:38:10 -04:00
Hubert Chathi
3957006fae
Merge remote-tracking branch 'upstream/dbkr/e2e_backups' into e2e_backups
2018-10-11 14:01:26 -04:00
David Baker
874029dff0
oops - fix changelog format in retrospect
2018-10-11 15:38:34 +01:00
David Baker
6aff3ed407
v0.12.0-rc.1
2018-10-11 14:42:29 +01:00
David Baker
c0ae78ae82
Prepare changelog for v0.12.0-rc.1
2018-10-11 14:42:29 +01:00
David Baker
8b22f01ecd
Merge pull request #760 from matrix-org/bwindels/fixleavesinmemberlist
...
never replace /sync'ed memberships with OOB ones
2018-10-11 14:01:38 +01:00
Bruno Windels
2ed694b041
remove supersedes OOB logic
2018-10-11 14:32:03 +02:00
Bruno Windels
a0ef6ab811
typo
2018-10-11 14:14:42 +02:00
Bruno Windels
d098b39024
never replace /sync'ed memberships with OOB ones
2018-10-11 14:11:40 +02:00
David Baker
3cf23f8a5c
Document breaking change
2018-10-11 12:13:25 +01:00
Hubert Chathi
fc59bc2992
add localstorage support for key backups
2018-10-10 19:32:07 -04:00
Hubert Chathi
da65f43983
wrap backup sending in a try, and add delays
2018-10-10 19:31:28 -04:00
Bruno Windels
72e77d237a
Merge pull request #759 from matrix-org/dbkr/lazy_load_check_before_sync
...
Don't fail to start up if lazy load check fails
2018-10-10 18:28:47 +02:00
David Baker
ecc3e18e85
typo
2018-10-10 17:27:06 +01:00
David Baker
dea70af889
remove debug logging
2018-10-10 17:06:26 +01:00
David Baker
30362091e5
Don't fail to start up if lazy load check fails
...
Do the lazy loading check in the batch of things we do before
starting a sync rather than at client start time, so we don't fail
to start the client if we can't hit the HS to determine LL support.
Fixes https://github.com/vector-im/riot-web/issues/7455
2018-10-10 16:59:36 +01:00
David Baker
ada4b6ef16
Lint
2018-10-09 15:46:12 +01:00
David Baker
59e6066579
Replace base58check with a simple parity check
...
base58check seems way overcomplicated for this purpose (plus the
module was exporting an es6 file, breaking the js-sdk build). A
parity check empirically detects single substitution and transposition
errors. Another option would be Luhn's algorithm.
2018-10-09 14:15:03 +01:00
David Baker
0aa3362671
Merge pull request #754 from matrix-org/dbkr/e2e_on_interslice
...
Make e2e work on Edge
2018-10-09 10:48:24 +01:00
David Baker
5873db7331
Merge remote-tracking branch 'origin/develop' into dbkr/wasm
2018-10-09 10:47:11 +01:00
David Baker
b3fe05ec81
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-09 10:35:15 +01:00
David Baker
92fbf58b13
Merge pull request #758 from matrix-org/bwindels/betteridberrors
...
throw error with same name and message over idb worker boundary
2018-10-09 09:59:55 +01:00
Bruno Windels
a4b2cc84c7
Merge pull request #755 from matrix-org/travis/fix-vuln-warning
...
Default to a room version of 1 when there is no room create event
2018-10-08 09:55:10 +02:00
David Baker
89c3f6fa0e
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-05 14:01:43 +01:00
David Baker
1395da694e
Merge pull request #757 from matrix-org/dbkr/gone_away_is_the_bluebird
...
Silence bluebird warnings
2018-10-05 13:25:16 +01:00
David Baker
264b20535e
Silence bluebird warnings
2018-10-05 12:13:05 +01:00
Bruno Windels
caba350b33
throw error with same name and message over idb worker boundary
...
instead of string currently thrown. This allows handling error
from the main thread.
2018-10-05 12:48:12 +02:00
Travis Ralston
d9fe194111
Default to a room version of 1 when there is no room create event
...
Fixes https://github.com/vector-im/riot-web/issues/7331
There is something to be worried about when there is no room create event, however. This should always be available, although due to cache problems or servers that don't provide the event we can't be sure of this.
2018-10-04 13:42:07 -06:00
Hubert Chathi
258adda67c
retry key backups when they fail
2018-10-04 15:19:20 -04:00
David Baker
40dc13b2e2
lint try 2
2018-10-04 15:38:08 +01:00
David Baker
4cda54ca1c
lint
2018-10-04 15:15:30 +01:00
David Baker
8116c5b3f7
Make e2e work on Edge
...
We were sucessfully opening indexeddb but any queries using compound
indicies were failing because Edge doesn't support them, so messages
were failing to decrypt with 'DataError'.
Try a dummy query at startup, so if it fails we fall back to a
different store (ie. end up using localstorage on Edge).
2018-10-04 13:49:32 +01:00
David Baker
35d584c67b
Remove outdated comment
2018-10-04 13:05:45 +01:00
David Baker
9504cbcc4f
Merge remote-tracking branch 'origin/develop' into dbkr/wasm
2018-10-04 11:19:37 +01:00
Bruno Windels
1dcc5127d0
Merge pull request #750 from matrix-org/bwindels/allownonffmerge
...
allow non-ff merge from release branch into master
2018-10-04 10:22:02 +02:00
Bruno Windels
6790699279
Merge pull request #739 from matrix-org/ben/new-examples
...
add new examples, to be expanded into a post
2018-10-04 10:21:36 +02:00
David Baker
85e3d7083c
Merge pull request #751 from matrix-org/dbkr/indexeddb_errors
...
Reject with the actual error on indexeddb error
2018-10-03 16:22:26 +01:00
David Baker
262ace1773
commit the recovery key util file
2018-10-03 10:20:57 +01:00
David Baker
7cd101d8cb
Fix recovery key format
2018-10-02 19:22:10 +01:00
David Baker
ce2058aea9
Merge branch 'dbkr/wasm' into dbkr/e2e_backups
2018-10-02 16:54:36 +01:00
David Baker
e9b0acaa8e
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups
2018-10-02 16:50:37 +01:00
David Baker
bd2da08c4e
Reject with the actual error on indexeddb error
...
Rather than the event
2018-10-02 16:48:27 +01:00
Bruno Windels
0a88d419c6
allow non-ff merge from release branch into master
2018-10-01 17:21:01 +02:00
Bruno Windels
80c190db36
Merge branch 'master' into develop
2018-10-01 15:40:16 +02:00
Bruno Windels
550cf00ee7
Merge branch 'release-v0.11.1'
2018-10-01 15:36:37 +02:00
Ben Parsons
fbca7951fc
improvements suggested by Bruno
2018-10-01 14:29:24 +01:00
Bruno Windels
1e1358fcef
v0.11.1
2018-10-01 15:23:37 +02:00
Bruno Windels
fd1b3329f5
Prepare changelog for v0.11.1
2018-10-01 15:23:37 +02:00
Bruno Windels
9c9d8468a5
Merge pull request #744 from matrix-org/dbkr/update_mocha
...
Update mocha to v5
2018-09-28 12:57:49 +01:00
Bruno Windels
55ca03f100
make release compatible with latest release of hub (2.5)
2018-09-28 12:51:31 +02:00
Bruno Windels
83708725b2
check youre logged in with correct npm user when releasing
2018-09-28 11:16:00 +02:00
David Baker
6f59d62e5c
Merge pull request #748 from matrix-org/bwindels/nollforguests
...
disable lazy loading for guests as they cant create filters
2018-09-27 19:29:54 +01:00
Bruno Windels
1c348f0cdb
disable lazy loading for guests as they cant create filters
2018-09-27 18:55:21 +01:00
Bruno Windels
634596257d
v0.11.1-rc.1
2018-09-27 11:47:28 +01:00
Bruno Windels
5e4973a1dc
changelog
2018-09-27 11:45:33 +01:00
Bruno Windels
19f023e0ee
Revert "v0.11.1-rc.1"
...
This reverts commit 090c15fe19 .
2018-09-27 11:42:19 +01:00
Bruno Windels
090c15fe19
v0.11.1-rc.1
2018-09-27 11:38:25 +01:00
Bruno Windels
e8b307dc4f
Prepare changelog for v0.11.1-rc.1
2018-09-27 11:38:25 +01:00
Bruno Windels
056479d450
Revert "v0.11.1-rc.1"
...
This reverts commit 847d40e567 .
2018-09-27 11:35:52 +01:00
Bruno Windels
e5ebe2f888
Merge pull request #747 from matrix-org/bwindels/releasehubversion
...
make usage of hub compatible with latest version (2.5)
2018-09-27 11:30:17 +01:00
Bruno Windels
e8e1b431ad
make usage of hub compatible with latest version (2.5)
2018-09-27 11:28:01 +01:00
Bruno Windels
847d40e567
v0.11.1-rc.1
2018-09-27 11:20:21 +01:00
Bruno Windels
cf6c555e6a
Prepare changelog for v0.11.1-rc.1
2018-09-27 11:20:21 +01:00
Bruno Windels
b508aa9ebc
Merge pull request #746 from matrix-org/bwindels/resynconlltoggle
...
Detect when lazy loading has been toggled in client.startClient
2018-09-27 09:49:01 +01:00
Bruno Windels
5e7634506e
Merge branch 'develop' into bwindels/resynconlltoggle
2018-09-26 18:23:07 +01:00
Bruno Windels
ba39b64ced
re-enable test
2018-09-26 18:00:40 +01:00
David Baker
33ad65a105
Don't assume Olm will be available from start
...
By doing `Olm = global.Olm` on script load, we require that Olm is
available right from the start, which isn't really necessary. As
long as it appears some time before we actually want to use it,
this is fine (we can probably assume it's not going to go away
again..?)
This means Riot doesn't need to faff about making sure olm is
loaded before starting anything else.
2018-09-26 16:39:22 +01:00
Travis Ralston
fcebe89f6c
Merge branch 'hs/upload-limits' into develop
2018-09-26 09:14:12 -06:00
Bruno Windels
2d5eb920b8
pass lazy loading flag into error, to format message based on it
2018-09-26 16:12:30 +01:00
Travis Ralston
26de2c86ed
Merge pull request #745 from matrix-org/revert-644-hs/upload-limits
...
Revert "Add getMediaLimits to client"
2018-09-26 09:12:03 -06:00
Travis Ralston
cba1e95d0a
Revert "Add getMediaLimits to client"
2018-09-26 09:11:28 -06:00
Bruno Windels
78a5a88638
fix jsdoc lint and better naming
2018-09-26 12:49:33 +01:00
Bruno Windels
b7b9c67259
fix lint
2018-09-26 12:49:26 +01:00
Bruno Windels
54bff81470
clear sync data on toggling LL,also throw spec. error and delegate clear
...
the sync data needs to be cleared toggling in both directions:
not LL -> LL: you want to get rid of all the excess state in the
sync data to get the RAM benefits
LL -> not LL: you want to fill the sync data state again
because getOutOfBandMembers won't be called
2018-09-26 12:39:56 +01:00
David Baker
fe21972f4a
Update mocha to v5
...
Mostly to get the non-vulnerable version of node-growl
2018-09-26 11:36:06 +01:00
Bruno Windels
58e3c72446
only store serializable options (string, boolean, number)
2018-09-26 11:34:58 +01:00
Bruno Windels
6dd5c6c317
fix existing missing this
2018-09-26 11:33:19 +01:00
Bruno Windels
4e0af3eafe
don't return the IDBEvent from storeClientOptions
...
as it's not needed and not cloneable
2018-09-26 11:32:43 +01:00
Bruno Windels
1d0791142c
all store methods should return a promise
2018-09-26 11:32:11 +01:00
Bruno Windels
2560ba2980
dont clear the store if its a brand new one
2018-09-26 10:37:52 +01:00
Bruno Windels
19be3dd852
fix lint
2018-09-26 10:13:40 +01:00
Travis Ralston
40f2a6978b
Merge pull request #644 from Half-Shot/hs/upload-limits
...
Add getMediaLimits to client
2018-09-25 18:12:55 -06:00
Bruno Windels
1fd8c43d94
fix tests
2018-09-25 18:50:09 +01:00
David Baker
63cc3fd890
lint
2018-09-25 18:14:11 +01:00
David Baker
c556ca40b1
Support Olm with WebAssembly
...
wasm Olm has a new interface: it now has an init method that needs
to be called and the promise it returns waited on before the Olm
module is used. Support that, and allow Crypto etc to be imported
whether Olm is enabled or not. Change whether olm is enabled to
be async since now it will be unavailable if the async module init
fails. Don't call getOlmVersion() until the Olm.init() is done.
2018-09-25 17:49:54 +01:00
Matthew Hodgson
3e32f47903
Merge pull request #742 from matrix-org/travis/build-process
...
Split npm start into an init and watch script
2018-09-25 17:31:23 +01:00
Travis Ralston
8f2824186a
Split npm start into an init and watch script
...
This is to better support riot-web's build process without losing the functionality supplied by `npm start`. The watch script no longer performs an initial build and thus `start:init` has been created for this purpose.
2018-09-25 10:09:58 -06:00
Bruno Windels
b0dbb20e22
fixup of in memory stores
2018-09-25 15:53:40 +01:00
Bruno Windels
0519c4c6b1
await startClient and use promises also so error gets shown
2018-09-25 15:53:14 +01:00
Bruno Windels
28184b4a29
check if lazy loading was enabled before in startClient
2018-09-25 15:32:10 +01:00
Bruno Windels
76175abea2
allow storing client options in indexeddb
...
so we can tell what options the sync data was created with
2018-09-25 15:30:35 +01:00
Ben Parsons
d28f829b1c
add new examples, to be expanded into a post
2018-09-20 13:12:50 +01:00
Bruno Windels
184c3dce15
Merge pull request #738 from matrix-org/revert-733-bwindels/roomnamealias
...
Revert "room name should only take canonical alias into account"
2018-09-20 12:23:38 +02:00
David Baker
a08a3078da
Revert "room name should only take canonical alias into account"
2018-09-20 11:20:49 +01:00
David Baker
c2100d7622
Merge pull request #737 from matrix-org/bwindels/fixnamedisambiguation
...
fix display name disambiguation with LL
2018-09-20 10:22:38 +01:00
Bruno Windels
a91fa59174
fix display name disambiguation with LL
2018-09-19 18:14:18 +02:00
Bruno Windels
574a6b68ae
Merge pull request #735 from matrix-org/bwindels/fixstalerr
...
Introduce Room.myMembership event
2018-09-19 13:35:11 +02:00
David Baker
2f4c1dfcc4
Test all 3 code paths on backup restore
2018-09-18 17:33:47 +01:00
David Baker
1b62a21dbd
Free PkEncryption/Decryption objects
2018-09-18 16:12:37 +01:00
David Baker
a78825eff9
Bump to Olm 2.3.0 for PkEncryption
2018-09-18 15:06:28 +01:00
David Baker
0bad7b213e
Fix lint
...
Remove commented code block as it's not immediately obvious it makes
sense or is the right way of suggesting a key restore.
2018-09-18 14:56:11 +01:00
David Baker
e4bb37b1a8
Fix lint mostly
2018-09-18 14:53:59 +01:00
David Baker
54c443ac68
Make tests pass
2018-09-18 14:48:02 +01:00
David Baker
3af9af96ea
More linting
2018-09-17 19:31:37 +01:00
David Baker
f75d188131
Soe progress on linting
2018-09-17 19:25:42 +01:00
Bruno Windels
fc3a00054f
add test for new event
2018-09-17 19:33:36 +02:00
Bruno Windels
84e41c2ade
fix tests
2018-09-17 18:28:07 +02:00
Bruno Windels
4630733b55
don't fall back anymore to member, as this is more reliable
2018-09-17 18:23:48 +02:00
Bruno Windels
eb690e14e4
introduce Room.myMembership event
...
As you don't always have your own member with lazy loading
of members enabled, looking at the sync response section
where a room appears is the most reliable way of determining
the syncing user's membership in a room.
Before we already used this to read the
current room membership with `room.getMyMembership()`,
but we were still using the `RoomMember.membership` event
to detect when the syncing user's membership changed.
This event will help make those checks work well with LL enabled.
2018-09-17 18:20:49 +02:00
David Baker
009430e829
Add isValidRecoveryKey
...
Add method to check if a given string is a valid recovery key
2018-09-17 17:04:29 +01:00
David Baker
073fb73ff3
Make multi-room key restore work
2018-09-17 15:59:37 +01:00
David Baker
e789747834
Check sigs on e2e backup & enable it if we can
2018-09-14 17:06:27 +01:00
David Baker
833002f846
Merge pull request #733 from matrix-org/bwindels/roomnamealias
...
room name should only take canonical alias into account
2018-09-14 11:38:26 +01:00
David Baker
3838fab788
WIP e2e key backup support
...
Continues from uhoreg's branch
2018-09-13 17:01:05 +01:00
Bruno Windels
907e9fc476
fix lint
2018-09-13 10:04:31 +02:00
Bruno Windels
b829a39cd2
fix tests
2018-09-13 09:59:20 +02:00
Bruno Windels
daa7af0605
room name should only take canonical alias into account
2018-09-13 09:52:21 +02:00
David Baker
47a1adc864
Merge pull request #732 from matrix-org/bwindels/fixcontextstatenotwrapped
...
state events from context response were not wrapped in a MatrixEvent
2018-09-11 13:27:03 +01:00
Bruno Windels
98e448acdd
state events from context response were not wrapped in a MatrixEvent
2018-09-11 14:13:35 +02:00
David Baker
72bd51f26e
Merge remote-tracking branch 'origin/develop' into uhoreg-e2e_backups
2018-09-11 12:02:47 +01:00
David Baker
29db856322
Merge branch 'e2e_backups' of git://github.com/uhoreg/matrix-js-sdk into uhoreg-e2e_backups
2018-09-11 12:00:46 +01:00
David Baker
cd5cda916f
Merge branch 'master' into develop
2018-09-10 11:35:25 +01:00
David Baker
33a1139772
v0.11.0
2018-09-10 11:33:51 +01:00
David Baker
c5b62903f3
Prepare changelog for v0.11.0
2018-09-10 11:33:50 +01:00
David Baker
387fd16b40
v0.11.0-rc.1
2018-09-07 14:28:45 +01:00
David Baker
c91b67d370
Prepare changelog for v0.11.0-rc.1
2018-09-07 14:28:44 +01:00
David Baker
b809d1c263
Merge pull request #724 from matrix-org/bwindels/fastermemberinsert
...
Reduce amount of promises created when inserting members
2018-09-07 13:57:44 +01:00
David Baker
7bb6675abf
Merge pull request #726 from matrix-org/bwindels/dontwaitforstorage
...
dont wait for LL members to be stored to resolve the members
2018-09-07 13:57:20 +01:00
David Baker
b91bea94f4
Merge pull request #728 from matrix-org/bwindels/wrongemitargs
...
RoomState.members emitted with wrong argument order for OOB members
2018-09-07 13:57:09 +01:00
David Baker
96e21700bd
Merge pull request #727 from matrix-org/dbkr/conn_did_fail
...
Only emit CATCHUP if recovering from conn error
2018-09-07 13:31:17 +01:00
David Baker
7e8f25bce3
Include 404 in connectivity success error codes
2018-09-07 13:18:45 +01:00
Bruno Windels
9e02049b05
RoomState.members emitted with wrong argument order for OOB members
2018-09-07 14:11:27 +02:00
David Baker
affdfccd60
Only emit CATCHUP if recovering from conn error
...
Have the keepalive promise return a boolean indicating whether it
detected a connectivity failure or not. Use this to only emit
CATCHUP if there was a connectivity error, to try & suppress
the state flip-flopping back & forth between CATCHUP and ERROR
in the case where we have connectivity but the sync is returning
and error for whatever reason.
2018-09-07 11:29:44 +01:00
David Baker
402f8c27a9
Merge pull request #725 from matrix-org/dbkr/fix_sync_error_doc
...
Fix docstring for sync data.error
2018-09-07 09:44:28 +01:00
Bruno Windels
ba4dc6c60a
dont wait for LL members to be stored to resolve the members
...
this can easily add up to 100ms / 1000 of members
2018-09-07 10:44:06 +02:00
David Baker
6b8dd42547
Fox docstring for sync data.error
...
It's 'error', not 'err'
2018-09-06 19:53:52 +01:00
Bruno Windels
1511a27f4c
update/remove comments
2018-09-06 18:09:46 +02:00
Bruno Windels
7ae6c147fa
lint doesnt like async
2018-09-06 18:02:19 +02:00
Bruno Windels
f51630eb07
dont create a promise for every inserted member but await the transaction instead
2018-09-06 18:01:20 +02:00
Bruno Windels
e3586411e0
Merge pull request #723 from matrix-org/revert-721-revert-717-bwindels/fixllroompermission
...
Re-apply "Don't rely on members to query if syncing user can post to room"
2018-09-06 14:55:24 +02:00
David Baker
a0639a32c7
Revert "Revert "Don't rely on members to query if syncing user can post to room""
2018-09-06 11:47:40 +01:00
David Baker
759c6e77a7
Merge pull request #721 from matrix-org/revert-717-bwindels/fixllroompermission
...
Revert "Don't rely on members to query if syncing user can post to room"
2018-09-05 18:09:59 +01:00
David Baker
04ad3d7c3c
Revert "Don't rely on members to query if syncing user can post to room"
2018-09-05 18:04:19 +01:00
Bruno Windels
49badd9a2f
Merge pull request #717 from matrix-org/bwindels/fixllroompermission
...
Don't rely on members to query if syncing user can post to room
2018-09-05 13:07:29 +02:00
Bruno Windels
8b00083bca
check power levels without relying on membership
...
as this might not be known for the syncing user.
instead, add a method to room which always knows the syncing user's membership
2018-09-05 12:36:53 +02:00
Bruno Windels
3d98e324b5
Merge pull request #719 from matrix-org/bwindels/fixavatars-parttrois
...
Fixes for room.guessDMUserId
2018-09-04 18:17:39 +02:00
Bruno Windels
768c66313f
remove unneeded async keywords
2018-09-04 18:09:47 +02:00
Bruno Windels
3561fd1c05
Merge pull request #716 from matrix-org/bwindels/fixfilepanel
...
Fix filepanel also filtering main timeline with LL turned on.
2018-09-04 17:10:49 +02:00
Bruno Windels
a6c055b6d1
Merge pull request #711 from matrix-org/bwindels/clearidbmembersonleave
...
Remove lazy loaded members when leaving room
2018-09-04 16:53:56 +02:00
Bruno Windels
0d24c18fed
add comment to explain fix
2018-09-04 16:51:36 +02:00
Bruno Windels
dd8b2a79fb
Merge pull request #702 from matrix-org/bwindels/fixreconnectspinner
...
Fix: show spinner again while recovering from connection error
2018-09-04 16:39:38 +02:00
Bruno Windels
f0095611bc
add new CATCHUP state as breaking change
2018-09-04 16:38:46 +02:00
Bruno Windels
a3567f0918
some tests for room.guessDMUserId()
2018-09-04 13:01:45 +02:00
Bruno Windels
f0d3d0d74e
remove unneeded checks, we should always have enough heroes or members
2018-09-04 13:01:15 +02:00
Bruno Windels
3e32bc0d5d
check heroes is not falsy first, this would fail without LL
2018-09-04 13:00:34 +02:00
Bruno Windels
632e4aa120
pick the first member, dont need an array
2018-09-04 13:00:00 +02:00
Bruno Windels
2391ce198d
this method returns userId, not member
2018-09-04 12:59:37 +02:00
David Baker
e5e2bbd482
Merge branch 'master' into develop
2018-09-03 14:11:12 +01:00
David Baker
0b6632123b
v0.10.9
2018-09-03 14:09:24 +01:00
David Baker
b1801fc953
Prepare changelog for v0.10.9
2018-09-03 14:09:24 +01:00
Bruno Windels
ca1a1c4f28
Merge pull request #714 from matrix-org/bwindels/memberlist-spinner
...
Add method to query LL state in client
2018-09-03 15:05:13 +02:00
Bruno Windels
3363cc4f1d
shallow-clone the filter, so the timeline filter doesnt get written into it later on
2018-09-03 15:02:38 +02:00
Bruno Windels
f84684982f
add method to query LL state in client
2018-09-03 11:14:23 +02:00
Bruno Windels
3bed5969bf
remove count logging, approach confirmed to work and be according to idb spec
2018-09-03 10:27:00 +02:00
Bruno Windels
ebc162e3d8
do onLeft (which clears the LL members) as late as possible
...
to avoid chance that something might call loadMembersIfNeeded
on the room and load them back again.
2018-08-31 16:13:34 +02:00
Bruno Windels
f30136dba3
only clear promise at the end to avoid race between load and clear members
2018-08-31 16:12:54 +02:00
Bruno Windels
9b1926f902
also clear out lazy loaded members from storage
2018-08-31 16:11:37 +02:00
David Baker
d29524ba3f
Merge pull request #707 from matrix-org/bwindels/llinvites
...
Fix: also load invited members when lazy loading members
2018-08-31 14:09:42 +01:00
Bruno Windels
7258fe4e5c
clear out of band members in store when leaving room
2018-08-31 14:42:15 +02:00
Bruno Windels
f8ea1702f8
store support for removing out of band members for a room
2018-08-31 14:42:15 +02:00
David Baker
7582c28c1a
v0.10.9-rc.2
2018-08-31 13:40:37 +01:00
David Baker
5042eb87e7
Prepare changelog for v0.10.9-rc.2
2018-08-31 13:40:36 +01:00
David Baker
e8e80732ef
Merge pull request #710 from matrix-org/bwindels/avatarfixbis
...
Fix for "otherMember.getAvatarUrl is not a function"
2018-08-31 13:32:25 +01:00
David Baker
b8744a79ae
Merge pull request #708 from matrix-org/bwindels/avatarfixbis
...
Fix for "otherMember.getAvatarUrl is not a function"
2018-08-31 10:34:29 +01:00
Bruno Windels
414b153d28
also fallback to getting avatar from user
2018-08-31 11:05:06 +02:00
Bruno Windels
8e160dda8e
make sure getAvatarFallbackMember always returns a member
2018-08-31 11:03:26 +02:00
David Baker
9b54c9b807
Merge pull request #704 from matrix-org/dbkr/discardsession
...
Pass through function to discard megolm session
2018-08-30 18:25:50 +01:00
Bruno Windels
1bb608cdb6
remove filter for LL members so invite members are also sent
2018-08-30 17:29:16 +02:00
Bruno Windels
1239485b30
fix test
2018-08-30 15:42:15 +02:00
Bruno Windels
0d23d047fc
use CATCHUP state after ERROR before going back to SYNCING
2018-08-30 15:37:05 +02:00
Bruno Windels
d837ae64ac
triple =
2018-08-30 15:37:05 +02:00
Bruno Windels
d72a70396a
Pass through PREPARED state after error, when keepalive returns succes.
...
This is according to the state diagram in client.js.
This will show a spinner at the bottom of a room again
while the catchup sync is in progress,
which seems to have broken at some point.
2018-08-30 15:37:05 +02:00
David Baker
938772b86a
v0.10.9-rc.1
2018-08-30 14:16:14 +01:00
David Baker
3e88593a81
Prepare changelog for v0.10.9-rc.1
2018-08-30 14:16:14 +01:00
David Baker
60c01d7869
Revert b0b0291 and a6de395
...
To make tests pass again
2018-08-30 12:03:53 +01:00
David Baker
1cbcc61bd6
Merge pull request #706 from matrix-org/bwindels/fixdmavatar
...
Fix DM avatar
2018-08-30 11:43:07 +01:00
Bruno Windels
7f5a2974ce
allow self chats
2018-08-30 12:37:13 +02:00
Bruno Windels
3de3ea38b9
check heroes is present
2018-08-30 11:47:17 +02:00
Bruno Windels
3659e86d57
fix lint, actually get members as well
2018-08-30 11:41:35 +02:00
Bruno Windels
c335a6b3de
guess DM user id, used to patch up incorrect m.direct account data
2018-08-30 11:05:31 +02:00
Bruno Windels
267b831bc4
calculate fallback avatar for rooms with <= members but not DM
2018-08-30 11:05:05 +02:00
Bruno Windels
7ee93cb910
make sure our user is not in the summary heroes.
...
No reason to think it is right now, but if there is a server bug
we could end up showing your own avatar for a DM again.
Also convenience method as we add up invited + join count often
2018-08-30 11:04:32 +02:00
Matthew Hodgson
ae95a49618
spell out m.new_devices no longer exist
2018-08-29 20:20:52 +01:00
David Baker
8f98504183
jsdoc
2018-08-29 18:11:53 +01:00
David Baker
1b77ee0ef4
Pass through function to discard megolm session
...
To make debugging crypto slightly faster
2018-08-29 18:06:45 +01:00
Matthew Hodgson
a6de395cde
unbreak tests from b0b0291bc7
2018-08-28 18:03:59 +01:00
Bruno Windels
fcd6dd34b2
Merge pull request #699 from matrix-org/bwindels/fixlle2ememberfetch-bis
...
Lazy loading: avoid loading members at initial sync for e2e rooms
2018-08-28 15:36:42 +02:00
Bruno Windels
a6ebfe4215
typo
2018-08-28 15:31:20 +02:00
Bruno Windels
6a9158aa62
Merge pull request #700 from matrix-org/bwindels/fixllmegolmsession
...
Improve setRoomEncryption guard against multiple m.room.encryption st…
2018-08-28 15:30:16 +02:00
Matthew Hodgson
b0b0291bc7
hopefully fix invite_room_state as per https://github.com/vector-im/riot-web/issues/7229
2018-08-28 01:27:20 +01:00
Bruno Windels
85f1da1f10
revert unnecesary changes
2018-08-27 12:09:10 +02:00
Bruno Windels
c47445ca98
no need to just add a space now
2018-08-27 12:01:22 +02:00
Bruno Windels
4e25867548
revert to async event processing
...
without LL, we could refresh the device list before all members have been tracked.
as promises, even resolved ones (in case of no LL), always continue async
2018-08-27 11:56:46 +02:00
Bruno Windels
ad71bb30ac
add comment back as we kept flag in the end
2018-08-27 11:51:29 +02:00
Bruno Windels
362bf1895d
restore inhibitDeviceQuery param to avoid breaking change
2018-08-27 11:12:00 +02:00
Bruno Windels
7d00c0bd5a
make LL/non-LL flow in Crypto more alike by always going through _roomDeviceTrackingState
2018-08-27 10:54:08 +02:00
Bruno Windels
5e5994f166
try and fix tests
2018-08-27 10:54:08 +02:00
Bruno Windels
7247762b60
Also support not lazy-loading members in Crypto
2018-08-27 10:54:08 +02:00
Bruno Windels
21e0c79f7d
Revert "Revert "Lazy loading: don't block on setting up room crypto""
...
This reverts commit 5cf2ebea4f .
2018-08-27 10:54:08 +02:00
Bruno Windels
78b08bfef2
fix var declaration
2018-08-27 10:48:11 +02:00
Bruno Windels
ae7e90dc2f
do config comparison first to keep original error message
2018-08-27 10:39:14 +02:00
Hubert Chathi
bf873bde42
split the backup version creation into two different methods
2018-08-24 22:13:13 -04:00
Hubert Chathi
017f81e430
fix some bugs
2018-08-24 16:39:22 -04:00
Bruno Windels
0028bfbfc7
fix lint
2018-08-24 18:42:48 +02:00
Bruno Windels
60c9c403bd
Improve setRoomEncryption guard against multiple m.room.encryption state events
...
we were only bailing out when receiving a non JSON-identical m.room.encryption event.
When receiving an identical event, the algorithm in _roomEncryptors would be reset,
generating a new megolm session every time this happens (there is a LL synapse bug
where this happens on every sync).
As the _roomList is backed by indexeddb you might already have a config without the algorithm being present though,
so we first check for the room encryptor algorithm being present. If so, always bail out as setRoomEncryption was
already called for the given room.
If no algorithm is present, still check if the config is not being changed.
Also setup the roomlist and room encryption synchronously before awaiting
the indexeddb operation to store the room encryption config in roomlist.
2018-08-24 18:28:38 +02:00
David Baker
ec5fff2046
Merge branch 'e2e_backups' of git://github.com/uhoreg/matrix-js-sdk into uhoreg-e2e_backups
2018-08-24 13:29:29 +01:00
Bruno Windels
a7199a3d0d
Merge pull request #698 from matrix-org/revert-696-bwindels/fixlle2ememberfetch
...
Revert "Lazy loading: don't block on setting up room crypto"
2018-08-23 14:10:13 +02:00
Bruno Windels
5cf2ebea4f
Revert "Lazy loading: don't block on setting up room crypto"
2018-08-23 14:05:57 +02:00
David Baker
580e95605e
Merge pull request #696 from matrix-org/bwindels/fixlle2ememberfetch
...
Lazy loading: don't block on setting up room crypto
2018-08-23 12:41:33 +01:00
David Baker
8c3d1df3cf
Merge pull request #695 from matrix-org/dbkr/hide_replaced_rooms
...
Add getVisibleRooms()
2018-08-23 09:34:39 +01:00
David Baker
7c66f91429
Typo
2018-08-23 09:34:23 +01:00
Hubert Chathi
73e294b1bd
add copyright header to backup.spec
2018-08-23 00:29:29 -04:00
Hubert Chathi
e5ec479923
check that crypto is enabled
2018-08-23 00:27:30 -04:00
Hubert Chathi
75107f99b2
pass in key rather than decryption object to restoreKeyBackups
2018-08-23 00:26:21 -04:00
Hubert Chathi
fb8efe368a
initial draft of API for working with backup versions
2018-08-23 00:03:36 -04:00
Hubert Chathi
1faf477537
fix formatting and fix authedRequest usage
2018-08-22 23:58:59 -04:00
Bruno Windels
e3d108454c
fix test
2018-08-22 23:25:37 +02:00
Bruno Windels
806b40727d
fix lint
2018-08-22 23:00:27 +02:00
Bruno Windels
fa702efe8f
fix typo
2018-08-22 19:22:50 +02:00
Bruno Windels
344e3e18ab
start tracking room devices in background after finishing loading members
2018-08-22 19:13:18 +02:00
Bruno Windels
aea9eaa307
Only start tracking devices in an e2e room when needed
...
This way we can put off loading the members
2018-08-22 18:00:38 +02:00
Bruno Windels
dffe0b39b6
Merge pull request #697 from matrix-org/dbkr/joined_member_count_wrapper
...
Add wrapper around getJoinedMemberCount()
2018-08-22 17:44:59 +02:00
Bruno Windels
267d660527
add invite count to room as well
2018-08-22 17:42:30 +02:00
David Baker
4c3046f917
Add wrapper around getJoinedMemberCount()
...
On Room, because it's super confusing that Room has
getJoinedMembers() but not getJoinedMemberCount()
https://github.com/matrix-org/matrix-react-sdk/pull/2126 had assumed
that this method was on Room
2018-08-22 16:34:06 +01:00
Bruno Windels
71444b638b
don't block on setting up room crypto
...
this will load members in case of LL and could take quite some time
The two async actions performed by onCryptoEvent is saving the crypto config
to the roomlist store and fetching the room members to track.
Both are guarded against double calls so not awaiting this should be fine.
2018-08-22 14:45:36 +02:00
David Baker
962ec7bb53
Add getVisibleRooms()
...
To hide rooms that have been replaced
For https://github.com/vector-im/riot-web/issues/7164
2018-08-22 11:58:44 +01:00
Bruno Windels
52fad6aec2
Merge pull request #694 from matrix-org/hs/fetch-room-event-api
...
Api to fetch events via /room/.../event/..
2018-08-21 14:39:14 +02:00
Will Hunt
5b830f0b6a
Add fetchRoomEvent to base-apis.js
2018-08-21 11:07:48 +01:00
Will Hunt
3d24c8768f
Drop fetchRoomEvent from client.js
2018-08-21 11:07:37 +01:00
Bruno Windels
977b8625f8
Merge pull request #693 from matrix-org/dbkr/room_upgrades
...
Support for room upgrades
2018-08-21 11:22:08 +02:00
Will Hunt
df7dc04a1d
Happy linter, happy developer
2018-08-20 14:16:47 +01:00
David Baker
269d3cb086
Merge branch 'master' into develop
2018-08-20 13:49:20 +01:00
David Baker
4d310cd461
v0.10.8
2018-08-20 13:44:30 +01:00
David Baker
88c5c39fcb
Prepare changelog for v0.10.8
2018-08-20 13:44:29 +01:00
Will Hunt
79ca68300c
Add callback
2018-08-20 12:47:26 +01:00
Will Hunt
baca20b225
Add support for /rooms/$roomId/event/$eventId
2018-08-20 11:14:45 +01:00
David Baker
0e3cb1977f
lint
2018-08-17 15:00:54 +01:00
David Baker
8b1fa72877
Copyright & debadgering
2018-08-17 14:59:34 +01:00
David Baker
e8610a35b4
Support for room upgrades
...
For https://github.com/vector-im/riot-web/issues/7164
2018-08-17 14:55:12 +01:00
Bruno Windels
77e6442f73
Merge pull request #691 from matrix-org/bwindels/feature_lazyloading
...
Lazy loading of room members
2018-08-16 18:14:33 +02:00
David Baker
eeddfd4919
v0.10.8-rc.1
2018-08-16 15:17:36 +01:00
David Baker
fa16da86b3
Prepare changelog for v0.10.8-rc.1
2018-08-16 15:17:35 +01:00
Bruno Windels
372a628cab
fix log whitespace
2018-08-15 12:01:26 +02:00
Bruno Windels
2f4d8c3530
check with server if it supports member lazy loading
2018-08-15 12:01:26 +02:00
Bruno Windels
482eab0e2a
fix tests
2018-08-15 12:01:26 +02:00
Bruno Windels
03c63d9b12
use sync token for /members request, as synapse expects it now
2018-08-15 12:01:26 +02:00
Bruno Windels
07e87915ba
fix and add tests
2018-08-15 12:01:26 +02:00
Bruno Windels
91f2bf99c0
fix lint
2018-08-15 12:01:26 +02:00
Bruno Windels
535d59db4d
fixup
2018-08-15 12:01:26 +02:00
Bruno Windels
9739c3355a
undo postponing tracking device keys on turning on room encryption
2018-08-15 12:01:26 +02:00
Bruno Windels
827db37eef
fixup
2018-08-15 12:01:26 +02:00
Bruno Windels
0c6e47a5bc
await for LL members in getEncryptionTargetUsers
2018-08-15 12:01:26 +02:00
Bruno Windels
864ea749e5
Move /members fetching to room as getEncryptionTargetMembers needs it
2018-08-15 12:01:26 +02:00
Bruno Windels
5d92ec3b7b
prevent deadlock on startup
...
when loading the encrypted events from storage,
the code would wait for the encryption target users,
which would never come because you would only load them
when viewing the room.
This disabled starting to track the devices in the room
when the inhibitDeviceQuery is set.
2018-08-15 12:01:26 +02:00
Bruno Windels
733a3ed102
Defer encryption targeted users when OOB member loading hasn't started
2018-08-15 12:01:26 +02:00
Bruno Windels
b14be026b7
pass LL flag to room, to know if we should wait for lazy members at all
2018-08-15 12:01:26 +02:00
Bruno Windels
b4afe97289
spelling
2018-08-15 12:01:26 +02:00
Bruno Windels
43a7a607b2
fixup
2018-08-15 12:01:26 +02:00
Bruno Windels
a8bf66d8af
Make Room.getEncryptionTargetMembers async, as members might be loading
2018-08-15 12:01:26 +02:00
Bruno Windels
3616a07dbb
store /members promise on room while loading members
2018-08-15 12:01:26 +02:00
Bruno Windels
6609dfd410
initial support for lazy loading when calling /context
2018-08-15 12:01:26 +02:00
Bruno Windels
e3913bd397
Fix: missed call site while renaming prependStateEvents
2018-08-15 12:01:26 +02:00
Bruno Windels
8c01ed1469
add comments explaining why we ignore the put promise result
2018-08-15 12:01:26 +02:00
Bruno Windels
7aa0dcc89f
PR feedback, rename method
2018-08-15 12:01:26 +02:00
Bruno Windels
5285b22a76
bump version as making startClient async is a breaking change
2018-08-15 12:01:26 +02:00
Bruno Windels
0fa49bc2cd
PR feedback
2018-08-15 12:00:38 +02:00
Bruno Windels
01d8730850
cleanup, lint and docs
2018-08-15 12:00:38 +02:00
Bruno Windels
52149ce74a
Move LL filter creation inside MatrixClient
...
As we need an option to turn lazy loading on (we can't just accept a filter,
as /messages has an incompatible filter), better only pass the option
and create the filter inside startClient
2018-08-15 12:00:38 +02:00
Bruno Windels
bffc20612d
Fix: member avatar was always forward looking
...
applying itself all the way till the next member event
when back paginating
2018-08-15 12:00:38 +02:00
Bruno Windels
2c0eb19a27
Fix sentinels changing from underneath us!
...
As RoomMember contains the event in a nested object (events.member),
a shallow copy was not enough to be immutable.
This solution won't copy OOB flags but that's not neccesary
for sentinels.
2018-08-15 12:00:38 +02:00
Bruno Windels
748c4737f6
remove dead code
2018-08-15 12:00:38 +02:00
Bruno Windels
769d5113f7
prepend state from /messages to appropriate timeline/room state (excluding event context for now)
2018-08-15 12:00:38 +02:00
Bruno Windels
157be6da05
centralize creating a /messages request
...
so we only need to add LL filter once
2018-08-15 12:00:38 +02:00
Bruno Windels
1dc4b8bb63
add option for lazy loading to startClient
...
we need more than just a filter, which is what is passed in now,
so have an explicit option. For now still take the filter but later on
this could be created inside MatrixClient
2018-08-15 12:00:38 +02:00
Bruno Windels
f261599435
fix lint
2018-08-15 12:00:38 +02:00
Bruno Windels
2862b49057
Only return hero in getDMInviter if we were invited
2018-08-15 12:00:38 +02:00
Bruno Windels
a8d0d8f33d
provide method on room to help with DM detection with fallback to summary heroes/counts.
2018-08-15 12:00:38 +02:00
Bruno Windels
f55a2079bf
replace getMember(myId).membership with getMyMembership
...
This works with rooms which haven't had their members
loaded yet.
2018-08-15 12:00:38 +02:00
Bruno Windels
c0f706a2a2
move userId into room
2018-08-15 12:00:38 +02:00
Bruno Windels
b034f67a0f
add oob member methods to stub store
2018-08-15 12:00:38 +02:00
Bruno Windels
977b9eb686
implement memory store methods
2018-08-15 12:00:38 +02:00
Bruno Windels
5e11bf735e
store OOB status along with members, to avoid unneccesary fetching
...
for some small rooms, it is possible that calling /members would not
yield any previously unknown members, as they were all recently active.
This would be the case for most DMs.
For these rooms, we'd end up with 0 OOB members after lazy loading them,
so when getting them out of storage we need a way to distuinguist this case
from never having lazy loaded the members of the room at all.
We store a marker object in the same store and return [] or null accordingly.
This way the /members don't get fetched a second time.
2018-08-15 12:00:38 +02:00
Bruno Windels
a8c73f7a4d
add logging, should be useful as long as not merged into develop
2018-08-15 12:00:38 +02:00
Bruno Windels
86105611fc
we dont need a separate index?
2018-08-15 12:00:38 +02:00
Bruno Windels
0364af7337
update indexeddb store to store member events, not profile information
2018-08-15 12:00:38 +02:00
Bruno Windels
c618ce4625
store only out of band members
2018-08-15 12:00:38 +02:00
Bruno Windels
2b9c834476
add comment to clarify how we avoid race
2018-08-15 12:00:38 +02:00
Bruno Windels
d366ec9c48
prototype how we could store ll members
2018-08-15 12:00:38 +02:00
Bruno Windels
ca3981fba8
back-port infinite spinner fix as room state code changed considerably for lazy loading
2018-08-15 12:00:38 +02:00
Bruno Windels
bb490faefe
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
d8f673ed51
make sure invited count cache gets reset when updating member
2018-08-15 11:59:40 +02:00
Bruno Windels
6ce7170cf4
counts from summary api should override count members manually as members might not be complete
2018-08-15 11:59:40 +02:00
Bruno Windels
1d71e7243f
no need to create new array here
2018-08-15 11:59:40 +02:00
Bruno Windels
cf08901d02
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
230a9311a0
actually need to subtract one from join+invite count as that includes the syncing user
2018-08-15 11:59:40 +02:00
Bruno Windels
576f7142c1
just need the member names actually
2018-08-15 11:59:40 +02:00
Bruno Windels
20b4285849
add some tests for room name based on room summary + fix because it was actually broken
2018-08-15 11:59:40 +02:00
Bruno Windels
d67bdbf088
test accumulating summary fields
2018-08-15 11:59:40 +02:00
Bruno Windels
3a389793ff
fix sync accumulator test to include summary
2018-08-15 11:59:40 +02:00
Bruno Windels
f5ff5dc3e0
Fix name recalculation tests by not relying on mocking
...
I tried keeping the mocking but it would take too much
boilerplate code to make the tests work again, and even more
to write the tests for room name with lazy loading.
Just testing everything with a real implementation is not really
a unit test any more, but proved way easier.
It'll be somewhat annoying these tests will fail if there is
something wrong in roomstate (not room), but that's the trade-off
2018-08-15 11:59:40 +02:00
Bruno Windels
00bf5bdf69
unify member a bit access towards getMember
...
some tests for mock getMember, some for .members
if you use either in the code (as I did for room display name changes)
tests start playing and you play whack-a-mole switching between
both ways of accessing the members in a room.
lets start using one way so mocking becomes easier,
and besides, accessing an object internal members is not the best idea.
2018-08-15 11:59:40 +02:00
Bruno Windels
9541aa7dbf
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
e61c6b89c8
bring room name calculation in line with summary spec, while maintaining some backwards compatibility
2018-08-15 11:59:40 +02:00
Bruno Windels
a5b3869e9f
add invited count, only copy summary fields if present in summary
...
only copy any member from summary as
they are only in the response when they change.
Also accumulate them in the sync accumulator
2018-08-15 11:59:40 +02:00
Bruno Windels
fbdce27db2
m.heros => m.heroes
2018-08-15 11:59:40 +02:00
Bruno Windels
148876f597
sorting should happen always
2018-08-15 11:59:40 +02:00
Bruno Windels
0cb533beca
no need to recalculate name here, as recalculate already does this
2018-08-15 11:59:40 +02:00
Bruno Windels
5811ebd6f3
Support summary heroes in room name calculation
...
Also clean-up algorithm, and remove assumption
that we have all members as much as possible
2018-08-15 11:59:40 +02:00
Bruno Windels
8fa87f8ba5
make room summary available to Room
...
from either the sync accumulator or the /sync endpoint
2018-08-15 11:59:40 +02:00
Bruno Windels
21ba4f71f6
jsdoc doesn't like generic promise type annotations
2018-08-15 11:59:40 +02:00
Bruno Windels
097e7df7c9
fix lint
2018-08-15 11:59:40 +02:00
Bruno Windels
83c6615d6e
move me || syncedmembership code into room.getmymembership
2018-08-15 11:59:40 +02:00
Bruno Windels
f6fafeaafb
store membership from during sync, because we might not have own membership
...
to determine where a room should show up in the room list, we need to know
our membership type. But with lazy loading, we might not have our own member
if we weren't recently active in the room. Using getSyncedMembership can be
used to fallback if the users membership is not yet available.
2018-08-15 11:59:40 +02:00
Bruno Windels
420a88c776
remove obsolete flag
2018-08-15 11:59:40 +02:00
Bruno Windels
5fcf9481b3
fix room not having access to event mapper + tests
2018-08-15 11:59:39 +02:00
Bruno Windels
48c3dcc08a
fix lint & fix and add tests
2018-08-15 11:59:39 +02:00
Bruno Windels
62333b3e2c
Use /members api for lazy loading
...
This commit is a substantial change, as /members returns state events,
not profile information as /joined_members, and this allows to simplify
the implementation quite a bit. We can assume again all members have
a state event associated with it.
I also changed most of the naming of lazy loaded members to
out-of-band members to reflect that this is the relevant bit for most
of the code, that the members didn't come through /sync but through
another channel.
This commit also addresses the race condition between /(joined_)members
and /sync. /members returns the members at the point in the timeline
at a given event id. Members are loaded at the last event
in the live timeline, and all members that come in from sync
in the mean time are marked as superseding the out of band members,
so they won't be overwritten, even if the timeline is reset in the
mean time.
Members are also marked if they originate from an out-of-band channel
(/members) so they can be stored accordingly (future PR).
The loading status is kept in room state now, as this made resolving
the race condition easier. One consequence is that the status needs
to be shared across cloned instances of RoomState. When resetting
the timeline (and cloning the room state) while lazy loading is in
progress, one of the RoomStates could be left in progress indefinitely.
Though that is more for clarity than avoiding any actual bugs.
2018-08-15 11:59:39 +02:00
Bruno Windels
df758b31b7
fix lint
2018-08-15 11:59:39 +02:00
Bruno Windels
9f08bfaa6f
room lazy loading tests + fix
2018-08-15 11:59:39 +02:00
Bruno Windels
198d2c780d
test that modifications to clone'd() room state dont affect the old
2018-08-15 11:59:39 +02:00
Bruno Windels
ab1c0dabae
make sure LL members don't needlessly get disambiguated during a clone
...
when cloning the state, lazy loaded members are copied over with their rawDisplayName,
which could originate from their userId if they don't have a displayname.
the displayname algorithm would assume that the displayname is explicitly set,
and see if we'd have to disambiguate. As a fix, if the display name is the same as the id, just return the id
2018-08-15 11:59:39 +02:00
Bruno Windels
0234f11914
some tests for room member + state, and some fixes to make them pass
2018-08-15 11:59:39 +02:00
Bruno Windels
79fcc9f343
only set the lazy members on the forward looking state of the live timeline
...
since back-paginating will also support lazy loading the state needed to display that part of the timeline, and no user interaction
is supposed to happen before the lazy loaded member are, well, loaded, applying the ll members to all timelines should not be neccessary.
2018-08-15 11:59:39 +02:00
Bruno Windels
031f722540
clarify that we only get joined members for now
2018-08-15 11:59:39 +02:00
Bruno Windels
531ccf1819
actually, comment should be 1 line higher
2018-08-15 11:59:39 +02:00
Bruno Windels
0d2ac42dc4
add comment to clarify corners cut in prototype
2018-08-15 11:59:39 +02:00
Bruno Windels
9ec6ea3bdf
2, not 3 times
2018-08-15 11:59:39 +02:00
Bruno Windels
1ce580bba3
test lazy loaded info is returned and then discarded when setting a state event
2018-08-15 11:59:39 +02:00
Bruno Windels
8ad2a94a90
make sure LL member doesn't override state event
...
extra safety check, as this should already not happen because of the check in RoomState
2018-08-15 11:59:39 +02:00
Bruno Windels
de3f75bc83
Lazy loaded members should never take precendence over members acquired through state events
2018-08-15 11:59:39 +02:00
Bruno Windels
008d85ed32
pick joined property out of response
2018-08-15 11:59:39 +02:00
Bruno Windels
5e30aff418
more consistent naming
2018-08-15 11:59:39 +02:00
Bruno Windels
5de0d39553
move the fact that we're prototyping only with joined members up the stack to client
...
only MatrixClient really needs to know that for now we only load joined members, the rest of the code can be generic for other membership types as that is the eventual plan, to also support invites at least.
2018-08-15 11:59:39 +02:00
Bruno Windels
d95d44dc94
move error handling to caller
2018-08-15 11:59:39 +02:00
Bruno Windels
6061deac37
use method for getting state event, less code
2018-08-15 11:59:39 +02:00
Bruno Windels
ba34a766e7
fix lint
2018-08-15 11:59:39 +02:00
Bruno Windels
1c81a17298
Fix tests
...
getSentinelMember now does return a member (with just the userid) when there is no corresponding member yet.
With lazy loading it's perfectly possible the member is not available, and null breaks continuation in the timeline.
2018-08-15 11:59:39 +02:00
Bruno Windels
2097b31d4f
handle failed /joined_members call by logging to console and reverting flag
2018-08-15 11:59:39 +02:00
Bruno Windels
2155dd0552
improve return type comment
2018-08-15 11:59:39 +02:00
Bruno Windels
8733654094
remove left-over test code, oops
2018-08-15 11:59:39 +02:00
Bruno Windels
abd15748ce
fix one lint warning too many
2018-08-15 11:59:39 +02:00
Bruno Windels
9a796f1383
fix lint errors
2018-08-15 11:59:39 +02:00
Bruno Windels
88f2f62945
make resetting the live timeline work with lazily loaded members
...
In order for the lazy loading logic not to bleed into all corners
of the JS SDK, I moved some of the state copying between timelines
over to the RoomState and EventTimeLine class.
2018-08-15 11:59:39 +02:00
Bruno Windels
30adefed07
return sentinels with userid if members haven't been loaded yet,
...
better than braking timeline continuation
2018-08-15 11:59:39 +02:00
Bruno Windels
20a1828fa5
make sentinels lazy loading compatible
...
dont just rely on member events, but just copy the member
2018-08-15 11:59:39 +02:00
Bruno Windels
809674ca2b
set lazily loaded members on all RoomStates of a room
...
for all timelines in all timeline sets
2018-08-15 11:59:39 +02:00
Bruno Windels
0ca3475878
make method to get mxc avatar url public
...
so MemberInfo can use it and take lazy loading into account
2018-08-15 11:59:39 +02:00
Bruno Windels
32b741e205
use more consistent naming
2018-08-15 11:59:39 +02:00
Bruno Windels
c917c4a468
return correct invite sender in case of a join
2018-08-15 11:59:39 +02:00
Bruno Windels
6c584d2b4c
keep is_direct checks inside RoomMember as events.member might not be available
2018-08-15 11:59:39 +02:00
Bruno Windels
759d415d40
preserve member state event if available when lazy loading members
2018-08-15 11:59:39 +02:00
Bruno Windels
45d86fa270
emit individual events for lazily loaded members
...
emit individual RoomState.members/newMember events
for each lazily loaded member as batch events are not a thing.
This makes updating the memberlist work
2018-08-15 11:59:39 +02:00
Bruno Windels
2c5cad71ee
prototype support for lazily loading members in matrixclient
2018-08-15 11:59:39 +02:00
Bruno Windels
2b5925b893
Support for updating members in RoomState from lazily loaded members
2018-08-15 11:59:39 +02:00
Bruno Windels
f012ada2c4
add setter on RoomMember to update from lazily loaded member
2018-08-15 11:59:07 +02:00
Bruno Windels
af1b26ae95
Merge pull request #689 from matrix-org/dbkr/show_room_version
...
Add getVersion to Room
2018-08-14 17:54:09 +02:00
David Baker
f72f5b43e1
Add getVersion to Room
...
To get the version number of the room as per https://github.com/matrix-org/matrix-doc/issues/1425
2018-08-14 14:27:08 +01:00
Hubert Chathi
d55618921b
initial implementation of e2e key backup and restore
2018-08-07 23:10:55 -04:00
Bruno Windels
c7e1e07262
Merge pull request #680 from matrix-org/dbkr/getsyncstatedata
...
Add getSyncStateData()
2018-08-06 10:51:21 +02:00
Bruno Windels
24a1bec23d
Merge pull request #679 from matrix-org/dbkr/chairman_mau_pt_3_sync_error
...
Send sync error to listener
2018-08-03 19:06:17 +02:00
David Baker
89ad104423
Add getSyncStateData()
...
To get additional information about the sync state (ie. the error
object).
2018-08-03 18:00:52 +01:00
David Baker
c2f3324302
Send sync error to listener
...
We do this in other places, but not here
2018-08-03 16:59:10 +01:00
Michael Telatynski
04a969b997
Merge pull request #675 from matrix-org/bwindels/nocrashoninvalidtags
...
make sure room.tags is always a valid object to avoid crashes
2018-08-01 23:03:51 +01:00
Bruno Windels
630dfa9499
make sure room.tags is always a valid object so no crashes happen later on
2018-07-31 15:33:56 +02:00
Bruno Windels
95668950c2
Merge pull request #673 from matrix-org/bwindels/infinite_spinner
...
Fix infinite spinner upon joining a room
2018-07-31 14:57:04 +02:00
Bruno Windels
3012501e4b
update docs to clarify state when emitting newMember
2018-07-30 14:19:45 +02:00
David Baker
0e81dfb004
v0.10.7
2018-07-30 11:40:08 +01:00
David Baker
35b7f358b6
Prepare changelog for v0.10.7
2018-07-30 11:40:08 +01:00
Bruno Windels
e3e48944e0
add test
2018-07-27 11:49:55 +02:00
Bruno Windels
94bbba72f5
add member to members before emitting any events
2018-07-27 11:35:19 +02:00
Michael Telatynski
b34716f7e9
take into account homoglyphs when calculating similar display names
...
to prevent homoglyph attacks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-07-26 14:55:35 +01:00
David Baker
c429ca67b9
v0.10.7-rc.1
2018-07-24 18:15:14 +01:00
David Baker
bce2ba0785
Prepare changelog for v0.10.7-rc.1
2018-07-24 18:15:13 +01:00
Matthew Hodgson
2613690064
Merge pull request #666 from matrix-org/matthew/encrypt-for-invited-users
...
encrypt for invited users if history visibility allows.
2018-07-10 16:14:45 +01:00
David Baker
7283076bc8
Fix Users / Members mixup
2018-07-09 17:16:23 +01:00
David Baker
f43d05b54e
Merge branch 'master' into develop
2018-07-09 13:07:40 +01:00
David Baker
c6b500bc09
v0.10.6
2018-07-09 13:06:07 +01:00
David Baker
c3972015c7
Prepare changelog for v0.10.6
2018-07-09 13:06:06 +01:00
David Baker
3c18c57857
v0.10.6-rc.1
2018-07-06 15:40:55 +01:00
David Baker
f562a06707
Prepare changelog for v0.10.6-rc.1
2018-07-06 15:40:54 +01:00
Michael Telatynski
7f50dd205f
displayname disambiguation fixes ( #662 )
...
* fix displayname=undefined being disambiguated and strip Zero Width chars
* also strip diaritics and whitespace
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-07-06 10:42:53 +01:00
David Baker
c4fe15400c
Merge pull request #665 from matrix-org/luke/feature-expose-decryption-error-2
...
Expose event decryption error via Event.decrypted event
2018-07-05 11:02:26 +01:00
David Baker
6e3e8f7310
Merge pull request #663 from matrix-org/luke/feature-decryption-error-codes
...
Add decryption error codes to base.DecryptionError
2018-07-05 11:00:33 +01:00
Matthew Hodgson
5ae2c26130
lint
2018-07-05 02:01:10 +02:00
Matthew Hodgson
d8d35f4022
encrypt for invited users if history visibility allows.
...
fixes https://github.com/vector-im/riot-web/issues/2713
2018-07-05 01:45:45 +02:00
Luke Barnard
fadb4d9219
Send OLM_UNKNOWN_MESSAGE_INDEX when possible
2018-07-04 15:58:45 +01:00
Luke Barnard
b63149b36a
Fix error code for Olm group message decryption
2018-07-04 14:33:02 +01:00
Luke Barnard
79f92abcfa
Add jsdoc for Event.decrypted error
2018-07-04 14:28:15 +01:00
Luke Barnard
0137fb468b
Expose event decryption error via Event.decrypted event
2018-07-04 13:56:03 +01:00
Luke Barnard
70ef8760cc
Remove spurious console.dir
2018-07-04 11:56:02 +01:00
Luke Barnard
c74d2d831b
Add decryption error codes to base.DecryptionError
...
These should roughly follow https://github.com/matrix-org/matrix-ios-sdk/blob/9732cf593206a10d2b60cd01151a759c88c1e9a2/MatrixSDK/Crypto/Algorithms/MXDecryptionResult.h#L21-L39
2018-07-04 11:54:06 +01:00
David Baker
0415f821eb
v0.10.5
2018-06-29 11:32:23 +01:00
David Baker
779fe35255
Prepare changelog for v0.10.5
2018-06-29 11:32:22 +01:00
Will Hunt
aec7ef6f9c
getMediaLimits -> getMediaConfig
2018-06-23 14:38:39 +01:00
Will Hunt
329f09ce0a
Media/limits => /config
2018-06-23 14:38:39 +01:00
Will Hunt
68c23af5ae
Remove extra return
2018-06-23 14:38:39 +01:00
Will Hunt
a54f30c02f
Add getMediaLimits to client
2018-06-23 14:38:39 +01:00
Will Hunt
fde00b1c62
getMediaLimits -> getMediaConfig
2018-06-23 12:57:29 +01:00
David Baker
11382d2cd7
v0.10.5-rc.1
2018-06-21 10:01:05 +01:00
David Baker
ef31131a5d
Prepare changelog for v0.10.5-rc.1
2018-06-21 10:01:05 +01:00
Will Hunt
8dd425f8ff
Media/limits => /config
2018-06-20 17:24:45 +01:00
David Baker
76feabe32b
Merge pull request #659 from matrix-org/t3chguy/media_fixes
...
fix auth header and filename=undefined
2018-06-18 13:46:59 +01:00
Michael Telatynski
7fe3e2f90a
invert argument to make it positive without breaking backwards compat
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-06-18 12:27:25 +01:00
Michael Telatynski
c0b2151929
allow omitting filename from upload entirely
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-06-15 18:25:20 +01:00
Michael Telatynski
5e3b1bf6b0
use Authorization header in media/v1/upload if enabled, instead of query
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-06-15 09:57:30 +01:00
Michael Telatynski
fdf4523c2a
export the Group model class ( #656 )
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-06-14 13:52:13 +01:00
David Baker
c6cf76f345
Merge branch 'master' into develop
2018-06-12 14:13:15 +01:00
David Baker
f16e544691
v0.10.4
2018-06-12 14:11:07 +01:00
David Baker
df101217fc
Prepare changelog for v0.10.4
2018-06-12 14:11:07 +01:00
David Baker
5d90dc16cc
Merge pull request #650 from matrix-org/t3chguy/audio_output
...
allow setting the output device for webrtc calls
2018-06-08 15:57:25 +01:00
David Baker
bbfc1a1cd6
Merge pull request #596 from t3chguy/t3chguy/fix-docs
...
arguments true and false are actually invalid
2018-06-08 15:21:23 +01:00
Michael Telatynski
b7208c12ac
Merge pull request #643 from matrix-org/t3chguy/content-type-bugfix
...
fix typo where `headers` was not being used and thus sent wrong content-type
2018-06-08 12:29:35 +01:00
Michael Telatynski
eaa2fdec44
Merge pull request #642 from matrix-org/t3chguy/doc_fixes
...
fix some documentation typos
2018-06-08 12:17:48 +01:00
David Baker
7099adfe79
v0.10.4-rc.1
2018-06-06 15:40:02 +01:00
David Baker
cb17a2bcb0
Prepare changelog for v0.10.4-rc.1
2018-06-06 15:40:01 +01:00
Michael Telatynski
172044a1cb
check whether notif level is undefined, because 0 is falsey ( #651 )
...
* check whether notif level is undefined, because `0` is falsey and it failed
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
* improve number check for all m.room.power_levels related stuffs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-05-29 12:11:29 +01:00
Matthew Hodgson
69204d4fb3
Merge branch 'develop' into matthew/e2e_backups
2018-05-28 00:44:49 +01:00
Michael Telatynski
4b203b6b63
allow setting the output device for webrtc calls
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-05-26 16:44:27 +01:00
David Baker
67876bab4c
v0.10.3
2018-05-25 15:09:24 +01:00
David Baker
6ce691e40f
Prepare changelog for v0.10.3
2018-05-25 15:09:23 +01:00
David Baker
9cd44b09f9
v0.10.3-rc.1
2018-05-24 18:16:59 +01:00
David Baker
73a2704126
Prepare changelog for v0.10.3-rc.1
2018-05-24 18:16:58 +01:00
Luke Barnard
a50dd785b8
(Breaking Change) Add erase option to deactivateAccount ( #649 )
...
For erasing messages etc. after deactivation.
**Breaking change: `deactivateAccount` no longer takes callback**
Also: Move /account/deactivate from PREFIX_UNSTABLE to _R0
2018-05-24 10:47:41 +01:00
Luke Barnard
bafbe5cbec
Emit no_consent when M_CONSENT_NOT_GIVEN received ( #647 )
2018-05-22 18:02:21 +01:00
Leon
9cdcbf6bf8
emit oldEventId on "updatePendingEvent"
...
It should fire `Room.localEchoUpdated` event and returns the oldEventId
2018-05-22 11:27:05 +08:00
Will Hunt
9596087959
Remove extra return
2018-05-03 17:57:57 +01:00
Will Hunt
6570402b95
Add getMediaLimits to client
2018-05-03 13:43:37 +01:00
David Baker
4153845346
v0.10.2
2018-04-30 13:29:26 +01:00
David Baker
548713ed98
Prepare changelog for v0.10.2
2018-04-30 13:29:25 +01:00
Michael Telatynski
1bf1ce7070
fix typo where headers was not being used and thus sent wrong mime
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-04-30 06:56:43 +01:00
David Baker
21dc0fbf2f
v0.10.2-rc.1
2018-04-25 14:57:08 +01:00
David Baker
7b29de9698
Prepare changelog for v0.10.2-rc.1
2018-04-25 14:57:08 +01:00
Michael Telatynski
7d468ee148
Replies ( #607 ) (and Content Helpers)
...
* if event has `m.relates_to` extract this into the e2e-wrapper event
* Split out helpers to make content for {HTML,text}{emote,notice,message}
So that additional content fields can be added before sending
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-04-23 14:26:40 +01:00
Michael Telatynski
260e7b529f
fix some documentation typos
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2018-04-15 23:31:33 +01:00
Michael Telatynski
b027089fc1
use constants
2018-04-15 22:16:25 +01:00
David Baker
8f318528f8
Merge branch 'master' into develop
2018-04-12 12:17:45 +01:00
David Baker
9696e70817
v0.10.1
2018-04-12 12:06:25 +01:00
David Baker
85580acbff
Prepare changelog for v0.10.1
2018-04-12 12:06:24 +01:00
David Baker
c45a5f7e84
Name param slightly more helpfully
2018-04-12 12:00:41 +01:00
David Baker
df74b0b038
Ignore inserts of dup inbound group sessions, pt 2
...
Stop the error from propagating to the txn error handler and
aborting the rest of the transaction.
2018-04-12 12:00:32 +01:00
David Baker
749e5b8458
Use the name of the error, not the request
2018-04-12 12:00:23 +01:00
David Baker
1255566324
Error message formatting
2018-04-12 12:00:11 +01:00
David Baker
a25da4ebf4
Ignore inserts of duplicate inbound group sessions
...
Rather than aborting the whole txn
This is causing e2e migration fails in the wild
2018-04-12 11:59:59 +01:00
David Baker
72835f3c5f
lint
2018-04-12 11:59:46 +01:00
David Baker
c4f52f6256
Fix error logging
2018-04-12 11:59:32 +01:00
David Baker
3eb9505633
Log IDB errors
2018-04-12 11:58:33 +01:00
David Baker
543a0be1e4
Merge pull request #641 from matrix-org/dbkr/ignore_duplicate_inbound_group_session_2
...
Ignore inserts of dup inbound group sessions, pt 2
2018-04-12 11:25:54 +01:00
David Baker
5ef21c5075
Name param slightly more helpfully
2018-04-12 11:20:45 +01:00
David Baker
5c412cc0bd
Ignore inserts of dup inbound group sessions, pt 2
...
Stop the error from propagating to the txn error handler and
aborting the rest of the transaction.
2018-04-12 11:15:39 +01:00
David Baker
346deb4b0d
Use the name of the error, not the request
2018-04-11 18:57:52 +01:00
David Baker
6f8f30b018
Error message formatting
2018-04-11 18:56:17 +01:00
David Baker
b808757012
Merge pull request #639 from matrix-org/dbkr/ignore_duplicate_inbound_group_session
...
Ignore inserts of duplicate inbound group sessions
2018-04-11 18:31:43 +01:00
David Baker
5e491bb89a
Ignore inserts of duplicate inbound group sessions
...
Rather than aborting the whole txn
This is causing e2e migration fails in the wild
2018-04-11 17:27:25 +01:00
David Baker
fc3cb0dd45
lint
2018-04-11 16:09:28 +01:00
David Baker
0846cb04af
Fix error logging
2018-04-11 16:02:56 +01:00
David Baker
9708394846
Merge pull request #638 from matrix-org/dbkr/idb_log_error
...
Log IDB errors
2018-04-11 15:42:14 +01:00
David Baker
92e4396602
Log IDB errors
2018-04-11 15:37:28 +01:00
Luke Barnard
a5870b73a9
Merge branch 'master' into develop
2018-04-11 11:39:26 +01:00
Luke Barnard
77ff6b9088
v0.10.0
2018-04-11 11:38:08 +01:00
Luke Barnard
425e74f297
Prepare changelog for v0.10.0
2018-04-11 11:38:08 +01:00
Luke Barnard
ffa184464e
v0.10.0-rc.2
2018-04-09 15:29:09 +01:00
Luke Barnard
eca68e9e7f
Prepare changelog for v0.10.0-rc.2
2018-04-09 15:29:09 +01:00
David Baker
dd1bc8ec9a
Update to new join policy API ( #636 )
2018-04-09 14:58:13 +01:00
Luke Barnard
24dc1d6991
Add wrapped to set group is_joinable ( #634 )
...
which is exposed in the summary API under `summary.profile.is_joinable`.
If true, anyone can join the group. If false, an invite is required.
2018-04-09 14:58:06 +01:00
Luke Barnard
9f510b7eee
Add wrapper for group join API ( #633 )
...
Needed for new "joinable" groups.
2018-04-09 14:57:57 +01:00
David Baker
730ca9b60b
Update to new join policy API ( #636 )
2018-04-05 17:02:43 +01:00
Luke Barnard
1afaf903f9
Add wrapped to set group is_joinable ( #634 )
...
which is exposed in the summary API under `summary.profile.is_joinable`.
If true, anyone can join the group. If false, an invite is required.
2018-03-29 17:03:20 +01:00
Luke Barnard
d53cd41aa6
Add wrapper for group join API ( #633 )
...
Needed for new "joinable" groups.
2018-03-29 12:42:16 +01:00
David Baker
3e5ea745d2
Merge pull request #632 from matrix-org/dbkr/remove_ignore_call_log
...
Remove not very useful but veryv spammy log line
2018-03-27 18:28:08 +01:00
David Baker
c7052f7dc7
Remove not very useful but veryv spammy log line
2018-03-27 18:21:03 +01:00
Richard Lewis
56b01df85b
Merge pull request #628 from matrix-org/rxl881/stickerEvent
...
Switch event type to m.sticker.
2018-03-22 10:16:40 +00:00
David Baker
aa18eeb7d6
v0.10.0-rc.1
2018-03-19 12:08:11 +00:00
David Baker
c18264c615
Prepare changelog for v0.10.0-rc.1
2018-03-19 12:08:11 +00:00
David Baker
11746290a9
Merge pull request #630 from matrix-org/dbkr/fix_repeat_state_events_on_unpeek
...
Fix duplicated state events in timeline from peek
2018-03-16 15:44:38 +00:00
David Baker
16c062c069
Start first incremental sync request early ( #629 )
...
* Start first incremental sync request early
So it can run while we process our sync data.
2018-03-16 15:22:06 +00:00
David Baker
64396de0dc
Fix duplicated state events in timeline from peek
...
When joining a room we were peeking into, we duplicated all the
state events into the timeline. Put back the old behaviour of just
setting them as state events, with copious commentary on how wrong
this seems.
2018-03-15 17:35:18 +00:00
Richard Lewis
8ff78c5d60
Switch event type to m.sticker.
2018-03-12 13:56:50 +00:00
David Baker
349297e495
Merge pull request #627 from matrix-org/dbkr/indexeddb_worker_on_start
...
Create indexeddb worker when starting the store
2018-03-09 17:43:15 +00:00
David Baker
dc3ffb3b30
Fix jsdoc
2018-03-09 17:39:02 +00:00
David Baker
5c2dfb138a
Hopefully clarify _startPromise
2018-03-09 17:35:03 +00:00
David Baker
0be679de42
Make local variable look less like a global
2018-03-09 17:31:08 +00:00
David Baker
8bd68e0f10
Create indexeddb worker when starting the store
...
Rather than when creating it, otherwise we could potentially end
up starting workers unnecessarily.
2018-03-09 16:53:27 +00:00
David Baker
df70e16b4d
Merge pull request #626 from matrix-org/dbkr/fix_indexeddb_logging
...
Fix indexeddb logging
2018-03-09 10:29:53 +00:00
David Baker
b246545da5
Merge remote-tracking branch 'origin/develop' into dbkr/fix_indexeddb_logging
2018-03-09 10:21:00 +00:00
David Baker
3280cb648f
Merge pull request #625 from matrix-org/dbkr/stop_spinner_of_doom
...
Don't do /keys/changes on incremental sync
2018-03-09 10:19:26 +00:00
David Baker
8798bf42e6
Fix indexeddb logging
...
1. Fix double 'loaded' on sync data logging
2. Move the 'loaded' message into the bit where the data has
actually loaded rather than the promise try block.
3. Add '...' to the 'loading' messages so they're easier to tell
apart from the 'loaded' messages.
2018-03-09 10:16:32 +00:00
David Baker
5a23927e56
Move comment up
2018-03-09 10:09:36 +00:00
Matthew Hodgson
beafd597dd
ensure indexeddb workers are never double-connected
2018-03-09 02:18:19 +00:00
Matthew Hodgson
fbc43b0d58
stupid typo
2018-03-09 00:01:14 +00:00
David Baker
facfcf679d
DeviceList: bring save forward if necessary
...
If save is called with a delay that would want the save to happen
sooner then the save we currently have scheduled, cancel the
current save and schedule a new one for the sooner time.
2018-03-08 15:35:35 +00:00
Luke Barnard
68b230a78f
Add function to cancel and resend key request ( #624 )
2018-03-08 15:01:01 +00:00
David Baker
3d1fcc6f83
One day I'll learn to spell guaranteed
2018-03-08 14:26:48 +00:00
David Baker
a0578efeb9
fix tests
2018-03-08 13:52:48 +00:00
David Baker
727ad5755e
lint
2018-03-08 12:40:01 +00:00
David Baker
4f17352858
Don't do /keys/changes on incremental sync
...
Remove the call to /keys/changes when we do an incremental syn
where the old sync token doesn't match the one in the device list
store. To allow us to do this, always save the device list store
before saving the sync data, so we can safely assume the device
list store is at least as fresh as the sync token in the sync store.
Thread save functions through to allow this, add a delay parameter
so the sync can save the device list immediately and skip the wait,
and add a wantsSave() method so the sync can skip saving the device
list if the sync store isn't going to save anyway.
Fixes https://github.com/vector-im/riot-web/issues/6068
2018-03-08 12:33:08 +00:00
David Baker
0eb72122ce
Merge pull request #623 from matrix-org/dbkr/devicelist_is_too_dirty
...
Don't mark devicelist dirty unnecessarily
2018-03-07 17:55:38 +00:00
David Baker
66e2b3bb70
Don't mark devicelist dirty unnecessarily
...
This was marking the device list as dirty even when nothing had
actually changed, causing unnecessary saves.
2018-03-07 17:32:51 +00:00
David Baker
5f12d858eb
Keep a push processor and re-use it. ( #622 )
...
Because it does some nice caching stuff but that's no good if we
re-create a new one each time.
2018-03-06 19:01:30 +00:00
Luke Barnard
e258d6ca8d
Fix bug in crypto-store-backend; use oncomplete ( #620 )
...
instead of onsuccess for the txn to add an outgoing room key
request.
2018-03-02 12:01:21 +00:00
David Baker
2d25dedbcc
Merge pull request #619 from matrix-org/dbkr/cache_joined_member_count
...
Cache the joined member count for a room state
2018-02-26 16:56:26 +00:00
David Baker
bdf6fcb222
Fix tests
2018-02-26 16:53:17 +00:00
David Baker
7e1cea1ef6
Cache the joined member count for a room state
...
Pushrule evaluation needs the count of joined room members and
filtering the list for joined members takes a nontrivial amount
of time, but caching it is trivial, both code and memory wise.
2018-02-26 16:43:26 +00:00
Richard Lewis
d98c803b54
Merge pull request #618 from matrix-org/rxl881/stickers
...
Fix JS doc
2018-02-23 15:52:42 +00:00
Matthew Hodgson
95238466b5
Merge pull request #617 from matrix-org/dbkr/fix_push_actions_frozen_matrixevents
...
Precompute push actions for state events
2018-02-23 14:32:11 +00:00
Matthew Hodgson
71652043a0
improve doc
2018-02-23 14:31:51 +00:00
David Baker
c9cbaf254b
Precompute push actions for state events
...
State events get froze now, so we can't write to the push actions
cache after having done so: precompute the push actions to work
around this.
2018-02-23 11:06:22 +00:00
David Baker
f9cc5cbd33
Merge pull request #616 from matrix-org/luke/fix-unverified-device-blacklist
...
Fix bug where global "Never send to unverified..." is ignored
2018-02-23 10:11:59 +00:00
Luke Barnard
bcb9405793
Instead of emitting, rely on the promise
2018-02-22 18:41:18 +00:00
Luke Barnard
30cb6f196f
Fix overriding undefined per-room unverified devices setting
...
If the per-room setting for preventing sending keys to unverified
devices is `undefined`, it overrides the global setting (which
could be `true`).
2018-02-22 18:02:39 +00:00
Luke Barnard
856ef01632
Emit a crypto.initComplete once crypto is initialised
...
So that the app can call crypto-dependent functions at
the correct point in time.
2018-02-22 17:59:37 +00:00
David Baker
6f95554655
Merge pull request #615 from matrix-org/dbkr/intern_legacy_membership
...
Intern legacy top-level 'membership' field
2018-02-22 17:01:38 +00:00
David Baker
a72f915646
Intern legacy top-level 'membership' field
...
There is a legacy top-level 'membership' field on events. We were
interning the normal one in 'content', but not this one, so the
legacy field was still keeping a copy of the string 'join' / 'leave'
etc in memory for every member event.
This make the interning code know about this field.
2018-02-22 16:04:35 +00:00
Matthew Hodgson
94605417f6
Merge pull request #598 from matrix-org/t3chguy/implicit_rr_redaction
...
Don't synthesize RR for m.room.redaction as causes the RR to go missing.
2018-02-20 18:23:06 +00:00
David Baker
1e017df128
Merge pull request #613 from matrix-org/dbkr/dates_on_demand
...
Make Events create Dates on demand
2018-02-20 18:08:45 +00:00
David Baker
ec27bb5131
Merge pull request #612 from matrix-org/dbkr/dont_clone_events
...
Stop cloning events when adding to state
2018-02-20 18:08:35 +00:00
David Baker
9637fc098a
comment
2018-02-20 18:01:01 +00:00
David Baker
874020ced7
Make Events create Dates on demand
...
My test account had 37MB (shallow) of Date objects knocking around
in memory. This gets rid of them. I can't see any appreciable
difference in the time taken to switch rooms (where now we recreate
a bunch of Dates that previously would have been cached).
2018-02-20 17:49:25 +00:00
David Baker
a7beedcfb6
Unused imports
2018-02-20 17:11:40 +00:00
David Baker
4351c4dd6f
Merge pull request #611 from matrix-org/dbkr/use_initialisestate
...
De-dup code: use the initialiseState function
2018-02-20 17:10:11 +00:00
David Baker
1ddf7fb96c
Add XXX comment
2018-02-20 17:07:14 +00:00
David Baker
ec5cfe4ee9
Stop cloning events when adding to state
...
As comment hopefully explains.
On my test account:
Before: 394657 MatrixEvents, 53MB shallow size
After: 198863 MatrixEvents, 27MB shallow size
2018-02-20 16:45:20 +00:00
Matthew Hodgson
4fed2ea7bf
log event IDs of ignored calls
2018-02-20 12:38:12 +00:00
Matthew Hodgson
ae14cf4740
typo
2018-02-20 12:38:12 +00:00
David Baker
8aa68b3dc1
lint
2018-02-20 11:09:32 +00:00
David Baker
e810ee7750
Add test for fixed state misbehaviour
2018-02-20 11:06:33 +00:00
David Baker
9a08194597
Factor out calls to getLiveTimeline
2018-02-19 16:17:30 +00:00
David Baker
c77277b60c
rename variable
2018-02-19 16:07:28 +00:00
David Baker
21a324558f
Comments
2018-02-19 16:05:43 +00:00
David Baker
7a31751564
Merge pull request #610 from matrix-org/dbkr/sentinels_on_demand
...
Create sentinel members on-demand
2018-02-16 19:01:48 +00:00
David Baker
b11bacc2e2
Process state events before timeline events
...
Don't ignore them: its valid to send them in a non-limited sync,
they're state events that preceed the timeline events.
2018-02-16 18:52:56 +00:00
David Baker
8c02e7ba67
comment
2018-02-16 17:52:39 +00:00
David Baker
275eb8d434
De-dup code: use the initialiseState function
...
This should behave identically, but the code here appeared to be
identical to the code in initialiseState, so let's use it (it also
has an extra sanity check in there that we only init empty timelines).
2018-02-16 17:49:29 +00:00
David Baker
736d0df38d
Handle null userID
...
The tests inject messages with no sender, so for now let's maintain
behaviour as it was before.
2018-02-16 14:58:19 +00:00
David Baker
89d5d41015
Merge pull request #609 from matrix-org/dbkr/doc_sentinels
...
Some more doc on how sentinels work
2018-02-16 12:34:34 +00:00
David Baker
0e1444c84b
grammar
2018-02-16 11:57:22 +00:00
David Baker
104f8b093d
Remove redundant forEach
2018-02-16 11:55:45 +00:00
David Baker
1e638c376b
Create sentinel members on-demand
...
We only need sentinel members for things like the 'sender' field
of events, so we previously created sentinels for everyone in the
room, but a large number of them were never used.
Instead, create them on-demand and cache them.
2018-02-16 11:53:24 +00:00
David Baker
a2e1a6ca8f
jsdoc doesn't like that
2018-02-16 10:59:44 +00:00
David Baker
337331ff1b
Some more doc on how sentinels work
2018-02-16 10:37:50 +00:00
Richard Lewis
1dfde7cd80
Fix JS doc
2018-02-08 11:17:55 +00:00
Luke Barnard
7df2bfe7bc
Honour cached push rules ( #606 )
...
so that we have push rules loaded into the client after doing
a cached sync (so that the client can assume that we do have
push rules, even if it was loaded from a cached sync).
These rules will be updated once `getPushRules` is completed
prior to the first networked sync.
2018-02-08 09:35:44 +00:00
lukebarnard
4ec90a4b99
Fix incorrect self - should be this
2018-02-07 17:31:16 +00:00
Luke Barnard
d4e8f9039c
Set sync token before incrementally syncing ( #604 )
...
Block on syncing from cache so that the sync token
has been set prior to incremental syncing.
2018-02-07 17:16:22 +00:00
Luke Barnard
4c6c00f16d
Fix NPE when loading sync from cache ( #603 )
...
* Fix NPE when loading sync from cache
2018-02-07 16:04:47 +00:00
Luke Barnard
fd30b25596
Allow a mode of operation without HS connection ( #601 )
...
* Allow a mode of operation without HS connection
Instead of blocking the first sync on getting the push rules and
filter, load sync data from disc.
When the client comes online, the push rules will be acquired and
a sync cycle started. This could be immediate if the client is
already online.
This could be a breaking change for clients that get push rules
before a successful sync has been done.
2018-02-06 17:46:39 +00:00
David Baker
032b7cab5d
Fix name of 1:1s other person has left ( #602 )
...
Use their name as we did before rather than 'Empty Room'
Fixes https://github.com/vector-im/riot-web/issues/6083
2018-02-06 15:43:53 +00:00
David Baker
47dfb4b8cd
Merge pull request #597 from matrix-org/dbkr/e2e_rooms_indexeddb
...
Migrate room encryption store to crypto store
2018-02-06 10:29:29 +00:00
David Baker
51e782b671
Merge pull request #600 from matrix-org/t3chguy/fix_3pid_dm_rooms
...
add parameter to getIdentityServerUrl to strip the protocol for invites
2018-02-05 12:07:31 +00:00
David Baker
cf195262bf
inline fucntion that was only used once
2018-01-31 18:12:46 +00:00
David Baker
cf72052e46
Correct return type
2018-01-31 17:51:48 +00:00
David Baker
6f50c39b2a
more doc
2018-01-31 17:49:58 +00:00
David Baker
b6cd826dd7
basically I just can't type
2018-01-31 17:33:35 +00:00
David Baker
f1194b1fbe
more comment grammar
2018-01-31 17:33:02 +00:00
David Baker
c0ca85fb3a
comment grammar
2018-01-31 17:32:12 +00:00
David Baker
022df1b143
Revert npm helpfully adding packages
2018-01-31 17:30:12 +00:00
David Baker
fdf987f081
Merge remote-tracking branch 'origin/develop' into dbkr/e2e_rooms_indexeddb
2018-01-29 13:40:14 +01:00
David Baker
f1e874cd18
Merge pull request #594 from matrix-org/dbkr/device_tracking_indexeddb
...
Move Device Tracking Data to Crypto Store
2018-01-29 13:38:50 +01:00
David Baker
c3bede58aa
Fux lying comment
2018-01-29 13:35:03 +01:00
Matthew Hodgson
38915eb7fc
fix NPE biting yannick due to broken rules
2018-01-25 18:41:36 +01:00
David Baker
470bd23b3b
Add new devices as we get them
2018-01-25 16:49:30 +01:00
Michael Telatynski
d007eefe2e
add parameter to getIdentityServerUrl to strip the protocol for invites
...
use new getIdentityServerUrl param in inviteByThreePid
2018-01-25 09:53:19 +00:00
Michael Telatynski
362f442a98
Don't synthesize RR for m.room.redaction as causes the RR to go missing.
2018-01-25 00:04:24 +00:00
David Baker
8c2645c5dd
Comment typo
2018-01-24 21:39:46 +01:00
David Baker
1ba0e4809e
Implement correct function
...
in localstorage and memory stores
2018-01-22 18:46:13 +01:00
David Baker
341371b613
lint
2018-01-22 18:37:02 +01:00
David Baker
d856285271
Doc param
2018-01-22 18:35:29 +01:00
David Baker
e4ffc93463
Remove unused function
2018-01-22 18:34:34 +01:00
David Baker
3149958319
Missed arg
2018-01-22 18:31:17 +01:00
David Baker
ac659e8df1
remove debugging
2018-01-22 18:16:11 +01:00
David Baker
81d54c7558
comment typo
2018-01-22 18:11:37 +01:00
David Baker
e4de333d83
Use the right prefix function to remove prefix
2018-01-22 17:55:40 +01:00
David Baker
e72096328a
Actually working migration
2018-01-22 17:46:13 +01:00
David Baker
88a082a533
Hopefully working migration
2018-01-22 17:34:09 +01:00
David Baker
4fbf4f1069
Hopefully address PR feedback
2018-01-22 17:08:19 +01:00
David Baker
c360dd11ed
Migrate e2e rooms to crypto store
...
Doesn't do data migration yet
2018-01-22 15:48:53 +01:00
Michael Telatynski
95d582ccee
arguments true and false are actually invalid
2018-01-19 23:00:34 +00:00
Matthew Hodgson
e0c9b990e7
blindly move crypto.suggestKeyRestore over to /sync
2018-01-18 20:59:08 +00:00
David Baker
074cfb7c58
Add more comments
2018-01-18 17:32:47 +00:00
David Baker
8b649cec8d
All the copyrights
2018-01-18 11:52:27 +00:00
David Baker
ea6974fc89
Return null if device data isn't set
...
This is more normal, and the code doesn't expect to get empty
objects here which is reasonable since it never sets one.
2018-01-17 19:27:22 +00:00
David Baker
fb29da4e40
Update the catchingup flag
...
It may change whilst processing the sync
2018-01-17 19:17:48 +00:00
David Baker
461acbcc81
More test fixing
...
* Change test for new storage layer
* Always store device keys we download, even if we weren't
tracking the user.
2018-01-17 18:49:33 +00:00
David Baker
5bab8647b6
Fix device tracking with initial /sync
...
* Check whether we share an e2e room with user IDs in the 'left'
field of /keys/changes: there's no guarantee we no longer share
any e2e rooms with these users
* Reset everyone's tracking status on an initial sync - just
re-fetching device lists for all users we're currently tracking
isn't good enough since room memberships may have changed.
* Fix typo in test
2018-01-17 16:03:46 +00:00
David Baker
f2d1222de7
Merge pull request #591 from matrix-org/luke/perf-push-processor
...
Optimise pushprocessor
2018-01-17 11:27:50 +00:00
David Baker
585ea14a23
more lint
2018-01-17 09:58:56 +00:00
David Baker
5a0997ded5
lint
2018-01-17 09:52:01 +00:00
David Baker
0174c5674f
Make tests pass, finally.
...
Mostly making tests aware of new storage format or making them
force it to be written. Also some bugfixes like we didn't json
encode some things in the localstorage store and we didn't
correctly check the promise when requesting device data saves.
2018-01-16 17:57:49 +00:00
lukebarnard
9de8653936
Actually check the cache
2018-01-16 09:51:30 +00:00
David Baker
27d28b8247
More test fixing
...
Allow localstorage store to take a localstorage impl, make TestClient
pass a cryptostore & fix True/true typo
2018-01-15 16:27:28 +00:00
David Baker
110f43a246
Make DeviceList test pass
...
Includes making saveIfDirty() return a promise in case you care
about when changes got saved (which the test does).
2018-01-15 15:21:39 +00:00
lukebarnard
56612751f9
Handle underride and override rules with patterns
2018-01-15 15:16:22 +00:00
lukebarnard
751fe7349a
Fix case insensitivity on new RegExps
2018-01-15 14:54:51 +00:00
Matthew Hodgson
fb1b554b86
initial pseudocode WIP for e2e online backups
2018-01-15 01:50:24 +00:00
David Baker
36d7d33afc
Null fix & lint
...
Don't end up with devices / device tracking status being null
2018-01-12 16:44:51 +00:00
David Baker
a94f3c720e
Fix migration
2018-01-12 15:12:57 +00:00
David Baker
6c1087e429
Migrate from session store
2018-01-12 14:41:08 +00:00
David Baker
2cdb010cff
Fix lint
2018-01-12 14:17:10 +00:00
David Baker
60052f59a0
Add localstorage & memory device data stores
2018-01-12 14:05:34 +00:00
David Baker
29d44f809e
delay saving so we can batch multiple operations
2018-01-12 12:01:00 +00:00
David Baker
83e4aa2755
Initial attempt at device tracking -> indexeddb
...
* Message sending works again, but
* Marking multiple devices known (ie. 'send anyway') is very slow
because it writes all device info out each time
* Support for non-indexedb stores not written yet
* No migration
2018-01-11 18:10:19 +00:00
David Baker
eeb97f5b66
Merge pull request #592 from matrix-org/dbkr/set_event_error
...
Set event error before emitting
2018-01-09 18:08:12 +00:00
David Baker
b6f26ae6a5
Oops: new year, new company
2018-01-09 18:05:02 +00:00
Richard Lewis
f40435654a
Merge pull request #590 from matrix-org/rxl881/stickers
...
Add event type for stickers [WIP]
2018-01-09 14:49:05 +00:00
David Baker
67d471ea3d
Also happy new year and all that
2018-01-09 13:24:29 +00:00
David Baker
4946c5e687
Set event error before emitting
...
So the event object properties are in a consistent state when we
the event is emitted.
Fixes first part of https://github.com/vector-im/riot-web/issues/5936
2018-01-09 13:23:04 +00:00
David Baker
af4f05c29e
Merge pull request #587 from matrix-org/dbkr/inbound_sessions_to_cryptostore
...
Migrate inbound sessions to cryptostore
2018-01-09 10:41:38 +00:00
David Baker
145c76095a
Remove unused countEndToEndInboundGroupSessions
2018-01-09 10:37:44 +00:00
Richard Lewis
90045b6faa
Fix filtering.
2018-01-08 11:18:36 +00:00
Richard Lewis
aef27d811a
Set sticker type on event instead of message type.
2018-01-06 00:13:24 +00:00
lukebarnard
e2e5f80298
Linting
2018-01-05 20:05:12 +00:00
lukebarnard
ca0ed50172
Optimise pushprocessor
...
by not [re]creating RegExps unnecessarily.
2018-01-05 19:56:27 +00:00
Richard Lewis
d44d63c1d6
Send sticker message in to a room.
2018-01-04 21:55:20 +00:00
David Baker
8403042297
Merge pull request #588 from pafcu/displaynames
...
Disambiguate names if they contain an mxid
2018-01-02 17:46:04 +00:00
David Baker
1568bb014d
Merge remote-tracking branch 'origin/develop' into dbkr/inbound_sessions_to_cryptostore
2018-01-02 17:12:47 +00:00
David Baker
7a069c4018
doc return
2018-01-02 17:03:57 +00:00
David Baker
c856eb931f
Make error message more truthful
2018-01-02 16:32:33 +00:00
David Baker
b290ce795f
Update comment
2018-01-02 16:21:12 +00:00
David Baker
6f3d279165
Fix doc
2018-01-02 13:43:43 +00:00
David Baker
124ab30f98
jsdoc
2018-01-02 13:42:16 +00:00
David Baker
fee90bab66
Wording fix
2018-01-02 13:35:52 +00:00
David Baker
e26ade0e62
Wording fix
2018-01-02 13:32:51 +00:00
David Baker
c43ccb860b
Always migrate inbound group sessions
2018-01-02 13:31:57 +00:00
Johannes Bornhold
81de2b3afc
Add getThirdpartyUser
...
Signed-off-by: Johannes Bornhold <johannes@bornhold.name >
2017-12-31 22:46:18 +01:00
Johannes Bornhold
9a53fa3876
Fix typo around getThirdpartyLocation
2017-12-31 01:24:27 +01:00
Richard van der Hoff
f2b7e8b038
Remove spurious linty blank line
2017-12-14 22:36:53 +00:00
Stefan Parviainen
1863f1311b
Disambiguate display name if it contains a mxid
...
Fixes https://github.com/vector-im/riot-web/issues/1811
Signed-off-by: Stefan Parviainen <pafcu@iki.fi >
2017-12-14 21:49:13 +01:00
David Baker
e5086f22d6
Merge remote-tracking branch 'origin/develop' into dbkr/inbound_sessions_to_cryptostore
2017-12-08 19:06:36 +00:00
David Baker
da90a3ca78
Merge pull request #585 from matrix-org/dbkr/count_sessions_before_migrate
...
Check for sessions in indexeddb before migrating
2017-12-08 18:29:50 +00:00
David Baker
d397c5a251
Merge pull request #586 from matrix-org/dbkr/crypto_store_migrate_warning
...
Emit an event for crypto store migration
2017-12-08 18:17:23 +00:00
David Baker
d26b4434b8
Merge pull request #575 from matrix-org/dbkr/udd_no_auto_show
...
Supporting fixes For making UnknownDeviceDialog not pop up automatically
2017-12-08 16:33:18 +00:00
David Baker
7188f17f9a
more linting
2017-12-07 17:14:11 +00:00
David Baker
b0365f8b0e
json encode before saving to localstorage
2017-12-07 17:07:06 +00:00
David Baker
a1ddeea00e
Fix inbound group session migration
...
Apparently they are parsed at a different layer
2017-12-07 16:50:18 +00:00
David Baker
1414c24caf
Missed txn
2017-12-07 15:03:02 +00:00
David Baker
0748c864cd
Migrate inbound sessions from session store
2017-12-07 14:57:18 +00:00
David Baker
f80626a0fa
lint
2017-12-07 14:32:23 +00:00
David Baker
0fffd64a7f
Fix key export
2017-12-07 14:23:36 +00:00
David Baker
8da48211d9
Fix exportInboundGroupSession
2017-12-06 22:42:19 +00:00
David Baker
0dd8ffa3a0
Much tedious linting
2017-12-06 22:36:24 +00:00
David Baker
0362e61f36
Unused var
2017-12-06 22:24:57 +00:00
David Baker
d92a77f695
lint
2017-12-06 22:24:19 +00:00
David Baker
e6dd573e8a
Fix test (needs a cryptostore now)
2017-12-06 19:42:01 +00:00
David Baker
b6330c3a4f
er, this isn't an object
2017-12-06 19:41:44 +00:00
David Baker
10bc714f5c
lint
2017-12-06 16:04:00 +00:00
David Baker
8f57723b88
Emit an event for crypto store migration
...
As we may want to warn the user to not go back to an older version.
2017-12-06 15:24:29 +00:00
David Baker
3d71bee85e
Check for sessions in indexeddb before migrating
...
Don't migrate sessions from localstorage if we already have some
in indexeddb
2017-12-06 12:43:08 +00:00
David Baker
30e00d5fa7
Add impl to localstorage & memory store
2017-12-06 12:02:05 +00:00
David Baker
bc99a9d792
Merge remote-tracking branch 'origin/develop' into dbkr/inbound_sessions_to_cryptostore
2017-12-06 10:05:33 +00:00
David Baker
61df41d21f
Merge pull request #584 from matrix-org/dbkr/sessions_to_cryptostore
...
Move sessions to the crypto store
2017-12-06 10:04:33 +00:00
David Baker
0b4ef8dcbb
Migrate inbound group sessions to crypto store
2017-12-05 21:47:22 +00:00
David Baker
9d7d48b9b5
s/sessionStore/cryptoStore/
2017-12-05 14:04:18 +00:00
David Baker
fb37150dfd
Doc exception handling fun
2017-12-05 13:45:37 +00:00
David Baker
bd08ed898d
Maybe slightly better exception handling
2017-12-05 11:11:14 +00:00
David Baker
d3bc525713
More doc
2017-12-05 10:23:26 +00:00
David Baker
ae27c553ac
More sensible loop & logging
2017-12-05 10:13:34 +00:00
David Baker
27030ae1e9
Use _unpickleSession in _getSession
2017-12-05 10:09:54 +00:00
David Baker
fd083e1e66
doc
2017-12-05 10:04:06 +00:00
David Baker
5e4149ae76
Remove unused function
2017-12-04 18:14:56 +00:00
David Baker
859d462629
Lint
2017-12-04 18:08:38 +00:00
David Baker
8bfa81df42
Catch & rethrow decryption exceptions
2017-12-04 17:55:12 +00:00
David Baker
6782d53e28
Remove prefix from sessions store keys
2017-12-04 17:36:33 +00:00
David Baker
4796721d5c
Migrate sessions from sessionStore
2017-12-04 17:12:13 +00:00
David Baker
55bbc71a17
Move sessionstore -> cryptostore migration
...
...into a separate function
2017-12-04 16:08:52 +00:00
David Baker
5372575b24
Implement session storage in memory & localstorage
2017-12-04 15:49:59 +00:00
David Baker
d995019c6e
lint
2017-12-04 14:40:32 +00:00
David Baker
aa70da5659
Move sessions to the crypto store
...
This doesn't migrate existing ones yet
2017-12-04 14:33:03 +00:00
Luke Barnard
020b293068
Merge branch 'master' into develop
2017-12-04 11:58:30 +00:00
Luke Barnard
678ff23bcb
v0.9.2
2017-12-04 11:57:05 +00:00
Luke Barnard
f93d50dcd0
Prepare changelog for v0.9.2
2017-12-04 11:57:04 +00:00
Luke Barnard
aa3201ebb0
Send correct m.visibility flag in js-sdk
2017-12-04 11:54:42 +00:00
Luke Barnard
4ad153c425
Send correct m.visibility flag in js-sdk
2017-12-01 18:01:23 +00:00
David Baker
082683bf0e
Merge pull request #582 from matrix-org/dbkr/crypto_store_txn_api
...
Change crypto store transaction API
2017-11-30 13:45:28 +00:00
Luke Barnard
7f590af0b5
Add API wrapper for multiple device deletion API ( #583 )
2017-11-30 10:16:18 +00:00
David Baker
ecc1c86600
Doc some more things
2017-11-29 17:40:48 +00:00
David Baker
fece506cdd
delint
2017-11-29 16:35:12 +00:00
David Baker
f11a58e2cb
Change crypto store transaction API
...
To allow multiple things to be fetched/stored in a single
transaction.
Currently it is still just the account that's actually in
indexeddb though.
2017-11-29 16:22:54 +00:00
David Baker
0238ecebed
Fix comment
2017-11-28 11:32:34 +00:00
Richard van der Hoff
0d6ffa3935
Merge pull request #581 from matrix-org/dbkr/copyrights
...
Add some missed copyright notices
2017-11-27 16:04:07 +00:00
David Baker
143632e635
Add some missed copyright notices
2017-11-27 15:56:35 +00:00
David Baker
9ec33a97bb
Merge pull request #579 from matrix-org/dbkr/e2e_indexeddb
...
Move Olm account to IndexedDB
2017-11-27 13:57:27 +00:00
David Baker
7e2c236582
Missed a s/account data/picked account/
2017-11-27 13:46:31 +00:00
David Baker
6ebfd175bc
jsdoc clarifications
2017-11-22 18:37:16 +00:00
David Baker
defaa918a6
Remove unused function
2017-11-22 18:26:26 +00:00
David Baker
c4e70be0a5
Better comment wording
2017-11-22 18:25:25 +00:00
David Baker
57d425fae6
Make the save function not return a promise
...
This was entirely unnecessary and hopefully make things a bit
simpler to understand and has fewer asyncs flying around.
2017-11-22 18:05:08 +00:00
David Baker
6024163af8
s/accountData/pickledAccount/
2017-11-22 17:50:00 +00:00
David Baker
44b35cdb3d
Lint
2017-11-22 16:53:21 +00:00
David Baker
36ff0ad019
Merge pull request #580 from matrix-org/rav/fix_crypto_error_logging
...
Fix logging of DecryptionErrors to be more useful
2017-11-22 16:44:09 +00:00
David Baker
9218e518f1
Add LocalStorageCryptoStore
...
To avoid throwing away all the data for anyone running firefox in
one of the modes where indexedDB is broken.
2017-11-22 16:41:52 +00:00
Richard van der Hoff
c80bde1f60
Fix logging of DecryptionErrors to be more useful
...
We were relying on being able to override toString in DecryptionError, which
(a) doesn't work thanks to https://github.com/babel/babel/issues/3083 , and (b)
was a bit naughty anyway. Instead, just add a detailedString property and use
that.
2017-11-22 14:42:32 +00:00
David Baker
4b7157b987
Remove unnecessary 'if'
2017-11-22 14:31:06 +00:00
David Baker
a90f592224
Add comment on deprecation
2017-11-22 14:12:35 +00:00
David Baker
59f228dab7
Migrate account from session store
2017-11-22 14:07:19 +00:00
David Baker
bae3f5ceb7
It's a heap, not a stack
2017-11-22 10:19:27 +00:00
David Baker
a5c5da5b8a
Lint
2017-11-22 10:18:53 +00:00
David Baker
7ecf313132
Use a callback function at the store layer
...
Rather than a promise which relies on the caller's promise handler
code being run in the same tick which is not guaranteed.
2017-11-22 10:04:27 +00:00
David Baker
313cfacfa1
Add comment
2017-11-21 18:40:25 +00:00
David Baker
fb991503a9
Move OLM account to IndexedDBd
...
Wraps all access to the account in a transaction so any updates
done to the account must be done in the same transaction, making the
update atomic between tabs.
Doesn't do any migration from localstorage yet.
2017-11-21 18:27:40 +00:00
David Baker
c31ce641a1
Merge branch 'master' into develop
2017-11-17 15:57:22 +00:00
David Baker
5b1a5b7dd0
v0.9.1
2017-11-17 15:55:21 +00:00
David Baker
f25324fb1c
Prepare changelog for v0.9.1
2017-11-17 15:55:20 +00:00
David Baker
2a7f35a633
Merge pull request #577 from matrix-org/dbkr/fix_force_turn
...
Fix the force TURN option
2017-11-17 15:51:01 +00:00
David Baker
eb2d5484b8
jsdoc and remove pointless return
2017-11-17 15:31:50 +00:00
David Baker
40cbd5ec9d
Honour old forceTURN option for now
2017-11-17 15:03:12 +00:00
David Baker
10680ace17
Fix the force TURN option
...
Option needed to be passed in when creating a webrtc call, but for
incoming calls the js-sdk creates the call itself, so the app never
gets a chance to set the option.
2017-11-17 14:51:37 +00:00
David Baker
26e28ed687
Don't spuriously send unknown devices error
...
Send a sensible error message for other errors.
2017-11-17 11:48:56 +00:00
David Baker
8bf92d84db
oops - didn't mean to remove that bit of doc
2017-11-16 18:12:09 +00:00
David Baker
9e2bb5b37b
Allow answer to be called again after failing
...
* Store the answer we generate so if we fail to send it, we can
try to send it again (doing the same again doesn't work as
webrtc is in the wrong state).
* Don't send ICE candidates if the call is ringing: queue them up
so we can send them later if we manage to actually send the
answer.
2017-11-16 16:29:45 +00:00
David Baker
a48a88c312
Don't send a hangup on user media failure
...
We won't have sent the invite anyway. Also termainate before we
fire the error event so the call is 'ended' when the event handlers
fire (which means if they try to hang up it's also ignored)
2017-11-15 17:18:47 +00:00
David Baker
76b2fc2a6c
Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show
2017-11-15 12:10:06 +00:00
Luke Barnard
4438d716b9
Merge branch 'master' into develop
2017-11-15 10:57:57 +00:00
David Baker
8fcf55d761
BREAKING CHANGE: Fixes for unknown device errors
...
* If we can't send an invite due to unknown devices, abort the
call.
* Don't transition to the `invite_sent` state until the invite
has actually sent.
* Add a specific error code for failure due to unknown devices.
* Don't send ICE candidate messages if the call has ended.
* Add an `event` property to errors from `sendEvent` so that the
caller can resend or cancel the event.
2017-11-15 10:56:57 +00:00
Luke Barnard
3091a76702
v0.9.0
2017-11-15 10:56:31 +00:00
Luke Barnard
117e2370d7
Prepare changelog for v0.9.0
2017-11-15 10:56:31 +00:00
Matthew Hodgson
a35d70e995
Merge pull request #568 from turt2live/travis/granular-settings
...
[BREAKING] Change the behaviour of the unverfied devices blacklist flag
2017-11-15 10:31:11 +00:00
Travis Ralston
ec68000105
Merge branch 'develop' into travis/granular-settings
2017-11-14 19:19:01 -07:00
Matthew Hodgson
c707d3db00
Merge pull request #557 from turt2live/travis/presence
...
Support set_presence=offline for syncing
2017-11-14 23:41:37 +00:00
Matthew Hodgson
d3572836bd
Merge pull request #556 from turt2live/travis/improved-redact-check
...
Consider cases where the sender may not redact their own event
2017-11-14 23:25:06 +00:00
David Baker
a5dac751b0
BREAKING CHANGE: Remove send_event_error
...
Reverts https://github.com/matrix-org/matrix-js-sdk/pull/378
This swallowed all errors from sendEvent, breaking the ICE candidate
retrying. react-sdk no longer listens for send_event_error so I
think it's best to just remove this.
2017-11-13 17:51:59 +00:00
Travis Ralston
7a59579dcd
Support sending additional options with acceptance ( #570 )
...
To be able to send things like `{visibility: { type: 'private ' }}`
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-11-10 14:14:11 +00:00
Luke Barnard
a60e4efe6d
v0.9.0-rc.1
2017-11-10 13:30:24 +00:00
Luke Barnard
4c0ebeab58
Prepare changelog for v0.9.0-rc.1
2017-11-10 13:30:24 +00:00
David Baker
0143ac2a86
Ignore pushrules in our cached sync response ( #571 )
...
* Ignore pushrules in our cached sync response
As hopefully explained in the comment
2017-11-10 13:14:54 +00:00
Travis Ralston
f24b02cae4
It helps if you use the right function
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-11-09 11:01:42 -07:00
Luke Barnard
497a2bd057
Update API wrapper for group room association configuration ( #569 )
...
This is now a generic API on the homeserver. This is wrapped in a non-generic js-sdk function for now. In future, other group server implementations may want specific configuration and the configuration keys are namespaced to prevent collisions there.
2017-11-09 17:34:26 +00:00
Travis Ralston
995f796a5d
[BREAKING] Change the behaviour of the unverfied devices blacklist flag
...
Previously the global flag was used as a way to completely ignore the per-room option. This commit makes the per-room and global settings be more flexible to allow users to, for example, blacklist unverified devices in all room with the exception of one or two. This is done by making the global setting a device-level default and the per-room option allowing for 3 states: true, false, and unset (use device default).
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-11-08 17:47:45 -07:00
Travis Ralston
bf462e2840
Install babel-runtime, as it is required for operation ( #561 )
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-11-08 14:34:08 +00:00
Matthew Hodgson
fb75134179
unbreak tests
2017-11-06 15:17:06 +00:00
Matthew Hodgson
68d67b7fc2
Remove ugly english non-i18n invite descriptions
...
any sensible app should be synthesising a better name for invites which is i18n-aware.
2017-11-06 11:18:24 +00:00
David Baker
bbf412f3ad
Merge pull request #567 from matrix-org/luke/groups-update-group-room-assoc
...
Modify addRoomToGroup to allow setting isPublic, create alias updateGroupRoomAssociation
2017-11-02 14:55:01 +00:00
David Baker
52b575296c
Merge pull request #565 from matrix-org/dbkr/get_rule_by_id
...
Expose more functionality of pushprocessor
2017-11-02 13:49:00 +00:00
David Baker
c1652f4898
Merge pull request #566 from matrix-org/dbkr/may_trigger_notif
...
Function for working out notif trigger permission
2017-11-02 13:48:07 +00:00
Luke Barnard
d40cc795f7
Modify addRoomToGroup to allow setting isPublic, create alias updateGroupRoomAssociation
...
The API on synapse was modified to be an upsert, which means the same API call for adding a room to a group can be used to update the visibility of that association.
2017-11-02 13:34:34 +00:00
David Baker
4035d933ad
Use the default power level if there's no PL event
2017-11-02 13:28:58 +00:00
David Baker
d255348762
Remove leave check
...
1. It's wrong because it doesn't consider the ban state
2. This should be caught by whether they have permission to send
the event in the first place rather than worrying about whether
it has notification permission or not
2017-11-02 13:26:39 +00:00
David Baker
978db89deb
Function for working out notif trigger permission
...
And make pushprocessor use this function
2017-11-02 12:04:55 +00:00
David Baker
b867afe772
lint
2017-11-01 19:48:12 +00:00
David Baker
e34fd89bb6
Expose more functionality of pushprocessor
...
This exposes a function to get rules by their ID and
ruleMatchesEvent to test whether a rule matches a given event.
2017-11-01 19:40:50 +00:00
Richard van der Hoff
51883b8f11
Merge pull request #555 from uhoreg/e2e_replay
...
keep track of event ID and timestamp of decrypted messages
2017-10-25 14:14:33 +01:00
David Baker
ff5f95227a
Merge pull request #564 from matrix-org/dbkr/fix_notifevents
...
Fix notifEvent computation
2017-10-25 12:06:05 +01:00
David Baker
dc929236a4
oops, events not event
2017-10-25 12:03:17 +01:00
David Baker
b09e20747a
Oops, missing this
2017-10-25 12:00:11 +01:00
David Baker
e8fc857dbc
Don't calculate notifEvents until ready
...
We were previously computing notifEvents at the point where we
processed them but before the room they belong to was stored.
This was problematic because some push conditions try to get the
room and therefore failed. Since the push actions are cached, this
spurious calculation also got cached.
This moves the calculation out to a separate function that gets
called only after the room has been stored.
2017-10-25 11:54:44 +01:00
David Baker
b42a13cc3b
Merge pull request #563 from matrix-org/dbkr/fix_sentinels_on_power_levels
...
Fix power level of sentinel members
2017-10-25 11:47:18 +01:00
David Baker
37ed9800c5
Fix sender_notification_permission cond
...
Don't assume all events have a sender, because they don't.
2017-10-25 11:10:55 +01:00
David Baker
99f4968888
Replace all the sentinel members on power_levels
...
Rather than trying to be clever and keep ones whose power level isn't
affected, since they'll still have an associated power_levels event
that isn't the one actually in effect, which could be confusing.
2017-10-25 10:57:28 +01:00
David Baker
34428a811c
Fix setPowerLevelEvent() semantics
...
* Make setPowerLevelEvent() use getDirectionalContent() rather than
getContent(), otherwise power level events from pagination set
power levels the wrong way
* Don't assume the presence of a `users` key since the first
power_levels event in a room will have no prev_content
2017-10-25 10:40:15 +01:00
Richard van der Hoff
da7104b00d
Merge pull request #554 from uhoreg/e2e_redact
...
don't try to decrypt a redacted message (fixes vector-im/riot-web#3744 )
2017-10-24 21:02:01 +01:00
Hubert Chathi
b373601e13
make sure redacted e2e messages are returned as a promise
...
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca >
2017-10-24 13:11:48 -04:00
David Baker
fcc90e884b
Fix power level of sentinel members
...
When a ppower_levels event arrived, the current member objects were
being updated but the sentinel members were not, meaning that the
power levels of RoomMember objects associated with events had stale
power levels. This was causing power level based push rules to
be wrong.
2017-10-23 19:07:04 +01:00
David Baker
7a90096077
Merge pull request #562 from matrix-org/dbkr/room_notifs
...
Support room notifs
2017-10-23 17:01:23 +01:00
David Baker
e7886a55fe
lint
2017-10-23 16:50:01 +01:00
David Baker
e33b786f65
Support room notifs
...
Specifically, add support for the sender_notification_permission
push rule condition. Also delays calculating notification events
until after they're added to the timeline, as per comment.
2017-10-23 16:02:06 +01:00
Luke Barnard
b0b50f4ef9
Implement API wrapper for GET /group/$groupId/invited_users ( #560 )
2017-10-16 18:23:40 +02:00
David Baker
37c8e6dc07
Merge branch 'master' into develop
2017-10-16 14:37:39 +01:00
David Baker
675441fe93
v0.8.5
2017-10-16 14:35:20 +01:00
David Baker
2495d97862
Prepare changelog for v0.8.5
2017-10-16 14:35:20 +01:00
David Baker
70c998dd55
Merge pull request #558 from matrix-org/dbkr/fix_glob_to_regex
...
Fix the glob-to-regex code
2017-10-16 14:04:14 +01:00
David Baker
ec60e46611
Merge remote-tracking branch 'origin/develop' into release-v0.8.5
2017-10-16 14:03:04 +01:00
David Baker
bb2dc618f7
Merge pull request #559 from matrix-org/dbkr/unknown_condition_dont_match
...
Make unknown pushrule conditions not match
2017-10-16 14:02:02 +01:00
David Baker
d9addf84ef
Make unknown pushrule conditions not match
...
Unknown conditions previously were assumed to match, but given rules
can be added on the server as base rules, it's probably better to not
match unknown conditions.
2017-10-16 13:55:07 +01:00
David Baker
d89163110e
Fix the glob-to-regex code
...
It was only making one replacement so would fail for anything with
more than ine glob special char (eg. *foo would be fine, but *foo*
was broken)
2017-10-16 13:40:49 +01:00
Travis Ralston
7c851faba6
Support set_presence=offline for syncing
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-10-14 14:34:37 -06:00
Travis Ralston
b70c219a05
Consider cases where the sender may not redact their own event
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-10-13 20:00:39 -06:00
David Baker
93b722af3c
v0.8.5-rc.1
2017-10-13 11:01:58 +01:00
David Baker
ee0e036aa5
Prepare changelog for v0.8.5-rc.1
2017-10-13 11:01:57 +01:00
David Baker
24ef004adc
remove debug logging
2017-10-12 16:03:08 +01:00
Hubert Chathi
dcab4eb70b
fix lint error, and incorporate suggestions from richvdh and krombel
...
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca >
2017-10-12 09:04:12 -04:00
Hubert Chathi
8f252992e4
keep track of event ID and timestamp of decrypted messages
...
This is to avoid false positives when detecting replay attacks.
fixes : vector-im/riot-web#3712
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca >
2017-10-11 23:27:36 -04:00
Hubert Chathi
a3a3e32e21
don't try to decrypt a redacted message ( fixes vector-im/riot-web#3744 )
...
set the decrypted data to an empty message
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca >
2017-10-04 12:26:08 -04:00
David Baker
f5f8867326
Merge pull request #553 from matrix-org/luke/groups-remove-room
...
Implement wrapper API for removing a room from a group
2017-10-04 10:58:28 +01:00
Luke Barnard
5494a9dd3b
Implement wrapper API for removing a room from a group
2017-09-29 17:57:53 +01:00
David Baker
89f7857c84
Merge pull request #552 from matrix-org/rav/stuck_key_download
...
Fix typo which resulted in stuck key download requests
2017-09-29 10:22:26 +01:00
Richard van der Hoff
3140c6526a
Fix typo which resulted in stuck key download requests
...
(... and hence stuck outgoing e2e messages)
Fixes https://github.com/vector-im/riot-web/issues/4278
2017-09-29 10:02:16 +01:00
Luke Barnard
96d828d22b
Implement API wrapper for adding a room to a group ( #551 )
2017-09-27 14:27:19 +01:00
David Baker
a8a50384b8
Add wrapper for group update_publicity API ( #550 )
...
Add wrapper for group update_publicity API
2017-09-25 15:27:59 +01:00
David Baker
787af6448d
Merge pull request #549 from matrix-org/dbkr/groups_store_when_created
...
Store group when it's created
2017-09-22 18:02:17 +01:00
David Baker
4633135322
Store group when it's created
...
Otherwise we emit events when we set properties on the group but
getGroup() for that group returns null which is very confusing.
2017-09-22 17:57:08 +01:00
David Baker
050d522735
Merge pull request #548 from matrix-org/luke/groups-remove-rooms-users-from-summary
...
Luke/groups remove rooms users from summary
2017-09-22 16:23:47 +01:00
Luke Barnard
809b202e70
Merge branch 'develop' into luke/groups-remove-rooms-users-from-summary
2017-09-22 16:19:17 +01:00
Luke Barnard
f1555dbb5d
Implement wrapper APIs for removing users and rooms from group summary
2017-09-22 16:18:18 +01:00
krombel
d1d0266a10
reduce sendToDevice payload ( #522 )
...
instead of sending one huge request split them up.
2017-09-22 14:29:23 +01:00
David Baker
ee37ed0697
Add a clean target ( #547 )
2017-09-21 21:45:55 +01:00
David Baker
e3972dee2c
Merge branch 'master' into develop
2017-09-21 21:41:48 +01:00
David Baker
7a727e7eda
v0.8.4
2017-09-21 21:39:37 +01:00
David Baker
d24c822f68
Prepare changelog for v0.8.4
2017-09-21 21:39:37 +01:00
Richard van der Hoff
8d804013f3
Merge pull request #546 from matrix-org/dbkr/clean_on_prerelease
...
Clean on prepublish
2017-09-21 18:06:28 +01:00
David Baker
d73a115436
Clean on prerelease
...
Otherwise you can make broken releases on case insensitive file
systems
2017-09-21 18:02:30 +01:00
Luke Barnard
0b4ff731e8
Implement wrapper APIs for adding rooms to group summary ( #545 )
2017-09-21 17:05:36 +01:00
Luke Barnard
a58ec3f192
Implement wrapper APIs for adding rooms to group summary
2017-09-21 17:01:33 +01:00
Richard van der Hoff
868c20b161
Fix a race in decrypting megolm messages ( #544 )
...
* Fix a race in decrypting megolm messages
This fixes a race wherein it was possible for us to fail to decrypt a message,
if the keys arrived immediately after our attempt to decrypt it. In that case,
a retry *should* have been scheduled, but was not.
Fixes https://github.com/vector-im/riot-web/issues/5001 .
* WORDS
2017-09-21 15:17:28 +01:00
Luke Barnard
c2cd050419
Implement API to add users to group summaries ( #543 )
...
(and call it addUserToGroupSummary)
2017-09-20 16:31:28 +01:00
David Baker
7d5c107fb8
v0.8.3
2017-09-20 15:04:11 +01:00
David Baker
d855a6ea0f
Prepare changelog for v0.8.3
2017-09-20 15:04:10 +01:00
David Baker
464f84d8cd
v0.8.3-rc.1
2017-09-19 10:44:58 +01:00
David Baker
fe0ee6402a
Prepare changelog for v0.8.3-rc.1
2017-09-19 10:44:57 +01:00
David Baker
068939f790
APIs for flair ( #542 )
2017-09-18 14:44:40 +01:00
Matthew Hodgson
35f48d1c8e
Merge pull request #526 from t3chguy/allow_trailing_slash
...
consume trailing slash when creating Matrix Client in HS and IS urls
2017-09-17 22:53:48 +01:00
Matthew Hodgson
52adde2501
Merge pull request #539 from turt2live/travis/ignored_users
...
Add ignore users API
2017-09-17 21:47:03 +01:00
David Baker
0ddc4eceaf
Merge pull request #540 from matrix-org/dbkr/jsdoc_355
...
Upgrade to jsdoc 3.5.5
2017-09-15 09:19:21 +01:00
turt2live
b0ab8c750d
Add isUserIgnored convenience method
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-09-14 19:47:16 -06:00
Travis Ralston
b17dd8351f
Make linter happy
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-09-14 19:24:18 -06:00
Travis Ralston
0ceb8d159a
Generate the ignored users event content correctly
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-09-14 16:06:55 -06:00
David Baker
402b943ddb
Upgrade to jsdoc 3.5.5
...
Because of https://github.com/jsdoc3/jsdoc/issues/1438
2017-09-14 22:33:10 +01:00
Travis Ralston
be55451c90
Add ignore users API
...
Signed-off-by: Travis Ralston <travpc@gmail.com >
2017-09-14 12:55:48 -06:00
Matthew Hodgson
c51c1a2ae6
Merge pull request #538 from matrix-org/dbkr/reemit_use_fewer_closures
...
Make re-emitting events much more memory efficient
2017-09-13 12:51:26 +01:00
David Baker
845c796b96
Make re-emitting events much more memory efficient
...
The previous impl bluntly created a closure for every event type
and source emitter we set up a re-emit for. We can do much better
than this fairly easily by having one bound handler for each event
name and moving it into a class so we have one emitter per target,
since 99% of the time the target is the client object.
2017-09-13 11:55:03 +01:00
David Baker
b0918ef293
Merge pull request #536 from matrix-org/dbkr/only_reemit_events_when_needed
...
Only re-emit events from Event objects if needed
2017-09-12 19:26:58 +01:00
David Baker
102572b088
Empty commit to get Travis to re-test
2017-09-12 17:37:16 +01:00
David Baker
63076e77f5
Only re-emit events from Event objects if needed
...
The only event and Event emits is 'Event.decrypted', so don't
bother to add listeners if the event isn't encrypted.
2017-09-12 17:09:01 +01:00
Richard van der Hoff
8e48ee5f66
Merge pull request #535 from matrix-org/rav/devicelist_bits
...
Handle 'left' users in the deviceList mananagement
2017-09-08 16:21:58 +01:00
Richard van der Hoff
1a55f550c0
Handle 'left' users in the deviceList mananagement
...
When we no longer share any rooms with a given user, the server will stop
sending us updates on their device list, and will (once synapse is updated)
send us a notification of that fact via the 'left' field in the device_lists
field in /sync, or the response from /keys/changes.
2017-09-08 15:40:26 +01:00
Richard van der Hoff
ae8fc64394
Do /keys/changes before second /sync
...
This will avoid races between /keys/changes and /syncs.
2017-09-08 15:40:26 +01:00
David Baker
5e8e56caf9
Merge pull request #534 from matrix-org/rav/factor_out_device_tests
...
Factor out devicelist integration tests to a separate file
2017-09-08 13:51:11 +01:00
David Baker
c075c161c2
Merge pull request #533 from matrix-org/rav/refactor_sync
...
Refactor sync._sync as an async function
2017-09-08 13:51:05 +01:00
Richard van der Hoff
237a553d15
sync: s/self/this/
2017-09-08 12:07:19 +01:00
Richard van der Hoff
ca8674e0de
Factor out devicelist integration tests to a separate file
...
There's a fuzzy line between the megolm tests and the devicelist ones, but
since I want to add more tests for devicelists, we might as well put the ones
which are definitely about devicelists in their own file
2017-09-08 11:54:16 +01:00
Richard van der Hoff
0511a1172f
Refactor sync._sync as an async function
...
This stuff is much more clearly expressed as an async function than as a
promise chain, and I'm about to add more stuff to the chain, so let's refactor
now.
There is plenty more that could be done here (self -> this, for instance), but
I've gone for keeping the diff minimal.
2017-09-08 11:53:10 +01:00
David Baker
e07b304914
Merge pull request #532 from matrix-org/rav/eslint_es6
...
Add es6 to eslint environments
2017-09-07 10:33:52 +01:00
Richard van der Hoff
17364e72ec
Add es6 to eslint environments
2017-09-07 10:29:27 +01:00
David Baker
22b213ae26
v0.8.2
2017-08-24 14:45:24 +01:00
David Baker
7d5936a9e9
Prepare changelog for v0.8.2
2017-08-24 14:45:24 +01:00
David Baker
ab8f466f53
Merge pull request #530 from matrix-org/rav/fix_encrypted_calls
...
Handle m.call.* events which are decrypted asynchronously
2017-08-24 14:09:12 +01:00
David Baker
201177e7f0
Merge pull request #529 from matrix-org/dbkr/event_object_reemit
...
Re-emit events from, er, Event objects
2017-08-24 13:35:30 +01:00
Richard van der Hoff
ec5f9a2892
Handle m.call.* events which are decrypted asynchronously
...
Handle the case where received m.call.* events are not decrypted at the point
of the 'event' notification by adding an 'Event.decrypted' listener for them.
2017-08-24 13:35:02 +01:00
Richard van der Hoff
ee5b8748b5
Add MatrixEvent.isDecryptionFailure()
2017-08-24 13:35:02 +01:00
David Baker
8d04f8b8b5
Re-emit events from, er, Event objects
...
We do create Events in more places, but this is probably the only
place that matters since the only event is 'decrypted' which won't
fire for, eg. events we send.
2017-08-24 11:29:48 +01:00
David Baker
033babfbfc
Groups: Sync Stream, Accept Invite & Leave ( #528 )
...
* WIP support for reading groups from sync stream
Only does invites currently
* More support for parsing groups in the sync stream
* Fix jsdoc
2017-08-24 10:24:24 +01:00
David Baker
15b77861ea
v0.8.1
2017-08-23 15:51:31 +01:00
David Baker
c4721850ce
Prepare changelog for v0.8.1
2017-08-23 15:51:31 +01:00
David Baker
b325aad5c9
v0.8.1-rc.1
2017-08-22 18:40:29 +01:00
David Baker
92e616f18e
Prepare changelog for v0.8.1-rc.1
2017-08-22 18:40:29 +01:00
David Baker
f7fee29c76
Merge pull request #527 from matrix-org/rav/fix_interactive_auth_error_handling
...
Fix error handling in interactive-auth
2017-08-21 16:43:19 +01:00
Richard van der Hoff
eccea7411f
Fix error handling in interactive-auth
...
Now that we are using bluebird, `defer.reject` is not implicitly bound, so we
need to call it properly rather than just passing it into the catch handler.
This fixes an error:
promise.js:711 Uncaught TypeError: Cannot read property 'promise' of undefined
2017-08-21 16:31:42 +01:00
Michael Telatynski
01f93e0970
consume trailing slash when creating Matrix Client in HS and IS urls
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-08-19 11:00:46 +01:00
Richard van der Hoff
2d82a7bc2e
Merge pull request #524 from matrix-org/rav/async_crypto/1
...
Make lots of OlmDevice asynchronous
2017-08-17 13:16:57 +01:00
Richard van der Hoff
ca91fba071
Crypto test: Bump the timeout when waiting for Ali to claim keys
...
This failed a test, so let's just bump up the timeout a bit more.
2017-08-16 21:02:52 +01:00
Richard van der Hoff
9f2fce4d87
Try harder to wait for megolm decryption
...
Ok, this *really* ought to fix the racy test.
2017-08-16 19:01:47 +01:00
David Baker
e1942267c5
Add API to invite & remove users from groups ( #525 )
...
* Add API invite & remove users from groups
* lint
2017-08-16 14:45:15 +01:00
Richard van der Hoff
12212409c7
Hopefully, fix racy megolm test
...
I couldn't repro the failure locally, but this looks like it should fix the
test failures.
2017-08-15 19:09:50 +01:00
Richard van der Hoff
e5565c6bdb
review comments
2017-08-15 18:34:04 +01:00
Richard van der Hoff
f00558d840
Merge remote-tracking branch 'origin/develop' into rav/async_crypto/1
2017-08-15 18:31:02 +01:00
Richard van der Hoff
da0dc5ed11
Merge pull request #523 from matrix-org/rav/fix_decryption_race
...
Make crypto.decryptMessage return decryption results
2017-08-15 18:07:33 +01:00
Luke Barnard
b417492fad
v0.8.0
2017-08-15 17:11:05 +01:00
Luke Barnard
d3ee532624
Prepare changelog for v0.8.0
2017-08-15 17:11:05 +01:00
Richard van der Hoff
e8be38ce5a
Add delays to tests to wait for things to decrypt
...
Prepare for some refactoring which will add an extra tick to decryption by
adding some `awaitDecryption` calls in the integration tests.
2017-08-14 18:39:45 +01:00
Richard van der Hoff
38c9a05a0c
Make Event.attemptDecryption return useful promises
...
Even if a decryption attempt is in progress, return a promise which blocks
until the attempt is complete.
2017-08-14 18:38:29 +01:00
Richard van der Hoff
110bd332f4
Make OlmDevice.exportInboundGroupSession async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
8a0f73bf81
Make some OlmDevice megolm methods async
...
* OlmDevice.hasInboundSessionKeys
* OlmDevice.getInboundGroupSessionKey
The latter means that MegolmDecryption.shareKeysWithDevice takes longer before
it sends out the keyshare, so means the unit test needed an update
2017-08-10 15:01:56 +01:00
Richard van der Hoff
337c9cbea3
Make OlmDevice.decryptGroupMessage async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
cfd61096d9
Make OlmDevice.importInboundGroupSession async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
2894e253a2
Make OlmDevice.addInboundGroupSession async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
e52985e082
Olm session creation async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
7d2bc12bb7
Make OlmDevice key generation async
...
* OlmDevice.generateOneTimeKeys becomes async
* Stash maxOneTimeKeys at init so that maxNumberOfOneTimeKeys can remain sync
2017-08-10 15:01:56 +01:00
Richard van der Hoff
a5f397b26d
OlmDevice.oneTimeKeys async
...
* OlmDevice.getOneTimeKeys
* OlmDevice.markKeysAsPublished
2017-08-10 15:01:56 +01:00
Richard van der Hoff
5b93d5210e
Make OlmDevice.sign async
2017-08-10 15:01:56 +01:00
Richard van der Hoff
e943a6e09c
Make OlmDevice olmSession methods asynchronous
...
* OlmDevice.encryptMessage
* OlmDevice.decryptMessage
* OlmDevice.matchesSession
2017-08-10 15:01:56 +01:00
Richard van der Hoff
8f527a6212
make session tracking methods in OlmDevice async
...
* OlmDevice.getSessionIdsForDevice
* OlmDevice.getSessionIdForDevice
* OlmDevice.getSessionInfoForDevice
2017-08-10 15:01:56 +01:00
Richard van der Hoff
f2f8ad6b65
Make OlmDevice initialisation asynchronous
...
Add an asynchronous `init` method to OlmDevice which initialises the OlmAccount.
2017-08-10 15:01:56 +01:00
Richard van der Hoff
c870930bc0
Add delays to tests to wait for things to decrypt
...
Prepare for some refactoring which will add an extra tick to decryption by
adding some `awaitDecryption` calls in the integration tests.
2017-08-10 15:01:56 +01:00
Richard van der Hoff
b26b1caa86
fix jsdoc
2017-08-10 14:56:42 +01:00
Richard van der Hoff
6613ee6b0d
Make crypto.decryptMessage return decryption results
...
... instead of having it call event.setClearData.
The main advantage of this is that it fixes a race condition, wherein apps
could see `event.isDecrypting()` to be true, but in fact the event had been
decrypted (and there was no `Event.decrypted` event on its way).
We're also fixing another race, wherein if the first attempt to decrypt failed,
a call to `attemptDecryption` would race against the first call and a second
attempt to decrypt would never happen.
This also gives a cleaner interface to MatrixEvent, at the expense of making
the `megolm` unit test a bit more hoop-jumpy.
2017-08-10 13:05:35 +01:00
Richard van der Hoff
9550bca099
Megolm: remove redundant requestKeysOnFail
...
We now *always* requestKeysOnFail, so this was dead code which we can remove.
2017-08-10 13:00:27 +01:00
Richard van der Hoff
92a75aaa08
Merge pull request #521 from matrix-org/rav/async_crypto/olmlib
...
Make bits of `olmlib` asynchronous
2017-08-10 11:07:42 +01:00
Richard van der Hoff
906bf88450
Merge remote-tracking branch 'origin/develop' into rav/async_crypto/olmlib
2017-08-09 18:11:48 +01:00
Richard van der Hoff
d7157843f4
Merge pull request #520 from matrix-org/rav/async_crypto/devicelist
...
Make some of DeviceList asynchronous
2017-08-09 18:02:53 +01:00
Richard van der Hoff
d317c1ff08
Merge pull request #519 from matrix-org/rav/async_crypto/algorithms
...
Make methods in crypto/algorithms async
2017-08-09 18:02:30 +01:00
Richard van der Hoff
ef889963d9
Rewrite olmlib.ensureOlmSessionsForDevices as async
...
This is non-functional. It just looks a lot prettier.
2017-08-09 10:46:19 +01:00
Richard van der Hoff
a2d7b221ee
Make olmlib.verifySignature async
2017-08-09 10:46:18 +01:00
Richard van der Hoff
aff32afefa
Make olmlib.encryptMessageForDevice async
2017-08-09 10:46:18 +01:00
Richard van der Hoff
0943e0c60f
Make some of DeviceList asynchronous
...
* DeviceList._updateStoredDeviceKeysForUser
* DeviceList._processQueryResponseForUser
* DeviceList._storeDeviceKeys
2017-08-08 18:28:53 +01:00
Richard van der Hoff
18f75ec61c
make algorithm.hasKeysForKeyRequest async
2017-08-08 18:26:31 +01:00
Richard van der Hoff
d821082843
Prepare megolm.js for async
...
Make internal methods of megolm.js ready for asynchronous olmdevice
2017-08-08 18:25:16 +01:00
Richard van der Hoff
366a88cc5c
make olm._decryptMessage asynchronous
2017-08-08 18:22:55 +01:00
David Baker
951df61aa0
Merge pull request #518 from matrix-org/rav/no_plain_messages_in_e2e_room
...
Avoid sending unencrypted messages in e2e room
2017-08-08 12:48:49 +01:00
Richard van der Hoff
3e79575602
Avoid sending unencrypted messages in e2e room
...
Reshuffle the logic for determining whether to encrypt a message so that it can
run independently of whether our app actually supports e2e - and then throw an
error if it looks like we should be encrypting but don't support it.
This seems a preferable situation to just falling back to plain text if we get
a dodgy build.
2017-08-08 12:29:26 +01:00
David Baker
92e24777c0
Merge pull request #517 from matrix-org/rav/test_robustness
...
Make tests wait for syncs to happen
2017-08-08 11:27:13 +01:00
Richard van der Hoff
ab8d06bb86
Make tests wait for syncs to happen
...
Add lots of calls to `syncPromise` to cope with the fact that sync responses
are now handled asynchronously, which makes them prone to races otherwise.
Also a quick sanity-check in crypto to make one of the test failures less
cryptic.
2017-08-08 10:58:19 +01:00
Richard van der Hoff
8563dd5860
Merge pull request #510 from matrix-org/rav/async_crypto/crypto_methods
...
Make a load of methods in the 'Crypto' module asynchronous
2017-08-07 17:14:07 +01:00
Richard van der Hoff
1f6153fa82
Make Crypto.setRoomEncryption asynchronous
2017-08-07 17:13:09 +01:00
Richard van der Hoff
23d66b9746
Make Crypto.setDeviceVerification async
2017-08-07 17:13:09 +01:00
Richard van der Hoff
25ccd6bc6d
Make Crypto._processReceivedRoomKeyRequests async
...
This is slightly complicated by the fact that it's initiated from a synchronous
process which we don't want to make async (processing the /sync response) and
we want to avoid racing two copies of the processor.
2017-08-07 17:13:09 +01:00
Richard van der Hoff
14ad32bcd2
Make Crypto.importRoomKeys async
2017-08-07 17:13:09 +01:00
Richard van der Hoff
9ab9b9d75a
Make crypto._signObject async
2017-08-07 17:13:09 +01:00
Richard van der Hoff
b7a3c4557f
Make crypto.getOlmSessionsForUser async
...
This is snever used anywhere (it's mosdly for debug), so this is trivial
2017-08-07 17:13:08 +01:00
David Baker
bdb90b4b33
Merge pull request #515 from matrix-org/luke/fix-null-rawDisplayName
...
Set `rawDisplayName` to `userId` if membership has `displayname=null`
2017-07-27 16:23:31 +01:00
Luke Barnard
85d0935e97
Set rawDisplayName to userId if membership has displayname=null
...
This mirrors the behaviour of `name` such that the default is always `userId` but if the membership event has a `displayname`, we use that.
2017-07-27 16:15:32 +01:00
Richard van der Hoff
86ad75d27b
Merge pull request #508 from matrix-org/rav/async_crypto_event_handling
...
Refactor handling of crypto events for async
2017-07-26 09:07:59 +01:00
Richard van der Hoff
b40473aa3b
Fix broken event-emitter test
...
We need to wait for two syncs, not just one, here.
2017-07-26 07:27:08 +01:00
Richard van der Hoff
3bd5ffc5cd
Fix broken crypto test
...
Now that sync takes a bit longer to send out Event events, the encrypted events
have already been decrypted by the time the test sees them - so we no longer
need to await their decryption.
2017-07-26 07:20:02 +01:00
Richard van der Hoff
10aafd3738
Merge branch 'develop' into rav/async_crypto_event_handling
2017-07-26 07:11:48 +01:00
Richard van der Hoff
c055765bfe
Merge pull request #509 from rav/async_crypto/async_decryption
2017-07-26 07:09:12 +01:00
Richard van der Hoff
d8f486fc0d
Verbose logging to see what's up with indexeddb ( #514 )
...
In an attempt to see why our tests sometimes time out, add a load of logging to
confirm exactly where it is happening.
2017-07-25 11:38:27 +01:00
Luke Barnard
06eea71a37
Add rawDisplayName to RoomMember ( #513 )
...
* Add rawDisplayName to RoomMember
This will at first be the `userId`, but when the members membership event is set, `rawDisplayName` will be assigned to the raw `displayname` of the membership event. This deliberately avoids disambiguation so that clients can disambiguate themselves (via a tooltip or otherwise).
* Clarify docs
2017-07-24 17:35:53 +01:00
Richard van der Hoff
3effb9ec29
Merge pull request #511 from matrix-org/rav/async_to_bluebird
...
Transform `async` functions to bluebird promises
2017-07-24 10:26:26 +01:00
David Baker
6603a2300b
Merge pull request #512 from matrix-org/dbkr/groupview_edit
...
Add more group APIs
2017-07-24 10:00:06 +01:00
David Baker
ed029fe348
More useful doc
2017-07-24 09:55:04 +01:00
Richard van der Hoff
b497bc5eb9
Fix broken test: wait for sync to complete
2017-07-21 16:04:53 +01:00
Richard van der Hoff
8a4a1dfadf
Transform async functions to bluebird promises
...
Now that we use transform-runtime instead of regenerator-runtime, we need to
use the async-to-bluebird transform to make sure that `async` functions get
transformed into bluebird promises.
2017-07-21 15:59:30 +01:00
Richard van der Hoff
8bbf14acbf
Let event decryption be asynchronous
...
Once everything moves to indexeddb, it's going to require callbacks and the
like, so let's make the decrypt API asynchronous in preparation.
2017-07-21 14:41:22 +01:00
Richard van der Hoff
86f2c86440
Add MatrixEvent.attemptDecryption
...
... and use it from both MatrixClient and the megolm re-decryption code.
This will help us avoid races when decryption is asynchronous.
2017-07-21 14:41:22 +01:00
Richard van der Hoff
cfb29f1339
Refactor handling of crypto events for async
...
We're going to need to handle m.room.crypto events asynchronously, so
restructure the way we do that.
2017-07-21 14:41:01 +01:00
Richard van der Hoff
63a28d8e34
Fix lint in /sync
2017-07-21 14:41:01 +01:00
Richard van der Hoff
d37cbb10a5
Merge pull request #507 from matrix-org/rav/fix_racy_cancellation_test
...
Retrying test: wait for localEchoUpdated event
2017-07-21 13:19:55 +01:00
David Baker
055590c0c6
Add more group APIs
2017-07-21 11:13:27 +01:00
David Baker
6aaac45468
Merge pull request #504 from matrix-org/dbkr/fix_member_events_timeline_reset_2
...
Fix member events breaking on timeline reset, 2
2017-07-20 14:25:41 +01:00
David Baker
34adaae5af
Add helpfully named variable for old timeline
2017-07-20 14:17:14 +01:00
Richard van der Hoff
9c6f004f7f
Retrying test: wait for localEchoUpdated event
...
We need to wait for the js-sdk to have an opportunity to process the 400 from
the /send/ request before checking the event state
2017-07-20 13:12:21 +01:00
David Baker
ff685e33d5
clarify comment
2017-07-20 11:00:50 +01:00
David Baker
2999603b28
more commentage
2017-07-20 10:43:47 +01:00
Richard van der Hoff
32d8f4b084
Fix jsdoc failure on async code ( #506 )
...
We need jsdoc 3.5 to support the async/await syntax.
2017-07-20 09:45:37 +01:00
Richard van der Hoff
0fb0c1b71b
Use babel transform-runtime instead of regenerator-runtime ( #505 )
...
Attempting to use the regnerator-runtime ourselves led to a fight with riot-web
about whether `global.regeneratorRuntime` could be defined. By using the
transform-runtime plugin, references to `global.regeneratorRuntime` which are
created by the transform-regenerator plugin are turned into references to an
imported module, which works much better.
(The full tragic tale went as follows:
- riot-web uses transform-runtime, which adds an import of
`regenerator-runtime` to index.js
- `regenerator-runtime`:
- loads `regenerator-runtime/runtime`, which defines
`global.regeneratorRuntime`
- then clears the global property and returns the regeneratorRuntime object
as the exported value from the module
- later, the js-sdk tried to import `regenerator-runtime/runtime`, which then
did nothing because the module had already been loaded once.
For added fun, this only manifested itself when riot-web and js-sdk shared an
instance of the `regenerator-runtime` package, which happens on proper builds,
but not a normal development setup.)
2017-07-20 09:18:37 +01:00
Richard van der Hoff
2ac34dbab0
Merge pull request #503 from matrix-org/rav/async_crypto/public_api
...
Make bits of the js-sdk api asynchronous
2017-07-19 21:14:40 +01:00
Richard van der Hoff
986fb12543
Fix some typos in comments
2017-07-19 21:13:06 +01:00
krombel
e686eb750f
use device_one_time_keys_count transmitted by /sync ( #493 )
...
Where it is available, use the one_time_keys_count returned by /sync instead of polling the server for it.
This was added to synapse in matrix-org/synapse#2237 .
2017-07-19 16:27:05 +01:00
David Baker
8ac15068ee
more comments
2017-07-19 16:24:42 +01:00
David Baker
5e4cd6cf11
Add hopefully clearer comments
2017-07-19 16:20:40 +01:00
David Baker
39d694de8c
No longer need RoomState
2017-07-19 14:58:18 +01:00
David Baker
342f5c01e0
Update tests for new resetLiveTimeline interface
2017-07-19 14:54:18 +01:00
David Baker
f91293c6c5
Set the start state of the new timeline correctly
2017-07-19 14:52:27 +01:00
David Baker
1ce4977a70
get state events before we nuke the roomstate
2017-07-19 12:00:04 +01:00
David Baker
f4b25b59e5
Lint
2017-07-19 11:56:58 +01:00
David Baker
b33a47e253
Fix member events breaking on timeline reset, 2
...
Re-use the same RoomState from the old live timeline so we re-use
all the same member objects etc, so all the listeners stay attached
2017-07-19 11:49:20 +01:00
Richard van der Hoff
ccd4d4263d
Changelog: breaking e2e changes
2017-07-18 23:35:33 +01:00
Richard van der Hoff
2ff9a36eed
Make a number of the crypto APIs asynchronous
...
Make the following return Promises:
* `MatrixClient.getStoredDevicesForUser`
* `MatrixClient.getStoredDevice`
* `MatrixClient.setDeviceVerified`
* `MatrixClient.setDeviceBlocked`
* `MatrixClient.setDeviceKnown`
* `MatrixClient.getEventSenderDeviceInfo`
* `MatrixClient.isEventSenderVerified`
* `MatrixClient.importRoomKeys`
Remove `listDeviceKeys` altogether: it's been deprecated for ages, and since
applications are going to have to be changed anyway, they might as well use its
replacement (`getStoredDevices`).
2017-07-18 23:35:33 +01:00
Richard van der Hoff
d1e91cd702
Add MatrixClient.initCrypto
...
initialising the crypto layer needs to become asynchronous. Rather than making
`sdk.createClient` asynchronous, which would break every single app in the
world, add `initCrypto`, which will only break those attempting to do e2e (and
in a way which will fall back to only supporting unencrypted events).
2017-07-18 23:35:33 +01:00
Richard van der Hoff
e2599071c5
Merge pull request #499 from matrix-org/rav/omfg_when_will_it_end
...
Yet more js-sdk test deflakification
2017-07-17 11:57:05 +01:00
Richard van der Hoff
fc38b89aee
Merge pull request #497 from matrix-org/rav/yet_another_flakey_test
...
Fix racy 'matrixclient retrying' test
2017-07-17 11:56:39 +01:00
Richard van der Hoff
5688286a79
Merge pull request #495 from matrix-org/rav/fix_key_requests_race
...
Fix spamming of key-share-requests
2017-07-17 11:56:05 +01:00
David Baker
7eb10ab7ac
Merge pull request #500 from matrix-org/rav/upload_progress
...
Add progress handler to `uploadContent`
2017-07-14 17:18:41 +01:00
Richard van der Hoff
34b31865c5
Add progress handler to uploadContent
...
bluebird doesn't support promise progression (or rather, it does, but it's
heavily deprecated and doesn't use the same API as q), so replace the
(undocumented) promise progression on uploadFile with a callback.
2017-07-14 16:51:43 +01:00
Richard van der Hoff
f1c5b632cc
Deflake the matrixclient syncing tests ( #498 )
...
All of these tests were vulnerable to a race wherein we would flush the /sync
request, but the client had not yet processed the results before we checked
them. We can solve all of this by waiting for the client to emit a "sync"
event.
2017-07-14 16:09:28 +01:00
Richard van der Hoff
04ca0ac2b5
Give the megolm tests longer to complete
...
All that crypto stuff takes a while, so give it longer than 100ms.
2017-07-14 15:22:08 +01:00
Richard van der Hoff
8b2fdf3a75
Deflake megolm unit test
...
Waiting for 1ms isn't actually good enough. wait for the actual thing we are
actually waiting for.
2017-07-14 15:22:08 +01:00
Richard van der Hoff
adca75b7d8
Deflake matrix-client-timeline tests
...
These guys do a flush("/sync"), without waiting for it to complete, and then in
the afterEach, check that the sync has been flushed, which it may not have
been. So we should make sure we wait for the flush.
2017-07-14 15:22:08 +01:00
Richard van der Hoff
504fa2a1d3
Fix racy 'matrixclient retrying' test
...
when a message send fails, the promise returned by `sendMessage` is
rejected. Until we switched to bluebird, the rejection was happily being
swallowed, but with bluebird, there's a better chance of the unhandled
rejection being caught by the runtime and mocha and failing the test.
2017-07-13 18:18:21 +01:00
Richard van der Hoff
266a062a5d
Fix spamming of key-share-requests
...
Fixes a race in the memory-backed crypto store which meant that we would spam
out multiple key-share-requests for the same session.
(This didn't happen very often in practice, because normally we use the
indexeddb-backed store, which is race-free. Or at least, doesn't have this
race.)
2017-07-13 13:29:56 +01:00
Richard van der Hoff
652a9452c2
Merge pull request #490 from matrix-org/rav/bluebird
...
Switch matrix-js-sdk to bluebird
2017-07-12 23:34:40 +01:00
Richard van der Hoff
503b6ea6c8
Correct incorrect Promise() invocation
...
you're supposed to call Promise() as a constructor rather than a static
function.
2017-07-12 23:33:55 +01:00
Richard van der Hoff
547501ba81
Replace promise.inspect()
...
Bluebird promises don't have an `inspect()` method, but do have an
`isFulfilled()` and a `value()` method, so use them instead.
2017-07-12 23:33:55 +01:00
Richard van der Hoff
cfffbc4a09
replace q method calls with bluebird ones
...
```
find src spec -name '*.js' |
xargs perl -i -pe 's/q\.(all|defer|reject|delay|try)\(/Promise.$1(/'
```
2017-07-12 23:33:55 +01:00
Richard van der Hoff
b58d84fba1
q.Promise -> Promise
...
```
find src spec -name '*.js' |
xargs perl -i -pe 's/q\.Promise/Promise/'
```
2017-07-12 23:32:28 +01:00
Richard van der Hoff
a5d3dd942e
q(...) -> Promise.resolve
...
```
find src spec -name '*.js' |
xargs perl -i -pe 's/\bq(\([^(]*\))/Promise.resolve$1/'
```
2017-07-12 23:32:28 +01:00
Richard van der Hoff
b96062b6de
replace imports of q with bluebird
...
```
find src spec -name '*.js' |
xargs perl -i -pe 'if (/require\(.q.\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
find src spec -name '*.js' |
xargs perl -i -pe 'if (/import q/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 23:32:28 +01:00
Richard van der Hoff
04b71c11e1
Merge pull request #492 from matrix-org/rav/even_more_flakey_tests
...
Fix some more flakey tests
2017-07-12 18:17:16 +01:00
Richard van der Hoff
651baefb1d
Remove redundant expectations
...
Apparently we weren't hitting these expected requests, so let's get rid of them.
2017-07-12 17:25:59 +01:00
Richard van der Hoff
ff7e845615
remove redundant flushAllExpected
...
Turned out this flush was completely redundant
2017-07-12 17:23:11 +01:00
Richard van der Hoff
f0612a1407
Fix some more flakey tests
...
switch a bunch of `flush()`es to `flushAllExpected()`s
2017-07-12 16:28:21 +01:00
Richard van der Hoff
83bd24adf8
More test deflakifying ( #491 )
...
Call `flushAllExpected()` from some more places. In a couple of places, we were
apparently calling `flush()` redundantly, so remove it altogether.
2017-07-12 14:05:39 +01:00
Richard van der Hoff
b5a8e6bbdf
Merge pull request #489 from t3chguy/t3chguy/test-crossplatform
...
make the npm test script windows-friendly
2017-07-12 13:49:43 +01:00
Michael Telatynski
9798fcf839
make the npm test script windows-friendly
2017-07-11 23:08:28 +01:00
David Baker
15556b6797
Merge pull request #488 from matrix-org/rav/deflakify_tests
...
Fix a bunch of races in the tests
2017-07-11 13:22:27 +01:00
Richard van der Hoff
0ca4d728d8
Fix a bunch of races in the tests
...
Once we switch to bluebird, suddenly a load of timing issues come out of the
woodwork. Basically, we need to try harder when flushing requests. Bump to
matrix-mock-request 1.1.0, which provides `flushAllExpected`, and waits for
requests to arrive when given a `numToFlush`; then use `flushAllExpected` in
various places to make the tests more resilient.
2017-07-11 12:09:21 +01:00
David Baker
b2c7804032
Merge pull request #487 from matrix-org/rav/fix_bad_all_usage
...
Fix early return in MatrixClient.setGuestAccess
2017-07-11 11:21:45 +01:00
David Baker
e091dc0294
Merge pull request #486 from matrix-org/rav/kill_failTest
...
Remove testUtils.failTest
2017-07-11 11:21:14 +01:00
Richard van der Hoff
3bfb4595cf
Remove redundant calls to done
...
These tests which return a promise already don't need to call `done`.
2017-07-10 17:40:23 +01:00
Richard van der Hoff
8955d8de23
remove utils.failTest
...
this is no longer used, so kill it
2017-07-10 17:25:56 +01:00
Richard van der Hoff
1372b298bb
kill off more utils.failTest refs
...
manual replacement of some more complicated utils.failTest usages with q.all()
invocations.
2017-07-10 17:25:48 +01:00
Richard van der Hoff
9558845e6e
Fix early return in MatrixClient.setGuestAccess
...
(as well as a similar bug in the test suite)
Turns out that `q.all(a, b)` === `q.all([a])`, rather than `q.all([a,b])`: it
only waits for the *first* promise - which means that `client.setGuestAccess`
would swallow any errors returned from the API.
2017-07-10 17:14:52 +01:00
Richard van der Hoff
5ab0930de8
utils.failTest -> nodeify
...
Automated replacement of utils.failTest with nodeify
This was done with the perl incantation:
```
find spec -name '*.js' |
xargs perl -i -pe 's/catch\((testUtils|utils).failTest\).done\(done\)/nodeify(done)/'
```
more auto
2017-07-10 16:37:31 +01:00
David Baker
3294f4858a
Merge pull request #485 from matrix-org/rav/test_watch
...
Add test:watch script
2017-07-07 14:25:36 +01:00
Richard van der Hoff
eea9a3ba59
Add test:watch script
...
... to run the tests in a loop.
2017-07-07 14:19:41 +01:00
Richard van der Hoff
753974d663
Merge pull request #484 from matrix-org/rav/enable_async
...
Make it possible to use async/await
2017-07-07 13:47:59 +01:00
David Baker
527cd0a6e5
Implement 'joined_groups' API ( #477 )
...
* Add group summary api
* Add doc for group summary API
and remove callback param as it's deprecated
* API for /joined_groups
* Create group API
* Make doc marginally more helpful
2017-07-06 22:02:17 +01:00
Richard van der Hoff
24f70387d2
Make it possible to use async/await
...
Enables the babel plugin that transpiles async/await to generator functions,
and load the regenerator runtime so that generator functions work.
2017-07-06 18:52:37 +01:00
Richard van der Hoff
adc2070ac1
Merge pull request #483 from matrix-org/rav/remove_new_device_support
...
Remove m.new_device support
2017-07-06 17:10:37 +01:00
Richard van der Hoff
a8642682d0
Remove m.new_device support
...
We now rely on the server to track new devices, and tell us about them when
users add them, rather than forcing devices to announce themselves (see
https://github.com/vector-im/riot-web/issues/2305 for the whole backstory
there).
The necessary support for that has now been in all the clients and the server
for several months (since March or so). I now want to get rid of the
localstorage store, which this code is relying on, so now seems like a good
time to get rid of it. Yay.
2017-07-06 16:05:40 +01:00
Kegsay
d66e6db480
Merge pull request #478 from krombel/access_token_header
...
Use access-token in header
2017-07-06 13:44:31 +01:00
Krombel
dc66bbc3dc
pass useAuthorizationHeader from constructor; add docs
2017-07-06 13:47:54 +02:00
Krombel
6e7f5feea5
remove fallback to query-params and set Authorization-Header based on construcor-option
2017-07-05 17:04:40 +02:00
Richard van der Hoff
f21ea6c065
Extend timeout in megolm test
...
Use the default timeout of 100ms when waiting for the /send request, instead of
clamping it to 20ms.
2017-07-05 15:08:50 +01:00
Richard van der Hoff
6af56b56bc
Merge pull request #482 from matrix-org/rav/sanity_check_protocols
...
Sanity-check response from /thirdparty/protocols
2017-07-05 11:09:20 +01:00
Richard van der Hoff
598d40b0b7
Sanity-check response from /thirdparty/protocols
...
Check that /thirdparty/protocols gives us an object (rather than a string, for
instance). I saw a test explode, apparently because it gave us a string. Which
is odd, but in general we ought to be sanity-checking the things coming back
from the server.
2017-07-05 10:51:08 +01:00
Richard van der Hoff
6ae714f51f
Merge pull request #479 from matrix-org/rav/error_parsing
...
Avoid parsing plain-text errors as JSON
2017-07-04 17:11:47 +01:00
Richard van der Hoff
b0661bb586
Update to matrix-mock-request 1.0
...
-- to pick up on the json parsing differences
2017-07-04 16:35:33 +01:00
Richard van der Hoff
b6a165f1f8
Merge branch 'develop' into rav/error_parsing
2017-07-04 16:03:33 +01:00
Richard van der Hoff
8fe4a36b68
Merge pull request #481 from matrix-org/rav/use_external_mock_request
...
Use external mock-request
2017-07-04 16:01:21 +01:00
Richard van der Hoff
0d24f2d4c1
Use external mock-request
...
mock-request is now factored out to matrix-mock-request; use it
2017-07-04 15:45:22 +01:00
Krombel
dd0ff3eeb5
intercept first authedRequest to determine if accessToken can be send by header (clearer structure)
2017-07-04 16:16:10 +02:00
Krombel
07868f701a
Merge remote-tracking branch 'upstream/develop' into access_token_header
2017-07-04 15:28:17 +02:00
Richard van der Hoff
f4f0e4b60f
Merge pull request #480 from matrix-org/rav/fix_test_races
...
Fix some races in the tests
2017-07-04 14:04:24 +01:00
Richard van der Hoff
ae950a2ff4
Fix some races in the tests
...
There is a common pattern in the tests which is, when we want to mock a /sync,
to flush it, and then, in the next tick of the promise loop, to wait for the
syncing event. However, this is racy: there is no guarantee that the syncing
event will not happen before the next tick of the promise loop.
Instead, we should set the expectation of the syncing event, then do the flush.
(Technically we only need to wait for the syncing event, but by waiting for
both we'll catch any errors thrown by the flush, and make sure we don't have
any outstanding flushes before proceeding).
Add a utility method to TestClient to do the above, and use it where we have a
TestClient.
(Also fixes a couple of other minor buglets in the tests).
2017-07-04 13:48:26 +01:00
Richard van der Hoff
5f6e4bdfe9
Avoid parsing plain-text errors as JSON
...
It's somewhat unhelpful to spam over the actual error from the reverse-proxy or
whatever with a SyntaxError.
2017-07-03 19:30:23 +01:00
Krombel
c6d2d4ccda
readd failover if server does not handle access-token via header
2017-07-01 14:30:37 +02:00
Krombel
59160a5d42
Implement failover when server does not allow setting the Authorized-header (CORS)
2017-07-01 12:16:46 +02:00
Krombel
5da6423fd6
Added failover if server does not recognize the auth header
2017-06-27 13:29:08 +02:00
Krombel
d36b8721ca
Allow Authorization-Header in tests
2017-06-23 15:49:07 +02:00
Krombel
539abffe0e
Merge remote-tracking branch 'upstream/develop' into access_token_header
2017-06-23 15:16:58 +02:00
Krombel
9b24e66441
Merge branch 'develop' into access_token_header
2017-06-23 15:16:41 +02:00
Richard van der Hoff
cc16cb9281
Merge pull request #475 from matrix-org/rav/fallback_to_memorystore
...
Fall back to MemoryCryptoStore if indexeddb fails
2017-06-22 16:05:30 +01:00
Richard van der Hoff
45fe4846f2
Fall back to MemoryCryptoStore if indexeddb fails
...
If we get an error when connecting to th indexeddb, fall back to a
MemoryCryptoStore.
This takes a bit of reorganising, because we don't get the error until we try
to connect to the database.
2017-06-22 15:22:55 +01:00
David Baker
3ca2779d9c
Merge pull request #474 from matrix-org/rav/fix_braindead_firefox
...
Fix load failure in firefox when indexedDB is disabled
2017-06-22 15:22:21 +01:00
Richard van der Hoff
967341b127
fix build error
...
browser-index isn't transpiled, so can't use var there.
2017-06-22 15:16:23 +01:00
Richard van der Hoff
4e7f9fb805
Fix load failure in firefox when indexedDB is disabled
2017-06-22 15:05:02 +01:00
David Baker
f3eb661aad
Merge branch 'master' into develop
2017-06-22 11:51:24 +01:00
David Baker
1abf8e23a4
v0.7.13
2017-06-22 11:48:30 +01:00
David Baker
9f1f476f43
Prepare changelog for v0.7.13
2017-06-22 11:48:29 +01:00
David Baker
1a9d61c92a
Merge pull request #473 from matrix-org/rav/no_require_indexeddb
...
Fix failure on Tor browser
2017-06-22 11:22:36 +01:00
David Baker
6ad465e3c0
Merge pull request #472 from matrix-org/rav/indexeddb_fixes
...
Fix issues with firefox private browsing
2017-06-22 11:15:03 +01:00
Richard van der Hoff
8ef947722f
Fail gracefully on browsers without indexeddb
...
If we don't have indexeddb at all, don't try to make an indexeddb crypto store.
2017-06-22 07:49:28 +01:00
Richard van der Hoff
6e6b5c95a3
indexeddb worker: make clearDatabase work without having connected
...
... so that we can clear the database during login from a temporary client.
2017-06-21 21:13:41 +01:00
Richard van der Hoff
fa593a7a37
Treat errors when deleting indexeddb as non-fatal
...
If we get an error when vaping the indexeddb, carry on regardless
2017-06-21 18:06:21 +01:00
Richard van der Hoff
7fcccad0ae
Fix another round of test failures
...
'blocked' is *not* a fatal situation when opening or deleting databases.
2017-06-21 11:26:02 +01:00
David Baker
e8ce94ade2
Merge pull request #471 from matrix-org/rav/fix_test_race
...
Fix a race in a test
2017-06-21 09:28:16 +01:00
Richard van der Hoff
6055f038ee
Fix a race in a test
...
startClient was written in such a way that it would leave a flush() running,
which could sometimes interfere with the rest of the test (or even subsequent
tests), causing sporadic test failures. Make sure that the flush completes
before we move on.
Fix a test which turned out to be relying on that behaviour (there was a flush
which ended up being a no-op, thus effectively inserting a pause allowing the
sync promise to complete.
Fix a beforeEach handler which was relying on startClient resolving to
undefined.
2017-06-21 07:57:38 +01:00
Richard van der Hoff
6a1f40eeab
Make sure we shut down the crypto module properly
...
listening to the sync STOPPED event doesn't cut it, because the app might (and
does, in the case of react-sdk) do a removeAllListeners.
2017-06-20 23:51:25 +01:00
Richard van der Hoff
ca01589e50
Fix another round of test failures
...
'blocked' is *not* a fatal situation when opening or deleting databases.
2017-06-20 17:36:35 +01:00
David Baker
cca891644d
Merge pull request #470 from matrix-org/rav/fix_error_on_shutdown
...
Avoid throwing an unhandled error when the indexeddb is deleted
2017-06-20 15:46:55 +01:00
Richard van der Hoff
cd19578d80
Avoid throwing an unhandled error when the indexeddb is deleted
...
Hopefully this will fix the vector-web test failures (the
OutgoingRoomRequestManager throws an exception because the indexeddb is being
deleted just as it's getting started).
2017-06-20 15:36:05 +01:00
Richard van der Hoff
c96f7e5a13
Merge pull request #469 from matrix-org/rav/fix_jsdoc_build
...
fix jsdoc
2017-06-20 14:01:14 +01:00
Richard van der Hoff
d7f92b4f72
fix jsdoc
2017-06-20 13:51:08 +01:00
Richard van der Hoff
70a5208fcc
Run gendoc as part of the travis build
...
... so that I don't get surprised by it not working when it lands on develop
2017-06-20 13:33:04 +01:00
Richard van der Hoff
8c9150db66
Merge pull request #468 from matrix-org/rav/handle_forwarded_room_key_2
...
Handle m.forwarded_room_key events
2017-06-20 13:18:44 +01:00
Richard van der Hoff
1f86dbd12f
Add support for forwarding room keys to megolm
...
when we receive a m.forwarded_room_key, add it to the crypto store, but
remember who forwarded it to us, so we can decide whether to trust them
separately.
2017-06-20 12:39:36 +01:00
Richard van der Hoff
cfa871c076
event.js: Add support for forwardingCurve25519KeyChain
2017-06-20 11:51:30 +01:00
Richard van der Hoff
f355661522
fix a lint error
2017-06-20 11:51:30 +01:00
Richard van der Hoff
be3fb0f917
Make a start on a unit test for megolm alg impl
...
not much here yet, but it's a start at least.
2017-06-20 11:51:30 +01:00
Richard van der Hoff
e2f4c0ffd1
Rename megolm integration tests
...
I'm going to introduce some separate unit tests, so let's give this a different
filename to reduce confusion.
2017-06-20 11:51:11 +01:00
Richard van der Hoff
210a53a3a5
Refactor internal OlmDevice methods
...
Rearrange the way _getInboundGroupSession and _saveInboundGroupSession work, so
that we can add more things to the storage without growing the parameter list
forever.
2017-06-20 11:51:11 +01:00
Richard van der Hoff
5049919855
Replace keysProved and keysClaimed
...
These terms were somewhat confusing (and, in the case of megolm, misleading),
so replace them with explicit senderCurve25519Key and claimedEd25519Key fields.
2017-06-20 11:51:11 +01:00
Richard van der Hoff
ce187786cb
Merge remote-tracking branch 'origin/develop' into room_key_sharing
2017-06-20 11:28:53 +01:00
Richard van der Hoff
e6b35a9237
Run the crypto tests under travis ( #467 )
...
The crypto tests haven't been running since things got rearranged to expect
Olm in a global (41864d4 ). Reinstate them.
2017-06-20 10:44:03 +01:00
Richard van der Hoff
82e5e9cf4a
Merge branch 'develop' into room_key_sharing
2017-06-19 17:38:35 +01:00
David Baker
d7e1910076
Merge pull request #466 from matrix-org/rav/improve_indexeddb_errors
...
Improve error reporting from indexeddbstore.clearDatabase
2017-06-19 16:00:38 +01:00
Richard van der Hoff
009c28ae50
Improve error reporting from indexeddbstore.clearDatabase
...
- to help understand when it gets stuck in tests
2017-06-19 15:51:55 +01:00
David Baker
db66023102
v0.7.12
2017-06-19 11:58:56 +01:00
David Baker
4d8dc1a0c4
Prepare changelog for v0.7.12
2017-06-19 11:58:55 +01:00
Krombel
e0a5edeb04
implement usage of Authorization-Header instead of query-param for access_token
2017-06-16 12:33:42 +02:00
David Baker
ffd9a01e2f
v0.7.12-rc.1
2017-06-15 17:13:26 +01:00
David Baker
25a8c79951
Prepare changelog for v0.7.12-rc.1
2017-06-15 17:13:25 +01:00
Matthew Hodgson
c8674ff104
Merge pull request #462 from t3chguy/t3chguy/voip/force_turn
...
allow setting iceTransportPolicy to relay through forceTURN option
2017-06-12 21:43:50 +01:00
Michael Telatynski
a40b10f53c
allow setting iceTransportPolicy to relay through forceTURN option
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-06-12 20:23:57 +01:00
David Baker
79fa944402
v0.7.11
2017-06-12 15:17:53 +01:00
David Baker
ed3cdeec74
Prepare changelog for v0.7.11
2017-06-12 15:17:53 +01:00
David Baker
05d50d457c
Merge remote-tracking branch 'origin/develop' into release-v0.7.11
2017-06-12 15:16:18 +01:00
David Baker
2531db84a6
Merge pull request #460 from matrix-org/rav/send_message_logging
...
Add a bunch of logging around sending messages
2017-06-12 13:37:50 +01:00
Richard van der Hoff
96c1126fe5
Add a bunch of logging around sending messages
...
In an attempt to diagnose https://github.com/vector-im/riot-web/issues/4278 ,
add some debug to make the rageshakes more useful.
2017-06-12 13:32:10 +01:00
David Baker
bb5038b8b2
v0.7.11-rc.1
2017-06-09 20:23:30 +01:00
David Baker
0c65162349
Prepare changelog for v0.7.11-rc.1
2017-06-09 20:23:29 +01:00
David Baker
17cc12844d
Merge pull request #458 from matrix-org/rav/resolve_timeline_window_quickly
...
Make TimelineWindow.load resolve quicker if we have the events
2017-06-09 20:06:28 +01:00
Richard van der Hoff
6cfcf92a28
Make TimelineWindow.load resolve quicker if we have the events
...
If we have the events in memory, let TimelineWindow.load() return
a resolved promise, so that the UI can show the view straight away instead
of showing the spinner.
2017-06-09 14:59:11 +01:00
Luke Barnard
6ed9a85dca
Add API for POST /user_directory/search ( #457 )
...
* Add API for POST /user_directory/search
This takes a JSON body of the form:
```json
{
"term": "search term",
"limit": 42,
}
```
where "term" is the term to match against user IDs, display names and domains and "limit" is the maximum number of results to return (which is defaulted server-side).
The response body looks like
```json
{
"results ": [
{ "user_id": "@someid:mydomain.com", "display_name": "Some Name", "avatar_url": "mx://..." },
...
],
"limited": false
}
```
where "limited" indicates whether the "limit" was used to truncate the list.
2017-06-07 15:34:07 +01:00
Richard van der Hoff
0371265fea
Send a cancellation for room key requests ( #456 )
...
* Send a cancellation for room key requests
When we receive a room key, cancel any pending requests we have open for that
key.
2017-06-07 14:00:47 +01:00
Richard van der Hoff
de257b34c0
Merge pull request #454 from matrix-org/rav/key_share/incoming
...
Implement sharing of megolm keys
2017-06-07 13:17:43 +01:00
Richard van der Hoff
4b6575d94a
Fix jsdocs
2017-06-07 11:02:27 +01:00
Richard van der Hoff
2c54d76085
Implement sharing of megolm keys
2017-06-06 14:46:54 +01:00
Richard van der Hoff
70f39ed760
Fix lint failure
2017-06-06 14:46:24 +01:00
Richard van der Hoff
1c6652483b
Merge pull request #449 from matrix-org/rav/handle_room_key_requests
...
Process received room key requests
2017-06-06 14:30:56 +01:00
Richard van der Hoff
ab7e0a9266
Merge branch 'room_key_sharing' into rav/handle_room_key_requests
2017-06-06 14:30:34 +01:00
Richard van der Hoff
ff323d00af
Merge pull request #448 from matrix-org/rav/send_room_key_requests
...
Send m.room_key_request events when we fail to decrypt an event
2017-06-06 14:25:40 +01:00
Richard van der Hoff
ea2a04135f
Send a room key request on decryption failure
...
When we are missing the keys to decrypt an event, send out a request for those
keys to our other devices and to the original sender.
2017-06-06 14:24:19 +01:00
Richard van der Hoff
6d88c76464
Storage layer for management of outgoing room key requests
2017-06-06 14:24:19 +01:00
Luke Barnard
9b188ca87d
Use single room object for duration of peek ( #453 )
...
Use single room object for duration of peek
Instead of getting the room by ID every time the room is polled for events, which could cause issues if the state of the room is modified from under the peeking logic (if the user joined the room or registered etc.)
2017-06-06 12:15:30 +01:00
Richard van der Hoff
1664312c80
Address review comments
...
Avoid gut-wrenching properties on IncomingRoomKeyRequest.
2017-06-05 16:07:38 +01:00
David Baker
38baa42ebb
Merge pull request #451 from matrix-org/dbkr/stop_peeking
...
Stop peeking when a matrix client is stopped
2017-06-05 14:16:35 +01:00
David Baker
654322e896
Stop peeking when a matrix client is stopped
...
Otherwise we get very confused when the peek poll returns after
the client is stopped.
2017-06-05 14:04:41 +01:00
Richard van der Hoff
3f70f532b7
Update README.md
...
lack of olm is a warning, not an exception
2017-06-05 09:24:59 +01:00
Richard van der Hoff
6ba214a259
Merge pull request #450 from arxcode/develop
...
Update README: Clarify how to install libolm
2017-06-05 09:22:34 +01:00
arxcode
caf73f387f
Update README: Clarify how to install libolm
2017-06-04 23:24:11 +02:00
Matthew Hodgson
9a81ca9fab
v0.7.10
2017-06-02 01:02:01 +01:00
Matthew Hodgson
0edf19a871
Prepare changelog for v0.7.10
2017-06-02 01:02:01 +01:00
Matthew Hodgson
6989f6c835
switch to using new media constraints to allow device selection to work
2017-06-01 21:57:58 +01:00
Richard van der Hoff
2daa39520a
Room key request cancellation handling
2017-06-01 18:30:32 +01:00
Richard van der Hoff
c8eca50f43
Processing of received room key requests
...
Doesn't actually do any of the crypto magic yet.
2017-06-01 18:30:26 +01:00
Richard van der Hoff
de844f1a32
Merge pull request #447 from matrix-org/rav/fix_indexeddb_deletion
...
indexeddb-crypto-store: fix db deletion
2017-06-01 17:34:37 +01:00
Richard van der Hoff
97951e1c1a
Merge pull request #446 from matrix-org/rav/load_olm_from_global
...
Load Olm from the global rather than requiring it.
2017-06-01 15:41:22 +01:00
Richard van der Hoff
2edbed8528
indexeddb-crypto-store: fix db deletion
...
Add an `onversionchange` listener to close the db, so that we can delete it
without blocking.
2017-06-01 15:37:27 +01:00
Richard van der Hoff
24937910c7
Merge remote-tracking branch 'origin/develop' into rav/load_olm_from_global
2017-06-01 15:31:27 +01:00
Richard van der Hoff
5cd441fb48
Add a warning to the changelog
2017-06-01 15:30:00 +01:00
Richard van der Hoff
06b956bd75
disable e2e test when there is no e2e
2017-06-01 13:16:10 +01:00
Richard van der Hoff
41864d46c3
Load Olm from the global rather than requiring it.
...
This means that we can avoid confusing everybody in the world about how to
webpack js-sdk apps.
2017-06-01 13:09:48 +01:00
Matthew Hodgson
f6622e0bcd
unbreak riot-web release process
2017-06-01 02:41:47 +01:00
Matthew Hodgson
0f30d21fa2
v0.7.9
2017-06-01 01:41:06 +01:00
Matthew Hodgson
4257c8c9f5
Prepare changelog for v0.7.9
2017-06-01 01:41:06 +01:00
Richard van der Hoff
331859d383
Merge pull request #445 from matrix-org/rav/indexeddb_crypto_store
...
Initial framework for indexeddb-backed crypto store
2017-05-31 18:06:45 +01:00
Richard van der Hoff
ef03b708a8
Add MatrixClient.clearStores
...
- to clear both sets of storage on logout
2017-05-31 17:22:07 +01:00
Richard van der Hoff
716d098361
Address Kegan's review comments
...
jsdoc mostly.
2017-05-31 16:05:00 +01:00
Richard van der Hoff
d887057660
Merge pull request #444 from matrix-org/rav/factor_out_reemit
...
Factor out reEmit to a common module
2017-05-31 14:22:34 +01:00
Richard van der Hoff
7efbfebb4d
Factor out reEmit to a common module
...
and rewrite it to use modern JS while we're at it
2017-05-31 11:01:48 +01:00
Richard van der Hoff
4c7afe5af0
Initial framework for indexeddb-backed crypto store
...
Doesn't do anything useful yet - just demonstrates a framework for how I hope
it will fit into the sdk.
2017-05-30 23:25:07 +01:00
Richard van der Hoff
676515cf27
Merge pull request #443 from matrix-org/rav/es6ify_algorithm_base
...
crypto/algorithms/base.js: Convert to es6
2017-05-23 16:36:42 +01:00
Richard van der Hoff
0eb5b0fdfa
Merge pull request #435 from t3chguy/maySendRedactionForEvent
...
maySendRedactionForEvent for userId
2017-05-23 15:45:46 +01:00
Richard van der Hoff
2feba4787f
Merge pull request #441 from matrix-org/rav/get_userid
...
MatrixClient: add getUserId()
2017-05-23 15:44:34 +01:00
Michael Telatynski
516dc1043e
prevent powerLevels being undef
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-23 14:53:11 +01:00
Richard van der Hoff
b26c1c57dc
crypto/algorithms/base.js: Convert to es6
...
Convert base to an es6 module with es6 classes, for clarity and to help with
jsdoccing.
Complications are:
* jsdoc gets confused by `export class`, so the exports are separated.
* turns out that extending Error is a bit difficult, so instanceof doesn't work
on derived Error classes. This only really affects us in one place (app-side
code shouldn't be doing instanceofs anyway), so just use `name` instead.
2017-05-23 14:32:13 +01:00
Richard van der Hoff
0945ba9e90
Merge pull request #442 from matrix-org/rav/custom_babel_for_jsdoc
...
Run jsdoc on a custom babeling of the source
2017-05-23 14:28:41 +01:00
Michael Telatynski
69ed6f283d
fix based on rich's feedback
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-23 12:55:05 +01:00
Richard van der Hoff
9eef850d0c
Run jsdoc on a custom babeling of the source
...
jsdoc can't read our raw source, because of our dangling commas in function
calls. On the other hand, running on /lib means that a lot of the useful
information about exports is lost and you end up having to jump through hoops
to get jsdoc to generate the right thing.
This uses a separate run of babel (with all the presets turned off) to generate
source which is almost identical to the input, but lacks trailing commas.
(https://babeljs.io/blog/2015/10/31/setting-up-babel-6 says 'Babel 6 ships
without any default transforms, so when you run Babel on a file it will just
print it back out to you without changing anything.' - however, that is,
empirically, not entirely true.)
2017-05-23 12:26:17 +01:00
Richard van der Hoff
cf1574d690
MatrixClient: add getUserId()
...
... I'm amazed we got this far without it.
2017-05-23 10:37:26 +01:00
David Baker
d6913e41a0
Merge branch 'master' into develop
2017-05-22 11:33:20 +01:00
David Baker
3c81c295c7
v0.7.8
2017-05-22 11:31:48 +01:00
David Baker
56dfa0c755
Prepare changelog for v0.7.8
2017-05-22 11:31:47 +01:00
Richard van der Hoff
43989be768
Merge pull request #439 from kscz/add_getstoreddeviceforuser
...
Add in a public api getStoredDevice allowing clients to get a specific device
2017-05-22 09:36:38 +01:00
Kit Sczudlo
822380ac38
Add in a public api getStoredDevice allowing clients to get a specific device
...
Signed-off-by: Kit Sczudlo <kit@kitscz.com >
2017-05-21 00:30:40 -07:00
David Baker
8c37d9ac9a
v0.7.8-rc.1
2017-05-19 10:34:31 +01:00
David Baker
e40b8461f7
Prepare changelog for v0.7.8-rc.1
2017-05-19 10:34:30 +01:00
David Baker
a3f45b466a
Merge pull request #438 from matrix-org/rav/release_signing
...
Attempt to rework the release-tarball-signing stuff
2017-05-19 10:03:36 +01:00
Richard van der Hoff
672ad68c64
release.sh: download the tarball from git to verify it
2017-05-18 18:58:50 +01:00
David Baker
4ccec13739
Fix build: move uglifyjs dep to uglify-js
...
uglifyjs have gained a hyphen for some reason, and replaced th
old one with a stub package.
2017-05-17 11:21:20 +01:00
Michael Telatynski
09529a1aa8
lets please the ESLint gods
...
`--max-warnings 115` :')
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-16 14:16:42 +01:00
Michael Telatynski
d182fd6bb7
can't redact queued/not_sent
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-16 14:12:29 +01:00
Michael Telatynski
36bf123e2b
maySendRedactionForEvent for userId
...
done using a private helper so kick/ban etc perms can be done
easily at a later stage
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-16 14:04:55 +01:00
Matthew Hodgson
92cfbf655f
Merge pull request #427 from t3chguy/electron_media_select
...
ability to specify webrtc audio/video inputs for the lib to request
2017-05-15 02:10:01 +01:00
Matthew Hodgson
fbef701179
Merge pull request #434 from t3chguy/t3chguy/screen_share_firefox
...
make screen sharing call FF friendly :D
2017-05-15 00:16:33 +01:00
Michael Telatynski
0415b9cf4c
make screen sharing call FF friendly :D
...
FF is uber nice that it lets us select the display
does not seem to allow the composite ALL displays though
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-05-14 23:48:26 +01:00
Luke Barnard
cb9a9e8d50
Implement API for username availability ( #432 )
...
Requires synapse with https://github.com/matrix-org/synapse/pull/2183 , https://github.com/matrix-org/synapse/pull/2209 and https://github.com/matrix-org/synapse/pull/2213
2017-05-11 09:14:45 +01:00
Richard van der Hoff
6021c1c6b1
Merge pull request #431 from matrix-org/rav/fix_device_list_yet_again
...
Fix race in device list updates
2017-05-05 13:29:53 +01:00
Richard van der Hoff
655be2fa2e
Fix race in device list updates
...
Don't consider device lists up-to-date when we have another request for the
relevant user in the queue.
Fixes https://github.com/vector-im/riot-web/issues/3796 .
2017-05-05 12:34:00 +01:00
Michael Telatynski
98491a63a7
ability to specify webrtc audio/video inputs for the lib to request
2017-04-27 16:06:34 +01:00
David Baker
acd7f15c83
Merge pull request #424 from matrix-org/rob/nocam
...
WebRTC: Support recvonly for video for those without a webcam
2017-04-26 18:23:52 +01:00
Richard van der Hoff
5020d4e99f
Rework device list tracking logic ( #425 )
...
Yet another attempt at fixing
https://github.com/vector-im/riot-web/issues/2305 .
This now implements the algorithm described at
http://matrix.org/speculator/spec/HEAD/client_server/unstable.html#tracking-the-device-list-for-a-user :
* We now keep a flag to tell us which users' device lists we are tracking. That
makes it much easier to figure out whether we should care about device-update
notifications from /sync (thereby fixing
https://github.com/vector-im/riot-web/issues/3588 ).
* We use the same flag to indicate whether the device list for a particular
user is out of date. Previously we did this implicitly by only updating the
stored sync token when the list had been updated, but that was somewhat
complicated, and in any case didn't help in cases where we initiated the key
download due to a user joining an encrypted room.
Also fixes https://github.com/vector-im/riot-web/issues/3310 .
2017-04-25 17:56:01 +01:00
David Baker
9693c30209
Merge branch 'master' into develop
2017-04-25 10:51:08 +01:00
David Baker
2b6f8adc64
v0.7.7
2017-04-25 10:49:28 +01:00
David Baker
822f5927e5
Prepare changelog for v0.7.7
2017-04-25 10:49:26 +01:00
David Baker
0f6e9d7b9d
v0.7.7-rc.1
2017-04-21 18:15:49 +01:00
David Baker
99f3e3f09e
Prepare changelog for v0.7.7-rc.1
2017-04-21 18:15:48 +01:00
David Baker
aa81c96a98
Automatically complete dummy auth
...
Dummy auth flows, bu definition, do not require a response from
the user, and so should just be completed automatically by
interactive-auth.
2017-04-21 18:06:57 +01:00
Richard van der Hoff
9d532b6c72
Merge pull request #422 from t3chguy/develop
...
Update istanbul to remove minimatch DoS Warning
2017-04-21 12:12:32 +01:00
Luke Barnard
4c63906b8f
Implement API for setting RM ( #419 )
...
* Implement API for setting RM
This is now stored on the server with similar treatment to RRs. The server will only store the specified eventId as the current read marker for a room if the event is ahead in the stream when compared to the existing RM. The exception is when the RM has never been set for this room for this user, in which case the event ID will be stored as the RM without any comparison.
This API also allows for an optional RR event ID to be sent in the same request. This is because it might be the common case for some clients to update the RM at the same time as updating the RR.
See design: https://docs.google.com/document/d/1UWqdS-e1sdwkLDUY0wA4gZyIkRp-ekjsLZ8k6g_Zvso/edit
See server-side PRs: https://github.com/matrix-org/synapse/pull/2120 , https://github.com/matrix-org/synapse/pull/2128
2017-04-20 09:43:33 +01:00
Robert Swain
dd2a870227
webrtc/call: Unmute remote audio element when setting
2017-04-20 06:41:29 +02:00
Robert Swain
88948c3cfd
webrtc/call: Always offer to receive audio/video for video call
...
This allows people without (or denying access to) a webcam to make a
video call and receive audio and video from the peer.
2017-04-20 06:35:03 +02:00
Robert Swain
b33dcfe6ff
webrtc/call: Fall back to recvonly if camera/mic access is denied
...
Users of MatrixCall will need to present some sensible UX for this.
2017-04-20 06:32:52 +02:00
Robert Swain
2c15bdae04
Merge pull request #423 from matrix-org/rob/more-distinct-callid
...
webrtc/call: Make it much less likely that callIds collide locally
2017-04-19 17:34:15 +02:00
Robert Swain
2f45633312
webrtc/call: Make it much less likely that callIds collide locally
...
Previously if two calls were constructed within 1ms they could have the
same id.
2017-04-19 16:51:23 +02:00
Michael Telatynski
fdd42fbc6d
Update dependencies to remove minimatch DoS Warning
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com >
2017-04-19 12:50:21 +01:00
Richard van der Hoff
54a6f5d425
Merge pull request #420 from matrix-org/dbkr/fix_dummy_auth
...
Automatically complete dummy auth
2017-04-13 14:23:33 +01:00
David Baker
68d9662fe5
Automatically complete dummy auth
...
Dummy auth flows, bu definition, do not require a response from
the user, and so should just be completed automatically by
interactive-auth.
2017-04-12 18:36:23 +01:00
David Baker
4f0987da01
Merge branch 'master' into develop
2017-04-12 09:58:26 +01:00
David Baker
625697e097
v0.7.6
2017-04-12 09:56:46 +01:00
David Baker
92b14f20d2
Prepare changelog for v0.7.6
2017-04-12 09:56:45 +01:00
Richard van der Hoff
dd069647d1
Merge pull request #418 from matrix-org/dbkr/release_script_dont_leave_me_in_gh_pages
...
Don't leave the gh-pages branch checked out
2017-04-10 16:36:25 +01:00
David Baker
4523ae7d29
Checkout release branch *before* exiting script
2017-04-10 16:15:06 +01:00
David Baker
19e5eda773
Don't leave the gh-pages branch checked out
...
After a pre-release, check out the release branch again rather
than leaving the working copy on the gh-pages branch
2017-04-10 15:52:37 +01:00
David Baker
070d58ac0e
v0.7.6-rc.2
2017-04-10 14:52:10 +01:00
David Baker
2d70f69857
Prepare changelog for v0.7.6-rc.2
2017-04-10 14:52:09 +01:00
David Baker
7a3acfa6a7
Merge remote-tracking branch 'origin/develop' into release-v0.7.6
2017-04-10 14:50:16 +01:00
David Baker
8ac0d12d1e
Merge pull request #416 from matrix-org/dbkr/feature_detect_webworker
...
Add feature detection for webworkers
2017-04-10 11:28:40 +01:00
David Baker
86164103f0
Allow webworker API to be passed in
...
So it can be used from Node with one of the compatible APIs
2017-04-10 10:02:06 +01:00
David Baker
b9c71ef03f
Add feature detection for webworkers
...
Only use web worker store if we have web workers available
2017-04-07 17:45:45 +01:00
David Baker
7ffff761d5
Merge remote-tracking branch 'origin/develop' into release-v0.7.6
2017-04-07 17:01:25 +01:00
Richard van der Hoff
7d4366473d
Merge pull request #415 from matrix-org/dbkr/fix_release_script
...
Fix release script
2017-04-07 17:00:12 +01:00
David Baker
e63c660162
Fix release script
...
Publish to npm before switching to the doc branch: previously we
published from master, but since we now now longer merge
pre-releases to master, publish from the release branch (just
not the doc branch because that won't work).
2017-04-07 16:55:38 +01:00
David Baker
1762f9d68e
v0.7.6-rc.1
2017-04-07 16:44:21 +01:00
David Baker
76287eed2c
Prepare changelog for v0.7.6-rc.1
2017-04-07 16:44:20 +01:00
David Baker
5a764bbaa2
Merge pull request #414 from matrix-org/dbkr/indexeddb_save_after_first_sync
...
Make indexeddb save after the first sync
2017-04-07 16:26:03 +01:00
David Baker
ce9e69c9e0
Merge remote-tracking branch 'origin/develop' into dbkr/indexeddb_save_after_first_sync
2017-04-07 16:21:54 +01:00
David Baker
3a74e1f154
Merge remote-tracking branch 'origin/dbkr/indexeddb_webworker_dont_transfer_sync' into dbkr/indexeddb_save_after_first_sync
2017-04-07 16:21:21 +01:00
David Baker
6df4a36da9
Merge pull request #413 from matrix-org/dbkr/indexeddb_webworker_dont_transfer_sync
...
Make indexeddb startup faster
2017-04-07 16:20:44 +01:00
David Baker
4e38b51958
Merge remote-tracking branch 'origin/develop' into dbkr/indexeddb_webworker_dont_transfer_sync
2017-04-07 15:12:54 +01:00
David Baker
b6c036af25
Merge pull request #412 from matrix-org/dbkr/indexeddb_webworker
...
Add ability to do indexeddb sync work in webworker
2017-04-07 15:12:22 +01:00
David Baker
dd789a8dcc
Merge branch 'dbkr/indexeddb_webworker_dont_transfer_sync' into dbkr/indexeddb_save_after_first_sync
2017-04-07 15:10:17 +01:00
David Baker
ca83b858c0
lint
2017-04-07 15:09:42 +01:00
David Baker
0f29952a1c
Smush connect() and init() together
2017-04-07 15:06:38 +01:00
David Baker
e2d7b465ae
Merge branch 'dbkr/indexeddb_webworker' into dbkr/indexeddb_webworker_dont_transfer_sync
2017-04-07 15:01:42 +01:00
David Baker
8985dc2f7e
Update import in example
2017-04-07 14:42:26 +01:00
David Baker
cf1731792c
Add separate import file for indxexeddb worker
...
And removing it from the main one
2017-04-07 14:41:12 +01:00
David Baker
4c200cdd49
lint
2017-04-07 14:26:43 +01:00
David Baker
5c8eacddde
Remove old comment
2017-04-07 12:01:31 +01:00
David Baker
2668177210
Oops, moved the variable
2017-04-07 11:58:16 +01:00
David Baker
62be08f063
Make sure worker setup doesn't race
2017-04-07 11:55:13 +01:00
David Baker
ab2a67a012
Don't try to send Error objects
2017-04-07 11:42:18 +01:00
David Baker
3ceeee7298
Typos
2017-04-07 11:40:21 +01:00
David Baker
2d7576f29b
Doc usage of the webworker class
2017-04-07 11:37:31 +01:00
David Baker
6e25a17afb
Typos
2017-04-07 11:26:52 +01:00
David Baker
0715682a8b
Name IndexedDBStoreWorker consistently
2017-04-07 11:22:07 +01:00
David Baker
cfff30c314
Use once to clean up listener
2017-04-07 11:10:57 +01:00
David Baker
b53318ecb7
Make indexeddb save after the first sync
...
Save the sync data to indexeddb after the first catch-up
Fixes https://github.com/vector-im/riot-web/issues/3527
2017-04-06 18:48:54 +01:00
David Baker
039a3e258b
Make indexeddb startup faster
...
Don't needlessly transfer data from the worker to the main script
only to immediately transfer it right back again.
2017-04-06 18:09:12 +01:00
David Baker
18806e5524
lint
2017-04-06 16:58:13 +01:00
David Baker
0594a8d03a
Don't set the sync token when loading indexeddb
...
Setting the sync token here marks the memory store part as being
synced up to that point, but it isn't because the sync data hasn't
yet been injected into it.
The sync token will be set in the normal way when the cached sync
response is processed, at which point it will be accurate because
the cached sync data will actually have been processed by the sync
code and saved to the memory store.
2017-04-06 16:41:49 +01:00
David Baker
5a575d61b6
Comment really inefficient bit
2017-04-06 16:33:52 +01:00
David Baker
42c3cf2545
Use correct variable name
...
From https://github.com/matrix-org/matrix-js-sdk/pull/401
2017-04-06 16:09:28 +01:00
David Baker
bf6490739d
Fix tests
...
Make setSyncData return promises in a few places and fix all the
places the tests assume that /sync being flushed == the sync
result being processed.
2017-04-06 15:20:50 +01:00
David Baker
9815c0a866
Remove debug exception catching
2017-04-06 11:47:55 +01:00
David Baker
f5f05a9a91
Add ability to do indexeddb sync work in webworker
2017-04-06 11:09:11 +01:00
David Baker
b392656d60
Merge pull request #409 from matrix-org/dbkr/indexeddb_worker_localsplit
...
Move more functionality to the indexeddb backend
2017-04-06 10:58:37 +01:00
David Baker
6737d091fd
Merge pull request #410 from matrix-org/luke/fix-indicate-error-when-reconnecting
...
Indicate syncState ERROR after many failed /syncs
2017-04-05 16:07:53 +01:00
Luke Barnard
9f924c3510
Respond to code review
...
- failedSyncCount -> this._failedSyncCount
- Reset at a point which is more obviously after a successful sync, and add comments to clarify the recursive syncage.
- Sync state will now flip from RECONNECTING to ERROR after FAILED_SYNC_ERROR_THRESHOLD syncs
2017-04-05 09:40:06 +01:00
Luke Barnard
2ea66d2e81
Indicate syncState ERROR after many failed /syncs
...
when a /sync leads to an error, increase a counter and use the counter to decide which state to be in when starting keepAlives. If the count is above a certain threshold (arbitrary 3 chosen here), switch from RECONNECTING to ERROR to show that the server is facing difficulties that aren't affeting is ability to return on /versions.
2017-04-04 18:12:20 +01:00
David Baker
d18c238938
Dangling comma
2017-04-04 16:35:39 +01:00
David Baker
8c92e221a3
long line
2017-04-04 16:29:05 +01:00
David Baker
bafe9c06d4
Move more functionality to the indexeddb backend
...
Now the backend drives the sync accumulator as well. Also moves
the backend out to a separate file.
2017-04-04 16:25:58 +01:00
David Baker
cad6ec854e
Merge pull request #407 from matrix-org/dbkr/indexeddb_refactor_2
...
Further reorganising of indexeddb sync code
2017-04-04 13:13:18 +01:00
David Baker
47a0398b62
Remove other two lines
2017-04-04 10:43:57 +01:00
David Baker
11f5ae3c20
Merge remote-tracking branch 'origin/dbkr/indexeddb_hide_internals' into dbkr/indexeddb_refactor_2
2017-04-04 10:39:23 +01:00
David Baker
61cf853eb5
Merge pull request #406 from matrix-org/dbkr/indexeddb_hide_internals
...
Change interface of IndexedDBStore: hide internals
2017-04-04 10:38:43 +01:00
David Baker
f72884ac19
Spelling
2017-04-04 10:36:31 +01:00
David Baker
b72b38b0a3
Add missed methods to stub/memory store
...
and fix tests
2017-04-03 17:45:58 +01:00
David Baker
6a2465329a
Add jsdoc
2017-04-03 17:12:30 +01:00
David Baker
4cb80588e9
Merge branch 'dbkr/indexeddb_hide_internals' into dbkr/indexeddb_refactor_2
2017-04-03 16:41:02 +01:00
David Baker
753f11e0e9
Stray jsdoc line that didn't get removed
2017-04-03 15:39:08 +01:00
David Baker
c0bd2c8945
Further reorganising of indexeddb sync code
...
* Make sync communicate with the sync accumulator via the store
* Consequently get rid of getSyncAccumulator as it's now
unnecessary.
* Make the bit that gets the saved sync response async, because
we'll need it to be when it's coming over postMessage from a
webworker.
2017-03-31 18:18:53 +01:00
David Baker
aebbe4f254
Change interface of IndexedDBStore: hide internals
...
Hide the IndexedDBBackend and SyncAccumulator objects and have
indexeddbstore instaniate them itself, rather than making the app
instantiate them. Pass the approipriate options through. This
gives us much more flexibility to move things around under the
hood.
2017-03-31 14:53:13 +01:00
David Baker
68948dbaeb
Merge pull request #405 from matrix-org/dbkr/fix_notifs_on_refresh
...
Don't be SYNCING until updating from the server
2017-03-28 15:16:01 +01:00
David Baker
a38917f920
Don't be SYNCING until updating from the server
...
Syncing should probably mean the stream is up to date and
streaming messages in real-time from the server, which is not the
case if we've only loaded the cached response. Stay PREPARED until
we actually get the latest from the server.
2017-03-28 14:57:11 +01:00
Kegsay
f52e198b17
Merge pull request #403 from matrix-org/kegan/dont-log-store-data
...
Don't log the entire /sync response
2017-03-24 15:09:14 +00:00
Kegan Dougal
dec734346b
Don't log the entire /sync response
...
The console will maintain a strong ref to this object, which may exacerbate
memory leaks.
2017-03-24 14:15:35 +00:00
David Baker
a73f10edd4
Merge pull request #402 from matrix-org/rob/webrtc-srcobject
...
webrtc/call: Assign MediaStream to video element srcObject
2017-03-24 14:14:22 +00:00
Robert Swain
59a7232016
webrtc/call: Wrap long line
2017-03-24 15:00:49 +01:00
Robert Swain
d9e6aed9da
webrtc/call: Assign MediaStream to video element srcObject
...
video.src = URL.createObjectURL(stream) is on the way out. Firefox will
complain with errors about not being able to play media of type
"text/html" for example.
2017-03-24 14:53:43 +01:00
David Baker
e4f52dd1c7
Merge pull request #400 from matrix-org/dbkr/fix_requests_null_deref
...
Fix undefined reference in http-api
2017-03-23 15:45:35 +00:00
David Baker
2c1e3416e3
Fix undefined reference in http-api
...
Put the check for 'onprogress' within the check to see if req is
defined, because sometimes it isn't, apparently.
2017-03-23 15:38:15 +00:00
Richard van der Hoff
62090ef119
Merge pull request #382 from fred-wang/master
...
Add copyright header to event-timeline.js
2017-03-22 17:31:34 +00:00
Richard van der Hoff
52ef8a635f
Merge pull request #397 from williamboman/docs/user-global-account-data-event
...
client: fix docs for user-scoped account_data events
2017-03-22 17:10:52 +00:00
William Boman
bf26ccd0a5
client: fix docs for user-scoped account_data events
...
Signed-off-by: William Boman <william@redwill.se >
2017-03-22 18:02:24 +01:00
Richard van der Hoff
5a55b98650
Merge remote-tracking branch 'origin/master' into develop
2017-03-22 16:55:09 +00:00
David Baker
547333c946
Merge pull request #399 from matrix-org/rav/contributing
...
Add a CONTRIBUTING for js-sdk
2017-03-22 16:46:21 +00:00
Kegsay
1ed105cb79
Merge pull request #395 from matrix-org/kegan/memleaks
...
Fix leaking room state objects on limited sync responses
2017-03-22 16:38:42 +00:00
Richard van der Hoff
2ce2928170
Add a CONTRIBUTING for js-sdk
...
... inspired by synapse's.
2017-03-22 16:36:58 +00:00
Kegan Dougal
14727d75ac
Review comments
2017-03-22 15:13:21 +00:00
Kegan Dougal
ccbc0b79b8
Add getter/setter for the callback on the MatrixClient instance rather than a startClient opt for ease of gluing code in
2017-03-22 14:29:59 +00:00
Kegan Dougal
5bee0004b2
Revert test as nothing has changed
2017-03-22 13:51:00 +00:00
Kegan Dougal
86fd42dcb5
linting
2017-03-22 12:01:58 +00:00
Kegan Dougal
1e05e0d6f8
Review comments
2017-03-22 11:56:10 +00:00
David Baker
821e0ed6ce
Merge pull request #396 from matrix-org/dbkr/ui_auth_bg_requests
...
Extend 'ignoreFailure' to be 'background'
2017-03-22 11:56:07 +00:00
David Baker
66ce31f6d6
Add docs.
2017-03-21 18:40:00 +00:00
David Baker
cf486aedbd
Extend 'ignoreFailure' to be 'background'
...
This allows us to also use it to decide whether or not to show
the app as busy in the UI. We pass this flag up into the
makeRequest callback so it can use it as such.
2017-03-21 18:37:08 +00:00
David Baker
1b0f22c4ae
Merge pull request #388 from matrix-org/dbkr/x_show_msisdn
...
Add x_show_msisdn parameter to register calls
2017-03-21 13:41:34 +00:00
Kegan Dougal
55acf21aa6
Linting
2017-03-20 12:06:37 +00:00
Kegan Dougal
dc8a2670ab
Unbreak tests
2017-03-20 12:05:22 +00:00
Kegan Dougal
b666ec1f4d
Fix memory leak on limited room responses
2017-03-20 11:46:50 +00:00
Kegan Dougal
999fc07683
Explain the memory hack
2017-03-20 11:34:50 +00:00
Kegan Dougal
37a186696a
Remove spurious changes
2017-03-20 11:27:59 +00:00
Kegan Dougal
107ef27f69
Remove spurious changes
2017-03-20 11:26:59 +00:00
Kegan Dougal
0c1c10a0e0
WIP memleak fixes (341->295MB)
2017-03-16 18:02:17 +00:00
Richard van der Hoff
89de1f9a01
Merge pull request #394 from matrix-org/luke/redact-keep-sender-ts
...
Update event redaction to keep sender and origin_server_ts
2017-03-16 16:31:34 +00:00
Luke Barnard
602e91da40
Update event redaction to keep sender and origin_server_ts
...
Required for fixing https://github.com/matrix-org/matrix-js-sdk/issues/387
2017-03-16 16:29:55 +00:00
Kegsay
dec4e67135
Merge pull request #393 from matrix-org/kegan/sync-accumulator-limited
...
Handle 'limited' timeline responses in the SyncAccumulator
2017-03-16 13:52:41 +00:00
Kegan Dougal
c30670000d
Handle 'limited' timeline responses in the SyncAccumulator
...
Fixes vector-im/riot-web#3375
2017-03-16 13:20:27 +00:00
David Baker
9d8e81d79c
Merge pull request #391 from matrix-org/dbkr/msisdn_better_error_message
...
Give a better error message if the HS doesn't support msisdn registeration
2017-03-16 12:44:58 +00:00
David Baker
421a35c201
Stray brace
2017-03-16 12:33:24 +00:00
David Baker
fcfc7b6cec
Better doc & throw consistently
2017-03-16 12:02:06 +00:00
Luke Barnard
2f5da3851b
Use XHR onprogress to debounce http._request timeout ( #392 )
...
Instead of just using a timeout to reject ongoing requests, reset the timeout when progress is observed (at least when requests are done from browsers).
This is to fix https://github.com/vector-im/riot-web/issues/2737
2017-03-16 09:50:24 +00:00
David Baker
6c2e8eba1c
Do no-auth-flow error handling more properly
2017-03-15 16:42:57 +00:00
David Baker
c9c3937f4b
Move exception throw into _chooseFlow
2017-03-15 14:33:31 +00:00
David Baker
7777cbf6da
Lint
2017-03-15 14:21:34 +00:00
David Baker
a8a7d327ff
Give a better error message
...
if the HS doesn't support msisdn registeration
2017-03-15 14:14:04 +00:00
David Baker
571fcbe98d
Merge remote-tracking branch 'origin/develop' into dbkr/x_show_msisdn
2017-03-15 11:28:24 +00:00
David Baker
8b4b0e0d39
Save the completed flows ( #389 )
...
Otherwise we get very confused and go back to the start when given
a response with no flows etc.
Only copy data if none of the 3 fields are defined, since that's
more the situation we actually want to handle.
2017-03-15 11:15:35 +00:00
David Baker
c8868a393b
Add x_show_msisdn parameter to rregister calls
...
Request the msisdn stages in the rtegister UI auth, as commented
2017-03-13 17:51:59 +00:00
Matthew Hodgson
49be37dcf9
remove incredibly verbose start/complete sync logging
2017-03-11 15:06:29 +00:00
David Baker
2cd5fe2fec
Support msisdn registration and signin ( #384 )
...
* Functionality for msisdn signin
* Add methods to request tokens from synapse to do msisdn
verification
* Extend interactive-auth to work with m.email.identity (which
is significant since email auth is quite a chunk more complex).
* Oops, fix merge
* Fix lint
* Add submitMsisdnToken
* Support the bind_msisdn param to register
Change the bind_email flag to an object with keys 'email' and
'msisdn', backwards compatibly.
2017-03-09 10:56:50 +00:00
David Baker
b52a674c1a
Merge pull request #383 from matrix-org/dbkr/fix_teamserver
...
Add getEmailSid
2017-03-06 17:57:06 +00:00
David Baker
8f790d406f
Fix lint (add jsdoc)
2017-03-06 09:27:29 +00:00
David Baker
7e2a256229
Add getEmailSid
...
Other places sometimes need to re-use the email sid to send proof
of ownership of a email address to somewhere else.
2017-03-03 17:40:26 +00:00
David Baker
c7a0a560d8
Merge pull request #380 from matrix-org/dbkr/register_ui_auth
...
Add m.login.email.identity support to UI auth
2017-03-03 13:37:35 +00:00
David Baker
1d591034ff
Doc sid param
2017-03-03 10:15:09 +00:00
Frédéric Wang
f5ceaffc5c
Add copyright header to event-timeline.js
2017-03-02 21:27:51 +01:00
David Baker
3c246a97e8
More docs
2017-03-02 14:15:43 +00:00
David Baker
ca395541b6
Backwards compat
2017-03-02 14:09:08 +00:00
David Baker
30d9dec438
Doc error objects pass to stage update
2017-03-02 14:07:25 +00:00
David Baker
ff3606478c
Merge pull request #381 from matrix-org/rob/maybe-fix-glare
...
src/client.js: Fix incorrect roomId reference in VoIP glare code
2017-03-02 13:12:29 +00:00
Robert Swain
72caf1886d
src/client.js: Fix incorrect roomId reference in VoIP glare code
...
MatrixCall has a roomId property, but not a room_id property.
2017-03-02 13:36:49 +01:00
David Baker
bdae9521cb
Copy session ID too
2017-03-01 17:35:18 +00:00
David Baker
cb7fb6c7be
Keep data from response in any case
...
Fix up flows if they're absent
2017-03-01 17:10:08 +00:00
David Baker
a33e4477af
Comment the ignoring of failures
2017-03-01 16:35:37 +00:00
David Baker
d435192e22
Remove unnecesary check
2017-03-01 16:33:55 +00:00
David Baker
9480447637
Comment stageState
2017-03-01 16:09:43 +00:00
David Baker
7dbe852606
Comment why we choose flows
2017-03-01 16:07:31 +00:00
David Baker
d7216f44f5
PR feedback: Move requestEmailToken...
...
...to the UI component (in react-sdk)
2017-03-01 16:02:50 +00:00
Luke Barnard
fdf09d46af
Emit send_event_error when UnknownDeviceError occurs during VoIP operations ( #378 )
2017-03-01 09:13:57 +00:00
David Baker
32360e7473
Lint
2017-02-28 14:13:50 +00:00
David Baker
90482377b7
Fix linting
2017-02-28 14:08:41 +00:00
David Baker
08a3aea1c7
Fix tests
2017-02-28 13:44:44 +00:00
David Baker
6eebd1e957
Ignore failures when polling for auth completion
2017-02-27 17:23:02 +00:00
David Baker
033bd9bbdc
Support polling
...
for out-of-band auth completion
2017-02-24 17:22:57 +00:00
David Baker
af634d3a7d
Add m.login.email.identity support to UI auth
...
Extends the interactive-auth to support m.login.email.identity
This also includes the ability to resume a UI auth session given
the approirpiate information (ie. to resume the auth flow having
click a link in a verification email).
2017-02-24 11:18:21 +00:00
David Baker
d42ce3935b
Merge pull request #379 from aviraldg/develop
...
add .editorconfig
2017-02-21 18:18:51 +00:00
Aviral Dasgupta
7a239c81f7
add .editorconfig
...
Signed-off-by: Aviral Dasgupta <me@aviraldg.com >
2017-02-21 23:40:00 +05:30
David Baker
2b96cd7059
Merge pull request #377 from matrix-org/kegan/indexeddb-account-data
...
Store account data in the same way as room data
2017-02-21 11:57:35 +00:00
Kegan Dougal
36b8b2c679
Unbreak tests. Add UT for account data
2017-02-21 11:51:45 +00:00
Kegan Dougal
69b3be2419
Store account data in the same way as room data
...
Previously, we treated the `MatrixEvents` that were in `this.accountData` in
`MatrixInMemoryStore` as the ground truth and saved those to disk and restored
them back upon load. This did not consider that there are **no emitted events**
when they are restored. Riot-Web was listening for a specific account data
event in order to dynamically update the theme. When the page was reloaded, we
dutifully put the right event in `MatrixInMemoryStore`, but failed to emit an
event to tell Riot-Web this. This led to vector-im/riot-web#3247
This patch fixes it by treating the `/sync` response as the ground truth and
ignoring `this.accountData` entirely. This means that upon load, we will be
injecting an `account_data` key into the initial `/sync` response. This will
cause it to be added to `this.accountData` in the store AND cause the event to
be emitted.
2017-02-21 11:39:34 +00:00
Richard van der Hoff
bbe74e6987
Merge pull request #376 from matrix-org/rav/delay_otk_generation
...
Upload one-time keys on /sync rather than a timer
2017-02-21 08:46:59 +00:00
Richard van der Hoff
98d606fca4
Upload one-time keys on /sync rather than a timer
...
Delay the upload of one-time keys until we have received a sync *without any
to-device messages*. Doing so means that we can try to avoid throwing away our
private keys just before we receive the to-device messages which use them.
Once we've decided to go ahead and upload them, we keep uploading them in
batches of 5 until we get to the desired 50 keys on the server. We then
periodically check that there are still enough on the server.
2017-02-20 16:26:24 +00:00
David Baker
5c4472492a
Un-hardcode home directory in jenkins.sh
2017-02-17 19:28:47 +00:00
David Baker
a5c726eef9
Merge pull request #374 from matrix-org/kegan/sync-frequency
...
Increase the WRITE_DELAY on database syncing
2017-02-17 16:54:51 +00:00
Kegan Dougal
d23d5b50a3
Increase the WRITE_DELAY on database syncing
2017-02-17 16:49:49 +00:00
David Baker
37e507707d
Merge pull request #373 from matrix-org/kegan/delete-all-data-promise
...
Make deleteAllData() return a Promise
2017-02-17 15:11:09 +00:00
David Baker
44d889b99a
Merge pull request #372 from matrix-org/dbkr/room_name_no_banned
...
Don't include banned users in the room name
2017-02-17 15:10:25 +00:00
Kegan Dougal
491092d040
Make deleteAllDate() return a Promise
...
It's required for the 'clear cache' button since we only want to refresh the
page after the transaction has gone through.
2017-02-17 15:03:50 +00:00
David Baker
b296a1dabe
Don't include banned users in the room name
2017-02-17 11:28:28 +00:00
Kegsay
63b8d45ef2
Merge pull request #363 from matrix-org/kegan/indexeddb
...
Support IndexedDB as a backing store
2017-02-17 11:17:57 +00:00
Kegan Dougal
8220fad855
Informative logging given it won't be spammy
2017-02-17 11:14:02 +00:00
Kegan Dougal
5aa146f0a6
Add function to UTs
2017-02-17 10:41:04 +00:00
Kegan Dougal
f8d2661426
Add deleteAllData to the store API
2017-02-17 10:39:30 +00:00
Kegan Dougal
25b8027bd6
Pass in an optional database name to allow for more than one
2017-02-17 10:22:19 +00:00
Kegan Dougal
c93c8a79b7
Add startup() to store API
2017-02-17 10:14:12 +00:00
Kegan Dougal
29336e260c
Merge branch 'develop' into kegan/indexeddb
2017-02-17 09:41:16 +00:00
Richard van der Hoff
29942e5109
Merge pull request #370 from matrix-org/rav/sync_catchup
...
Poll /sync with a short timeout while catching up
2017-02-16 16:31:45 +00:00
Richard van der Hoff
926fee8493
fix typo
2017-02-16 16:16:13 +00:00
Kegan Dougal
eedaacd256
Merge branch 'develop' into kegan/indexeddb
2017-02-16 16:10:56 +00:00
Kegan Dougal
e926aa1bf8
Explain limits on maxTimelineEntries
2017-02-16 15:49:13 +00:00
Richard van der Hoff
597f981fec
Poll /sync with a short timeout while catching up
...
On first connect, or after a disconnection, poll /sync with timeout=0 until
we get no to_device messages back. This will allow us to figure out whether we
have more to_device messages queued up for us on the server, which in turn will
help us fix a bug with clearing out one-time-keys too quickly.
2017-02-16 15:21:24 +00:00
Richard van der Hoff
777fdfbcfa
Correct/improve comments about sync states
2017-02-16 14:03:41 +00:00
Kegan Dougal
aafb587085
Don't break causality when rolling back state
...
We need to use the *previous* state when rolling back or else
causality breaks. Consider the messages:
- m.room.member : Alice
- Alice: 1
- Alice: 2
- m.room.member : Alice -> Bob
- Bob: 3
- Bob: 4
If we roll back 4 messages (to Alice: 2), we want the rolled
back m.room.member value to be "Alice" and NOT Bob. This
means we need to look at the previous state of the m.room.member
event and not the current state.
2017-02-16 12:35:34 +00:00
Kegan Dougal
1eb2576dbe
More copyyright headers on touched files
2017-02-16 11:31:33 +00:00
Kegan Dougal
9a9646d012
Review comments
2017-02-16 11:28:51 +00:00
Richard van der Hoff
8ecb05a094
Merge pull request #368 from matrix-org/rav/fix_coverage
...
Make test coverage work again
2017-02-15 20:40:09 +00:00
Richard van der Hoff
8c8ca0584f
fix package.json
2017-02-15 19:37:40 +00:00
Kegan Dougal
b02ba08abc
Remove debug comments
2017-02-15 16:53:31 +00:00
Richard van der Hoff
75d213f6b3
Make test coverage work again
...
* don't try to run npm under istanbul
* use _mocha instead of mocha because
https://github.com/gotwarlost/istanbul/issues/44#issuecomment-16093330
Also:
* write a text report for better travis
* On jenkins, clear out old coverage reports so that we don't pick up last
time's.
2017-02-15 16:52:19 +00:00
Kegan Dougal
9fdeb7a8e3
Add tests for the SyncAccumulator
2017-02-15 16:21:06 +00:00
David Baker
635b3dbccb
Merge pull request #367 from matrix-org/dbkr/event_sender_docs
...
Add docs to event
2017-02-15 15:01:40 +00:00
David Baker
e42af06609
spelling
2017-02-15 14:53:58 +00:00
David Baker
0416816329
Add docs to event
...
to say that sender won't always be set
2017-02-15 14:27:38 +00:00
David Baker
7f8f216263
Merge pull request #366 from matrix-org/rav/update_synctoken_more_often
...
Keep the device-sync token more up-to-date
2017-02-15 13:10:32 +00:00
Kegan Dougal
69ebcf08fc
Bugfix where, upon refresh, it was impossible to write to the db (clone errors)
2017-02-14 17:28:56 +00:00
Kegan Dougal
cbdb007b26
Persist receipt data
2017-02-14 16:51:27 +00:00
Kegan Dougal
a28c03a2f9
Remove TODO checks and change copyright
...
Manually tested and it appears that Synapse will indeed send
down the complete state upon rejoining a room. \o/
2017-02-14 15:42:53 +00:00
David Baker
94a8915f6c
Merge pull request #365 from matrix-org/rav/fix_devicelist_race_1
...
Fix race conditions in device list download
2017-02-14 10:46:48 +00:00
Richard van der Hoff
be7192082a
Keep the device-sync token more up-to-date
...
Update the sync token whenever the device list is in sync. Fixes
https://github.com/vector-im/riot-web/issues/3127 .
2017-02-13 18:56:49 +00:00
Richard van der Hoff
54297cacd1
Fix race when downloading initial device change list
...
Fixes a problem if the user initiates a device query before the /changes
response comes back.
2017-02-13 18:33:02 +00:00
Richard van der Hoff
82f5997e61
Fix race condition in device list query
...
Fix a race where device list queries completing out-of-order could lead to us
thinking that we were more in-sync than we actually were.
2017-02-13 18:33:02 +00:00
David Baker
4d2bc88305
Merge pull request #364 from matrix-org/dbkr/fix_unban
...
Fix the unban method
2017-02-13 18:06:35 +00:00
David Baker
cd8dfa331a
Fix the unban method
...
Which didn't work because of
https://github.com/matrix-org/synapse/issues/1860
2017-02-13 18:00:28 +00:00
Richard van der Hoff
45d22c6196
Merge pull request #362 from matrix-org/rav/no_freeze_on_device_download
...
Spread out device verification work
2017-02-13 11:54:59 +00:00
Richard van der Hoff
eeed11e283
Fix integ tests
...
Two tweaks:
* `httpBackend.flush()` now returns a value, so we can't pass its result
straight into `done()`.
* In one of the megolm tests, we need to wait for the device query to finish
before marking the relevant device as known. One easy way to do this is
actually to try sending the message first - that will block until the device
query completes.
2017-02-13 11:41:13 +00:00
Richard van der Hoff
476333b3fc
Fix comment typo
2017-02-13 11:28:19 +00:00
Kegan Dougal
c7fdbd1c64
Persist notification counts and treat them as clobbers
2017-02-10 17:15:17 +00:00
Kegan Dougal
0b9bc2a7a7
Remove old (de)serialize stuff. Inline more things
2017-02-10 16:51:55 +00:00
Kegan Dougal
6949b6666e
Revert non-functional changes to other files
2017-02-10 16:13:13 +00:00
Kegan Dougal
a380b6803a
Merge branch 'develop' into kegan/indexeddb
2017-02-10 16:11:05 +00:00
Kegan Dougal
6696c712d3
Bug fixes with the accumualtor
...
- Only take invite_state as there is a Room attached to invite objects
which then fail to be persisted.
- Store empty string state keys!
2017-02-10 15:19:50 +00:00
Kegan Dougal
0d4833d6e3
Make it all work!
2017-02-10 14:27:56 +00:00
Richard van der Hoff
207bce61ad
Spread out device verification work
...
Avoid a big freeze when we process the results of a device query, by splitting
the work up by user.
2017-02-10 13:37:41 +00:00
Richard van der Hoff
0f1d367b80
Merge pull request #361 from matrix-org/rav/moar_uisi_logging
...
Clean up/improve e2e logging
2017-02-10 10:51:19 +00:00
Richard van der Hoff
bf2e6a33c2
Minor post-review tweaks
2017-02-10 10:37:46 +00:00
Richard van der Hoff
b66fed9ae9
Clean up/improve e2e logging
...
In an attempt to make the rageshake logs a bit more useful, try to make the
logging a bit saner. Firstly, make sure we log every decryption failure, and
log it exactly once, rather than in several places. Also record when we receive
megolm keys. Also add some more explicit logging in the sync loop.
2017-02-09 17:36:22 +00:00
Richard van der Hoff
4897287fda
Merge pull request #360 from matrix-org/rav/fix_decrypt_after_keys_arrive
...
Fix decryption of events whose key arrives later
2017-02-09 17:33:45 +00:00
Kegan Dougal
cc1daa5a54
Fix tests due to API breakage
2017-02-09 17:32:23 +00:00
Kegan Dougal
6e7b9472be
Add a save() method to the store interface
...
Originally I just piggy-backed off setSyncToken() but this was]
non-obvious that depending on the store it might do writes to the
database. This was exacerbated by the fact that the save needs to
be done at the "right time" (after sync data is accumulated and
after the sync response has been processed) and setSyncToken was
being called too early.
A save() method fixes both these things.
2017-02-09 17:25:40 +00:00
Richard van der Hoff
e13ed6436e
Fix decryption of events whose key arrives later
...
Re-fixes https://github.com/vector-im/riot-web/issues/2273 .
And test it this time.
2017-02-09 16:12:43 +00:00
Kegan Dougal
db24690d9b
Fix broken tests
2017-02-09 13:37:47 +00:00
Kegan Dougal
3a39fd23c4
Add glue code to hook up the sync accumulator
...
The user of the SDK is responsible for DIing the main components:
let store = new IndexedDBStore(
new IndexedDBStoreBackend(window.indexedDB),
new SyncAccumulator(),
});
await store.startup();
let client = matrix.createClient({store: store});
2017-02-09 12:49:10 +00:00
Richard van der Hoff
d471277031
Merge pull request #359 from matrix-org/rav/remove_redundant_invalidate
...
Invalidate device lists when encryption is enabled in a room
2017-02-09 12:36:02 +00:00
Kegan Dougal
ef57b88343
Remember next_batch tokens in the accumulator. Glue it in to SyncApi
2017-02-09 11:05:16 +00:00
Kegan Dougal
1e3fcdc109
Implement getJSON()
2017-02-09 10:50:31 +00:00
Kegan Dougal
606b9718a3
Implement timeline accumulation
...
Including pruning based on maxTimelineEntries
2017-02-09 10:14:10 +00:00
Kegan Dougal
ab6e30da28
Merge branch 'develop' into kegan/indexeddb
2017-02-09 09:57:36 +00:00
Richard van der Hoff
0baea5c1a6
Invalidate device lists when encryption is enabled in a room
...
Fixes https://github.com/vector-im/riot-web/issues/2672
2017-02-08 23:23:46 +00:00
Richard van der Hoff
bd07310e15
Remove redundant invalidation of our own device list
...
89ced198 added some code which flagged our own device list as in need of an
update. However, 8d502743 then added code such that we invalidate *all* members
of e2e rooms on the first initialsync - which should include ourselves. We can
therefore remove the redundant special-case, which mostly serves to simplify
the tests.
2017-02-08 23:04:23 +00:00
Richard van der Hoff
bf227508ce
matrix-client-crypto.spec: check no outstanding http expectations
2017-02-08 18:17:43 +00:00
Richard van der Hoff
1c1ba58579
Don't force device list download on every message in olm room
...
we only really hit this in the tests, but it's a bit silly to download the
complete device list on every message.
2017-02-08 18:10:01 +00:00
Richard van der Hoff
a73f898bb9
try to make mock-request logging saner
2017-02-08 17:26:45 +00:00
Richard van der Hoff
ee8a52d0c0
Merge pull request #358 from matrix-org/rav/mocha
...
Switch from jasmine to mocha + expect + lolex
2017-02-08 16:50:11 +00:00
Richard van der Hoff
d5e87a537c
Tell eslint we are using mocha rather than jasmine
2017-02-08 16:41:43 +00:00
Richard van der Hoff
18d3786676
Remove jasmine-node
2017-02-08 15:48:53 +00:00
Richard van der Hoff
c906dbad75
jenkins.sh: clean out old reports
2017-02-08 15:14:17 +00:00
Kegan Dougal
db20fc7831
Accumulate current room state
2017-02-08 15:08:38 +00:00
Richard van der Hoff
bd226d94d8
Switch from jasmine to mocha + expect + lolex
...
Much of this transformation has been done automatically:
* add expect import to each file
* replace `not.to` with `toNot`
* replace `to[Not]Be{Undefined,Null}` with equivalents
* replace `jasmine.createSpy(...)` with `except.createSpy`, and `andCallFake`
with `andCall`
Also:
* replace `jasmine.createSpyObj` with manual alternatives
* replace `jasmine.Clock` with `lolex`
2017-02-08 14:32:37 +00:00
Richard van der Hoff
8a487ca1bc
Merge branch 'rav/source_map_support' into develop
2017-02-08 11:35:27 +00:00
David Baker
7b43a34860
Merge pull request #357 from matrix-org/rav/search_no_undefined_keys
...
searchMessageText: avoid setting keys=undefined
2017-02-08 10:58:44 +00:00
David Baker
6a60585123
Merge pull request #355 from matrix-org/rav/realtime_callbacks_this
...
realtime-callbacks: pass `global` as `this`
2017-02-08 10:57:06 +00:00
David Baker
0f7ab32777
Merge pull request #354 from matrix-org/rav/fix_tests_without_olm
...
Make the tests work without olm
2017-02-08 10:55:41 +00:00
Richard van der Hoff
ffeaf2dec0
searchMessageText: avoid setting keys=undefined
...
This doesn't make any difference to the JSON, but it upsets `expect`.
2017-02-08 09:20:23 +00:00
Richard van der Hoff
3277820381
realtime-callbacks: pass global as this
...
We had a test for this, but apparently it wasn't testing it right...
2017-02-08 07:34:30 +00:00
Richard van der Hoff
80d0aadbd0
Install source-map-support in each test
...
This makes exception traces use the source map, which is much more helpful when
debugging.
2017-02-07 22:57:09 +00:00
Richard van der Hoff
d744cecbfa
Make the tests work without olm
...
Olm is an optional dependency, so the tests should work without it.
2017-02-07 22:56:56 +00:00
David Baker
d453813db4
Merge pull request #353 from matrix-org/rav/refactor_e2e_tests
...
Tests: Factor out TestClient and use it in crypto tests
2017-02-06 16:45:52 +00:00
Kegan Dougal
c06ebd1e4a
Implement /sync accumulation for everything but room timelines/state
2017-02-06 16:45:25 +00:00
David Baker
10af2d0560
Merge pull request #352 from matrix-org/rav/device_list_lint
...
Fix some lint
2017-02-06 16:18:48 +00:00
Richard van der Hoff
42f2dafb40
Tests: Factor out TestClient and use it in crypto tests
2017-02-06 10:50:51 +00:00
Richard van der Hoff
6ca7661510
Fix some lint
2017-02-06 10:33:50 +00:00
David Baker
4388cc207f
Merge pull request #351 from matrix-org/rav/sign_source_tarball
...
Make a sig for source tarballs when releasing
2017-02-06 11:32:45 +01:00
David Baker
07f14538e3
Merge pull request #350 from matrix-org/rav/no_merge_prerel
...
When doing a pre-release, don't bother merging to master and develop.
2017-02-06 11:28:46 +01:00
Richard van der Hoff
3d9173a877
Make a sig for source tarballs when releasing
...
When we are doing a signed release, also create a sig for the 'archive' tarball
which github creates for us.
Fixes https://github.com/vector-im/riot-web/issues/3024 .
2017-02-04 11:10:40 +00:00
Richard van der Hoff
cb88f53587
When doing a pre-release, don't bother merging to master and develop.
...
This assumes that we'll eventually do a proper release (or merge the prerel
manually), and saves twiddling the package.json on downstream projects for each
prerelease.
2017-02-04 11:07:14 +00:00
Richard van der Hoff
d76e8be4ff
Merge branch 'release-v0.7.5'
2017-02-04 10:22:04 +00:00
Richard van der Hoff
e8c6002d08
v0.7.5
2017-02-04 10:15:09 +00:00
Richard van der Hoff
d9033812a2
Prepare changelog for v0.7.5
2017-02-04 10:15:02 +00:00
Richard van der Hoff
2e6b93f886
v0.7.5-rc.3
2017-02-03 15:24:28 +00:00
Richard van der Hoff
afc4e145b6
Prepare changelog for v0.7.5-rc.3
2017-02-03 15:24:21 +00:00
Richard van der Hoff
cee243a2a2
prep changelog
2017-02-03 15:21:15 +00:00
Richard van der Hoff
5fd74109ff
Fix device list update
...
s/flushNewDeviceRequests/refreshOutdatedDeviceLists/ - this got fixed on one PR
and apparenlty I failed to merge the changes correctly
2017-02-03 14:29:50 +00:00
Richard van der Hoff
a3cc8eb1f6
Include DeviceInfo in deviceVerificationChanged events
...
... to help the UI update itself
2017-02-03 14:27:08 +00:00
David Baker
bd4de4832c
v0.7.5-rc.2
2017-02-03 13:01:15 +00:00
David Baker
9e74c934a1
Prepare changelog for v0.7.5-rc.2
2017-02-03 13:01:14 +00:00
David Baker
a056d4916a
Prepare changelog for v0.7.5-rc.2
2017-02-03 13:00:26 +00:00
David Baker
31630859a2
Prepare changelog for v0.7.5-rc.2
2017-02-03 12:57:45 +00:00
David Baker
8cb41f6797
Merge remote-tracking branch 'origin/develop' into release-v0.7.5
2017-02-03 12:54:32 +00:00
Richard van der Hoff
c3a8aeca42
Merge pull request #348 from matrix-org/rav/device_list_stream
...
Use the device change notifications interface
2017-02-03 12:49:33 +00:00
Richard van der Hoff
eaa95fb1e5
Merge pull request #347 from matrix-org/rav/rewrite_device_query_logic
...
Rewrite the device key query logic
2017-02-03 12:49:11 +00:00
David Baker
8e6bca34d7
v0.7.5-rc.1
2017-02-03 12:05:50 +00:00
David Baker
1cdffa2c81
Prepare changelog for v0.7.5-rc.1
2017-02-03 12:05:50 +00:00
Kegan Dougal
0e4eebbb39
Add bare bones SyncAccumulator class with comments
2017-02-03 11:42:04 +00:00
Richard van der Hoff
8441589ce6
Merge pull request #336 from matrix-org/matthew/blacklist-unverified
...
Support for blacklisting unverified devices, both per-room and globally
2017-02-03 10:26:59 +00:00
David Baker
b52ba89cec
Merge pull request #349 from matrix-org/matthew/track-event-error2
...
track errors when events can't be sent
2017-02-03 09:35:24 +00:00
Matthew Hodgson
b99e1205c4
track errors when events can't send
2017-02-03 00:44:12 +00:00
Richard van der Hoff
8d502743a5
Refresh device list on startup
...
On initialsync, call the /keys/changes api to see which users have updated
their devices. (On failure, invalidate all of them).
2017-02-03 00:33:56 +00:00
Richard van der Hoff
732a764ec6
Refactor crypto initialsync handling
...
Pass a store into the Crypto object so that it doesn't need to make assumptions
about the EventEmitter, and use the new metadata on sync events to distinguish
between initialsyncs and normal syncs
2017-02-03 00:33:54 +00:00
Richard van der Hoff
9975786bac
Store the token corresponding to the last device update in localstorage
...
... so that we can, in future, use it when restarting the client.
2017-02-03 00:32:24 +00:00
Richard van der Hoff
89ef4aa6e7
Handle device change notifications from /sync
...
When we get a notification from /sync that a user has updated their device
list, mark the list outdated, and then fire off a device query.
2017-02-03 00:32:16 +00:00
Richard van der Hoff
7e82ac3620
Merge branch 'develop' into rav/rewrite_device_query_logic
2017-02-03 00:12:46 +00:00
Richard van der Hoff
c3440c506c
Address review comments
...
Update some comments, and s/flushNewDeviceRequests/refreshOutdatedDeviceLists/.
2017-02-03 00:10:13 +00:00
Richard van der Hoff
f16ef93cc3
package.json: Add .babelrc to files
...
... in the hope that this will mean it gets included when `npm install`ing
matrix-js-sdk into riot-web, and hence stopping babel picking up riot-web's
.babelrc.
2017-02-02 22:14:24 +00:00
Matthew Hodgson
b6f3fc5466
Merge branch 'develop' into matthew/blacklist-unverified
2017-02-02 22:02:22 +00:00
Richard van der Hoff
6690f59410
Merge pull request #346 from matrix-org/rav/factor_out_devicelist
...
Factor out device list management
2017-02-02 19:40:27 +00:00
Richard van der Hoff
65e08b9633
Fix copyright
2017-02-02 19:39:40 +00:00
Matthew Hodgson
2e916e63f5
Merge pull request #335 from matrix-org/matthew/warn-unknown-devices
...
Support for warning users when unknown devices show up
2017-02-02 18:08:39 +00:00
Kegan Dougal
f531b9fb21
Linting
2017-02-02 17:47:35 +00:00
Kegan Dougal
9581e48bcb
Load/Store account data events
2017-02-02 17:41:49 +00:00
Kegan Dougal
ad9d58ebc2
Persist User objects. Back out everything else.
...
We can reasonable persist User and account data objects. Other
objects get into horrible circular loops. We'll rethink how this
is being done.
2017-02-02 17:25:20 +00:00
Kegan Dougal
896fc5a3f0
Periodically update the database
...
Triggered by /sync responses, rather than timers, but with a minimum
delay time (1m).
2017-02-02 14:54:07 +00:00
Richard van der Hoff
94addb6315
Rewrite the device key query logic
...
Only permit one query per user at a time.
2017-02-02 13:49:43 +00:00
Kegan Dougal
2c6d4c5a5c
Implement deserialize() on all parts of the object graph
2017-02-02 12:38:03 +00:00
Richard van der Hoff
f81d6b6157
Factor out device list management
...
crypto/index.js was getting huge, so move the device list update management out
to a separate file.
This shouldn't have any effect on functionality.
2017-02-02 10:18:30 +00:00
Kegan Dougal
ef17214ae2
Add remaining load functions
2017-02-02 10:18:09 +00:00
Matthew Hodgson
5d544c773d
Merge branch 'develop' into matthew/warn-unknown-devices
2017-02-01 22:35:25 +00:00
Kegan Dougal
721b9df35d
Add deserialize() static functions for User and MatrixEvent
...
The intent here is to make it possible to repopulate User objects from an
IndexedDB object store, which stores things according to the structured-clone
algorithm. We can't just `Object.assign` everything because it would assign
JSON objects to fields which should be classes (eg `MatrixEvent`).
2017-02-01 10:35:55 +00:00
David Baker
526fbfa8f1
Merge pull request #345 from matrix-org/rav/browserify_sourcemaps
...
Enable sourcemaps in browserified distro
2017-02-01 10:14:58 +00:00
Kegan Dougal
0317830b12
Check for a deserialize() function
2017-02-01 09:49:55 +00:00
Kegan Dougal
dfd8c56838
Factor out upsert. Check for serialize() function on inserted objects
2017-02-01 09:42:20 +00:00
Richard van der Hoff
b7e33b237b
Update browserify
...
... to a more recent release, for compatibility with sourceify.
2017-02-01 00:50:22 +00:00
Kegan Dougal
025cb8bd91
Repopulate as User objects, not JSON objects
2017-01-31 17:33:12 +00:00
Kegan Dougal
fa89f2be77
Start loading content from IndexedDB. Add idealised usage example.
2017-01-31 16:53:26 +00:00
Kegan Dougal
bf008a1bee
Fix build and add stub store connect()
2017-01-31 16:33:43 +00:00
Kegan Dougal
8656ad584b
Introduce the concept of IndexedDBStoreBackend
...
So IndexedDBStore can meet the Store interface and we don't need to mess
with the guts of MatrixInMemoryStore.
2017-01-31 16:08:05 +00:00
Kegan Dougal
e316a9a5b3
Merge branch 'develop' into kegan/indexeddb
2017-01-31 15:04:43 +00:00
Richard van der Hoff
7e3a146240
Enable sourcemaps in browserified distro
...
* use sourceify to read the sourcemaps written by babel
* use {browserify, watchify} -d to write sourcemap
* use exorcist to write the sourcemap to a separate file
* add some uglifyjs incantations to read and write sourcefiles
* simples
2017-01-30 19:00:51 +00:00
Richard van der Hoff
2395d2856b
Merge pull request #344 from matrix-org/rav/allow_e2e_options
...
Record all e2e room settings in localstorage
2017-01-30 16:26:23 +00:00
David Baker
34ae473e6f
Merge pull request #340 from matrix-org/rav/allow_olm_with_browserify
...
Make Olm work with browserified js-sdk
2017-01-30 15:05:22 +00:00
Richard van der Hoff
656c54ead9
Record all e2e room settings in localstorage
...
I can't quite remember what the logic behind only recording the algorithm in
localstorage was, but the upshot is that if you try to set any e2e config
options (such as the megolm rotation periods) via the room state, then the
state gets rejected and you can't send any events.
2017-01-30 11:40:09 +00:00
Richard van der Hoff
c6e21c9c5c
Make Olm work with browserified js-sdk
...
We want to avoid distributing olm as part of the js-sdk, so we exclude it from
the browserified build. Previously this meant that you couldn't use olm this
way.
We can do better though: if the web page includes olm.js via a separate script
tag, that will set global.Olm, which we can get browserify to shim in.
2017-01-28 15:35:55 +00:00
Richard van der Hoff
e71e32122c
Merge pull request #339 from matrix-org/rav/no_require_browserify
...
Make browserify a dev dependency
2017-01-26 17:20:47 +00:00
Kegan Dougal
522105a858
First cut
2017-01-26 16:57:59 +00:00
Richard van der Hoff
e3b008e19a
Make browserify a dev dependency
2017-01-26 16:40:19 +00:00
Kegan Dougal
776cfed2b3
Merge branch 'develop' into kegan/indexeddb
2017-01-26 14:29:30 +00:00
Richard van der Hoff
85cf2a3692
Fix lint
2017-01-26 13:29:56 +00:00
Richard van der Hoff
c9b700ef6a
Merge branch 'matthew/warn-unknown-devices' into matthew/blacklist-unverified
2017-01-26 13:25:10 +00:00
Richard van der Hoff
34fde7d16d
Store device 'known' status in session store
2017-01-26 13:15:50 +00:00
Matthew Hodgson
5911c4d2db
don't automatically mark devices as known; require the app to do it
2017-01-25 23:53:51 +01:00
Matthew Hodgson
dfae72e9af
Merge branch 'matthew/warn-unknown-devices' of git+ssh://github.com/matrix-org/matrix-js-sdk into matthew/warn-unknown-devices
2017-01-25 23:35:23 +01:00
Richard van der Hoff
085493d580
Fix tests
2017-01-25 14:59:14 +00:00
Richard van der Hoff
5245c7f2ab
Merge remote-tracking branch 'origin/develop' into matthew/warn-unknown-devices
2017-01-25 11:03:23 +00:00
Richard van der Hoff
4ccd649358
Address my own review comments
2017-01-25 11:02:49 +00:00
Richard van der Hoff
32f42d59b1
Merge pull request #338 from matrix-org/dbkr/brace_style_allow_single_line
...
Allow single line brace-style
2017-01-23 14:54:18 +00:00
David Baker
ca618f2bf2
Allow single line brace-style
...
As we sometimes use (x) => {foo = x;}, especially for react
components, but probably no reason not to allow it generally.
2017-01-23 14:18:09 +00:00
Richard van der Hoff
a0ae0b3922
Merge pull request #333 from matrix-org/dbkr/comma_dangle_function
...
Turn on comma-dangle for function calls
2017-01-23 10:44:56 +00:00
David Baker
a09329949a
Make comma dangle an error
...
& put max warnings back down
2017-01-23 10:18:22 +00:00
David Baker
b67e360302
Run the test code through babel
...
Needs it now we use dangling commas on functio calls because
node doesn't like that
2017-01-23 10:08:59 +00:00
Matthew Hodgson
3d30ad843f
make it work
2017-01-22 01:29:33 +01:00
Matthew Hodgson
d37935dd78
actually consider _crypto.getGlobalBlacklistUnverifiedDevices
2017-01-21 17:51:48 +00:00
Matthew Hodgson
512d5882c9
track whether we blacklist unverified devices per-room & globally
2017-01-21 17:38:35 +00:00
Matthew Hodgson
247deacbb7
some incoherent jottings on the warning semantics
2017-01-21 17:36:26 +00:00
Matthew Hodgson
e79926db6c
fix lint
2017-01-21 05:26:01 +00:00
Matthew Hodgson
34a0bd4c38
oops, unbreak it
2017-01-21 05:13:12 +00:00
Matthew Hodgson
fb820fa9a7
experimental support for warning users when unknown devices show up in a room.
...
hopefully a step towards fixing https://github.com/vector-im/riot-web/issues/2143
2017-01-21 05:10:51 +00:00
David Baker
423175f539
eslint --fix for dangley commas on function calls
2017-01-20 16:12:02 +00:00
David Baker
007848c42e
Turn on comma-dangle for function calls
...
Our code style mandates this, but it's not the default.
Also use the babel-eslint parser because the standard one doesn't
support dangling commas on functions.
2017-01-20 12:42:57 +00:00
Richard van der Hoff
49e6fd3c60
Merge pull request #331 from matrix-org/dbkr/prefer_const
...
Add prefer-const
2017-01-19 18:28:13 +00:00
David Baker
80129e7483
Fix last prefer-const, decrease max warnings
...
and make prefer-const an error
2017-01-19 18:24:28 +00:00
David Baker
dc74a2326f
Fix some more consts
2017-01-19 18:11:09 +00:00
David Baker
fc0117869d
Update max warnings
2017-01-19 17:44:48 +00:00
David Baker
7bca05af64
eslint ---fix for prefer-const
2017-01-19 17:42:10 +00:00
David Baker
9b354ba99e
Merge remote-tracking branch 'origin/develop' into dbkr/prefer_const
2017-01-19 17:05:54 +00:00
Richard van der Hoff
194fad7445
Stop linting on npm install
...
It's annoying to run the linter on npm install, because it slows down the
react-sdk and riot-web builds.
The fact that `npm install` runs `prepublish` is going to be changed in npm 4
(see https://github.com/npm/npm/pull/14290 ), but for now this is the best bet.
2017-01-19 11:13:51 +00:00
Richard van der Hoff
18001dc539
jenkins.sh: stop if npm i fails
...
(There is no point going on)
2017-01-19 10:50:28 +00:00
Richard van der Hoff
78031f2c04
Merge pull request #326 from matrix-org/rav/megolm_export
...
Support for importing and exporting megolm sessions
2017-01-19 03:04:35 +00:00
Richard van der Hoff
07261fa5d9
Bump to Olm 2.2.1
2017-01-19 02:53:49 +00:00
David Baker
aa4ffc7bda
Add prefer-const
...
Our code style says we prefer consts, so add it to the linter.
2017-01-18 15:53:08 +00:00
David Baker
cee7f7a280
Merge pull request #329 from matrix-org/kegan/eslint2
...
Fix linting on all tests
2017-01-17 09:55:37 +00:00
David Baker
c7f173bbb2
v0.7.4
2017-01-16 13:12:18 +00:00
David Baker
118bd75a68
Prepare changelog for v0.7.4
2017-01-16 13:12:18 +00:00
David Baker
9a593f147f
Fix non-screensharing calls
2017-01-16 13:12:18 +00:00
David Baker
dfcbdeb002
v0.7.4-rc.1
2017-01-16 13:12:18 +00:00
David Baker
df20365a6d
Prepare changelog for v0.7.4-rc.1
2017-01-16 13:12:18 +00:00
David Baker
9c6973a46a
v0.7.4
2017-01-16 13:03:35 +00:00
David Baker
b439be8fb5
Prepare changelog for v0.7.4
2017-01-16 13:03:34 +00:00
David Baker
edaf84a78f
Fix non-screensharing calls
2017-01-16 12:28:52 +00:00
Kegan Dougal
056ed3b3c4
Reduce max warnings
2017-01-16 10:31:00 +00:00
Kegan Dougal
317898d41c
Fix linting on all tests
...
Manually.
2017-01-16 10:28:51 +00:00
Richard van der Hoff
c8b26eeac4
Support for importing megolm session keys
2017-01-14 00:45:03 +00:00
Richard van der Hoff
766d8f0ba4
Support for exporting megolm session data
2017-01-14 00:45:03 +00:00
Kegan Dougal
e159e504fa
Use ev.target.result for consistency
2017-01-13 17:57:41 +00:00
Kegan Dougal
8bcb048f53
Very rough WIP of an IndexedDBStore
2017-01-13 16:22:59 +00:00
David Baker
0fa9f7c609
Merge pull request #325 from matrix-org/kegan/fix-eslint
...
Fix ESLint warnings and errors
2017-01-13 15:07:09 +00:00
David Baker
c24b580165
Merge pull request #324 from matrix-org/kegan/rm-webstorage
...
BREAKING CHANGE: Remove WebStorageStore
2017-01-13 14:58:53 +00:00
Kegan Dougal
cc39ede920
Reduce max warnings and fix lint errors
2017-01-13 14:36:48 +00:00
Kegan Dougal
7a4ef7b257
Merge branch 'kegan/rm-webstorage' into kegan/fix-eslint
2017-01-13 14:35:01 +00:00
Kegan Dougal
8c52870e07
Dummy commit
2017-01-13 12:03:44 +00:00
Kegan Dougal
922dd6cf9c
Merge branch 'kegan/rm-webstorage' into kegan/fix-eslint
2017-01-13 11:57:48 +00:00
Kegan Dougal
9633532dd4
Bump to node 6 to fix 'SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode'
2017-01-13 11:57:33 +00:00
Kegan Dougal
5abf6b9f20
Manually patch up files which were formatted wrong
...
`eslint --fix` expands `if` statements incorrectly (wrong indentation).
2017-01-13 11:50:00 +00:00
Kegan Dougal
478550ec93
Not sure how this ever worked, but fix it since it wasn't working
2017-01-13 11:03:00 +00:00
David Baker
bb7c9b2227
v0.7.4-rc.1
2017-01-13 10:57:51 +00:00
David Baker
8538d7881a
Prepare changelog for v0.7.4-rc.1
2017-01-13 10:57:50 +00:00
Kegan Dougal
5f28bc4468
Fix errors (line limits)
2017-01-13 10:55:17 +00:00
Kegan Dougal
7ed65407e6
Pass through eslint --fix
2017-01-13 10:49:32 +00:00
Kegan Dougal
97e421306b
Remove UTs
2017-01-13 10:47:20 +00:00
Kegan Dougal
1ce9e7c6bb
BREAKING CHANGE: Remove WebStorageStore
...
This will be replaced with an IndexedDB style solution. Maintaining 2 different
persistent stores is not my idea of fun.
2017-01-13 10:44:20 +00:00
David Baker
df4ae597a5
Include eslint config files in distribution
...
Otherwise linting will fail if you try to run it
2017-01-12 16:54:49 +00:00
David Baker
8c512bce9e
Use less ancient version of node
...
ESLint errors with old node (at least without --harmony) so use
a more sensible version
2017-01-12 16:20:49 +00:00
David Baker
4775010452
Be quiet npm
...
we don't need the commands you're running in the xml file
2017-01-12 16:07:44 +00:00
David Baker
03f4b15c61
Merge pull request #321 from matrix-org/dbkr/dont_polyfill
...
Remove babel-polyfill
2017-01-12 15:56:57 +00:00
David Baker
d8c23c0dcb
Merge pull request #320 from matrix-org/dbkr/build_process_es6
...
Update build process for ES6
2017-01-12 15:50:35 +00:00
David Baker
4ab261b89f
Add eslint:recommends
...
Turn off / tweak some options from it. Fix a double-definition.
Add an eslint config to the spec directory to tell it about the
jasmine magic globals.
2017-01-12 15:05:42 +00:00
David Baker
e057956ede
Add google eslint rules as a base
...
Remove some we don't care about. Set some other ones we do care
about but don't currently adhere to to warn. Set the max warnings
threshold to the current number of warnings, so we don't introduce
more of them. Fix a bunch of legit lint errors and add exceptions
to various places in the test code that does funny things with
'this'.
2017-01-12 14:35:58 +00:00
David Baker
543b9cf0ce
Run lint on prepublish, not build
...
and make everything errors, so now you can do local builds with
lint failures, but CI will fail and you can't release.
2017-01-12 12:57:24 +00:00
David Baker
591b56d794
it's build now, not compile
2017-01-12 12:55:50 +00:00
David Baker
7f8375d864
Lint spec as well as src
2017-01-12 12:51:59 +00:00
David Baker
31af4bbeb5
Fix jsdoc errors in spec/
2017-01-12 12:51:22 +00:00
David Baker
0a11404be2
Fix legitimate JSDoc errors
2017-01-12 11:46:07 +00:00
David Baker
ff723980ac
Add exceptions to eslintrc for JSDoc
...
To allow things we've been OK about previously
2017-01-12 11:26:17 +00:00
David Baker
0dfd60ad5e
Merge compile target into build
2017-01-11 19:02:25 +00:00
David Baker
18f57a2100
Remove babel-polyfill
...
react-sdk's tests are failing because babel-polyfill is being
pulled in twice.
As per https://babeljs.io/docs/usage/polyfill/ babel-polyfill is
"intended to be used in an application rather than a library/tool".
From a library, we're limited to things that don't modify globals,
since the js env is not ours to start screwing around with.
2017-01-11 18:52:49 +00:00
David Baker
9b5cb3a631
Update build process for ES6
...
* Make npm run build run npm compile (it needs the output)
* Switch to ESlint so we can actually use ES6 without the linter
crying.
2017-01-11 18:11:47 +00:00
David Baker
09e4e4709f
Merge pull request #319 from matrix-org/dbkr/babel_is_not_a_package
...
'babel' is not a babel package anymore
2017-01-11 17:35:57 +00:00
David Baker
00895f00e6
Empty commit to force rebuild
2017-01-11 17:30:15 +00:00
David Baker
c57be7b966
'babel' is not a babel package anymore
...
and so is just redundant as you have babel-cli which is what you
actually want.
2017-01-11 17:17:19 +00:00
Kegsay
51d94e63f4
Merge pull request #318 from matrix-org/kegan/es6
...
Add Babel for ES6 support
2017-01-11 11:47:19 +00:00
Kegan Dougal
6daeec838f
Add start script
2017-01-11 11:25:24 +00:00
Kegan Dougal
53f23939c1
Review comments
2017-01-11 10:59:33 +00:00
Kegan Dougal
0bbec9e182
Appease linters
2017-01-11 10:40:20 +00:00
Kegan Dougal
101970dcd9
Merge branch 'develop' into kegan/es6
2017-01-11 10:35:01 +00:00
Kegan Dougal
6644151d19
Add babel-polyfill to include more ES6 goodies
2017-01-11 10:32:52 +00:00
Kegan Dougal
548ffdced1
es2015 not env
2017-01-11 10:27:51 +00:00
Kegan Dougal
cba4b24b23
Add /lib to ignore as with react SDK
2017-01-11 10:24:31 +00:00
Kegan Dougal
3e922c2d41
Add babel dep and config
2017-01-11 10:19:46 +00:00
Kegan Dougal
ae6a409cc2
Move /lib to /src
2017-01-11 10:09:04 +00:00
David Baker
94d79edbd0
Merge pull request #317 from matrix-org/dbkr/move_screen_sharing_error
...
Move screen sharing check/error
2017-01-11 10:08:12 +00:00
David Baker
4dc331d629
Move screen sharing check/error
...
Because the https check only applies in the browser
2017-01-10 18:36:54 +00:00
David Baker
18131735d7
Cheekily fix screen sharing with audio
2017-01-10 14:24:09 +00:00
Richard van der Hoff
2a51e7a665
Merge pull request #316 from matrix-org/kegan/release-script-dies-if-uncommitted-changes
...
release.sh: Bail early if there are uncommitted changes
2017-01-04 14:05:23 +00:00
Kegan Dougal
df7ac77113
Review comments
2017-01-04 13:57:51 +00:00
Kegan Dougal
1b222249c4
Reset ret before reusing it
2017-01-04 11:56:01 +00:00
Kegan Dougal
126967cb90
release.sh: Bail early if there are uncommitted changes
2017-01-04 11:47:33 +00:00
Kegan Dougal
2afa381cae
Merge branch 'master' into develop
2017-01-04 11:34:24 +00:00
Kegan Dougal
05cbc217a0
Add more docs to explain how to do releases
2017-01-04 11:27:34 +00:00
Kegan Dougal
54eec40d20
v0.7.3
2017-01-04 11:25:43 +00:00
Kegan Dougal
3ab34f911b
Prepare changelog for v0.7.3
2017-01-04 11:25:42 +00:00
Kegan Dougal
d6e4d0a417
Remove RELEASING.md
...
vdh says it is out of date and is misleading and should be removed, so removing it.
2017-01-04 11:16:59 +00:00
Kegan Dougal
fac40f5183
Styling and ES5 only
2017-01-04 11:10:24 +00:00
Kegsay
ce684a6628
Merge pull request #310 from Deadid/develop
...
User presence list feature
2017-01-04 10:38:09 +00:00
Richard van der Hoff
14fac241f7
bump to olm 2.1.0
2016-12-23 14:36:22 +00:00
Sergiy Makhov
335579e250
Changed paramater type to string array. Removed bad doc
2016-12-23 08:51:41 +02:00
Kegsay
c8565be3a5
Merge pull request #313 from matrix-org/kegan/timeouts-for-everyone
...
Allow clients the ability to set a default local timeout
2016-12-22 17:17:25 +00:00
Kegan Dougal
76e76269cf
Review comments
2016-12-22 17:09:41 +00:00
Kegan Dougal
3c43e2718d
More JSDoc
2016-12-22 17:07:52 +00:00
Kegan Dougal
f2676772c8
Allow clients the ability to set a default local timeout
...
Will be used to fix matrix-org/matrix-appservice-irc#328
2016-12-22 16:54:42 +00:00
David Baker
c9bf4270fc
Merge pull request #312 from matrix-org/dbkr/delete_threepid
...
Add API to delete threepid
2016-12-22 15:06:54 +00:00
David Baker
41ddb7660b
Add doc details
2016-12-22 15:01:20 +00:00
Luke Barnard
b3e93ffadf
Add getDate function to MatrixEvent ( #311 )
...
* Add `getDate` function to MatrixEvent
`getDate` can be used to get the timestamp of the event as a `Date` instance.
Adds handleRemoteEcho function to be called on change of internal event of MatrixEvent, so that the internal `_date` can be updated when a remote echo replaces a local one.
2016-12-22 14:07:26 +00:00
David Baker
582576b1c3
Add API to delete threepid
...
Uses https://github.com/matrix-org/synapse/pull/1714
2016-12-21 18:48:42 +00:00
David Baker
456135a6ec
get latest changes after updating changelog
2016-12-16 17:39:24 +00:00
Luke Barnard
c7357952ec
v0.7.2
2016-12-15 17:37:22 +00:00
Luke Barnard
b796246d9d
Prepare changelog for v0.7.2
2016-12-15 17:37:22 +00:00
Sergiy Makhov
598e48e39b
User presence list feature
2016-12-15 13:22:25 +02:00
Richard van der Hoff
2e3c349c5e
Merge pull request #309 from matrix-org/rav/fix_olm_import
...
Bump to Olm 2.0
2016-12-14 18:59:13 +00:00
Richard van der Hoff
7f4ff352e8
Merge pull request #307 from matrix-org/rav/check_payload_length
...
Sanity check payload length before encrypting
2016-12-14 14:34:02 +00:00
Richard van der Hoff
b11bff5a5b
Bump to Olm 2.0
...
... since the code requires it. Also update the tests.
2016-12-14 14:15:31 +00:00
Richard van der Hoff
223bd459f6
Merge pull request #308 from matrix-org/rav/remove_dead_ohai
...
Remove dead _sendPingToDevice function
2016-12-14 13:56:12 +00:00
Richard van der Hoff
ed1673c66c
Remove dead _sendPingToDevice function
...
This is no longer used; remove it.
2016-12-14 12:38:33 +00:00
Richard van der Hoff
0fda43b603
Sanity check payload length before encrypting
...
... to give better error messages.
2016-12-14 11:54:35 +00:00
David Baker
d3b63c592e
Set GIT_COMITTER_EMAIL
...
so the release tag verifies correctly
2016-12-12 15:37:09 +00:00
Luke Barnard
a32af7d77c
Merge pull request #306 from matrix-org/luke/feature-AS-room-publication
...
Add setRoomDirectoryVisibilityAppService
2016-12-12 14:20:43 +00:00
Luke Barnard
742d942baa
Add setRoomDirectoryVisibilityAppService
...
This is for setting the publicity of a room that is bridged to a 3rd party network. This change reflects the second bullet point of https://github.com/matrix-org/synapse/pull/1676#issue-193810881 .
2016-12-12 13:52:44 +00:00
David Baker
73e86bfc5d
Don't depend on having a build_dir
...
to get latest changes
2016-12-09 20:17:25 +00:00
David Baker
0a4c41c958
Merge branch 'master' into develop
2016-12-09 19:30:15 +00:00
David Baker
79a699f0be
v0.7.1
2016-12-09 19:29:13 +00:00
David Baker
4a2e6a826b
Prepare changelog for v0.7.1
2016-12-09 19:29:12 +00:00
David Baker
95f56f95ec
Merge pull request #305 from matrix-org/dbkr/signed_releases
...
Update release script to do signed releases
2016-12-09 19:22:01 +00:00
David Baker
67e75fb7af
Invoke changelog_head from outside the pushd
...
so we know the relative path is right
2016-12-09 19:19:40 +00:00
David Baker
ebda89d1ae
Add changelog_head.py
2016-12-09 17:34:11 +00:00
David Baker
5ce5299651
Update release script to do signed releases
...
if a signing ID is set in release_config.yaml
Also set the release text to the relevant changelog entry
2016-12-09 17:04:19 +00:00
David Baker
41bd518182
Merge pull request #304 from matrix-org/rav/await_pending_downloads
...
e2e: Wait for pending device lists
2016-12-08 18:41:53 +00:00
Richard van der Hoff
739e94302d
fix test fail
2016-12-08 18:06:22 +00:00
Richard van der Hoff
e54541aecf
e2e: Wait for pending device lists
...
When we send a megolm message, wait for any existing key download to complete.
2016-12-08 16:37:29 +00:00
Richard van der Hoff
338c707579
Merge pull request #303 from matrix-org/rav/new_session_after_blacklist
...
Start a new megolm session when devices are blacklisted
2016-12-08 16:08:27 +00:00
Richard van der Hoff
301ab01911
Start a new megolm session when devices are blacklisted
...
If we have shared the session with a device which is subsequently blacklisted,
we need to start a new session for the next message.
Rather than doing this proactively (which would be subject to false-positives
and require slightly awkward tracking of who we had shared the session with),
we check the list of who we have shared the session with on each send, and
start a new session if any of them are blocked.
Fixes https://github.com/vector-im/riot-web/issues/2146 .
2016-12-08 13:39:58 +00:00
Richard van der Hoff
99089c0f5f
Merge pull request #302 from matrix-org/rav/send_to_our_devices
...
E2E: Download our own devicelist on startup
2016-12-07 11:43:24 +00:00
Richard van der Hoff
ec124847d7
Test for self-keyshare
...
Make sure that we share keys with our own devices.
2016-12-07 11:14:36 +00:00
Richard van der Hoff
89ced19874
E2E: Download our own devicelist on startup
...
Make sure we get a list of our own devices when starting a new client.
Fixes https://github.com/vector-im/riot-web/issues/2676 .
2016-12-06 17:09:21 +00:00
David Baker
f997b4a1d5
v0.7.1-rc.1
2016-12-05 17:43:39 +00:00
David Baker
def99728e7
Prepare changelog for v0.7.1-rc.1
2016-12-05 17:43:39 +00:00
David Baker
fab234dccb
Merge pull request #300 from matrix-org/rav/handle_no_session_store
...
Avoid NPE when no sessionStore is given
2016-11-30 11:06:17 +00:00
Richard van der Hoff
0c0572948e
Avoid NPE when no sessionStore is given
...
Fix the check on opts.sessionStore to check for undefined as well; fixes
"TypeError: Cannot read property 'getEndToEndAccount' of undefined"
2016-11-30 10:48:40 +00:00
David Baker
a4e281265f
Merge pull request #299 from matrix-org/rav/improve_decryption_errors
...
Improve decryption error messages
2016-11-24 14:55:48 +00:00
Richard van der Hoff
ce71de0d78
Improve decryption error messages
...
Attempt to make the decryption errors less obscure
2016-11-24 14:51:35 +00:00
Matthew Hodgson
c5afcaeaf7
Merge branch 'release-v0.7.0'
2016-11-19 01:56:11 +02:00
Matthew Hodgson
889bfce65d
v0.7.0
2016-11-19 01:52:52 +02:00
Matthew Hodgson
1f33d76e87
Prepare changelog for v0.7.0
2016-11-19 01:52:51 +02:00
Matthew Hodgson
d8de23228f
actually speak valid git in release.sh
2016-11-19 01:51:19 +02:00
Matthew Hodgson
579218aafc
correctly crash out if jq or hub are missing
2016-11-19 01:25:36 +02:00
Richard van der Hoff
aefdacc566
Merge pull request #297 from matrix-org/rav/better_new_device_handling
...
Avoid a packetstorm of device queries on startup
2016-11-17 17:42:51 +00:00
Richard van der Hoff
d619495136
Merge pull request #295 from matrix-org/rav/handle_errors_on_key_share
...
E2E: Check devices to share keys with on each send
2016-11-17 17:40:20 +00:00
Richard van der Hoff
036d1da013
Avoid a packetstorm of device queries on startup
...
Two main changes here:
* when we get an m.new_device event for a device we know about, ignore it
* Batch up the m.new_device events received during initialsync and spam out
all the queries at once.
2016-11-17 16:23:24 +00:00
Richard van der Hoff
4ba8e7e072
Merge pull request #296 from matrix-org/rav/unknown_keyshare_mitigations
...
Apply unknown-keyshare mitigations
2016-11-17 14:54:41 +00:00
Richard van der Hoff
f6830992ea
Apply unknown-keyshare mitigations
...
Now that the mobile clients have been updated to send the right fields, enforce
their correctness on the recipient side.
2016-11-16 22:39:08 +00:00
Richard van der Hoff
769a0cb76f
Check devices to share keys with on each send
...
Instead of trying to maintain a list of devices we need to share with, just
check all the devices for all the users on each send.
This should fix https://github.com/vector-im/vector-web/issues/2568 , and
generally mean we're less likely to get out of sync.
2016-11-16 22:24:11 +00:00
Richard van der Hoff
766e837775
Factor out ensureOlmSessionsForDevices
...
... and move to olmlib
2016-11-16 21:21:57 +00:00
Richard van der Hoff
749f53a22b
Merge pull request #294 from matrix-org/rav/distinguish_users_with_no_devices
...
distinguish unknown users from deviceless users
2016-11-16 20:43:04 +00:00
Richard van der Hoff
851b33aac2
distinguish unknown users from deviceless users
...
Fixes https://github.com/vector-im/vector-web/issues/2275
2016-11-16 18:05:41 +00:00
David Baker
fc958a3922
lint
2016-11-16 16:33:08 +00:00
David Baker
2c31b72c52
Merge pull request #293 from arxcode/develop
...
Allows to start client with initialSyncLimit = 0
2016-11-16 14:43:20 +00:00
Richard van der Hoff
8decb02027
Merge pull request #289 from matrix-org/luke/api-change-tlw-public-unpagination
...
Make timeline-window _unpaginate public and rename to unpaginate
2016-11-16 14:29:15 +00:00
Alexander
a0fd87c032
Allows to start client with initialSyncLimit = 0 (see http://bit.ly/2f49Kbs )
2016-11-16 09:26:16 -05:00
Luke Barnard
c0d862c9f0
Correct jsdoc for unpaginate
2016-11-16 11:06:56 +00:00
David Baker
8143abc9e7
Merge pull request #286 from fred-wang/fix-sync-stop
...
Send a STOPPED sync updated after call to stopClient
2016-11-16 10:02:28 +00:00
Richard van der Hoff
af95dcaef6
Merge pull request #292 from matrix-org/rav/fix_megolm_keys
...
Fix bug in verifying megolm event senders
2016-11-16 09:47:44 +00:00
Richard van der Hoff
5b4aedd4be
Fix bug in verifying megolm event senders
...
1a03e534bd introduced a bug which mixed up the keys_proved and the
keys_claimed. Switch them around again so that megolm messages are correctly
tied back to the sending device.
2016-11-16 09:22:31 +00:00
Luke Barnard
d8c0b16d7e
Make timeline-window _unpaginate public and remove _
2016-11-15 13:27:42 +00:00
Richard van der Hoff
909b56d48e
Merge pull request #288 from matrix-org/rav/decrypt_after_keys_arrive
...
Handle decryption of events after they arrive
2016-11-15 11:11:10 +00:00
Richard van der Hoff
a5d857945a
Retry decryption after receiving keys
...
m.room_keys may arrive after the messages themselves, so allow events to be
decrypted after the event (haha).
2016-11-14 15:13:02 +00:00
Richard van der Hoff
1a03e534bd
Refactor decryption
...
Create the MatrixEvent wrapper before decryption, and then pass that into the
decryptors, which should update it.
Also remove the workaround that sends m.new_device messages when we get an
unknown session; it's just a bandaid which is obscuring more meaningful
problems.
2016-11-14 15:13:02 +00:00
Richard van der Hoff
e623b539c4
persist DecryptionAlgorithm instances
...
It's useful to be able to keep state between events in the DecryptionAlgorithm,
so store them in a map.
2016-11-14 15:13:02 +00:00
Kegsay
2ff6f5f958
Merge pull request #287 from fred-wang/fix-example
...
Fix examples.
2016-11-14 12:49:06 +00:00
Matthew Hodgson
1532188d95
fix typo
2016-11-13 13:24:51 +00:00
Frédéric Wang
04093692c9
Use native Array.isArray when available.
2016-11-13 13:24:35 +00:00
Matthew Hodgson
a96389a3e4
Merge pull request #283 from matrix-org/revert-282-is-array
...
Revert "Use native Array.isArray when available."
2016-11-13 13:23:54 +00:00
Matthew Hodgson
00e7c84a93
Revert "Use native Array.isArray when available."
2016-11-13 13:23:41 +00:00
Matthew Hodgson
e0c924870d
Merge pull request #282 from fred-wang/is-array
...
Use native Array.isArray when available.
2016-11-13 13:20:54 +00:00
Frédéric Wang
1a27ad22a7
Use native Array.isArray when available.
2016-11-13 13:47:31 +01:00
Frédéric Wang
7029083266
Send a STOPPED sync updated after call to stopClient
2016-11-12 21:58:58 +01:00
Frédéric Wang
a5f0ec7c7d
Fix examples.
2016-11-12 17:39:48 +01:00
Mark Haines
e7dcc06855
Merge pull request #278 from matrix-org/markjh/travis
...
Add a travis.yml
2016-11-11 13:58:52 +00:00
Richard van der Hoff
867ac49b50
Merge pull request #277 from matrix-org/markjh/encrypted_voip
...
Encrypt all events, including 'm.call.*'
2016-11-11 11:06:54 +00:00
Mark Haines
bfffbea4a0
Merge remote-tracking branch 'origin/develop' into markjh/encrypted_voip
2016-11-11 10:20:40 +00:00
Mark Haines
f8b1c124df
Add a travis.yml
2016-11-11 10:04:48 +00:00
Richard van der Hoff
bc9e290c11
Merge pull request #276 from matrix-org/rav/ignore_key_reshares
...
Ignore reshares of known megolm sessions
2016-11-10 19:56:01 +00:00
Mark Haines
777ef83378
Merge remote-tracking branch 'origin/develop' into markjh/encrypted_voip
2016-11-10 19:44:42 +00:00
Mark Haines
24283dcbd5
Encrypt all events, including 'm.call.*'
2016-11-10 19:42:16 +00:00
Richard van der Hoff
2113c83679
Ignore reshares of known megolm sessions
...
If we get a second key for a known megolm session, ignore it.
Fixes https://github.com/vector-im/vector-web/issues/2326 , one hopes.
2016-11-10 19:28:08 +00:00
Richard van der Hoff
77508f38bb
event jsdoc
...
Add a comment on the event event
2016-11-08 16:53:07 +00:00
Richard van der Hoff
6c3eb19b74
Merge pull request #274 from matrix-org/rav/log_on_unknown_session
...
Log to the console on unknown session
2016-11-07 22:46:37 +00:00
Richard van der Hoff
e173d822e8
Log to the console on unknown session
...
This might help diagnose Erik/Matthew's comms breakdown.
2016-11-07 18:57:09 +00:00
David Baker
e2d3ace476
Merge branch 'master' into develop
2016-11-04 10:01:03 +00:00
David Baker
6f79a3107b
v0.6.4
2016-11-04 10:00:09 +00:00
David Baker
e6a3b2aa28
Change version back so npm can change it back again
2016-11-04 09:59:49 +00:00
David Baker
e5dcfdf115
There is now one change
2016-11-04 09:57:37 +00:00
David Baker
47e12fcc3e
Use env var for dist version
...
Don't pass it as an arg because that really confuses npm scripts
that aren;t expecting an arg (npm it just blindly appends it).
2016-11-04 09:42:08 +00:00
David Baker
d51b2884da
v0.6.4
2016-11-04 09:20:17 +00:00
David Baker
28e9c10ded
Prepare changelog for v0.6.4
2016-11-04 09:20:17 +00:00
David Baker
e27bf04ced
Merge pull request #273 from matrix-org/paul/wrap-request
...
Make it easier for SDK users to wrap prevailing the 'request' function
2016-11-03 13:57:14 +00:00
Paul "LeoNerd" Evans
65f1b3c976
Document the return type of getRequest()
2016-11-02 18:04:00 +00:00
Paul "LeoNerd" Evans
4529578cd6
Make a handy shortcut for SDK users to provide request wrapping functions in a neat stack
2016-11-02 18:02:02 +00:00
Paul "LeoNerd" Evans
6769c96942
Add a method for querying the js-sdk's current 'request' function in case people want to wrap it
2016-11-02 17:55:23 +00:00
David Baker
dcb987732c
Add version arg to the dist script
...
as per comment
2016-11-02 11:36:53 +00:00
David Baker
4f4eba16d6
v0.6.4-rc.2
2016-11-02 11:01:09 +00:00
David Baker
9da913f5a6
Prepare changelog for v0.6.4-rc.2
2016-11-02 11:01:09 +00:00
David Baker
a15aa0f7a4
Merge branch 'release-v0.6.4'
2016-11-02 10:30:05 +00:00
David Baker
efa1eee6e2
v0.6.4-rc.1
2016-11-02 10:26:53 +00:00
David Baker
55179f0a1a
Prepare changelog for v0.6.4-rc.1
2016-11-02 10:26:53 +00:00
David Baker
01593d1a69
Set the release branch variable
...
when using the current branch, otherwise we'll try to check out
the wrong thing
2016-11-02 10:25:47 +00:00
Richard van der Hoff
40e22cfa86
Merge pull request #272 from matrix-org/dbkr/release_script_fixes
...
More fixes to the release script
2016-11-02 10:05:41 +00:00
David Baker
97aeaec8d2
More fixes to the release script
...
* Don't create a new release branch if the current branch starts
with 'release'
* This is definitely a bash script at this point
* Fix update_changelog test
* Tabs
2016-11-02 09:56:00 +00:00
David Baker
0b9f85d97b
Merge pull request #271 from matrix-org/dbkr/build_process
...
Update the release process to use github releases
2016-11-01 17:43:06 +00:00
David Baker
d266486581
Check we have the various scripts
...
Rather than trying to use them and failing at annoying points
2016-11-01 16:48:16 +00:00
David Baker
c47d2fc750
too many ses(es)
2016-11-01 15:38:20 +00:00
David Baker
66c4c8882f
Right repo
2016-11-01 15:37:39 +00:00
David Baker
72d7dd7690
/dist not dist
2016-11-01 15:36:37 +00:00
David Baker
fff354669c
Update README to point to where releases now live
2016-11-01 14:53:26 +00:00
David Baker
07ae4b0be6
Add 'dist' script to js-sdk
...
(which just runs npm build, but the presence of the dist script
will inform the release process to run it and upload release
assets)
2016-11-01 14:36:56 +00:00
David Baker
cc51805c39
Use github release in release.sh
...
Adds the 'dist' target for building assets for distribution,
which the release script will run, uploading resulting files
as release assets.
2016-11-01 14:34:48 +00:00
David Baker
c61ac2a845
Delete aaaaaaall of dist/
...
and gitignore dist since we now just use it for build output.
2016-10-31 18:31:24 +00:00
David Baker
6d67de06a2
Build bundled files straight to dist
...
Rather than to version specific directories beneath dist, since
we're now not keeping every built version in the source tree.
Also:
* build the minified version at the same time,
* Include rimraf so we can rm -r dist (npm has re-ordered the
deps)
* Exclude olm from the bundled file
2016-10-31 18:25:34 +00:00
Richard van der Hoff
ec1273893f
Merge pull request #270 from matrix-org/dbkr/no_pack_world
...
Don't package the world when we release
2016-10-31 18:09:29 +00:00
David Baker
1e26077d58
Include browser-index.js
2016-10-31 18:06:37 +00:00
David Baker
ad67f002e3
Remove comment about syncing with .npmignore
...
Given there is no longer a .npmignore
2016-10-31 18:04:26 +00:00
David Baker
572df32dca
Don't package the world when we release
...
Include files explicitly rather than excluding them with .npmignore
As https://github.com/vector-im/vector-web/pull/2516
2016-10-31 17:29:34 +00:00
David Baker
6b8181c06f
Merge pull request #269 from matrix-org/luke/feature-initial-sync-filter
...
Add ability to set a filter prior to the first /sync
2016-10-26 11:37:55 +01:00
lukebarnard
5900542cfb
Add ability to set a filter prior to initial sync.
...
Useful for only syncing with a subset of joined rooms or only retrieving certain relevant types of events.
2016-10-25 20:05:25 +01:00
Richard van der Hoff
a28b825c4d
Merge pull request #236 from pik/get-room-tags
...
Add getRoomTags method to client
2016-10-21 14:26:52 +01:00
Richard van der Hoff
d105854619
Merge pull request #243 from matrix-org/rav/sign_one_time_keys
...
Sign one-time keys, and verify their signatures
2016-10-21 14:24:07 +01:00
Richard van der Hoff
a4f192bc88
Sign one-time keys, and verify their signatures
...
We have decided that signing one-time keys is the lesser of two evils;
accordingly, use a new key algorithm type (`signed_curve25519`), sign the
one-time keys that we upload to the server, and verify the signatures on those
we download.
This will mean that develop won't be able to talk to master, but hey, we're in
beta.
2016-10-21 12:24:19 +01:00
Richard van der Hoff
db925d7fde
Merge branch 'master' into develop
2016-10-21 12:07:16 +01:00
Mark Haines
16b4865035
Merge pull request #241 from matrix-org/markjh/check_for_duplicate_message_ids
...
Check for duplicate message indexes for group messages
2016-10-21 09:55:38 +01:00
Mark Haines
20b310484b
Document the format of the keys
2016-10-21 09:54:57 +01:00
Richard van der Hoff
611a191b0e
Merge pull request #240 from matrix-org/rav/rotate_megolm_sessions
...
Rotate megolm sessions
2016-10-20 21:06:28 +01:00
Mark Haines
8b856b9d15
Wrap the longer lines
2016-10-20 18:02:48 +01:00
Mark Haines
3f7df0d15c
Fiddle linebreaks
2016-10-20 17:59:15 +01:00
Mark Haines
e0917d3c47
Check for duplicate message indexes for group messages
2016-10-20 17:49:37 +01:00
Richard van der Hoff
19c257703c
Rotate megolm sessions
...
In order to mitigate backward-secrecy concerns, make sure that we rotate the
outbound megolm session at regular intervals (every week/100 msgs by default).
2016-10-20 15:42:06 +01:00
pik
62b6262534
Add getRoomTags method
...
Signed-off-by: pik <alexander.maznev@gmail.com >
2016-10-19 10:10:33 -05:00
Richard van der Hoff
55bd3ac302
Add CONTRIBUTING.rst
2016-10-19 11:55:09 +01:00
Richard van der Hoff
7a7f345f28
Merge pull request #239 from matrix-org/rav/fix_unknown_key
...
Check recipient and sender in Olm messages
2016-10-19 11:44:48 +01:00
Richard van der Hoff
ff2282a41a
Merge pull request #237 from matrix-org/rav/check_userid_in_device_list
...
Consistency checks for E2E device downloads
2016-10-19 11:30:07 +01:00
Richard van der Hoff
b5c7c700d5
Check recipient and sender in Olm messages
...
Embed the sender, recipient, and recipient keys in the plaintext of Olm
messages, and check those fields on receipt.
Fixes https://github.com/vector-im/vector-web/issues/2483
2016-10-19 11:24:59 +01:00
Richard van der Hoff
de6330fb80
Fix up failing test
...
Update a failing test to include user_id and device_id in the right place.
Remove one of the cases since it's somewhat redundant to
matrix-client-crypto-spec anyway.
2016-10-18 21:09:10 +01:00
Richard van der Hoff
aafb1ffdef
Consistency checks for E2E device downloads
...
Check that the user_id and device_id in device query responses match those that
we expect.
This resolves an unknown-key attack whereby Eve can re-sign Bob's keys with her
own key, thus getting Alice to send her messages which she can then forward to
Bob, making Bob think that Alice sent the messages to him.
2016-10-18 13:40:13 +01:00
David Baker
c5d738d25c
Merge pull request #235 from matrix-org/rav/delete_device_ui_auth
...
Support User-Interactive auth for delete device
2016-10-12 18:13:49 +01:00
David Baker
15d8252909
Merge pull request #234 from matrix-org/rav/interactive_auth
...
Utility to help with interactive auth
2016-10-12 18:13:36 +01:00
Richard van der Hoff
8189c58fc3
Use utils.extend instead of Object.assign
...
... because javascript is awful
2016-10-12 15:21:47 +01:00
David Baker
b3e7f4ea21
gjslint wants a space before the '='...
2016-10-12 11:42:10 +01:00
David Baker
9c9ae562ec
Merge branch 'master' into develop
2016-10-12 11:38:08 +01:00
David Baker
f93eea095e
Fail the build if the docs don't generate
2016-10-12 11:32:42 +01:00
David Baker
09255a52f7
Merge branch 'release-v0.6.3'
2016-10-12 11:27:05 +01:00
David Baker
6f9c8c3007
Apparently that jsdoc syntax is not valid
2016-10-12 11:24:14 +01:00
David Baker
2e99d5da64
0.6.3
2016-10-12 11:11:09 +01:00
David Baker
72c8586fad
Prepare changelog for v0.6.3
2016-10-12 11:07:51 +01:00
Richard van der Hoff
d98867b810
User-Interactive auth for delete device
...
Allow app to pass in an auth dict on delete device
2016-10-12 08:37:16 +01:00
Richard van der Hoff
de7061184b
Utility to help with interactive auth
2016-10-12 08:27:53 +01:00
David Baker
4e2483b41a
Merge pull request #233 from matrix-org/dbkr/register_dont_replace_params
...
Fix params getting replaced on register calls
2016-10-11 14:57:56 +01:00
David Baker
d3db4ee63d
lint bunny
2016-10-11 14:56:21 +01:00
David Baker
5d049cc5e8
Fix params getting replaced on register calls
...
The react-sdk sets guest access token to null sometimes, but we
previously added anything that was not 'undefined' to the params,
causing us to send parameters which overwrite the previous actual
parameters with the useless, {guest_access_token: null} which
caused registrations from an email link to break.
We should have no reason to send null, at least for these
particular params, so don't.
2016-10-11 14:30:06 +01:00
Richard van der Hoff
6218bad00f
Merge pull request #232 from matrix-org/dbkr/retry_immediately_from_reconnecting
...
Fix potential 30s delay on reconnect
2016-10-10 18:07:29 +01:00
David Baker
2968e9c0c7
Fix potential 30s delay on reconnect
...
After a connection glitch we would normally sync with zero timeout
so the connection comes back faster, but we didn't if the first
keepalive succeeds since we never marked the connection as failed.
This makes the behaviour more consistent.
Also get rid of the connectionLost flag which was only used in
one place anyway.
2016-10-10 17:08:28 +01:00
David Baker
e73051b230
Merge pull request #230 from matrix-org/rav/uploadContent_platform_consistency
...
uploadContent: Attempt some consistency between browser and node
2016-10-10 10:21:56 +01:00
David Baker
acad3e69dd
Merge pull request #229 from matrix-org/rav/fix_upload_error_parsing
...
Fix error handling on uploadContent
2016-10-10 10:15:44 +01:00
Richard van der Hoff
4794dfc17b
uploadContent: Attempt some consistency between browser and node
...
Previously, the API for uploadContent differed wildly depending on whether you
were on a browser with XMLHttpRequest or node.js with the HTTP system
library. This lead to great confusion, as well as making it hard to test the
browser behaviour.
The browser version expected a File, which could be sent straight to
XMLHttpRequest, whereas the node.js version expected an object with a `stream`
property. Now, we no longer recommend the `stream` property (though maintain it
for backwards compatibility) and instead expect the first argument to be the
thing to upload. To support the different ways of passing `type` and `name`,
they can now either be properties of the first argument (which will probably
suit browsers), or passed in as explicit `opts` (which will suit the node.js
users).
Even more crazily, the browser version returned the value of the `content_uri`
property of the result, while the node.js returned the raw JSON. Both flew in
the face of the convention of the js-sdk, which is to return the entire parsed
result object. Hence, add `rawResponse` and `onlyContentUri` options, which
grandfather in those behaviours.
2016-10-10 00:22:22 +01:00
Richard van der Hoff
d505ab9eeb
Fix error handling on uploadContent
...
Make sure we parse the json content of errors from uploadContent before trying
to turn them into MatrixErrors.
2016-10-10 00:22:04 +01:00
Richard van der Hoff
631eeb9bc0
Merge pull request #226 from matrix-org/rav/fix_upload
...
Fix uploadContent for node.js
2016-10-10 00:21:43 +01:00
Richard van der Hoff
892ca56808
Merge pull request #228 from pik/bug-invalid-filter
...
Fix sync breaking when an invalid filterId is in localStorage
2016-10-09 20:35:09 +01:00
pik
828c7ba451
Fix sync breaking when an invalid filterId is in localStorage
...
* if getFilter fails for a filterId, null out the localStorage id and
redirect to the createFilter path
* add spec
* fix unit/matrix-client.spec.js http response not matching synapse
2016-10-09 14:17:18 -05:00
Richard van der Hoff
a3d86c03b1
Fix uploadContent for node.js
...
9e89e71e broke uploadContent, making it set 'json=true' on the request, so that
we would try to turn raw content into JSON. It also misguidedly set a
client-side timeout of 30s.
Fix that, and add some tests to check uploadContent works.
In mock-request: distinguish between an expectation (ExpectedRequest)
and an actual request (Request). Add support for checking the headers, and the
request options in general, to Request.
2016-10-08 17:48:10 +01:00
Richard van der Hoff
74d6cb802f
Merge pull request #223 from matrix-org/dbkr/sync_dont_error_until_keepalive_fail
...
Don't emit ERROR until a keepalive poke fails
2016-10-07 16:05:14 +01:00
David Baker
1b83f66536
Merge pull request #224 from matrix-org/rav/auth_fallback_url
...
Function to get the fallback url for interactive auth
2016-10-07 15:41:12 +01:00
Richard van der Hoff
e5d5cd901a
Function to get the fallback url for interactive auth
2016-10-07 14:08:28 +01:00
David Baker
92ae4dda72
Add short delay before keepalives + 'RECONNECTING'
...
Changed my mind - it's a good idea to wait a short time before
sending a keepalive request: this will make sure we never
tightloop.
This also adds a 'RECONNECTING' state for when a sync request has
failed but there is no reason to suspect there is actually a
connectivity problem. This is necessary for the tests to be able
to advance the clock at the appropriate time, but could be nice
for clients. Add a breaking change changelog entry since
technically this is an API change that might break clients if they
were relying on 'SYNCING' always coming before 'ERROR' for some
reason.
2016-10-07 11:29:52 +01:00
David Baker
cd5a88c718
Fix tests
...
* Go back to previous behaviour of continuing to emit ERROR states if it continues to fail
* Don't set a timer if the timeout is zero
* Change test to assert the continued-error behaviour, not exactly multiple syncs failing
* Update other tests to fail the keepalive requests where appropriate
2016-10-06 20:54:57 +01:00
David Baker
1c744a66e6
Don't emit ERROR until a keepalive poke fails
...
This accomplishes the same as
https://github.com/matrix-org/matrix-js-sdk/pull/216/files , but
without the client waiting 110 seconds for a sync request to time
out. That is, don't display an error message a soon as a sync
request fails, since we should accept that sometimes long lived
HTTP connections will go away and that's fine.
Also:
* Use request rather than deprecated requestWithPrefix
* http-api: The empty string may be falsy, but it's a valid prefix
2016-10-06 18:29:05 +01:00
David Baker
57cf7e1f7d
Merge pull request #222 from matrix-org/revert-216-erikj/sync_fail_first
...
Revert "Handle the first /sync failure differently."
2016-10-06 16:28:45 +01:00
David Baker
86ea00cfee
Revert "Handle the first /sync failure differently."
2016-10-06 16:27:38 +01:00
David Baker
02f8e7da3d
0.6.2
2016-10-05 16:43:11 +01:00
David Baker
a245b735b3
Prepare changelog for v0.6.2
2016-10-05 16:39:48 +01:00
Richard van der Hoff
0f71983cb9
Merge pull request #221 from matrix-org/dbkr/check_dependencies
...
Check dependencies aren't on develop in release.sh
2016-10-05 16:38:41 +01:00
David Baker
7db6b9e490
Check dependencies aren't on develop in release.sh
2016-10-05 16:34:36 +01:00
David Baker
0021b21170
Merge pull request #220 from matrix-org/rav/fix_turnserver_leak
...
Fix checkTurnServers leak on logout
2016-10-03 11:24:25 +01:00
David Baker
3080dc018a
Merge pull request #219 from matrix-org/rav/refactor_httpapi
...
Fix leak of file upload objects
2016-10-03 11:18:02 +01:00
David Baker
f5d0ec32e5
Merge pull request #218 from matrix-org/rav/deduplicate_storage_update
...
crypto: remove duplicate code
2016-10-03 11:01:33 +01:00
Richard van der Hoff
6b3a06a8ed
Fix checkTurnServers leak on logout
...
Remember to cancel the checkTurnServers callback when we stop the client.
2016-10-02 21:17:31 +01:00
Richard van der Hoff
9e89e71e0e
Fix leak of file upload objects
...
After an upload completed, we were failing to delete the details of the upload
from the list (because the comparison was bogus), meaning we leaked an object
each time.
While we're in the area:
- make the request methods take an opts object (instead of a localTimeout
param), and deprecate the WithPrefix versions.
- make the non-xhr path for uploadContent use authedRequest instead of
rolling its own.
- make cancelUpload use the promise.abort() hack for simplicity
2016-09-30 15:29:45 +01:00
David Baker
dcedc78fc2
Merge pull request #217 from matrix-org/dbkr/join_3p_location
...
Add API for 3rd party location lookup
2016-09-30 14:32:33 +01:00
Richard van der Hoff
faff057592
crypto: remove duplicate code
...
Only call SessionStore.storeEndToEndDevicesForUser once per user, rather than
once per device.
(Probably also fixes a bug where, when a user removes all devices, the store
isn't updated)
2016-09-30 09:17:54 +01:00
David Baker
56be271b0a
I actually docced them as well
2016-09-29 17:47:51 +01:00
David Baker
fa557eb0cc
Add API for 3rd party location lookup
2016-09-29 15:50:00 +01:00
Erik Johnston
b784d1a5e7
Merge pull request #216 from matrix-org/erikj/sync_fail_first
...
Handle the first /sync failure differently.
2016-09-23 11:01:10 +01:00
Erik Johnston
f6614ac0e4
Fix tests
2016-09-23 10:08:40 +01:00
Erik Johnston
e4aea701ab
Comment
2016-09-23 09:57:06 +01:00
Erik Johnston
352f79e9fd
Handle the first /sync failure differently.
...
A /sync request may spuriously fail on occasion, without the
"connection" actually being lost. To avoid spurious "Connection Lost"
warning messages we ignore the first /sync and immediately retry, and
only if that fails do we enter an ERROR state.
2016-09-22 16:24:40 +01:00
David Baker
3a17ef983e
0.6.1
2016-09-21 17:23:15 +01:00
David Baker
91e571fb68
Prepare changelog for v0.6.1
2016-09-21 17:20:10 +01:00
Richard van der Hoff
1a3ee28d01
Log when we get an oh_hai message
2016-09-21 17:07:40 +01:00
Richard van der Hoff
669aecf4e6
E2E: Fix NPE in getEventSenderDeviceInfo
2016-09-21 15:05:27 +01:00
David Baker
ea23db6450
Merge branch 'master' into develop
2016-09-21 11:38:59 +01:00
David Baker
69e4bdd421
0.6.0
2016-09-21 11:32:26 +01:00
David Baker
86a4fd687c
Prepare changelog for v0.6.0
2016-09-21 11:29:28 +01:00
David Baker
14bc4af90c
Merge pull request #215 from matrix-org/rav/key_proofs
...
Fix the ed25519 key checking
2016-09-21 10:44:46 +01:00
Richard van der Hoff
0cd2b2c0e2
Merge pull request #214 from matrix-org/rav/event_sender_device_info
...
Add MatrixClient.getEventSenderDeviceInfo()
2016-09-21 10:21:57 +01:00
Richard van der Hoff
832559926f
Fix the ed25519 key checking
...
Finish plumbing in the Ed25519 key checks. Make sure we store the claimed key
correctly in the megolm sessions, and keep them as a separate field in
MatrixEvent rather than stuffing them into _clearEvent
2016-09-20 20:42:08 +01:00
Richard van der Hoff
59411353b1
Add 'keys' to *all* olm messages
...
(including ones which just carry megolm keys)
2016-09-20 20:39:40 +01:00
Richard van der Hoff
83bd420cd5
Return null from decryptEvent if session is unknown
...
This just makes the shape of the API a bit saner.
2016-09-20 20:39:40 +01:00
Richard van der Hoff
78a0aa5d47
Add MatrixClient.getEventSenderDeviceInfo()
...
- a function to get information about the device which sent an event
2016-09-20 20:39:16 +01:00
Richard van der Hoff
6e31319294
Handle lack of one-time keys better
...
If a device had run out of one-time keys, we would send it an empty to_device
event, which it would then fail to decrypt with a "Not included in
recipients", which is all a bit pointless.
2016-09-18 22:58:35 +01:00
Richard van der Hoff
cd0b19f93f
Crypto: improve console logs
...
Attempt to make the console logs more helpful by reducing noise and adding
helpful debug info.
2016-09-18 21:55:38 +01:00
Richard van der Hoff
4f22610499
Megolm: clarify jsdoc
...
Clarify somewhat misleading jsdoc text
2016-09-18 13:52:48 +01:00
Matthew Hodgson
9e57a9352a
Merge pull request #212 from matrix-org/rav/get_devicelist_on_join
...
Pull user device list on join
2016-09-17 19:21:17 +01:00
Richard van der Hoff
4e0d7b56d8
Merge pull request #213 from matrix-org/rav/fix_oh_hai_ping
...
Fix sending of oh_hais on bad sessions
2016-09-17 19:08:09 +01:00
Richard van der Hoff
f2e10e030d
Unknown sessions: send oh_hai to all devices if device_id is unknown
2016-09-17 19:07:03 +01:00
Richard van der Hoff
266b7afc72
Fix sending of oh_hais on bad sessions
...
Fix a bunch of bugs in the code which tried to send an oh_hai message when we
got a message with an unknown megolm session.
2016-09-17 18:30:12 +01:00
Richard van der Hoff
a15dffbb3a
Pull user device list on join
...
When a new user joins a room, make sure we download their device list if we
don't already have it.
This should fix at least one cause of
https://github.com/vector-im/vector-web/issues/2249 .
2016-09-17 17:44:15 +01:00
Matthew Hodgson
a30c816cb6
typo
2016-09-17 15:44:55 +01:00
Matthew Hodgson
e65fe483e1
Merge pull request #211 from matrix-org/dbkr/public_rooms_paginate
...
Support /publicRooms pagination
2016-09-17 01:24:40 +01:00
David Baker
0d51fad805
Make js-sdk compatible with older synapses
...
Use GET API if no params given. Revert changelog entry since it now doesn't break older synapses.
2016-09-16 23:23:25 +01:00
David Baker
17ed38ad05
Merge remote-tracking branch 'origin/develop' into dbkr/public_rooms_paginate
2016-09-16 20:14:29 +01:00
David Baker
8259f08882
Add changelog entry
...
to note we've broken publicRooms on older synapses
2016-09-16 20:11:00 +01:00
David Baker
55d6cf7ab0
Update /publicRooms to use the new pagination API
2016-09-16 20:08:21 +01:00
Matthew Hodgson
425f862cf8
Merge pull request #205 from matrix-org/markjh/megolm
...
Update the olm library version to 1.3.0
2016-09-16 17:30:26 +01:00
Mark Haines
5d6256bede
Merge pull request #209 from matrix-org/markjh/comment_upload_key
...
Comment what the logic in uploadKeys does
2016-09-16 16:34:37 +01:00
Mark Haines
ff5b923e6f
Spelling: s/cliamed/claimed/
2016-09-16 16:31:00 +01:00
Mark Haines
af7a9a68b8
Merge pull request #210 from matrix-org/markjh/echo_keys_proved
...
Include keysProved and keysClaimed in the local echo for events we send.
2016-09-16 15:45:22 +01:00
Mark Haines
905059d6da
More comments explaining the keysClaimed/keysProved properties
2016-09-16 15:42:02 +01:00
Mark Haines
3bc56cf3f8
More comments on the local echo
2016-09-16 15:36:56 +01:00
Mark Haines
1feb7fc0ba
Fix copy+paste
2016-09-16 15:32:46 +01:00
Mark Haines
c2a40572a5
Include keysProved and keysClaimed in the local echo for events we send.
2016-09-16 15:30:22 +01:00
Mark Haines
ee7d4d0521
Explain what happens to the old keys in olm
2016-09-16 14:43:22 +01:00
Mark Haines
6ab410ef6a
Comment what the logic in uploadKeys does
2016-09-16 14:38:26 +01:00
Mark Haines
8235d966d6
Merge pull request #208 from matrix-org/markjh/upload_keys
...
Check if we need to upload new one-time keys every 10 minutes
2016-09-16 14:21:03 +01:00
Mark Haines
c7b83f6ee6
More semicolons
2016-09-16 11:40:06 +01:00
Mark Haines
460f20a4ce
Merge pull request #207 from matrix-org/markjh/variable_scoping
...
Reset oneTimeKey to null on each loop iteration.
2016-09-16 11:23:58 +01:00
Mark Haines
da408f975e
Check if we need to upload new one-time keys every 10 minutes
2016-09-16 11:22:36 +01:00
Mark Haines
9a98c3991a
Reset onTimeKey to null on each loop iteration.
...
Otherwise we will use a value from a previous iteration of the loop.
2016-09-16 10:44:25 +01:00
Matthew Hodgson
6e0b2de99f
fix lint
2016-09-16 03:19:20 +01:00
Matthew Hodgson
0633d7d3f6
track raw displayname on user objects
2016-09-16 03:18:47 +01:00
Matthew Hodgson
2765720b76
unbreak NPE where megolm's decryptEvent doesn't return a result
2016-09-15 20:09:41 +01:00
Mark Haines
71f23ffce1
Merge branch 'develop' into markjh/megolm
...
Conflicts:
lib/crypto/algorithms/megolm.js
2016-09-15 17:10:02 +01:00
Mark Haines
1863af147d
Merge pull request #206 from matrix-org/markjh/ed25519
...
Add getKeysProved and getKeysClaimed methods to MatrixEvent.
2016-09-15 17:07:52 +01:00
Mark Haines
0d5d74674e
Remove spurious senderKey argument
2016-09-15 16:46:28 +01:00
Mark Haines
45ed0884df
Document return type
2016-09-15 16:42:40 +01:00
Mark Haines
45e9f59fdc
Poke jenkins
2016-09-15 16:40:02 +01:00
Mark Haines
bde6a171f6
Add getKeysProved and getKeysClaimed methods to MatrixEvent.
...
These list the keys that sender of the event must have ownership
of and the keys of that the sender claims ownership of.
All olm and megolm messages prove ownership of a curve25519 key.
All new olm and megolm message will now claim ownership of a
ed25519 key.
This allows us to detect if an attacker claims ownership of a curve25519
key they don't own when advertising their device keys, because when we
receive an event from the original user it will have a different ed25519 key
to the attackers.
2016-09-15 16:26:43 +01:00
Mark Haines
49a74755a8
Merge pull request #204 from matrix-org/markjh/oh_hai_reliability
...
Send a 'm.new_device' when we get a message for an unknown group session
2016-09-15 14:44:06 +01:00
Mark Haines
2fbef8638f
Fix grammar
2016-09-15 14:43:23 +01:00
Mark Haines
eb4166afe3
Whitespace
2016-09-15 14:36:53 +01:00
Mark Haines
b3beaacec7
Remove unnecessary dep
2016-09-15 14:26:05 +01:00
Mark Haines
355b728a57
Remove unnecessary semicolon;
2016-09-15 14:23:30 +01:00
Mark Haines
577b0e8f1b
Add a test to check the olm version
2016-09-15 14:08:25 +01:00
Mark Haines
35d99564c1
Rate limit the oh hai pings
2016-09-15 14:07:40 +01:00
Mark Haines
6f9bb38232
Include our device key in megolm messages
2016-09-15 11:56:56 +01:00
Mark Haines
d02c205910
Rename the "content" variable to avoid shadowing
2016-09-15 11:46:49 +01:00
Mark Haines
38681202dc
Add olm version to client. Add semicolons.
2016-09-14 20:03:31 +01:00
Mark Haines
0d20a0acf0
Add a test to check that we have the right version of Olm
2016-09-14 19:59:32 +01:00
Mark Haines
9277a86403
Add the accidentally deleted sessionId documentation back
2016-09-14 19:35:31 +01:00
Mark Haines
5ec8688cf6
Semicolon
2016-09-14 19:26:44 +01:00
Mark Haines
6ae82a9cb4
Fix syntax error
2016-09-14 19:20:46 +01:00
Mark Haines
72a4b92022
Send a 'm.new_device' when we get a message for an unknown group session
...
This should reduce the risk of a device getting permenantly stuck unable
to receive encrypted group messages.
2016-09-14 19:16:24 +01:00
Mark Haines
0cc68bc125
Update the olm library version to 1.3.0
2016-09-14 14:24:21 +01:00
Matthew Hodgson
6ca917f4db
Merge pull request #196 from matrix-org/matthew/filtered-timelines
...
Introduce EventTimelineSet, filtered timelines and global notif timeline.
2016-09-12 15:56:55 +01:00
Matthew Hodgson
8a848deddc
unbreak mocks in tests
2016-09-12 15:52:10 +01:00
David Baker
2ebd4b15a4
Merge pull request #203 from matrix-org/markjh/try_catch
...
Wrap the crypto event handlers in try/catch blocks
2016-09-12 14:32:46 +01:00
Mark Haines
f0274f3f26
Wrap the crypto event handlers in try/catch blocks
2016-09-12 11:44:31 +01:00
Matthew Hodgson
85b2e5d758
fix refactoring bug; emit timelineReset after updating _liveTimeline
2016-09-11 03:23:43 +01:00
Matthew Hodgson
eef03882ad
don't forget to emit timelineResets for normal room resets
2016-09-11 03:23:15 +01:00
Matthew Hodgson
f7e5d962c0
Merge branch 'develop' into matthew/filtered-timelines
2016-09-11 02:38:50 +01:00
Matthew Hodgson
87c6a40b3f
reemit timelineReset correctly from Sync
2016-09-11 02:15:29 +01:00
Matthew Hodgson
e614e17a71
correctly notify when timelineSets get reset
2016-09-10 10:44:48 +01:00
Matthew Hodgson
b4dc5e620b
oops, unbreak notif pagination
2016-09-10 01:36:12 +01:00
Matthew Hodgson
0713e65fc5
fix lint
2016-09-10 00:58:16 +01:00
Matthew Hodgson
b69f6cf70a
don't double-add events in Room.addEventsToTimeline
...
also, ignore notif events from initialSync as their time ordering is wrong
2016-09-10 00:56:37 +01:00
Matthew Hodgson
2c6409a67a
special case 'end' token
2016-09-09 18:45:15 +01:00
Matthew Hodgson
ad7db78829
only consider rooms when paginating EventTimelines with rooms
2016-09-09 18:05:43 +01:00
Matthew Hodgson
bd9e3e5794
only call setEventMetadata on unfiltered timelineSets
2016-09-09 17:42:24 +01:00
Matthew Hodgson
bd32ed5598
refactr paginateNotifTimeline out of existence
2016-09-09 16:49:39 +01:00
Matthew Hodgson
5a5257a598
fix comment
2016-09-09 16:41:29 +01:00
Matthew Hodgson
75b6ebf287
revert comment position
2016-09-09 16:35:38 +01:00
Matthew Hodgson
a9d3ae4ef8
fix tests
2016-09-09 16:34:02 +01:00
Matthew Hodgson
d480b6cf3e
remove unnecessary getUnfilteredTimelineSet()
2016-09-09 16:06:10 +01:00
Richard van der Hoff
fdb640e361
Merge pull request #202 from matrix-org/rav/decryption_warnings
...
Show warnings on to-device decryption fail
2016-09-09 14:09:05 +01:00
Richard van der Hoff
924a8533f1
Merge pull request #201 from matrix-org/rav/DisplayName
...
s/Displayname/DisplayName/
2016-09-09 14:08:36 +01:00
Richard van der Hoff
72b4f270ff
Show warnings on to-device decryption fail
...
If we can't decrypt a to-device message, show a warning about it, rather than
swallowing the error.
2016-09-09 12:37:02 +01:00
Richard van der Hoff
946539e32d
s/Displayname/DisplayName/
2016-09-09 11:32:57 +01:00
Matthew Hodgson
9882fed6d7
Merge branch 'develop' into matthew/filtered-timelines
2016-09-09 11:12:42 +01:00
Matthew Hodgson
93f45c0a94
reemit notif timeline events correctly
2016-09-09 02:28:01 +01:00
Matthew Hodgson
c6d358a6f3
doc Room.timeline event correctly
2016-09-09 02:27:51 +01:00
Matthew Hodgson
2e4c362ccd
make /notification pagination actually work
2016-09-09 02:08:39 +01:00
Matthew Hodgson
f959e1a134
incorporate PR feedback
2016-09-08 22:38:39 +01:00
Matthew Hodgson
7dfc4a404c
initial PR fixes
2016-09-08 17:51:14 +01:00
Richard van der Hoff
2af349eb72
Merge pull request #200 from matrix-org/rav/oh_hai_new_device
...
OH HAI
2016-09-08 16:20:59 +01:00
Richard van der Hoff
43f3a1e8b3
Merge pull request #199 from matrix-org/rav/share_megolm_state
...
Share the current ratchet with new members
2016-09-08 16:18:48 +01:00
Matthew Hodgson
13c186dfbe
fix lint
2016-09-08 15:29:53 +01:00
Matthew Hodgson
4d88736d13
add much-needed room.getUnfilteredTimelineSet() helper
2016-09-08 14:37:26 +01:00
Richard van der Hoff
1da633e28a
Handle new device announcements
...
When we see a new device, download its keys, and then add it to the list of
things waiting for a keyshare.
2016-09-08 14:35:13 +01:00
Richard van der Hoff
879da47f0e
Send an "oh hai" message to other e2e users
...
When we first complete an initial sync on a new device, send out an
m.new_device message for each user we share an e2e room with
2016-09-08 14:34:08 +01:00
Richard van der Hoff
cacafb461d
Share the current ratchet with new members
...
When a new member joins the room, we don't need to reset the megolm session;
instead we can just share the current state with the new user.
2016-09-08 14:20:54 +01:00
Richard van der Hoff
15e285c6b4
Merge pull request #198 from matrix-org/rav/refactor_crypto
...
Move crypto bits into a subdirectory
2016-09-08 13:35:38 +01:00
Richard van der Hoff
71c33420f6
Move crypto bits into a subdirectory
...
It was getting a bit sprawly; this should help keep things together.
2016-09-08 09:50:31 +01:00
Richard van der Hoff
e7f70bba5c
Merge pull request #197 from matrix-org/rav/refactor_crypto_event_handler
...
Refactor event handling in Crypto
2016-09-08 09:44:31 +01:00
Matthew Hodgson
e4ec2aa55f
maintain the global notification timeline set.
...
* track notifTimelineSet on MatrixClient
* stop Rooms from tracking notifTimelineSet as they don't need to
* Implement client.paginateNotifTimelineSet
* make Events store their pushActions properly
* insert live notifs directly into the notifTimelineSet in /sync, ordering by origin_server_ts.
2016-09-08 02:57:49 +01:00
Matthew Hodgson
fc495a5f1e
fix lint
2016-09-08 00:18:17 +01:00
Richard van der Hoff
6fe4dfcad0
Refactor event handling in Crypto
...
Move the event-handler registration from client.js into crypto.js
2016-09-07 23:13:22 +01:00
Matthew Hodgson
dac820f957
actually filter /messages
2016-09-07 22:04:12 +01:00
Matthew Hodgson
91f8df8d19
make EventTimeline take an EventTimelineSet
2016-09-07 21:17:06 +01:00
Matthew Hodgson
9b507f6c6c
Merge branch 'develop' into matthew/filtered-timelines
2016-09-07 20:34:57 +01:00
Matthew Hodgson
5e583d3c50
populate up filtered timelineSets vaguely correctly
2016-09-07 19:45:30 +01:00
Richard van der Hoff
d706b57fe9
Merge pull request #195 from matrix-org/rav/lazy_olm
...
Don't create Olm sessions proactively
2016-09-07 19:19:07 +01:00
Richard van der Hoff
1063a16013
Don't create Olm sessions proactively
...
In what I hoped would be a five-minute refactor to help clean up an annoying
not-really-used codepath, but turned into a bit of a hackathon on the tests,
create Olm sessions lazily in Olm rooms, just as we do in megolm rooms, which
allows us to avoid having to get the member list before configuring e2e in a
room.
2016-09-07 18:44:02 +01:00
Richard van der Hoff
46a2073427
Merge pull request #194 from matrix-org/rav/use_todevice_events
...
Use to-device events for key sharing
2016-09-07 14:01:57 +01:00
Richard van der Hoff
d7bb9574e7
Merge pull request #193 from matrix-org/rav/update_readme
...
README: callbacks deprecated
2016-09-07 14:00:24 +01:00
Richard van der Hoff
9c18893ae5
Use to-device events for key sharing
...
Synapse now supports out-of-band messages, so use them instead of sending the
key-sharing messages in-band.
2016-09-07 13:56:54 +01:00
Richard van der Hoff
4503c320e5
README: callbacks deprecated
...
We are no longer adding callback arguments as a matter of course.
2016-09-07 11:39:29 +01:00
Matthew Hodgson
c4995bd153
fix filtering
2016-09-07 02:17:03 +01:00
Richard van der Hoff
af0f5b37d8
Bump to olm 1.2.0
2016-09-06 22:29:33 +01:00
Richard van der Hoff
b9ba4671b4
Merge pull request #192 from matrix-org/rav/verified_megolm_senders
...
Fix sender verification for megolm messages
2016-09-06 22:22:20 +01:00
Richard van der Hoff
50b8f13037
Fix sender verification for megolm messages
...
Turns out all we need to do is to make sure we use the Olm device table when we
look up megolm senders.
2016-09-06 16:46:57 +01:00
Richard van der Hoff
4aa9dca608
Merge pull request #191 from matrix-org/rav/ciphertext_field
...
Use `ciphertext` instead of `body` in megolm events
2016-09-06 16:25:35 +01:00
Richard van der Hoff
98dc5328a0
Use ciphertext instead of body in megolm events
...
Apparently `body` is going to be special.
2016-09-06 16:23:23 +01:00
Richard van der Hoff
408671b58a
Megolm: Remove check for signature field
...
We're putting the signature in the body, so we don't want a separate field.
2016-09-06 15:59:57 +01:00
Matthew Hodgson
1bda527e3d
export EventTimelineSet
2016-09-06 01:04:23 +01:00
Richard van der Hoff
e0f1b9ebf0
Merge pull request #189 from matrix-org/rav/get_olm_sessions_for_user
...
Add debug methods to get the state of OlmSessions
2016-09-05 10:38:57 +01:00
Richard van der Hoff
55127aa43f
Merge pull request #190 from matrix-org/rav/get_stored_devices
...
MatrixClient.getStoredDevicesForUser
2016-09-05 10:38:12 +01:00
Matthew Hodgson
888fbe3549
fix some lint
2016-09-05 02:44:46 +01:00
Matthew Hodgson
ed5c061566
move getOrCreateClient from sync.js to client.js
2016-09-05 02:44:24 +01:00
Richard van der Hoff
df6b1d1471
Add debug methods to get the state of OlmSessions
...
I've been trying to track down issues with the OlmSessions getting out of sync
between two devices. To help with this, add a method which can be used from the
JS console to inspect the state of OlmSessions.
2016-09-05 00:03:21 +01:00
Richard van der Hoff
5e0f09075d
MatrixClient.getStoredDevicesForUser
...
Implement MatrixClient.getStoredDevicesForUser which uses
Crypto.getStoredDevicesForUser, which is more powerful than listDeviceKeys, and
isn't deprecated.
Also a couple of accessors for DeviceInfo.
2016-09-04 23:31:38 +01:00
Matthew Hodgson
2daa1b6007
change TimelineWindow to take a timelineSet rather than a Room
2016-09-04 13:57:56 +01:00
Matthew Hodgson
4ff2ad9fac
s/EventTimelineList/EventTimelineSet/g at vdh's req
2016-09-03 22:27:29 +01:00
Matthew Hodgson
ba06e8091f
Merge branch 'develop' into matthew/filtered-timelines
2016-09-03 13:33:15 +01:00
Richard van der Hoff
692b3107ac
Merge pull request #188 from matrix-org/rav/cleanups
...
Olm-related cleanups
2016-09-02 15:39:15 +01:00
Richard van der Hoff
6baf9e1c37
Olm-related cleanups
...
A couple of small refactors which fell out of the aborted stuff for upgrading
to secure Ed25519 keys, but are useful in their own right.
The main functional change here is to calculate the "algorithms" list from
DECRYPTION_CLASSES (and hence include megolm in the list).
2016-09-02 11:33:50 +01:00
Richard van der Hoff
c07e662b90
Update to olm 1.1.0
...
Use fixed olm library
2016-09-02 11:18:58 +01:00
Matthew Hodgson
aca8b32e5b
Merge pull request #186 from matrix-org/matthew/uninterrupted-audio
...
always play audio out of the remoteAudioElement if it exists.
2016-09-01 10:54:20 +01:00
Matthew Hodgson
0ec8a6e0af
always play audio out of the remoteAudioElement if it exists.\n\nfixes https://github.com/vector-im/vector-web/issues/1271 and https://github.com/vector-im/vector-web/issues/621
2016-08-31 21:52:24 +01:00
Matthew Hodgson
41af7c8883
Merge pull request #185 from matrix-org/matthew/webrtc-promises
...
Fix exceptions where HTMLMediaElement loads and plays race
2016-08-31 21:00:24 +01:00
Matthew Hodgson
7f2070f7b7
fix lint
2016-08-31 20:59:02 +01:00
Matthew Hodgson
1cc74ec116
don't break the promise chain if a play() fails
2016-08-31 20:57:08 +01:00
Matthew Hodgson
627f662384
PR review
2016-08-31 17:39:06 +01:00
Matthew Hodgson
c791881c87
fix lint
2016-08-31 16:31:49 +01:00
Matthew Hodgson
b0782885d5
kill unhandled exceptions where loads and plays race by queuing them as promises
2016-08-31 16:29:14 +01:00
Matthew Hodgson
d25d60f0f0
make the tests pass again
2016-08-30 23:34:11 +01:00
Kegsay
d356e722da
Make example actually work
2016-08-30 15:11:06 +01:00
Richard van der Hoff
84e2fc91ae
Merge pull request #183 from matrix-org/rav/reset_megolm_on_member_change
...
Reset megolm session when people join/leave the room
2016-08-30 14:58:18 +01:00
Richard van der Hoff
9768fb020c
Merge pull request #184 from matrix-org/rav/fix_redactions
...
Fix exceptions when dealing with redactions
2016-08-30 14:53:48 +01:00
Richard van der Hoff
e25112ad35
Fix exceptions when dealing with redactions
...
When we got a redaction event, we were adding the entire (circular) MatrixEvent
object for the redaction to the redacted event, which would then cause
exceptions down the line (particularly when dealing with gappy timelines).
We should only be adding the raw event.
Fixes (hopefully) https://github.com/vector-im/vector-web/issues/1389 .
2016-08-30 14:30:12 +01:00
Matthew Hodgson
e18b446190
unbreak filter text
2016-08-30 01:30:23 +01:00
Matthew Hodgson
0848d4ed10
reemit Room.timeline events correctly
2016-08-30 01:13:32 +01:00
Matthew Hodgson
7514aea813
make most things work other than Room.timeline firing
2016-08-30 01:11:47 +01:00
Matthew Hodgson
58031ab21d
fix things until they almost work again...
2016-08-30 00:36:52 +01:00
Matthew Hodgson
c1c2ca3ec1
tweak doc; make it build
2016-08-29 23:18:19 +01:00
Matthew Hodgson
b863a363da
WIP refactor
2016-08-29 21:08:35 +01:00
Matthew Hodgson
b42db46abd
WIP refactor
2016-08-29 21:06:53 +01:00
Matthew Hodgson
d46863e199
fix syntax
2016-08-28 23:44:10 +01:00
Matthew Hodgson
751ce421cd
Merge branch 'develop' into matthew/filtered-timelines
2016-08-28 18:49:54 +01:00
Matthew Hodgson
74e1dccf50
0.5.6
2016-08-28 16:36:06 +01:00
Matthew Hodgson
bf3eaa9eb7
Prepare changelog for v0.5.6
2016-08-28 16:29:34 +01:00
Richard van der Hoff
b4f22310ea
Reset megolm session when people join/leave the room
2016-08-26 11:24:59 +01:00
Richard van der Hoff
2da70ca024
Merge pull request #182 from matrix-org/rav/single_key_message
...
Put all of the megolm keys in one room message
2016-08-24 11:48:54 +01:00
Richard van der Hoff
42babbc595
Put all of the megolm keys in one room message
...
Avoid hitting the rate-limiter by putting all of the megolm keys in a single
event.
2016-08-24 11:46:22 +01:00
Richard van der Hoff
ba4735d4a8
Merge pull request #181 from matrix-org/rav/fix_device_blocking
...
Reinstate device blocking for simple Olm
2016-08-24 10:22:18 +01:00
Richard van der Hoff
31e7addf2f
Reinstate device blocking for simple Olm
...
Commit 4cde51b3 broke device blocking such that we were encrypting for all
devices, including blocked ones. Reinstate it, and add a test.
2016-08-24 09:26:12 +01:00
Richard van der Hoff
ba339ffdad
Merge pull request #180 from matrix-org/rav/receive_megolm_keys
...
support for unpacking megolm keys
2016-08-23 17:30:30 +01:00
Richard van der Hoff
a05cbab7c6
Merge pull request #179 from matrix-org/rav/send_megolm_keys
...
Send out megolm keys when we start a megolm session
2016-08-23 17:30:12 +01:00
Richard van der Hoff
e708e59b15
Add a TODO about batching events
2016-08-23 17:27:47 +01:00
Matthew Hodgson
dd5878015a
WIP filtered timelines
2016-08-23 14:31:47 +01:00
Richard van der Hoff
c72f613afc
Merge pull request #178 from matrix-org/rav/refactor_ensuresessions
...
Change the result structure for ensureOlmSessionsForUsers
2016-08-23 11:19:19 +01:00
Richard van der Hoff
1159e0911f
support for unpacking megolm keys
...
This is incredibly hacky at the moment, pending the arrival of ephemeral
events, but it kinda works.
2016-08-22 18:24:46 +01:00
Richard van der Hoff
9f180179d5
rename m.key event to m.room_key
...
... because m.key is scary, or something
2016-08-22 18:13:11 +01:00
Richard van der Hoff
238700cbdb
Send out megolm keys when we start a megolm session
...
For now, pending the arrival of SPEC-138, this happens via inline messages in
the room.
2016-08-22 17:59:22 +01:00
Richard van der Hoff
df43b19510
Change the result structure for ensureOlmSessionsForUsers
...
Nothing was using the results (except the tests), and it's more useful to have
the devices we *do* have a session for than the ones we don't.
2016-08-22 17:44:37 +01:00
Richard van der Hoff
e4bfb3ca32
Merge pull request #177 from matrix-org/rav/olmlib
...
Factor out a function for doing olm encryption
2016-08-22 16:34:17 +01:00
Richard van der Hoff
0234410b43
Factor out a function for doing olm encryption
...
Make a library file with some constants and a function to pack olm-encrypted
events (which we are going to use from megolm)
2016-08-22 10:22:12 +01:00
Richard van der Hoff
4877edb79b
Merge pull request #175 from matrix-org/rav/refactor_deviceinfo
...
Move DeviceInfo and DeviceVerification to separate module
2016-08-22 10:16:48 +01:00
Richard van der Hoff
1c4ee62397
Merge pull request #176 from matrix-org/rav/asynchronous_encryption
...
Make encryption asynchronous
2016-08-22 10:16:37 +01:00
Richard van der Hoff
7ea7e5ac6c
Move DeviceInfo and DeviceVerification to separate module
2016-08-19 16:18:54 +01:00
Richard van der Hoff
32fa51818b
Make encryption asynchronous
...
We're going to need to send out a load of messages to distribute the megolm
keys; as a first step, deal with the asynchronicity this will require.
2016-08-19 16:18:33 +01:00
David Baker
e0bd05a8c4
Fix lint
2016-08-18 23:58:06 +01:00
David Baker
a25315a994
Merge pull request #167 from Half-Shot/presence_status
...
Added ability to set and get status_msg for presence.
2016-08-18 11:18:03 +01:00
Richard van der Hoff
03e493453b
Merge pull request #174 from matrix-org/rav/fix_room_reference
...
Megolm: don't dereference nullable object
2016-08-18 10:31:45 +01:00
Richard van der Hoff
4d6f9da578
Megolm: don't dereference nullable object
...
It is possible for `room` to be null when passed to
MegolmEncryption.encryptMessage; we need to avoid dereferencing it. Instead,
make sure that the EncryptionAlgorithm knows about the roomId it is targeting,
and use that.
Replace the increasingly-long argument list on the EncryptionAlgorithm
constructor with a params list, and update DecryptionAlgorithm to match.
2016-08-17 16:21:37 +01:00
Richard van der Hoff
783b1feb70
Merge branch 'rav/group_e2e' into develop
2016-08-16 18:10:38 +01:00
Richard van der Hoff
9925b327b4
pr feedback
...
break long line into two statements
2016-08-16 18:09:37 +01:00
Richard van der Hoff
f75287b6b9
Merge pull request #170 from matrix-org/dbkr/push_update_rules_expose_func
...
Update our push rules when they come down stream
2016-08-16 17:10:14 +01:00
David Baker
cc72d35c6b
Move definition
...
So we don't have to fudge the jsdoc to make the linter happy
2016-08-16 17:02:18 +01:00
Richard van der Hoff
89d8133ad2
Implement megolm encryption/decryption
...
Very early attempt at encryption/decryption implementation via megolm. You have
to c&p the keys manually.
2016-08-16 16:47:37 +01:00
Richard van der Hoff
e56833c7b2
Merge pull request #172 from matrix-org/rav/refactor_crypto
...
Factor Olm encryption/decryption out to new classes
2016-08-16 15:26:37 +01:00
Richard van der Hoff
2c9f8ba598
Factor Olm encryption/decryption out to new classes
...
- to make way for alternative encryption algorithms. We now store an encryption
object for each room, rather than referring to sessionstore on each event.
Also a little light tidying to the jsdocs.
2016-08-16 15:12:28 +01:00
Richard van der Hoff
1f16bba342
Merge pull request #171 from matrix-org/rav/refactor_deviceinfo
...
Make DeviceInfo more useful, and refactor crypto methods to use it
2016-08-16 14:19:45 +01:00
Richard van der Hoff
4cde51b3ce
Make DeviceInfo more useful, and refactor crypto methods to use it
...
This is a prerequisite for a forthcoming refactor of _encryptMessage out to a
separate class.
2016-08-16 13:58:56 +01:00
David Baker
267e009ae3
Make lint pass
...
Although with slightly redundant doc :/
2016-08-15 18:55:09 +01:00
David Baker
0ba1a1dabc
Update our push rules when they come down stream
...
Also expose a useful function from pushprocessor.
Fixes https://github.com/vector-im/vector-web/issues/1495
2016-08-15 18:40:12 +01:00
Richard van der Hoff
6739da5acb
Fix login
...
https://github.com/matrix-org/matrix-js-sdk/pull/168 was broken :/
2016-08-12 13:30:04 +01:00
David Baker
b0d5e1d844
Merge pull request #169 from matrix-org/rav/move_login_to_base_apis
...
Move login and register methods into base-apis
2016-08-12 13:10:59 +01:00
David Baker
ea6f526ef9
Merge pull request #168 from matrix-org/rav/clean_up_login
...
Remove defaultDeviceDisplayName from MatrixClient options
2016-08-12 13:10:18 +01:00
Richard van der Hoff
3a7b1c6dd4
Move login and register methods into base-apis
...
login no longer relies on fields within MatrixClient, so we can move it down
to BaseApis
2016-08-12 13:02:40 +01:00
Richard van der Hoff
b98e421b8a
Remove defaultDeviceDisplayName
...
We no longer rely on js-sdk setting the initial_device_display_name and
login_id on login, so remove them to make `login` simpler.
2016-08-12 12:51:26 +01:00
David Baker
d9318a60e4
0.5.5
2016-08-11 17:24:20 +01:00
David Baker
2fd569a61a
Prepare changelog for v0.5.5
2016-08-11 17:17:28 +01:00
Will Hunt
1bd5d12665
Fixed setPresence opts
2016-08-11 13:39:27 +01:00
Will Hunt
02de5e96ba
Add presenceStatusMsg to User
2016-08-11 12:55:07 +01:00
Will Hunt
bc56213010
Add status_msg to setPresence
2016-08-11 12:50:13 +01:00
David Baker
34919d1b96
Merge pull request #166 from matrix-org/rav/stop_sync_when_stopped
...
Make sure we actually stop the sync loop on logout
2016-08-11 10:31:29 +01:00
Richard van der Hoff
cc08de9c64
Make sure we actually stop the sync loop on logout
...
I think this was only a problem in the edgiest of edge conditions, but it
certainly didn't look right.
2016-08-11 01:13:52 +01:00
Richard van der Hoff
6432a64442
Merge pull request #164 from matrix-org/dbkr/fix_user_level_zero
...
Zero is a valid power level
2016-08-05 14:29:49 +01:00
David Baker
1f18dabca0
Add unit test
2016-08-05 14:28:12 +01:00
David Baker
f74b49de4b
Zero is a valid power level
...
So testing truthiness will lead to incorrect behaviour.
https://github.com/vector-im/vector-web/issues/1620
2016-08-05 11:54:38 +01:00
Richard van der Hoff
6aeb265c19
Merge pull request #163 from matrix-org/rav/check_sig_on_device_keys
...
Verify e2e keys on download
2016-08-04 15:45:39 +01:00
Richard van der Hoff
f10467e81f
Verify e2e keys on download
...
Check the signature on downloaded e2e keys, and ignore those that don't match.
2016-08-04 15:33:29 +01:00
Richard van der Hoff
6001077c34
Merge pull request #162 from matrix-org/rav/refactor_matrix_client
...
Factor crypto stuff out of MatrixClient
2016-08-04 14:56:54 +01:00
Richard van der Hoff
ad6eec329d
Factor crypto stuff out of MatrixClient
...
Introduce a new Crypto class which encapsulates all of the the crypto-related
gubbins, replacing it with thin wrappers in MatrixClient.
2016-08-04 12:06:37 +01:00
Richard van der Hoff
d9867ba458
Merge pull request #161 from matrix-org/rav/refactor_key_upload
...
Refactor device key upload
2016-08-04 12:05:41 +01:00
Richard van der Hoff
6dc7e624d3
Fix device key signing
...
Calculate the signature *before* we add the `signatures` key.
2016-08-04 11:25:38 +01:00
Richard van der Hoff
24957a1445
Refactor device key upload
...
Use another-json instead of awful manual json building. Sign the device keys at
the point of upload, instead of having to keep the signed string in
memory. Only upload device keys once (they are correctly merged with the
one-time keys by synapse).
2016-08-04 10:03:31 +01:00
Richard van der Hoff
e2d67db5d4
Fix missing semicolon
2016-08-04 09:18:26 +01:00
David Baker
6c59966339
Merge pull request #158 from matrix-org/rav/devices_api
...
Wrappers for devices API
2016-08-03 16:12:23 +01:00
Richard van der Hoff
b4223d3790
Merge pull request #160 from matrix-org/dbkr/deactivate_account
...
Add deactivate account function
2016-08-03 15:40:43 +01:00
David Baker
9f6d9208f2
changelog
2016-08-03 15:26:52 +01:00
David Baker
35d45f0280
Add deactivate account function
2016-08-03 15:26:05 +01:00
Richard van der Hoff
c288e6c7ec
Merge pull request #159 from matrix-org/rav/device_name_for_e2e_keys
...
client.listDeviceKeys: Expose device display name
2016-08-03 14:32:02 +01:00
Richard van der Hoff
bb946c65d1
client.listDeviceKeys: Expose device display name
2016-08-03 14:13:31 +01:00
Richard van der Hoff
13fe22bc86
Wrappers for devices API
2016-08-03 14:11:19 +01:00
Richard van der Hoff
f139e6e6c2
Merge pull request #157 from matrix-org/dbkr/logout_api
...
Add `logout`
2016-08-02 16:19:49 +01:00
David Baker
364fe3ba47
Oops, s/MatrixClient/MatrixBaseApis/
2016-08-02 15:53:29 +01:00
David Baker
8b9b37cc91
Move to base APIs
2016-08-02 15:44:54 +01:00
David Baker
7895d1daa0
appease linter
2016-08-02 15:36:36 +01:00
David Baker
93a9f76f69
Add logout
2016-08-02 14:52:24 +01:00
Richard van der Hoff
4e2edfc771
Merge pull request #156 from matrix-org/dbkr/fix_email_registration
...
Fix email registration
2016-07-29 16:51:49 +01:00
David Baker
f4d53e25cc
Remove all the device_id setting from the JS SDK
...
As discussed, this makes things quite complicated, so conclusion is that's better to just let the app do this.
2016-07-29 16:45:22 +01:00
David Baker
da324c020b
lint
2016-07-29 14:47:24 +01:00
David Baker
f63015e4c4
Fix email registration
...
This would cause the request to 400 in the new vector that opens after you clicked the link in the email, as per the comment.
2016-07-29 14:40:53 +01:00
David Baker
61cf53deee
Merge pull request #155 from matrix-org/rav/refactor_matrix_client
...
Factor out MatrixClient methods to MatrixBaseApis
2016-07-29 10:32:41 +01:00
David Baker
57ff963fae
Merge pull request #154 from matrix-org/rav/fix_crypto_test
...
Fix some broken tests
2016-07-29 10:24:10 +01:00
David Baker
32744b23a0
Merge pull request #153 from matrix-org/rav/fail_build_on_test_fail
...
make jenkins fail the build if the tests fail
2016-07-29 10:22:39 +01:00
Richard van der Hoff
6c25110682
Factor out MatrixClient methods to MatrixBaseApis
...
Starts work on a class which is intended to just wrap the Matrix apis with very
simple functions.
There is a lot more work to be done here. For now, I have just taken methods
which don't refer to anything in MatrixClient except _http. This excludes a
bunch of things which refer to $userId, as well as the login stuff because of
the deviceId stuff I've just added :/.
For now, it's an internal class. I don't really see any reason it can't be
exposed to applications, though.
2016-07-28 15:36:45 +01:00
Richard van der Hoff
188802c5d3
Fix some broken tests
...
A number of the tests appear to have been broken since 90c919e without anyone
noticing; fix them.
2016-07-28 14:30:33 +01:00
Richard van der Hoff
a47e59f02c
make jenkins fail the build if the tests fail
2016-07-28 14:18:34 +01:00
David Baker
59d7935934
Merge pull request #152 from matrix-org/rav/deviceId
...
deviceId-related fixes
2016-07-27 11:12:14 +01:00
Richard van der Hoff
ba616d2a25
deviceId-related fixes
...
A couple of changes to support bigger changes in the react-sdk:
1. Add getDeviceId() to MatrixClient
2. Don't attempt to upload e2e keys if deviceId wasn't set.
2016-07-26 22:52:45 +01:00
David Baker
dc07038a27
Merge pull request #151 from matrix-org/rav/device_id_in_login
...
/login, /register: Add device_id and initial_device_display_name
2016-07-21 13:13:29 +01:00
Richard van der Hoff
dd064ba0a1
/login, /register: Add device_id and initial_device_display_name
...
To help test the forthcoming device_id support for /login and /register, add
the device_id and initial_device_display_name parameters to those calls. Allow
the app to specify the default device displayname when creating the client (as
well as the device_id).
Also, don't try initialising the Olm layer unless a userId is
provided. Currently this isn't a problem because react-sdk doesn't provide a
sessionStore when it doesn't provide a userId, but that is a bad thing to rely
on (and I am going to break it with a react-sdk PR).
2016-07-20 20:06:14 +01:00
Matthew Hodgson
3baea89c34
Merge pull request #150 from matrix-org/matthew/generic-account-data
...
Support global account_data
2016-07-20 16:02:58 +01:00
Matthew Hodgson
1412646a55
fix review feedback
2016-07-20 15:40:58 +01:00
Matthew Hodgson
c00a830cbb
fix nightmare bug where Room.accountData wasn't being emitted by Room objects
2016-07-20 11:59:38 +01:00
Matthew Hodgson
fa28297add
thinkos
2016-07-20 10:17:54 +01:00
Matthew Hodgson
58a68106bc
generic account data support
2016-07-18 01:40:05 +01:00
David Baker
ebd2ef6f95
Merge pull request #149 from matrix-org/dbkr/emit_more_presence_events
...
Add more events to User
2016-07-14 10:34:58 +01:00
David Baker
809492d45d
Fix currently_active event
...
Need === undefined here to check the presence of the field
2016-07-14 10:33:02 +01:00
David Baker
385c5d5469
More detailed changelog
2016-07-14 10:31:49 +01:00
David Baker
9713ffedf2
Do the changelog
...
Do do do do do do do do do
Do do do do do do do do do
Do do do do do do do do do
Do do do do do do do do do
Do the changelog
2016-07-14 10:08:22 +01:00
David Baker
ecb31b5aaf
Add more events to User
...
There was no way of observing changes to fields like currentlyActive, so add this and add one for lastPresenceTs that will be fired whenever we get a presence event.
2016-07-14 09:38:50 +01:00
Richard van der Hoff
cee9a954ec
Bump olm to 1.0.0
2016-07-11 17:04:41 +01:00
David Baker
fc55858aa3
Merge pull request #148 from matrix-org/dbkr/more_requesttokens
...
Add API calls for other requestToken endpoints
2016-07-08 17:53:55 +01:00
David Baker
b689dbb9c0
Better function name
2016-07-08 17:52:27 +01:00
David Baker
7dbc03942a
linty lint lint
2016-07-08 17:35:37 +01:00
David Baker
425039c5b5
Add changelog entry
2016-07-08 17:26:23 +01:00
David Baker
03d0aecc26
Add API calls for other requestToken endpoints
2016-07-08 17:24:59 +01:00
David Baker
abf903246c
Add dummy doc to appease linter
2016-07-07 18:02:12 +01:00
David Baker
3fd601bda4
Use ===
2016-07-07 17:56:54 +01:00
David Baker
1896c0b62f
Merge pull request #147 from matrix-org/dbkr/register_request_token
...
Add register-specific request token endpoint
2016-07-07 11:17:20 +01:00
David Baker
aa36571981
PR feedback inc doccing params
2016-07-07 11:16:50 +01:00
David Baker
abbe9d2bc7
Add register-specific request token endpoint
...
As per https://github.com/matrix-org/matrix-doc/pull/343
2016-07-06 15:19:39 +01:00
Kegsay
dff84c46f0
Merge pull request #139 from alefteris/valid-spdx
...
Set a valid SPDX license identifier in package.json
2016-07-05 12:57:38 +01:00
David Baker
7614c6677c
Merge pull request #145 from matrix-org/rav/crypto_event
...
Configure encryption on m.room.encryption events
2016-06-23 18:25:15 +01:00
Richard van der Hoff
3d2a970457
Check m.room.encryption is a state event
...
- just to be paranoid.
2016-06-23 18:19:59 +01:00
David Baker
50d60f5dd3
Merge pull request #146 from matrix-org/rav/device_blocking
...
Implement device blocking
2016-06-23 18:16:00 +01:00
Richard van der Hoff
90c919e7e4
Implement device blocking
...
We want to be able to 'block' devices, so that they are not sent copies of our
text. Implement that change, and exclude blocked devices when encrypting
messages.
THis changes the name of the 'deviceVerified' event to
'deviceVerificationChanged', but that just means that the UI won't update
correctly until the changes to react-sdk arrive.
2016-06-23 17:23:23 +01:00
Richard van der Hoff
583ddc3e57
Configure encryption on m.room.encryption events
...
This is the first step in having a cross-room "enable encryption" button.
If encryption is enabled, add an event handler which will set up encryption
when we receive an m.room.encryption event (either at initial /sync, or in
subsequent syncs.)
2016-06-23 17:19:44 +01:00
Richard van der Hoff
7ff1cf4e4a
Merge pull request #144 from matrix-org/dbkr/set_visibility_doc
...
Clearer doc for setRoomDirectoryVisibility
2016-06-22 17:20:13 +01:00
David Baker
1556cc4479
Oops, include the param name
2016-06-22 16:17:51 +01:00
Richard van der Hoff
32f7ca55df
Merge pull request #143 from matrix-org/rav/room_encryption_state
...
crypto: use memberlist to derive recipient list
2016-06-22 15:26:13 +01:00
David Baker
ae3551ad78
Clearer doc for setRoomDirectoryVisibility
2016-06-22 14:27:54 +01:00
Richard van der Hoff
d0e90cd8c9
crypto: use memberlist to derive recipient list
...
When we send an encrypted message with Olm, we need to know who to send it
to. Currently that is based on a user list passed to setRoomEncryption. We want
to be able to change the list as people join and leave the room; I also want to
not have to keep the member list in local storage.
So, use the member list at the point of enabling encryption to set up sessions,
and at the point of sending a message to encrypt the message.
Further work here includes:
* updating the react-sdk not to bother setting the member list
* monitoring for new users/devices in the room, and setting up new sessions
with them
2016-06-21 17:53:11 +01:00
Richard van der Hoff
cb6566a198
matrix-client-crypto-spec: reorder
...
Separate the helper functions from the tests, and order them by functionality
rather than by test order.
I've been struggling to find the tests among the helpers, and struggling to
find the helpers among the other helpers. Hopefully this will help.
2016-06-21 10:12:38 +01:00
David Baker
573a9140d3
Merge pull request #142 from matrix-org/rav/unverify_device
...
Support for marking devices as unverified
2016-06-17 16:59:22 +01:00
David Baker
6a02f39f0b
Merge pull request #141 from matrix-org/rav/olm_as_optional_dependency
...
Add Olm as an optionalDependency
2016-06-17 16:58:18 +01:00
Richard van der Hoff
7604bcc49a
Support for marking devices as unverified
...
Mostly because it's useful for testing, to be honest.
2016-06-17 16:22:22 +01:00
Richard van der Hoff
40c73e2079
Add Olm as an optionalDependency
...
We have optional support for olm, so it makes sense to add it as an
optionalDependency here.
2016-06-17 16:05:43 +01:00
Richard van der Hoff
7f113de790
changelog: really fix "unreleased" tag
2016-06-17 15:52:38 +01:00
Richard van der Hoff
accb589892
changelog: fix "unreleased" tag
2016-06-17 15:52:12 +01:00
Richard van der Hoff
4347f432b3
Merge pull request #140 from matrix-org/dbkr/room_get_aliases
...
Add room.getAliases() and room.getCanonicalAlias()
2016-06-17 15:50:32 +01:00
David Baker
6d905563fc
Oops, no ES6 here. Also long line.
2016-06-17 15:21:51 +01:00
David Baker
e943bc46d8
Add room.getAliases() and room.getCanonicalAlias()
2016-06-17 15:15:23 +01:00
Thanos Lefteris
7896b06bd7
Set a valid SPDX license expression in package.json
...
Signed-off-by: Thanos Lefteris <alefteris@gmail.com >
2016-06-14 18:35:40 +03:00
David Baker
0f153fdaf7
Merge pull request #138 from matrix-org/rav/event_encryption
...
Change how MatrixEvent manages encrypted events
2016-06-09 18:59:43 +01:00
Richard van der Hoff
2e4a8f4fa5
Change how MatrixEvent manages encrypted events
...
Make `MatrixEvent.event` contain the *encrypted* event, and keep the plaintext
payload in a separate `_clearEvent` property.
This achieves several aims:
* means that we have a record of the actual object which was received over
the wire, which can be shown by clients for 'view source'.
* makes sent and received encrypted MatrixEvents more consistent (previously
sent ones had `encryptedType` and `encryptedContent` properties, whereas
received ones threw away the ciphertext).
* Avoids having to make two MatrixEvents in the receive path, and copying
fields from one to the other.
*Hopefully* most clients have followed the advice given in the jsdoc of not
relying on MatrixEvent.event to get at events. If they haven't, I guess they'll
break in the face of encrypted events.
(The pushprocessor didn't follow this advice, so needed some tweaks.)
2016-06-09 18:23:54 +01:00
Richard van der Hoff
53b9154fe2
Merge pull request #137 from matrix-org/rav/encrypt_exceptions
...
Catch exceptions when encrypting events
2016-06-09 18:18:09 +01:00
Richard van der Hoff
ce59b72308
Catch exceptions when encrypting events
...
If an exception was thrown by the encryption process, the event would be
queued, but the exception would not be handled. This meant that the event got
stuck as a grey 'sending' event in the UI.
Fixing this correctly is slightly more complex than just handling the exception
correctly. A naive approach would mean that the event would be shown as a red
'unsent' message, and clicking 'resend' would then send the message *in the
clear*. Hence, move the encryption to _sendEvent, where it will be called again
when the event is resent.
2016-06-09 17:18:29 +01:00
Richard van der Hoff
4bf24f0fe4
Client: add some logging to help understand what is going on
2016-06-09 17:18:22 +01:00
Richard van der Hoff
23a38ae8f2
Merge pull request #136 from matrix-org/rav/device_verification
...
Support for marking devices as verified
2016-06-09 10:42:12 +01:00
Richard van der Hoff
0ab3446d81
Emit an event when a device is verified
...
We will probably want to share device verification across our own devices at
some point, so this will be useful in the future.
2016-06-08 21:22:48 +01:00
Richard van der Hoff
adaf4bf92b
Remove spurious TODO
...
we are doing this a different way
2016-06-08 18:34:15 +01:00
Richard van der Hoff
60519c4e6b
client: add isEventSenderVerified()
...
Add a method which allows applications to check if the sender of an event is on
the list of verified senders.
2016-06-08 17:20:26 +01:00
Richard van der Hoff
21a62f37de
Client: mark our own device as verified
2016-06-08 17:20:26 +01:00
Richard van der Hoff
9feeb0c580
Support for marking devices as verified
...
Add a 'verified' property to the response from MatrixClient.listDeviceKeys, and
add MatrixClient.setDeviceVerified to set it. Also changes the format of data
stored for user devices in the session store slightly (in a
backwards-compatible way).
2016-06-08 17:20:26 +01:00
Richard van der Hoff
7c3104b2ae
client: fix bug marking all sent events as encrypted
2016-06-08 17:19:04 +01:00
Richard van der Hoff
5ccbc0bbc6
Merge pull request #134 from matrix-org/rav/e2e/1
...
Various matrix-client refactorings and fixes
2016-06-07 23:48:33 +01:00
Richard van der Hoff
9c47400a0c
client: Document the type of the sessionStore
2016-06-07 23:44:12 +01:00
Richard van der Hoff
9cb032ec44
OlmDevice: factor out a bunch of boilerplate
...
Create some helper functions which help us reduce the boilerplate even further
2016-06-07 23:36:04 +01:00
Richard van der Hoff
8c6e2591d9
Factor out OlmDevice from client.js
...
MatrixClient contains quite a lot of boilerplate for manipulating the Olm
things, which quite nicely factors out to a separate object.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
0c8c7cf77a
matrix-client-crypto-spec: add some more tests
...
Tests for bob receiving two messages, and for bob sending a message back to
alice.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
52edcc49c5
matrix-client-crypto-spec: different backends for ali and bob
...
Use different mock http backends for the two different clients, so that we can
better control what each of them is doing (in particular, this is a
prerequisite for having them both running /sync loops)
2016-06-07 19:09:47 +01:00
Richard van der Hoff
5eede573c4
matrix-client-crypto-spec: shut down test clients
...
Running clients stop the test runner exiting cleanly, so make sure we stop them
2016-06-07 19:09:47 +01:00
Richard van der Hoff
e9d60a252b
matrix-client-crypto.spec.js: replace callbacks with promises
...
The pyramid of doom was getting unmanageable, not to mention the difficulty of
diagnosing why tests were failing, so replace the callbacks with promises.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
17ec7daf23
MatrixClient: refactor uploadKeys
...
rewrite uploadKeys to require less looping and not to use deferreds.
2016-06-07 19:09:47 +01:00
Richard van der Hoff
b18a4ee16b
client.js: Fix error handling in downloadKeys
...
Fix a bug in the error handling in downloadKeys: If the http request failed,
then the exception would get silently swallowed and the promise would never
resolve.
Also: tests!
2016-06-07 17:26:56 +01:00
Richard van der Hoff
f38f983a46
spec: Factor MockStorageApi out of webstorage.spec.js
...
This is useful elsewhere.
2016-06-07 17:26:56 +01:00
Matthew Hodgson
e85c1e1231
0.5.4
2016-06-02 18:07:07 +01:00
Matthew Hodgson
1381a0226d
Prepare changelog for v0.5.4
2016-06-02 18:07:07 +01:00
Matthew Hodgson
4bec72a2bd
make release work on OSX
2016-06-02 18:02:47 +01:00
Matthew Hodgson
11f02d2e24
fix https://github.com/vector-im/vector-web/issues/1039 , for
...
literally the 4th time. unbreak tests, and fix camelcase hell.
2016-06-02 16:54:18 +01:00
Richard van der Hoff
09d08a5092
0.5.3
2016-06-02 13:34:51 +01:00
Richard van der Hoff
8c7d041628
Prepare changelog for v0.5.3
2016-06-02 13:34:36 +01:00
Matthew Hodgson
0421e69f14
revert brand param at reg time
2016-06-02 12:33:09 +01:00
Matthew Hodgson
8b35ddae0a
add 'brand' parameter to register()
2016-06-02 11:46:02 +01:00
Matthew Hodgson
7243367a64
only clobber displayname & avatarurl from presence if set. fixes https://github.com/vector-im/vector-web/issues/1039 . again.
2016-06-01 03:45:16 +01:00
Matthew Hodgson
fb388f5d2d
fix typoes
2016-05-17 21:45:27 +01:00
David Baker
0757a1dd1c
Merge pull request #133 from matrix-org/dbkr/scalar
...
Add support for the openid interface
2016-05-06 15:56:33 +01:00
David Baker
06486f7ad0
Fix c+p fails
2016-05-06 14:28:26 +01:00
David Baker
a9d8c58ea0
Add support for the openid interface
2016-05-06 13:58:10 +01:00
Paul Evans
beec36d484
Merge pull request #129 from matrix-org/paul/bugfix-upload-content
...
Bugfix for HTTP upload content when running on node
2016-04-25 15:46:09 +01:00
Paul "LeoNerd" Evans
37ea7edaa0
Bugfix for HTTP upload content when running on node
2016-04-21 14:16:20 +01:00
Richard van der Hoff
2c40932080
0.5.2
2016-04-19 13:10:12 +01:00
Richard van der Hoff
3777b3e211
Prepare changelog for v0.5.2
2016-04-19 13:09:56 +01:00
Matthew Hodgson
2f7d7308a1
Merge pull request #128 from matrix-org/matthew/syjs-28
...
Track the absolute time that presence events are received, so that the relative lastActiveAgo value is meaningful.
2016-04-18 19:15:03 +01:00
Matthew Hodgson
0e606c6fe2
incorporate PR feedback
2016-04-18 14:26:59 +01:00
Matthew Hodgson
3af35c8209
Merge branch 'develop' into matthew/syjs-28
2016-04-18 01:34:11 +01:00
Matthew Hodgson
a2aed99f56
track lastPresenceTs
2016-04-18 01:25:34 +01:00
Richard van der Hoff
523a684d3f
Merge pull request #127 from matrix-org/rav/refactor_add_events
...
Refactor the addition of events to rooms
2016-04-17 18:11:02 +01:00
Richard van der Hoff
dc386bab46
Fix debug flag name
2016-04-14 17:53:57 +01:00
Richard van der Hoff
69079a2f9a
A handy hook script
2016-04-14 17:41:52 +01:00
Richard van der Hoff
df33f7aceb
Fix lint failures
2016-04-14 17:36:25 +01:00
Richard van der Hoff
d87e5471fa
Refactor the addition of events to rooms
...
... and add some sanity checks
Two things here:
1. Clean up the Room API for adding new events to the timeline. Where before
we had addEvents and addEventsToTimeline, whose purposes were unclear, we now
have addLiveEvents which must be used for adding events to the end of the live
timeline, and addEventsToTimeline which should be used for pagination (either
back-pagination of the live timeline, or pagination of an old timeline).
2. Add some sanity checks for the live timeline. Today we have seen problems
where somehow the live timeline had gained a forward pagination token, or the
live timeline had got joined to another timeline, leading to much confusion -
and I would like to notice these sooner.
2016-04-14 17:03:25 +01:00
Richard van der Hoff
90101c0340
Give timelines a name
...
The debug of "joined timeline [Object] to timeline [Object]" isn't terribly
helpful, so let's at least give them an identifier.
2016-04-14 16:11:48 +01:00
Richard van der Hoff
950fce80c8
Whitespace fix
...
remove trailing ws
2016-04-14 16:09:51 +01:00
Richard van der Hoff
9135c50b83
Merge pull request #126 from matrix-org/rav/clean_up_testexit
...
Clean up test shutdown
2016-04-14 15:54:56 +01:00
Richard van der Hoff
83bad6ee0d
Fix lint error
...
semicolons rool
2016-04-14 13:52:34 +01:00
Richard van der Hoff
3404751eb9
Clean up test shutdown
...
Make sure that the integration tests actually kill off all of their timers, so
that jasmine exits cleanly.
This probably also fixes https://github.com/vector-im/vector-web/issues/1365 .
2016-04-14 12:01:23 +01:00
Richard van der Hoff
0282021e09
Add a cachebuster to initial /sync
...
... in the hope of fending off weird firefox restore issues
2016-04-13 22:17:10 +01:00
Richard van der Hoff
526e1d59e9
Log sync token when starting sync loop
...
A little bit of debug that might help with
https://github.com/vector-im/vector-web/issues/1354
2016-04-13 14:08:59 +01:00
David Baker
dbc3a9a500
Merge pull request #125 from matrix-org/dbkr/get_pushers
...
Add methods to get (and set) pushers
2016-04-12 13:25:17 +01:00
David Baker
cff7c8a59f
Add methods to get (and set) pushers
2016-04-12 13:11:00 +01:00
Matthew Hodgson
64b8047f01
Merge pull request #122 from matrix-org/matthew/preview_urls
...
URL previewing support
2016-04-11 17:35:53 +01:00
Matthew Hodgson
11e4760935
improve commentary
2016-04-08 22:00:07 +01:00
Richard van der Hoff
c21d5634bb
Merge pull request #124 from matrix-org/rav/limit_pagination
...
Avoid paginating forever in private rooms
2016-04-08 15:55:37 +01:00
Richard van der Hoff
dc56d7f784
Fix typo
...
s/evnets/events/
2016-04-08 15:54:57 +01:00
Matthew Hodgson
1ff1064295
Merge branch 'develop' into matthew/preview_urls
2016-04-07 17:26:10 +01:00
Richard van der Hoff
a493a0ddb3
Fix lint errors
2016-04-07 14:30:35 +01:00
Richard van der Hoff
7573171d05
Avoid paginating forever in private rooms
...
In TimelineWindow.paginate, keep a count of the number of API requests we have
made, and bail out if it gets too high, to ensure that we don't get stuck in a
loop of paginating right back to the start of the room.
2016-04-07 14:16:02 +01:00
Richard van der Hoff
989e7cf78b
Merge pull request #123 from matrix-org/rav/no_recreate_filter
...
Fix a bug where we recreated sync filters
2016-04-06 18:35:01 +01:00
Richard van der Hoff
384c474800
fix failure of deepCompare to compare arrays
...
what a difference a character can make
2016-04-06 18:14:34 +01:00
Richard van der Hoff
1d2c705e13
Fix a bug where we recreated sync filters
...
Fix the object comparison used for client filters (JSON.stringify is
non-deterministic)
2016-04-06 15:56:32 +01:00
Matthew Hodgson
c469ff4c8d
oops, fix sig
2016-04-03 01:19:34 +01:00
Matthew Hodgson
c7575f3f16
cache url preview results
2016-04-03 01:18:01 +01:00
Matthew Hodgson
415251dd70
WIP url previewing
2016-03-31 18:38:34 +01:00
Richard van der Hoff
458cc55dec
Merge pull request #121 from matrix-org/rav/realtime_callbacks
...
Implement HTTP callbacks in realtime
2016-03-31 16:33:25 +01:00
Richard van der Hoff
d2adb30ded
Implement HTTP callbacks in realtime
...
Hopefully this will improve our recovery time after a laptop is suspended. The
idea is to treat the timeouts on the http apis as being in realtime, rather
than in elapsed time while the machine is awake.
To do this, we add a layer on top of window.setTimeout. We run a callback every
second, which then checks the wallclock time and runs any pending callbacks.
2016-03-31 13:51:18 +01:00
Richard van der Hoff
bbe41aa7b4
0.5.1
2016-03-30 13:18:42 +01:00
Richard van der Hoff
ece9391878
Prepare changelog for v0.5.1
2016-03-30 13:17:10 +01:00
David Baker
64640287cf
Merge pull request #119 from matrix-org/dbkr/member_count_only_joined
...
Only count joined members for the member count in notifications.
2016-03-24 14:01:45 +00:00
David Baker
57f88b00ba
d'oh, no es6 in js-sdk
2016-03-24 13:57:55 +00:00
David Baker
e618ad9589
Only count joined members for the member count in notifications. Fixes https://github.com/vector-im/vector-web/issues/1067
2016-03-24 13:55:30 +00:00
Richard van der Hoff
69c4d7b66e
Merge pull request #118 from matrix-org/dbkr/maysendevent
...
Add maySendEvent to match maySendStateEvent
2016-03-24 11:43:29 +00:00
David Baker
d7b3b91eec
Failed to remove extra param
2016-03-23 17:08:22 +00:00
David Baker
88cc63e2a2
Add maySendEvent to match maySendStateEvent. Make them use the same function internally. Also add convenience maySendMessage. Also tests.
2016-03-23 15:10:51 +00:00
Richard van der Hoff
cdea96fa0a
Release script tweaks
...
- be more helpful if update_changelog is not installed
- behave sanely if v is omitted on tag arg
2016-03-23 14:50:03 +00:00
Matthew Hodgson
cfc10fa82d
fix invite picker info again...
2016-03-23 12:03:56 +00:00
Richard van der Hoff
9d8973bf1f
0.5.0
2016-03-22 17:56:32 +00:00
Richard van der Hoff
7f95237e02
Prepare changelog for v0.5.0
2016-03-22 17:56:05 +00:00
Matthew Hodgson
e1415d9829
Merge pull request #117 from matrix-org/matthew/roomlist
...
get/setRoomVisibility API
2016-03-22 12:30:18 +00:00
Richard van der Hoff
19a12b3c79
Merge pull request #115 from matrix-org/rav/txnid_clashes
...
Include a counter in generated transaction IDs
2016-03-22 12:20:02 +00:00
Matthew Hodgson
bec41e4f94
incorporate review
2016-03-22 10:20:02 +00:00
Matthew Hodgson
5f177aeec4
get/setRoomVisibility API
2016-03-22 00:55:53 +00:00
Matthew Hodgson
b422916452
add to existing users if present, to avoid destroying presence data
2016-03-21 18:15:55 +00:00
Matthew Hodgson
10378c0e7f
Merge pull request #116 from matrix-org/matthew/fix-invite-picker-info
...
update store user metadata based on membership events rather than presence
2016-03-21 16:12:42 +00:00
Matthew Hodgson
fba4d5fb0a
Merge pull request #114 from matrix-org/matthew/stop-peeking
...
API to stop peeking
2016-03-21 16:12:29 +00:00
Matthew Hodgson
77101823f5
track kicked rooms correctly
2016-03-19 02:18:37 +00:00
Matthew Hodgson
15bc608368
presence no longer returns profile data, so we have to update our store's users based on membership events instead
2016-03-19 01:45:10 +00:00
Richard van der Hoff
dfc4b34d09
Include a counter in generated transaction IDs
...
Fixes a flaky test which sometimes failed due to sending two events in the same
millisecond.
2016-03-18 21:32:15 +00:00
Richard van der Hoff
ad9daecbd4
Pass the right options into SyncApi when peeking
...
When we peek into a room, we create its Room object. We need to make sure it is
created with the same options as we would if it were created via the /sync
calls.
Save the options passed in when startClient is called, and then pass them into
the SyncApi each time we create it.
2016-03-18 20:59:23 +00:00
Matthew Hodgson
d29302716d
oops
2016-03-18 19:25:22 +00:00
Matthew Hodgson
6c7d13f8ce
API to stop peeking
2016-03-18 19:22:34 +00:00
Richard van der Hoff
e15a2d138c
Merge pull request #112 from matrix-org/rav/cancel_send
...
Support for cancelling pending events
2016-03-18 16:17:44 +00:00
Richard van der Hoff
8bc9c19278
Merge pull request #111 from matrix-org/rav/pending_event_list
...
Implement 'pendingEventList'
2016-03-18 16:17:30 +00:00
David Baker
dd86fade11
Merge pull request #113 from matrix-org/dbkr/threepid_lookup
...
Add a method to the js sdk to look up 3pids on the ID server.
2016-03-18 15:54:43 +00:00
David Baker
ba1991aa8f
Add more docs :)
2016-03-18 15:54:19 +00:00
David Baker
f4fd8d9ba6
Add a method to the js sdk to look up 3pids on the ID server.
2016-03-18 15:15:10 +00:00
Richard van der Hoff
02be0f659a
Support for cancelling pending events
...
Implement client.cancelPendingEvent which will cancel queued or not_sent events
2016-03-17 22:15:46 +00:00
Richard van der Hoff
c7be310bdf
Fix addPendingEvent invocation in unit test
2016-03-17 22:10:40 +00:00
Richard van der Hoff
55d8f56f98
update docs
2016-03-17 17:53:20 +00:00
Richard van der Hoff
ab35fff9e8
Implement 'pendingEventList'
...
The existing 'pendingEventOrdering'=='end' semantics had been substantially
broken by the introduction of timelines and gappy syncs: after a gappy
sync, pending events would get stuck in the old timeline section. (Part of
https://github.com/vector-im/vector-web/issues/1120 ).
2016-03-17 17:05:23 +00:00
Richard van der Hoff
fdbc7a3112
Merge pull request #110 from matrix-org/rav/refactor_remote_echo
...
Refactor transmitted-messages code
2016-03-17 16:40:47 +00:00
Richard van der Hoff
3c6bd4774d
Refactor transmitted-messages code
...
This is some preparatory work for fixing up the problems with te timeline
ordering of unsent messages
(https://github.com/vector-im/vector-web/issues/1120 ). The functional changes
here should be minimal (bar an extra `Room.localEchoUpdated` when the local
echo is first added to the timeline).
Give `MatrixClient.sendEvent` its own entry point `Room.addPendingMessage`
instead of pushing it through `addEventsToTimeline`; this considerably
simplifies the implementation of the latter and also means that we can contain
the `_txnId` ming to MatrixClient.
Move the code which deals with a successful `/send` response from
`MatrixClient` into `Room.updatePendingEvent`, since it involves fiddling with
the innards of the Room.
Also adds a new EventStatus 'SENT' for events which have been successfully sent
but whose remote echo we still haven't received.
2016-03-17 14:26:36 +00:00
Richard van der Hoff
a2861c5781
Merge pull request #109 from matrix-org/rav/log_sync_error_stack
...
Log the stack when we get a sync error
2016-03-17 14:24:07 +00:00
Richard van der Hoff
eaf3fe16eb
sync error: Don't log the exception twice
...
If we have e.stack, then it will include the description of the exception.
2016-03-17 12:05:01 +00:00
Richard van der Hoff
963eaf7ec7
Log the stack when we get a sync error
...
If we have the stack for an exception in the /sync loop, we should log it.
2016-03-17 11:54:43 +00:00
Richard van der Hoff
e6e5b9b748
release.sh: fix -z option
2016-03-17 01:33:51 +00:00
Richard van der Hoff
9ad031c857
Make changelog file and jsdoc generation switchable
2016-03-17 01:27:48 +00:00
Richard van der Hoff
a0d465cb34
Merge master to develop after release
2016-03-17 01:12:39 +00:00
Richard van der Hoff
2dcf5227f0
Merge remote-tracking branch 'origin/master' into develop
2016-03-17 01:12:18 +00:00
Richard van der Hoff
518e92027c
Add missing "Changes in" to changelog
2016-03-17 01:07:34 +00:00
Matthew Hodgson
ebc95667b8
workaround for unicode regexp matches - https://github.com/vector-im/vector-web/issues/568
2016-03-17 01:02:50 +00:00
Richard van der Hoff
ad5d07caf8
0.4.2
2016-03-17 00:58:33 +00:00
Richard van der Hoff
b2d7abc0a1
Prepare changelog for v0.4.2
2016-03-17 00:58:16 +00:00
Richard van der Hoff
cc475e6392
add jsdoc as dev dependency
2016-03-17 00:58:16 +00:00
Richard van der Hoff
e4c6717bd5
Don't fail release if dist dir already exists
2016-03-17 00:58:16 +00:00
Richard van der Hoff
53f813207e
Add option to skip changelog generation
2016-03-17 00:45:39 +00:00
Richard van der Hoff
873fde27ac
Don't error if changelog is unchanged
2016-03-17 00:33:01 +00:00
Richard van der Hoff
8d9d638953
release.sh: fix 'read' syntax
2016-03-17 00:22:37 +00:00
Richard van der Hoff
2f93490054
Don't create release branch if we're already there
2016-03-17 00:19:30 +00:00
Richard van der Hoff
e22efc9dd5
release.sh: chmod +x
2016-03-16 23:40:44 +00:00
Richard van der Hoff
e7ac80cf2b
Script to do releases
2016-03-16 23:12:38 +00:00
Richard van der Hoff
4436087777
Use npm version to do release stuff
2016-03-16 23:12:38 +00:00
Matthew Hodgson
f7bc11361c
trivially add content.currently_active in m.presence events.
2016-03-16 22:35:55 +00:00
Matthew Hodgson
a68b61dafe
oops, revert accidental merge
2016-03-16 17:33:30 +00:00
Matthew Hodgson
84c9876b3a
if synapse handed us profile data in the leave event, then use it. unbreaks overzealous tests
2016-03-16 17:32:47 +00:00
Matthew Hodgson
de864c489a
make sure we show display names & avatars on parts, and use the right type of content for displaynames for member events in general. fixes https://github.com/vector-im/vector-web/issues/1140 and https://github.com/vector-im/vector-web/issues/873 and a bunch more
2016-03-16 17:32:47 +00:00
Matthew Hodgson
2c277f7d96
Merge pull request #108 from matrix-org/matthew/fix-displaynames
...
Matthew/fix displaynames
2016-03-16 17:31:41 +00:00
Kegan Dougal
d0560f594d
Set the right .sender value for m.room.member events
2016-03-16 17:18:33 +00:00
Matthew Hodgson
60b6310494
typo
2016-03-16 16:47:25 +00:00
Matthew Hodgson
abd27f9b75
failing test for https://github.com/vector-im/vector-web/issues/1140
2016-03-16 16:45:23 +00:00
Matthew Hodgson
3d316959f9
Revert this as it just doesn't work - our events are always m.room.members at this point
2016-03-16 16:44:22 +00:00
Matthew Hodgson
8aa3b79501
Merge pull request #107 from matrix-org/revert-106-matthew/fix-displaynames
...
Revert "make sure we show display names & avatars on parts, and use the right…"
2016-03-16 14:49:38 +00:00
Matthew Hodgson
f35409700a
Revert "make sure we show display names & avatars on parts, and use the right…"
2016-03-16 14:49:29 +00:00
Matthew Hodgson
b009739b9e
Merge pull request #106 from matrix-org/matthew/fix-displaynames
...
make sure we show display names & avatars on parts, and use the right…
2016-03-16 14:39:59 +00:00
Matthew Hodgson
f007af741e
Merge pull request #104 from matrix-org/matthew/may-client-send-state
...
Add RoomState.mayClientSendStateEvent()
2016-03-16 14:35:27 +00:00
Matthew Hodgson
3db4d9488b
oops, normal events should use the chronologically earlier content, but membership changes should use the current content.
2016-03-16 14:31:03 +00:00
Matthew Hodgson
6b0fa84697
if synapse handed us profile data in the leave event, then use it. unbreaks overzealous tests
2016-03-16 14:14:14 +00:00
Matthew Hodgson
98b0cf2560
make sure we show display names & avatars on parts, and use the right type of content for displaynames for member events in general. fixes https://github.com/vector-im/vector-web/issues/1140 and https://github.com/vector-im/vector-web/issues/873 and a bunch more
2016-03-16 13:51:55 +00:00
Matthew Hodgson
372759b6e4
fix lint
2016-03-16 13:43:38 +00:00
Matthew Hodgson
ec29b4ffeb
Add RoomState.mayClientSendStateEvent()
2016-03-16 13:08:36 +00:00
Matthew Hodgson
95494933fd
Merge pull request #103 from matrix-org/matthew/peek-presence
...
make presence work when peeking.
2016-03-16 11:55:25 +00:00
Matthew Hodgson
6fff29c07b
oops, that map should be a forEach
2016-03-16 11:54:56 +00:00
David Baker
6f7ed93b87
Merge pull request #100 from matrix-org/dbkr/session_logged_out
...
Add Session.logged_out event
2016-03-16 10:44:01 +00:00
David Baker
8e903c0531
Merge pull request #94 from matrix-org/dbkr/may_send_state_event
...
Add maySendStateEvent method, ported from react-sdk (but fixed).
2016-03-16 10:39:55 +00:00
David Baker
b90984a7f6
Use member.powerLevel instead of duplicating the user power level calculation.
2016-03-16 10:38:16 +00:00
David Baker
57006b7366
Check member hasn't left the room
2016-03-16 10:35:29 +00:00
Matthew Hodgson
db9ba52873
make presence work when peeking. fixes https://github.com/vector-im/vector-web/issues/780
2016-03-15 21:50:18 +00:00
Richard van der Hoff
08b49c733a
Merge pull request #101 from matrix-org/rav/remove_crypto_specialcase
...
Clean up a codepath that was only used for crypto messages
2016-03-15 17:26:54 +00:00
David Baker
0f38764709
No point throwing the exception if we return the original promise
2016-03-15 16:17:41 +00:00
Richard van der Hoff
6040b50ceb
Fix another unit test
...
We ought to set the transaction_id in this test too
2016-03-15 15:49:21 +00:00
Richard van der Hoff
b88a207bde
Fix broken unit test
...
Fix broken unit tests which expected echoes to get matched up when
transaction_ids weren't set
2016-03-15 15:39:29 +00:00
Richard van der Hoff
07bbe358ea
Clean up a codepath that was only used for crypto messages
...
Transmission of encrypted messages was happening somewhat differently to
normal messages. In particular, we weren't copying the 'unsigned' field when we
got the remote-echo, which meant the 'sync' code didn't correctly match up the
echo with the original.
The separate codepath was becoming a thorn in my side, so fix things up to
bring it back in line.
2016-03-15 15:07:26 +00:00
David Baker
39a5765888
Test tghat Session.logged_out is fired
2016-03-15 14:50:37 +00:00
David Baker
9f91995f4e
Fix tests by returning the original promise to avoid the extra trip around the event loop.
2016-03-15 14:15:15 +00:00
David Baker
85f2754300
Make the client object be an event emitter rather than a matrixclient to avoid us being tempted to gut wrench stuff directly into the Matrix Client.
2016-03-15 11:05:05 +00:00
David Baker
5833654aa6
Add Session.logged_out event that fires whenever the current session is no longer valid and the user needs to log in again. Also null check _syncApi before trying to stop it.
2016-03-15 10:45:08 +00:00
David Baker
899ff6cea2
Merge pull request #99 from matrix-org/dbkr/sync_dont_tightloop
...
Add a delay before we start polling the connectivity check endpoint
2016-03-15 10:34:44 +00:00
David Baker
3752429b65
Fix the tests to tick the clock to 'wait' for sync retries.
2016-03-14 17:49:36 +00:00
David Baker
d13fbd0e3e
fix lint
2016-03-14 17:13:01 +00:00
David Baker
5e18c84e53
Add a delay before we start polling the connectivity check endpoint to avoid tightlooping if the conn check succeeds but /sync etc fails.
2016-03-14 16:50:00 +00:00
Richard van der Hoff
fc1d5c86f9
Merge pull request #98 from matrix-org/rav/keep_paginating
...
Try again if a pagination request gives us no new messages
2016-03-14 15:48:17 +00:00
Richard van der Hoff
c3ea913ae8
Try again if a pagination request gives us no new messages
...
This is basically a workaround for https://matrix.org/jira/browse/SYN-645 : if
we knew about all of the events already, we want to try again.
Fixes the second half of https://github.com/vector-im/vector-web/issues/1014
2016-03-14 14:47:29 +00:00
Richard van der Hoff
f2336aaedf
Merge to master before develop
...
This avoids picking up things which have been landed on develop since the
release process started.
2016-03-11 12:17:29 +00:00
Richard van der Hoff
16ab2fd82a
Add uglifyjs to devDependencies
...
The release script requires it, so we better install it
2016-03-11 12:15:00 +00:00
Richard van der Hoff
295fda027c
Build 0.4.1
2016-03-11 12:00:44 +00:00
Richard van der Hoff
28e6f00766
Prep r0.4.1
2016-03-11 11:50:47 +00:00
Richard van der Hoff
b1988de753
Merge branch 'master' into develop
2016-03-11 11:27:52 +00:00
Kegsay
0302eefd3c
Update RELEASING.md
2016-03-11 11:05:55 +00:00
Kegsay
8ad5605e49
Update RELEASING.md
2016-03-11 11:03:00 +00:00
Kegsay
4b5539fe53
Create RELEASING.md
2016-03-11 10:58:39 +00:00
Richard van der Hoff
b0becbc8d5
Merge pull request #97 from matrix-org/rav/updates_on_send_fail
...
Raise localEchoUpdated events in more places
2016-03-10 14:19:30 +00:00
Richard van der Hoff
4ae353d3d3
Raise localEchoUpdated events in more places
...
We need to know about more transitions for local-echo status changes, so raise
localEchoUpdated events for each transition.
Fixes an issue where we weren't turning failed transmissions red, because the
timeline wasn't being updated.
2016-03-10 12:07:27 +00:00
Richard van der Hoff
b4b8b4bfb8
Merge pull request #95 from matrix-org/rav/raise_event_on_remote_echo
...
Emit an event when a local-echo is turned into a proper event
2016-03-08 16:40:03 +00:00
Richard van der Hoff
909a8a0648
Merge pull request #96 from matrix-org/rav/no_pagination_tightloop
...
Work around confused timelines causing pagination loops
2016-03-08 16:39:46 +00:00
Richard van der Hoff
234c227fd5
Work around confused timelines causing pagination loops
...
Look out for us getting stuck in a loop of using the same pagination token,
and use something else next time.
Hopefully this will fix https://github.com/vector-im/vector-web/issues/1089 .
2016-03-08 15:38:00 +00:00
Richard van der Hoff
78eded3bbd
Emit an event when a local-echo is turned into a proper event
...
We need to trigger an update of the timeline when this happens, so raise an
event for it.
2016-03-08 15:00:19 +00:00
David Baker
f324e4c72f
lint
2016-03-03 17:48:23 +00:00
David Baker
9328a12ccb
Add maySendStateEvent method, ported from react-sdk (but fixed). Plus tests.
2016-03-03 17:44:27 +00:00
Richard van der Hoff
51380f8116
Merge pull request #93 from matrix-org/rav/another_timeline_race
...
Set the back-pagination token before raising Room.timelineReset
2016-03-02 11:41:20 +00:00
Richard van der Hoff
cfd96969fc
Add unit tests for setting the pagination token on sync
2016-03-01 13:58:29 +00:00
Richard van der Hoff
0034bdf4ad
Set the back-pagination token before raising Room.timelineReset
...
This fixes another race condition on gappy syncs, wherein we weren't
back-paginating back from the start of the gappy sync.
2016-03-01 13:35:22 +00:00
Richard van der Hoff
00af1ce7d2
Merge pull request #92 from matrix-org/rav/sync_left_rooms_test
...
Add a unit test for syncLeftRooms
2016-03-01 13:19:12 +00:00
Richard van der Hoff
76f84c54db
Add a unit test for syncLeftRooms
...
We don't have *any* tests for syncLeftRooms right now, so start one.
2016-03-01 12:12:49 +00:00
Mark Haines
bb4766c8c6
Merge pull request #90 from matrix-org/markjh/change_push_actions
...
Add setPushRuleActions method for setting the actions for push notifi…
2016-03-01 10:10:38 +00:00
Richard van der Hoff
e287e7591b
Merge pull request #91 from matrix-org/rav/fix_stuck_pagination_after_join
...
Don't reset the timeline when we join a room after peeking
2016-03-01 09:10:21 +00:00
David Baker
48f7aca121
Merge pull request #89 from matrix-org/dbkr/invite_name_from_member_event
...
Use our inviter's member event to get their display name if it exists.
2016-02-29 18:05:27 +00:00
Richard van der Hoff
a14f9e6d1c
Don't reset the timeline when we join a room after peeking
...
If we've already got all the events in a limited sync, there is no need to reset
the timeline.
2016-02-29 17:25:20 +00:00
David Baker
5fefcd8ce3
pep8
2016-02-29 13:53:55 +00:00
David Baker
76f1d24c7b
Make room name generation slightly more sane and add unit tests fir invite naming.
2016-02-29 13:51:55 +00:00
Mark Haines
066dd77aba
Add setPushRuleActions method for setting the actions for push notification rules
2016-02-26 16:47:22 +00:00
David Baker
45a3bf63b2
Use our inviter's member event to get their display name if it exists.
2016-02-26 14:11:10 +00:00
Richard van der Hoff
75f2efffac
Merge pull request #88 from matrix-org/rav/optimise_timeline_load
...
TimelineWindow.load: make the livetimeline case quicker
2016-02-26 13:27:40 +00:00
Richard van der Hoff
0584ec3319
Merge pull request #87 from matrix-org/rav/reset_timeline
...
Fire a 'Room.timelineReset' event when we get a gappy sync
2016-02-26 13:27:25 +00:00
Richard van der Hoff
38e81ba61a
TimelineWindow.load: make the livetimeline case quicker
...
Avoid doing a loop round the reactor if we are just loading the live timeline.
2016-02-26 12:45:28 +00:00
Richard van der Hoff
164e4814af
Merge remote-tracking branch 'origin/develop' into rav/reset_timeline
2016-02-25 18:35:53 +00:00
Richard van der Hoff
abf908b14f
Fire a 'Room.timelineReset' event when we get a gappy sync
...
We need to reset things at the UI level when we get a gappy sync, so give the
clients something to listen for.
Also add a bunch of tests for that bit of code.
2016-02-25 18:26:11 +00:00
Richard van der Hoff
1deb2e27d8
.npmignore which includes git-revision.txt
2016-02-25 17:50:54 +00:00
Richard van der Hoff
848ffe8a40
Merge branch 'master' into develop
2016-02-25 17:29:39 +00:00
Richard van der Hoff
79c10c1b68
Remove old tarball before building new one
2016-02-25 17:23:54 +00:00
Richard van der Hoff
7e6eb89524
Empty commit to kick jenkins
2016-02-25 17:22:53 +00:00
Richard van der Hoff
3d3e52b104
s/version.txt/git-revision.txt/
2016-02-25 16:48:41 +00:00
Richard van der Hoff
05326984df
Add a 'version.txt' file to the tarball
...
This will enable the vector build to know what it got
2016-02-25 15:21:23 +00:00
Richard van der Hoff
e97e3c673f
jenkins.sh: Run npm pack after build to build tarball
2016-02-25 13:20:13 +00:00
Richard van der Hoff
f0ae46afc9
add jenkins.sh script
2016-02-25 13:17:38 +00:00
Richard van der Hoff
aaf4371fae
Merge pull request #85 from matrix-org/rav/recreate_filter_on_changes
...
Check filters before we reuse them
2016-02-24 17:22:57 +00:00
David Baker
7728009ef3
Changelog
2016-02-24 16:20:46 +00:00
Richard van der Hoff
46912431cc
make the tests pass again
2016-02-24 16:15:08 +00:00
Richard van der Hoff
6a19e08381
lint
2016-02-24 15:58:35 +00:00
Richard van der Hoff
43f392955d
Check filters before we reuse them
...
Make sure that we check the content of existing filters before we blindly reuse
them.
Fixes https://github.com/vector-im/vector-web/issues/988
2016-02-24 15:23:42 +00:00
David Baker
41d2076bd4
Merge branch 'develop'
2016-02-24 13:52:10 +00:00
David Baker
670d230f2e
Bump to 0.4.0
2016-02-24 13:49:58 +00:00
David Baker
7970f3f5a5
Merge pull request #84 from matrix-org/dbkr/keypair_3pid_invites
...
Add support for new keypair style 3pid invites
2016-02-23 16:37:48 +00:00
David Baker
567716c4f7
Use more normal promise structure
2016-02-23 11:21:29 +00:00
David Baker
518e41c078
add docs
2016-02-23 11:08:07 +00:00
David Baker
bd600f65fb
Add support for new keypair style 3pid invites (add an option to joinRoom for specifying the signing url)
2016-02-23 10:11:04 +00:00
Matthew Hodgson
363b08c4d8
don't NPE on 50x's - as per BOTS-170
2016-02-22 10:34:43 +00:00
Matthew Hodgson
2150bdc444
fix tests
2016-02-19 17:59:26 +00:00
Matthew Hodgson
5886b3358d
f1x l1nt
2016-02-19 17:56:55 +00:00
Matthew Hodgson
8b887d8559
name 3PID invite rooms better
2016-02-19 17:45:57 +00:00
Richard van der Hoff
7278c38fa6
Merge pull request #83 from matrix-org/rav/fix_context_event_ordering
...
Interpret the response from /context correctly
2016-02-19 17:12:48 +00:00
Richard van der Hoff
24ae4a8d1a
Interpret the response from /context correctly
...
events_before are backwards
Fixes https://github.com/vector-im/vector-web/issues/963
2016-02-19 17:03:47 +00:00
David Baker
923b9cad39
Merge pull request #82 from matrix-org/real_receipts
...
Add a param to getEventReadUpTo to have it ignore implicit read receipts
2016-02-19 16:20:04 +00:00
David Baker
e9f6e41550
Local echos are fake too.
2016-02-19 16:18:29 +00:00
David Baker
2950417f70
Add docs to appease jslint
2016-02-19 15:35:36 +00:00
David Baker
39f641a851
Address PR comments
2016-02-19 15:22:38 +00:00
David Baker
95fff38dbb
Add a param to getEventReadUpTo to have it ignore implicit read receipts. Store real receipts separately to make this work.
2016-02-19 14:42:07 +00:00
Richard van der Hoff
785326376a
Merge pull request #80 from matrix-org/rav/keep_redactions
...
Keep redacted events in the timeline
2016-02-17 21:41:42 +00:00
Richard van der Hoff
1baf14861c
Merge pull request #81 from matrix-org/rav/fix_timeline_after_join
...
EventTimeline: Fix baseIndex after removing the last event
2016-02-17 12:23:29 +00:00
Richard van der Hoff
8e47fe2968
Fix lint
2016-02-16 22:32:50 +00:00
Richard van der Hoff
88827fab84
EventTimeline: Fix baseIndex after removing the last event
...
Removing the last event in an EventTimeline (as we might, for instance, if it
was a local echo in an empty timeline) got us into a state where the baseIndex
would increment when adding events to the end of the timeline, causing much
confusion.
2016-02-16 22:22:26 +00:00
Richard van der Hoff
ab0a06eea7
More delinting
2016-02-16 16:19:32 +00:00
Richard van der Hoff
6a6db36088
delintificate
2016-02-16 16:14:45 +00:00
Richard van der Hoff
6f3bdcfbb6
Remember to propagate Room.redaction
2016-02-16 16:03:40 +00:00
Richard van der Hoff
4c6d0a5128
Redactions: only remove the keys that are specced for removal
2016-02-16 16:03:18 +00:00
Richard van der Hoff
5eff278454
Keep redacted events in the timeline
...
Everything gets confused when we remove events from timelines, so keep
redacted events in there, and mark them as redacted instead.
2016-02-16 12:05:13 +00:00
David Baker
c8d1e210a3
Merge pull request #79 from matrix-org/dbkr/new_reconnection_logic
...
Use only /versions requests for connection recovery
2016-02-10 11:17:29 +00:00
David Baker
8614632e54
No ES6 in the JS SDK and other lint warnings.
2016-02-10 10:48:03 +00:00
David Baker
c3796c61cd
Use a promise for when the connection comes back
2016-02-10 10:40:42 +00:00
David Baker
6224aff882
improve comment as per PR review
2016-02-10 10:09:39 +00:00
David Baker
e506a1b2de
Oops: set keepAliveTimer!
2016-02-09 17:39:30 +00:00
David Baker
b40a6d1481
remember bound function as it returns a new reference each time
2016-02-09 17:06:20 +00:00
David Baker
5c8f73019e
lint
2016-02-09 16:22:12 +00:00
David Baker
3cfc4f8ba5
Add short delay to treating a 400 as a success to avoid hammering in a loop.
2016-02-09 16:17:52 +00:00
David Baker
4d46251b15
Just use the keepalive logic to recover from lost internet connections.
...
* This should fix the problem where we could end up with two concurrent syncs
due to both retrying /sync and hitting /versions. There is now one and only
one mechanism for connection recovery.
* Hit /versions a little less often as I think every 2 seconds is a little
over-aggressive. Also introduce randomness to minimize possibility of
thundering herds.
* Add a listener for the 'online' event in case any browser is nice enough
to ever fire it.
* Treat a 400 response from /versions as successful since older synapses
will not support it.
2016-02-09 16:08:14 +00:00
David Baker
977e33f1bd
Merge pull request #76 from matrix-org/dbkr/sync_gutwrench_less
...
Change the sync state tracking slightly to gut-wrench client a bit less
2016-02-08 14:18:59 +00:00
David Baker
daa0e6291e
Add docs for STOPPED state and correct js doc
2016-02-08 14:18:15 +00:00
Daniel Wagner-Hall
620417ed1b
Merge pull request #78 from matrix-org/daniel/r0
...
Use /r0 or /unstable for all requests
2016-02-08 11:57:13 +00:00
Daniel Wagner-Hall
02196416e4
Use /r0 or /unstable for all requests
2016-02-08 11:15:30 +00:00
Richard van der Hoff
5ca4bc6b85
Merge pull request #77 from matrix-org/rav/check_old_timelines_for_echoes
...
Check old timelines when looking for echoes of sent messages
2016-02-05 19:41:37 +00:00
Richard van der Hoff
76c79ec299
Check old timelines when looking for echoes of sent messages
...
After /send completes, we check the room to see if the echo has already come
back via /sync. It's a bit of an edge-case, but we ought to check all
timelines, not just the live one.
Furthermore, we now have a map from eventId to timeline, so we can handle the
case where the echo has *not* yet come back more efficiently than searching
through the whole timeline.
2016-02-05 17:31:46 +00:00
David Baker
fc730d4637
remove unintentional log line
2016-02-05 14:13:14 +00:00
David Baker
41d5917bb6
Change the sync state tracking slightly to gut-wrench client a bit less
...
Should be functionally identical outside of client and sync.
2016-02-05 14:09:58 +00:00
Richard van der Hoff
122867e8ee
Merge pull request #75 from matrix-org/rav/read_receipt_ordering
...
Give precedence to later Read Receipts
2016-02-04 16:50:59 +01:00
Richard van der Hoff
f3e5e03009
Give precedence to later Read Receipts
...
In order to resolve the conflict between local and remote read-receipts, try to
give precedence to the read-receipt which refers to the most recent event.
Also fix the read-receipt synthesis in _addLiveEvents so that it actually works
(drop the spurious MatrixEvent wrapper), and remove the synthesis in
recalculate() (which appears to be redundant).
2016-02-04 15:35:27 +00:00
Richard van der Hoff
1b43e5ed98
Merge pull request #74 from matrix-org/rav/fix_localecho_timeline_bug
...
Fix a bug which made the timelines get confused about local messages
2016-02-03 15:41:52 +01:00
Richard van der Hoff
9e65f12ddd
Fix lint warnings
2016-02-03 14:29:39 +00:00
Richard van der Hoff
be297ddbcd
Merge pull request #73 from matrix-org/rav/fix_timeline_tightloop
...
Make sure we don't end up calling /messages in a loop if things go weird
2016-02-03 15:14:41 +01:00
Richard van der Hoff
8ee1d17ff7
Fix a bug which made the timelines get confused about local messages
...
Make sure that the timeline index is kept consistent when the id of an event
changes when we receive the remote echo of a message we sent.
2016-02-03 11:56:09 +00:00
Richard van der Hoff
a2185fefc1
Make sure we don't end up calling /messages in a loop if things go weird
...
If we somehow end up in a situation where calling /messages returns a load
of messages, but none of them are new, then currently we start calling
/messages again and again in a tight loop. This is bad, so fix it.
2016-02-03 11:47:04 +00:00
David Baker
f172272dd3
Merge pull request #72 from matrix-org/dbkr/document_getroom
...
Add docs to getRoom noting how you shouldn't assume it will return so…
2016-02-02 17:16:30 +00:00
David Baker
8a77b29d17
Add docs to getRoom noting how you shouldn't assume it will return something because you've got a Room-like event
2016-02-02 16:30:28 +00:00
Richard van der Hoff
0a7efe3e8b
Fix undefined variable accesses
...
fix a merge error in the last commit
2016-01-30 00:44:40 +00:00
Richard van der Hoff
2af947fc1a
Stash the old next_batch token for pagination
...
When we reset the live timeline due to a limited sync, stash next_batch as the
pagination token so that we can work forward to the new live timeline.
(Note that this requires matrix-org/synapse#535 )
2016-01-30 00:12:31 +00:00
Richard van der Hoff
1499087098
TimelineWindow: fix canPaginate during load
...
We should return false rather than throw an exception if someone calls
canPaginate before the timeline finishes loading.
2016-01-30 00:09:12 +00:00
David Baker
672e96b90e
Merge pull request #71 from matrix-org/dbkr/separate_sync_processing
...
Separate the actual processing of the sync response from the loop doing the requests.
2016-01-29 13:05:27 +00:00
David Baker
3d5e2937e2
docstring
2016-01-29 11:29:14 +00:00
David Baker
bbf3b2637a
Re-apply: 5297855ad3
...
Separate the actual processing of the sync response from the loop doing the requests.
2016-01-29 11:25:01 +00:00
David Baker
04a1c4f1a2
Revert "Separate the actual processing of the sync response from the loop doing the requests."
...
This reverts commit 5297855ad3 .
Accidentally committed to wrong branch
2016-01-29 11:17:12 +00:00
David Baker
5297855ad3
Separate the actual processing of the sync response from the loop doing the requests.
2016-01-29 11:05:32 +00:00
Richard van der Hoff
a221674680
Merge pull request #64 from matrix-org/rav/timeline_window
...
TimelineWindow object
2016-01-28 16:46:03 +00:00
Richard van der Hoff
8db95f42fb
Add some unit tests for TimelineWindow.
2016-01-28 16:38:45 +00:00
Richard van der Hoff
b42e5d5fcf
Address review comments
...
Rearrange a couple of things for clarity, and add some comments.
2016-01-28 12:36:12 +00:00
Richard van der Hoff
b1e2090eef
TimelineWindow object
...
A handy thing for tracking a window into a room timeline
Could really do with some unit tests... sorry.
2016-01-27 09:53:15 +00:00
Richard van der Hoff
8716185f4a
Merge pull request #63 from matrix-org/rav/context
...
Support for non-contiguous event timelines
2016-01-27 09:50:57 +00:00
Richard van der Hoff
3c2fad7c8d
Merge remote-tracking branch 'origin/develop' into rav/context
2016-01-27 09:49:00 +00:00
Richard van der Hoff
60a243f160
Rename 'exceptFail' to 'failTest', and move it out to test-utils.js
2016-01-27 09:48:28 +00:00
Richard van der Hoff
a87cefa035
Replace the boolean args on EventTimeline methods with constants
2016-01-26 22:38:26 +00:00
Richard van der Hoff
101d3952d3
Test that the pagination tokens actually start at null
2016-01-26 21:25:10 +00:00
Richard van der Hoff
a01501b42c
Address a number of review comments.
...
Make sure that room state is copied correctly when resetting the live
timeline.
Also comments and bits.
2016-01-26 18:09:15 +00:00
David Baker
d37369b463
Merge pull request #70 from matrix-org/dbkr/receipt_local_echo
...
Add local echo for read receipts.
2016-01-26 14:11:49 +00:00
David Baker
0c3abcccf2
camelCase
2016-01-26 14:11:36 +00:00
Richard van der Hoff
48d1bc3158
Fix incompatibility with peeking.
...
The peek code needs to make sure it sets the pagination token /after/ adding
the events to the timeline, otherwise it will get reset when the events
are added.
2016-01-26 11:21:49 +00:00
David Baker
15e8784daf
Add local echo for read receipts. Fixes https://github.com/vector-im/vector-web/issues/623
2016-01-25 17:49:41 +00:00
Richard van der Hoff
840b8f0bc0
Merge branch 'develop' into rav/context
...
Conflicts:
lib/models/room.js
2016-01-25 10:45:22 +00:00
Kegsay
7a4cc62280
Merge pull request #69 from matrix-org/kegan/sync-keep-alive
...
Implement a keep-alive timer for /sync requests
2016-01-22 16:23:43 +00:00
Kegan Dougal
f8ec35691f
Interrupt /sync backoff when keep-alive succeeds in order to immediately retry if we were waiting
2016-01-21 18:02:26 +00:00
Kegan Dougal
c5e7df8975
Hit /versions instead of / since it is actually a known endpoint
2016-01-21 17:52:52 +00:00
Kegan Dougal
7bdab05785
Unbreak tests
2016-01-21 17:34:12 +00:00
Kegan Dougal
197144dcda
Implement a keep-alive timer for /sync requests
...
When a /sync request fails, we spin up a keep-alive poll to /_matrix/client/r0
which 400s. We treat any HTTP response code as a success for the purposes of
polling the server. When a successful poll is done, we shoot the current /sync
request in the head immediately (via a hacky abort() on the promise) and retry
the /sync.
2016-01-21 17:17:27 +00:00
Kegan Dougal
ff990914b2
Remove low client-side timeouts hack
2016-01-21 16:12:07 +00:00
David Baker
4bc2869522
Merge pull request #68 from matrix-org/dbkr/new_unread_count_format
...
Update for new unread count format
2016-01-21 09:54:51 +00:00
David Baker
1f1d743678
Merge remote-tracking branch 'origin/develop' into dbkr/new_unread_count_format
2016-01-21 09:50:20 +00:00
Matthew Hodgson
787c0ebabc
fix another test
2016-01-21 00:14:29 +00:00
Matthew Hodgson
d559ad794a
STUPID LINE LENGTH LIMITS
2016-01-21 00:10:15 +00:00
Matthew Hodgson
24655ac60e
missing semicolon
2016-01-21 00:02:24 +00:00
Matthew Hodgson
5fd0ea2f6f
fix test
2016-01-20 23:56:16 +00:00
Matthew Hodgson
eaf7b03bb1
if we are the only person in a room, call it an 'Empty room' too, given this is how humans see a room if they're the only person in it...
2016-01-20 23:55:09 +00:00
David Baker
d375804cd6
Merge branch 'develop' into dbkr/new_unread_count_format
2016-01-20 18:53:14 +00:00
David Baker
a24a9d35c4
Fix PR comments: typos and redundant line
2016-01-20 18:52:32 +00:00
Kegan Dougal
a0d81fccdb
Fix test
2016-01-20 17:29:27 +00:00
David Baker
b4e4aaff00
Merge branch 'develop' into dbkr/new_unread_count_format
2016-01-20 17:25:54 +00:00
Matthew Hodgson
3a73b54e4a
.name defaults to mxid
2016-01-20 17:22:16 +00:00
David Baker
5ec0fce2a4
style
2016-01-20 17:19:26 +00:00
Matthew Hodgson
8b7497374f
name self-chats by displayname if possible rather than mxid, and name empty-chats as 'Empty room' rather than the fugly '?'
2016-01-20 17:19:13 +00:00
David Baker
8cb180525e
Add getter/setter for unread notif counts.
2016-01-20 17:16:20 +00:00
Kegan Dougal
6df9d08dc1
Fix tests
2016-01-20 15:59:34 +00:00
David Baker
b3c06dd723
Update for new unread count format
2016-01-20 15:59:06 +00:00
Kegan Dougal
2a88b8db4e
Improve performance of hasMembershipState to not be stupid
2016-01-20 15:09:35 +00:00
Kegsay
31c29b7e5e
Merge pull request #67 from matrix-org/kegan/address-book
...
Make getUsers() return users for *EEEEEVERYOOOOONE*
2016-01-19 12:51:16 +00:00
Kegan Dougal
865db906e3
Make getUsers() return users for *EEEEEVERYOOOOONE* regardless of presence events
2016-01-19 11:40:08 +00:00
manuroe
0b52a7e7c9
Merge branch 'push-rules-settings' into develop
...
# Conflicts:
# lib/sync.js
2016-01-18 17:35:51 +01:00
manuroe
80f7220a7b
Merge branch 'develop' into push-rules-settings
...
# Conflicts:
# lib/sync.js
2016-01-18 17:33:13 +01:00
manuroe
2e664adb32
Updated push rules methods after review
2016-01-18 17:22:35 +01:00
Kegan Dougal
14ef9348be
Add getUsers()
2016-01-18 12:05:26 +00:00
Kegsay
3c170bf063
Merge pull request #66 from matrix-org/matthew/roomsettings2
...
deleteAlias() support
2016-01-18 10:27:58 +00:00
Kegan Dougal
3e67406a30
Tweak docs
2016-01-18 10:27:43 +00:00
Matthew Hodgson
d6075bb5bd
add an XXX
2016-01-17 23:32:00 +00:00
Matthew Hodgson
d8e56dad1b
oops
2016-01-16 01:01:11 +00:00
Matthew Hodgson
67872206ff
deleteAlias() support
2016-01-16 00:58:44 +00:00
Richard van der Hoff
43e7173c30
fix some racy tests
2016-01-16 00:18:51 +00:00
Richard van der Hoff
e0ddd65922
Address review comments
...
Improve comments and naming.
2016-01-15 23:50:09 +00:00
Richard van der Hoff
dfb2fa821d
minor jsdoc fixes
2016-01-15 17:11:00 +00:00
Richard van der Hoff
fce7248ed5
Flag the top of the timeline when we hit it
2016-01-15 17:10:01 +00:00
Richard van der Hoff
e68ab7d54a
Tweak duplicateStrategy code to reduce diff
2016-01-15 13:23:51 +00:00
Richard van der Hoff
706966ffe9
Support for non-contiguous event timelines
...
This provides optional support for fetching old events via the /context API,
and paginating backwards and forwards from them, eventually merging into the
live timeline.
To support it, events are now stored in an EventTimeline, rather than directly
in an array in the Room; the old names are maintained as references for
compatibility.
The feature has to be enabled explicitly, otherwise it would be impossible for
existing clients to back-paginate to the old events after a gappy /sync.
Still TODO here:
* An object which provides a window into the timelines to make them possible to
use. This will be a separate PR.
* Rewrite the 'EventContext' used by the searchRoomEvents API in terms of an
EventTimeline - it is essentially a subset.
2016-01-15 13:19:11 +00:00
manuroe
e3b4cb03e1
Fixed Jenkins tests complaints
2016-01-14 19:17:08 +01:00
manuroe
8011aab561
Added MatrixClient getRoomPushRule and setRoomMutePushRule methods
2016-01-14 18:58:15 +01:00
Matthew Hodgson
a8d24798e6
oooooooops... let's pretend nobody saw this
2016-01-14 17:23:04 +00:00
Kegan Dougal
e4c38ac78c
Linting
2016-01-13 15:31:27 +00:00
Kegan Dougal
5fa6f0037f
Cache the third_party_invite token to allow constant time lookups
2016-01-13 15:31:27 +00:00
Matthew Hodgson
a0df2a70cd
s/getImplicitRoomName/getDefaultRoomName/ # as kegan doesn't like the word 'implicit'
2016-01-13 14:02:26 +00:00
Kegan Dougal
0bab00c47c
Add debug logging to sync polling. Add speculative fix for vector-im/vector-web#544
2016-01-13 13:17:21 +00:00
Matthew Hodgson
f48fb34818
Merge pull request #62 from matrix-org/matthew/roomsettings2
...
Room.getImplicitRoomName
2016-01-13 12:58:52 +00:00
Matthew Hodgson
8810ff2256
merge and add null check
2016-01-13 12:58:46 +00:00
Matthew Hodgson
17efc5163f
Merge branch 'develop' into matthew/roomsettings2
2016-01-13 12:55:30 +00:00
Matthew Hodgson
3ce07a020d
ooops - fix getDomain expression
2016-01-13 12:52:22 +00:00
Matthew Hodgson
71abef0117
fix merge conflict
2016-01-13 12:46:47 +00:00
Matthew Hodgson
a79270b8f8
Merge pull request #61 from matrix-org/matthew/accountdata
...
implement account data
2016-01-13 12:43:53 +00:00
Matthew Hodgson
87db054e22
fix jsdoc
2016-01-13 12:43:42 +00:00
Kegan Dougal
ae06dd2ab8
Fix thinko where idServerRequests return strings
2016-01-12 17:23:50 +00:00
Matthew Hodgson
88c7293838
based on PR review, rewrite account_data support to avoid tracking the section that events came from, and instead having /sync results piped into the right bit of the room directly
2016-01-11 19:25:44 +00:00
Matthew Hodgson
051e83582b
add a cli.getDomain() method rather than react-sdk maintaining its own (multiple) implementations
2016-01-11 18:23:07 +00:00
Matthew Hodgson
57072bc4f4
s/implicit/ignoreRoomNameEvent/ on calculateRoomName
2016-01-11 18:20:26 +00:00
Kegan Dougal
e8f77256de
Set the updated .sender and .target props on the event when the event itself updates these props.
2016-01-11 17:35:46 +00:00
Kegan Dougal
51fe73bc27
Return v2 prev_content when calling getPrevContent()
2016-01-11 17:15:52 +00:00
Kegan Dougal
97003f7382
Use timeout=0 rather than timeout=1 because of SYN-588
...
Fixes https://github.com/vector-im/vector-web/issues/606
2016-01-11 16:33:43 +00:00
manuroe
c10218a1fa
Fixed Jenkins tests complaints
2016-01-11 17:12:28 +01:00
manuroe
5c59a2ea3e
Fixed MatrixClient pushRules method and ivar clash.
...
Added MatrixClient.setPushRuleEnabled method.
2016-01-11 17:00:05 +01:00
Kegsay
0b79ac1386
Merge pull request #60 from matrix-org/kegan/guest-access
...
Add constructs for guest access
2016-01-11 15:19:14 +00:00
Kegan Dougal
4fe95f18b9
More commenting on the creation of guest filters
2016-01-11 14:52:06 +00:00
Kegan Dougal
db5ca49ee2
Linting
2016-01-11 09:31:00 +00:00
Matthew Hodgson
d7158b575f
fix trailing space
2016-01-10 20:05:58 +00:00
Matthew Hodgson
678d70528e
add a Room.getImplicitRoomName so clients can know what a room would be called if it didn't have an explicit m.room.name state event
2016-01-10 20:02:35 +00:00
David Baker
02b33766ee
Document the order of the room timeline because I can never remember which way round it is.
2016-01-08 20:26:07 +00:00
Matthew Hodgson
9bd45cf7c7
more lint and thinkos
2016-01-08 03:45:05 +00:00
Matthew Hodgson
c64aebdb17
lint and thinkos
2016-01-08 03:41:05 +00:00
Matthew Hodgson
387ad09c5f
implement account data
2016-01-08 03:22:08 +00:00
Kegan Dougal
ea3bd1450e
Add functions to support upgrading guest accounts
2016-01-07 17:23:56 +00:00
Kegan Dougal
8f4bd9c693
NOP typing/receipts when a guest
2016-01-07 15:03:37 +00:00
Kegan Dougal
cdb4bc5107
Implement peek syncing.
...
This involves hitting room initial sync then /events?room_id=!thing:here
It even works.
2016-01-07 14:58:28 +00:00
Matthew Hodgson
446faed9b5
copyrights please...
2016-01-07 04:15:38 +00:00
Kegan Dougal
d36c928d95
Fix tests
2016-01-06 17:35:56 +00:00
Kegan Dougal
3a3f25c1bc
Remove guest rooms array; replace with a peeking SyncApi
...
After much discussion, the HS will now behave the same for guests/non-guests
wrt joining a room (you get the entire room state on join). This leave "peeking"
which never triggers a join. This can be implemented for guests by doing a
room initial sync followed by a specific /events poll with a specific room_id.
This means there are 2 sync streams: /sync and the peek /events. Architected
so you can only have 1 peek stream in progress at a time (if this were arbitrary
we'd quickly run into concurrent in-flight browser request limits (5).
2016-01-06 17:29:14 +00:00
Kegan Dougal
73e65bc18b
Add setGuestAccess to allow easy room guest access configuration.
2016-01-05 17:09:10 +00:00
Kegan Dougal
445491c4ad
Fix guest rooms UT to reflect reality
2016-01-05 16:57:59 +00:00
Kegan Dougal
f12499c6bf
Support guest room filters
2016-01-05 13:24:51 +00:00
Kegan Dougal
8c6c65ab6c
Don't do requests we know are going to fail as a guest
2016-01-05 11:50:24 +00:00
Richard van der Hoff
b85e267fdb
Merge pull request #59 from matrix-org/rav/event_context
...
Enhancements to search results, and event context implementation
This change adds support to the JDK for processing the results of a room
search, as well as back-paginating the results.
It treats each search result as a 'context' object, which can itself be
backwards or forward-paginated.
2016-01-04 12:50:10 +00:00
Richard van der Hoff
c669d21af7
Enhancements to search results, and event context implementation
...
This change adds support to the JDK for processing the results of a room
search, as well as back-paginating the results.
It treats each search result as a 'context' object, which can itself be
backwards or forward-paginated.
2016-01-04 12:50:07 +00:00
Kegsay
3e4cef89fd
Merge pull request #58 from matrix-org/notif_sync
...
Propagate the unread count from sync onto rooms
2015-12-23 10:07:13 +00:00
David Baker
a06d1f62d7
Merge remote-tracking branch 'origin/develop' into notif_sync
2015-12-22 14:47:39 +00:00
Kegan Dougal
2802092231
Add 60s to client-side timeout to account for slow HSes
2015-12-21 13:49:14 +00:00
Richard van der Hoff
a419e241a6
Merge pull request #57 from matrix-org/rav/search_backfill
...
Allow passing a next_batch token into /search for backfill
2015-12-21 09:15:53 +00:00
David Baker
7aa4bd7f46
Propagate unread notif count from sync to the room object
2015-12-18 17:49:42 +00:00
Kegsay
2eec76bc1d
Merge pull request #56 from matrix-org/kegan/archived-rooms
...
Add syncLeftRooms()
2015-12-18 16:57:17 +00:00
Richard van der Hoff
13fcff9688
Allow passing a next_batch token into /search for backfill
2015-12-18 16:23:48 +00:00
Kegan Dougal
1174147d64
Don't lie in comments; remove spurious flag setting
2015-12-18 15:29:28 +00:00
Kegan Dougal
de53b292a2
Remove debug logging
2015-12-18 15:21:28 +00:00
Kegan Dougal
b50d61428c
Impl syncing of left rooms. Factor out getting or creating filters.
2015-12-18 11:57:46 +00:00
Kegan Dougal
4bc5343b67
Merge branch 'develop' into kegan/archived-rooms
2015-12-18 09:47:43 +00:00
Kegan Dougal
da560ffeff
Fix SYJS-38 - Events stuck in 'sending' state
...
v1 used to clobber events after sending so `.status` would be `null`. v2 is
smarter and just clobbers the `.event` data so references to the local echo
event would reflect the new event. However, the `.status` in this case would
still have the old value (SENDING), so make sure to reset it after the 200 OK
from sending the event.
2015-12-18 09:14:48 +00:00
Kegan Dougal
59965b1c59
Add public api for syncing left rooms. Not implemented yet.
2015-12-17 17:17:53 +00:00
Kegsay
431f4a4797
Merge pull request #55 from matrix-org/kegan/sync-exp-backoff
...
Reset /sync backoff if setTimeout takes a long time to fire
2015-12-17 16:42:22 +00:00
Kegan Dougal
40c3fe558c
Add note stating when timing delays can occur.
2015-12-17 16:31:00 +00:00
Kegan Dougal
a12cd8d4a0
Fix JSDoc
2015-12-17 16:18:28 +00:00
Kegan Dougal
ac7a469582
Add setIncludeLeaveRooms
2015-12-17 15:53:56 +00:00
Kegan Dougal
2e9376614f
BREAKING: Add bindEmail option to register()
2015-12-17 14:13:17 +00:00
Kegan Dougal
cd9d1daf17
Reset /sync backoff if setTimeout takes a long time to fire
...
This fixes vector-web/vector-im#536
The bug here is that we were assuming `setTimeout` would fire after the
requested time. This is not true when the machine is asleep. We now timestamp
before and after `setTimeout` and reset the attempt count if we have waited
more than twice what we originally requested. This allows for some jitter which
is to be expected.
2015-12-17 11:27:21 +00:00
Kegan Dougal
bfa8dd0007
Cache the local event ID else we can remove a real event. Fixes vector-im/vector-web#530
2015-12-16 17:51:12 +00:00
Kegan Dougal
7e35ef258f
Delete the room when it is forgotten and fire a new experimental event
2015-12-16 16:25:09 +00:00
Kegan Dougal
8bd43a8d53
Add /forget
2015-12-16 15:57:29 +00:00
Kegsay
8b87c0045d
Merge pull request #54 from matrix-org/kegan/stale-call-notifications
...
Do not erroneously emit Call.incoming events on startup
2015-12-15 17:03:03 +00:00
Kegan Dougal
77356f0007
Fix vector-im/vector-web#494
2015-12-15 16:54:26 +00:00
Kegan Dougal
4cd6f615b3
Do bear minimum leave room handling so rejecting invites / leaving rooms are displayed correctly.
2015-12-15 16:21:36 +00:00
Kegan Dougal
65ef1dfd75
Lint and tests
2015-12-15 15:57:24 +00:00
Kegan Dougal
5719d513b7
Strip protocol part when doing 3PID invites for. Partially fixes vector-im/vector-web#419
2015-12-15 15:52:52 +00:00
Kegsay
b90697264c
Follow the spec
2015-12-15 15:33:56 +00:00
Kegan Dougal
406a2bb001
Do not erroneously emit Call.incoming events on startup
...
Check to see if the call was answered or hung up in addition to having a valid
lifetime before emitting the event. Fixes vector-im/vector-web#344
2015-12-15 15:13:41 +00:00
Kegsay
3115043b94
Merge pull request #53 from matrix-org/kegan/v2-sync
...
Use /sync instead of /initialSync and /events
2015-12-15 14:24:26 +00:00
Kegan Dougal
bfda04daea
Move local timeout logic to the HTTP API class. Fixes /sync bug
...
The ability to set a local timeout is applicable to any request, so move it
to http-api.js - We only use this on /sync requests currently. This simplifies
the SyncApi since it doesn't need to worry about it anymore -- the request
promise just gets rejected if the timer expires.
Whilst testing I noticed a weird anomaly which I cannot explain. Playing with
Chrome's network debugger, once you recover from a black hole (0kbps, 90s RTT)
the subsequent requests take 20s to return *even though there is no throttling*.
This was causing issues when using a local timer of timeout= and BUFFER_PERIOD_MS
when timeout=1 due to attempts>1 - they were being knifed before the response
could return. The 20s latency was entirely artifical (checked synapse logs and
they were sub 1s), but I cannot find anywhere in the JS-SDK or browser-requests
where this would be the cause. This persisted even when BUFFER_PERIOD_MS was
changed from 20s to 10s.
2015-12-15 11:59:41 +00:00
Kegan Dougal
46504b8b9f
Fix tests; need more paranoia
2015-12-14 14:16:47 +00:00
Kegan Dougal
f48c9175e5
Linting
2015-12-14 14:12:49 +00:00
Kegan Dougal
bd4d8433ab
Fix catchup bugs caused by using a stale pagination token
2015-12-14 14:11:25 +00:00
Kegan Dougal
a00e318d73
Fix pagination - set prev_batch at the right time
2015-12-14 12:28:04 +00:00
Kegan Dougal
fcf1abb185
Use v2 transaction IDs to suppress dupes without linear scans of the timeline!
2015-12-14 11:35:50 +00:00
Kegan Dougal
13cab79e04
Revert prev commit - emit SYNCING>SYNCING and now comment why we do this
2015-12-14 10:31:27 +00:00
Kegan Dougal
fc6ce20e14
Check unsigned.age for getAge() for v2. Don't spam SYNCING emissions.
2015-12-14 10:27:53 +00:00
Kegan Dougal
9c49d26525
Linting
2015-12-14 09:24:33 +00:00
Kegan Dougal
d6299b634c
Scope filter keys in localStorage on user_id
2015-12-14 09:22:02 +00:00
Kegan Dougal
a6f64b5f03
v2 filter test
2015-12-11 15:27:40 +00:00
Kegan Dougal
465635444f
s/user_id/sender/g in tests
2015-12-11 15:07:40 +00:00
Kegan Dougal
eedff29acb
Add filter stub to crypto test
2015-12-11 13:35:46 +00:00
Kegan Dougal
7c43d15ea5
More linting; crypto test fix
2015-12-11 13:31:26 +00:00
Kegan Dougal
de32ac0c44
Fix linting
2015-12-11 13:23:46 +00:00
Kegan Dougal
3d9d31d6b1
Fix remaining integration tests
2015-12-11 13:22:27 +00:00
Kegan Dougal
b219836b3e
Fix a bunch of integration tests
2015-12-11 12:53:26 +00:00
Kegan Dougal
26d9fed537
Fix MatrixClient unit tests
2015-12-11 11:07:31 +00:00
Kegan Dougal
d6ba39f292
More linting
2015-12-10 15:01:39 +00:00
Kegan Dougal
8576ebce8f
Linting
2015-12-10 14:57:13 +00:00
Kegan Dougal
f08152a1d8
Handle ephemeral and account_data events
2015-12-10 14:27:21 +00:00
Kegan Dougal
6af2197183
Process join rooms and add local timeouts to /sync
...
This actually works now, though there's a number of teething
issues which may be app-specific. That, and all the tests are
broken.
2015-12-10 14:14:56 +00:00
Kegan Dougal
4c7e6807d2
Parse invites from /sync
2015-12-10 13:26:50 +00:00
Kegan Dougal
11f0513c62
Merge branch 'develop' into kegan/v2-sync
2015-12-10 11:50:48 +00:00
Kegan Dougal
3d57b4ce6a
Be paranoid on /sync processing
2015-12-09 16:41:36 +00:00
Kegan Dougal
243bdd78f4
Handle presence key in /sync
2015-12-09 16:09:47 +00:00
Kegan Dougal
b622960b32
Do all prep for /sync calls
...
This includes managing filters in localStorage. The /sync response
is not yet parsed.
2015-12-09 15:25:09 +00:00
Kegan Dougal
06f927aa22
Minor cleanup and reshuffle
2015-12-09 11:27:03 +00:00
Kegan Dougal
f7ffed4b98
More linting
2015-12-09 11:19:20 +00:00
Kegan Dougal
0576e4ca0c
Linting
2015-12-09 11:16:46 +00:00
Kegan Dougal
529fb23555
Linting
2015-12-09 10:43:21 +00:00
Kegan Dougal
3543abf7bd
Make things work again
2015-12-09 10:42:38 +00:00
Kegsay
a5847485b9
Merge pull request #52 from matrix-org/kegan/v2-filters
...
Support v2 filters
2015-12-09 09:10:59 +00:00
Kegan Dougal
2b659656cc
Move alllll the sync code to sync.js - still more to do (in FIXME XXX)
2015-12-08 17:41:09 +00:00
Kegan Dougal
ac3aa5538f
Linting
2015-12-08 16:10:52 +00:00
Kegan Dougal
c65f32f6a6
Add filter integration tests; more bug fixes.
2015-12-08 16:08:04 +00:00
Kegan Dougal
86a162c818
Add filter UTs and fix bugs
2015-12-08 15:39:55 +00:00
Kegan Dougal
1987726a95
Add initial v2 filter impl
2015-12-08 15:23:09 +00:00
Kegsay
d2537cd00c
Merge pull request #51 from matrix-org/kegan/unsent-timeline
...
Add config option to control how pending events are ordered
2015-12-07 17:00:43 +00:00
Kegan Dougal
61db191835
Add UTs
2015-12-07 15:45:13 +00:00
Kegan Dougal
b7ac6a2e33
Add config option to sort pending events to the end of the timeline
2015-12-07 15:36:32 +00:00
Kegan Dougal
c0178c3e80
Add getScheduler. Fix JSDoc
2015-12-07 11:29:02 +00:00
Kegsay
e58fb29722
Merge pull request #50 from matrix-org/kegan/scrollback-requests
...
Scrollback improvements
2015-12-04 17:39:22 +00:00
Kegan Dougal
a1300ec095
Wait for the last request (/messages, not /events)
2015-12-04 17:34:56 +00:00
Kegan Dougal
73e0216f78
Scrollback improvements
...
Add a 3s delay between scrollback requests if the previous scrollback request
failed.
Return the same promise if scrollback() is called multiple times whilst a
scrollback request is ongoing.
2015-12-04 17:27:16 +00:00
Kegan Dougal
d16dfdaee3
Also emit a 'RoomState.members' event for m.room.power_levels
2015-12-04 16:11:13 +00:00
Kegan Dougal
02a605f368
Guest room ID fixes / initialSync support
2015-12-04 15:31:07 +00:00
Kegan Dougal
71d5756223
Fix linting
2015-12-04 09:36:18 +00:00
Kegan Dougal
2866743ce6
Fix broken test
2015-12-04 09:33:53 +00:00
David Baker
e91a5e3793
Merge pull request #49 from matrix-org/upload_cancel
...
Add ability to cancel file uploads
2015-12-03 10:57:37 +00:00
David Baker
7f5ad041cc
Pass the http status out with the error so upper level can can see what went wrong.
2015-12-03 10:51:09 +00:00
David Baker
92ea275275
Add ability to cancel file uploads
2015-12-02 18:14:13 +00:00
Kegan Dougal
0c114a2ab3
Only send up room_ids query param if isGuest is set
2015-12-02 12:34:25 +00:00
Matthew Hodgson
e3757880ee
add sendHtmlEmote
2015-11-29 01:18:22 +00:00
Kegan Dougal
88d680ef77
s/private_user_data/account_data/g
2015-11-20 17:32:25 +00:00
David Baker
e1b3cf027c
Merge pull request #47 from matrix-org/ignore-non-mxc
...
Don't return non-mxc URLs by default.
2015-11-12 15:51:20 +00:00
David Baker
d0a725d1cc
moar backticks
2015-11-12 15:50:57 +00:00
David Baker
07dbd26ba4
Typo
2015-11-12 15:40:59 +00:00
David Baker
c93f56e4ec
oops, 0.3.0 was already released
2015-11-12 15:40:32 +00:00
David Baker
c0866b9787
Add changelog entry for breaking change
2015-11-12 15:39:12 +00:00
David Baker
14a9f6c444
lint & quote style
2015-11-12 12:14:13 +00:00
David Baker
588870b479
lint
2015-11-12 12:08:20 +00:00
David Baker
f74bb3c145
Update UTs
2015-11-12 12:05:06 +00:00
David Baker
7095753410
Don't return non-mxc URLs by default.
2015-11-12 11:57:53 +00:00
Kegan Dougal
4f851dc431
Add isGuest/setGuest
2015-11-11 13:40:06 +00:00
Kegsay
e89cc336b1
Merge pull request #46 from matrix-org/kegan/anon
...
Guest access endpoints
2015-11-10 17:06:04 +00:00
Kegan Dougal
959c588658
Guest rooms UTs
2015-11-10 16:49:50 +00:00
Kegan Dougal
7c887c1a5d
Linting
2015-11-10 16:38:15 +00:00
Kegan Dougal
56bcf9796a
Add MatrixClient.setGuestRooms
...
This is used in /events to grab events for the rooms the Guest is interested
in.
2015-11-10 16:36:44 +00:00
Kegan Dougal
ee270314f8
Expose setting the HTTP body for extensibility
2015-11-10 16:30:41 +00:00
Kegan Dougal
bda76afe4b
Add a registerGuest endpoint
2015-11-10 16:25:15 +00:00
David Baker
4d426a3f31
The ts, not the event
2015-11-10 11:58:59 +00:00
Kegsay
9d33248c6e
Merge pull request #45 from matrix-org/3pid-invites
...
Invite by 3PID endpoint
2015-11-09 17:09:35 +00:00
Kegan Dougal
46329ceb94
Remove the ability to set display_name in line with new spec
2015-11-09 16:58:52 +00:00
Kegan Dougal
2160f0bc08
Don't allow the IS URL to be configured on a per-request basis.
2015-11-09 16:51:12 +00:00
Kegan Dougal
b231f19ec6
Make the display_name check for contains rather than equality. Add UT.
2015-11-09 16:50:10 +00:00
Kegan Dougal
6eb896e7a3
Use a small timeout when trying to poll when having previously failed. This makes re-connects propagate more quickly.
2015-11-09 15:55:09 +00:00
David Baker
d7874315c3
Merge pull request #44 from matrix-org/implicit_read_receipts_2
...
Synthesize implicit read receipts in recalculateRoom
2015-11-09 15:08:04 +00:00
David Baker
c95b27683f
Add higher level keys to fake receipts
2015-11-09 15:05:46 +00:00
Kegan Dougal
b0655d0431
Add UTs
2015-11-09 14:45:17 +00:00
David Baker
ad24596d3f
Revert c13b180 as it fails lint (creating functions in a loop)
2015-11-09 13:48:05 +00:00
Kegan Dougal
80a6cf34e2
Add 3pid invite endpoints
2015-11-09 11:58:45 +00:00
David Baker
c13b1800b9
forEach probably nicer here
2015-11-09 10:23:37 +00:00
Kegsay
b4bb0f011d
Merge pull request #39 from matrix-org/matthew/room-tags
...
Room tag support
2015-11-09 09:34:57 +00:00
Matthew Hodgson
b9ace61ccb
split long lines
2015-11-07 20:26:16 +00:00
Matthew Hodgson
21273582a4
room tagging unit tests
2015-11-07 20:23:21 +00:00
Matthew Hodgson
53bbabea4f
pass event in the Room.tags event
2015-11-07 20:23:09 +00:00
Matthew Hodgson
170a78a420
convert PUD POJOs to events with ugly utils.map rather than iterating in the for loop
2015-11-07 20:20:50 +00:00
Matthew Hodgson
8771ced8e4
fix jsdoc thinko
2015-11-07 17:28:37 +00:00
Matthew Hodgson
dc7d2698b7
Merge branch 'develop' into matthew/room-tags
2015-11-07 17:25:53 +00:00
Matthew Hodgson
3d4694a92f
fix casing of tagName
2015-11-07 17:22:45 +00:00
David Baker
8b2f94a6b2
Merge branch 'develop' into implicit_read_receipts_2
2015-11-06 15:39:16 +00:00
David Baker
6736164d98
Make linter happy (space at end of line)
2015-11-06 15:38:46 +00:00
David Baker
77266fe221
Fix lint errors and make thing that didn't need to be a member function not a member function
2015-11-06 15:26:35 +00:00
David Baker
14a48c1182
Synthesize implicit read receipts in recalculateRoom to make them correct when the room is first loaded.
2015-11-06 15:13:30 +00:00
Kegsay
5f6e52f367
Merge pull request #42 from stevenhammerton/sh-token-login
...
SH - CAS / Login token login
2015-11-06 14:34:48 +00:00
Steven Hammerton
e71a87c62c
Update javadoc
2015-11-06 12:14:24 +00:00
Steven Hammerton
b963f177cc
Update CAS login to return url rather than update location as the JS SDK may not be run within a browser env
2015-11-06 12:11:50 +00:00
Steven Hammerton
c3097979f2
Change login with CAS to redirect to HS for CAS login
2015-11-06 11:19:32 +00:00
Kegan Dougal
21e56d2f53
Tweak RETRY_BACKOFF_RATELIMIT to take browser-request's CORS failures into account.
2015-11-05 15:48:48 +00:00
Kegsay
455ce26741
Merge pull request #40 from matrix-org/kegan/syncing
...
Syncing bugs/fixes
2015-11-05 14:53:47 +00:00
Steven Hammerton
d241f5b3eb
Add login with token method
2015-11-05 14:51:23 +00:00
David Baker
d34f8eda1a
Merge pull request #41 from matrix-org/implicit_read_receipts
...
Implicit read receipts
2015-11-05 14:42:48 +00:00
David Baker
483095c3da
Fix PR comments
2015-11-05 14:41:35 +00:00
David Baker
856c34016d
Fix event removal
2015-11-05 14:13:52 +00:00
David Baker
ad80d4f059
fix lint errors
2015-11-05 13:57:21 +00:00
David Baker
0da547a239
Implicit read receipts
...
* Inject implicit read receipts into the timeline
* Twiddle local echo a bit to make the implicit receipts match the various different stages of local echo.
2015-11-05 13:39:03 +00:00
Kegan Dougal
16278892d8
Modify how detection of the end of pagination is done
...
Synapse may filter down the events resulting in < 'limit' events being
returned *but it still has more events*. Change the check to see if the
request returned an empty array instead. This may add an extra HTTP hit.
2015-11-05 13:26:16 +00:00
Kegan Dougal
8500f404a9
Finish implementing UTs
2015-11-05 13:12:37 +00:00
Kegan Dougal
5d782a317c
Add some sync emission tests. Emit after starting timers.
...
We want to emit AFTER starting the timers so tests can speed
up time. We also want to do this because clients may want to
retryImmediately() on sync errors (which would be lost unless
the timer had already been started)
2015-11-04 16:09:30 +00:00
Kegan Dougal
af435204a0
More helpful logging
2015-11-04 15:40:42 +00:00
Kegan Dougal
b4c353e65f
Linting
2015-11-04 15:37:10 +00:00
Kegan Dougal
e42f6c0cad
Add http fixings to allow MatrixClient UTs
2015-11-04 15:35:31 +00:00
David Baker
bc512a6e4c
Check m.room.name event actually has a name in the content before using it. This should fix the recent disasters with #android being shown as 'undefined' (or crashing vector).
2015-11-04 15:20:25 +00:00
Kegsay
9cf7edc48d
Merge pull request #38 from matrix-org/receipt_events
...
Emit events for read receipts
2015-11-04 12:04:19 +00:00
David Baker
904539df58
Fix c+p fail & add unit test
2015-11-04 12:02:02 +00:00
Kegan Dougal
c9df9c33a8
Linting
2015-11-04 11:53:10 +00:00
Kegan Dougal
5c3bfa6a83
Add stub unit tests for syncing
2015-11-04 11:50:32 +00:00
Matthew Hodgson
149ed04a4f
fix some review feedback; add initial api for setting & deleting tags; still a WIP
2015-11-04 02:24:36 +00:00
Kegan Dougal
e98eaaee6e
Add MatrixClient.retryImmediately() to stop backing off and sync RIGHT NOW
2015-11-03 17:13:50 +00:00
Kegan Dougal
4b93d801ae
Implement the new sync state API
...
Also have retry schemes for the rest of the syncing ops (/events, /pushrules)
2015-11-03 16:44:19 +00:00
Matthew Hodgson
5a1cc4c2e7
store the tags in the right place
2015-11-03 16:19:52 +00:00
Matthew Hodgson
8016a70bc4
remember to check initialSync for m.tag events
2015-11-03 16:18:12 +00:00
Matthew Hodgson
70536d5676
add support for tracking room tags
2015-11-03 16:05:48 +00:00
Kegan Dougal
27ce0970c5
BREAKING: Introduce a formal API for syncing state
...
BREAKING CHANGE:
This replaces syncComplete and syncError.
2015-11-03 14:35:49 +00:00
Kegan Dougal
49f6634d73
Retry /initialSync if it fails (exp backoff up to 2.1min).
2015-11-03 14:01:17 +00:00
David Baker
142ee81e66
Emit events for read receipts
2015-11-03 11:43:52 +00:00
Kegan Dougal
3b21998d96
Expose timeout= on /events to clients
2015-11-03 10:18:56 +00:00
Kegan Dougal
0fb307d09b
Use the history length specified in startClient() for room initial syncs.
2015-11-03 10:15:30 +00:00
Kegsay
c1160d3419
Merge pull request #36 from matrix-org/kegan/event-stream-js-errors
...
Wrap /events response processing in a try/catch
2015-11-02 17:13:17 +00:00
Kegsay
48253f0ff0
Merge pull request #37 from matrix-org/kegan/supports-voip
...
Add MatrixClient.supportsVoip()
2015-11-02 17:10:46 +00:00
Kegan Dougal
c3c7ee5453
Add MatrixClient.supportsVoip()
...
This allows developers to gracefully degrade their UIs if VoIP is not supported.
2015-11-02 17:03:19 +00:00
David Baker
c6aac8cbd9
Merge pull request #35 from matrix-org/event_read_up_to
...
Add event to get last read receipt for a user.
2015-11-02 16:04:16 +00:00
David Baker
1b43bc78d0
Remove unnecessary null check & s/"/'/
2015-11-02 16:02:48 +00:00
Kegan Dougal
93a091c7e8
Wrap /events response processing in a try/catch
2015-11-02 16:02:06 +00:00
David Baker
083dde3557
Fix doc
2015-11-02 16:00:40 +00:00
David Baker
4adc5f2c85
Also need to check if the event is null
2015-11-02 15:19:29 +00:00
Daniel Wagner-Hall
ced14819e4
Merge pull request #34 from matrix-org/daniel/naming
...
Simplify logic and layout
2015-11-02 15:07:58 +00:00
Daniel Wagner-Hall
0b42d85c5b
Use double-quotes for consistency
2015-11-02 15:07:47 +00:00
David Baker
c4a35020f1
Add event to get last read receipt for a user.
2015-11-02 14:39:10 +00:00
Daniel Wagner-Hall
11f052bcc6
Simplify logic and layout
2015-10-30 14:58:59 +00:00
Kegan Dougal
0ea11ea806
Add 0.3.0 browser dist
2015-10-28 16:54:07 +00:00
Kegan Dougal
7cad5a0479
Merge branch 'develop'
2015-10-28 16:49:11 +00:00
Kegan Dougal
83c53f6a79
Fix doc typo
2015-10-28 16:48:08 +00:00
Kegan Dougal
ae13ed7ded
Add disclaimer to screensharing
2015-10-28 16:45:07 +00:00
Kegan Dougal
b17385120a
Bump to 0.3.0 and add CHANGELOG
2015-10-28 16:42:44 +00:00
Kegsay
cc0d8da416
Merge pull request #32 from matrix-org/member-info-for-invites
...
Retrieving profile info for invites
2015-10-26 16:42:21 +00:00
Kegsay
c796702eba
Merge pull request #31 from matrix-org/search-api
...
Add search functions and tests
2015-10-26 16:36:15 +00:00
Kegan Dougal
2675442ced
Line lengths
2015-10-26 16:31:10 +00:00
Kegan Dougal
aa3e6514c6
Add test for firing (pew pew) of events
2015-10-26 16:30:15 +00:00
Kegan Dougal
be6d64fbfd
Add integration tests; fix bugs.
2015-10-26 16:12:06 +00:00
Kegan Dougal
4cbab72369
Resolve invites to profile info
...
This is so inviters/invitees have a display name and avatar_url if they have
set one. This info isn't contained in the m.room.member event so we get it
direct from /profile.
This is gated behind `resolveInvitesToProfiles` on `startClient(opts)`.
2015-10-26 15:27:44 +00:00
Kegan Dougal
0227b1c68d
Add search functions and tests
2015-10-26 13:27:45 +00:00
Matthew Hodgson
4c051202af
s/getMembersWithMemership/getMembersWithMembership/g
2015-10-24 01:45:02 +01:00
Matthew Hodgson
981b9e0595
Merge branch 'screen-sharing' into develop
2015-10-23 12:58:55 +01:00
Matthew Hodgson
9e719ba31e
drop res back to 640x360 as 1024x576 gave us the wrong aspect ratio
2015-10-23 12:57:46 +01:00
Kegan Dougal
c65f576f8d
More logging
2015-10-21 17:15:26 +01:00
Kegan Dougal
2c805bbece
More paranoia when handling responses
2015-10-21 16:00:31 +01:00
Kegan Dougal
02b836698c
More clarity on cache updating
2015-10-21 14:07:14 +01:00
Kegsay
25112ede58
Merge pull request #30 from matrix-org/set-state-events-perf
...
Change calculating display names from O(n^2) to O(n)
2015-10-21 13:47:54 +01:00
Kegan Dougal
5888c8a56c
Commenting on splice
2015-10-21 13:47:23 +01:00
Kegan Dougal
1cee7bf397
JSDoc
2015-10-21 13:30:32 +01:00
Kegan Dougal
cab7a71a94
Change calculating display names from O(n^2) to O(n)
...
Reduces initial sync times from ~30s to ~1s on accounts with heavily
populated rooms.
The problem was that f.e. RoomMember it would try to calculate the
display name, which involved looping each RoomMember to get their
display name to check for disambiguation. We now cache display names
to user IDs so we don't need to loop every member when disambiguating.
2015-10-21 13:25:23 +01:00
Matthew Hodgson
d7c63e3487
Merge pull request #29 from matrix-org/screen-sharing
...
Basic screen-sharing support; adds a screensharing stream into the call and adds support for playback of both an audio-only stream (i.e. the voice-over) alongside an AV stream like the screenshare.
2015-10-21 01:45:38 +01:00
Matthew Hodgson
bff749fd50
fix linter
2015-10-21 01:44:54 +01:00
Matthew Hodgson
5c286352cb
improve constraints a bit; fix comments; try to stop sharing more aggressively
2015-10-21 01:40:20 +01:00
Matthew Hodgson
9ec3504c72
dial down logging
2015-10-21 01:40:01 +01:00
Matthew Hodgson
26b3e32ca2
add the concept of a dedicated remote audio element used for playing back audio-only streams (i.e. voice calls, and the voice stream that accompanies a screenshare). Correctly tidy up screen capture calls.
2015-10-21 01:18:55 +01:00
Kegan Dougal
4e2c83cc08
Debug logging
2015-10-20 17:21:25 +01:00
Kegan Dougal
17def14eba
Get screen-sharing with audio working
2015-10-20 16:43:51 +01:00
Kegan Dougal
f260de573b
Add right constraints to get screen-sharing working
...
Requires --enable-usermedia-screen-capturing flag on chrome enabled.
2015-10-20 15:11:17 +01:00
David Baker
4fd45ab278
Merge pull request #28 from matrix-org/voip-mute
...
VoIP local muting
2015-10-20 10:33:24 +01:00
Kegsay
4a2e9eb927
Merge pull request #27 from matrix-org/room-avatars
...
Room avatars
2015-10-19 16:51:30 +01:00
Kegan Dougal
dd8adef9ed
Remove unused args
2015-10-19 16:50:16 +01:00
Kegan Dougal
9164debf03
Add the same for video
2015-10-19 16:48:47 +01:00
Kegan Dougal
534bef8632
Add MatrixCall.isMicrophoneMuted()
2015-10-19 16:28:01 +01:00
Kegan Dougal
d8c43d02ba
Add MatrixCall.setMicrophoneMuted
2015-10-19 16:21:13 +01:00
Kegsay
ae3738f822
Formatting
2015-10-19 15:39:23 +01:00
Kegan Dougal
be621e1aa7
Add breaking changes to CHANGELOG
2015-10-19 15:38:39 +01:00
Kegan Dougal
343d63a28a
Merge branch 'develop' into room-avatars
2015-10-19 15:33:42 +01:00
Kegsay
0a28d6e950
Merge pull request #26 from matrix-org/invite-room-state
...
Invite room state
2015-10-19 15:31:45 +01:00
Kegsay
b493a62afa
Merge pull request #25 from matrix-org/initial-sync-improvements
...
Add support for archived=true in initial sync
2015-10-19 15:31:32 +01:00
Kegsay
37a8c9bd72
Merge pull request #23 from matrix-org/read_receipts
...
Receipts
2015-10-19 15:30:23 +01:00
Kegan Dougal
a9c4345159
Clarify the link is the source of the code
2015-10-19 15:29:57 +01:00
Kegsay
5f1153b43f
Merge pull request #24 from matrix-org/canonical-alias
...
Look for a canonical alias when determining the room name
2015-10-19 15:28:33 +01:00
Kegan Dougal
2c213f88d9
Units! Tests! Linting!
2015-10-19 15:24:24 +01:00
Kegan Dougal
a236219111
ContentRepo unit tests
2015-10-19 15:00:06 +01:00
Kegan Dougal
2f9958cca9
JSDoc linkify
2015-10-19 14:37:17 +01:00
Kegan Dougal
f26154d0ac
Add support for m.room.avatar: refactor avatar URLs
...
BREAKING CHANGE.
Scope each "getAvatarUrl" to be instance methods on the entity it
relates to (Room and RoomMember respectively). By doing this, we
can actually pull out specific state such as the `m.room.avatar`
event more easily rather than keeping it in the global cesspit
of `MatrixClient`.
This was complicated by `getHttpUriForMxc` and `getIdenticonUri`
which were attached to the HTTP API to pull out the `baseUrl` when
crafting the URL. Pull out this dependency out and explicitly pass
it in when crafting the URL. This is trivial to get from
`MatrixClient.getHomeserverUrl()`.
2015-10-19 14:14:34 +01:00
Kegan Dougal
5ae87b7c95
Bug fixes and unit tests
2015-10-16 17:27:05 +01:00
Kegan Dougal
219103a4e2
Yank out invite event from initialSync. Set stripped state events when recalculating invited rooms.
2015-10-16 17:07:04 +01:00
Kegan Dougal
4ec7b9bb3f
Add support for archived=true in initial sync
...
Make MatrixClient.startClient take 'opts' instead of 'historyLen' in
a backwards compatible way. Add 'includeArchivedRooms' as an option.
2015-10-16 15:00:26 +01:00
Kegan Dougal
bad8b7fb76
Look for a canonical alias when determining the room name
2015-10-16 14:30:21 +01:00
Kegan Dougal
a101857cb6
Add integration tests for read receipts
2015-10-16 13:51:44 +01:00
Kegan Dougal
a52f92830a
Implement unit tests for read receipts.
2015-10-16 13:37:53 +01:00
Kegan Dougal
40d113a423
Pass in receipts from initialSync
2015-10-16 11:54:47 +01:00
Kegan Dougal
7ec8421d19
Fix linting errors
2015-10-16 11:38:49 +01:00
Kegan Dougal
9048efeb65
Implement receipt handling and expose new Room functions
...
Add polyfills for Array.map/filter according to MDN because it looks much
better than the utils format.
Add stub tests for edge cases and implement test for the common case.
2015-10-16 11:32:27 +01:00
Kegan Dougal
43fc200dae
Read receipt HTTP API tweaks
2015-10-16 09:36:13 +01:00
David Baker
6679e93afc
Add untested read receipt sending method
2015-10-16 09:12:50 +01:00
Kegan Dougal
19721c3f53
Bump to 0.2.2 and update CHANGELOG
2015-10-13 10:31:00 +01:00
Kegan Dougal
cde948814a
Linting (jsdoc)
2015-10-13 10:20:38 +01:00
Kegan Dougal
2bb65fe644
Add RoomState.getLastModifiedTime() and JSDoc
2015-10-13 10:18:01 +01:00
Kegan Dougal
1260dcee76
Add User.getLastModifiedTime()
2015-10-13 10:11:22 +01:00
Kegan Dougal
3baab40bdb
Add RoomMember.getLastModifiedTime()
2015-10-13 10:09:38 +01:00
Kegan Dougal
0988332850
Minor cleanup
2015-10-13 10:05:29 +01:00
Kegan Dougal
385ebd3bfb
Semicolons
2015-10-12 17:57:02 +01:00
Kegsay
7635473a16
Merge pull request #20 from stevenhammerton/sh-cas-auth
...
CAS Auth
2015-10-12 16:59:17 +01:00
Steven Hammerton
d004d0b927
Were not authed when fetching CAS server URL, so use request rather than authed request
2015-10-09 11:18:05 +01:00
Steven Hammerton
33bede1dfe
Rename methods for getting homeserver and identity server URLs
2015-10-09 11:16:57 +01:00
Steven Hammerton
c22382360b
Add client functions around new synapse CAS login
2015-10-08 22:55:38 +01:00
Steven Hammerton
79db25b131
Add functions for getting the HS and IS urls out of the client (required for CAS login in react-sdk)
2015-10-08 22:55:38 +01:00
David Baker
682880d0c9
Use a default content type if the browser doesn't give us one: home servers require a content type header.
2015-10-02 18:36:09 +01:00
Matthew Hodgson
a16ded9f4d
oops
2015-09-18 01:56:53 +02:00
Matthew Hodgson
2f75bb75dd
fix NPE if our user does not yet appear to be in the queried room
2015-09-18 01:55:40 +02:00
David Baker
ac7457f532
null check
2015-09-16 21:27:21 +01:00
Kegan Dougal
f665748fe5
Add 0.2.1 browser-dist.
2015-09-11 10:59:44 +01:00
Kegan Dougal
92e3a28315
Add gendoc script
2015-09-11 10:24:38 +01:00
Kegan Dougal
4e26790418
Merge branch 'develop'
2015-09-11 10:17:20 +01:00
Kegan Dougal
f1793ff96d
Merge branch 'release-v0.2.1' into develop
2015-09-11 10:17:09 +01:00
Kegan Dougal
22a9db6c29
Add CHANGELOG and bump to 0.2.1
2015-09-11 10:12:54 +01:00
Kegsay
7a4a3a1239
Merge pull request #19 from matrix-org/matthew/http_exceptions
...
#19 - Gracefully fail when synchronous errors occur when calling the request function
2015-09-02 09:57:29 +01:00
Kegan Dougal
3c01e2db43
Style checks
2015-09-02 09:50:43 +01:00
Matthew Hodgson
3b9f1728c7
turn HTTP exceptions into errbacks or rejected deferreds rather than bubbling them up and expecting the app to have try blocks eeeeeeeeeverywhere
2015-08-31 18:26:27 +01:00
Kegan Dougal
6d6868df73
Mention the user_id of the inviter for invited room names
2015-08-14 17:09:21 +01:00
Kegan Dougal
c1c2731f2e
Set the Content-Type on uploads
...
Most browsers seem to set this if you forget, but some don't.
2015-08-14 15:09:31 +01:00
David Baker
e859119bde
Support allowDefault flag on room avatars too
2015-08-13 17:12:09 +01:00
David Baker
9fab329a70
Add option to prevent the SDK from returning default avatar URLs.
2015-08-13 17:07:34 +01:00
Kegan Dougal
deaaee4986
Add 'opts' to joinRoom function.
...
Add 'syncRoom' option to allow developers to join rooms without doing a
room initial sync. This is a breaking change.
2015-08-04 12:57:30 +01:00
Kegan Dougal
54a5c38b66
Do not retry requests which 40[0/1/3]. Set 'errcode' on MatrixErrors
2015-07-29 10:30:07 +01:00
Kegan Dougal
7f9c88e53f
Add create/getAlias and sendNotice/sendHtmlNotice methods.
2015-07-28 14:51:26 +01:00
Kegan Dougal
3864472057
Fix test race condition.
...
It was possible for the test to end (via done()) before the final /events req
was flushed, resulting in a fail as there were requests outstanding. We now wait
until the final flush is done before done()ing.
2015-07-28 13:40:02 +01:00
Kegan Dougal
759dece725
Minor JSDoc fix.
2015-07-28 13:27:57 +01:00
Kegan Dougal
a750a4756f
Merge branch 'develop'
2015-07-28 13:19:51 +01:00
Kegan Dougal
fed91a5090
Add 0.2.0 to /dist
2015-07-28 13:19:34 +01:00
Kegan Dougal
3e1940fe17
Merge branch 'develop'
2015-07-28 13:18:29 +01:00
Kegan Dougal
bfefa380ae
Update README; v0.2.0 release commit.
2015-07-28 13:17:05 +01:00
Kegan Dougal
14e91624bd
no-op if joinRoom is called when you're already joined. Add test for this.
...
Also ignore missing require()s when building (missing olm).
2015-07-28 13:13:55 +01:00
Kegan Dougal
551721b22e
More WIP docs
2015-07-28 11:53:07 +01:00
Kegan Dougal
1ef7af258d
Fix linting. Mark on new Store classes as WIP.
2015-07-28 11:50:47 +01:00
Kegan Dougal
3905e56e1f
Bump to 0.2.0 - Add missing jsdoc, update CHANGELOG.
2015-07-28 11:45:46 +01:00
Kegan Dougal
9993e5dbed
Cleanup jsdoc. Allow extra query params to be set on requests (for ASes).
2015-07-28 10:57:05 +01:00
Matthew Hodgson
14a7ff3e04
differentiate errors a bit better
2015-07-23 11:01:43 -07:00
Mark Haines
0737b80850
Check thet Olm.Account and Olm.Session are defined before enabling crypto
2015-07-23 10:19:41 +01:00
Mark Haines
19b4110a51
Merge pull request #18 from matrix-org/disable_end_to_end
...
Disable end-to-end encryption if olm isn't installed.
2015-07-23 10:09:35 +01:00
Mark Haines
ea1c315aa8
Enable crypto if olm is present
2015-07-23 10:03:20 +01:00
Mark Haines
58e44a2fc3
Disable end-to-end crypto
2015-07-23 09:30:50 +01:00
Mark Haines
ae8e01839e
Add flag for indicating if an event was encrypted
2015-07-22 11:57:34 +01:00
Mark Haines
9e5f30fe1f
Fix some lint errors
2015-07-22 11:37:22 +01:00
Mark Haines
319ca5123e
Return device key list in a stable order, add a check for the list in the tests
2015-07-22 11:34:38 +01:00
Mark Haines
28a5719f5f
Add method for listing the device keys we have for a user
2015-07-22 11:24:58 +01:00
David Baker
348d3f4ce1
Merge pull request #17 from matrix-org/markjh/end_to_end
...
Add support for end-to-end using olm
2015-07-21 13:12:01 -07:00
David Baker
a0fc8df3e1
Fix more minor things from PR comments
2015-07-21 13:10:01 -07:00
David Baker
8b2f11edc9
s/.then/.done/
2015-07-21 13:08:13 -07:00
Mark Haines
09f7011bc5
Add method for telling if room is encrypted
2015-07-21 18:09:10 +01:00
Mark Haines
ffbc197650
Flush the httpBackend in the last crypto test
2015-07-21 17:53:04 +01:00
Mark Haines
b33dcec74b
Dummy commit to poke jenkins
2015-07-21 17:47:01 +01:00
Mark Haines
f079e021a2
Line too long
2015-07-21 17:41:05 +01:00
Mark Haines
02c2e88a3e
Fix some of the lint warnings
2015-07-21 17:39:11 +01:00
Kegan Dougal
358cdaf167
Fix linting errors
2015-07-21 17:20:35 +01:00
Kegan Dougal
90e778cb84
Handle redactions (both live and historic).
2015-07-21 17:14:11 +01:00
Mark Haines
816bb61689
Increase the timeout for the last crypto integ test
2015-07-21 17:07:10 +01:00
Kegan Dougal
6653d294d9
Re-apply metadata after setStateEvents to correctly apply sender/target props for m.room.member events.
2015-07-21 16:58:14 +01:00
Mark Haines
9fe6d9b782
Add method for disabling end-to-end for a room
2015-07-21 16:44:47 +01:00
Kegsay
185cbac85c
Merge pull request #16 from matrix-org/getMembersWithMembership
...
Add getMembersWithMembership to get all members with given membership
2015-07-21 15:42:00 +01:00
Erik Johnston
f716431f65
Make getJoinedUsers call getMembersWithMembership
2015-07-21 15:41:33 +01:00
Erik Johnston
86e73bdd35
Add getMembersWithMembership to get all members with given membership state
2015-07-21 15:31:58 +01:00
Mark Haines
67318247c8
Use an npmified version of olm.js
2015-07-21 15:09:54 +01:00
Mark Haines
3be472330e
Update olm.js
2015-07-21 14:30:54 +01:00
Mark Haines
6dae0ef327
Fix the local echo for encrypted events by sending a single event with different content and event type for the wire vs local display
2015-07-21 14:19:24 +01:00
Mark Haines
101de29f3e
Store sessions under the right key after encrypting, set the room_id key in the encrypted payload
2015-07-21 11:59:46 +01:00
Mark Haines
b5d8bc5c5f
Add the timestamp to decrypted events, update the copy of olm.js
2015-07-21 11:48:30 +01:00
Mark Haines
a97b11136a
Update olm.js
2015-07-20 16:36:45 +01:00
Kegan Dougal
93a104fe4c
Fire presence first time if presence event unset.
2015-07-20 11:28:13 +01:00
Mark Haines
00ae144997
Don't try to decrypt end-to-end messages if the client doesn't have end-to-end support enabled
2015-07-20 10:58:20 +01:00
Mark Haines
65d64bf223
Merge remote-tracking branch 'origin/develop' into markjh/end_to_end
...
Conflicts:
lib/client.js
lib/matrix.js
2015-07-20 10:43:23 +01:00
Mark Haines
d20bd41ff9
Update olm.js
2015-07-20 10:41:54 +01:00
Mark Haines
a375aa30ea
Add script for running tests without converage
2015-07-20 10:36:30 +01:00
Kegan Dougal
32c4d3ffc4
Parse m.presence events from /events
2015-07-20 10:07:34 +01:00
Matthew Hodgson
8bc89d433b
fix non-impacting typo
2015-07-19 00:36:56 +01:00
Matthew Hodgson
bc216d7bca
fix stale video from appearing unexpectedly when you place a new call
2015-07-18 23:29:08 +01:00
Matthew Hodgson
beb8bff084
placeholder code for defaulting displaynames to userids, except it needs disambiguation logic
2015-07-18 15:40:19 +01:00
Mark Haines
110546bfca
Add a copy of olm.js so that branch will work as temporary work around until I work out how to package it using npm
2015-07-17 19:22:21 +01:00
Mark Haines
62ac369500
Fix test name
2015-07-17 18:51:23 +01:00
Mark Haines
8e6e1e64c7
Add integration test for the end-to-end crypto
2015-07-17 18:47:34 +01:00
Matthew Hodgson
9d5fc7c0fd
at long last fix bug where /op would cache previous failed attempts. fixes SYWEB-342
2015-07-17 18:02:06 +01:00
David Baker
c563380a0b
Fall back to the identicon generator if a user doesn't have an avatar_url
2015-07-17 17:48:57 +01:00
Kegan Dougal
7869d7a7df
Emit state changes after updating hangup party and reason
2015-07-17 17:03:18 +01:00
Kegan Dougal
7ec42f8843
Firefox falls over in a heap if you don't provide an error callback.
2015-07-17 16:15:08 +01:00
Kegan Dougal
3d6b9f4593
Add more logging when sync requests fail.
2015-07-17 14:46:52 +01:00
Kegan Dougal
4489c85020
Play video to local video elements when updated.
2015-07-17 14:23:40 +01:00
Kegan Dougal
a694da344c
Remove unecessary logging.
2015-07-17 13:57:39 +01:00
Kegan Dougal
384fb94262
Linting
2015-07-17 13:39:04 +01:00
Kegan Dougal
8727dd1e34
Use TURN servers when placing/receiving calls.
2015-07-17 13:36:58 +01:00
Kegan Dougal
1232f6ce3c
Periodically check turn servers.
2015-07-17 12:23:39 +01:00
Kegsay
1888c83f4f
Merge pull request #15 from EricssonResearch/msba/saml2
...
Add SAML2 login method helper
2015-07-17 08:37:45 +01:00
Mark Haines
2ee5977ad2
Start integrating end-to-end into the matrix-client. Add a storage class to store end-to-end sessions. Implement the one-time key upload API, and start sketching out the encryption and decryption functions
2015-07-16 18:21:25 +01:00
Kegan Dougal
103869e628
Accept MatrixEvents like everywhere else in the SDK.
2015-07-16 17:15:40 +01:00
Kegan Dougal
6bd3b0db0d
Emit state changes from MatrixCall.
2015-07-16 11:36:35 +01:00
Kegsay
c3696d07b7
Merge pull request #14 from matrix-org/registration
...
Registration
2015-07-16 10:22:11 +01:00
David Baker
7b26a64617
camels
2015-07-16 10:20:31 +01:00
David Baker
ff1b137750
add js doc for httpStatus
2015-07-16 10:18:51 +01:00
Kegan Dougal
c5718891c5
Fix tests. Add MatrixCall.setLocalVideoElement
2015-07-16 10:07:19 +01:00
Kegsay
4b4f13d662
Merge pull request #13 from matrix-org/set_password
...
Implement setPassword API
2015-07-16 09:59:32 +01:00
Erik Johnston
ebb21f56d3
No trailing commas :(
2015-07-16 09:58:18 +01:00
Erik Johnston
ec5352183a
Camel case
2015-07-16 09:56:36 +01:00
Erik Johnston
83563a23fe
Implement setPassword API
2015-07-16 09:50:12 +01:00
Matthew Hodgson
260d9abced
fix more NPEs
2015-07-16 01:37:39 +01:00
Matthew Hodgson
ee4d0fb9ee
hopefully fix NPE that bit Antony
2015-07-16 01:21:29 +01:00
David Baker
13f72e1df2
lint
2015-07-15 19:26:52 +01:00
David Baker
a89de9754f
Support registration & next_links
2015-07-15 19:25:08 +01:00
David Baker
b2f5d0b40a
Merge pull request #12 from matrix-org/voip
...
WebRTC support
2015-07-15 10:20:56 +01:00
David Baker
9f3f33e2cc
s/Safari/OpenWebRTC/
2015-07-15 10:16:43 +01:00
Kegan Dougal
309b61586f
Linting.
2015-07-15 09:48:37 +01:00
Kegsay
be1264d5c3
Update README.md
2015-07-15 09:47:25 +01:00
Matthew Hodgson
3a344a0138
turn off alias disambiguation, and add a method to grab room avatar urls
2015-07-15 03:53:51 +01:00
David Baker
ae7f9ab871
lint
2015-07-14 19:38:56 +01:00
David Baker
77d3add846
Talk to the ID server
2015-07-14 19:36:44 +01:00
Kegan Dougal
4cf0e10c02
Bug fixes. Everything should be working now.
2015-07-14 17:55:55 +01:00
Kegan Dougal
e3fdcaaff5
Add noddy voip example app.
2015-07-14 17:11:30 +01:00
Kegan Dougal
053a5b1bea
Make inbound calls work.
2015-07-14 16:23:31 +01:00
Kegan Dougal
8a41504cbb
Glue in call handling into MatrixClient. Outbound calls work.
2015-07-14 16:06:22 +01:00
Kegan Dougal
8af5ed363b
Merge branch 'develop' into voip
2015-07-14 12:04:00 +01:00
Kegan Dougal
8cb973e605
Fix SYJS-16: event.sender is sometimes null for locally sent events.
2015-07-14 12:00:19 +01:00
Kegan Dougal
3e60842c3b
Sort out access levels for functions; add JSDoc.
2015-07-14 11:11:41 +01:00
Kegan Dougal
7cce41df2e
Add structured errors and callbacks. Now sends candidates.
2015-07-14 10:48:19 +01:00
David Baker
58df45814b
lint errors
2015-07-14 10:09:08 +01:00
David Baker
864fdcb925
Support V2 registration
2015-07-13 19:15:10 +01:00
Kegan Dougal
0ef20faff7
Add JSDoc; Add createNewMatrixCall to globals.
2015-07-13 17:11:37 +01:00
Kegan Dougal
3bd043a8eb
Add MatrixCall class; ported from angular. Untested and probably broken.
2015-07-13 16:45:31 +01:00
David Baker
9f930f7d0d
Redundant suffix is redundant.
2015-07-13 14:39:11 +01:00
Kegan Dougal
c289c70f27
SYJS-17: Update the core event dict completely before members.
...
The RoomState needs to be current before higher-level processing as this
processing may depend on the end state rather than the progressive state
(e.g. disambiguating BOTH RoomMember's display names).
2015-07-13 10:53:07 +01:00
David Baker
a6b0ea8825
Spaces around operators
2015-07-08 16:13:54 +01:00
David Baker
34086f48fa
Separate impl for node and extend example node app to use it.
2015-07-08 16:13:10 +01:00
David Baker
5e0d5a5b05
Fix some linitng errors
2015-07-08 15:01:38 +01:00
Matthew Hodgson
f75453d5d5
ignore parted users when naming rooms
2015-07-08 14:55:08 +01:00
David Baker
639522f80d
Add uploadContent method
2015-07-08 14:33:46 +01:00
David Baker
e2768ceba2
add mxc -> http uri conversion func to client
2015-07-07 13:39:37 +01:00
Muthu Subramanian
b3726411f4
Add SAML2 login method helper
2015-07-07 17:50:11 +05:30
Kegsay
e706dcd861
Merge pull request #11 from matrix-org/avatar_url
...
Move getAvatarUrl method to client so it can do mxc -> http uri conversion
2015-07-02 21:15:37 +01:00
David Baker
04272a66f0
Add jsdoc and pass through other params
2015-07-02 18:29:35 +01:00
David Baker
f29f2a8115
Move getAvatarUrl into the client because it requires an instantiated client to work. Fix bits of client to use opts rather than credentials which doesn't exist.
2015-07-02 18:22:46 +01:00
Kegan Dougal
5691865035
Linting
2015-07-02 17:23:35 +01:00
Kegan Dougal
abe00deb65
Add getAvatarUrl() to RoomMember
2015-07-02 17:22:44 +01:00
Kegan Dougal
4c48990c1f
Decorate setItem/getItem to map between Objects and Strings.
2015-07-02 13:27:13 +01:00
Kegan Dougal
df8ec50631
Add storeEvents UTs; fix bugs as a result.
2015-07-02 11:37:50 +01:00
Kegan Dougal
ea738e31ba
Add storeEvents impl.
2015-07-02 11:03:50 +01:00
Kegan Dougal
023a3cf2bd
Finish scrollback UTs.
2015-07-02 10:22:53 +01:00
Kegan Dougal
23c3ce92d7
Finish scrollback impl. Add UTs.
2015-07-02 10:13:51 +01:00
Kegsay
df7bde4257
Merge pull request #10 from matrix-org/push
...
Push
2015-07-01 18:19:43 +01:00
Kegan Dougal
82de3b6f19
Begin scrollback implementation.
...
Add Room.storageToken to docs. Add unit test stubs for scrollback function.
Add a basic common-case implementation.
2015-07-01 18:04:59 +01:00
David Baker
214697eec9
Fix long line
2015-07-01 18:03:29 +01:00
David Baker
db790f0b19
fixjsstyle
2015-07-01 18:02:35 +01:00
David Baker
c81cb1fcfd
Tests for pushprocessor
2015-07-01 18:01:48 +01:00
Kegan Dougal
a890bff30f
Actually flip the cache bit
2015-07-01 16:39:32 +01:00
Kegan Dougal
9fd847567c
Add get/setUser and getRooms with UTs.
2015-07-01 16:38:13 +01:00
Kegan Dougal
213caf7c26
Add old state check.
2015-07-01 15:33:58 +01:00
Kegan Dougal
732f9dc592
Restructure timeline batches to have high numbers = newest; it's less confusing that way.
2015-07-01 15:28:41 +01:00
Kegan Dougal
22506513b4
Add more webstore unit tests.
2015-07-01 14:20:14 +01:00
David Baker
753a11ab7f
Move push actions method to the client
2015-07-01 14:09:34 +01:00
Kegan Dougal
994fcceace
Add another storeRoom test. Add stub tests for WebStorage.
2015-07-01 12:03:34 +01:00
Kegan Dougal
2d08a6530c
Don't need extra escaping; doesn't take coverage correctly.
2015-07-01 11:41:55 +01:00
Kegan Dougal
841e02d102
Don't minify tests so we can get proper stack traces when running 'npm test'.
2015-07-01 10:33:03 +01:00
Kegan Dougal
a0fddf7ab3
Linting.
2015-06-30 17:58:35 +01:00
Kegan Dougal
c8da373ecc
Add first cut webstorage implementation. Add very basic test.
2015-06-30 17:56:58 +01:00
Kegan Dougal
3a8d99496c
Merge branch 'master' into develop
2015-06-30 13:46:48 +01:00
Kegsay
319595407c
Tweak example to mention startClient()
2015-06-30 13:46:27 +01:00
Kegan Dougal
388cd3a6da
Add init/del structs
2015-06-30 12:00:58 +01:00
Kegan Dougal
aaecda53d6
Add scrollback to store interface
2015-06-30 11:48:49 +01:00
Kegan Dougal
5d5d76d154
Pass a store implementation rather than kind string.
...
Makes it easier to test.
2015-06-30 11:39:57 +01:00
Kegan Dougal
796afb104b
s/localstorage/webstorage/g. Add storage impl notes.
...
WebStorage is preferred since we can trivially support local or session storage.
Add design notes for persisting rooms.
2015-06-30 11:30:49 +01:00
David Baker
9416a9a8a3
Fix linting & c+p errors
2015-06-29 18:20:36 +01:00
David Baker
22f08e4e5b
Get rid of micromatch & reinstate our hacky version because micromatch, ironically, is huge.
2015-06-29 18:16:49 +01:00
Kegan Dougal
a476b11f0c
Add local storage impl notes
2015-06-29 17:55:11 +01:00
David Baker
c82b2049eb
prefix internal var with underscrore
2015-06-29 16:34:33 +01:00
David Baker
2ab8f8cf76
closure linting errors
2015-06-29 16:21:32 +01:00
David Baker
53f2f156ca
Fix linting errors
2015-06-29 16:09:07 +01:00
David Baker
083a0980eb
javascript function syntax #3...
2015-06-29 15:57:20 +01:00
David Baker
1be02a3c3c
Port over push rule eveluator from the angular SDK and make it available on MatrixEvent
2015-06-29 15:53:23 +01:00
David Baker
21150e7587
Doc fail
2015-06-26 16:50:55 +01:00
David Baker
3806c4d566
Missing semicolon
2015-06-26 16:49:07 +01:00
David Baker
b814872c37
unnecessary semicolon
2015-06-26 16:45:59 +01:00
David Baker
b2656024bd
Merge branch 'develop' into push
...
Conflicts:
lib/client.js
2015-06-26 16:39:32 +01:00
Kegan Dougal
b7975866fa
Add getSyncToken and setSyncToken to data store interface.
...
This allows local storage to hold onto the token across page refreshes.
2015-06-26 15:36:53 +01:00
Kegan Dougal
6078100465
Export LocalStorageStore class. Throw if 'localStorage' isn't defined.
2015-06-26 15:24:55 +01:00
Kegan Dougal
a3a59f4456
Add localstorage store module.
2015-06-26 15:13:04 +01:00
David Baker
9ea080b7bb
Fetch the user's push rules before any events arrive, so we can annotate events with push data when they arrive.
2015-06-26 15:11:27 +01:00
Kegan Dougal
20b5553e48
Implement MatrixClient tests without a scheduler/store.
2015-06-26 14:26:57 +01:00
Kegan Dougal
fd0eb0c674
Finish timline integration tests.
2015-06-26 13:53:01 +01:00
Kegan Dougal
3c4bda8580
Add MatrixScheduler.removeEventFromQueue/getQueueForEvent and QUEUED state.
...
This is to allow the UI to show "queued" on events as well as allow the
removal of events in the queue.
2015-06-26 09:52:52 +01:00
Kegan Dougal
320bbec737
Add MatrixScheduler.getQueue to allow items in the queue to be modified.
2015-06-25 18:00:07 +01:00
Kegan Dougal
041f96ae6d
Add remaining stub tests
2015-06-25 17:56:18 +01:00
Kegan Dougal
f240563fb5
Add room state/syncing stub tests
2015-06-25 17:49:46 +01:00
Kegan Dougal
e8d17a5ab3
Add missing pagination test
2015-06-25 17:36:21 +01:00
Kegan Dougal
f49234a772
Add pagination tests
2015-06-25 17:29:25 +01:00
Kegan Dougal
46d5c2bd61
Add pagination test; fix null token bug.
2015-06-25 16:33:22 +01:00
Kegan Dougal
325c00c660
Set Room.oldState.paginationToken to null at the start of the timeline. Fix linting errors.
2015-06-25 15:28:25 +01:00
Kegan Dougal
c4c68a0287
Add local echo tests.
2015-06-25 15:24:56 +01:00
Kegan Dougal
21df000604
Add Room.addEvents UT
2015-06-25 14:00:52 +01:00
Kegan Dougal
0be3c6837d
Add utils UTs. Remove unused functions.
2015-06-24 17:42:02 +01:00
Kegan Dougal
74fcbdee3f
Add retryFn -1 test.
2015-06-24 17:14:11 +01:00
Kegan Dougal
332bdcd101
Add Scheduler UTs.
2015-06-24 17:05:06 +01:00
Kegan Dougal
913178b284
Linting
2015-06-24 15:38:18 +01:00
Kegan Dougal
2a83248168
Add User UTs
2015-06-24 15:37:55 +01:00
Kegan Dougal
8f16948430
Appease linters
2015-06-24 14:57:48 +01:00
Kegan Dougal
1b665c176a
Add RoomState UTs
2015-06-24 14:57:04 +01:00
Kegan Dougal
0bc9951f13
Add RoomState UT stubs.
2015-06-24 13:52:17 +01:00
Kegan Dougal
d3377e3dea
Add RoomMember UTs. Fix disambiguation bug. Add CHANGELOG.
2015-06-24 13:35:19 +01:00
Kegan Dougal
b3efafebbe
Restructure test layout.
2015-06-24 12:53:15 +01:00
Kegan Dougal
a12133ec9f
Appease linters
2015-06-24 11:44:00 +01:00
Kegan Dougal
f763eb3f37
Convert all helper functions which make events to use kwargs
2015-06-24 11:43:16 +01:00
Kegan Dougal
26a23b19b3
Use an opts for helper mk functions; poor man's keyword args.
2015-06-24 11:14:54 +01:00
Kegan Dougal
9d967fb232
Add some UTs to Room methods
2015-06-24 11:05:18 +01:00
Kegan Dougal
62d7ff5ba9
Add colours to terminal. Sort room list by TS.
2015-06-23 17:46:52 +01:00
Kegan Dougal
b0ca6609f4
Merge branch 'develop'
2015-06-23 15:45:09 +01:00
Kegan Dougal
ff9bc0b865
Merge branch 'release-v0.1.1' into develop
2015-06-23 15:44:47 +01:00
Kegan Dougal
b3ef0b90ac
Update README
2015-06-23 15:44:24 +01:00
Kegan Dougal
805d914940
Bump to 0.1.1. Add 'npm run release' script.
2015-06-23 15:42:08 +01:00
Kegsay
de560d1a4a
Update CHANGELOG.md
2015-06-23 15:27:18 +01:00
Kegan Dougal
07d3f43d8b
Refactor terminal app; add /invite and /roominfo.
2015-06-23 15:22:57 +01:00
Kegan Dougal
57914969b8
Add MatrixClient.resendEvent to manually resend an event that was not sent.
...
Bundle txnId as MatrixEvent._txnId instead of exposing it to every place that
happens to need it (since it's so tightly coupled with MatrixEvent)
2015-06-23 14:08:02 +01:00
Kegan Dougal
378c7fd6cb
Update docs
2015-06-23 12:15:41 +01:00
Kegan Dougal
7534f59af2
Hook up the callback fn for scrollback. Update CHANGELOG.
2015-06-23 12:04:43 +01:00
Kegan Dougal
553325d66f
Improve UX on node terminal app.
...
Add auto-complete, history and a prompt prefix.
2015-06-23 11:50:17 +01:00
Kegan Dougal
6737388766
Implement pagination via the scrollback() function. Update CHANGELOG.
2015-06-23 11:36:30 +01:00
Kegan Dougal
b7ed78b432
Update CHANGELOG. Add StubStore.
...
Default to a no-op store class to prevent having to constantly check for
MatrixClient.store and other defensive checks which clutters the intent
of the code.
2015-06-23 11:03:08 +01:00
Kegan Dougal
9c2a2902eb
Fix bug where hibernating laptops fail to restart the event stream.
...
On some devices, the act of hibernating black holes the request so the
success/failure callbacks never fire. This prevents a re-poll as that is done
in the callbacks. To fix this, we add a local timer which, when it fires,
will forcibly do a re-poll. The local timer has a timeout value several
seconds more than the timeout= value (which should've returned by then).
2015-06-23 10:40:53 +01:00
Kegan Dougal
ef77c6f989
Sync room state when another device joins a room.
2015-06-23 10:18:13 +01:00
Kegan Dougal
bc0e2ad504
Sync room state when joining via client.joinRoom
...
Does not currently sync state when another device joins.
Update node example app to refresh room list.
2015-06-22 17:50:49 +01:00
Kegan Dougal
ad70b3d434
Don't set NOT_SENT in the scheduler; the MatrixClient is responsible for this.
2015-06-19 17:19:48 +01:00
Kegsay
002ae08f04
Update CHANGELOG.md
2015-06-19 17:16:38 +01:00
Kegsay
402a648a92
Update list of what the SDK does
2015-06-19 17:15:36 +01:00
Kegan Dougal
756fe4ddcb
Implement MatrixScheduler.
2015-06-19 16:53:28 +01:00
Kegan Dougal
898d16ae76
Update CHANGELOG
2015-06-19 16:07:36 +01:00
Kegan Dougal
18db0d8c02
Emit 'Room' event when the Room is fully populated rather than newly created.
2015-06-19 16:05:13 +01:00
Kegan Dougal
2f78ceb6fc
Design the API for the scheduler and hook MatrixClient up to it.
...
Scheduler itself still needs internal impl.
2015-06-19 15:50:05 +01:00
Kegan Dougal
8a9f84a4b2
Don't return something which doesn't exist.
2015-06-18 17:49:13 +01:00
Kegan Dougal
1e3162128a
Shelve scheduler queue work. Add processFn.
2015-06-18 13:56:46 +01:00
Kegan Dougal
7e12ea4273
Start gluing MatrixClient and MatrixScheduler.
2015-06-18 12:07:18 +01:00
Kegan Dougal
18a3ce415c
Add _queues to MatrixScheduler.
2015-06-18 11:49:34 +01:00
Kegan Dougal
ca414d1611
Implement rate limiting in the default retry algorithm.
2015-06-18 11:28:17 +01:00
Kegan Dougal
ba56f5f621
Implement MatrixScheduler.
...
Formed of two parts: the retry and queuing functions. Use sensible defaults.
2015-06-18 11:11:07 +01:00
Kegan Dougal
4810d04257
Add stub MatrixScheduler.
2015-06-18 10:07:44 +01:00
Kegsay
8d77edce86
Formatting
2015-06-18 10:01:13 +01:00
Kegan Dougal
9cb37fbe4f
Actually allow MatrixClient to not have a store. Update jsdoc.
2015-06-18 09:59:02 +01:00
Kegan Dougal
d151ac49f2
Mark events which fail to send.
2015-06-18 09:32:04 +01:00
Kegan Dougal
d74a71cc2d
linting and update README.
2015-06-17 17:47:57 +01:00
Kegan Dougal
8e6eb35dfe
Implement local echo.
...
Mark events being sent via the status property. Update CHANGELOG.
2015-06-17 17:42:12 +01:00
Kegan Dougal
ee4d66024a
Update changelog
2015-06-15 10:20:54 +01:00
Kegan Dougal
f77e8e3bf7
Add User.events.presence property for storing the m.presence event for a user.
2015-06-15 10:20:04 +01:00
Kegan Dougal
94931cdc07
Remove broken function; add RoomMember.events.member property.
2015-06-15 09:49:54 +01:00
Kegan Dougal
c6b11fc382
Make Room.calculateRoomName private to avoid confusion with Room.name.
2015-06-15 09:31:46 +01:00