J. King
ddbcb598e8
Match more closely Miniflux query string behaviour
...
- The starred key is a simople boolean whose value is immaterial
- Blank values are honoured for keys other than starred and status
2021-01-31 10:44:27 -05:00
J. King
bb89083444
Perform strict validation of query parameters
...
This is in fact stricter than Miniflux, which ignores duplicate values
and does not validate anything other than the string enumerations
2021-01-30 21:37:19 -05:00
J. King
1e924bed83
Partial query string normalization
2021-01-30 13:38:02 -05:00
J. King
3b2190ca10
Include folder names directly in subscription list
2021-01-28 14:55:18 -05:00
J. King
ad094f5217
Don't return icons without types at all
2021-01-27 13:41:10 -05:00
J. King
cd5f13f4b9
Tests for icon querying
2021-01-27 11:53:07 -05:00
J. King
76f1cc8e91
Adjust users of subscriptionIcon
2021-01-26 13:44:44 -05:00
J. King
cc2672fb0a
Improve icon fetching interface
2021-01-26 12:03:26 -05:00
J. King
8e749bb73c
Report 404 on icons for absence of data
...
This is significant as upgraded databases have icon IDs, but no data
2021-01-25 09:02:52 -05:00
J. King
bdf9c0e9d2
Prototype feed icon querying
2021-01-24 21:53:45 -05:00
J. King
9197a8d08b
Implement feed deletion
2021-01-24 21:12:32 -05:00
J. King
8eebb75b18
Implement feed editing
2021-01-24 20:28:00 -05:00
J. King
5a8a044a92
Implement single-feed querying
2021-01-24 13:54:54 -05:00
J. King
a646ad77b7
Use a read transaction when computing filter rules
2021-01-24 11:45:08 -05:00
J. King
cca4b205e4
Correct error output of getCategoryFeeds
2021-01-24 11:33:00 -05:00
J. King
7893b5f59d
More feed adding tests
2021-01-23 18:01:23 -05:00
J. King
36cc4928b9
Test feed fetching errors for Miniflux
2021-01-23 12:00:11 -05:00
J. King
727864f401
Implement feed listing by category
...
Also modify user list to reflect changes in Miniflux 2.0.27.
2021-01-22 18:24:33 -05:00
J. King
4972c79e32
Allow simpler feed exception creation
2021-01-21 22:44:22 -05:00
J. King
6936f365e4
Add calls coming in next version of Miniflux
2021-01-21 11:11:25 -05:00
J. King
fd25be5c27
Basic tests for feed creation
2021-01-20 18:28:51 -05:00
J. King
e7b2f54183
Prototype feed creation
2021-01-19 23:17:03 -05:00
J. King
14d2d19ae1
Tests for Miniflux feed listing
2021-01-17 13:02:31 -05:00
J. King
2cf4bf0d4d
Prototype Miniflux feed listing
2021-01-16 22:52:07 -05:00
J. King
86897af0b3
Add ability to enable scraper
...
Also transfer any existing scraper booleans on database upgrade. It was
previously possible to enable scraping manually by editing the database,
and these settings will be honoured.
2021-01-16 19:06:20 -05:00
J. King
7897585d98
Test scraping
...
Text search should also match scraped content when appropriate
2021-01-16 17:58:31 -05:00
J. King
4cb23dd198
Partial implementation of proper content scraping
2021-01-16 14:24:01 -05:00
J. King
e74b44cc39
Change favicon to icon_url and add icon_id
2021-01-15 23:15:22 -05:00
J. King
2536c9fe03
Last tests for article filters
2021-01-15 23:02:33 -05:00
J. King
9f2b8d4f83
Imprement setting of filter rules
2021-01-14 12:42:33 -05:00
J. King
618fd67f80
Set marks for filtered articles on feed refresh
2021-01-13 14:54:22 -05:00
J. King
097362881b
Tests for filtering during feed parsing
2021-01-11 23:12:43 -05:00
J. King
549c7bdc72
Style fixes
2021-01-08 15:47:19 -05:00
J. King
4f34b4ff29
Rule refactoring
...
- The Database class is now responsible for preparing rules
- Rules are now returned in an array keyed by user
- Empty strings are now passed through during rule preparation
2021-01-08 14:17:46 -05:00
J. King
c1eff8479c
Simplify configuration property caching
2021-01-07 19:49:09 -05:00
J. King
6dba8aa66b
Fixes for rules
...
- Whitespace is now collapsed before evaluating rules
- Feed tests are fixed to retrieve a dumy set of rules
- Rule evaluation during feed parsing also filled out
2021-01-07 15:08:50 -05:00
J. King
461e256052
Work around MySQL syntax weirdness
...
Also improve test for token translation to actually test that the
translated tokens are accepted by the database system
2021-01-07 10:12:38 -05:00
J. King
47ae65b9d3
Function to apply filter rules
2021-01-03 22:15:39 -05:00
J. King
ffc5579a7a
Partial implementation of filter rule handling
2021-01-03 16:41:15 -05:00
J. King
7e17332714
Implement marking all as read for Miniflux
2020-12-31 17:50:40 -05:00
J. King
31f0539dc0
Implement Miniflux user deletion
2020-12-31 17:03:08 -05:00
J. King
bf95b134bd
Fix up error codes for category changes
2020-12-31 15:46:47 -05:00
J. King
197922f92f
Implement Miniflux user creation
2020-12-31 13:57:36 -05:00
J. King
ee0c3c9449
Tests and fixes for user modification
2020-12-30 17:01:17 -05:00
J. King
67f577d573
Bump emulated Miniflux version
2020-12-28 08:43:54 -05:00
J. King
f58005640a
Prototype user modification
2020-12-28 08:12:30 -05:00
J. King
2946d950f2
Forbid more user names
...
- Control characters are now forbidden
- Controls and colons are now also forbidden when renaming
2020-12-27 10:08:00 -05:00
J. King
405f3af257
Invalidate sessions and Fever passwords when renaming users
2020-12-25 22:22:37 -05:00
J. King
5ec04d33c6
Add backend functionality to rename users
2020-12-25 17:47:36 -05:00
J. King
88cf3c6dae
Test filter rule retrieval
2020-12-23 09:38:22 -05:00
J. King
d66cf32c1f
Style fixes
2020-12-22 16:13:12 -05:00
J. King
a81760e39d
Aggressivly clean up hidden articles
...
Notably, starred articles are cleaned up if hidden
2020-12-22 15:17:18 -05:00
J. King
ade0402210
Adjust TT-RSS to ignore hidden items
2020-12-21 21:49:57 -05:00
J. King
f33359f3e3
Move some Miniflux features to abstract handler
2020-12-20 22:30:59 -05:00
J. King
b7ce6f5c79
Adjust Fever to ignore hidden items
2020-12-20 19:32:07 -05:00
J. King
b2fae336e8
Adjust Nextcloud News to ignore hidden items
2020-12-20 17:42:28 -05:00
J. King
f0bfe1fdff
Simplify editionLatest Database method
...
Also adjust label querying to take hidden marks into account
2020-12-20 17:34:32 -05:00
J. King
8527c83976
Exclude hiddens from subscription unread count
...
Also fix a bug that would result in the unread count being null if
no marks existed
2020-12-20 11:55:36 -05:00
J. King
97010d8822
Tests for marking articles hidden
2020-12-19 10:59:40 -05:00
J. King
86c4a30744
Adjust articleStarred function to discount hidden
2020-12-17 18:12:52 -05:00
J. King
8ae3740d5f
Implement querying articles by hidden mark
2020-12-15 19:28:51 -05:00
J. King
d5cd5b6a17
Implement hidden marks
...
Tests are still needed
2020-12-15 13:20:03 -05:00
J. King
95a2018e75
Implement caategory marking as read
2020-12-14 12:41:09 -05:00
J. King
5124f76b70
Implementcategory deletion
2020-12-13 22:10:34 -05:00
J. King
eb079166de
Tests for category renaming
2020-12-13 12:56:57 -05:00
J. King
3ebb46f48e
Some work on categories
2020-12-11 23:47:13 -05:00
J. King
2e6c5d2ad2
Query Miniflux categories
2020-12-11 13:31:35 -05:00
J. King
ebdfad535c
More Miniflux user tests
...
Also added user lookup functionality
2020-12-10 20:08:00 -05:00
J. King
7c841b5fc2
Test for listing users
2020-12-09 23:39:29 -05:00
J. King
5c83655541
Add modification timestamp to user metadata
2020-12-08 16:10:23 -05:00
J. King
d85988f09d
Prototype Miniflux user querying
2020-12-08 15:34:31 -05:00
J. King
2eedf7d38c
Finally fix MySQL
2020-12-07 09:52:42 -05:00
J. King
e9d449a8ba
Fix user manager and tests
2020-12-07 00:07:10 -05:00
J. King
ce68566fcb
Hopefully fix MySQL
2020-12-06 20:27:20 -05:00
J. King
a431243421
Fixes for MySQL and PostgreSQL
2020-12-06 13:17:19 -05:00
J. King
fcf1260dab
Adjust database portion of user property manager
2020-12-05 22:13:48 -05:00
J. King
978929aabd
WIP redesign of user properties
2020-12-05 11:01:44 -05:00
J. King
94154d4354
Implement Miniflux feed discovery
2020-12-02 18:00:27 -05:00
J. King
669e17a1f6
Add ability to discover multiple feeds
2020-12-01 17:12:19 -05:00
J. King
2a0d6e6599
OPTIONS tests
2020-12-01 12:08:45 -05:00
J. King
7fa5523a7d
Simplify handling of invalid paths and methods
2020-12-01 11:06:29 -05:00
J. King
def07bb1ad
Tests for Miniflux authentication
...
This appears to match Miniflux's behaviour
2020-11-30 10:52:32 -05:00
J. King
90117b5cd7
Fix Miniflux strip value
2020-11-26 08:42:35 -05:00
J. King
06dee77bac
First tests for Miniflux
2020-11-23 09:31:50 -05:00
J. King
f6cd2b87ce
Port token data from Microsub branch
2020-11-18 11:25:28 -05:00
J. King
d3ebb1bd56
Last set of tests for user management. Fixes #180
2020-11-17 16:23:36 -05:00
J. King
e16df90bae
Style fixes
2020-11-16 10:26:14 -05:00
J. King
180b4ecc9b
More user tests
2020-11-16 10:24:06 -05:00
J. King
27d9c046d5
More work on user management
2020-11-16 00:11:19 -05:00
J. King
7f2117adaa
Differentiate between duplicate/missing users and other failure modes
2020-11-15 16:24:26 -05:00
J. King
4baf5fa2f9
Tests for new user functionality in Database
2020-11-13 19:30:23 -05:00
J. King
dde9d7a28a
Refinements to user manager
...
A greater effort is made to keep the internal database synchronized
2020-11-11 18:50:27 -05:00
J. King
eb2fe522bf
Last bits of the new user metadata handling
2020-11-10 17:09:59 -05:00
J. King
5a17efc7b5
Clean up user driver API
...
- It is no longer assumed a driver knows whether a user exists
- The $password param is now required (but nullable when setting
2020-11-09 18:14:03 -05:00
J. King
771f79323c
Strip out remnants of the authorizer
2020-11-09 16:51:30 -05:00
J. King
576d7e16a8
Fix handling of bytea-typed nulls
2020-11-09 16:49:42 -05:00
J. King
532ce4a502
Prototype changes to user management
...
The driver itself has not been expnaded; more is probably required to ensure
metadata is kept in sync and users created when the internal database does
not list a user an external database claims to have
2020-11-09 13:43:07 -05:00
J. King
b62c11a43e
Lasts tests for icon cache; fixes #177
2020-11-07 08:11:06 -05:00
J. King
311910795a
More tests for icon cache
2020-11-06 17:06:01 -05:00
J. King
3d3c20de5c
Don't anticipate API features
2020-11-06 15:57:27 -05:00
J. King
424b14d2b4
Clean up use of subscriptionFavicon
2020-11-06 10:27:30 -05:00
J. King
dd1a80f279
Consolidate subscription icon querying
...
Users and tests still need adjusting
2020-11-05 18:32:11 -05:00
J. King
4fc208d940
More consistent icon API
2020-11-05 16:51:46 -05:00
J. King
c3a57ca68b
Tests for icon cache population
2020-11-05 14:19:17 -05:00
J. King
50fd127ac4
Test for icon fetching
2020-11-05 10:14:42 -05:00
J. King
7c40c81fb3
Add icons to the database upon feed update
2020-11-05 08:13:15 -05:00
J. King
c25782f98c
Partial icon handling skeleton
2020-11-04 20:00:00 -05:00
J. King
2438f35f3d
Add icon cache to database
...
Feed updating has not yet been adapted to store
icon data (nor their URLs anymore)
2020-11-04 18:34:22 -05:00
J. King
5e60da00a9
Merge branch 'master' into miniflux
2020-11-03 18:58:09 -05:00
J. King
41bcffd6fb
Correctly query PostgreSQL byte arrays
...
This required different workarouynd for the native and PDO interfaces
2020-11-03 17:52:20 -05:00
J. King
c21ae3eca9
Correctly send binary data to PostgreSQL
...
This finally brings PostgreSQL to parity with SQLite and MySQL.
Two tests casting binary data to text were removed since behaviour here
should in fact be undefined
Accountinf for any encoding when retrieving data will be addressed by
a later commit
2020-11-02 15:21:04 -05:00
J. King
c92bb12a11
Prototype Miniflux dispatcher
2020-11-01 19:11:01 -05:00
J. King
8ad7fc81a8
Initially mapping out of Miniflux API
2020-10-31 21:26:11 -04:00
J. King
16d2e01668
New schema for PostgreSQL and MySQL
2020-10-30 19:00:11 -04:00
J. King
4db1b95cf4
Add numeric IDs and other Miniflux data to SQLite schema
2020-10-30 15:25:22 -04:00
J. King
b58a326461
Prepare for schema changes
2020-10-29 11:58:45 -04:00
J. King
0117e7f9bf
Relax Fever's HTTP correctness for client compat
...
- Unread on iOS appears to send all API requests as GETs
- Newsflash on Linux sends multipart/form-data input
2020-10-27 10:49:54 -04:00
J. King
9b11001402
Fix sample Nginx configuration
2020-10-26 12:57:16 -04:00
J. King
afbf3be031
Use 'union all' instead of 'union' in queries
2020-09-22 11:34:52 -04:00
J. King
9bc1373998
Version bump
2020-09-09 18:24:42 -04:00
J. King
0f3ada598e
Work around Picofeed bug
...
A fix is pending merging upstream
2020-09-09 14:52:35 -04:00
J. King
e60f7ea03f
Add class constant visibility
2020-03-01 18:32:01 -05:00
J. King
bc53a2d24a
Style fixes
2020-03-01 15:16:50 -05:00
J. King
9696d55b31
Prepare ugfix release
2020-02-16 17:43:46 -05:00
J. King
39a1895867
Refine and cover new Guzzle error handling
2020-02-03 16:54:45 -05:00
J. King
06d3af0ac3
Fix remaining Picofeed-related test failures
2020-01-24 15:54:08 -05:00
J. King
49d003082d
Fix problems with nicolus/picofeed
...
This involved multiple fixes to Picofeed itself, not all of which have
been merged upstream yet
2020-01-23 17:07:20 -05:00
J. King
e583ffea67
Start on integrating well-maintained picofeed fork
...
Picofeed configuration does not seem to get passed to Guzzle.
2020-01-21 08:42:38 -05:00
J. King
b5f118e8cb
Cleanup
2020-01-20 13:52:48 -05:00
J. King
bbace7a0ac
Use void and nullable return types where practical
2020-01-20 13:34:03 -05:00
J. King
5838af892f
Replace references to Zend with Laminas
2020-01-20 10:40:05 -05:00
J. King
c4ee7254cd
Refactor some tests to use data providers
2020-01-08 12:02:43 -05:00
J. King
fb2602fe04
Don't load actual configuration during CLI tests
2019-12-27 09:00:22 -05:00
J. King
3ee89bf669
Version bump
2019-12-06 17:46:53 -05:00
J. King
c9d4540616
Merge branch 'mysql'
2019-12-06 17:44:29 -05:00
J. King
bbe70b6abc
Corect CamelCase references to Nextcloud
2019-12-05 13:02:02 -05:00
J. King
5df89009e6
Merge branch 'master' of https://code.mensbeam.com/MensBeam/arsse
2019-12-02 19:09:16 -05:00
J. King
15de8c2320
Fix PostgreSQL connection error message
2019-12-02 17:14:03 -05:00
J. King
737dd9f6b8
Fix foreign keys in MySQL
2019-12-01 15:00:28 -05:00
J. King
0e5b242c67
Version bump
2019-10-28 11:07:04 -04:00
J. King
c59cdfef76
Whitespace fixes
2019-10-25 15:16:35 -04:00
J. King
71c7cd8fb1
Full coverage! Fixes #66
2019-10-19 18:51:01 -04:00
J. King
728eecfbb5
Additional service tests
2019-10-19 12:14:13 -04:00
J. King
7ac4fb4715
Clarify PDO workaround for SQLite
2019-10-18 16:09:01 -04:00
J. King
3ef1177f06
Remove driver lists
2019-10-18 13:20:28 -04:00
J. King
b6dd8ab20d
Improvements to and proper tests for query builder
2019-10-18 13:11:03 -04:00
J. King
c706a76057
Simplify array flattening
2019-10-18 13:10:03 -04:00
J. King
64c3ec3571
Coverage fixes and OPML bugfix
2019-10-17 13:00:56 -04:00
J. King
1809fb254e
Deal with trailing whitespace in media types
2019-09-27 22:54:33 -04:00
J. King
4f5a8e3180
Make media type checking more robust
2019-09-27 22:38:03 -04:00
J. King
5f993187ea
Be explicit with HTTP challenge character encoding
2019-09-27 17:16:34 -04:00
J. King
c5337b37b4
Consolidate creation of synthetic server requests
2019-09-25 18:30:53 -04:00
J. King
3da884dfbc
Don't embed ito SQL strings with question marks
...
Fixes #175
2019-09-12 09:53:43 -04:00
J. King
be5ad50f54
Tests for text search clause generator
2019-09-12 09:41:01 -04:00
J. King
fb6e2babb9
Change some conditions to asserts
2019-09-12 08:32:40 -04:00
J. King
3aac583c00
Add Microsub to possible future APIs
2019-09-05 14:02:06 -04:00
J. King
c9e86e71c4
More style fixes
2019-09-05 11:25:50 -04:00
J. King
53aa7a4d0d
Style fixes
2019-09-05 10:21:36 -04:00
J. King
d9c769d40e
Remove Target class
2019-09-05 10:19:05 -04:00
J. King
29667464a1
Remove unnecessary namespace imports
2019-09-05 10:03:32 -04:00
J. King
0eb0fbcc0d
Also normalize relative URLs
2019-09-03 19:34:56 -04:00
J. King
3439895779
Normalize URLs before establishing feed uniqueness
2019-09-03 19:04:23 -04:00
J. King
a175561574
Documentation corrections
2019-09-03 13:26:00 -04:00
J. King
bd71ddb929
Percent-encoding and IPv6 normalization
2019-09-03 13:16:05 -04:00
J. King
12fe786a2f
Cleanup
2019-08-29 12:28:23 -04:00
J. King
d4802bcdb6
Handle IDNs
...
While IPv6 address normalization was originally planned, this was deemed
too much effort to bother with such a niche feature; IPv6 addresses are
instead passed through unmodified
2019-08-27 15:18:02 -04:00
J. King
dc750acf07
Handle ports, paths, and credentials correctly
2019-08-27 11:08:13 -04:00
J. King
13c27c2536
Start on URL normalizer
2019-08-26 22:13:30 -04:00
J. King
e5696fdf44
Merge branch 'manual'
2019-08-25 13:21:44 -04:00
J. King
cfef75ccba
Don't update the feed URL when fetching
...
This can result in some unpredictable constraint violations
2019-08-06 09:58:30 -04:00
J. King
1ef669a464
Documentation for user management and OPML
2019-07-31 14:57:43 -04:00
J. King
eb120b4629
Fetch in three hours if caching is via etag
2019-07-27 11:03:17 -04:00
J. King
137be8bde2
Fix whitespace
2019-07-26 23:24:29 -04:00
J. King
45a43488ee
Increase compatibility with misbehaving Fever clients
2019-07-26 23:23:22 -04:00
J. King
db5bcb78a3
Fix lookup of evergreen tokens
2019-07-26 20:06:47 -04:00
J. King
d6220c1bbb
Merge branch 'master' into manual
2019-07-26 11:27:14 -04:00
J. King
4282ba1c26
Version bump
2019-07-26 09:39:46 -04:00
J. King
f7240301e4
Basic database maintenance
...
Closes #169
2019-07-26 09:37:51 -04:00
J. King
422eaf9605
Invalidate sessions on password change; closes #170
2019-07-25 22:34:58 -04:00
J. King
faf524c54f
CLI test for import
...
Fixes #35
2019-07-25 15:45:18 -04:00
J. King
0e95892aea
Do not necessarily ignore blank tags in import
...
We still make them practically impossible in OPML imports, however
2019-07-24 14:20:17 -04:00
J. King
2aa16f3405
Merge branch 'fever' into opml
2019-07-24 14:04:04 -04:00
J. King
61b942df70
Defer Fever favicons to a future release
2019-07-24 12:27:50 -04:00
J. King
0480465e7e
Test Fever XML responses
...
Fixes #158
2019-07-24 09:10:13 -04:00
J. King
30cede9ea4
Make OPML parser protected
2019-07-05 14:58:05 -04:00
J. King
7046ce163c
More format-neutral code out of OPML class
2019-06-21 13:47:34 -04:00
J. King
92b1626dba
Remove most unused features of the query builder
...
Experience has proved programmatically setting joins is not useful, and
getting the types and values of query parts was not being maintained.
The programmatic setting of GROUP BY may be useful in future, however.
2019-06-21 12:00:23 -04:00
J. King
c1e13e6199
Tests for file imports
2019-05-12 16:33:19 -04:00
J. King
0f7d49c21e
More OPML tests and fixes
2019-05-06 19:36:39 -04:00
J. King
644750487c
Command line documentation and fixes
2019-05-06 00:02:59 -04:00
J. King
a30114807f
Tests and fixed for OPML feed parsing
2019-05-05 20:29:44 -04:00
J. King
cdd9f4dfbe
More OPML parser tests
2019-05-02 21:54:49 -04:00
J. King
5ba009cfed
First set of OPML parser tests
2019-05-02 12:52:52 -04:00
J. King
6ef13d0880
Style fixes
2019-05-01 22:52:20 -04:00
J. King
b9821d925a
CLI for OPML import, and proper exceptions
2019-05-01 10:46:44 -04:00
J. King
67492cd7ef
Prototype OPML importer routine
...
In theory the import (as opposed to parse) routine could be used for any
format; this could be used to implement an ad hoc JSON format to avoid
the loss of commas in tags with OPML
2019-04-27 19:50:03 -04:00
J. King
3899ee6b4e
Allow for replacing label and tag associations
...
This supplements adding and removing
2019-04-27 18:32:15 -04:00
J. King
2af223753d
Function to add a feed without a subscription
2019-04-21 14:07:36 -04:00
J. King
ceecd58393
OPML parsing comments and minr fixes
2019-04-21 13:10:47 -04:00
J. King
825c286e5b
Prototype OPML import parser
2019-04-19 18:01:31 -04:00