1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-22 21:22:40 +00:00
Commit graph

519 commits

Author SHA1 Message Date
J. King
c55a960b85 Slight cleanup 2019-04-10 15:14:45 -04:00
J. King
8532c581a8 Handle OPTIONS requests in Fever 2019-04-10 10:51:02 -04:00
J. King
afb95e53b0 Initial implementation of read-undo 2019-04-10 10:21:14 -04:00
J. King
52bc5fbda6 Tests for simple marking 2019-04-10 09:48:28 -04:00
J. King
15915a4393 Initial implementation of simple marks 2019-04-08 23:31:22 -04:00
J. King
c783ec4357 Prototype XML output for Fever 2019-04-08 20:58:45 -04:00
J. King
98fc3f4940 Test for hot links 2019-04-08 19:21:21 -04:00
J. King
4ce371ece6 Tests and fixes for Fever item listing 2019-04-08 18:41:56 -04:00
J. King
e3d2215920 Style fixes 2019-04-05 11:03:15 -04:00
J. King
0ef606aa03 Return string list of item IDs 2019-04-05 08:20:05 -04:00
J. King
0752e9cf3d Implement Fever sync 2019-04-04 19:37:48 -04:00
J. King
c6d241e653 Implement Fever item list 2019-04-04 17:57:12 -04:00
J. King
12f23ddc16 Updated tests for arbitrary sorting 2019-04-04 17:21:23 -04:00
J. King
f72c85c9f6 Hopefully working but maybe broken custom sorting 2019-04-04 11:22:50 -04:00
J. King
4b133bddd6 Prototype arbitrary result ordering 2019-04-03 15:02:59 -04:00
J. King
74fc39fca0 Implement multi-folder context option 2019-04-02 22:44:09 -04:00
J. King
cce1089e10 Handle edge case with folder 0
Folder 0 (the root folder) is a valid, though nonsensical selection:
using it as a positive option is the same as not using the option at
all, and using it as a negative option necessarily yields an empty set.

However, it can in some contexts be validly specified, and so it should
be handled consistently. It had not been previously, but is now.
2019-04-02 19:58:35 -04:00
J. King
98f6fca7e3 Enforce minimum array size (for now) 2019-04-02 18:37:46 -04:00
J. King
ef1b761f95 Implement most multiple-item context options
Selecting multiple folder trees will require further effort
2019-04-02 18:24:20 -04:00
J. King
ba32ad2f17 Add context options for multiple tags, labels, etc 2019-04-02 09:32:31 -04:00
J. King
77efaa7b41 CLI command for exporting OPML and sundry cleanup 2019-04-01 17:24:19 -04:00
J. King
deea294f8a Add export-to-file wrapper for OPML 2019-04-01 16:54:14 -04:00
J. King
35e79d53a9 OPML export fixes, with tests 2019-03-30 10:01:12 -04:00
J. King
d63edf541f Insert folders into OPML before subscriptions 2019-03-29 09:02:39 -04:00
J. King
25b7b47e0a Prototype OPML exporter 2019-03-28 21:53:04 -04:00
J. King
5d994f3dad Normalize Fever input consistently
Two parameters are undocumented, but other implementations consistently
accept them from clients
2019-03-28 14:54:31 -04:00
J. King
de615c671a Tests and fixed for Fever feeds and groups 2019-03-27 15:09:04 -04:00
J. King
7faec3b0db Fever fixes
- Ensure the last refresh time is included in authenticated requests
- Use a partial mock in auth tests so that other processing does not
get in the way of results
- Make sure the group list includes unused groups
- Make sure the update time of subscriptions is correct
2019-03-27 11:54:47 -04:00
J. King
d8407330a0 Add a function to get when feeds were last updated
This is an optimization for Fever, which returns this information with
every API call.
2019-03-26 16:51:44 -04:00
J. King
acb3973149 Prototype implementation of Fever groups and feeds 2019-03-26 08:53:26 -04:00
J. King
9c61f967e3 Correct CLI password clearing 2019-03-25 17:07:28 -04:00
J. King
bf3bf9589f Merge branch 'master' into fever 2019-03-25 14:12:08 -04:00
J. King
1e83350dd0 Version bump 2019-03-25 11:57:31 -04:00
J. King
65f723c7d4 Fix missing reference to author in TT-RSS. 2019-03-25 11:30:35 -04:00
J. King
22c2629078 Partial tests for new CLI features 2019-03-25 10:45:05 -04:00
J. King
7d95e8fc09 Split Fever user management from protocol handler 2019-03-25 08:31:49 -04:00
J. King
1ce95ef4d9 Add means of testing Fever authentication 2019-03-24 15:05:21 -04:00
J. King
e45ba3f0ea Add means of unsetting a password in the backend 2019-03-24 14:42:23 -04:00
J. King
07122b524a Rename Fever user functions for consistency 2019-03-21 10:19:30 -04:00
J. King
9ebaa20633 Tests for Fever password creation and removal 2019-03-20 22:24:35 -04:00
J. King
9168155244 Add method to unset a Fever password 2019-03-20 10:42:04 -04:00
J. King
1e2d595992 Full set of authentication tests for Fever 2019-03-19 23:37:08 -04:00
J. King
d59223bbcb First authentication test for Fever 2019-03-18 22:49:47 -04:00
J. King
b02c910b1e Make token creation check that the user exists 2019-03-10 15:54:43 -04:00
J. King
3aa2b62d02 Basic Fever skeleton
Authentication should work, but not tests have been written yet
2019-03-09 22:44:59 -05:00
J. King
38bdde1167 Add access tokens to the db, with relevant code
Tokens are similar to sessions in that they stand in for users, but the
protocol handlers will manage them; Fever login hashes are the
originating use case for them. These must never expire, for example,
and we need to specify their values.

This commit also performs a bit of database clean-up
2019-03-09 16:23:56 -05:00
J. King
5de1844f6d Add article selection by tag 2019-03-07 11:07:22 -05:00
J. King
e6f70527cf Simplify tag summary 2019-03-07 08:20:09 -05:00
J. King
ff0c9a3a55 Add functionality for interacting with subscription tags 2019-03-06 22:15:41 -05:00
J. King
e2cba68c1b Clarify various SQL queries 2019-03-05 19:25:46 -05:00
J. King
4945f8baa3 Clarify various SQL queries 2019-03-05 19:22:01 -05:00
J. King
6000d80b7b Work around various SQLite-related problems
- WAL mode was not getting set properly
- Queries using the PDO driver could fail because PDO sucks
2019-03-04 11:08:56 -05:00
J. King
ed22090e49 Work around various SQLite-related problems
- WAL mode was not getting set properly
- Queries using the PDO driver could fail because PDO sucks
2019-03-04 11:05:46 -05:00
J. King
fb1bdbfb37 Database schema for subscription tags 2019-03-03 12:10:18 -05:00
J. King
5efef2c2d0 Console command to refresh all feeds once; fixes #147 2019-03-02 14:59:44 -05:00
J. King
44366f48bf Remove arbitrary search term limits; fixes #150 2019-03-02 13:53:43 -05:00
J. King
21fdd66d37 Work around limit to SQL parameter placeholders for IN() clauses
Improves #150

LIKE-based matches also need to be similarly conservative
2019-03-01 22:36:25 -05:00
J. King
6857e8ec1b Merge branch 'search' 2019-03-01 12:26:08 -05:00
J. King
837f3c6dd6 Simplify SQL type handling
This is done in anticipation of dealing with SQL types in
places other than statements
2019-03-01 12:17:33 -05:00
J. King
3b8461b1ca Add searching to TTRSS handler 2019-02-28 16:22:04 -05:00
J. King
85307bc90a Add parser for TTRSS search strings 2019-02-28 15:31:33 -05:00
J. King
95de375e0b Handle folder and label exclusion
Consequently the way label data are retrieved was completely overhauled
2019-02-27 10:48:11 -05:00
J. King
1e7724ec80 Filter out duplicates in set context options 2019-02-26 12:54:27 -05:00
J. King
677e33e518 Add text search exclusions 2019-02-26 11:39:19 -05:00
J. King
89f25d7b91 Fix coverage a little 2019-02-26 11:12:40 -05:00
J. King
0dc82f64d5 Allow ranges in exclusion contexts 2019-02-26 11:11:42 -05:00
J. King
70443a5264 Make parent re-association on context clone more restrictive 2019-02-25 23:59:48 -05:00
J. King
18d52ea402 Make exclusion contexts return their parent on change 2019-02-25 23:37:14 -05:00
J. King
b950ac066f Restrict options in not-context and hopefully make it easier to use 2019-02-25 22:41:12 -05:00
J. King
14c02d56ac Implement new context options other than not().
Context handling has also been re-organized to simplify later
implementation of the not() option
2019-02-25 16:26:38 -05:00
J. King
f4a74eec5d Add all the other context options allowed by the TTRSS search syntax 2019-02-25 10:46:43 -05:00
J. King
2df7c25b66 Add ability to search note text 2019-02-23 20:14:52 -05:00
J. King
bc3182a961 Basic substring searching 2019-02-22 18:50:39 -05:00
J. King
570a9b171c Revert fulltext detection in driver 2019-02-22 18:49:57 -05:00
J. King
ace94e3ef8 Fix context, and context tests 2019-02-22 12:34:06 -05:00
J. King
f9fde23708 Context changes to support basic text searching 2019-02-22 11:13:42 -05:00
J. King
ad8057a40b Driver changes to support basic text searching 2019-02-22 11:13:13 -05:00
J. King
908e1fa310 API documentation for database driver interface 2019-02-21 15:43:19 -05:00
J. King
b55d0b374f API documentation for database driver interface 2019-02-21 15:10:32 -05:00
J. King
17f3a2f059 Start on an API overview for the Database class 2019-02-13 12:37:41 -05:00
J. King
b0d5458367 Clarify some prospective protocols 2019-02-04 13:18:33 -05:00
J. King
49cefaf5c8 Complete API documentation for the Database class 2019-02-04 13:05:48 -05:00
J. King
d3a385beef Partial API documentation for the Database class 2019-02-03 12:25:07 -05:00
J. King
b1282b6f6a Upgrade to PHP 7.1 and PHPUnit 7. 2019-01-25 22:07:37 -05:00
J. King
f5c5d49d97 Document SQL timeout changes 2019-01-24 11:40:25 -05:00
J. King
500851f161 Style fixes 2019-01-23 16:34:54 -05:00
J. King
91b6fdc696 Update changelog; bump version 2019-01-23 16:32:48 -05:00
J. King
8ea1df920a Unify SQL timeouts
- Exec and lock timeouts now apply to MySQL
- Lock timeout now applies to PostgreSQL
- SQLite now uses a generic lock timeout setting which applies to all
2019-01-23 16:31:54 -05:00
J. King
970731073d Fetch timeout should be a float, not an integer 2019-01-23 09:37:41 -05:00
J. King
9120d3b3e3 Correctly escape shell command in subprocesds service driver 2019-01-23 09:32:44 -05:00
J. King
a5049ac646 Remove reference to PicoFeed in the User-Agent string
PicoFeed is dead, so there's no point.
2019-01-23 09:21:35 -05:00
J. King
37131d3775 Remove non-functional curl service driver for now
Its requiring extensive configuration to function makes me disinclined
to revive it, though it may nevertheless happen.
2019-01-23 09:19:26 -05:00
J. King
05aadfe7c7 Use correct SQLite chema change procedure; version bump 2019-01-21 10:40:39 -05:00
J. King
5335d331f7 Fix configuration exporting 2019-01-21 09:55:25 -05:00
J. King
5cd84c4ab4 Validate configuration parameters on import, and other changes
- Each parameter is checked for type and normalized
- Interval strings are converted to DateInterval objects
- Timeouts can be specified as interval strings
- Most intervals can be null to signify infinity
- Driver classes are checked that they implement the correct interface
- Short driver names may be used, and are used by default
- Helpful errors messages are printed in case of erroneous configuration

Exporting is currently broken; this will be fixed in an upcoming commit
2019-01-20 22:40:49 -05:00
J. King
b0643de21c Add handling of DateInterval objects to ValueInfo 2019-01-17 16:29:42 -05:00
J. King
4670dfc849 Handle connection errors 2019-01-15 10:51:55 -05:00
J. King
e92bda5373 Various changes:
- Fix handling of binary data and long strings
- Simplify handling of socket connections
- Fix coverage
2019-01-15 08:58:11 -05:00
J. King
5d61ab0a57 Fixes for MySQL native interface
Three test failures remain, but these are minor and will be resolved
soon. Handling of binary data is also broken, but given that this works
fine with the PDO driver, there is presumably some correct method.
2019-01-13 23:17:19 -05:00
J. King
81acba90dc Use strict equality when comparing strings 2019-01-11 10:38:06 -05:00