* develop:
Updated status component to use properStatus when going to status page
Added floating action button to ui/index
Removed floating action button from columns area
Fix issue with notification badge number not showing on mobile
Updated scrollable_list to use documentElement for (primary/only) scrolling functionality
Added onScroll props to status_list
Added timeline scrollTop action, added to status_list_container, scrollable_list
Removed unnecessary scrollContainer in status, account_gallery
Added missing isLoading prop to ScrollableList
Updated scrollable_list intersectionObserverWrapper
Updated floatingActionButton to only show if someone is logged in
Updated timeline_queue_button_header
Removed focus of compose/cw after submit or spoiler change
Removed set height of 100% on body
Removed unused redirect after compose submit
Patch Fix for hidden poll choices and results on light theme.
Updated notification badge number formatter
Fixed status/repost functionality to show status if owned by given username
admin tool for editing pro status of accounts
Takes into account if is reblog or not and uses the original poster information if so, otherwise use status url as normal.
Fixes issue with clicking on status and it goes to wrong url of the reposter and shows error message.
added infinite scrolling, updated intersection observer, updates all components that send onScroll, onScrollTop props, removed div ref/setRef to this.node, removed all references to this.node
* origin/styling/add-groups-link: (31 commits)
Comment out the "groups" button until ready to reveal.
Changed the method of adding main navigation icons. Created a png sprite sized @2x based on largest usage (for retina). This will fix some rendering issues caused by using svg images. It will allow adding depth and more color / shading if we choose later.
intents fix
federation fix
two more federation fixes
Removed unused imports
Removed unused PublicTimeline component
Updated CommunityTimeline to add option for "all federated" content
Removed unused import in unauthorized_modal
Updated registration legal links
Updated compose_form to account for if compose modal open
Added empty message to pinned statuses page
Updated nextProps withReplies for account timeline
Added empty message to account_gallery media page
Updated timeline/notification dequeue to be in componentDidMount
Added TimelineQueueButtonHeader to status_list
Added queue functionality status_list_container for status timelines
Updated all Redis.current.publish, PushUpdateWorker.perform_async to work again
Added timeline dequeue functionality to onSubmitCompose action
Added redux functionality for queueing/dequeueing timelines
...
Created a png sprite sized @2x based on largest usage (for retina).
This will fix some rendering issues caused by using svg images.
It will allow adding depth and more color / shading if we choose later.
fixes#9
since there are multiple compose_form on the page (on top of timeline = shouldCondense) and within the modal when replying. if isModalOpen and is the compose form that's on top of timeline then dont set the ref so we can set the cursor on the textarea of the compose modal after the existing reply content.
using streaming.js, when a status comes in to the current page, it queues up using updateTimelineQueue action, it then goes to the reducer to add "queuedItems" to state (up to max:40) and to tally up all count in that timeilne state "totalQueuedItemsCount".
the dequeueTimeline action takes in a "timelineId", "expandFunc", and "optionalExpandArgs". when clicking on the "click to load more" it passes in the timelineId (e.g. "home", "community", etc.) and the "handleLoadMore" function from the timeline component. if within the range of the max: 40, it pushes them to the dom, if over the max: 40 it clears the timeline and refreshes the page/timeline to show the most recent 20 statuses. Then, it resets the "queuedItems" and "totalQueuedItemsCount" in timeline state.
if no expandFunc is added, and timeline is "home" or "community" it expands those timelines with "optionalExpandArgs". Otherwise, it queues up to any other timeline (e.g. "hashtags", etc.)
updated streaming functionality to load notifications into a queue (if currently on notitications page) and to display TimelineQueueButtonHeader with outstanding notification count. (if not on notifications page, it behaves as normal, adding/updating notification state). Max 40 are saved to queuedNotifications state and all are tallied into the totalQueuedNotificationsCount state. On click of TimelineQueueButtonHeader it dequeues the queuedNotifications and loads on page if <= max, otherwise it refreshes the page and shows latest 20 (default count) and clears/resets the state for queuedNotifications and totalQueuedNotificationsCount.