3523 Commits

Author SHA1 Message Date
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
ekzyis
e46f4f01b2
Wallet flow (#2362)
* Wallet flow

* Prepopulate fields of complementary protocol

* Remove TODO about one mutation for save

We need to save protocols in separate mutations so we can use the wallet id returned by the first protocol save for the following protocol saves and save them all to the same wallet.

* Fix badges not updated on wallet delete

* Fix useProtocol call

* Fix lightning address save via prompt

* Don't pass share as attribute to DOM

* Fix useCallback dependency

* Progress numbers as SVGs

* Fix progress line margins

* Remove unused saveWallet arguments

* Update cache with settings response

* Fix line does not connect with number 1

* Don't reuse page nav arrows in form nav

* Fix missing SVG hover style

* Fix missing space in wallet save log message

* Reuse CSS from nav.module.css

* align buttons and their icons/text

* center form progress line

* increase top padding of form on smaller screens

* provide margin above button bar on settings form

---------

Co-authored-by: k00b <k00b@stacker.news>
2025-08-26 09:19:52 -05:00
github-actions[bot]
a620c0b0ce
Extending awards.csv (#2441)
Co-authored-by: huumn <34140557+huumn@users.noreply.github.com>
2025-08-25 15:00:18 -05:00
Bryan Mutai
fd05585eaa
add devcontainer config for codespaces (#2248)
* add devcontainer config for codespaces

* fix issues in documenting changes.
2025-08-25 12:47:37 -05:00