1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-23 17:12:41 +00:00
Commit graph

259 commits

Author SHA1 Message Date
J. King
11f4eed118 Scripts for Robo 2017-12-08 15:15:20 -05:00
J. King
4bc3398157 Use Robo for programming task execution
The plan had originally been to use Bldr, but Bldr's features were not particularly compelling, and it has not been maintained recently. By contrast Robo has very useful features while still meeting my needs.

In addition to migrating the build process, the current Robo file also runs unit tests, with or without coverage reporting.

Fixes #116; improves #113
2017-12-08 14:37:49 -05:00
J. King
3a07156259 Fix broken test 2017-12-07 19:39:32 -05:00
J. King
0b3b3cb49c Use SQLite nocase collation; improves #127 2017-12-07 18:05:34 -05:00
J. King
9f4095f00d Test server tweak 2017-12-07 17:27:42 -05:00
J. King
3adfe8742f Reorganize test cases 2017-12-07 15:46:49 -05:00
J. King
e6607453bc Disentangle Composer dev dependencies 2017-12-07 15:09:03 -05:00
J. King
84bd624e94 Properly fix getCounters 2017-12-06 19:16:35 -05:00
J. King
adece521a9 TTRSS: Correct mark toggling; fixes #132 2017-12-01 22:13:27 -05:00
J. King
9ac2421fe3 TTRSS: accept base64 passwords; fixes #130 2017-11-30 19:31:40 -05:00
J. King
3ffcd6dd97 Make TTRSS handler reject erroneous paths 2017-11-30 17:54:56 -05:00
J. King
a404d4d108 NCNv1: Be explicit about types; fixes #129
This is actually mandated by the specification: a change in data type requires a protocol version number change
2017-11-30 14:47:39 -05:00
J. King
4d4e8e3580 TTRSS: correct feed renaming; fixes #128 2017-11-30 12:49:23 -05:00
J. King
22cdc8916d Documentation tweaks and CS fixes 2017-11-29 22:42:50 -05:00
J. King
5cd7268c0a Added incorrectDbCharset to NCNv1 server status
This has been exposed since version 11.0.3, released before our version 0.1.0, but after implementation work had begun
2017-11-29 18:14:59 -05:00
J. King
40944a9b58 Merge remote-tracking branch 'remotes/origin/ttrss' 2017-11-29 16:05:23 -05:00
J. King
3d958547a5 Implement OPTIONS requests for NCNv1; fixes #107 2017-11-29 15:28:33 -05:00
J. King
e1f1c8b859 Refactoring 2017-11-29 13:41:26 -05:00
J. King
2bbc83aeb0 Tweak 2017-11-29 12:15:37 -05:00
J. King
40e9b7f986 Changed all TTRSS outputs to match original types exactly; improves #125 2017-11-29 11:47:10 -05:00
J. King
b4890eaced Make TTRSS tests consider data types; improves #125 2017-11-29 09:22:59 -05:00
J. King
91165cdd0d Fix breakage caused by last comit 2017-11-27 15:05:50 -05:00
J. King
b820a004d6 Complete testing of TTRSS handler
Also implemented OPTIONS handling for TTRSS; improves #107
2017-11-23 18:07:56 -05:00
J. King
a61aa0a22c Simplify TTRSS test request boilerplate 2017-11-23 14:05:26 -05:00
J. King
c669273792 Implement TTRSS operation getHeadlines; fixe #82 2017-11-22 20:18:16 -05:00
J. King
faf00d63ba Add Database::articleCategoriesGet()
This method retrieves author-supplied categories for articles, used in TTRSS
2017-11-21 09:22:58 -05:00
J. King
5c140aedc4 Implement TTRSS operation getCompactHeadlines; fixes #95
This commit also implements the back-end for the standard getHeadlines operation and handles all special feeds and categories; fixes #119
2017-11-20 00:09:20 -05:00
J. King
5d4ea6edc0 Add ResultEmpty class
This allows for the creation of synthetic empty result sets
2017-11-19 15:49:41 -05:00
J. King
2037efce61 Added oldestArticle and latestArticle context options 2017-11-18 16:06:49 -05:00
J. King
50185ab8f6 Change code and type of consantUnknown exception 2017-11-17 22:53:54 -05:00
J. King
b0da9a1d06 Added annotation context to satisfy the TTRSS "has_note" view mode 2017-11-17 19:08:35 -05:00
J. King
b595815eb9 Change NCNv1 handler to use new "typical" articleList fieldset 2017-11-17 18:12:00 -05:00
J. King
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
J. King
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
J. King
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
J. King
6c8598d897 Implement contexts for non-recursive folders, and any/no label
Adjusted TTRSS handler accordingly
2017-11-16 15:56:14 -05:00
J. King
de92fb514b Implement TTRSS opera getArticle; fixes #84 2017-11-15 15:38:49 -05:00
J. King
e83c6949b8 Cleanup 2017-11-13 23:29:25 -05:00
J. King
ea08bbb87b Implement TTRSS feed icons; fixes #121
This introduces a data model function of unusual privilege: it can retrieve favicon URLs for any subscription, regardless of user ID. This is a single-purpose hack and its use should be avoided if at all possible.
2017-11-10 12:02:59 -05:00
J. King
ea986f5032 Implement TTRSS operation updateArticle; fixes #83
This required adding the "notes" column to the arsse_marks table and adding same as a target value in Database::articleMark()

The Context class was also adjusted to remove the possibility of false positives in some tests
2017-11-09 14:21:12 -05:00
J. King
6b1cd3816d Add warnings for slow tests in PHPUnit
This should help in fixing slow tests down the road.
2017-11-08 11:31:44 -05:00
J. King
c6cd8b8aaa Removing request chunking from NCN controller 2017-11-07 10:00:31 -05:00
J. King
42a5ccb96c Handle request splitting in data model rather than controllers
Queries for multiple specific articles are limited in size because of limits on  the number of bound query parameters.

Currently this limit is somewhat arbitrarily set at 50, but it may increase.

Historically controllers would be responsible for chunking input, but this will present problems when the expected output is a result set, and of course the maintenance burden increases as the number of controllers increases.

This commit transfers the burden to the data model, and consequently introduces a ResultAggregate class which collects chunked result sets (currently only for articleList).

In the course of making these changes the mock Result class was also largely rewritten, fixing many bugs with it.

This commit does not modify the controllers nor their tests; this will be done in a subsequent commit.
2017-11-06 23:32:29 -05:00
J. King
7d19a5add0 Merge from master 2017-11-06 15:58:26 -05:00
J. King
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
J. King
9c9c34f7fe Implement TTRSS operation getFeeds; fixes #80 2017-11-02 17:17:46 -04:00
J. King
fff6082e3c Adjust TTRSS catchupFeed to use shallow subscription listing 2017-10-31 18:12:50 -04:00
J. King
cbe82c57cd Allow subscriptions to be listed non-recursively
This is used in multiple TTRSS operations (at least catchupFeed and getFeeds, and so is a useful optimization
2017-10-31 18:09:16 -04:00
J. King
f22fe8ba95 Tweak catchupFeed 2017-10-31 09:39:06 -04:00
J. King
2a08edb27d Implement TTRSS catchupFeed operation; fixes #88 2017-10-30 23:18:43 -04:00