• Added:
- self-destructing/expiring statuses for GabPRO members only
- ExpiringStatusWorker
- stopwatch icon
- expires_at redux values
- expires_at button in composer
- expires at selection popover
• Updated:
- Schedule status button to not show if expiring status active
• Added:
- bookmarks for GabPRO members only
- migration for creation of StatusBookmarks
- all necessary routes, controllers
- redux for adding, removing, fetching and displaying bookmarks
- bookmark icon
- doorkeeper scopes
- backend and frontend support
Bookmarks behave like likes/favorites, except they aren't shared with other users and do not have an associated counter.
dfea7368c9
• Updated:
- Introduction/onboarding flow
• Added:
- autoJoinGroup to default "Introduce Yourself" group in gab.com if you post the welcome post in introduction last slide
This will (somewhat & temporarily) fix the issue of people not getting notifications when others comment via inline comment composer in the timeline
• Updated:
- comment composer to include mentions on first focus
• Todo:
- Test on develop
- Work in backend to resolve issue completely of non-mentioned people not getting notified on their own replies
• Added:
- emoji support for composer
- new emoji sheet
• Updated:
- Textarea to accomodate
- Reducers and actions to retrieve caretPosition on text change when typing
• Removed:
- Unused input type on AutosuggestTextbox
- Old emoji sheet.png
• Updated:
- how groups are fetched, loaded by setting flags for isLoading, isFetched per tab (new, admin, member, featured)
• Todo:
- Reload on group added, group removal
reorganization, linting, updating file imports, consolidation
warning: there will be errors in this commit
todo: update webpack, add missing styles, scss files, consolidate the rest of components within features/*
* 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
* 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
...
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.