70 Commits

Author SHA1 Message Date
ekzyis
23c51df283
Revert reverse refs (#1224)
* Remove reverse internal refs

* Formatting
2024-06-05 08:21:01 -05:00
keyan
2775b49ce7 fix inconsistency in url handling and don't let parseEmbedURL throw 2024-06-04 12:10:37 -05:00
ekzyis
d8fe698963
Fix missing commentId parsing for item mentions (#1219) 2024-06-03 21:54:42 -05:00
ekzyis
2597eb56f3
Item mention notifications (#1208)
* Parse internal refs to links

* Item mention notifications

* Also parse item mentions as URLs

* Fix subType determined by referrer item instead of referee item

* Ignore subType

Considering if the item that was referred to was a post or comment made the code more complex than initially necessary.

For example, notifications for /notifications are deduplicated based on item id and the same item could refer to posts and comments, so to include "one of your posts" or "one of your comments" in the title would require splitting notifications based on the type of referred item.

I didn't want to do this but also wanted to have consistent notification titles between push and /notifications, so I use "items" in both places now, even though I think using "items" isn't ideal from a user perspective. I think it might be confusing.

* Fix rootText

* Replace full links to #<id> syntax in push notifications

* Refactor mention code into separate functions
2024-06-03 12:12:42 -05:00
Tom
d454bbdb72
Fix issue with popover on full sn links (#1216)
* Fix issue with popover on full sn links

* allow custom text for internal links

---------

Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-06-03 12:05:31 -05:00
ekzyis
30718b9e1b
Fix TypeError due to invalid URL (#1206) 2024-05-29 08:26:42 -05:00
Tom
52f57f8ac5
Embed Rumble Video (#1191)
* Render Rumble video in preview and posts

* Display Rumble video

* Remove workspace

* Add util function

* Use searchParam for id

* Update check for Rumble

* Update youtube match strings

* fix hostname conditions

---------

Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-05-28 08:18:32 -05:00
Felipe Bueno
471888563e
Item popover (#1162)
* WIP Item Popover

* Hide user on ItemSumarry to avoid infinite popovers

* Introduce HoverablePopover

* Delete itempopover & userpopover css

* Fix excess bottom padding on the ItemPopover

* Fix ItemSummary: Use text for itens that doesn't have a title

* Handling #itemid/something links + Tweaks for rendering comment summary

* refine hoverable popover

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-05-15 12:05:50 -05:00
keyan
111053006a fix 'startsWith' call on non-string 2024-05-06 11:26:19 -05:00
Felipe Bueno
72c27e339c
UserPopover (#1094)
* WIP UserPopover

* Add show delay on UserPopover

* UserDetails -> StackingSince on UserPopover

* Make UserPopover hoverable

* Add felipe to contributors.txt

* Remove export from SocialLink

* Remove @ outside of UserPopover

* userQuery -> useLazyQuery + Handling user not found

* Move styles to user-popover.module.css

* Update components/user-popover.module.css

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

* Remove poll + SSR check from useLazyQuery

* USER_FULL -> USER (we are only using stacking since, for now)

* refine user popover

---------

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-05-03 16:39:21 -05:00
ekzyis
40463d526c
Fix TypeError: Failed to construct 'URL': Invalid URL (#1083) 2024-04-17 12:15:36 -05:00
keyan
81d3212ffb add NEXT_PUBLIC_URL 2024-04-08 17:54:39 -05:00
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
ekzyis
d237861ff5
Use module path aliases (#938)
* Use module path aliases

* fix broken refactor

* path mapping for svgs, style, and remaining places (bonus: lose babel dep)

---------

Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2024-03-19 19:37:31 -05:00
ekzyis
5b15fd88a9 Fix ToC due to repeated slug calls 2024-03-17 18:24:39 +01:00
Keyan
2fc1ef44dd
Fix image rerender jitter and layout shift (#896)
* fix image jitter and layout shift

* prevent unecessary context rerenders
2024-03-06 13:53:46 -06:00
keyan
b5de515f5e render outlawed images and links as text 2024-03-04 19:29:50 -06:00
keyan
b16234630b better link rel attr handling 2024-03-04 19:20:14 -06:00
ekzyis
6e6c355a3f
Add tests for internal linking (#808)
* Add tests for internal linking

* Add workflow for unit tests

* Use jest
2024-02-17 15:53:36 -06:00
ekzyis
894a73d713
Show item page in internal links (#807)
* Include item page in link text

* Fix invalid URLs parsed
2024-02-12 13:34:33 -06:00
ekzyis
e4aff5d11b
Format internal links as #<id> (#765)
* Format internal links

* Fix URL text ignored
2024-01-24 17:29:52 -06:00
keyan
fdf8f8e395 fix footnote links 2023-12-20 18:54:56 -06:00
keyan
633c96d619 handle hash urls with 'view more' 2023-12-20 18:16:34 -06:00
keyan
fc3f46a343 fix #687 2023-12-17 13:23:52 -06:00
keyan
3a7d899ce7 fix missing view more? #687 2023-12-15 18:18:30 -06:00
keyan
82a1b450f5 view more viewheight 2023-12-04 20:08:52 -06:00
keyan
e8e22ad7d4 fix click to reveal text initial render 2023-12-04 18:02:48 -06:00
keyan
4127adb169 click to reveal text when very long 2023-12-04 16:30:39 -06:00
keyan
081e22f63e fix post headings 2023-11-12 09:04:28 -06:00
keyan
302f3459a1 fix markdown inline code and headings 2023-10-23 17:14:37 -05:00
keyan
7b0021d933 enhance youtube embeds in markdown 2023-10-22 13:28:18 -05:00
G
40f63baa05
Embed Youtube videos in posts for valid Youtube URLs (#572)
* Render video if it's valid Youtube URL

* Fix lint
2023-10-22 11:13:16 -05:00
ekzyis
cac956b88d Fix typo 2023-10-18 16:50:33 +02:00
keyan
a19b392787 fix duplicate key issue when rendering search highlights 2023-10-15 16:13:54 -05:00
keyan
0daff7a01f update packages 2023-10-15 15:43:06 -05:00
keyan
91ccc80a97 fix issues related to syntax highlighting 2023-10-06 18:51:38 -05:00
Austin Kelsay
b3aee502a0
Crosspost discussion items to nostr (#522)
* Crossposting discussion function, crossposting setting migration

* Passing in id, adding relays to test

* Adding checkbox setting for crossposting enabled

* Adding paramaterized event fields to crosspostDiscussion, successfully crossposting discussions

* Cleaning up for rebase

* Removing nostrRelays

* Retry crosspost toast

* Adding nostrCrossposting to settings, fixing migration

* Full flow is working with error surfacing, retries, and skips for a retry

* Updates to error handling/retries for crossposting, fixing settings for crossposting

* Allowing recursive retries for crossposting to specific relays

* Fixing / syncing crossposting settings, cleaning up and seperating out nostr functions

* Cleaning up

* Running linter

* make nostr crossposter a hook

---------

Co-authored-by: Austin <austin@pop-os.localdomain>
Co-authored-by: plebdev <plebdev@plebdevs-MacBook-Pro.local>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-10-04 13:47:09 -05:00
ekzyis
1e417ba670
Image refactor refactor (#541)
* Remove outdated comments about srcSet value

We no longer distinguish between `undefined` and `null` for `srcSet`.

* Fix misleading URL shown

* Update/fix comments in <ImageOriginal>

* Simplify condition when to show image

I think this is not required since `showImage` will always stay false if tab !== 'preview' or me?.clickToLoadImg are true.

* Rename to imgproxyOnly

* Add info to imgproxyOnly setting

* Fix text of markdown links not used on imgproxy errors

* Fix rendering markdown links with text as images

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-10-03 13:05:04 -05:00
keyan
62b53e1b3e make zoomable image fallback to link, fix styling, refine text component, search highlighting without remark-directive 2023-10-02 19:07:05 -05:00
ekzyis
1e23f787bd
Fix image preview not ignoring privacy setting (#536)
* Fix images not ignoring privacy setting during preview

* Fix image detection not ignoring privacy setting during preview

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-10-02 07:28:39 -05:00
ekzyis
b2b38d8924
Images v2 (#513) 2023-10-01 18:03:52 -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
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
keyan
7490e5c249 fix syntax highlighting warnings 2023-07-27 12:10:05 -05:00
keyan
8ea9938cb0 fix broken image text 2023-07-25 20:02:43 -05:00
keyan
ab2046ab0b fix issues with new linting 2023-07-25 09:14:45 -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 18910fa2ed470fe12ffbfb83df18e206101f0a05.
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 d0314ab73c42ebf85fe2f418dddd681af45dbc55.
2023-07-23 09:16:12 -05:00