Commit graph

79 commits

Author SHA1 Message Date
06dee77bac First tests for Miniflux 2020-11-23 09:31:50 -05:00
d3ebb1bd56 Last set of tests for user management. Fixes #180 2020-11-17 16:23:36 -05:00
27d9c046d5 More work on user management 2020-11-16 00:11:19 -05:00
7f2117adaa Differentiate between duplicate/missing users and other failure modes 2020-11-15 16:24:26 -05:00
771f79323c Strip out remnants of the authorizer 2020-11-09 16:51:30 -05:00
39a1895867 Refine and cover new Guzzle error handling 2020-02-03 16:54:45 -05:00
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
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
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
b9821d925a CLI for OPML import, and proper exceptions 2019-05-01 10:46:44 -04:00
deea294f8a Add export-to-file wrapper for OPML 2019-04-01 16:54:14 -04:00
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
44366f48bf Remove arbitrary search term limits; fixes #150 2019-03-02 13:53:43 -05:00
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
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
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
4670dfc849 Handle connection errors 2019-01-15 10:51:55 -05:00
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
4ef36643a4 Proof-of-concept PDO MySQL driver
- Configuration options were added
- Non-transactional locking was added to the savepoint handlers
- Tests were adjusted for MySQL's reserved words
2018-12-20 18:06:28 -05:00
2bebdd44cf Implementation of native PostgreSQL interface
Changes to the Database class were required to avoid outputting booleans
2018-12-13 19:47:51 -05:00
28f803dd28 Handle PostgreSQL connection errors 2018-12-12 11:15:07 -05:00
edfae438fa Refine pg connection strings 2018-11-16 21:20:54 -05:00
63ae6fb703 Merge remote-tracking branch 'remotes/origin/user-rewrite' 2018-11-06 16:36:50 -05:00
9428d7468a Add more user management functionality to the CLI 2018-11-05 09:08:50 -05:00
11747c93fd Strip out unused user management functionality
Tests have been removed as well; new tests are forthcoming
2018-10-28 10:59:17 -04:00
f64f0c6a22 Whitespace cleanup 2018-10-26 14:58:04 -04:00
ad6a09ffa1 Partially tested pdo_sqlite driver; improves #72 2017-12-19 17:15:05 -05:00
50185ab8f6 Change code and type of consantUnknown exception 2017-11-17 22:53:54 -05:00
c88b5c4f18 Make distinction between modified and marked for articles
Also added various sets of fields to include when listing articles.
2017-11-17 17:52:00 -05:00
6da86428c4 Added per-file legal boilerplate
Includes PHPDoc license tag in the file-level block with accompanying copyright notice.

Also added an AUTHORS file on the off chance of outside contributions
2017-11-16 20:51:03 -05:00
11b2066922 Added per-file legal boilerplate
Includes PHPDoc license tag in the file-level block with accompanying copyright notice.

Also added an AUTHORS file on the off chance of outside contributions
2017-11-16 20:23:18 -05:00
7d19a5add0 Merge from master 2017-11-06 15:58:26 -05:00
9304f99032 Make result sets single-use; change savewepoint exceptions
- Result sets are now single-use; this is required for PDO drivers (PDO result sets are not rewindable)
- Change savepoint exceptions to be simple database exceptions; codes remain the same
2017-11-05 22:13:44 -05:00
579551f5fd Implement TTRSS operation getFeedTree; fixes #94 2017-10-30 13:11:27 -04:00
8c6c49d588 Merge changes from master 2017-10-19 22:58:42 -04:00
1271a0c8c0 Add ValueInfo::normalize method
This method provides generalized, consistent type casting more versatile than PHP's basic type juggling while hiding the significant complexity in achieving this.

While this commit does not change any existing code to use the new method, the intent is for both API handlers and database drivers to use the same basic rules for type conversion while still allowing for differing failure modes.
2017-10-19 15:18:58 -04:00
c9c6891567 Implement TTRSS getCategories; fixes #81 2017-10-07 12:46:05 -04:00
7b121c74ec Merge fixes from master 2017-09-26 20:25:11 -04:00
e74a3ae3cb Fix numerous bugs when adding or changing folders
- Specifying a non-integer parent no longer silently casts to 0 or 1
- Specifying a folder ID of 0 now always converts to null automatically
- Performing both a rename and move to root in the same operation no longer results in potential duplicates
- Calling folderSetProperties with an empty data array no peforms an update; it now returns false before the update call
- Modification timestamps are now actually updated when a folder is modified
- Constraint violation exceptions triggered by code (rather than the database) now print a message
- Renaming a folder or subscription to a non-string value (e.g. an array) throws an exception rather than silently casting
- Added tests to better cover all the above
- Centralized the normalization of integers and title strings into a new ValueInfo static class
2017-09-26 16:45:41 -04:00
474d32e54f Preliminary implementation of TTRSS sessions (needs tests; may not work) 2017-09-16 19:57:33 -04:00
5df7217cff Improve REST test coverage 2017-07-24 08:15:37 -04:00
6d4aa4db6e Minimally functional, highly experimental, working server
- Basic update service handles only one feed at a time and possibly leaks memory
- Output for REST requests is still very basic
- No avatar support
- No reporting of whether cron works
- No cleanup before or after feed updates
2017-07-15 16:44:06 -04:00
761c1054f3 Added context options to mark multiple specific articles or editions
This required significant rewrites of queries because of stale editions
2017-07-06 22:53:17 -04:00
7656de716b Feed tests: fetching and parsing 2017-05-27 18:15:52 -04:00
ed3e3c12d6 More Feed tests: more cache header handling 2017-05-22 13:01:38 -04:00
88c0f4986c Implement NCN API v1-2 feed handling: tests
- Fixes #8
- Fixes #9
- Fixes #10
- Fixes #11
- Fixes #12

- Differentiated between a missing ID which is the subject of an action (e.g. the subscription when moving a subscription) and other missing IDs (e.g. the folder when moving a subscription)
- Enforced same rules for subscription titles as for folder names, save that null is valid for subscriptions
2017-05-21 10:10:36 -04:00
4a816f827b NCNv1 feed calls and other changes
- Implemented all but one feed-related function (it's more ofan item function)
- Fixed time conversion for input into SQL; dates in PM were previously wrong
- Added miscellaneous tentative functions to Database to help with peculiarities of NCNv1; these may change
- Tests to come soon
2017-05-18 23:03:33 -04:00
8ebcb01cb5 Made out-of-order transaction handling more predictable 2017-05-07 18:27:16 -04:00
4e57e56ca7 Start on refactoring of feed processing 2017-04-13 22:17:53 -04:00
19abce85c3 Implement NCN API v1-2 folder creation
- Fixes #4
- Tests for failure modes still required
2017-04-02 12:14:15 -04:00