Tanner
a405a13a80
Ignore praw.ini
2026-06-13 16:35:38 -06:00
Tanner
1ed94b529d
refactor: Adapt Meilisearch integration to v1.29.0 API
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-06-13 11:58:08 -06:00
Tanner
0636b586ef
feat: Add MeiliSearch API key authentication
2026-06-13 11:58:08 -06:00
Tanner
332ea4c067
refactor: Extract settings modal to dedicated component
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-06 20:08:43 +00:00
Tanner
0dff8d2612
feat: Add settings component
2026-01-06 20:08:40 +00:00
Tanner
ad9280819c
fix: Make update banner refresh button robust
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-06 20:03:59 +00:00
Tanner
4f352c39cb
Close settings modal on theme change or fullscreen
2026-01-06 19:58:31 +00:00
Tanner
f28954e780
Switch noscript redirect query param
...
This will match the blacklist: [/^\/_/,/\/[^/?]+\.[^/]+$/], in
serviceWorker.js
2026-01-06 19:10:07 +00:00
Tanner
296ff9770f
fix: Hide visible template tags by moving noscript block
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-06 18:48:35 +00:00
Tanner
f0f1b5a8ca
fix: Reload cached index.html when JavaScript is disabled
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-06 18:13:06 +00:00
Tanner
7bc7a8d38e
Style fixes
2026-01-03 23:26:56 +00:00
Tanner
9f7a33d599
style: Make settings button appear as plain text
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-03 19:51:18 +00:00
Tanner
a712378335
style: Refine settings button style
2026-01-03 19:51:16 +00:00
Tanner
afa6cd1122
fix: Fix modal overlay positioning
2026-01-03 00:50:34 +00:00
Tanner
4053832a44
style: Style settings modal for dark, black, and red themes
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-03 00:43:31 +00:00
Tanner
3893d455d0
fix: Allow modal to scroll with page content
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-03 00:22:36 +00:00
Tanner
f2153b350e
feat: Add X close button to settings modal
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-03 00:19:14 +00:00
Tanner
c08c839655
style: Add spacing to settings modal for readability
2026-01-03 00:19:12 +00:00
Tanner
a5c6616435
feat: Move fullscreen toggle to settings modal
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-03 00:15:44 +00:00
Tanner
2a1e5dd6d1
style: Adjust feed filter label and spacing
2026-01-03 00:15:41 +00:00
Tanner
29d438be24
fix: Make feed update check more robust by comparing all story IDs
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-03 00:09:25 +00:00
Tanner
1960a0b567
feat: Add feed source filtering to settings and API
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-03 00:01:46 +00:00
Tanner
0362bb7dda
feat: Move "Small websites" filter to settings dialog
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-02 23:51:23 +00:00
Tanner
c05a469276
feat: Add body and article font selection settings
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-02 22:11:28 +00:00
Tanner
a336b0db89
style: Remove redundant font inheritance from comment button
2026-01-02 22:11:26 +00:00
Tanner
4347fd93fd
feat: Consolidate font size settings; adjust increment to 0.05
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-02 22:06:39 +00:00
Tanner
e3c4d0236f
fix: Use em unit for story font size
2026-01-02 22:06:35 +00:00
Tanner
64dd723573
refactor: Standardize font size units to rem and add per-setting resets
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-02 21:49:07 +00:00
Tanner
d53b9c6052
feat: Keep settings menu open after theme selection
2026-01-02 21:49:02 +00:00
Tanner
2570061afd
feat: Implement settings modal with theme and font size adjustments
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-02 21:39:54 +00:00
Tanner
1d9675b586
fix: Prevent React app flash by hiding static content with display: none
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-02 20:52:07 +00:00
Tanner
e9f391019c
fix: Prevent content and dark mode background flashes on load
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2026-01-02 20:44:10 +00:00
Tanner
a1a89e4c57
Test update
2025-12-27 18:36:32 +00:00
Tanner
b56446eadb
Style update banner correctly
2025-12-27 18:29:23 +00:00
Tanner
8b9d6640d7
style: Consolidate update banner styles and add theme support
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-27 18:15:22 +00:00
Tanner
116d52cf49
chore: Update client version mismatch message
2025-12-27 18:15:18 +00:00
Tanner
27da953751
chore: Log service worker update check
2025-12-27 18:13:07 +00:00
Tanner
9ad80b3445
feat: Check for service worker updates on feed load
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-27 18:01:45 +00:00
Tanner
8c454b2a73
feat: Implement in-app service worker update notification
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-27 17:52:45 +00:00
Tanner
1c7cd9e6c3
Change checkbox label to "Small websites"
2025-12-16 23:41:11 +00:00
Tanner
6f7329c659
Add "similar" link for searching host name
2025-12-13 22:37:47 +00:00
Tanner
957a0794bb
Don't move backward dot tooltip
2025-12-08 23:54:41 +00:00
Tanner
a6cc9cf818
Fix: Prevent false positive single dollar math detection in text nodes
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-08 23:52:36 +00:00
Tanner
1bfe7e430b
fix: Fix browser navigation tooltip alignment
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-08 23:42:39 +00:00
Tanner
11470b5d05
fix: Adjust default tooltip horizontal position
2025-12-08 23:42:36 +00:00
Tanner
9890a5db29
fix: Improve nav dot tooltip visibility and positioning
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-08 23:37:10 +00:00
Tanner
800f04a04a
feat: Add tooltips to browser navigation dots
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-08 23:33:52 +00:00
Tanner
63aed397b9
Bring single dollar sign math back, check for whitespace
2025-12-07 22:59:09 +00:00
Tanner
2db245c9c4
Adjust checkbox styles
2025-12-07 22:53:12 +00:00
Tanner
f28a613ecf
Fix: Split border shorthand for dark mode color override
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-07 22:53:12 +00:00
Tanner
1d62327abd
fix: Improve dark mode checkbox checkmark visibility
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-07 22:53:12 +00:00
Tanner
50dee63256
style: Refine checked checkbox border color in dark theme
2025-12-07 22:53:12 +00:00
Tanner
a542f2d143
fix: Prevent price false positives in single dollar math detection
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-07 22:53:12 +00:00
Tanner
8036fc9c1b
fix: Remove single dollar sign math rendering due to false positives
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-05 17:24:40 +00:00
Tanner
bdf5c5b533
Fix dt dd tags margin
2025-12-05 00:59:02 +00:00
Tanner
735165b4e5
fix: Adjust comment metadata indentation in comments
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-05 00:49:13 +00:00
Tanner
a405d2276f
fix: Refactor comments with DL/DD for text browser compatibility
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-05 00:45:00 +00:00
Tanner
b3fc59f60a
chore: Remove unused nojs div
2025-12-05 00:44:58 +00:00
Tanner
ac0436e997
Fix buttons in color themes
2025-12-05 00:35:06 +00:00
Tanner
c9ebc60087
Clear stories first on checkbox change
2025-12-04 23:12:30 +00:00
Tanner
546285d7f3
Don't setStories when existing list is empty
2025-12-04 22:57:26 +00:00
Tanner
1b1b938ac7
Style checkbox
2025-12-04 22:55:23 +00:00
Tanner
fa7354a376
fix: Implement custom transparent checkbox for dark mode visibility
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 22:31:11 +00:00
Tanner
01b0e87a79
style: Apply transparent background to checkboxes
2025-12-04 22:31:07 +00:00
Tanner
32e438d15a
fix: Cancel pending story fetches on filter change to prevent UI jumps
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 22:24:28 +00:00
Tanner
32355ff408
feat: Fetch smallweb stories iteratively until limit met
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 22:18:22 +00:00
Tanner
d2aab946dc
feat: Add domain exclusion to smallweb list loading
2025-12-04 22:18:19 +00:00
Tanner
cf092908eb
feat: Add smallweb filter checkbox and server-side filtering
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 22:09:11 +00:00
Tanner
ab48c8ab1e
Put the loading status down below
2025-12-04 21:10:20 +00:00
Tanner
56f27efa68
fix: Detect and render inline math using single dollar delimiters
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 20:56:14 +00:00
Tanner
b36b437c19
fix: Convert inline align environments to display math
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 20:50:48 +00:00
Tanner
86b9ab6479
chore: Adjust console.log placement in Article component
2025-12-04 20:45:21 +00:00
Tanner
a6537e27d3
chore: Add debug log for math block detection
2025-12-04 20:42:55 +00:00
Tanner
bbe02400e8
fix: Render LaTeX expressions that are entire element contents
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 20:35:51 +00:00
Tanner
283952a31b
Add latex packages
2025-12-04 20:31:40 +00:00
Tanner
15314874b5
feat: Add LaTeX math rendering support
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 20:29:13 +00:00
Tanner
87f74e4422
fix: Extend direct HTML rendering to math elements
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 20:24:08 +00:00
Tanner
78f09ab937
fix: Prevent React warnings for SVG attributes
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 20:23:08 +00:00
Tanner
78734b1dc9
Move logos into public directory
2025-12-04 19:54:56 +00:00
Tanner
dc5aca5999
Downgrade humanize
2025-12-04 19:53:13 +00:00
Tanner
b58610cf19
Freeze requirements
2025-12-04 19:51:42 +00:00
Tanner
b476741b96
Don't locate css file on server
2025-12-04 19:49:19 +00:00
Tanner
07b2a702f8
chore: Remove conditional CSS import and improve alt attributes
2025-12-04 19:29:04 +00:00
Tanner
dae6f831c3
feat: Display relative time on non-JS article info line
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 19:11:27 +00:00
Tanner
021c6cab59
style: Remove zero-width spaces from story info
2025-12-04 19:11:24 +00:00
Tanner
30fde32b28
feat: Render homepage feed server-side
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 18:42:14 +00:00
Tanner
7839fced8d
feat: Include QotNews header for non-JS users
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 18:38:19 +00:00
Tanner
099d777faa
feat: Add relative timestamps and permalinks to comments
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 18:35:43 +00:00
Tanner
518c9fe765
fix: Widen comments container on story page
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 18:32:57 +00:00
Tanner
cf0fb085b6
refactor: Align non-JS comments page structure and style
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 18:29:41 +00:00
Tanner
d1ec2a1a62
style: Match non-JS article page styling and layout to JS version
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 18:26:06 +00:00
Tanner
e463a6da53
feat: Link compiled CSS bundle for non-JS client
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 18:16:50 +00:00
Tanner
fe0a4dedb4
feat: Add static rendering for article pages
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-04 18:01:00 +00:00
Tanner
d62d99f05c
Only wrap code in comments
2025-12-03 04:18:36 +00:00
Tanner
a173858629
fix: Refine code block detection to ignore inline <code>
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 03:57:08 +00:00
Tanner
ddb969125d
fix: Refine code block detection to exclude inline code
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 03:55:18 +00:00
Tanner
edc312b5be
fix: Use textContent for code block conversion to prevent content loss
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 03:51:33 +00:00
Tanner
d66747fdb1
refactor: Optimize nodes() calls and simplify function in Article
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 03:50:10 +00:00
Tanner
b798fd7456
fix: Render void elements correctly and copy all attributes
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 03:12:51 +00:00
Tanner
721af4beca
refactor: Implement recursive rendering to detect and convert code blocks
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 02:52:07 +00:00
Tanner
8c0caf1c39
fix: Unwrap single-child wrapper elements in nodes function
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 02:46:20 +00:00
Tanner
28e92a057f
chore: Add debug log to isCodeBlock function
2025-12-03 02:46:18 +00:00
Tanner
9840859aff
fix: Relax isCodeBlock check for nested code elements
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 02:37:58 +00:00
Tanner
98e9f64f1f
refactor: Refactor nodes logic from useMemo to a regular function
2025-12-03 02:37:56 +00:00
Tanner
c78cdf2c4d
refactor: Extract code block detection into isCodeBlock function
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 01:46:19 +00:00
Tanner
d99144f4d8
fix: Detect code blocks nested in pre tags for conversion
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 01:43:33 +00:00
Tanner
6060acb676
fix: Show 'Convert Code to Paragraph' button for <code> elements
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 01:37:08 +00:00
Tanner
7db174a249
fix: Adjust spacing below comment text content
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 01:28:10 +00:00
Tanner
4b10320a03
fix: Wrap text in <pre> blocks to prevent horizontal overflow
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 00:58:39 +00:00
Tanner
dc3583daaa
refactor: Convert 'show more' div to semantic button
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 00:50:58 +00:00
Tanner
9681b3b8e9
refactor: Convert collapser span to button for accessibility
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-03 00:48:22 +00:00
Tanner
b606516ece
refactor: Remove unnecessary useCallback from comment functions
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-02 23:53:40 +00:00
Tanner
2cb524d35e
Mark deleted / empty comments
2025-12-02 23:39:24 +00:00
Tanner
2c86b4d144
Add a copy button to the article title
2025-12-02 23:19:31 +00:00
Tanner
66deed7544
fix: Align article title and copy button, correct icon font
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-02 23:19:31 +00:00
Tanner
e117ffe56c
style: Update copy link button font
2025-12-02 23:19:31 +00:00
Tanner
218c273a6d
fix: Improve copy button icon display and alignment
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-02 23:19:31 +00:00
Tanner
fec6c897b2
style: Style copy button icon
2025-12-02 23:19:31 +00:00
Tanner
adf1f079e4
feat: Use icons for copy link button feedback
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-02 23:19:31 +00:00
Tanner
e756545d2c
feat: Add button to copy article title and URL to clipboard
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-02 23:19:31 +00:00
Tanner
00f4ee5565
Move static build directory to apiserver/
2025-12-02 22:38:49 +00:00
Tanner
56ddee2f3e
refactor: Iterate through stories in order for prioritized updates
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-02 22:37:58 +00:00
Tanner
14f4b09d12
fix: Unregister service worker
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-02 17:13:52 +00:00
Tanner
2a48b4a28d
Revert ScrollToTop component back to class-based
2025-12-02 17:02:03 +00:00
Tanner
42f5614524
Don't setStories every loop iteration
2025-12-02 16:52:32 +00:00
Tanner
06f35fbe8a
feat: Add loading progress indicator to Feed
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-12-02 01:20:27 +00:00
Tanner
47d401a536
feat: Add fetching stories placeholder
2025-12-02 01:20:25 +00:00
Tanner
d499cdedb0
Misc fixes
2025-12-01 21:07:01 +00:00
Tanner
9fa2699e26
fix: Improve submit error handling on API and refactor client with async/await
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 23:02:29 +00:00
Tanner
d8a35ac467
fix: Improve error handling for non-JSON server responses in Submit
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 22:59:15 +00:00
Tanner
ca6b5ce677
feat: Display detailed submission errors to user
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 22:56:48 +00:00
Tanner
914fda0f4b
feat: Display detailed, expandable connection error in Comments component
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 22:51:14 +00:00
Tanner
97e15be797
fix: Conditionally render error details to avoid layout gap
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 22:45:58 +00:00
Tanner
1fad0459b8
refactor: Improve article loading error and cache messages
2025-11-21 22:45:54 +00:00
Tanner
8df6cb7b36
fix: Prevent layout shift when error message appears
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 22:39:34 +00:00
Tanner
79b857548b
feat: Persist new stories and improve layout consistency
2025-11-21 22:39:32 +00:00
Tanner
c1a6938a50
feat: Add detailed, expandable error messages to Article component
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 22:34:24 +00:00
Tanner
af152b8848
feat: Show preload progress on fetch failure
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 00:59:14 +00:00
Tanner
36c6e77548
style: Improve error messages and loading text, add spacing to error details
2025-11-21 00:59:12 +00:00
Tanner
913adb0150
fix: Provide detailed error for story fetch failures
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 00:50:58 +00:00
Tanner
c09ffecdd9
fix: Display network error on API fetch failure
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 00:49:14 +00:00
Tanner
a9b688309c
fix: Provide detailed error messages for network failures
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 00:45:59 +00:00
Tanner
9fb0e9a679
feat: Show detailed connection errors in collapsible section
2025-11-21 00:41:57 +00:00
Tanner
7a5cc94d60
feat: Add 10s timeout and early exit for story preloading on error
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-21 00:34:17 +00:00
Tanner
cf7c91554d
feat: Immediately display stories on first load
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-20 23:02:59 +00:00
Tanner
9ae9ac903e
fix: Always fetch full story and update existing in feed
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-20 22:58:44 +00:00
Tanner
2c5147a64d
Begin stats API route
2025-11-20 22:25:26 +00:00
Tanner
ba374bea66
Ignore aider files
2025-11-20 22:25:20 +00:00
Tanner
c724838523
Add debug logging, debug add manual submissions to feed
2025-11-20 21:55:45 +00:00
Tanner
98067ef81f
Logging
2025-11-19 19:17:38 +00:00
Tanner
2d8f69a367
fix: Batch story list updates and limit length
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-19 19:17:38 +00:00
Tanner
4cf3bc4186
chore: Add console log for stories
2025-11-19 19:17:38 +00:00
Tanner
cabaca6051
fix: Fix infinite loop in Feed by removing stories from useEffect deps
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-19 19:17:38 +00:00
Tanner
90f38f0bcc
refactor: Refactor Feed story fetching for improved network resilience
...
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat >
2025-11-19 19:17:38 +00:00
Tanner
ccde7a1486
chore: Disable story updates and preloading logic
2025-11-19 19:17:38 +00:00
Tanner Collin (aider)
d2408dd502
refactor: Refactor dot components to functional
2025-11-19 19:17:38 +00:00
Tanner Collin (aider)
77809ff73b
refactor: Refactor Submit component to use hooks
2025-11-19 19:17:38 +00:00
Tanner Collin (aider)
ecc69bf611
refactor: Refactor Search component to use hooks
2025-11-19 19:17:38 +00:00
Tanner Collin (aider)
528539f049
refactor: Convert ScrollToTop to functional component with hooks
2025-11-19 19:17:38 +00:00
Tanner Collin (aider)
4cb578ac49
refactor: refactor Results component to functional component
2025-11-19 19:17:38 +00:00
Tanner
28da3cd9f5
Update webclient dependencies
2025-11-19 19:17:38 +00:00
Tanner Collin (aider)
d365cad14b
refactor: Refactor Feed component to functional with hooks
2025-11-19 19:17:38 +00:00
Tanner Collin (aider)
9300688ceb
refactor: Convert Comments class to functional using hooks
2025-11-19 19:17:38 +00:00
Tanner
6996b5f927
refactor: Rename Article component to Comments
2025-11-19 19:17:38 +00:00
Tanner Collin (aider)
135146d8ee
refactor: Refactor Article component to use hooks
2025-11-19 19:17:38 +00:00
Tanner Collin (aider)
ef74a2d7cf
refactor: Convert App class component to functional component
2025-11-19 19:17:38 +00:00
Tanner
6fa02367dd
Ignore blank hackernews titles
2025-11-19 19:17:38 +00:00
Tanner
10629200b0
Skip "Removed by moderator" stories
2025-09-27 17:38:50 +00:00
Tanner
b09d432c10
Ignore dead and political stories
2025-05-27 18:47:17 +00:00
Tanner
1569c16e70
Fix Better HN api content extraction
2025-02-01 22:39:13 +00:00
Tanner
9f52226d47
Add Better HN as an API backup
2025-02-01 21:42:06 +00:00
Tanner
b3eb55e2d1
Bug fixes
2025-02-01 20:31:35 +00:00
Tanner
fafed2cf3d
Alert on story update error
2024-03-16 20:41:24 +00:00
Tanner
7dc9e3ad16
Adjust score and comment thresholds
2024-03-08 03:08:18 +00:00
Tanner
6c1aced06c
Fix deletion script
2024-03-08 03:08:03 +00:00
Tanner
005004ad3d
Increase database timeout
2024-02-27 18:48:56 +00:00
Tanner
12bb83ade8
Fix lobsters comment parsing
2024-02-27 18:47:00 +00:00
Tanner
8f70f7a6c2
Move scripts into own folder
2024-02-27 18:32:29 +00:00
Tanner
414dcdcce9
Update readability
2024-02-27 18:32:19 +00:00
Tanner
f5ce14a749
Make "dark" theme grey, add "black" theme
2023-09-13 01:19:47 +00:00
Tanner
e85f0d8e19
Disable lobsters
2023-09-13 01:02:15 +00:00
Tanner
c228ab0635
Replace "indent_level" with "depth" in lobsters API
...
See:
https://github.com/lobsters/lobsters/commit/fe09e5aa31993e09ed4ad255bb4a359f1e8a2d62
2023-08-31 07:35:44 +00:00
Tanner
f11123b441
Handle Lobsters comment parsing TypeErrors
...
Too lazy to debug this:
2023-08-29 12:56:35,111 - root - INFO - Updating lobsters story: yktkwr, index: 55
Traceback (most recent call last):
File "src/gevent/greenlet.py", line 854, in gevent._gevent_cgreenlet.Greenlet.run
File "/home/tanner/qotnews/apiserver/server.py", line 194, in feed_thread
valid = feed.update_story(story)
File "/home/tanner/qotnews/apiserver/feed.py", line 74, in update_story
res = lobsters.story(story['ref'])
File "/home/tanner/qotnews/apiserver/feeds/lobsters.py", line 103, in story
s['comments'] = iter_comments(r['comments'])
File "/home/tanner/qotnews/apiserver/feeds/lobsters.py", line 76, in iter_comments
parent_stack = parent_stack[:indent-1]
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
2023-08-29T12:56:35Z <Greenlet at 0x7f92ad840ae0: feed_thread> failed with TypeError
2023-08-31 07:30:39 +00:00
Tanner
83fea72578
Add Tildes group whitelist
2023-07-13 22:54:36 +00:00
Tanner
3a0f7e79a2
Increase again
2023-06-13 17:11:50 +00:00
Tanner
0cfbf152eb
Increase Tildes story score requirement
2023-06-11 01:01:31 +00:00
Tanner
b051794a0c
Catch all possible Reddit API exceptions
2023-03-15 21:16:37 +00:00
Tanner
a56d5e91aa
Fix darkmode fullscreen button color
2022-08-11 19:36:36 +00:00
Tanner
8218c849b7
Fix fix-stories bug
2022-08-10 04:06:39 +00:00
Tanner
952c891643
Hide fullscreen button if it's not available
2022-08-10 04:05:25 +00:00
Tanner
b6b9dfaabb
Add fullscreen mode
2022-08-08 23:21:49 +00:00
Tanner
832f2446a6
Add red theme
2022-08-08 20:14:57 +00:00
Tanner
545f2f300e
Write fixed stories to database
2022-07-05 00:57:56 +00:00
Tanner
32e1ed615e
Begin script to fix bad gzip text
2022-07-04 20:32:01 +00:00
Tanner
3db01c01f0
Move FEED_LENGTH to settings.py, use for search results
2022-07-04 19:08:24 +00:00
Tanner
0be6f62a39
Small UI changes
2022-07-04 19:08:24 +00:00
Tanner
8802b28b97
Add accept gzip header to readability server
2022-07-04 19:07:31 +00:00
Tanner
9fa9899965
Add test file
2022-07-04 05:56:06 +00:00
Tanner
4816e8a5ed
Fix requests text encoding slowness
2022-07-04 05:55:52 +00:00
Tanner
26f03f883b
Return search results directly from the server
2022-07-04 04:33:01 +00:00
Tanner
b417a44314
Remove Article / Comments, etc thing after name
2022-07-04 04:33:01 +00:00
Tanner
e2790ddb76
Remove hard-coded title
2022-06-30 00:12:22 +00:00
Tanner
c1aede8f1f
Adjust title
2022-06-30 00:05:15 +00:00
Tanner
0d00ec40b0
Change header based on page
2022-06-30 00:00:30 +00:00
Tanner
6cc24281d9
Add index / noindex to client
2022-06-29 23:30:39 +00:00
Tanner
d6cf56677b
Add noindex meta tag to stories
2022-06-29 23:20:53 +00:00
Tanner
dae40b27cb
Increase database timeout
2022-06-24 20:50:27 +00:00
Tanner
3d8ed467c9
Update software
2022-05-31 04:24:12 +00:00
Tanner
104e2853af
Explain no javascript
2022-05-31 04:23:52 +00:00
Tanner
e93230d518
Improve logging, sends tweets to nitter.net
2022-03-05 23:48:46 +00:00
Tanner
f16abc2074
Remove outline API
2022-03-05 22:05:29 +00:00
Tanner
c946b150ff
Include option to disable readerserver
2022-03-05 22:04:25 +00:00
Tanner
63963e2c74
Include option to disable search
2022-03-05 21:58:35 +00:00
Tanner
e48846f4c3
Fix search to work with low-RAM server
2022-03-05 21:33:07 +00:00
Tanner
bac043d298
Improve logging
2021-09-06 00:21:05 +00:00
Tanner
13d00433cd
Add script to reindex search, abstract search API
2021-09-06 00:20:21 +00:00
Tanner
30c73a920a
Change the order by which content-type is grabbed
2021-01-30 06:36:02 +00:00
Tanner
cf5c1a3d44
Add optional skip and limit to API route
2021-01-18 03:59:33 +00:00
Tanner
214f4c50b8
Remove colons from date string so Python 3.5 can parse
2020-12-15 23:19:50 +00:00
Tanner
ce3b986e47
Add Lobsters to feed
2020-12-12 05:26:33 +00:00
Tanner
6a73fa548e
Update gitignore
2020-12-11 23:49:45 +00:00
Tanner
db92b39cda
Increase sqlite lock timeout
2020-11-19 21:38:18 +00:00
Tanner
f0946c7d1f
Blacklist sec.gov website
2020-11-19 21:37:59 +00:00
Tanner
410499518e
Add header to get content type
2020-11-03 20:27:43 +00:00
Tanner
c4c3f448b1
Clean code up
2020-11-03 03:45:56 +00:00
Tanner
837bb91bcc
Move feed and Praw config to settings.py
2020-11-02 02:26:54 +00:00
Tanner
70a427d533
Fix index.html indentation
2020-11-02 00:38:34 +00:00
Tanner
df0a5cd2b3
Fix noscript font color
2020-11-02 00:36:11 +00:00
Tanner
a2b60f04ad
Remove Whoosh
2020-11-02 00:22:40 +00:00
Tanner
278fbf9a1c
Try Hackernews API twice
2020-11-02 00:17:22 +00:00
Tanner
917e6c412f
Improve logging
2020-11-02 00:13:43 +00:00
Tanner
e5e523dbf5
Fix table width CSS
2020-11-01 00:47:18 +00:00
Tanner
0ad381bb7e
Make qotnews work with WaPo
2020-10-29 04:55:34 +00:00
Tanner
81a9e77cd4
Upgrade readability
2020-10-29 01:24:13 +00:00
Tanner
929a4fc491
Show exerpt of hidden comments
2020-10-27 00:41:36 +00:00
Tanner
0ac23028b2
Fix bug with rendering text nodes
2020-10-26 21:58:36 +00:00
Tanner
7ecc7bc6b4
Add instructions to download search server
2020-10-26 21:58:36 +00:00
Tanner
dd5b50edf8
Add buttons to collapse / expand comments
2020-10-26 21:57:10 +00:00
Tanner
864e6192db
Monkeypatch earlier
2020-10-24 22:30:00 +00:00
Tanner
cdb14b5d4e
Add a script to delete a story
2020-10-03 23:42:21 +00:00
Tanner
4e1566961a
Adjust feeds
2020-10-03 23:41:57 +00:00
Tanner
56302077ad
Add buttons to convert <pre> to <p>
2020-10-03 23:23:25 +00:00
Tanner
8e0c11e5e0
Add a line on UI to make search results obvious
2020-08-14 03:58:11 +00:00
Tanner
ec859ff64c
Adjust content-type request timeout
2020-08-14 03:57:43 +00:00
Tanner
33ac9e63dd
Adjust port
2020-08-14 03:57:18 +00:00
Tanner
835c6241ee
Delete displayed-attributes when init search
2020-08-14 03:56:47 +00:00
Tanner
e05aa1c6ee
Remove business subreddit from feed
2020-08-14 03:55:28 +00:00
Tanner
1c420cc49d
Update requirements
2020-07-08 05:24:32 +00:00
Tanner
38cfc4bda4
Remove extra logging
2020-07-08 02:36:40 +00:00
Tanner
162142083b
Fix crash when HN feed fails
2020-07-08 02:36:40 +00:00
Tanner
02c8bbad20
Remove document img and ignore r/technology
2020-07-08 02:36:40 +00:00
Tanner
5ef0fd120b
Tune search rankings and attributes
2020-07-08 02:36:40 +00:00
Tanner
5634cc812c
Add more logging
2020-07-08 02:36:40 +00:00
Tanner
3ac032b817
Remove article numbers
2020-07-08 02:36:40 +00:00
Tanner
b0c3e9a06d
Remove pre-fetching image
2020-07-08 02:36:40 +00:00
Tanner
21c221925d
Remove get first image
2020-07-08 02:36:40 +00:00
Tanner
437b1e313b
Add requests timeouts and temporary logging
2020-07-08 02:36:40 +00:00
Tanner
64ef3a2a18
Integrate with external MeiliSearch server
2020-07-08 02:36:40 +00:00
Tanner
d69e054311
Integrate sqlite database with server
2020-07-08 02:36:40 +00:00
Tanner
5913f894ca
Update whoosh migration script
2020-07-08 02:36:40 +00:00
Tanner
894d3654c0
Store ref list in database too
2020-07-08 02:36:40 +00:00
Tanner
e97bc4b2c7
Begin initial sqlite conversion
2020-07-08 02:36:40 +00:00
Tanner
8c1ddd4a43
Check if cache is broken
2020-07-08 02:36:40 +00:00
Tanner
490bcd5235
Fall back to ref on manual submission title
2020-07-08 02:36:40 +00:00
Tanner
f956656647
Check content-type
2020-07-08 02:36:40 +00:00
Tanner
c3c5fa0c0a
Remove technology subreddit
2020-07-08 02:36:40 +00:00
Tanner
54f30e20f5
Update tildes parser group tag
2020-07-08 02:36:40 +00:00
Tanner
fb99f26dcf
Make noscript background white
2020-06-22 20:52:51 +00:00
Tanner
7719acee01
Fix cache load race condition bug
2020-01-28 04:20:48 +00:00
Tanner
4773f9766f
Remove preload of news source icons
2020-01-28 04:20:29 +00:00
Tanner
ee3df25c63
Remove keys of uncached stories
2020-01-28 04:20:05 +00:00
Tanner
de1bcd9abc
Fix tildes deleted comment parser error
2020-01-28 04:19:26 +00:00
Tanner
9cc73da33c
Add del tag and sort tags
2020-01-04 23:37:41 +00:00
Tanner
593a645089
Fix back/forward scroll jump issue
2020-01-04 23:36:24 +00:00
Tanner
d068e6eec4
Add forward button, convert icons to font
2020-01-03 03:45:56 +00:00
Tanner
48b9c67a9b
Add style changes to prevent horizontal scrolling
2019-12-22 21:43:33 +00:00
Tanner
957beea2a7
Stop using archive.is on articles (hits CAPTCHAs)
2019-12-15 22:47:33 +00:00
Tanner
999f8b99e8
Fix search result icons
2019-12-14 07:39:25 +00:00
Tanner
114be7a559
Whitelist more html tags
2019-12-14 07:39:10 +00:00
Tanner
60a4e08479
Embed base64 logo directly in source to avoid load
2019-12-02 23:54:02 +00:00
Tanner
ad5da72578
Grab comments on manually submitted links
2019-12-02 23:15:51 +00:00
Tanner
393b676791
Sanitize html
2019-12-01 22:18:41 +00:00
Tanner
a9dbfa0a6f
Decrease feed cache length to 150
2019-12-01 22:18:14 +00:00
Tanner
9053bced58
Add logo for manual submissions
2019-11-14 08:38:11 +00:00
Tanner
f11d4ff20c
Drop articles more than two days old
2019-11-08 21:50:33 +00:00
Tanner
6ca4a32030
Allow manual submission of articles
2019-11-08 05:55:30 +00:00
Tanner
5482af40e5
Move to gevent production http server
2019-11-08 02:37:57 +00:00
Tanner
d6619f188c
Handle hostnames better
2019-11-07 22:10:08 +00:00
Tanner
dc87026f99
Add subreddit
2019-11-07 22:09:45 +00:00
Tanner
5b58e03dbc
Abort previous search requests
2019-11-07 22:08:28 +00:00
Tanner
700fd8d6a6
Get rid of lint warnings
2019-10-22 07:31:59 +00:00
Tanner
9283f8439c
Fix Tildes down for maintenance edge case
2019-10-22 05:01:30 +00:00
Tanner
0742432541
Prefetch first images
2019-10-19 07:33:06 +00:00
Tanner
5de8631115
Cache articles in memory for speed
2019-10-18 21:26:22 +00:00
Tanner
b09599aa5f
Add serviceworker, render logos directly
2019-10-18 05:09:49 +00:00
Tanner
75bbf09143
Fix underlines
2019-10-18 01:20:38 +00:00
Tanner
109ba0eb23
Fix crash from domain and ext check bug
2019-10-16 08:56:31 +00:00
Tanner
ca9bed855f
Fix copy/paste error, switch to info logging
2019-10-16 05:26:47 +00:00
Tanner
9f60ee7864
Begin README and add license
2019-10-15 16:40:55 -06:00
Tanner
8f8a11954a
Archive WSJ articles first, catch KeyboardInterrupt
2019-10-15 21:03:47 +00:00
Tanner
c4281ca215
Stop using python keyword id for id
2019-10-15 20:36:20 +00:00
Tanner
6bd3bf1090
Cache all articles in IndexedDB
2019-10-12 23:41:31 +00:00
Tanner
f798c06a9b
Move archive to Whoosh and add search
2019-10-12 05:32:17 +00:00
Tanner
5f8884a5ca
Gitkeep archive directory
2019-10-10 21:55:21 +00:00
Tanner
055439c6db
Serve client through apiserver, adding meta info
2019-10-10 21:54:29 +00:00
Tanner
d49e686f8f
Set title on article and comment pages, add comment anchors
2019-10-10 21:52:28 +00:00
Tanner
536214be1f
Fix Tildes comments with unknown authors
2019-10-08 08:01:17 +00:00
Tanner
c396a432d8
Archive Bloomberg articles first
2019-10-08 08:00:50 +00:00
Tanner
37283d09dc
Gitkeep apiserver data directory
2019-10-08 07:59:30 +00:00
Tanner
e82a72e9b7
Add huge margin to bottom of body for better pagescroll
2019-09-24 18:40:22 +00:00
Tanner
9a2854c735
Add site logos, keep displaying news on error
2019-09-24 08:23:14 +00:00
Tanner
8a01d533da
Ignore certain files and domains, remove refs
2019-09-24 08:22:06 +00:00
Tanner
1acdd92cbf
Ignore new Tildes posts and handle deleted ones
2019-09-24 08:21:26 +00:00
Tanner
37904a467b
Handle Reddit PRAW exceptions
2019-09-24 08:20:46 +00:00
Tanner
1682cb8247
Filter out False comments
2019-08-30 06:23:14 +00:00
Tanner
b43fed8e44
Settle on serif font, add scroll to top component
2019-08-30 06:22:26 +00:00
Tanner
f1c89fcf8b
Render reddit markdown, poll tildes better, add utils
2019-08-28 04:13:02 +00:00
Tanner
5f999b6263
Snip deeply nested comments
2019-08-26 01:37:50 +00:00
Tanner
b76cbcd046
Try outline.com for reader mode first
2019-08-25 23:49:08 +00:00
Tanner
277595f62f
Add favicons to webclient
2019-08-25 23:48:24 +00:00
Tanner
64d29c8e77
Add a button to toggle between article and comments
2019-08-25 08:50:49 +00:00
Tanner
7b97ca6786
Add fonts, fix styling issues
2019-08-25 07:46:58 +00:00
Tanner
fb49dde034
Fix tildes comments parsing bug
2019-08-25 07:46:22 +00:00
Tanner
2cf1c44fb9
Clear localstorage cache and add slogan
2019-08-25 01:25:28 +00:00
Tanner
5ff27591a7
Add tildes to feeds
2019-08-25 00:36:26 +00:00
Tanner
3842ec24d9
Add reddit to feeds
2019-08-24 21:37:43 +00:00
Tanner
052ba9fa4e
Remove DOMPurify import
2019-08-24 08:49:53 +00:00
Tanner
8e73f746c3
Abstract api server feeds
2019-08-24 08:49:11 +00:00
Tanner
44db099614
Stop running DOMPurify on reader server
2019-08-24 05:09:02 +00:00
Tanner
351b8a00ee
Write news stories to disk
2019-08-24 05:07:16 +00:00
Tanner
7bb72f9b96
Finish prototype web client
2019-08-24 05:04:51 +00:00
Tanner
d039191232
Finish prototype api server
2019-08-23 08:23:48 +00:00
Tanner
13e99bb52e
Figure out .gitignores
2019-08-23 08:23:26 +00:00
Tanner
895be96d7a
Change reader server useragent and port
2019-08-23 08:21:25 +00:00
Tanner
47398c1a6e
Prototype readability server
2019-08-20 21:49:06 -06:00
Tanner
5faa4b91fa
Initial commit
2019-08-20 21:48:55 -06:00