Luke Barnard
439bde309e
General ChatInviteDialog optimisations
...
- Use avatar initial instead of "R" or "?"
- Use Fuse.js to do case-insensitive fuzzy search. This allows for better sorting of results as well as search based on weighted keys (so userId has a high weight when the input starts with "@").
- Added debounce of 200ms to prevent analysis on every key stroke. Fuse seems to degrade performance vs. simple, non-fuzzy, unsorted matching, but the debounce should prevent too much computation.
- Move the selection to the top when the query is changed. There's no point in staying mid-way through the items at that point.
2017-02-23 12:12:25 +00:00
Luke Barnard
6fead66f89
MELS: check scroll on load + use mels-1,-2,... key
...
To fix https://github.com/vector-im/riot-web/issues/2916 , force the checking of scroll position by calling _onWidgetLoad (might need renaming...) when a MELS is expanded/contracted.
Also use an keying scheme for MELS that doesn't depend on the events contained, but rather a simple incrementing index based on the order of the MELS as it appears amongst all MELS.
2017-02-20 10:59:11 +00:00
David Baker
b18473ccb2
Handle there being no member event when banned
...
Here, and also in MemberEventListSummary where this also broke.
2017-02-17 16:35:18 +00:00
Luke Barnard
8d3876c7d0
MELS: either expanded or summary, not both
...
Fixes vector-im/riot-web#3097
2017-02-09 15:14:16 +00:00
Matthew Hodgson
8fea4c27cb
fix NPE
2017-02-07 22:00:56 +00:00
Richard van der Hoff
827b5a6811
Fix deviceverifybuttons
...
Use DeviceInfo from deviceVerificationChanged event rather than calling
non-existent getStoredDevice
2017-02-03 14:34:19 +00:00
Matthew Hodgson
28d28b55d1
correctly reflect verify/blacklist state in UI
2017-02-03 01:49:22 +00:00
Matthew Hodgson
be41462f3a
merge
2017-02-02 22:05:44 +00:00
Richard van der Hoff
67bd2cf9dd
Merge branch 'matthew/warn-unknown-devices' into matthew/blacklist-unverified
2017-01-26 14:09:25 +00:00
David Baker
e1e87807b5
Look up email addresses in ChatInviteDialog
...
So email addresses known to the IS get a display name & avatar
2017-01-25 18:51:28 +00:00
David Baker
a3b938427d
Merge pull request #625 from matrix-org/dbkr/user_search_feedback
...
Better feedback in invite dialog
2017-01-25 15:59:47 +00:00
Richard van der Hoff
9cadc2f55f
Merge pull request #613 from matrix-org/luke/fix-join-part-collapsing-causality
...
Overhaul MELS to deal with causality, kicks, etc.
2017-01-25 15:20:30 +00:00
David Baker
fd8d5af63a
Fix import of InviteAddressType
...
and rewrite to import while we're at it
2017-01-25 14:54:21 +00:00
Luke Barnard
f9ca2a8e59
Fix _renderCommaSeparatedList
2017-01-25 11:28:12 +00:00
Luke Barnard
b887d5b823
Much linting
2017-01-25 11:05:45 +00:00
Luke Barnard
8091cf7df8
Enumerate->label
2017-01-25 09:32:28 +00:00
Luke Barnard
f8e46819c5
Rename truncated->coalesced
2017-01-25 09:28:26 +00:00
Luke Barnard
3b8b2cf500
Document _getCanonicalTransitions
2017-01-25 09:18:47 +00:00
Richard van der Hoff
770820e6fa
Fix a bunch of lint complaints
2017-01-24 22:41:52 +00:00
Richard van der Hoff
6dd46d532a
Merge remote-tracking branch 'origin/develop' into rav/hotkey-ux
2017-01-24 20:47:24 +00:00
David Baker
6c263c1c89
Change what AddressTile takes to be Objects
...
Rather than just passing in a list of strings. This paves the way
for passing in display names & avatars of looked-up threepids.
2017-01-24 18:23:34 +00:00
Luke Barnard
bd106968ce
Merge branch 'develop' into luke/fix-join-part-collapsing-causality
...
Conflicts:
src/components/structures/MessagePanel.js
2017-01-24 14:22:18 +00:00
Luke Barnard
d690677bde
Merge branch 'luke/fix-join-part-collapsing-causality' of github.com:matrix-org/matrix-react-sdk into luke/fix-join-part-collapsing-causality
...
Conflicts:
src/components/views/elements/MemberEventListSummary.js
2017-01-24 14:17:11 +00:00
David Baker
5091bab657
Fix failed merge #2
2017-01-24 13:59:02 +00:00
David Baker
5f24fc3e5d
Fix merge fail
2017-01-24 13:56:22 +00:00
David Baker
f1f6fc809c
Merge remote-tracking branch 'origin/develop' into dbkr/user_search_feedback
2017-01-24 11:26:09 +00:00
David Baker
506d37bbad
Merge remote-tracking branch 'origin/develop' into dbkr/add_searching_known_users
2017-01-23 11:34:44 +00:00
Matthew Hodgson
7bc3fc8696
make UnknownDeviceDialog work again, other than the mess of vector-im/vector-web#3020
2017-01-22 01:28:43 +01:00
David Baker
18d4d3392a
Fix a bunch of linting errors
...
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
David Baker
f105ec2794
Attempt to sanitize ChatInviteDialog a bit
...
* Use binds rather than onFoo functions which aren't actually
handler functions themselves but return them
* Rename onKeyUp to moveSelectionDown etc,, reserving onKeyUp
for "a key has been released" rather than, "the up arrow key
has been pressed"
2017-01-18 17:51:39 +00:00
David Baker
de621902fc
Better feedback in invite dialog
...
Show feedback if you enter a valid but unknown email address
or mxid
Fixes https://github.com/vector-im/riot-web/issues/2933
2017-01-18 15:21:50 +00:00
lukebarnard
5dd1512ff2
Move aggregation code to dedicated function
2017-01-18 10:59:19 +01:00
lukebarnard
484549e50b
Refactor a few things and document everything
2017-01-18 10:26:25 +01:00
lukebarnard
3ba9f50873
Move functions around, remove redundancies, add docs
2017-01-17 19:07:45 +01:00
lukebarnard
9574a0b663
Remove pointless length guard
2017-01-17 18:56:57 +01:00
David Baker
0b67fd5b4e
Add 'searching known users' to the user picker
...
So it's more obvious it's only finding people you've already seen
Fixes https://github.com/vector-im/riot-web/issues/2931
2017-01-17 14:48:50 +00:00
lukebarnard
45655f4de3
Modified desc for invitation rejections, withdrawals
2017-01-17 12:01:19 +01:00
lukebarnard
aa6e168505
Remove comment
2017-01-16 18:58:53 +01:00
lukebarnard
5ab287fa1a
Use pre-calculated displaynames to handle dupes
2017-01-16 18:57:49 +01:00
lukebarnard
a79dc886ba
Order sequences by occurance of the first event in each sequence
2017-01-16 18:46:17 +01:00
lukebarnard
4be444d524
Move shouldComponentUpdate
2017-01-16 15:12:00 +01:00
lukebarnard
82d6805a71
Canonicalise certain transition pairs, handle arbitrary consecutive transitions
...
Transition pairs joined,left and left,joined are now transformed into single meta-transitions "joined_and_left" and "left_and_joined" respectively. These are described as "joined and left", "left and rejoined".
Treat consecutive sequences of transitions as repetitions, and handle any arbitrary repetitions of transitions:
...,joined,left,joined,left,joined,left,...
is canonicalised into
...,joined_and_left, joined_and_left, joined_and_left,...
which is truncated and described as
... , joined and left 3 times, ...
This also works if there are multiple consecutive sequences separated by other transitions:
..., banned, banned, banned, joined, unbanned, unbanned, unbanned,...
becomes
... was banned 3 times, joined, was unbanned 3 times ...
2017-01-16 14:49:07 +01:00
lukebarnard
fb68fff536
Refactor renderCommaSeparated for reuse
2017-01-16 13:45:42 +01:00
Jani Mustonen
b323551f22
Adhered to code review
2017-01-13 19:36:41 +02:00
Jani Mustonen
5e013860ee
Definition for AccessibleButton
2017-01-13 19:36:41 +02:00
Jani Mustonen
041196d729
Added quick search functionality
2017-01-13 19:36:40 +02:00
Luke Barnard
77ae041407
Order names by order of first events for users
2017-01-13 16:40:33 +00:00
Luke Barnard
d2d78919ce
Overhaul MELS to deal with causality, kicks, etc.
...
The MELS can now deal with arbitrary sequences of transitions per user, where a transition is a change in membership. A transition can be joined, left, invite_reject, invite_withdrawal, invited, banned, unbanned or kicked.
Repeated segments (modulo 1 and 2), such as joined,left,joined,left,joined will be handled and will be rendered as " ... and 10 others joined and left 2 times and then joined". The repeated segments are assumed to be at the beginning of the sequence. This could be improved to handle arbitrary repeated sequences.
2017-01-12 18:55:53 +00:00
Luke Barnard
baaf827c48
Use getStateKey
instead of getSender
...
This makes sure that the kickee is not the user used for the MemberEventListSummary
2017-01-11 17:03:14 +00:00
Luke Barnard
7475056bb4
MELS component should update if there are fewEvents, effectively expanding the summary
2016-12-15 18:33:13 +00:00
Luke Barnard
55f85befc1
Allow component to update if currently expanded or if about to collapse
2016-12-15 14:43:59 +00:00
Luke Barnard
86739e7d1e
Simplify handling of only one member event
2016-12-15 13:15:00 +00:00
Luke Barnard
c07e5d4992
Improve the performance of MemberEventListSummary
...
- The MessagePanel now uses the same key for the MELS instances rendered so that entirely new instances are not created, they are simply passed new props (namely when new events arrive).
- MELS itself now uses `shouldComponentUpdate` so that it only updates if it is given a different number of events to previous or if it is toggled to expand.
2016-12-14 15:31:35 +00:00
David Baker
a3ab59832e
Give the search box field a name
...
Should fix https://github.com/vector-im/riot-web/issues/2462
2016-12-06 14:40:09 +00:00
Richard van der Hoff
c7fb83ed2d
s/block/blacklist for e2e
...
Fixes https://github.com/vector-im/vector-web/issues/2315
2016-11-29 18:48:43 +00:00
Luke Barnard
7e88f0083d
Fix more join-part collapsing regressions
...
Use the previous content of the first event known for a user in a block of membership changes. This means single events are not special cased.
2016-11-16 16:26:24 +00:00
Luke Barnard
324448563a
If only one mevent, return than one
...
Also, the net change of nil is detected as having the first and last events being _different_. The summary should only include those that have their first and last events being the _same_ because that is a net change (within the block of member events).
2016-11-16 16:07:19 +00:00
Luke Barnard
beecbc7cd7
Fix join/part collapsing regressions ( #553 )
...
* Fix join/part collapsing regressions
* Simplify loop
* Explain e,e
* Explain return null in _renderSummary
* Kill it properly
* Move . to _renderSummary
* Only use the first and last events to decide whether a net change has occured
* Do not sort events by TS before summarising
* fix loop and comment
* remove data-number-events
* Better explanation comment in _renderSummary
* Less tortuous comment
2016-11-16 14:42:30 +00:00
Mark Haines
6ccc825f0d
Cache the tinted SVGs for MFileBody as data URLs ( #559 )
...
* Use a list of callbacks for things that need tinting.
Rather than gutwrenching the internals of TintableSVG inside the Tinter.
* Share a data: url for the tinted download svg in MFileBody
* Check image exists before tinting
* Add comments
* Use fetch+DomParser rather than XMLHttpRequest
* Remove comment about XMLHttpRequest
2016-11-16 14:16:51 +00:00
Luke Barnard
d3a548773a
Remove redundant lines
2016-11-10 18:01:34 +00:00
Luke Barnard
3d7f6919cf
Refactor renderNameList (thanks, @richvdh)
2016-11-10 17:36:22 +00:00
Luke Barnard
b11dd9542f
Add class to expand link for pointer and colour
2016-11-10 17:09:18 +00:00
Luke Barnard
e05aeb35a1
npm run reskindex
2016-11-10 17:03:24 +00:00
Luke Barnard
ac460122cc
revert now redundant TruncatedList edits
2016-11-10 15:51:27 +00:00
Luke Barnard
f71ac93946
Prefer null to falsy, use correct plural
2016-11-10 15:38:20 +00:00
Luke Barnard
1a4df38500
remove href
2016-11-10 15:20:53 +00:00
Luke Barnard
d8bc4d9a6f
Factor out avatar click leads to view_user
2016-11-10 15:18:59 +00:00
Luke Barnard
6b2aa43b71
Factor out "and others"
2016-11-10 14:33:41 +00:00
Luke Barnard
d6b74becfc
Children are required
2016-11-10 14:12:45 +00:00
Luke Barnard
370f5f0a11
Use _ prefix for private methods
2016-11-10 14:12:05 +00:00
Luke Barnard
8422017827
events are required
2016-11-10 14:09:40 +00:00
Luke Barnard
dcbb31279f
Prefer import React, set prevEvent to last MemberhsipChange
2016-11-10 14:08:11 +00:00
Luke Barnard
e2936376b6
Unnecessary props
2016-11-10 13:26:27 +00:00
Luke Barnard
566034cf2b
Render children EventTiles before passing to summary element
2016-11-10 13:25:48 +00:00
Luke Barnard
79c01fa1a4
Remove empty lines
2016-11-10 11:03:43 +00:00
Luke Barnard
f5bc8d1fe0
Removed logs, updated phrasing on 'others joined'
...
Now it's:
1 user joined and left
>1 others joined and left
2016-11-10 10:42:33 +00:00
Luke Barnard
5f0b891d47
Add date seperator to the expanded events
...
netsplits across midnight is not handled, and @richvdh suggested splitting the list in two
2016-11-09 17:44:43 +00:00
Luke Barnard
2f02c4b84e
WIP nicer join/part folding
2016-11-09 16:03:35 +00:00
Luke Barnard
cd241a4a17
Truncate consecutive member events
...
This is needed for the IRC bridge to be able to do full membership list syncing without cluttering the message panel.
2016-11-08 16:34:02 +00:00
David Baker
9a633ee449
Move 'show join button' functionality out
...
And have it as a prop to the directory search box instead, so the
room directory can do more complex logic.
2016-09-29 15:05:15 +01:00
David Baker
b9576754e6
Nomenclature
2016-09-27 14:50:18 +01:00
David Baker
ba090a1198
Trailing .+ was redundant
2016-09-26 15:13:57 +01:00
David Baker
9333f91533
Give react callbacks underscores too
2016-09-26 14:29:12 +01:00
David Baker
2dd0165bfc
Correct regex for hash at the start
2016-09-26 14:24:35 +01:00
David Baker
fa193e775a
Implement join button appearing
...
Also switch input to controlled so we re-render when it changes so we can show/hide the join button
2016-09-23 16:34:47 +01:00
David Baker
eb5b175213
Layout to support less hardcoded CSS
2016-09-23 15:58:11 +01:00
David Baker
b1e4c911eb
WIP omnipresent join button
2016-09-23 15:25:38 +01:00
David Baker
61b48a5b1a
Add component for the directory search box
2016-09-23 13:48:24 +01:00
Richard van der Hoff
2f7b4f74fd
Move the device verification buttons to their own class
...
Instead of pulling in the whole of MemberDeviceInfo into EncryptedEventDialog
for utterly no reason and breaking everything
2016-09-22 19:24:09 +01:00
David Baker
31753fc3f3
Rebrand
2016-09-19 13:26:59 +01:00
Matthew Hodgson
2b9258d377
use new rawDisplayName in AddressTile
2016-09-16 03:19:33 +01:00
wmwragg
2a8518b72b
Tab can now be used for selection of address from list, as well as adding a manual mxid or email address
2016-09-14 14:53:13 +01:00
wmwragg
7fa102998c
Added valid but unknown mx user
2016-09-13 17:09:40 +01:00
wmwragg
5a0a72ee46
Added styling for unknown addresses
2016-09-12 17:25:14 +01:00
wmwragg
95d9df7534
Make an invalid mx user an unknown user AddressTile
2016-09-12 17:15:56 +01:00
wmwragg
5b2cc555a3
Refactored AddressTile to use string address rather than user object, so it can user email as well mx userId
2016-09-12 16:52:04 +01:00
wmwragg
4836025a1d
First pass at adding multiple addresses, can only add from AddressSelector at the moment
2016-09-12 15:21:17 +01:00
wmwragg
7d58968ea6
Correctly positioning the selected element if list shrinks in size
2016-09-12 14:07:51 +01:00
wmwragg
28dcbb2a78
Refactored the queryList into seperate AddressSelector component
2016-09-12 13:00:44 +01:00
wmwragg
ca3910f5a8
Mouse actions on the queryList added, as well as better queryListElement styling
2016-09-07 16:18:50 +01:00
wmwragg
7e60012bd4
Added justification for the AddressTile, when requested
2016-09-07 10:55:44 +01:00
wmwragg
391fe0ab77
Basic address list created, and UX tweaks for interaction
2016-09-06 15:24:23 +01:00
wmwragg
ddf1e4841a
Selecting users with arrow keys added
2016-09-06 13:07:06 +01:00
wmwragg
5ed680e5ce
Picking the top of the queryList not _userList, as the queryList is the query filtered _userList
2016-09-05 17:34:20 +01:00
wmwragg
3dd84e2b8a
Initial AddressTile added
2016-09-05 17:28:08 +01:00
Aviral Dasgupta
09e8a45cde
Add EmojiText component for emoji replacement.
2016-08-10 00:31:51 +05:30
Richard van der Hoff
9333793a7c
Fix code style
2016-08-01 10:49:51 +01:00
Richard van der Hoff
3194c5c61d
Factor EditableTextContainer out of ChangeDisplayName
...
Take the non-displayname-specific bits out of ChangeDisplayName into a new
EditableTextContainer, so that we can reuse the logic elsewhere.
2016-07-29 17:40:13 +01:00
Richard van der Hoff
7a7d7c0e02
Fix a pair of warnings from RoomSettings
...
- initialise the 'publish' checkbox correctly so react doesn't grumble about it
turning from uncontrolled into controlled
- PowerSelector's 'controlled' property isn't really required, so mark it as
such.
2016-06-23 11:15:55 +01:00
Richard van der Hoff
716eb1eb1b
Drop workaround for object.onLoad
...
https://github.com/facebook/react/pull/5781 has been fixed in React 15.0, so
drop our workaroud for it.
2016-04-17 21:46:27 +01:00
Matthew Hodgson
f4573bae49
remove premie optimisation of tintablesvg shouldComponentUpdate
2016-04-17 00:28:20 +01:00
Matthew Hodgson
8db14bde60
switch Tinter from using dispatch to a synchronous update when changing the colourscheme, to avoid CSS getting out of sync with SVG colours
2016-04-16 01:00:10 +01:00
Matthew Hodgson
a06b420942
wire up searchbox filtering
2016-04-15 17:55:00 +01:00
Matthew Hodgson
26f135c7b0
fix 'undefined' class bug on TintableSvg
2016-04-14 21:44:05 +01:00
Matthew Hodgson
e23f496dfe
fix PowerSelector to support both controlled & uncontrolled variants
2016-03-22 17:17:46 +00:00
Matthew Hodgson
59f599af5c
prompt before giving equal ops
2016-03-21 00:49:18 +00:00
Matthew Hodgson
1abd7f45ce
fix setting custom power levels
2016-03-15 01:34:49 +00:00
Matthew Hodgson
5e5fdb9b96
fix vector-im/vector-web#921
2016-02-14 13:38:12 +02:00
Kegan Dougal
38d5c7d5c5
Filter out undefined/null children which won't render
2016-01-22 15:57:42 +00:00
Kegan Dougal
d72ab641d0
Expand the list when the overflow element is clicked
...
Negative truncateAt values means "do not truncate".
2016-01-21 15:57:59 +00:00
Kegan Dougal
eed83f982e
Add a suitable overflow tile for the member list
2016-01-21 11:41:28 +00:00
Kegan Dougal
9f362e488c
Add a TruncatedList component, which truncates children passed to it.
2016-01-21 11:30:37 +00:00
Matthew Hodgson
51648b9bf0
merge develop
2016-01-18 14:02:19 +00:00
Matthew Hodgson
17fdfa0c8f
incorporate kegan PR feedback
2016-01-18 14:00:47 +00:00
Matthew Hodgson
8e1ab8e6b4
vaguely skin MemberInfo correctly
2016-01-18 01:18:02 +00:00
Matthew Hodgson
430c90f4a4
oops ,forgot PowerSelector
2016-01-18 00:42:20 +00:00
Matthew Hodgson
0553551d92
oops ,forgot PowerSelector
2016-01-17 23:58:38 +00:00
Matthew Hodgson
5b5bd9aef1
remove create_room for now. lots of stupid bugfixes across the board.
2016-01-17 03:59:31 +00:00
Matthew Hodgson
82a159d651
make roomsettings actually work, including alias editing. (using staged UX rather than direct manipulation). loads of tweaks and fixes across the board
2016-01-17 02:48:55 +00:00
Matthew Hodgson
8e9e33fa2a
fix NPE and make enter work again
2016-01-15 12:34:53 +00:00
Matthew Hodgson
2899082cba
deselect editabletext when tabbing away
2016-01-14 17:24:52 +00:00
Matthew Hodgson
c9c496f0e5
WIP all new roomsettings
2016-01-13 13:15:13 +00:00
Matthew Hodgson
d39a9a0f18
bring back select-all-on-click
2016-01-10 13:14:12 +00:00
Matthew Hodgson
684255044a
switch EditableText to be built on contentEditable rather than switching divs and inputs, so that it can be used for managing multiline content like topics and room names, and use it in RoomHeader/RoomSettings
2016-01-10 12:56:45 +00:00
Matthew Hodgson
8170288acb
Merge pull request #77 from matrix-org/matthew/dynamic-svg
...
Make SVGs and CSS dynamically recolourable
2016-01-07 11:42:30 +00:00
Matthew Hodgson
fd32362aa6
oops, initialise fixups per-object, not per-prototype
2016-01-07 10:18:18 +00:00
Matthew Hodgson
0772f50fab
update copyright for 2016
2016-01-07 04:06:52 +00:00
Matthew Hodgson
296b626ed9
oops, we actually need to cache the fixups in TintableSvg
2016-01-07 03:59:09 +00:00
Matthew Hodgson
0f52c0a514
make TintableSvgs responsible for updating their own tints, and stop storing SVG DOM fragments in Tinter to avoid leaking them
2016-01-07 03:39:00 +00:00
Matthew Hodgson
f499c60b12
sundry PR feedback
2016-01-06 02:29:08 +00:00
Matthew Hodgson
509ea7c4f3
factor out tintable SVGs into their own component, and use plain DOM onload rather than react synthetic events
2016-01-06 02:11:07 +00:00
Kegan Dougal
19bd39b066
More random tweaks
...
- Make onBlur reset the EditText to show that it hasn't submitted it.
- Add the user ID of the logged in user to Advanced.
- Remove remnants of the Save/Cancel buttons.
2015-12-23 16:02:18 +00:00
Kegan Dougal
6e9e314f24
Move and merge UserSelector
2015-11-26 17:37:40 +00:00
Kegan Dougal
75afc3a7de
Move and merge ProgressBar
2015-11-26 17:21:08 +00:00
Kegan Dougal
4fda0ce0c9
Fix typo
2015-11-26 15:17:34 +00:00
Kegan Dougal
17d789eb97
Merge EditableText component
2015-11-26 15:16:50 +00:00