* Add Territory Sub management tab in Subscriptions
* don't use queryRawUnsafe
* auto width on select
* separate into pages for browser nav
* fix multiple separators
* simplify queries
---------
Co-authored-by: k00b <k00b@stacker.news>
* multi_auth cookies check + reset
* multi_auth cookies refresh
* Expire cookies after 30 days
This is the actual default for next-auth.session-token.
* Collapse issues by default
* Only refresh session cookie manually as anon
* fix mangled merge
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: k00b <k00b@stacker.news>
* Prevent account creation if we're not signin up
* remove cookie once logged in, 24 hours expiry, comment
* adjust error messages
* check signin instead of signup
* appendHeader to avoid overwrites, fix typo, use NodeNextRequest to handle cookies
* expire cookie if signup
* redirect to cowboys.js if there's a time descriptor
* add comment for future reference
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
* fix: cannot login with email on PWA
* adjust other email templates
* restore manual url on new user email
* no padding on button section
* cleanup
* generate 6-digit bechh32 token
* token needs to be fed as lower case; validator case insensitive
* delete token if user has failed 3 times
* proposal: context-independent error page
* include expiration time on email page message
* add expiration time to emails
* independent checkPWA function
* restore token deletion if successful auth
* final cleanup: remove unused function
* compact useVerificationToken
* email.js: magic code for non-PWA users
* adjust email templates
* MultiInput component; magic code via MultiInput
* hotfix: revert length testing; larger width for inputs
* manual bech32 token generation; no upperCase
* reverting to string concatenation
* layout tweaks, fix error placement
* pastable inputs
* small nit fixes
* less ambiguous error path
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: k00b <k00b@stacker.news>
* basic query with limit/offset
* roughly working increment
* working limiting/pageable queries
* denormalize direct comments + full comments below threshold
* notifications in megathread + working nest view more buttons
* fix empty comment footer
* make comments nested resolver again
* use time in cursor to avoid duplicates
* squash migrations
* do not need item.comments undefined checks
* fix: progress bar shown on back navigation through pathname check
* fix progress done race
* use router.pathname instead cause it's already there
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: k00b <k00b@stacker.news>
* Add wallet filters
* Fix grid layout shift
* Store filter state in query params
* Use auto-fill instead of auto-fit
This doesn't seem to change anything but this is closer to our intention how the grid should work with fixed column width.
* Use same order for filters as icons in card
* Use state update function
* Use user-select: none for wallet filters
* Remove unnecessary '|| false'
* Add media query to keep centered grid layout on small screens
* Decrease wallet filter margin-top to 1rem
* fix wallet support usage
* improve grid
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: k00b <k00b@stacker.news>
* Always switch to user we just logged in as
If we're logged in and switch to anon and then use login to get into our previous account instead of using 'switch accounts', we only updated the JWT but we didn't switch to the user.
* Fix getToken unaware of multi-auth middleware
If we use login with new credentials while switched to anon (multi_auth.user-id === 'anonymous'), we updated the pubkey because getToken wasn't aware of the switch and thus believed we're logged in as a user.
This is fixed by applying the middleware before calling getToken.