Commit Graph

1216 Commits

Author SHA1 Message Date
keyan f27cd2d6dd protect against comment root not having forwards 2023-09-26 15:15:31 -05:00
keyan 370e3c1c48 raise boost minimum to 25k, enhance editing boost, JIT fund editing costs 2023-09-25 19:54:35 -05:00
keyan 374cc26224 indicate commenter is part of forwarded group 2023-09-25 16:47:24 -05:00
SatsAllDay 8017355924
Lightning strike on donation, if enabled. Else success toast (#517)
* Lightning strike on donation, if enabled. Else success toast

* remove extra toast from merge

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-09-24 15:10:44 -05:00
SatsAllDay d60a589bc0
Implementing LUD-12 comments on payRequest in LNURLP Lightning Address flow (sending and receiving) (#498)
* Prototype implementing LUD-12 comments on payRequest in LNURLP Lightning Address flow

* Support sending comment when withdrawing to ln addr (LUD-12)

* Prevent `initialError` from being toasted informs multiple times

* delete the old create_invoice function

* improve lightning addr withdrawal styling

* allow lnaddr comment to show up in notifications

* enhance satistics

---------

Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-09-23 20:14:49 -05:00
keyan 14d2573dd2 fix non-unique bountyPaidTo display 2023-09-18 19:15:02 -05:00
keyan fb3837ea0a use number formatting more places 2023-09-18 18:09:08 -05:00
ekzyis 3a7c3f7af2
Add setting to send diagnostics back to SN (#463)
* Add diagnostics settings & endpoint

Stackers can now help us to identify and fix bugs by enabling diagnostics.

This will send anonymized data to us.

For now, this is only used to send events around push notifications.

* Send diagnostics to slack

* Detect OS

* Diagnostics data is only pseudonymous, not anonymous

It's only pseudonymous since with additional knowledge (which stacker uses which fancy name), we could trace the events back to individual stackers.

Data is only anonymous if this is not possible - it must be irreversible.

* Check if window.navigator is defined

* Use Slack SDK

* Catch errors of slack requests

---------

Co-authored-by: ekzyis <ek@stacker.news>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-09-18 18:00:16 -05:00
SatsAllDay 786c185464
Introduce format option on `numWithUnits` fn, consumed by bounty listing (#496) 2023-09-18 17:49:13 -05:00
keyan ccb1c07c3f use code icon for contibutors 2023-09-18 14:17:22 -05:00
SatsAllDay bc2363dfab
Verified contributors (#474)
* `isContributor`, `hideIsContributor` user fields and basic UI decoration on profile page

* Update verified contributor decoration on profile page

* Add contributors instructions

* update setting label

* Remove `isContributor` from DB, load contributors from file into memory

* fix merge error

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-09-18 13:57:02 -05:00
SatsAllDay 8ab58fff87
Proposal: User Subscriptions: separate posts and comments (#470)
* Subscribe to user posts and comments independently

* Track when comments and posts subscriptions are set to filter out old items

* Only send push notification to subscribed user if posts/comments enabled

* Remove `posts` and `comments` boolean fields on UserSub, rely solely on timestamps
2023-09-18 13:20:02 -05:00
keyan cee00af83c fix job image upload 2023-09-14 10:35:13 -05:00
keyan 7d170a654f variable downzaps 2023-09-13 21:08:03 -05:00
keyan 4b543ae733 prevent wallet balance overflow 2023-09-12 20:21:59 -05:00
keyan bd07fc7a25 fix height of foward percent on validation err 2023-09-12 17:04:49 -05:00
keyan 52d938a22a remove block from blockheight 2023-09-12 16:36:26 -05:00
keyan 79b58600e9 fix styling of forwards 2023-09-12 15:56:03 -05:00
keyan c3498be5ba signup => sign up in welcome banner 2023-09-12 14:51:55 -05:00
keyan 490edd6833 prevent horizontal layout shift when balance is hidden 2023-09-12 14:50:06 -05:00
keyan b1d6bf058e make balance hiding work on mobile using pointer events 2023-09-12 14:37:13 -05:00
ekzyis 6df654b208
Hide wallet balance (#481)
* Hide wallet balance on long press

* Use setting to hide wallet balance

* Fix layout shift on hover

* Fix SSR warning about useLayoutEffect

See https://reactjs.org/link/uselayouteffect-ssr

* Also hide balance in wallet

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-09-12 12:19:26 -05:00
SatsAllDay 1a6dc879a2
Dependency inject `me` into post validation schemas to enforce no forwarding posts to self (#485)
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-09-12 11:56:59 -05:00
SatsAllDay 16a6f93708
Add block height to price carousel (#484)
* Add block height to price carousel

source block height from mempool.space API
https://mempool.space/docs/api/rest#get-block-tip-height

* Add block height to SSR, clean up fragment query

* Cache block height for 1 minute, not 30 seconds

use `numWithUnits` for block height label

* Replace mempool.space API with LND API call

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-09-12 10:56:02 -05:00
SatsAllDay 94fbabcdf9
Notifications for when you are forwarded sats from a post (#467)
* Notifications for when you are forwarded sats from a post

Support notifications when a post for which you are forwarded gets zapped

This is controlled by a new boolean flag in user settings

* Send push notifications to forwarded users when they get forwarded sats

* Add `Promise.allSettled` per PR feedback

* Remove `FEE` act type when building forwarded zaps notifications

Don't include `FEE` actions, only `TIP` actions to avoid "0 sats forwarded" notifications

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-09-12 10:31:46 -05:00
keyan 9064224fd3 allow input character overflow for editting 2023-09-11 19:59:36 -05:00
SatsAllDay 77daa458cf
Visual Character counter for post titles, poll options (#466)
* Indicate how many chars remain for title field and poll options

Live counter update to help authors know how many more chars they have
to use in their post titles, and also poll options

* Use InputInner for consistency

* Refactor to reuse title hint across all forms

* Character(s)

* Move maxLength hint impl to InputInner, per PR feedback

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-09-11 19:20:44 -05:00
rleed 1969d82741
move search bar to top of page (#433)
* move search bar to top of page

* move select inputs below search bar

* reduce complexity

* default search to zaprank

* votes => zaprank

---------

Co-authored-by: rleed <rleed1@pm.me>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-09-11 18:11:47 -05:00
rleed 2ba969ebab
Add new visitor welcome banner (#418)
* add new visitor welcome banner

* show dismissible banner on first-time login

* add mutation to hide welcome banner

* Update components/banners.js

Co-authored-by: ekzyis <27162016+ekzyis@users.noreply.github.com>

* fix error handling

* simplifications and other review suggestions

* cleanup

* restore selective display logic

* remove unnecessary query arguments

* cleanup a bit more

* don't show welcome banner to existing stackers

---------

Co-authored-by: rleed <rleed1@pm.me>
Co-authored-by: ekzyis <27162016+ekzyis@users.noreply.github.com>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-09-11 16:29:45 -05:00
ekzyis 0c7d432056
Fix replying to wrong comment (#478)
Co-authored-by: ekzyis <ek@stacker.news>
2023-09-11 14:58:11 -05:00
SatsAllDay 9d05a5d09f
toast border color based on variant (#469) 2023-09-11 14:57:41 -05:00
keyan 29d17dce21 fix invoicable modal close race condition 2023-08-31 12:26:42 -05:00
keyan ed722fffdd remove reminder that you can overpay an invoice 2023-08-31 10:37:58 -05:00
keyan 3e0167a4aa fix merge typo 2023-08-31 10:20:01 -05:00
ekzyis 6c203a4476
Use callback to clear local storage on success (#462)
Co-authored-by: ekzyis <ek@stacker.news>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-08-31 10:15:52 -05:00
ekzyis 803acd1fc4
Replace FundError with InvoiceModal (#455)
* invoices are no longer deleted to prevent double-spends but marked as confirmed.
  therefore, during checkInvoice, we also check if the invoice is already confirmed.
* instead of showing FundError (with "fund wallet" and "pay invoice" as options), we now always immediately show an invoice
* since flagging, paying bounties and poll voting used FundError but only allowed spending from balance, they now also support paying per invoice

Co-authored-by: ekzyis <ek@stacker.news>
2023-08-31 10:10:24 -05:00
ekzyis ac45fdc234
Use HODL invoices (#432)
* Use HODL invoices

* Fix expiry check comparing string with Date

* Fix unconfirmed user balance for HODL invoices

This is done by syncing the data from LND to the Invoice table.

If the columns is_held and msatsReceived are set, the frontend is told that we're ready to execute the action.

We then update the user balance in the same tx as the action.

We need to still keep checking the invoice for expiration though.

* Fix worker acting upon deleted invoices

* Prevent usage of invoice after expiration

* Use onComplete from <Countdown> to show expired status

* Remove unused lnd argument

* Fix item destructuring from query

* Fix balance added to every stacker

* Fix hmac required

* Fix invoices not used when logged in

* refactor: move invoiceable code into form

* renamed invoiceHash, invoiceHmac to hash, hmac since it's less verbose all over the place
* form now supports `invoiceable` in its props
* form then wraps `onSubmit` with `useInvoiceable` and passes optional invoice options

* Show expired if expired and canceled

* Also use useCallback for zapping

* Always expire modal invoices after 3m

* little styling thing

---------

Co-authored-by: ekzyis <ek@stacker.news>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-08-30 21:48:49 -05:00
SatsAllDay c6dfd1e39c
Fix toast weirdness on iOS scrolling (#461)
* Fix toast weirdness on iOS scrolling

* Remove unnecessary css hacks
2023-08-30 21:16:47 -05:00
SatsAllDay 1872d6a7ad
Update twitter url regexs to match x.com or twitter.com (#454)
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-08-30 20:13:43 -05:00
keyan b3eb1fbd96 fix reward range notification link 2023-08-30 10:22:25 -05:00
keyan faf71f744c handle some rewards corner cases 2023-08-30 10:00:47 -05:00
keyan b6c822f40e allow viewing reward ranges 2023-08-29 19:13:21 -05:00
keyan a40eb642a0 rewards only go to top posts/comments 2023-08-29 16:05:09 -05:00
SatsAllDay 0d4a225442
Subscribe to a user (#443)
* First pass of user subscriptions

* add new db model to track subscriptions
* update user typedef and api resolver for subscription state
* add subscribe action to user profile page
* add mutation to subscribe to a user

* Update notifications queries, hasNewNotes queries for FollowActivity note type

* Only show items that have been created since subscribing to the user

* Send push notifications to user subscribers for posts and comments

* Rename item dropdown to action dropdown and re-use for item info and user actions

* Don't allow self-follows

* Add index on followee for faster lookups

* Don't show subscribe action if not logged in

* small style enhance

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-08-28 20:27:56 -05:00
SatsAllDay b24b06eeee
Minor tweaks to the page footer (#452)
1. Use an ActionTooltip to explain what the light/dark mode and lightning buttons are for
2. Open the current commit github link in a new tab
2023-08-28 19:35:25 -05:00
keyan e77bc819bb fix forward percentage width on mobile 2023-08-28 14:31:28 -05:00
keyan a0af954d60 add how many times bounty has been paid 2023-08-28 14:14:14 -05:00
keyan 169c762a1f rm commas in forward lists 2023-08-28 09:59:01 -05:00
keyan f23e05f671 foss contrib in footer 2023-08-28 09:46:56 -05:00
keyan 88da287a87 hide zap bolt for forward users (#445) 2023-08-28 09:40:29 -05:00
keyan f1ad321857 fix forward notification styling 2023-08-28 08:22:51 -05:00
keyan 3e4c189a1d fix alert close styling and zap popover styling 2023-08-25 19:03:02 -05:00
keyan 46f235d60c add removed snl banner 2023-08-25 18:43:50 -05:00
SatsAllDay 0ee056b2a1
Toast (#431)
* Prototype of toast system

* More toast adoption

* share
* flag
* bookmark
* subscribe
* delete

* More toast usage:

* forms
* settings save

* Log error during flag failure

* Incorporate PR feedback:

1. return `toaster` from `useToast` hook, with simplified `success` and `danger` methods

2. remove toast header, move close button to body

3. change how toast ids are generated to use a global incrementing int

4. update toast messages

* PR feedback:

* reduce width of toast on narrow screens
* dynamic delete success toast message based on deleted type
* add toasts to auth methods deletion operations

* Dismiss all toasts upon page navigation

* refine style and use delay prop

* more styling

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-08-25 18:21:51 -05:00
keyan a847b16b2c make item creation easier 2023-08-25 13:42:55 -05:00
SatsAllDay 137e99cf7f
Add meta sub to rss popover in footer (#440)
move nostr sub up to top row for 3 and 3 instead of 2 and 4
2023-08-23 20:29:08 -05:00
SatsAllDay 3da395a792
multiple forwards on a post (#403)
* multiple forwards on a post

first phase of the multi-forward support

* update the graphql mutation for discussion posts to accept and validate multiple forwards

* update the discussion form to allow multiple forwards in the UI

* start working on db schema changes

* uncomment db schema, add migration to create the new model, and update create_item, update_item
stored procedures

* Propagate updates from discussion to poll, link, and bounty forms

Update the create, update poll sql functions for multi forward support

* Update gql, typedefs, and resolver to return forwarded users in items responses

* UI changes to show multiple forward recipients, and conditional upvote logic changes

* Update notification text to reflect multiple forwards upon vote action

* Disallow duplicate stacker entries

* reduce duplication in populating adv-post-form initial values

* Update item_act sql function to implement multi-way forwarding

* Update referral functions to scale referral bonuses for forwarded users

* Update notification text to reflect non-100% forwarded sats cases

* Update wallet history sql queries to accommodate multi-forward use cases

* Block zaps for posts you are forwarded zaps at the API layer, in addition
to in the UI

* Delete fwdUserId column from Item table as part of migration

* Fix how we calculate stacked sats after partial forwards in wallet history

* Exclude entries from wallet history that are 0 stacked sats from posts with 100% forwarded to other users

* Fix wallet history query for forwarded stacked sats to be scaled by the fwd pct

* Reduce duplication in adv post form, and do some style tweaks for better layout

* Use MAX_FORWARDS constants

* Address various PR feedback

* first enhancement pass

* enhancement pass too

---------

Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-08-23 17:44:17 -05:00
ekzyis 0ea4f9bc27
Fix click to load in preview (#427)
* Rename confusing variable name

* Use nullish coalescing operator

* Fix click to load in preview

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-08-23 15:30:38 -05:00
ekzyis 427fc9aeec
Fix youtube player x-overflow (#426)
Co-authored-by: ekzyis <ek@stacker.news>
2023-08-23 15:29:09 -05:00
rleed 799ec987b4
Forward sats to user: text trimming and menu click-out UX improvements (#397)
Co-authored-by: rleed <rleed1@pm.me>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-08-19 18:30:41 -05:00
SatsAllDay b9a8ec84bb
Remove OP badge for comments by anon on posts by anon (#422)
Add a post to the seed file from anon, with a comment by anon for easier testing
2023-08-19 16:03:07 -05:00
keyan df6575d701 remove slashtags completely 2023-08-17 13:40:21 -05:00
keyan c6cc7510c7 remove sats info from ads 2023-08-16 17:58:43 -05:00
keyan 7235a4a54f restyle ad to be clearer 2023-08-16 17:53:51 -05:00
keyan 68f298fc21 add simple badge to ad 2023-08-16 14:39:01 -05:00
ekzyis 670c567bff
Configure imgproxy timeouts + add click to load on imgproxy errors (#404)
* Configure imgproxy timeouts

* Use click to load on imgproxy errors

* Add setting for click to load

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-08-15 12:55:16 -05:00
rleed 45bad1219e
Fix link to profile matching current URL, not profile (#395)
* break out profile menu and remove top-level href

* group the bio hint with the menu

* rebase/merge

---------

Co-authored-by: rleed <rleed1@pm.me>
2023-08-15 12:54:24 -05:00
keyan e4831e65d5 show sources and history of rewards 2023-08-15 12:41:51 -05:00
keyan 679f766f07 add average comments per post to items analytics 2023-08-14 15:36:54 -05:00
keyan 03f0329984 fix image uploading/edit 2023-08-13 14:12:18 -05:00
ekzyis f0bc1baed2 Save payment tokens in localStorage 2023-08-12 04:18:32 +02:00
ekzyis 4d725272e3 Fix cost not set after form reset 2023-08-12 03:12:03 +02:00
keyan 5b821906cf use builtin copy input label 2023-08-11 18:43:45 -05:00
keyan 705e21a72c add comma to anon info 2023-08-11 18:19:35 -05:00
keyan 86239a235d make invoice expiration times have saner defaults 2023-08-11 18:10:46 -05:00
keyan abb9ca5524 anon info typo 2023-08-11 17:54:26 -05:00
keyan a5eb7b5443 invoice check backoff 2023-08-11 17:54:26 -05:00
ekzyis 9e4f9aa558 Catch invoice errors in fund error modal 2023-08-12 00:35:24 +02:00
keyan 39db6e096d restyle fund error modal 2023-08-11 17:05:21 -05:00
keyan 63dd5d4d09 fix qr layout shift 2023-08-11 17:05:21 -05:00
ekzyis 73aa0d2d44 Fix localStorage cleared because error were swallowed 2023-08-11 23:36:53 +02:00
keyan 38fddcf283 concat hash and hmac and call it a token 2023-08-11 14:22:18 -05:00
keyan b2508b738a make anon hat appear on profile 2023-08-11 14:12:18 -05:00
keyan 9c6ecf9526 correct overlay zap text for anon 2023-08-11 12:43:18 -05:00
keyan e4c2d113ef remove redundant meTotalSats 2023-08-11 12:41:02 -05:00
ekzyis 41f46cf41e Fix empty invoice creation attempts
I stumbled across this while checking if anons can edit their items.

I monkey patched the code to make it possible (so they can see the 'edit' button) and tried to edit an item but I got this error:

  Variable "$amount" of required type "Int!" was not provided.

I fixed this even though this function should never be called without an amount anyway. It will return a sane error in that case now.
2023-08-11 05:30:22 +02:00
ekzyis 28b4588a12 Fix [object Object] as error message
Any errors thrown here are already objects of shape { message: string }
2023-08-11 05:30:06 +02:00
keyan d92701c56f don't abbreviate 2023-08-10 19:58:33 -05:00
keyan ea9c405dfa add sat amounts to invoices 2023-08-10 18:33:57 -05:00
keyan 53a6c9489f fix forgotten find and replace 2023-08-10 17:40:50 -05:00
keyan 26762efcea add generic date pivot helper 2023-08-10 17:36:49 -05:00
keyan 46274fba4f give anon an icon 2023-08-10 17:36:49 -05:00
ekzyis 2fbf1e4cc3 Keep track of modal stack 2023-08-11 00:35:43 +02:00
ekzyis 49736e8d3c Always show repeat and contacts on action error 2023-08-10 23:04:06 +02:00
keyan 081c5fef0b make anon posting less hidden, add anon info button explainer 2023-08-10 14:41:56 -05:00
Keyan cbfd6998a6
Merge branch 'master' into 266-zaps-without-account 2023-08-10 12:40:30 -05:00
ekzyis bb2212d51e Add invoice HMAC
This prevents entities which know the invoice hash (like all LN nodes on the payment path) from using the invoice hash on SN.

Only the user which created the invoice knows the HMAC and thus can use the invoice hash.
2023-08-10 07:10:07 +02:00
ekzyis 4fe1d416de Fix onConfirmation called at every render 2023-08-10 04:13:09 +02:00
ekzyis 318088179a Rename to useInvoiceable 2023-08-10 03:34:38 +02:00
ekzyis 38dbbd5a4f Fix comment copy-paste error 2023-08-10 03:34:38 +02:00
ekzyis 118f591d04 Merge branch 'master' into 266-zaps-without-account 2023-08-10 03:34:38 +02:00
SatsAllDay d5f7855adf
Debounce API requests on edit nym by 500ms (#387)
Support an optional debounce prop on Input component

If provided, the debounce is applied to the validation of the containing form,
imperatively invoking form validation after debounce is finalized

Also required introducing the `validateOnChange` prop on `Form` which gets passed to `Formik`, and defaults to true, just as it does in `Formik`.

Imperatively invoking form validation seemed to be the only way to debounce the validation call through formik.
2023-08-09 17:06:22 -05:00
keyan b92f63ca88 fix remaining misuses of plural units 2023-08-08 17:15:30 -05:00
keyan da78d244ef handle when navigator controller isn't present 2023-08-08 16:55:53 -05:00
keyan 3cfeede46a handle all singular units appropriately 2023-08-08 16:47:27 -05:00
SatsAllDay 9941bc6519
render "reply" or "replies", "comment" or "comments" depending on the count (singular or plural) (#382)
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-08-08 16:07:00 -05:00
SatsAllDay 6e05cd38f9
Singular/Plural "Sats" labels (#380)
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-08-08 16:04:06 -05:00
ekzyis 67a0de3ea5
Notifications with nostr info (#368)
* Show zap message and pubkey in notifications

+ show zap request event in invoice view

* enhance ui

---------

Co-authored-by: ekzyis <ek@stacker.news>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-08-08 13:19:31 -05:00
Keyan 76b4156ccb
Merge branch 'master' into 266-zaps-without-account 2023-08-08 09:42:21 -05:00
ekzyis e3c60d1ef8
Sync push subscriptions on every page load (#370)
Most browsers don't support the pushsubscriptionchange event.

We workaround this by saving the current push subscription in IndexedDB so we can check during every page load if the push subscription changed.

If that is the case, we manually sync the push subscription with the server.

However, this solution is not perfect as mentioned in https://medium.com/@madridserginho/how-to-handle-webpush-api-pushsubscriptionchange-event-in-modern-browsers-6e47840d756f which was used for reference:

> This solution is not perfect, the user could lose some push notifications if he doesn’t open the webapp for a long time.

Co-authored-by: ekzyis <ek@stacker.news>
2023-08-07 20:03:34 -05:00
ekzyis 7369bd819d
Add nostr login (#367)
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-08-07 19:50:01 -05:00
keyan a0974e4d6c Merge branch 'master' into 266-zaps-without-account 2023-08-07 16:48:52 -05:00
keyan a3b668587d fix top cowboys 2023-08-07 16:26:15 -05:00
Keyan 3d0bb4b32c
Merge branch 'master' into 266-zaps-without-account 2023-08-07 15:10:20 -05:00
keyan 0867f3ff1c only outline eldest new comment ... unset on touch 2023-08-07 09:29:47 -05:00
keyan d661c70f16 more noticable new comment indicator 2023-08-06 14:31:24 -05:00
keyan 1efc17fcc2 subtle highlight of new comments 2023-08-06 14:18:40 -05:00
keyan ea1e31c6ee prevent horizontal layout shift on new comments 2023-08-06 13:21:38 -05:00
keyan ebfff4677f fix top header/stat order on back/forward nav 2023-08-06 13:13:32 -05:00
keyan 90f4d41fc8 remove list jitter by initially preferring ssr 2023-08-06 13:04:25 -05:00
keyan eeaf6e10e5 reduce rerenders in notifications 2023-08-06 10:47:58 -05:00
keyan b9fdbde520 fix back button render jitter 2023-08-05 12:56:03 -05:00
keyan d9dd4bc05b prevent scroll to comment on rerender 2023-08-05 12:13:15 -05:00
keyan aea8948c45 dark-mode needs to block block 2023-08-04 20:45:12 -05:00
keyan 8d8e2859dd fix dark mode 2023-08-04 19:21:51 -05:00
keyan 23257d8c63 fix notifications glitchiness 2023-08-04 12:08:16 -05:00
keyan 42234eae9b highlight notification on back button 2023-08-03 19:14:04 -05:00
keyan 4e41f67e87 fix notification url replacement 2023-08-03 18:04:43 -05:00
keyan 94e975033c fix fee button receipt background color 2023-08-03 15:13:07 -05:00
keyan 0ab9119739 improve notifications UX: highlight reply and distinguish new notifications 2023-08-03 14:56:59 -05:00
keyan 7596b0302a improve click to context behavior and add ssrForceFetchDelay to apollo 2023-08-03 13:13:49 -05:00
keyan b1b8f9de56 implement our own nprogress bar 2023-08-01 21:06:15 -05:00
keyan e1c51075a2 fix conditional nextFetchPolicy overriding cache-only on SSR and suppress time hydration warnings 2023-07-31 14:54:30 -05:00
keyan f91be5d70f fix form skeleton 2023-07-31 12:35:58 -05:00
keyan b42a934207 fix invites signup via lightning/slashtags 2023-07-31 09:19:53 -05:00
keyan bc5a19c6ee suppress hydration warnings when relative time is rendered 2023-07-31 09:12:56 -05:00
keyan d2216e80da conform to linter 2023-07-31 08:39:10 -05:00
ekzyis ba04e6522d Also strike on payment after short press 2023-07-30 23:45:08 +02:00
ekzyis d186e869e1 Allow pay per invoice for bounty and job posts 2023-07-30 23:45:08 +02:00
ekzyis f2f09b22c4 Fix invoice amount for comments 2023-07-30 23:45:08 +02:00
ekzyis 1cd9750be5 Fix insufficient funds error detection 2023-07-30 23:45:08 +02:00
ekzyis 773f658e00 Remove duplicate insufficient funds handling 2023-07-30 23:45:08 +02:00
ekzyis 6b4b5023f6 Keep invoice modal open if focus is lost 2023-07-30 23:45:07 +02:00
ekzyis 853a389b65 Allow pay per invoice for stackers
The modal which pops up if the stacker does not have enough sats now has two options: "fund wallet" and "pay invoice"
2023-07-30 23:45:07 +02:00
ekzyis fd8510d59f Use payment hash instead of invoice id as proof of payment
Our invoice IDs can be enumerated.
So there is a - even though very rare - chance that an attacker could find a paid invoice which is not used yet and use it for himself.
Random payment hashes prevent this.

Also, since we delete invoices after use, using database IDs as proof of payments are not suitable.
If a user tells us an invoice ID after we deleted it, we can no longer tell if the invoice was paid or not since the LN node only knows about payment hashes but nothing about the database IDs.
2023-07-30 23:45:07 +02:00
ekzyis 74893b09dd Add anon comments and posts (link, discussion, poll) 2023-07-30 23:45:07 +02:00
ekzyis 5415c6b0f6 Add anon zaps 2023-07-30 23:45:07 +02:00
keyan 42bdd40f91 show errors on settings during auth linking 2023-07-30 15:39:18 -05:00
keyan 5232b59625 upgrade to next-auth 4 (bonus: improve error pages) 2023-07-29 14:38:20 -05:00
keyan 7490e5c249 fix syntax highlighting warnings 2023-07-27 12:10:05 -05:00
keyan 7542dd6cc4 upgrade to prisma 4 2023-07-26 19:18:42 -05:00
keyan 5a4f63b1d5 fix pinned discussion spacing 2023-07-26 08:48:46 -05:00
keyan 8ea9938cb0 fix broken image text 2023-07-25 20:02:43 -05:00
keyan 8ab018af88 fix nested comment sorting 2023-07-25 19:45:35 -05:00
keyan 19835aef5f fix undefined sub on post pre-form 2023-07-25 15:41:46 -05:00
keyan 4c1ef62386 fix edit bio button location 2023-07-25 15:32:49 -05:00
keyan 98552c853c fix back button behavior on select navigation 2023-07-25 15:29:45 -05:00
keyan 4bfd021342 enhance styling 2023-07-25 13:32:48 -05:00
keyan ab2046ab0b fix issues with new linting 2023-07-25 09:14:45 -05:00
keyan dae9c64e96 more package updates 2023-07-24 19:50:55 -05:00
keyan e87610c45b update packages and reduce bundle size 2023-07-24 17:50:12 -05:00
keyan 356f7e072c 50% reduction in bundle size by being careful with big imports 2023-07-24 16:06:26 -05:00
keyan 6407455def upgrade react-bootstrap 2023-07-24 13:53:53 -05:00
keyan 59f7b6ff26 Revert "Revert "shield your eyes; massive, squashed refactor; nextjs/react/react-dom/apollo upgrades""
This reverts commit 18910fa2ed.
2023-07-23 10:08:43 -05:00
keyan 18910fa2ed Revert "shield your eyes; massive, squashed refactor; nextjs/react/react-dom/apollo upgrades"
This reverts commit d0314ab73c.
2023-07-23 09:16:12 -05:00
keyan d0314ab73c shield your eyes; massive, squashed refactor; nextjs/react/react-dom/apollo upgrades 2023-07-21 17:33:11 -05:00
keyan 253d75b438 fix item icon fix 2023-07-15 11:35:10 -05:00
keyan 3c3de2eb24 fix item icon styling 2023-07-14 11:07:03 -05:00
keyan 7a4ba715e0 memoize table of contents 2023-07-13 15:56:57 -05:00
keyan 3c711b6083 enhance image detection and proxy 2023-07-13 15:18:04 -05:00
ekzyis 0d3328e509
Show longest cowboy streak in profile (#353)
* Show longest cowboy streak in profile

* Fix image offset

* Initialize maxStreak for every user

* Use resolver instead of denormalization for maxStreak

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-07-12 19:10:29 -05:00
Jo Wo bf4b8714fe
Render images without markdown and use image proxy (#245)
* Parse image links during markdown rendering

* Use imgproxy to replace links

* Add healthcheck

See https://docs.imgproxy.net/healthcheck

* Enable WebP and animation support

* Only replace image URLs

* Replace all occurrences

* Fix creating posts with no text

* Embed image on link posts where link is image

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-07-12 19:10:01 -05:00
keyan bc9081eaab fix race condition caused by race condition fix 2023-07-11 13:33:13 -05:00
keyan efa3172f15 top stackers sorted stat to front 2023-07-10 12:59:21 -05:00
keyan 34ba823bd4 account for no funds on zap debounce 2023-07-09 13:08:56 -05:00
keyan e8aa0a4dae users? => stackers? 2023-07-09 12:53:50 -05:00
keyan 4e9138dfdc show more info on where zap rewards came from 2023-07-09 12:21:11 -05:00
keyan f33534dd36 fix rapid voting ui race condition (#213) 2023-07-09 11:15:46 -05:00
keyan e0d89a289b fix lightning animation z-index 2023-07-06 18:07:30 -05:00
keyan ec9a424bf4 reward countdown in footer 2023-07-06 12:43:51 -05:00
ekzyis 37e70f9791
Scroll to items on push notification click (#345)
* Scroll from root item in reach on notification click

Instead of going directly to the item of the notification, we now scroll from the root item which is still in reach to the comment.

This should provide more context to the user in most cases.

* Also scroll from root item in reach in /notifications

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-07-06 10:00:38 -05:00
ekzyis 57f3ad1c75
Fix darkmode in walkthrough popover (#343)
* Fix darkmode in walkthrough popover

* Fix invalid DOM property `class`

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-07-05 15:07:18 -05:00
keyan 09d7e960cc back to lightning animation 2023-07-05 09:47:44 -05:00
keyan dc62751df4 dont show push notifications in nonsupporting browsers 2023-07-04 18:44:03 -05:00
keyan 19c743f70d fix safari notifications error 2023-07-04 18:02:22 -05:00
keyan a17b4d1f1a refine push notification ui and catch promises 2023-07-04 17:19:59 -05:00
keyan 3068252adf merge github master 2023-07-04 15:35:04 -05:00
ekzyis 30cc42109f
Fix different font between write and preview (#338)
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-04 14:36:55 -05:00
ekzyis 40ef4f47c8
Remove unused var (#330)
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-04 14:36:38 -05:00
ekzyis 388e00dd04
Service worker rework, Web Target Share API & Web Push API (#324)
* npm uninstall next-pwa

next-pwa was last updated in August 2022.
There is also an issue which mentions that next-pwa is abandoned (?): https://github.com/shadowwalker/next-pwa/issues/482

But the main reason for me uninstalling it is that it adds a lot of preconfigured stuff which is not necessary for us.
It even lead to a bug since pages were cached without our knowledge.

So I will go with a different PWA approach. This different approach should do the following:
- make it more transparent what the service worker is doing
- gives us more control to configure the service worker and thus making it easier

* Use workbox-webpack-plugin

Every other plugin (`next-offline`, `next-workbox-webpack-plugin`, `next-with-workbox`, ...) added unnecessary configuration which felt contrary to how PWAs should be built.
(PWAs should progressivly enhance the website in small steps, see https://web.dev/learn/pwa/getting-started/#focus-on-a-feature)

These default configurations even lead to worse UX since they made invalid assumptions about stacker.news:
We _do not_ want to cache our start url and we _do not_ want to cache anything unless explicitly told to.
Almost every page on SN should be fresh for the best UX.

To achieve this, by default, the service worker falls back to the network (as if the service worker wasn't there).

Therefore, this should be the simplest configuration with a valid precache and cache busting support.

In the future, we can try to use prefetching to improve performance of navigation requests.

* Add support for Web Share Target API

See https://developer.chrome.com/articles/web-share-target/

* Use Web Push API for push notifications

I followed this (very good!) guide: https://web.dev/notifications/

* Refactor code related to Web Push

* Send push notification to users on events

* Merge notifications

* Send notification to author of every parent recursively

* Remove unused userId param in savePushSubscription

As it should be, the user id is retrieved from the authenticated user in the backend.

* Resubscribe user if push subscription changed

* Update old subscription if oldEndpoint was given

* Allow users to unsubscribe

* Use LTREE operator instead of recursive query

* Always show checkbox for push notifications

* Justify checkbox to end

* Update title of first push notification

* Fix warning from uncontrolled to controlled

* Add comment about Notification.requestPermission

* Fix timestamp

* Catch error on push subscription toggle

* Wrap function bodies in try/catch

* Use Promise.allSettled

* Filter subscriptions by user notification settings

* Fix user notification filter

* Use skipWaiting

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-07-04 14:36:07 -05:00
keyan 3d093d45f3 small fireworks changes 2023-07-03 19:04:07 -05:00
keyan b6628eb159 july 4th festivities 2023-07-03 14:46:54 -05:00
ekzyis eac73e7169
Fix double submit (#328)
Co-authored-by: ekzyis <ek@stacker.news>
2023-06-23 10:21:29 -05:00
ekzyis fa32e22cde
Fix double slash (#325)
Co-authored-by: ekzyis <ek@stacker.news>
2023-06-21 13:09:04 -05:00
keyan 431947eeee different freebie rules 2023-06-20 12:55:45 -05:00
keyan 03e0646560 ~meta sub 2023-06-20 11:27:41 -05:00
keyan 747371a4e4 snl live banner 2023-06-20 09:57:06 -05:00
keyan 3e4161ae8c tip -> zap 2023-06-19 13:21:55 -05:00
keyan f8724f75e7 add tab shortcut and better resulting selection ranges 2023-06-19 13:07:06 -05:00
ekzyis b427c921d1
Add SimpleX group invite to footer (#320)
Co-authored-by: ekzyis <ek@stacker.news>
2023-06-16 18:04:56 -05:00
keyan 02ec14549f prevent markdown input cursor from moving 2023-06-13 09:19:50 -05:00
keyan 73bb4a0141 change more post types copy 2023-06-12 19:43:08 -05:00
keyan f0f51438c4 add top posts/comments to subs 2023-06-12 19:40:18 -05:00
keyan 6ed2c87c49 fix ssr and client side rendering difference warnings 2023-06-12 17:59:53 -05:00
keyan ef533d41a6 move markdown related code to proper component 2023-06-12 17:39:20 -05:00
keyan 6a49f37c68 only honor selection range in textarea 2023-06-12 17:21:13 -05:00
keyan 5958875f1e wait for comments to collapse before scrolling 2023-06-12 16:03:32 -05:00
keyan ab3b24a072 refine pwa back button 2023-06-12 15:49:48 -05:00
keyan ed938527fd simply respect notification alert message 2023-06-12 15:37:12 -05:00
keyan d78c98e701 improve rss footer 2023-06-12 14:48:35 -05:00
keyan 342a165ced refine cancel button 2023-06-12 14:39:27 -05:00
keyan 79df6b2be2 prevent default on all markdown shortcuts 2023-06-12 13:49:58 -05:00
ekzyis 069417d130
Enable push notifications in settings (#301)
* Enable push notifications in settings

* Fix checkbox still checked after user denied permission

The error was related to me thinking that the value prop does anything. It didn't.
The value of the checkbox is handled by formik.
So the solution was to hook into formik and use the handler which actually changes the value.

* Add double opt-in to /notifications

* Better styling of alert in /notifications

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-06-12 13:03:44 -05:00
ekzyis b890215b98
Tech sub (#311)
* Add tech sub

* Fix line break in RSS popover

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-06-12 12:41:22 -05:00
ekzyis e243c1c224
Add cancel button for editing all post types + bio (#310)
* Add cancel button when editing any post type

* Add cancel button when editing bio

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-06-12 12:35:28 -05:00
ekzyis 393d4c7603
Add Markdown formatting hotkeys: CTRL+K, CTRL+I, CTRL+B (#305)
* Fix usage of deprecated event.keyCode

* Add CTRL+K to insert markdown link formatting

* Also add CTRL+B and CTRL+I

* Fix undo not working after using setValue

Undo doesn't work if inputs are changed using javascript code like helpers.setValue().

The solution is to also use `document.execCommand()`.

See https://stackoverflow.com/questions/27027833/is-it-possible-to-edit-a-text-input-with-javascript-and-add-to-the-undo-stack

However, `document.execCommand()` is deprecated but there seems to be no alternative, see:

- https://stackoverflow.com/questions/60581285/execcommand-is-now-obsolete-whats-the-alternative
- https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand#browser_compatibility
- https://github.com/codex-team/editor.js/discussions/2214

And so far, every browser still seems to support it: https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand#browser_compatibility

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-06-12 12:29:50 -05:00
keyan 369bd82a84 make freebie comments visible case by case 2023-06-03 20:01:50 -05:00
keyan 56f08e0144 allow ctrl-click of post button 2023-06-03 17:49:04 -05:00
keyan d815cae715 add 'stacking since' to profile 2023-06-02 19:55:45 -05:00
keyan d4988694c8 make room in header to pwa back button 2023-06-01 19:34:26 -05:00
keyan 56314bac4e fix window navigation error on firefox 2023-06-01 15:29:20 -05:00
keyan c4b96b998f only request notification permissions on the notifications page 2023-06-01 14:41:20 -05:00
keyan f4b81b0ff0 fix notification clicking after refactor 2023-06-01 13:22:39 -05:00
keyan 3de8df5ab5 enhancements for footer version with prod support 2023-06-01 12:57:31 -05:00
ekzyis 61e0a100c0
Show version in footer (#294)
Co-authored-by: ekzyis <ek@stacker.news>
2023-06-01 12:19:45 -05:00
keyan 15850f0dbb move free posts message about sub select 2023-05-31 19:54:35 -05:00
ekzyis 40b7fde621
refactor: create component per notification type (#298)
Co-authored-by: ekzyis <ek@stacker.news>
2023-05-31 19:51:30 -05:00
ekzyis 0c251ca376
Add thread subscriptions (#293)
* Add thread subscriptions

* remove dead code: reply only notifications

* break out thread subscription queries to reduce search space

* one db dip for item lists/threads re:meSubscription

---------

Co-authored-by: ekzyis <ek@stacker.news>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-05-31 19:44:06 -05:00
ekzyis e97509eea7
Use PWA with display: standalone (#292)
* Use next-pwa

* Use standalone + back button

* Use Notification API

* Use custom service worker

* Use url_handlers

* Add offline page

* Use smaller icon in notification

* Only prompt for notifications if logged in

* small enhancements to standalone pwa

* remove unused back arrow

---------

Co-authored-by: ekzyis <ek@stacker.news>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-05-31 17:28:33 -05:00
ekzyis 5c55afc97c Fix no dupes check after link unshortening 2023-05-21 12:50:14 -05:00
ekzyis 4af445d242 Fix fetched data not shown if last action was title clear
There are two flows when clearing both inputs:

1. First clear title, then clear URL, then enter new URL

In this case, new data will be fetched when the URL is cleared since the title is empty. Due to the fetch with empty variables, the fetched data is essentially reset.
Entering a new URL thus triggers a new fetch (since title is still empty) and the fetched data is shown since it is different compared to the previous render.

2. First clear URL, then clear title, then enter new URL

In this case, new data will not be fetched when the URL is cleared since the title is not empty.
When entering a new URL, new data is fetched but will not be shown since the fetched data was never reset and thus did not change compared to the previous render.

This is fixed by always either a) resetting the fetched data or b) fetching new data if the URL changed.
2023-05-21 12:27:01 -05:00
keyan 87e86526f8 fix submit button not being disabled 2023-05-18 13:02:19 -05:00
keyan 9d31d56ec0 fix missing advanced options in bounty/discussion form 2023-05-16 13:30:19 -05:00
ekzyis 0effc065c6 Mix default and custom tips during sort 2023-05-14 19:41:36 -05:00
ekzyis c05a76d664 Fix duplicate tips 2023-05-14 19:41:36 -05:00
ekzyis 342b2b76ca Use numeric input 2023-05-14 19:41:36 -05:00
ekzyis 8d35cd0194 Save custom tips 2023-05-14 19:41:36 -05:00
keyan 6d8780373a form enhancements 2023-05-11 14:34:42 -05:00
keyan 5bb6b5f2e7 placeholder when there aren't comments 2023-05-10 19:41:17 -05:00
keyan df1f1a483a require sub selection, allow editting 2023-05-10 19:30:51 -05:00
keyan 95420fe39b update footer 2023-05-09 17:52:24 -05:00
keyan 01d29e013e fix job editting bug 2023-05-08 14:14:32 -05:00
keyan e2aceee234 higher tip defaults 2023-05-06 18:29:20 -05:00
keyan 347a6a54d2 improve comment performance 2023-05-06 16:51:17 -05:00
keyan 1a5d8880dd decapitalize all caps titles 2023-05-06 10:54:04 -05:00
keyan aef1163ea0 add amboss link in footer 2023-05-05 16:22:22 -05:00
keyan b406f0c340 avoid db dip for sub 2023-05-05 12:39:57 -05:00
keyan 7e0103bce3 add separate podcast link 2023-05-05 11:54:28 -05:00
keyan 83a4568ec4 add social media to footer 2023-05-04 18:15:08 -05:00
keyan 833b31980e add jobs rss and style footer popovers consistently 2023-05-04 16:41:56 -05:00
ekzyis d98421d9cd Add RSS feeds for ~bitcoin and ~nostr 2023-05-04 13:43:40 -05:00
keyan 236ee552c6 navbar fixes 2023-05-02 19:22:38 -05:00
keyan 4e817a232d sub related enchancements 2023-05-02 11:55:10 -05:00
keyan 4be5286122 hide cowboy hat setting 2023-05-01 16:52:02 -05:00
keyan a241d683d8 nostr sub 2023-05-01 15:58:30 -05:00
keyan d6c92fec62 prevent layout shift when loading dupes 2023-04-26 13:02:42 -05:00
ekzyis f2f205dc80 Disable post button for 3 seconds max 2023-04-26 13:02:42 -05:00
ekzyis 259b5b7a36 Don't run dupes query empty 2023-04-26 13:02:42 -05:00
ekzyis 29bee1c740 Show dupes loading 2023-04-26 13:02:42 -05:00
ekzyis d43c7cc222 Disable post button while dupes are loading 2023-04-26 13:02:42 -05:00
keyan e4a3095cb4 give pinned item recent sort by default 2023-03-19 10:43:33 -05:00
keyan ff34bd0124 don't show price on error 2023-03-04 12:16:50 -06:00
keyan 183201a1b8 don't autofocus top-level reply 2023-02-24 10:08:15 -06:00
ekzyis 5d572c2fe3
Autofocus reply inputs (#242) 2023-02-24 09:52:09 -06:00
keyan 8278966948 move item dropdown for clarity 2023-02-16 17:14:14 -06:00
keyan 16bf7007cc put opentimestamps link in item dropdown 2023-02-16 17:07:20 -06:00
ekzyis 7b838cdeb2
Implement bookmarking of posts and comments (#235) 2023-02-16 16:23:59 -06:00
keyan 97f74da0fd top cowboys 2023-02-09 12:41:28 -06:00
keyan a5b2de64d3 remove bolt on posts forwarding to self 2023-02-08 18:11:28 -06:00
keyan 74df0db035 client side error boundary 2023-02-08 17:59:14 -06:00
keyan 4cae1ae230 reuse validation on server 2023-02-08 13:39:53 -06:00
keyan c1080ec4d7 fixes for top 2023-02-03 13:10:18 -06:00
keyan b3f7f24cff trigger streak when eligible 2023-02-02 13:47:09 -06:00
keyan 072e60c954 streaks 2023-02-01 17:40:49 -06:00
keyan 816361bd96 remove semicolons from last merge 2023-01-27 18:08:58 -06:00
ekzyis 4ab66a67ae
Add proxy with cache for coinbase API requests (#226) 2023-01-27 17:20:33 -06:00
keyan 670f071177 fix item spacing generically 2023-01-27 15:10:38 -06:00
keyan 82502e724f fix spacing on item text 2023-01-27 11:43:48 -06:00
keyan f53c5ff2eb fix undefined reference 2023-01-26 17:51:50 -06:00
keyan 291fe24363 denormalize bountyPaidTo 2023-01-26 17:28:10 -06:00
keyan 5306b11157 improve bounty performance 2023-01-26 13:09:57 -06:00
Austin Kelsay e13e37744e
stackernews bounties (#227)
bounties
2023-01-26 10:11:55 -06:00
keyan 9644a9f867 slashtags auth 2023-01-18 12:49:20 -06:00
keyan 48448ea1ef get time from youtube links 2023-01-13 18:09:05 -06:00
keyan 0f4d44cfa6 don't show flag on deleted posts 2023-01-13 17:49:53 -06:00
keyan 9c0ead308b remove debug logging 2023-01-13 13:19:42 -06:00
keyan 10ff3fa1c3 delete 2023-01-13 11:52:18 -06:00
keyan ed153b5199 add similar section to posts 2023-01-12 14:30:17 -06:00
keyan 9823969418 unshorten links 2023-01-12 12:05:47 -06:00
Keyan 7c91f279c5
Merge branch 'master' into master 2023-01-11 12:26:57 -06:00
keyan 00fdbe753c fix typo in lnurl-auth copy 2023-01-10 17:55:11 -06:00
keyan ae5c6c457f global modal + small fixes/enhancements 2023-01-10 17:13:37 -06:00
keyan e2d7506ebf lightning login copy 2023-01-10 12:55:17 -06:00
keyan d1a08eda36 make sure useEffect doesn't update state on every render 2023-01-10 09:40:56 -06:00
keyan c2685a659e sign up buttons 2023-01-09 18:33:44 -06:00
keyan 2d012ba7fe allow nip05 for users 2023-01-06 18:53:29 -06:00
keyan 7a4a24c6df make notification icon change on hover 2023-01-05 19:15:48 -06:00
keyan 76b5b7743e fix blockquote spacing 2023-01-05 19:06:31 -06:00
keyan 2080cb896d lexical beta test url 2023-01-05 13:24:09 -06:00
kerooke f35002dbbf
Update login.js 2022-12-29 11:40:45 -05:00
kerooke 335125f57b
Merge branch 'stackernews:master' into master 2022-12-29 11:38:53 -05:00
keyan a92172ab9b style share link on mobile 2022-12-19 17:37:31 -06:00
keyan b96f014906 refine link sharing on jobs/comments 2022-12-19 17:21:47 -06:00
keyan ee17518abf add referrer stats to top 2022-12-19 17:00:53 -06:00
keyan 41226245c5 referrals 2022-12-19 16:27:52 -06:00
kerooke 24263120f3
Update notifications.js 2022-12-11 13:31:44 -05:00
keyan bf02ee35b9 custom tipping with buttons 2022-12-09 14:13:31 -06:00
keyan 7b7ed0047c turbo tipping 2022-12-09 13:25:38 -06:00
keyan e1bdb9c769 donations to rewards 2022-12-07 18:04:02 -06:00
keyan 2a4e5a0617 add more filters to recent 2022-12-01 16:42:49 -06:00
keyan a2db3e18b4 better user analytics mostly 2022-12-01 15:31:04 -06:00
keyan 7df375e752 improvements to jobs 2022-11-29 11:29:43 -06:00
keyan 1bf747c7c0 sats to msats 2022-11-16 10:57:03 -06:00
keyan 8de00c741d poll for notifications less, don't retry gql 2022-11-16 10:57:03 -06:00
keyan 525cab2573 upgrade deps 2022-11-06 11:28:58 -06:00
keyan a1690ed511 improve freebie wrt boost, get off free earlier 2022-11-01 14:32:56 -05:00
keyan 760b6b6e10 related items 2022-10-27 15:25:42 -05:00
keyan 9c5937b9be strike once for lurkers 2022-10-26 11:45:16 -05:00
keyan 46edb3e10c Merge branch 'master' of github.com:stackernews/stacker.news 2022-10-25 16:45:36 -05:00
Keyan b085058795
Merge pull request #207 from ekzyis/103-add-ZAR
Add ZAR currency
2022-10-25 16:44:28 -05:00
keyan a398784f26 improved top 2022-10-25 16:35:32 -05:00
keyan 30b1ee33aa user search 2022-10-25 12:13:06 -05:00
keyan 79af550168 add guide to footer 2022-10-23 10:43:39 -05:00
ekzyis 51db3b0142 Add ZAR currency 2022-10-21 16:28:49 +02:00
keyan e4d150413b search filters 2022-10-20 17:44:44 -05:00
keyan 1bcfb787a6 add changelog to footer 2022-10-10 16:58:50 -05:00
keyan 73033dc015 fix job form price bug 2022-10-04 18:14:36 -05:00
keyan dbf66b4dd7 allow lightning animation to be disabled 2022-10-04 17:34:28 -05:00
keyan 729bcead69 select instead of dropdown for currency 2022-10-04 16:21:42 -05:00
Keyan 0ff9bbc92d
Merge pull request #192 from ekzyis/103-add-other-currencies
Support other currencies
2022-10-04 14:54:57 -05:00
keyan 5af0920035 fix copy heading/hash 2022-10-04 13:26:33 -05:00
Keyan 1c45f651eb
Merge branch 'master' into master 2022-10-04 12:30:54 -05:00
keyan 515f997147 link to privacy 2022-10-04 12:19:15 -05:00
ekzyis 2dd4b1ce98
Merge branch 'master' into 103-add-other-currencies 2022-10-04 01:01:43 +02:00
Keyan f6c5644311
Merge pull request #197 from ekzyis/no-issue-fix-brace-expected
Fix '{' expected
2022-10-03 16:09:49 -05:00
keyan 46ea2f661c make jobs great again 2022-09-29 15:42:33 -05:00
keyan 401efbd550 add ln icon to login 2022-09-27 16:27:29 -05:00
keyan d9d426e5c3 add freebies 2022-09-27 16:19:15 -05:00
keyan 9c4d74888f add borderland 2022-09-22 15:42:04 -05:00
keyan 2c7c237fc7 show when items are outlawed 2022-09-22 13:44:50 -05:00
keyan 4b00661ad0 change dont like this to flag 2022-09-22 10:43:17 -05:00
keyan 3dc86189be fix search icon 2022-09-22 10:26:02 -05:00
keyan 7faae425b3 wild west mode 2022-09-21 14:57:36 -05:00
ekzyis 94346d252b Fix '{' expected 2022-09-18 05:21:52 +02:00
ekzyis 464281c0e1 Add AUD, CAD, GBP, NZD 2022-09-18 03:54:13 +02:00
ekzyis c184faf017 Use dropdown for fiat selection in settings 2022-09-18 03:45:21 +02:00
ekzyis 22e07a4318 Fix errors if me null 2022-09-18 03:07:14 +02:00
keyan 08893d020c improved earning: more detail, longer top tail 2022-09-14 17:01:30 -05:00
ekzyis 6f632ccc0d Implement dynamic coinbase endpoint 2022-09-13 02:03:26 +02:00
keyan b7132cc962 use correct callbackUrl for login with tor 2022-09-06 16:10:13 -05:00
keyan 69b5aed85d fix 'me' on refresh 2022-09-06 10:08:53 -05:00
keyan b468c033ca better handling of comment sort loading state 2022-09-06 09:48:37 -05:00
keyan 7efc86427d maintage pagination and other state on back button 2022-09-06 08:32:00 -05:00
keyan 58eb840adb prevent default on privacy invoice info click 2022-09-02 11:58:16 -05:00
keyan 297270f34d inform user when there are new comments 2022-09-02 11:53:44 -05:00
keyan 0f5fc31803 show comment sats on hover 2022-09-02 08:19:25 -05:00
keyan 04d7e9c0ee update cache of ancestors on comment and upvote 2022-09-01 16:53:39 -05:00
keyan f65f6c1b28 remove meComments and clean up sats title 2022-09-01 16:20:20 -05:00
keyan 4be5cfa5c7 display earned sats in comments 2022-09-01 16:06:11 -05:00
keyan 20a6a51492 dull title when visited, more distinct visited links 2022-08-31 15:22:25 -05:00
keyan a5d1d8dc0f user suggestions on forward 2022-08-31 14:09:49 -05:00
keyan 016e357ebd clear inputs 2022-08-30 17:02:45 -05:00
keyan fba0187b2c add link to recent/comments 2022-08-23 17:34:51 -05:00
keyan db953bd41b link to weekly stats rather than forever 2022-08-18 16:23:12 -05:00
keyan a714a13029 fix nested anchor in navbar error 2022-08-18 16:19:37 -05:00
keyan 4d444d1286 fix notification spacing 2022-08-18 14:19:01 -05:00
keyan 388c7d0240 full powered editing 2022-08-18 13:15:24 -05:00
keyan 9b8b6078d6 fix image distortion on certain browsers 2022-08-12 15:14:36 -05:00
keyan ddb4a30c4b spam fees 2022-08-11 15:38:10 -05:00
keyan 12fad3c45a fix genesis typo 2022-08-01 15:48:28 -05:00
keyan 82280b0966 add polls 2022-07-30 08:51:04 -05:00
keyan 5ac894baed more expensive boost + explainer 2022-07-24 11:55:22 -05:00
keyan cb313429d5 job board enhancements 2022-07-21 17:55:05 -05:00
Drew Winget 41dacc0d80 fixes #175 - copy to clipboard 2022-07-21 17:39:05 -05:00
keyan 70cbdd057a add table of contents 2022-07-18 16:24:28 -05:00
keyan beef34abfa linkable headers 2022-07-17 10:35:50 -05:00
keyan 5457026bd3 improved heading and images for markdown 2022-07-13 19:54:55 -05:00
keyan d7210662b3 limit title length to 80 characters 2022-07-13 10:49:55 -05:00
keyan fde8937098 add onion address 2022-07-12 11:40:44 -05:00
keyan 0b3b690c10 user stats 2022-06-24 10:38:00 -05:00
keyan f024cd39a2 add usage mvp usage charts 2022-06-10 14:20:33 -05:00
keyan 1df49e03d9 account linking 2022-06-08 16:26:44 -05:00
keyan 154e869b8c prevent writing of remote 2022-06-02 21:09:27 -05:00
keyan 8713bf178a show dead jobs 2022-06-02 18:25:21 -05:00
keyan ba4644463f allow lightning address send callback to have query params 2022-05-24 16:15:51 -05:00
keyan 0c95794d74 nym dropdown is also a link to the user 2022-05-18 16:31:09 -05:00
keyan f6ceda79d6 encode search query before searching 2022-05-18 16:15:44 -05:00
keyan 9287e7b93c allow user to visit/bookmark empty search page 2022-05-18 16:09:44 -05:00
keyan 16957cba34 improve error pages 2022-05-18 15:55:06 -05:00
keyan fcd5c6cdf3 do not error on empty md link 2022-05-18 13:30:36 -05:00
keyan f7d3f281b8 set cache control on uploads 2022-05-18 11:59:59 -05:00
keyan cef8a33267 limit displayed comment depth 2022-05-17 17:09:15 -05:00
keyan 29fb37b763 profile photos 2022-05-16 15:51:22 -05:00
keyan 9abc41b7b2 image uploading backend 2022-05-12 13:44:21 -05:00
keyan e2409efbaf indicate to user when there are new jobs 2022-05-09 13:01:23 -05:00
keyan aa4ac2ecc9 add ln addr + lnurl pay qr code to profile pages 2022-05-06 14:34:35 -05:00
keyan 4ba1227605 WIP profiles 2022-05-05 15:39:05 -05:00
keyan 771978d562 sub to newsletter on sign up 2022-05-04 13:29:30 -05:00
keyan 934c5021a9 a few perf enhancements + gql slowlogs 2022-04-28 13:11:05 -05:00
keyan 18a15b4e60 improve err message on boost 2022-04-25 12:07:31 -05:00
keyan b68fadc63d allow daily discussion to appear in recent 2022-04-25 12:03:21 -05:00
keyan cef122141f only one earn notification at a time 2022-04-24 11:16:51 -05:00
keyan 6b12969c8b add optional label to option form fields 2022-04-23 18:22:20 -05:00
keyan 74b191837e refine reply-only notifications 2022-04-21 12:48:27 -05:00
keyan 291eab6ada move notifications to icon 2022-04-19 16:37:05 -05:00
keyan ef43319cbc add time ago to deposit notifications 2022-04-19 13:35:21 -05:00
keyan d978ff5ea5 forward tips from posts 2022-04-19 13:32:39 -05:00
keyan 822fa9113a refactor link/dicussion to upserts and reuse more code 2022-04-18 17:10:26 -05:00
keyan 2b594109ea WIP forward 2022-04-18 15:19:07 -05:00
keyan 208f1b8da9 add explainer for 10x reply cost 2022-04-18 11:08:58 -05:00
keyan 89fb68f746 multiple comments with the same parent are exp in cost 2022-04-17 08:13:52 -05:00
keyan e168925f6c make notification hover darker 2022-04-15 11:56:01 -05:00
keyan 24d816cc53 make footer links open new page 2022-04-15 11:07:21 -05:00
keyan bc9f602d13 up default tip to 10 2022-04-12 16:09:12 -05:00
keyan 9823aedd75 add time of earning 2022-03-31 11:49:35 -05:00
keyan 46a2ac37eb better earn notification 2022-03-23 19:19:20 -05:00
keyan 987a5ed3a3 notify user when invoice is paid 2022-03-23 13:54:39 -05:00
keyan 69155139e6 improve styling of earn notification 2022-03-22 15:35:00 -05:00
keyan bef5a22a40 enhance registration message 2022-03-22 15:30:27 -05:00
Keyan ef6262925f
Merge pull request #125 from secondl1ght/add-register-message
Add register message to login screen
2022-03-22 15:21:27 -05:00
secondl1ght 2f9688ae3e Add register message to login screen 2022-03-18 09:54:40 -06:00
keyan 5ff856d061 earning 2022-03-17 15:13:19 -05:00
keyan 8c513e93c8 record sats spent on auction items 2022-03-16 11:35:51 -05:00
keyan e9e48d5aae better regex for url validation 2022-03-10 16:00:04 -06:00
keyan f241f14379 improve tipping walkthrough: don't display if user doesn't have sats, more generic error message 2022-03-10 14:09:09 -06:00
keyan f35d714c70 add close button to all modals 2022-03-10 13:51:26 -06:00
keyan 38f7dba27f make sub-header more differentiated 2022-03-10 12:38:48 -06:00
keyan d40b0ae063 fix double posting on slow connections 2022-03-10 12:25:16 -06:00
keyan f85b9a3a1d always assume twitter overflows 2022-03-10 10:09:05 -06:00
keyan 8b1a923ac1 make boost more expensive 2022-03-09 13:44:50 -06:00
keyan a7a72f0d2d improve navbar on mobile 2022-03-08 14:51:06 -06:00
keyan a627322220 add job company and location 2022-03-07 15:50:13 -06:00
keyan 1472de0f91 sats/mo -> sats/min on jobs 2022-03-07 13:30:21 -06:00
keyan cc81db11fb prevent storage prefix error 2022-03-07 12:12:41 -06:00
keyan 1ef824d273 make ~jobs header more consistent with main 2022-03-07 12:11:58 -06:00
keyan 2ad2ff6ff5 remark plugin for sub mentions 2022-03-03 16:21:30 -06:00
keyan 1b84f76a27 make jobs expensive, priced based ranking rather than auction 2022-03-03 12:56:02 -06:00
keyan 026256c451 prevent header from wrapping 2022-03-03 11:04:02 -06:00
keyan 022c72b95b remove extra migrations, refine jobs 2022-02-28 14:09:21 -06:00
keyan bc1c45e7bf account for job payment status 2022-02-26 10:41:30 -06:00
keyan b954186d31 jobs w/o payments yet 2022-02-24 13:05:57 -06:00
keyan 77705da0f1 don't build on config updates 2022-02-23 11:20:51 -06:00
keyan 18ff637e5c fix cls of twitter embed 2022-02-12 08:06:41 -06:00
keyan 109aa7d321 prevent search highlighting from affecting link/code markdown 2022-02-10 16:41:13 -06:00
keyan 37f8784789 don't render markdown preview unless user wants to see it 2022-02-10 11:51:44 -06:00
keyan ef739d97fc readability enhancements: text size/color/line height 2022-02-09 13:15:38 -06:00
keyan 8141d29b36 youtube embed 2022-02-05 15:40:54 -06:00
keyan 8c2a4dc76a add search SEO and capture 2022-02-05 11:29:41 -06:00
keyan 7d088cdd0b refine search 2022-02-03 16:29:48 -06:00
keyan 66d2c4f9a9 search highlighting 2022-02-03 16:01:42 -06:00
keyan 8b88462591 don't allow trimmed empty search 2022-02-02 16:05:09 -06:00
keyan 8829fccdef add top spenders to top page 2022-02-02 16:01:48 -06:00
keyan a2d9f55798 don't autofocus search at bottom of page 2022-02-02 16:01:48 -06:00
Keyan 2e28c95c39
Merge pull request #81 from johnpaulkiser/patch-1
Don't submit empty search queries
2022-02-02 16:01:05 -06:00
keyan e97951dd18 notify on any descendant replies 2022-01-30 09:35:57 -06:00
JP 2d37df6f33
Don't submit empty search queries 2022-01-28 18:29:46 -05:00
keyan d22991bc3b empty when at end of search 2022-01-27 14:31:16 -06:00
keyan afed19430c working search 2022-01-27 13:18:48 -06:00
keyan cc567d301e search bar ui 2022-01-26 15:43:18 -06:00
keyan e37475f927 send to lightning address 2022-01-24 11:25:15 -06:00
keyan cf4ae37087 make twitter regex work with query params 2022-01-21 12:37:36 -06:00
keyan faaa30ac50 optimistic response on tip 2022-01-20 17:23:21 -06:00
keyan 5d49ecc536 refine tipping experience, removing notion of upvote from UX 2022-01-20 17:04:12 -06:00
keyan b6b5cea1f5 new tip dialog 2022-01-20 15:07:38 -06:00
keyan e084e9e89f force upvote on variable tip 2022-01-20 14:36:39 -06:00
keyan 977639ccb9 twitter embed 2022-01-20 14:22:10 -06:00
keyan 4c72a69b6c refine clickToContext handling for notifications/flat comments 2022-01-20 13:03:48 -06:00
keyan 6b19b10bb2 invite notifications 2022-01-19 15:02:38 -06:00
keyan 5d2bd7f62a don't trim white space on email address 2022-01-14 11:52:36 -06:00
keyan 5a4c249a74 add link to yesterday's daily discussion 2022-01-13 13:05:43 -06:00
keyan 5750537cbd filled pushpin icon in grey 2022-01-10 12:53:51 -06:00
keyan 7aa294b57e less hasty fix preventing localStorage call on SSR 2022-01-08 09:31:37 -06:00
keyan 143f5a3463 better pin icon 2022-01-08 09:30:59 -06:00
keyan 57f1e551a3 remove another localstorage reference on server 2022-01-07 22:22:50 -06:00
keyan e6c693f241 don't call localStorage on server 2022-01-07 20:05:00 -06:00
keyan b6a530f5c4 comment draft saving 2022-01-07 12:55:40 -06:00
keyan e42f1d6bb9 WIP save drafts of posts 2022-01-07 12:28:23 -06:00
keyan 9a96879e46 on new post take user to recent 2022-01-07 10:50:41 -06:00
keyan c3e6627cea support pinned posts + recurring pins 2022-01-07 10:32:31 -06:00
keyan e950b0df7f add job queue 2022-01-05 14:37:34 -06:00
keyan 01ee9cdd1c don't ever reveal user wallet balances to other users 2021-12-30 16:02:18 -06:00
keyan 468c054d45 hide user wallet balances from other users 2021-12-30 15:40:33 -06:00
keyan 7611e0a3c6 make comment time ago header a link 2021-12-21 15:46:42 -06:00
keyan 0dfda596b0 comment sorting 2021-12-21 15:35:25 -06:00
keyan f6b1da64f9 fix scroll issue on upvote after click to context 2021-12-21 12:14:48 -06:00
Keyan ad705d9165
Merge pull request #64 from notnout/patch-1
Add "\" after boost in comments
2021-12-20 16:36:17 -06:00
keyan f19bce3659 fix logout redirection issue 2021-12-20 16:34:26 -06:00
keyan a126d5fa94 top users 2021-12-16 18:39:19 -06:00
keyan 8e5327022d WIP top comments and users 2021-12-16 17:05:31 -06:00
keyan bbc34edf51 satistics done 2021-12-16 14:02:17 -06:00
keyan d92f58aaf4 inv & with satistics + filtering 2021-12-16 11:27:12 -06:00
keyan 06f5ed731e satisitics with invoice & withdrawal 2021-12-15 10:50:11 -06:00
keyan 435f32ac09 redo tipping, removing modal, adding walkthrough, setting tipping default to 1 2021-12-13 13:49:34 -06:00
keyan 540368e2a6 remove window flow 2021-12-10 14:10:59 -06:00
keyan 4d3ab603da tip walkthrough 2021-12-09 14:41:09 -06:00
keyan ed0d4f2235 fix linter warning 2021-12-09 14:41:09 -06:00
keyan ffd3628505 WIP tip walkthrough 2021-12-09 14:41:09 -06:00
keyan e43994e36f limit bolt for logged out to one per nav 2021-12-06 10:32:58 -06:00
keyan c74b8d473c update login bolt to upbolt 2021-12-06 10:32:41 -06:00
keyan 1a3fdda382 new bolt 2021-12-05 11:37:55 -06:00
Nout (or maybe not) bdf6ed2c77
Add "\" after boost in comments
Currently there's a space or "\" missing, e.g. https://stacker.news/items/5747 .
This PR also aligns this with https://github.com/stackernews/stacker.news/blob/master/components/item.js
2021-12-03 22:26:42 -08:00
keyan 46162f4162 abbr wallet at 10k 2021-11-28 11:37:18 -06:00
keyan c7ae5dc8ac ssr me and price 2021-11-28 11:29:17 -06:00
keyan 996d0a9352 click to comment goes to root thread 2021-11-27 12:01:02 -06:00
keyan cb3a731785 change tip upvote icon 2021-11-26 13:24:51 -06:00
keyan 70b83cf496 tip button 2021-11-19 13:13:59 -06:00
keyan 49a246e929 different icon for tipping 2021-11-17 16:54:00 -06:00
keyan c89fb2716a don't load dark mode as a module 2021-11-16 14:55:40 -06:00
keyan 803f414c6e comment editting rows 2021-11-13 10:28:58 -06:00
keyan f56315f89f add progress bar and fix reply padding 2021-11-13 07:28:08 -06:00
keyan dd97710d71 many small design enhancements 2021-11-12 16:39:52 -06:00
keyan 8e7dc9c7c3 prevent login button navbar shift 2021-11-11 16:25:12 -06:00
keyan 749b49c313 preload font, only show header items when they're done loading 2021-11-11 16:14:42 -06:00
keyan eb02664084 fix tipping before upvoting causing boost bug 2021-11-11 14:27:29 -06:00
keyan 227d7f14ad fix a few issues with dark mode 2021-11-09 17:04:15 -06:00
keyan a3544fb67f dark mode with css variables instead 2021-11-09 16:43:56 -06:00
keyan c6e6ddfa65 half-working local storage version 2021-11-09 11:38:58 -06:00
keyan 3bbf3f7470 add dark mode 2021-11-04 19:07:41 -04:00
keyan 2d97314d33 dark mode without ability to switch 2021-11-04 14:22:03 -04:00
keyan 6dfbd1d1ce prevent click through to comment on notification click 2021-10-30 14:19:49 -05:00
keyan da668106a3 remove selections on tip popup 2021-10-30 12:11:12 -05:00
keyan 1ab326ab01 put tooltip back 2021-10-30 12:04:32 -05:00
keyan 344d45a8f5 make item time link to permalink with timestamp as title 2021-10-30 11:58:33 -05:00
keyan 41504ba06b long press tip dialog 2021-10-30 11:52:24 -05:00
keyan 2eaf407f17 add settings page 2021-10-30 11:20:11 -05:00
keyan e965b0c17b small ui tweaks 2021-10-29 12:56:31 -05:00
keyan 522e2059a6 make OP more prominent 2021-10-29 11:02:26 -05:00
keyan 2d320513f0 remove extra logging 2021-10-28 17:29:02 -05:00
keyan 10730bf7d5 fix quick succession of upvotes boosting 2021-10-28 16:59:45 -05:00
keyan c80e4d107c dupe alerts on link posts 2021-10-28 15:49:51 -05:00
keyan 16fe74edf1 make sure connect is still in footer 2021-10-28 12:03:26 -05:00
keyan 39ee87662e save collapsed comments 2021-10-27 13:35:26 -05:00
keyan da4c65aeba OP indicator 2021-10-27 13:26:34 -05:00
keyan 4421dd6e6e network-only fetch for link title 2021-10-27 11:03:43 -05:00
keyan 07b9da353b smarter use of SSR and caching 2021-10-26 15:49:37 -05:00
keyan 2b4e283c84 fix false lnurl auth error 2021-10-25 13:16:49 -05:00
keyan 159ad01ace fix boost on freebie post 2021-10-25 12:46:33 -05:00
keyan 68ddd0f86b sort by top posts 2021-10-21 17:05:06 -05:00
keyan 955d1aa1b2 finish up invites 2021-10-15 18:07:51 -05:00
keyan 3a52f8967a more invite work 2021-10-15 13:05:34 -05:00
keyan 7107d329ba invites page 2021-10-14 16:05:37 -05:00
keyan 782dc78652 speed hack notification query 2021-10-06 20:20:59 -07:00
keyan ca1a95094c ssr everything 2021-09-30 10:46:58 -05:00
keyan 4ba0bcd416 fix lightning when loading session 2021-09-24 18:51:07 -05:00
keyan 8c5832c3e6 add boost back to posts & fix header problem 2021-09-24 18:43:30 -05:00
keyan d9239a148a fix login button removal when signed out 2021-09-24 18:18:24 -05:00
keyan d208c818a6 prevent accidental lightning 2021-09-24 18:14:35 -05:00
keyan b425d35e82 remove use of session where inapproriate 2021-09-24 18:04:59 -05:00
keyan d4f014aef2 add indicator for user bio being empty 2021-09-24 16:56:51 -05:00
keyan a339516a54 user bios mostly working 2021-09-24 16:28:21 -05:00
keyan 027ba6a048 WIP user bio 2021-09-23 17:18:48 -05:00
keyan 02c44dca63 refactor replies and full items 2021-09-23 15:09:07 -05:00
keyan e7787e3e67 WIP bios 2021-09-23 12:42:00 -05:00
keyan 31b479d1b6 make links small when title wraps 2021-09-15 18:42:44 -05:00
keyan d70a85f5c6 better boost hint 2021-09-15 17:57:55 -05:00
keyan e4c1c2f1e1 refine tipping 2021-09-12 11:55:38 -05:00
keyan 650ad03de5 move boost to post creation 2021-09-11 16:52:19 -05:00
keyan 4c7c791ed3 indicate page was visited 2021-09-11 11:54:09 -05:00
keyan 2dd49171e2 complete tips 2021-09-10 16:13:52 -05:00
keyan 0a20f2ea23 WIP tips 2021-09-10 13:55:36 -05:00
keyan f23da4397f fix for overloaded pgpsql function 2021-09-09 10:46:20 -05:00
keyan 93428e3183 tips WIP 2021-09-08 16:51:23 -05:00
keyan 968892b661 clean up console messages 2021-09-07 13:04:56 -05:00
keyan 7ffb3fd18a support webln fund and withdrawal 2021-09-07 12:52:59 -05:00
keyan ffca502625 write updated usernames to cache 2021-09-07 08:25:19 -05:00
keyan d204f4b6b8 fix clientside race to update cache of item upvote 2021-09-07 07:59:27 -05:00
keyan 91a2061342 cache magic - use cache and network except when a result of popstate 2021-09-06 17:36:08 -05:00
keyan 2250ad5571 add telegram group chat too 2021-09-02 18:27:11 -05:00
keyan 28c049583a no page reload on username editting 2021-09-02 17:40:46 -05:00
keyan bf6b2befde add sphinx tribe 2021-09-02 14:47:17 -05:00
keyan 0133c7acc6 open item links in new tab, nofollow links conditionally 2021-09-02 13:11:27 -05:00
keyan 48146d1757 update with story 2021-09-02 12:49:17 -05:00
keyan b93bf5302b improve footer look 2021-08-26 16:22:37 -05:00
keyan f4c108951d give autofocus to url field in link post 2021-08-24 15:03:02 -05:00
keyan ce0e3dac45 auto-populate link title 2021-08-22 10:25:17 -05:00
keyan 09b358397a highlight new notifications 2021-08-19 19:13:32 -05:00
keyan 4a770b61b6 cmd or ctrl enter to submit 2021-08-19 16:13:33 -05:00
keyan 06c75eb78e try to fix 'stacked' wrapping 2021-08-19 15:34:33 -05:00
keyan d97608a710 don't double notify when mentioned in reply to your own content 2021-08-18 18:14:18 -05:00
keyan 4b64912333 mention notifications are functional 2021-08-18 18:00:54 -05:00
keyan 534e772849 fix notification padding and evict notification item from cache on visit 2021-08-18 14:15:52 -05:00
keyan 6dff4c6815 fix spacing in notifications 2021-08-18 13:59:30 -05:00
keyan b6aad73aca fix notifcation square positioning 2021-08-18 11:49:59 -05:00
keyan c6e1cf7481 improve sat/stacked display 2021-08-18 08:52:45 -05:00
keyan 0afe46c030 continued notification work 2021-08-17 18:59:22 -05:00
keyan c8df41bfa5 fix clickToContext issue for comments, fix non-inner joins, make notification query work 2021-08-17 18:07:52 -05:00
keyan 96a18e6c9d query is working 2021-08-17 13:15:24 -05:00
keyan 5ad70efbd7 attempt at fixing 1 sat tooltip glitch 2021-08-13 16:12:19 -05:00
keyan 89b8e391c9 only display extra footer links on homepage 2021-08-11 15:40:18 -05:00
keyan 9fce2154f6 reuse formatted countdown component 2021-08-11 15:34:10 -05:00
keyan a48cd33db3 edit posts - links and discussions 2021-08-11 15:13:10 -05:00
keyan fd79b92b9b fix comment editting if not logged in 2021-08-10 18:09:27 -05:00
keyan b4be2c613b comment edit spagetti 2021-08-10 17:59:06 -05:00
keyan fec2a6ecc0 open analytics link in footer 2021-08-09 16:15:27 -05:00
keyan bee1ffe10b don't use react router for rss 2021-08-09 15:12:13 -05:00
keyan 72c214bf29 add rss link to footer 2021-08-09 14:50:56 -05:00
keyan d083845a77 auto grow textareas 2021-07-16 12:32:54 -05:00
keyan ae9b4423a4 use rand lightning animation when not logged in 2021-07-16 11:47:18 -05:00
keyan ae5ca149d8 remove href on button doh 2021-07-16 02:23:29 -05:00
keyan 80cf704af0 change import order 2021-07-16 02:09:20 -05:00