3526 Commits

Author SHA1 Message Date
ekzyis
f4dcc3bbaf
Only run npm ci during image build (#2498) 2025-09-08 20:23:20 -05:00
k00b
34d51e3dcd checkin copy-webpack-plugin lock 2025-09-08 17:34:48 -05:00
k00b
bd936b2403 copy webpack not dev dep 2025-09-08 12:18:51 -05:00
ekzyis
96bbe0c1c2
Use bot icon as badge (#2450)
* Use bot icon as badge

* Only show bot icon if bot
2025-09-08 12:09:17 -05:00
ekzyis
36d2179c9d
Link to wallet guide if exists (#2490)
* Link to guide if exists

* Add LNbits guide

* Update id to LNbits guide

also update guide and add id to ADMIN_ITEMS for perpetual edits

* Use button instead of link

This fixes following console warning:

> Warning: validateDOMNesting(...): <a> cannot appear as a descendant of <a>.

* Fix alignment

* Fix wrong mention of super user requirement

* Move guideUrl to wallets.json
2025-09-08 12:08:43 -05:00
soxa
f0e3516cf0
Refactor live comments and comment injection (#2462)
* Fix duplicate comment on pessimistic creation

- comment creation checks for comment's ID existence in cache
- invoice.confirmedAt included in useCanEdit deps for anons live comments

* switch to some as sets are not worth it

* only check for duplicates if a pessimistic payment method has been used

* default to empty array

* add comment about side-effects

* record ownership of an item to avoid injecting it via live comments

* trigger check only if the incoming comment is ours, cleanup

* correct conditions, correct comments, light cleanup

* fix: add defensive condition to ownership recorder, better name

* refactor: unified comment injection logic with deduplication, useCommentsView hook; revert sessionStorage-based fix

* adjust live comments naming around the codebase

* listen for hmac presence for anon edits

* always return the injected comment createdAt to bump live comments

* refactor: improve live comments hook readability

- latest comment createdAt persistence helper
- preserveScroll returns the returning value of the callback
- compact conditional logic
- refresh code comments
- refresh naming
- group constants
- reorder imports

* flat comment injection, fetch flat comments instead of the entire subtree that would've been deduplicated anyway, cleanup

* always align new comment fragment to the comments query structure

* generic useCommentsView hook

* update comment counts if live injecting into fragments without comments field

* fix: pass parentId, if a comment has a top level parent it always has the comments field

* fix: update CommentsViewAt only if we actually injected a comment into cache

* correct injectComment result usage

* pass markViewedAt to further centralize side effects, remove live from Item server typedefs

* fix: don't update counts for ancestors that are already up to date, update commentsViewedAt per batch not per comment

* port: fix coalesce, useCommentsView hook and outline changes

* update hmac field in cache on paid invoice, hmac as useCanEdit effect dependency

* comments and light cleanup, update useCommentsView

* efficient hasComments logic for live comments, establish a gql fragment

* fix: typo on topLevel evaluation

* limit extra evaluations to live comments scenarios

* update comments

* support live comments ncomments increments for anon view tracking
2025-09-07 16:04:34 -05:00
soxa
fbeba23e27
Fix comments view tracking (#2485)
* backport useCommentsView from comments refactor

* adapt live comments and creation to useCommentsView; better outline conditions

* better deps usage, remove unused props

* safer usage of root and item

* light cleanup

* cleanup: remove unused useRoot on live comments

* light cleanup and affirm purpose of each function

* fallback to createdAt if no lastCommentAt only if we actually visit the item, not by default

* fix: don't track comments, remove unused useRoot, fix signature
2025-09-06 20:03:04 -05:00
ekzyis
c572fae8ae
Fix 'LNbits send does not support tor' (#2491) 2025-09-06 05:48:06 +02:00
ekzyis
243e8eeb65
LNbits send does not support tor (#2489) 2025-09-06 05:23:07 +02:00
ekzyis
c1d51272ed
Fix CLN container build on ARM (#2486)
* Remove unnecessary CLNRest plugin dependencies install

* Fix comments in CLN docker image
2025-09-05 15:25:24 -05:00
ekzyis
9870fa5994
npx prisma format (#2488) 2025-09-05 20:02:55 +02:00
ekzyis
8b139f08da
Use precache manifest generated by webpack plugin (#2464) 2025-09-04 12:15:52 -05:00
ekzyis
de463e1f99
Send via CLNRest (#2475)
* Send via CLNRest

* Add cURL script to send payments using CLNRest

* Serve CLNRest over HTTP in dev

Upgrade to 24.11 fixed CORS issue

* Update cln.md
2025-09-04 12:15:14 -05:00
soxa
a794b59b91
navigator: also track comments visible in viewport (#2482) 2025-09-03 17:41:36 -05:00
k00b
5f697f3434 pay the pending awards that we can 2025-09-03 15:28:41 -05:00
Keyan
7726fa4640
Update awards.csv 2025-09-03 13:47:59 -05:00
soxa
83198e7467
hotfix: make meCommentsViewedAt fallback to createdAt only if there's not lastCommentAt (#2481) 2025-09-03 13:18:29 -05:00
k00b
5c9de4c433 truncate related queries 2025-09-03 12:15:22 -05:00
k00b
560be165ee limit search query length 2025-09-03 12:10:21 -05:00
ekzyis
4d4ce66404
Include localhost as SAN in CLN TLS certificates (#2479)
Before, we would get this error when trying to use cURL from the host machine:

```
$ curl https://localhost:9092/v1/list-methods --cacert docker/cln/ca.pem
curl: (60) SSL: certificate subject name 'cln' does not match target hostname 'localhost'
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the webpage mentioned above.
```

This commit fixes it by including localhost in the alternative subject names of the TLS certificate.

I followed the instructions at https://docs.corelightning.org/docs/grpc#generating-custom-certificates-optional.
2025-09-02 14:25:41 -05:00
ekzyis
0e583a179d
Update CLN createrune & certificate help (#2478)
* Update CLN createrune help

* Update CLN certificate help
2025-09-02 13:50:18 -05:00
soxa
b5af28c48b
Server-side tracking of comments view time (#2432)
* server-side comments view tracking, model structure, mutation

* full commentsViewedAt refactor, adjust comment creation and injection, adjust item navigation

* update server-side tracking only if there's a change, light cleanup

* coalesce meCommentsViewedAt to the item's createdAt, wip PoC comment outlining

* don't update cache on item visit, use useRoot hook for outlining

* add meCommentsViewedAt to root, better naming, light cleanup

* better timestamp logic and comparisons, add lastCommentAt to root item object, added TODOs

* fix: track commentsViewedAt only for root item, use topLevelId to fetch live comments only for the current item

* only track commentsViewedAt for root item, light cleanup

* light cleanup, correct live comments timestamp deps

* worker: on midnight, untrack items that were never viewed and had no comments in the last 21 days
2025-09-02 13:13:44 -05:00
github-actions[bot]
b0f01c1dd4
Extending awards.csv (#2474)
Co-authored-by: huumn <34140557+huumn@users.noreply.github.com>
2025-08-29 19:54:14 -05:00
ekzyis
c43f19fd7d
Improve CSS for lists in modals (#2473) 2025-08-29 19:53:44 -05:00
Scroogey-SN
5ff6214255
fix #2392: make subs return meSubscription (#2451)
* fix #2392: make subs return meSubscription

* convert queryRawUnsafe to queryRaw

* Fix syntax error in $queryRaw

---------

Co-authored-by: ekzyis <ek@stacker.news>
2025-08-29 19:51:48 -05:00
ekzyis
a95da3d108
Improve image detection (#2472)
* Mark every non-https link as 'not image'

* Mark xcancel.com links as 'not image'
2025-08-29 19:50:12 -05:00
ekzyis
5898f09b34
Image decode error as warning (#2471) 2025-08-29 23:05:36 +02:00
soxa
4ff3dfa412
also untrack descendants of an outlined new comment; micro-optimize classList logic (#2463) 2025-08-29 13:26:46 -05:00
ekzyis
6f67aaaef9
Map lnAddr to correct wallet on save via prompt (#2456) 2025-08-29 13:25:57 -05:00
ekzyis
2d3d3ac6c9
Refactor Indicator component (#2453)
* Fix inconsistent indicator style in dropdown, offcanvas

* Fix missing offcanvas indicator

* Refactor indicators

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2025-08-29 13:22:05 -05:00
github-actions[bot]
a83709dfe3
Extending awards.csv (#2469)
Co-authored-by: huumn <34140557+huumn@users.noreply.github.com>
2025-08-29 13:04:51 -05:00
ekzyis
6933d72e5f
Indicator fixes: inconsistent CSS and missing indicator (#2452)
* Fix inconsistent indicator style in dropdown, offcanvas

* Fix missing offcanvas indicator
2025-08-29 13:04:18 -05:00
Scroogey-SN
acd5b69087
fix #2443: add parseYoutubeStart() to convert start times (#2447)
* fix #2443: add parseYoutubeStart() to convert start times

* handle null parameter

* add spaces for lint

* switch to regex, handles more cases, simply don't touch unexpected input

* force braces for lint
2025-08-29 12:54:39 -05:00
ekzyis
cbcb8cb96c
Change layout in wallet prompt (#2454) 2025-08-29 12:15:35 -05:00
ekzyis
e3445a137d
Optimize chain sync of LND nodes (#2467) 2025-08-29 06:12:53 +02:00
ekzyis
03d3cd1e9e
Update link to CLN docs (#2466) 2025-08-29 03:35:52 +02:00
ekzyis
74361aea18
npx prisma format (#2465) 2025-08-29 02:17:26 +02:00
ekzyis
c5b50d71ac
Small refactor of code flow in multiAuthMiddleware (#2455) 2025-08-27 20:50:18 +02:00
ekzyis
7fcc1b1b78
Fix progress line not connecting if there's only one (#2449) 2025-08-27 09:05:47 -05:00
github-actions[bot]
8fa158246c
Extending awards.csv (#2448)
Co-authored-by: huumn <34140557+huumn@users.noreply.github.com>
2025-08-26 17:31:25 -05:00
k00b
2a8085a995 disable graphql landing page 2025-08-26 17:22:45 -05:00
Scroogey-SN
e0bea64175
fix #2444: div for table scrollbar (#2446)
* fix #2444: div for table scrollbar

* span to div, white-space: nowrap in .css
2025-08-26 17:12:17 -05:00
k00b
47a48fe952 pay remaining rewards 2025-08-26 13:42:52 -05:00
k00b
7890f97282 pay awards 2025-08-26 10:24:19 -05:00
ekzyis
500657cb93
Merge commit from fork 2025-08-26 09:52:26 -05:00
github-actions[bot]
438dc8c121
Extending awards.csv (#2445)
Co-authored-by: huumn <34140557+huumn@users.noreply.github.com>
2025-08-26 09:47:54 -05:00
Edward Kung
4998041d73
Automatically generate table of contents in text (#2213)
* automatic toc generation in markdown

* don't open hash links in new tab

* only process toc for top level items

---------

Co-authored-by: ekzyis <ek@stacker.news>
2025-08-26 09:42:01 -05:00
Scroogey-SN
68bd96a65c
pass limit in nextCursorEncoded() (#2434)
* pass limit in nextCursorEncoded()

* Also fix cursor in query for related items

---------

Co-authored-by: ekzyis <ek@stacker.news>
2025-08-26 09:40:28 -05:00
soxa
28bce7c9f7
load new replies to comments on fetch more (#2430) 2025-08-26 09:39:53 -05:00
soxa
8517e7277c
live comments: toggle (#2421)
* enhance: toggle live comments on posts, default status set by user settings

* wip: toggle via mutation, footer placement

* chat icon on footer, consistent naming, perf tweaks

* update all tabs on toggle by dispatching events, correct icon, cleanup

cleanup:
- remove useless window checks
- use skip instead of conditional options
- correct naming

* update localstorage on user setting change

* revert disableLiveComments user setting

* avoid redundant setState and usage of maybe stale state

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2025-08-26 09:39:09 -05:00