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
ekzyis
4094adfa4f
Remove markdown from body in push notifications ( #374 )
...
Co-authored-by: ekzyis <ek@stacker.news>
2023-08-07 20:03:50 -05:00
ekzyis
49867f5dd5
Make web push & imgproxy setup optional for local dev ( #373 )
...
* Make web push setup optional for local dev
* Make imgproxy setup optional for local dev
---------
Co-authored-by: ekzyis <ek@stacker.news>
2023-08-07 19:53:21 -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
ffb856ae88
fix oauth signup
2023-08-07 15:05:55 -05:00
keyan
e4aaaac20f
don't use cache for SSR
2023-08-05 14:46:29 -05:00
keyan
f7bf77ebd4
fix BigInt Int mix in satistics
2023-07-31 12:47:41 -05:00
keyan
c909efb7b7
update wallet code to prisma 5, handle prisma 5 errors on serialization
2023-07-31 08:31:40 -05:00
keyan
9745b82d63
fix viewing stacker's bookmarks
2023-07-29 18:27:32 -05:00
keyan
5232b59625
upgrade to next-auth 4 (bonus: improve error pages)
2023-07-29 14:38:20 -05:00
keyan
7542dd6cc4
upgrade to prisma 4
2023-07-26 19:18:42 -05:00
keyan
672853a7ea
upgrade to prisma 3
2023-07-26 11:01:31 -05:00
keyan
8ab018af88
fix nested comment sorting
2023-07-25 19:45:35 -05:00
keyan
ab2046ab0b
fix issues with new linting
2023-07-25 09:14:45 -05:00
keyan
e87610c45b
update packages and reduce bundle size
2023-07-24 17:50:12 -05:00
keyan
54d69489b9
Revert "Revert "try to store slashtags in cwd""
...
This reverts commit bbedec853f
.
2023-07-23 10:09:00 -05:00
keyan
437faca197
Revert "Revert "prevent slashtags from accessing disk""
...
This reverts commit 391773be5e
.
2023-07-23 10:08:56 -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
391773be5e
Revert "prevent slashtags from accessing disk"
...
This reverts commit 3c6c2a72b2
.
2023-07-23 09:16:02 -05:00
keyan
bbedec853f
Revert "try to store slashtags in cwd"
...
This reverts commit 589d1ec190
.
2023-07-23 09:15:40 -05:00
keyan
589d1ec190
try to store slashtags in cwd
2023-07-21 20:14:37 -05:00
keyan
3c6c2a72b2
prevent slashtags from accessing disk
2023-07-21 20:05:04 -05:00
keyan
d0314ab73c
shield your eyes; massive, squashed refactor; nextjs/react/react-dom/apollo upgrades
2023-07-21 17:33:11 -05:00
ekzyis
8536660580
Fix maxStreak for users with running best streak ( #356 )
...
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-14 10:49:16 -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
4e9138dfdc
show more info on where zap rewards came from
2023-07-09 12:21:11 -05:00
ekzyis
5e4dedad28
Add nym in reply notification ( #349 )
...
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-07 08:45:44 -05:00
ekzyis
46014d0de4
Fix query for items with less than 11 parents ( #346 )
...
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-06 20:17:12 -05:00
keyan
0c51309520
enhance pwa presentation
2023-07-06 16:53:48 -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
keyan
a17b4d1f1a
refine push notification ui and catch promises
2023-07-04 17:19:59 -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
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
f0f51438c4
add top posts/comments to subs
2023-06-12 19:40:18 -05:00
keyan
369bd82a84
make freebie comments visible case by case
2023-06-03 20:01:50 -05:00
keyan
d815cae715
add 'stacking since' to profile
2023-06-02 19:55:45 -05:00
keyan
8ac570d403
fixing subscribe and child reply duplicates
2023-06-02 16:48:39 -05:00
keyan
c93ae90578
remove extra note checking condition
2023-06-01 14:54:44 -05:00
ekzyis
ace2a4df3b
Match any port in dupe check ( #297 )
...
Co-authored-by: ekzyis <ek@stacker.news>
2023-05-31 19:49:28 -05:00
ekzyis
36d5478e74
Redirect to /login on /settings 401 ( #295 )
...
Co-authored-by: ekzyis <ek@stacker.news>
2023-05-31 19:47:03 -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
keyan
0de134309c
improve perf of rank view perf
2023-05-24 02:35:39 -05:00
keyan
28263bc6c7
rank views
2023-05-23 09:21:04 -05:00
ekzyis
a4e6ec0fba
Add docs for local LND setup
2023-05-19 18:28:46 -05:00
keyan
31ce8cec93
truncate time to proper interval
2023-05-19 18:22:28 -05:00
keyan
4aee2c745f
stats are averages now
2023-05-19 18:12:48 -05:00
keyan
f6ab939bcc
use mat views (tm) for historicals (tm)
2023-05-19 17:38:39 -05:00
keyan
0a3f5fd201
materialize dashboard in views
2023-05-19 17:38:39 -05:00
keyan
236dcae13b
remove user analytics dos vector
2023-05-17 17:56:34 -05:00
keyan
df1f1a483a
require sub selection, allow editting
2023-05-10 19:30:51 -05:00
keyan
2579a6b51c
fix ranking function order operation in wild west mode
2023-05-09 15:07:23 -05:00
keyan
80968d7b35
let comments influence ranking
2023-05-09 13:52:35 -05:00
keyan
d948a653c9
add earned sats to items
2023-05-08 18:10:41 -05:00
keyan
fbd746b023
fix auction ranking with query layers
2023-05-08 17:32:37 -05:00
keyan
67b815d9d6
preserve ordering in new layered item query
2023-05-08 15:06:42 -05:00
keyan
7b60dc5e9f
use getItem meta helper more places
2023-05-07 15:21:58 -05:00
keyan
3c8ea0db22
reduce io blocking ssr
2023-05-07 10:44:57 -05:00
keyan
3465eb7aba
handle application uris in invoices
2023-05-07 10:02:59 -05:00
keyan
61d57056ed
I dip you dip one db dip
2023-05-06 20:27:51 -05:00
keyan
1c608d42f4
denormalize votes
2023-05-06 18:53:10 -05:00
keyan
a97f8229b0
avoid extra dip when getting users
2023-05-06 18:18:18 -05:00
keyan
347a6a54d2
improve comment performance
2023-05-06 16:51:17 -05:00
keyan
3d4d86a40a
simplify item queries with subs
2023-05-05 13:06:53 -05:00
keyan
b406f0c340
avoid db dip for sub
2023-05-05 12:39:57 -05:00
keyan
abd9555792
fix recent comments
2023-05-04 19:20:48 -05:00
keyan
b59f277a3b
fix job count on analytics
2023-05-04 13:44:00 -05:00
keyan
cd9c0086ef
fix top users missing return field
2023-05-02 17:02:08 -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
d08d593f69
undo april fools
2023-04-03 09:08:15 -05:00
keyan
9cbc895e29
april fools
2023-04-01 16:59:37 -05:00
keyan
e4a3095cb4
give pinned item recent sort by default
2023-03-19 10:43:33 -05:00
keyan
9afbe0abd8
enhance item related query perf
2023-02-24 10:35:05 -06:00
ekzyis
7b838cdeb2
Implement bookmarking of posts and comments ( #235 )
2023-02-16 16:23:59 -06:00
keyan
30cde2ea38
fix nip57?
2023-02-15 11:20:43 -06:00
ekzyis
c941c76292
Mention slashtags auth in README
...
This also makes SLASHTAGS_SECRET optional.
If none is set, random bytes will be generated. This is useful for local development.
2023-02-10 16:12:18 -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
4cae1ae230
reuse validation on server
2023-02-08 13:39:53 -06:00
keyan
36ddb25b46
remove extra queries
2023-02-03 18:08:08 -06:00
keyan
3a9994a9a6
denormalize user streak to avoid extra dip
2023-02-03 14:40:30 -06:00
keyan
d24b0727ea
fix streak length time zone
2023-02-01 18:09:28 -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
291fe24363
denormalize bountyPaidTo
2023-01-26 17:28:10 -06:00
keyan
80f04b5a28
remove expensive query
2023-01-26 15:00:45 -06:00
keyan
d8e3e73def
check for rootId
2023-01-26 13:37:51 -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
ceac96e149
dup /live variation of youtube link
2023-01-24 08:37:33 -06:00
keyan
29c59d93ea
open timestamps
2023-01-22 14:17:50 -06:00
keyan
9644a9f867
slashtags auth
2023-01-18 12:49:20 -06:00
keyan
71e61e51e8
fix youtube dupe regex
2023-01-13 17:42:40 -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
afc9a70a02
ignore subdomains on dupe detection
2023-01-11 16:20:14 -06:00
keyan
2b878e1a19
more youtube dupe detection
2023-01-11 16:04:50 -06:00
keyan
b7830261d8
ignore case on url dupe detection
2023-01-11 15:05:30 -06:00
keyan
15c76aa134
recognize all youtube links
2023-01-11 14:58:52 -06:00
Keyan
10e5257375
Merge branch 'master' into 190-strip-tracking-info
2023-01-11 12:17:25 -06:00
keyan
2d012ba7fe
allow nip05 for users
2023-01-06 18:53:29 -06:00
keyan
2080cb896d
lexical beta test url
2023-01-05 13:24:09 -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
keyan
4282f6724f
fix rewards query
2022-12-09 15:37:13 -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
439c83f975
all things being equal, sort comments by sats
2022-12-06 15:23:45 -06:00
keyan
f6a95c81eb
add spender/stacker types
2022-12-06 13:26:33 -06:00
keyan
c3892d8a25
use indices to query growth
2022-12-01 17:14:16 -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
de863021f9
prevent apollo caching on the server
2022-11-24 13:22:58 -06:00
keyan
5746160893
let tips affect ranking
2022-11-23 12:12:09 -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
ekzyis
3a36a211af
Remove tracking from twitter URLs
2022-11-16 00:58:02 +01:00
keyan
525cab2573
upgrade deps
2022-11-06 11:28:58 -06:00
keyan
368f74a7c5
3 hour cliff for all items
2022-10-31 12:56:48 -05:00
keyan
60d84e2ddd
make related matching less strict
2022-10-29 10:13:57 -05:00
keyan
6d2b88fa7b
use votes in es queries
2022-10-28 12:25:26 -05:00
keyan
ba5c40d165
use votes in es queries
2022-10-28 11:21:36 -05:00
keyan
cb7f68e0e5
index wvotes for search
2022-10-28 10:58:31 -05:00
keyan
760b6b6e10
related items
2022-10-27 15:25:42 -05:00
keyan
6c9f4f1c3a
for top users constrain other stats
2022-10-26 09:56:22 -05:00
keyan
ec133e8ea2
handle empty search query
2022-10-25 17:30:54 -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
032c04959a
add url and nym search
2022-10-24 16:32:16 -05:00
keyan
79af550168
add guide to footer
2022-10-23 10:43:39 -05: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
aed7e0f667
fix auction position query
2022-10-05 13:55:30 -05:00
ekzyis
2dd4b1ce98
Merge branch 'master' into 103-add-other-currencies
2022-10-04 01:01:43 +02:00
keyan
46ea2f661c
make jobs great again
2022-09-29 15:42:33 -05:00
keyan
52fab60cda
fix missing search fields
2022-09-28 11:28:53 -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
7faae425b3
wild west mode
2022-09-21 14:57:36 -05:00
ekzyis
22e07a4318
Fix errors if me null
2022-09-18 03:07:14 +02:00