Commit graph

73 commits

Author SHA1 Message Date
Harrison Healey
ae703eb00a PLT-5875 Updated system message font opacity to match web app (#367) 2017-03-20 16:30:47 -04:00
enahum
e61f6264ac PLT-5511 Ability to flag and unflag posts (#360) 2017-03-20 17:18:59 -03:00
enahum
74db04f672 PLT-5912 Make integration posts follow the override username and profile picture config settings (#363) 2017-03-20 17:16:56 -03:00
enahum
e1eeac4d82 PLT-5498 Add ability to delete a message (#357)
* ios tooltip menu with option to delete a post

* bottom sheet for android

* Feedback review
2017-03-20 16:57:37 -03:00
Harrison Healey
07af08b74a PLT-5717 Initial markdown support (#354)
* Added CommonMark-based post rendering

* Fixed text wrapping in most block elements

* Fixed paragraphs not being rendered as children of lists

* Replaced markdown images with a placeholder

* Fixed font colour in code spans
2017-03-20 16:27:33 -03:00
Chris Duarte
2638a9c75d PLT-5517 Image file previewer (#344)
* PLT-5517 RN: Image file previewer

Add preview component and client routes
Add fade transition for modal
Add paging controls, title header, and info footer
Add drag to dismiss behavior
Fix android layout issues
Handle orientation change

* Fix tests

* Review feedback

* Review feedback
2017-03-17 09:04:35 -04:00
Chris Duarte
1e63ac2667 PLT-5599 RN: Modal options for Android (#353) 2017-03-16 15:13:36 -04:00
enahum
548633f5c0 PLT-5857 replace the service folder with mattermost-redux library (#348) 2017-03-14 10:52:24 -03:00
enahum
3096e89155 Fix badge flickering (#341) 2017-03-14 00:23:59 -03:00
Chris Duarte
d36dc3412a PLT-5492 Add Account Settings > Notifications (#323)
* PLT-5492 RN: Add Account Settings > Notifications

* Review feedback
2017-03-13 15:37:44 -03:00
enahum
8bc6a0cb14 PLT-5726 Fix post profile picture tap (#345)
* PLT-5726 Fix post user image tap

* Fix double loading showing up

* conditional reply bar
2017-03-13 12:51:20 -04:00
enahum
31d89c37fe PLT-5506 Record user agent/device type in the active sessions list (#342)
* Add user info and userAgent

* notice
2017-03-13 13:39:35 -03:00
enahum
6324f22095 PLT-5630 Implement push notifications and unread badge on app icon (#338)
* enable ios push notifications

* enable android push notifications

* NOTICE for push notification and message bar

* include message in noty

* re-wording notices

* feedback review
2017-03-13 09:51:21 -04:00
Chris Duarte
e17eb6c237 PLT-5709 Global error handler (#187)
* WIP Global error handler

Adding components
Adding actions

* Add general errors where errors are caught

* Filter out non displayable errors

* Initial setup to email errors

* Add current user/team to error email

* Fix a few lints

* Ensure errors are cleared when reporting a problem

* Add clear all and internationalization

* Fix trailing comma issue

* fix lints

* Use Formatted Text component

* Move error list out of channel

* Add mobile prefix to i18n id for connection error

* Set shouldRender to true in RightMenuDrawerItem.defaultProps

* Update component name for RightMenuDrawerItem

* Clean up propTypes in RightMenuDrawerItem

* Clean up styles in RightMenuDrawerItem

* Use selector to filter displayable errors

* Clarify code for constructing wrapper style in ErrorList

* Avoid indenting email body for error report

* Remove extraneous params from errors actions

* Rename action type for logging errors

* Rename action for logging errors

* Set shouldRender to true in RightMenuDrawerItem.defaultProps

* Make logged errors displayable by default

* Don't log error when websocket connection is closed

* Hide button to dismiss all errors if ShowErrorsList isn't enabled

* Display only last error in alert bar when ShowErrorsList is disabled

* Add error logging where missing in actions

* Always show button to report problem

* Only include errors in report problem email if any have been logged

* Clarify subject of report problem email

* Set ShowErrorsList to false in default config.json

* Remove unused component + translation for connection errors

* Capture entire error object not just message

* Display fallback if error.message is blank

* Log errors in login actions

* Fix construction of errors email body
2017-03-12 14:42:02 -03:00
enahum
f3dbb72f65 PLT-5836 Smooth transitions and add activity indicators (#339) 2017-03-10 20:52:52 -03:00
Chris Duarte
dca35ac418 PLT-5675 Fix posts rendering as blank (#337)
* PLT-5675 RN: Posts rendering as blank

* Review feedback
2017-03-10 15:28:57 -03:00
Chris Duarte
496068e99c PLT-5496 Allow user to load more posts in channel posts list (#307)
* Group addDatesToPostList options into object

* Clean up imports in PostList

* Dry up code for adding dates to posts in PostList

* Allow user to load more posts in channel post list

* Load more posts upon scrolling to end instead of with button

* Wait for initial posts to be loaded before loading more

* Return data in getPosts actions

* Check how many posts were fetched to determine if there are more

* Insert load-more-posts into list in PostList not post_utils.js

* Rename component for LoadMorePosts

* Use LoadMorePosts to indicate if more posts are loading

* Only try to load more posts if initial posts have been loaded

* Don’t show LoadMorePosts if posts list is empty

* Don’t try to load more posts if first post has been loaded

* Don’t show LoadMorePosts if first post has been loaded

* Set hasFirstPost in willReceiveProps of PostList

* Use constant for load-more-posts token string

* Only show LoadMorePosts if pagination is enabled on PostList

* Fix logic for determining if posts loaded in PostList

* Ensure PostList ListView rerenders

* Move load more posts logic into ChannelPostList

* Remove unused getTheme from ChannelPostList container

* Avoid clever variable assignment in LoadMorePosts
2017-03-09 14:07:35 -03:00
Chris Duarte
c01035ac38 Action button (#324) 2017-03-06 09:50:33 -05:00
enahum
2fe69cacef Move periodic status check to channel scene (#318) 2017-03-03 20:32:51 -03:00
enahum
c121097974 PLT-5587 Create channel (#300)
* PLT-5587 Create channel

* Feedback review

* hidding options in account settings
2017-02-27 16:17:18 -05:00
enahum
e6547c6970 PLT-5502 Update statuses (#302) 2017-02-27 14:10:39 -05:00
enahum
c1318fe834 PLT-5589 Reload configuration when the server config changes (#301) 2017-02-27 13:15:51 -05:00
Chris Duarte
9e8fb26f4b PLT-5604 Add/Remove members from pubic channels doesn't match the webapp functionality (#289)
* PLT-5604 Add/Remove members from pubic channels doesn't match the webapp functionality

* Review feedback

* Fix spelling of ChannelMembersTitle

* Use selector to consolidate auth logic for channel member mgmt
2017-02-24 23:20:28 -03:00
Chris Duarte
80edba14da PLT-5608 App crashes when invalid server url is selected (#285)
* PLT-5608 App crashes with wrong URL

* Review feedback

* FormattedError Modification

* Rename i18n id for server ping failure message

* Display friendly error message if server ping fails w/o response
2017-02-24 21:36:49 -03:00
Chris Duarte
4be1e9af3a PLT-5600 RN: Mention and Channel autocomplete in the thread scene (#299) 2017-02-24 21:24:21 -03:00
Chris Duarte
b09dbbb79c PLT-5493 Add a profile scene that shows user information (#287)
* PLT-5493 React Native: Add a profile scene that shows user information

* Review feedback
2017-02-24 10:17:05 -03:00
Chris Duarte
90ac1fa625 PLT-5601 RN: autocompleting stopped when non-word chars are typed, even if there's an exact match (#288) 2017-02-23 14:43:46 -03:00
Chris Duarte
afe09babfa PLT-5605 Fix logic for indicating start of new messages (#284)
* Fix placement of new messages separator

* Ignore your own posts when determining start of new messages

* Cache lastViewedAt in ChannelPostList until switching channels

* Increase padding around DateHeader & NewMessagesDivider

* Improve styling of new messages divider line

* Use async await for ChannelDrawerList.onSelectChannel

* Convert DateHeader to functional component
2017-02-21 23:59:27 -03:00
Chris Duarte
4f2d769766 PLT-5541 Autocomplete mentions in post textbox (#266)
* WIP channel autocomplete

* Channel mentions

* Feedback Review
2017-02-20 18:19:11 -03:00
Chris Duarte
42ef890415 Manage members fix (#267) 2017-02-20 18:06:18 -03:00
Chris Duarte
f788fb8144 Status indicator fix (#275) 2017-02-20 18:05:26 -03:00
Chris Duarte
0bf26e95b0 PLT-5499 Indicate start of new messages in posts list (#279)
* Indicate start of new messages in posts list

* Use flag prop to indicate start of new messages in posts list

* Declare style props with View.propTypes.style
2017-02-20 18:05:16 -03:00
enahum
e74ecfa5f2 PLT-5510 Show user is typing (#278)
* PLT-5510 Show user is typing

* Move autocomplete below the user typing
2017-02-20 17:39:20 -03:00
enahum
d0209aa8c3 PLT-5488 Add an Unread indicator on the button to open the channel drawer (#277)
* Unread indicator in burger button

* Set badge to always be red
2017-02-20 17:11:19 -03:00
enahum
3eb7e377cf More Channels (#276)
* More Channels

* Fix cleaning search

* feeback review
2017-02-20 16:51:02 -03:00
Chris Duarte
3b7a6df617 PLT-5530 Render placeholder icons + metadata for file attachments in posts list (#249)
* Add icons for file types

* Compress image files for file type icons

* Add constants for file types

* Add utils for file metadata

* Add actions & reducers for fetching file attachments

* Render file attachments in posts

* Add reducers for handling files requests

* Refactor getFileType in file utils

* Refactor getFileIconPath in file utils

* Refactor getFormattedFileSize in file utils

* Trim trailing whitespace in getTruncatedFilename

* Style file attachment metadata

* Remove entity store reducer for files fetch failure

* Change filesForPost to fileIdsForPost in files store

* Use a selector for getFilesForPost

* Memoize getFilesForPost selector

* Dispatch postId with getFilesForPost

* Add test for getFilesForPost

* Upload seed file in getFilesForPost test

* Display correct icon for image attachments

* Fix reducers for receiving files for post

Expect response data to be array not object

* Style attachment post

* Merge headers (defaults + opts) in Client.doFetch

* Upload file as FormData

* Use form-data lib instead of built-in polyfill

* Associate file with post in getFilesForPost test

* Improve assertions in getFilesForPost test

* Check for createPost failure in getFilesForPost test

* Use correct post id in getFilesForPost test

* Use client not action to create post in getFilesForPost test

* Fix file upload in getFilesForPost test

* Add assertion for name of uploaded file

* Update attachment post style

* Fix spelling of loadFilesForPostIfNecessary

* Remove eslint-disable no-magic-numbers from file_utils.js

* Remove unused index prop from FileAttachment

* Clarify code for merging headers in Client.getOptions

* Dynamically truncate file attachment names

* Extract component for FileAttachmentIcon

* Use white bg for FileAttachmentIcon to match webapp styles

* Match webapp styles for file attachment borders

* Move file icon path lookup to FileAttachmentIcon

* Use more logical ordering for file type lookup
2017-02-17 17:40:40 -05:00
Chris Duarte
8aea409ae6 Webhook post override (#273) 2017-02-17 16:07:52 -03:00
Chris Duarte
37bea54b9f Android autocomplete fix (#272) 2017-02-17 13:02:05 -03:00
Chris Duarte
75dc27dd92 Fix offline indicator (#268) 2017-02-17 10:57:36 -05:00
enahum
5a5772bcd0 PLT-5545 Fix Unread above/below indicator size to fit on screen (#256)
* Fix Unread above/below indicator size to fit on screen size

* removing unnecessary flex
2017-02-16 09:29:57 -05:00
Harrison Healey
1319f1fcf8 Added KeyboardLayout to automatically use a KeyboardAvoidingView as necessary (#263)
* Renamed layouts/root_layout to components/root

* Added KeyboardLayout to automatically use a KeyboardAvoidingView when necessary
2017-02-16 09:19:48 -05:00
enahum
61576c9474 PostList date separator to match webapp (#264)
* PostList date separator to match webapp

* Remove preference change test
2017-02-16 09:11:00 -05:00
enahum
a97238f75c Removed channel_viewed websocket event (#254) 2017-02-15 14:08:41 -03:00
Chris Duarte
940363cf36 Mention autocomplete bug fixes (#253)
* Mention autocomplete bug fixes

* Review feedback
2017-02-15 09:57:30 -05:00
Harrison Healey
f5502d8b67 Fixed merge conflict causing thread drafts to not work (#252) 2017-02-14 15:09:20 -05:00
enahum
51e8ee6ea2 More Direct Messages scene (#244)
* More Direct Messages scene

* Adding search_bar.js to mock tests

* Feedback review

* Address feedback review 2
2017-02-14 11:49:41 -05:00
Harrison Healey
249312b852 PLT-5252 Added Thread view (#239)
* Added Thread view

* Fixed added unit test

* Fixed copyright date on added file

* Moved scene-specific selector into service directory
2017-02-13 18:08:26 -03:00
Chris Duarte
c370e895bd Mention autocomplete (#242)
* Mention autocomplete

* Review feedback
2017-02-13 16:07:50 -05:00
Chris Duarte
e0631c2663 Store post drafts (#241) 2017-02-13 10:25:11 -05:00
Chris Duarte
263fd50887 Channel info delete (#222)
* Initial setup to delete channels

* Combine leave and delete

* Working delete when removing the current channel id delete

* Initial working delete with handling web sockets

* Move go back out of component

* Refactor alert function and handle after leave navigation

* Remove promise then

* Allow channel membership to default to empty object

* Ensure that channel is present to avoid method on undefined

* Remove view channel delete action

* Remove unused type
2017-02-09 09:12:44 -08:00