Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: mobile layout and XEP detection #46

Merged
merged 23 commits into from
May 25, 2021
Merged

Conversation

misterupkeep
Copy link
Member

This PR introduces several breaking changes:

  • Infinite scrolling is removed
  • Message archiving and sync is questionably functional
  • There is no search UI on mobile
  • XEP-0352 is missing in the 'features' event in stanza.js, meaning this XEP will never be detected

misterupkeep and others added 23 commits April 14, 2021 21:23
The default layout on mobile now has its left sidebar and right panel split into two screen that can
be horizontally scrolled to and fro
The left sidebar will stick to the left screen edge while scrolling
Instead of reacting to stopped scroll, we react to mouseup, and then force a scroll if we're not
scrolling. This results in virtually no jank and feels a lot more natural
Tapping on the dimmed part will also scroll you to the main panel
…n /chat/

The mobile version can scroll back using a hamburger button, and opens a bottom sheet with
contextual actions.

BREAKING CHANGE: REGRESSION: Search doesn't work on mobile (no UI)
Functions setOnlineStatus(status), setStatusMessage(message), goInvisible(), and goVisible()
available as stanza plugin methods
XEPs supported by the server are located in a new 'xeps' store as an object mapping XEP-CODE to
boolean. Natural language data about each XEP is also provided. Checks that work on disco results
are secluded in their own file, while checks that happen when receiving <stream:features/> are in
the stanza.js plugin.

BREAKING CHANGE: KNOWN ISSUE: XEP-0352 is missing in the 'features' event in stanza.js, meaning this
XEP will never be detected
… (and bail out early if none)

If gathering Service Discovery data from the server fails at any point, it is considered
unsupported. This may also happen when a connection breaks
… animation

Refreshing now works by clicking the button. Right next to it is the supported count, total, max,
and percentage. The flicker animation is slightly different: it lines up in a wave/swell. XEPCell is
now functional
* feat(layout): replace overlay-scrollbars with simplebar

Good riddance!

fix #44

* feat(layout): resolve layout issues and fix scrollbar

* chore: remove overlayscrollbars plugin

* style(scrollbar): improve scrollbar stylings and look

* fix(layout): fix issue where settings menu on mobile wouldn't show scroll

* fix(layout): make chat scrollbar always visible, add right margin to message

Messages have a right margin to avoid intersecting the darker background with a semi-transparent
similarly-colored scrollbar track

* fix(styling): default min-width:0 on simplebar

All simplebar elements now get min-height:0 applied to them without need of explicit .simplebar

Co-authored-by: Upkeep <[email protected]>
@misterupkeep misterupkeep requested a review from lukediamond May 25, 2021 18:13
@misterupkeep
Copy link
Member Author

Pulling should open 4 issues - one for each breaking change specified above

@lgtm-com
Copy link

lgtm-com bot commented May 25, 2021

This pull request introduces 6 alerts and fixes 3 when merging 792a9c9 into 7c1e2b0 - view on LGTM.com

new alerts:

  • 4 for Unused variable, import, function or class
  • 2 for Incomplete URL substring sanitization

fixed alerts:

  • 3 for Unused variable, import, function or class

Copy link
Member

@lukediamond lukediamond left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to merge, just look over the comments.

@lukediamond lukediamond merged commit fa4b783 into master May 25, 2021
@lukediamond lukediamond deleted the feature/mobile-layout branch May 25, 2021 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create mobile layout Implement message search Load messages from IndexedDB blocks
2 participants