Commit Graph

2371 Commits

Author SHA1 Message Date
Ben Allen 5be6df0266
Internal links are not target=_blank by default (#1037)
* feat: internal links are not target=_blank by default

* feat: use <Link>

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2024-04-08 16:56:44 -05:00
Felipe Bueno 4633e8eb5e
Allow pasting image from clipboard (#1043)
* form.js: Allow pasting image from clipboard

* remove semicolons

* Check clipboardData.items before continuing

* == -> ===

* Remove semicolons... again =/

* fix Strings must use singlequote

* Ignore DataTransfer no-undef lint error

* new DataTransfer -> new window.DataTransfer()

* add multiple image pasting

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-04-08 16:31:02 -05:00
keyan 9f79ff1f89 Revert "Merge serializeInvoiceable with serialize (#1040)"
This reverts commit e7e7cbff0a.
2024-04-08 15:50:39 -05:00
ekzyis e7e7cbff0a
Merge serializeInvoiceable with serialize (#1040)
* Merge serializeInvoiceable with serialize

* Rename to verifyPayment

We already have a function named checkInvoice in the worker which can be confusing.

Also, we don't need to export this function.

* Use crypto.timingSafeEqual
2024-04-08 09:22:29 -05:00
SatsAllDay e6b825dafe
Mute Management Settings Page (#1034)
* first pass of a mute mgmt page, ported from subscription mgmt page pr

* adjust error message for mutes

* muted users -> muted stackers

* fix typo in component name
2024-04-08 09:13:56 -05:00
SatsAllDay 91a0d1ccd7
env vars for polling intervals (#1038)
* env vars for polling intervals

add env vars for 4 different common polling intervals,
fast (1000), normal (30000), long (60000), extra long (300000)

use env vars in all `pollInterval` params to `useQuery`

* replace `setInterval`'s interval with `FAST_POLL_INTERVAL`
2024-04-08 09:13:12 -05:00
keyan 1d154ec9b5 attempt to fix lastChecked getting overwritten 2024-04-06 18:28:23 -05:00
keyan 1f466970b3 disallow referring self 2024-04-06 13:46:18 -05:00
keyan 3472670df5 add clientside fetch delay 2024-04-06 10:38:54 -05:00
keyan 9b98843541 fix Sub.createdAt -> Sub.created_at generically 2024-04-05 19:24:31 -05:00
ekzyis 0b07962e1c
Fix 404 for territories in profile (#1029) 2024-04-05 14:47:05 -05:00
ekzyis ba8b37ffb9
Add missing space in front of founding date (#1027) 2024-04-05 11:52:11 -05:00
keyan 657ce1a4f8 fix misnamed field on sub resolver 2024-04-05 10:47:03 -05:00
Keyan 1d4ba7b9a6
Update awards.csv 2024-04-05 08:47:58 -05:00
Felipe Bueno cc8b16a7e3
Fix for #1023 sndev: 317: Syntax error: redirection unexpected (#1024)
* printf -> echo

* Update sndev

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2024-04-05 08:40:12 -05:00
Keyan 76f90e0691
Update awards.csv 2024-04-04 19:53:19 -05:00
abhiShandy 2a08abd90c
fix: Reward page render error #1006 (#1018)
* fix: Reward page render error #1006

* accept coderabbit's suggestion

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* address lint issues

* use existing patterns

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-04-04 19:31:38 -05:00
Ben Allen 5fa7fd9a83
Bottom nav uses fixed position to fix firefox bug (#1011)
* use fixed position + div placeholder

* hide footer padding when not shown

* account for mobile inset

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-04-04 18:50:52 -05:00
keyan a0b402b4d6 fix sndev pr (detatched version) 2024-04-04 18:31:07 -05:00
keyan f0334b6719 Merge branch 'rerenders' 2024-04-04 18:10:13 -05:00
Keyan 5c18ef2317
prevent contexts causing rerenders (#1022) 2024-04-04 18:09:42 -05:00
keyan e7fec21375 fix hidden wallet layout shift 2024-04-04 18:07:59 -05:00
keyan b995035f46 prevent contexts causing rerenders 2024-04-04 17:52:59 -05:00
Keyan 2ee730f8b5
Update awards.csv 2024-04-04 16:36:01 -05:00
Felipe Bueno a0e705b1c0
Just some minor fixes (#1012)
* Add .vscode/settings.json to .gitignore to allow local vscode settings without making the work tree dirty

* Swap (fix) Login & SignUp button ids + Make them both 112px wide
2024-04-04 16:31:53 -05:00
Keyan c2d207fbbb
Update awards.csv 2024-04-04 16:07:21 -05:00
Keyan 168fd95bf0
Update awards.csv 2024-04-04 16:07:01 -05:00
Keyan fa237d98c9
Update awards.csv 2024-04-04 16:04:58 -05:00
keyan 2bf11dc848 remove reliance on intersection observer 2024-04-04 15:38:27 -05:00
keyan a785f907cb add sndev pr tracking option 2024-04-04 15:38:27 -05:00
ekzyis 9d897e9bf7
Use same onclose listener in sendPayment (#1020)
This is the onclose listener from getInfo.

This might also be a potential fix for undefined errors that I am getting.

With "undefined errors" I mean that the error itself is literally undefined.
2024-04-04 12:28:52 -05:00
ekzyis 6e75b9d274
Fix effect dependencies (#1019)
* Fix missing effect dependencies

* Remove unnecessary effect dependency
2024-04-04 12:23:49 -05:00
nl 32ea514286
less confusing expression for the hint of when the autowithdraw will be initiated (#1015)
* less confusing expression of when the autowithdraw will be initiated

* only change display value

* tentatively resolved linting errors: spacing around * and removed unused var import
2024-04-04 09:18:41 -05:00
ekzyis ebcdc21728
Remove useRef for NWC relay (#1014)
* Remove useRef for NWC relay

* connect to relay for every payment for more reliable payments
* remove getInfoWithRelay method (no longer needed since we no longer use useRef)
* fix 'WebSocket is already in CLOSING or CLOSED state.' errors
* improve logging

* Log connection failures

* Fix no error thrown on validation error
2024-04-04 08:29:39 -05:00
ekzyis 9f06692e3e
Never notify on replies to self (#1013) 2024-04-03 19:39:46 -05:00
SatsAllDay 992fc54160
Subscription management page (#1000)
* first pass of a subscription management page under settings

* add tabs to settings ui

* NymActionDropdown

* update Apollo InMemoryCache to merge paginated list of my subscribed users

* various updates

* switch from UsersNullable to Users

* bake the nym action dropdwon into the user component

* add back fields to the user query

* `meSubscriptionPosts`, `meSubscriptionComments`, `meMute`

* Refetch my subscribed users when a user subscription is changed

* update user list to hide stats in the subscribed list users

* update my sub'd users fragment to remove unnecessary user fields

* memoize subscribe user context provider value to avoid re-renders

* use inner join instead of left join

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* throw error when unauthenticated

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-04-03 19:38:47 -05:00
ekzyis 15fb7f446b
Wallet Logs (#994)
* nwc wallet logs

* persist logs in IndexedDB

* Potential fix for empty error message

* load logs limited to 5m ago from IDB

* load logs from past via query param

* Add 5m, 1h, 6h links for earlier logs

* Show end of log

* Clamp to logStart

* Add log.module.css

* Remove TODO about persistence

* Use table for logs

* <table> fixes bad format with fixed width and message overflow into start of next row
* also using ---start of log--- instead of ---end of log--- now
* removed time string in header nav

* Rename .header to .logNav

* Simply load all logs and remove navigation

I realized the code for navigation was most likely premature optimization which even resulted in worse UX:
Using the buttons to load logs from 5m, 1h, 6h ago sometimes meant that nothing happened at all since there were no logs from 5m, 1h, 6h ago.
That's why I added a time string as "start of logs" so it's at least visible that it changed but that looked bad so I removed it.

But all of this was not necessary: I can simply load all logs at once and then the user can scroll around however they like.

I was worried that it would be bad for performance to load all logs at once since we might store a lot of logs but as mentioned, that's probably premature optimization.

WHEN a lot of logs are stored AND this becomes a problem (What problem even? Slow page load?), THEN we can think about this.

If page load ever becomes slow because of loading logs, we could probably simply not load the logs at page load but only when /wallet/logs is visited.

But for now, this works fine.

* Add follow checkbox

* Create WalletLogs component

* Embed wallet logs

* Remove test error

* Fix level padding

* Add LNbits logs

* Add logs for attaching LND and lnAddr

* Use err.message || err.toString?.() consistently

* Autowithdrawal logs

* Use details from LND error

* Don't log test invoice individually

* Also refetch logs on error

* Remove obsolete and annoying toasts

* Replace scrollIntoView with scroll

* Use constant embedded max-height

* Fix missing width: 100% for embedded logs

* Show full payment hash and preimage in logs

* Also parse details from LND errors on autowithdrawal failures

* Remove TODO

* Fix accidental removal of wss:// check

* Fix alignment of start marker and show empty if empty

* Fix sendPayment loop

* Split context in two
2024-04-03 17:27:21 -05:00
JP a7105b90f2
Fix title from draft being dismissed (#718) (#991)
* Fix title from draft being dismissed

Add a way to bypass the title generation query when the url change is from local storage (draft) and not user interaction.

* Check draft title from storage

* Remove unused
2024-04-03 16:13:20 -05:00
SatsAllDay 4b77e7a1a9
Limit scope of API Keys (#989)
* first pass of disallowing certain APIs with API keys

Disallow the following APIs:
* item.act (zap)
* create withdrawal
* unlink auth method
* link unverified email

* disallow creating lnauths via API key to stop the flow of linking via lnauth

* undo the limitation on donating to rewards

* revert the assertion on createAuth

* assert no api key on createWithdrawal and sendToLNAddr

* incorporate PR feedback by adding API Key negative assertion to more mutations:

* `createInvite`
* `createAuth`
* `upsertWalletLND` by way of `upsertWallet`
* `upsertWalletLNAddr` by way of `upsertWallet`
2024-04-03 15:11:06 -05:00
Anis Khalfallah 0c0f303a11
Add capture's container from /capture (#1001)
* Modified docker-compose.yml to include capture from /capture

Signed-off-by: Anis Khalfallah <khafallah.anis@hotmail.com>

* Update capture's container to include health checks via /health api

* refine capure docker service

---------

Signed-off-by: Anis Khalfallah <khafallah.anis@hotmail.com>
Co-authored-by: Anis Khalfallah <khafallah.anis@hotmail.com>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-04-03 14:28:51 -05:00
Keyan 5a1f39d076
Merge pull request #1008 from stackernews/territory-header-createdAt
Add founding date to territory header
2024-04-03 13:00:00 -05:00
Keyan e1e512deb7
Merge pull request #1009 from stackernews/refinv
Fix all known problems with invite and referral links
2024-04-03 10:10:16 -05:00
keyan ffa86abdb3 fix referrer logic to work with lnauth/nostr auth 2024-04-02 20:25:35 -05:00
keyan a764837776 update redirection logic for invites 2024-04-02 19:51:30 -05:00
keyan f2589efc94 fix invite link parameter type 2024-04-02 19:14:06 -05:00
ekzyis 3cd80a54f6 Add createdAt to territory header 2024-04-03 01:17:32 +02:00
keyan e2c7f4aa58 sndev logs command 2024-04-02 15:00:45 -05:00
keyan 77080f5acd use lnd event emitter from correct scope 2024-04-02 14:36:00 -05:00
keyan d0e15eb887 give invite links a default limit 2024-04-02 10:09:21 -05:00
keyan b997c19cf0 time is a bitch doc 2024-04-02 09:29:56 -05:00