summary refs log tree commit diff
path: root/tests/handlers (follow)
Commit message (Expand)AuthorAgeFilesLines
* Remove the deprecated Handlers object (#8494)Patrick Cloke2020-10-099-40/+20
* Invalidate the cache when an olm fallback key is uploaded (#8501)Hubert Chathi2020-10-081-0/+20
* Add support for MSC2697: Dehydrated devices (#8380)Hubert Chathi2020-10-071-0/+82
* Merge pull request #8463 from matrix-org/rav/clean_up_event_handlingRichard van der Hoff2020-10-071-1/+1
|\
| * kill off `send_nonmember_event`Richard van der Hoff2020-10-051-1/+1
* | Add support for MSC2732: olm fallback keys (#8312)Hubert Chathi2020-10-061-0/+65
|/
* Add config option for always using "userinfo endpoint" for OIDC (#7658)BBBSnowball2020-10-011-2/+8
* Allow additional SSO properties to be passed to the client (#8413)Patrick Cloke2020-09-301-55/+105
* Allow existing users to login via OpenID Connect. (#8345)Tdxdxoz2020-09-251-0/+35
* Create function to check for long names in devices (#8364)Dionysis Grigoropoulos2020-09-221-0/+11
* Simplify super() calls to Python 3 syntax. (#8344)Patrick Cloke2020-09-182-2/+2
* Catch-up after Federation Outage (split, 4): catch-up loop (#8272)reivilibre2020-09-151-0/+5
* Fixup pusher pool notifications (#8287)Erik Johnston2020-09-091-0/+1
* Revert "Fixup pusher pool notifications"Erik Johnston2020-09-091-1/+0
* Fixup pusher pool notificationsErik Johnston2020-09-091-0/+1
* Allow for make_awaitable's return value to be re-used. (#8261)Patrick Cloke2020-09-083-16/+16
* Rename 'populate_stats_process_rooms_2' background job back to 'populate_stat...Andrew Morgan2020-09-081-9/+6
* Stop sub-classing object (#8249)Patrick Cloke2020-09-042-2/+2
* Ensure that the OpenID Connect remote ID is a string. (#8190)Patrick Cloke2020-08-281-2/+39
* Do not yield on awaitables in tests. (#8193)Patrick Cloke2020-08-271-1/+3
* Convert stats and related calls to async/await (#8192)Patrick Cloke2020-08-272-17/+16
* Convert simple_update* and simple_select* to async (#8173)Patrick Cloke2020-08-271-2/+2
* Reduce run-times of tests by advancing the reactor less (#7757)Andrew Morgan2020-08-271-1/+1
* Do not propagate typing notifications from shadow-banned users. (#8176)Patrick Cloke2020-08-261-6/+20
* Convert simple_select_one and simple_select_one_onecol to async (#8162)Patrick Cloke2020-08-262-14/+46
* Allow denying or shadow banning registrations via the spam checker (#8034)Patrick Cloke2020-08-203-7/+69
* Convert some of the general database methods to async (#8100)Patrick Cloke2020-08-172-3/+3
* Convert stream database to async/await. (#8074)Patrick Cloke2020-08-171-1/+1
* Convert devices database to async/await. (#8069)Patrick Cloke2020-08-121-1/+1
* Convert account data, device inbox, and censor events databases to async/awai...Patrick Cloke2020-08-121-1/+2
* Converts event_federation and registration databases to async/await (#8061)Patrick Cloke2020-08-111-5/+6
* Convert directory, e2e_room_keys, end_to_end_keys, monthly_active_users datab...Patrick Cloke2020-08-071-1/+1
* Convert synapse.api to async/await (#8031)Patrick Cloke2020-08-061-2/+2
* Rename database classes to make some sense (#8033)Erik Johnston2020-08-052-42/+42
* Prevent join->join membership transitions changing member count (#7977)Andrew Morgan2020-08-031-6/+40
* Convert federation client to async/await. (#7975)Patrick Cloke2020-07-302-4/+4
* Convert appservice to async. (#7973)Patrick Cloke2020-07-301-2/+3
* Convert device handler to async/await (#7871)Patrick Cloke2020-07-172-12/+11
* Convert _base, profile, and _receipts handlers to async/await (#7860)Patrick Cloke2020-07-171-6/+11
* Fix testsErik Johnston2020-07-151-2/+2
* Convert E2E key and room key handlers to async/await. (#7851)Patrick Cloke2020-07-152-237/+422
* Convert the appservice handler to async/await. (#7775)Patrick Cloke2020-07-061-33/+35
* isort 5 compatibility (#7786)Will Hunt2020-07-051-3/+1
* Additional configuration options for auto-join rooms (#7763)Patrick Cloke2020-06-301-2/+210
* Convert the typing handler to async/await. (#7679)Patrick Cloke2020-06-171-6/+7
* Ensure etag is a string for GET room_keys/version response (#7691)Hubert Chathi2020-06-151-0/+1
* Add option to enable encryption by default for new rooms (#7639)Andrew Morgan2020-06-102-5/+104
* Convert user directory handler and related classes to async/await. (#7640)Patrick Cloke2020-06-051-4/+4
* Add an option to disable autojoin for guest accounts (#6637)Travis Ralston2020-06-051-0/+10
* Performance improvements and refactor of Ratelimiter (#7595)Andrew Morgan2020-06-051-5/+1
* Fix encryption algorithm typos in tests/comments (#7637)Andrew Morgan2020-06-041-5/+5
* Add ability to wait for replication streams (#7542)Erik Johnston2020-05-221-1/+4
* Support UI Authentication for OpenID Connect accounts (#7457)Patrick Cloke2020-05-151-5/+10
* Implement room version 6 (MSC2240). (#7506)Patrick Cloke2020-05-151-3/+3
* Strictly enforce canonicaljson requirements in a new room version (#7381)Patrick Cloke2020-05-141-1/+66
* Extend spam checker to allow for multiple modules (#7435)Andrew Morgan2020-05-081-2/+2
* Implement OpenID Connect-based login (#7256)Quentin Gliech2020-05-081-0/+565
* Stop Auth methods from polling the config on every req. (#7420)Andrew Morgan2020-05-062-14/+22
* async/await is_server_admin (#7363)Andrew Morgan2020-05-012-36/+53
* Convert auth handler to async/await (#7261)Patrick Cloke2020-04-152-29/+55
* Allow admins to create aliases when they are not in the room (#7191)Patrick Cloke2020-04-011-0/+62
* Merge pull request #7157 from matrix-org/rev.outbound_device_pokes_testsRichard van der Hoff2020-03-301-1/+1
|\
| * Remove spurious "name" parameter to `default_config`Richard van der Hoff2020-03-241-1/+1
* | Add options to prevent users from changing their profile. (#7096)Dirk Klimpel2020-03-271-1/+64
|/
* Revert "Add options to disable setting profile info for prevent changes. (#70...Richard van der Hoff2020-03-171-32/+1
* Add options to disable setting profile info for prevent changes. (#7053)Brendan Abolivier2020-03-101-1/+32
|\
| * updates after reviewdklimpel2020-03-091-3/+3
| * fix testsdklimpel2020-03-091-2/+2
| * add testsdklimpel2020-03-091-3/+3
| * Add options to disable setting profile info for prevent changes.dklimpel2020-03-081-1/+32
* | Allow deleting an alias if the user has sufficient power level (#6986)Patrick Cloke2020-03-041-24/+104
* | Validate the alt_aliases property of canonical alias events (#6971)Patrick Cloke2020-03-031-36/+30
|/
* Store room version on invite (#6983)Richard van der Hoff2020-02-261-0/+1
* Port PresenceHandler to async/await (#6991)Erik Johnston2020-02-261-6/+12
* Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Patrick Cloke2020-02-213-11/+11
* Refactor the membership check methods in AuthRichard van der Hoff2020-02-181-2/+2
* Stop sending events when creating or deleting aliases (#6904)Patrick Cloke2020-02-181-2/+152
* Convert the directory handler tests to use HomeserverTestCase (#6919)Patrick Cloke2020-02-141-24/+17
* Filter the results of user directory searching via the spam checker (#6888)Patrick Cloke2020-02-141-0/+92
* Reject device display names that are too long (#6882)Patrick Cloke2020-02-101-0/+18
* Add typing to synapse.federation.sender (#6871)Erik Johnston2020-02-071-2/+6
* Pass room_version into `event_from_pdu_json`Richard van der Hoff2020-02-061-2/+4
* Merge pull request #6806 from matrix-org/rav/redact_changes/3Richard van der Hoff2020-01-311-2/+2
|\
| * Store the room version in EventBuilderRichard van der Hoff2020-01-301-2/+2
* | s/get_room_version/get_room_version_id/Richard van der Hoff2020-01-311-1/+1
|/
* Resync remote device list when detected as stale. (#6786)Erik Johnston2020-01-301-3/+3
* Add `local_current_membership` table (#6655)Erik Johnston2020-01-151-2/+2
* Kill off RegistrationError (#6691)Richard van der Hoff2020-01-131-2/+0
* Add database config class (#6513)Erik Johnston2019-12-181-19/+20
* look up cross-signing keys from the DB in bulk (#6486)Hubert Chathi2019-12-121-8/+0
* Back out perf regression from get_cross_signing_keys_from_cache. (#6494)Neil Johnson2019-12-091-0/+8
* Merge pull request #6484 from matrix-org/erikj/port_sync_handlerErik Johnston2019-12-092-23/+34
|\
| * Fixup functions to consistently return deferredsErik Johnston2019-12-061-6/+18
| * Port SyncHandler to async/awaitErik Johnston2019-12-051-17/+16
* | Move background update handling out of storeErik Johnston2019-12-052-20/+48
* | Move DB pool and helper functions into dedicated Database classErik Johnston2019-12-052-21/+21
|/
* Remove underscore from SQLBaseStore functionsErik Johnston2019-12-042-21/+21
* Implementation of MSC2314 (#6176)Amber Brown2019-11-281-0/+3
* add etag and count to key backup endpoints (#5858)Hubert Chathi2019-11-271-0/+31
* Fix bug which caused rejected events to be stored with the wrong room state ...Richard van der Hoff2019-11-061-0/+126
* rename get_devices_by_remote to get_device_updates_by_remoteHubert Chathi2019-10-301-2/+2
* Port federation_server to async/awaitErik Johnston2019-10-291-0/+3
* Fix testsErik Johnston2019-10-251-0/+2
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/refactor_s...Erik Johnston2019-10-221-1/+294
|\
| * Merge branch 'develop' into cross-signing_sig_uploadHubert Chathi2019-10-186-59/+185
| |\
| * | use something that's the right type for user_idHubert Chathi2019-09-061-1/+1
| * | fix testHubert Chathi2019-09-051-1/+3
| * | add testHubert Chathi2019-09-041-0/+88
| * | make isort happyHubert Chathi2019-09-041-0/+1
| * | make black happyHubert Chathi2019-09-041-85/+62
| * | allow uploading signatures of master key signed by devicesHubert Chathi2019-09-041-1/+226
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/refactor_s...Erik Johnston2019-10-221-0/+65
|\ \ \ | | |/ | |/|
| * | Merge branch 'develop' into uhoreg/e2e_cross-signing_mergedHubert Chathi2019-10-186-59/+185
| |\ \ | | |/ | |/|
| * | Merge branch 'develop' into cross-signing_keysHubert Chathi2019-09-042-112/+533
| |\ \
| * | | fix formattingHubert Chathi2019-08-011-1/+3
| * | | Merge branch 'cross-signing_hidden' into cross-signing_keysHubert Chathi2019-08-011-2/+2
| |\ \ \
| * | | | allow uploading keys for cross-signingHubert Chathi2019-07-251-0/+63
* | | | | Move storage classes into a main "data store".Erik Johnston2019-10-211-4/+4
| |_|_|/ |/| | |
* | | | Fix presence timeouts when synchrotron restarts. (#6212)Erik Johnston2019-10-181-0/+39
* | | | Merge pull request #6189 from matrix-org/uhoreg/e2e_backup_optional_versionHubert Chathi2019-10-111-16/+31
|\ \ \ \
| * | | | change test name to be uniqueHubert Chathi2019-10-101-1/+1
| * | | | make version optional in body of e2e backup version updateHubert Chathi2019-10-091-16/+31
* | | | | Fix races in room stats (and other) updates. (#6187)Richard van der Hoff2019-10-101-1/+1
|/ / / /
* | | | Merge pull request #6147 from matrix-org/babolivier/3pid-invite-revokedBrendan Abolivier2019-10-041-0/+81
|\ \ \ \
| * | | | Lint (again)Brendan Abolivier2019-10-031-3/+1
| * | | | LintBrendan Abolivier2019-10-031-5/+5
| * | | | Add test caseBrendan Abolivier2019-10-031-0/+83
* | | | | Land improved room list based on room stats (#6019)Erik Johnston2019-10-021-39/+0
|/ / / /
* | | | Add 'failure_ts' column to 'destinations' table (#6016)Richard van der Hoff2019-09-171-1/+6
* | | | Only count real users when checking for auto-creation of auto-join roomJason Robinson2019-09-091-2/+27
| |_|/ |/| |
* | | Fix and refactor room and user stats (#5971)Erik Johnston2019-09-041-111/+532
* | | Remove unnecessary parentheses around return statements (#5931)Andrew Morgan2019-08-301-1/+1
| |/ |/|
* | Remove non-functional 'expire_access_token' setting (#5782)Richard van der Hoff2019-07-301-1/+1
* | Replace returnValue with return (#5736)Amber Brown2019-07-231-1/+1
|/
* Merge pull request #5589 from matrix-org/erikj/admin_exfiltrate_dataErik Johnston2019-07-151-0/+210
|\
| * Fixup from review comments.Erik Johnston2019-07-041-5/+5
| * Add basic function to get all data for a user out of synapseErik Johnston2019-07-021-0/+210
* | Implement access token expiry (#5660)Richard van der Hoff2019-07-122-6/+19
* | Remove access-token support from RegistrationStore.register (#5642)Richard van der Hoff2019-07-102-16/+6
* | Remove access-token support from RegistrationHandler.register (#5641)Richard van der Hoff2019-07-081-25/+28
* | Move get_or_create_user to test code (#5628)Richard van der Hoff2019-07-081-9/+59
|/
* Run Black. (#5482)Amber Brown2019-06-207-51/+45
* Fix background updates to handle redactions/rejections (#5352)Erik Johnston2019-06-061-3/+59
* Room Statistics (#4338)Amber Brown2019-05-211-0/+251
* Limit UserIds to a length that fits in a state key (#5198)ReidAnderson2019-05-201-0/+7
* Migrate all tests to use the dict-based config format instead of hanging item...Amber Brown2019-05-132-4/+8
* Run Black on the tests again (#5170)Amber Brown2019-05-105-262/+213
* Add admin api for sending server_notices (#5121)Richard van der Hoff2019-05-021-2/+2
* Move admin api impl to its own packageRichard van der Hoff2019-05-011-3/+4
* Fix grammar and document get_current_users_in_room (#4998)Andrew Morgan2019-04-031-2/+2
* Review commentsErik Johnston2019-03-281-5/+9
* Add unit testsErik Johnston2019-03-271-1/+171
* Make federation endpoints more tolerant of trailing slashes v2 (#4935)Andrew Morgan2019-03-261-3/+3
* Some more porting to HomeserverTestCase and remove old RESTHelper (#4913)Amber Brown2019-03-221-66/+58
* Remove trailing slashes from outbound federation requests and retry on 400 (#...Andrew Morgan2019-03-211-0/+2
|\
| * Switch to wrapper function around _send_requestAndrew Morgan2019-03-131-2/+2
| * Correct argument nameAndrew Morgan2019-03-121-2/+2
| * Cleaner way of implementing trailing slashesAndrew Morgan2019-03-121-2/+4
| * and againAndrew Morgan2019-03-111-1/+1
| * Fix syntax errorAndrew Morgan2019-03-111-1/+1
| * We're calling different functions nowAndrew Morgan2019-03-111-2/+2
* | Merge pull request #4896 from matrix-org/erikj/disable_room_directoryErik Johnston2019-03-211-1/+58
|\ \
| * | Add testErik Johnston2019-03-201-1/+58
* | | Add testErik Johnston2019-03-201-0/+52
|/ /
* | Fix RegistrationTestCaseRichard van der Hoff2019-03-191-2/+9
* | fix test_auto_create_auto_join_where_no_consent (#4886)Neil Johnson2019-03-191-2/+22
* | Migrate the user directory initial population to a background task (#4864)Amber Brown2019-03-191-35/+74
* | Revert "Make federation endpoints more tolerant of trailing slashes for some ...Erik Johnston2019-03-141-3/+3
* | Merge pull request #4846 from matrix-org/hawkowl/userdir-searchErik Johnston2019-03-141-13/+18
|\ \ | |/ |/|
| * fixupAmber Brown2019-03-131-20/+1
| * fixupAmber Brown2019-03-121-16/+20
| * fixesAmber Brown2019-03-121-4/+12
| * initialAmber Brown2019-03-111-0/+12
* | Make federation endpoints more tolerant of trailing slashes for some endpoint...Andrew Morgan2019-03-111-3/+3
|/
* Rewrite userdir to be faster (#4537)Amber Brown2019-03-071-41/+225
* Add rate-limiting on registration (#4735)Brendan Abolivier2019-03-051-2/+2
* Update test_typing to use HomeserverTestCase. (#4771)Richard van der Hoff2019-03-041-157/+133
* Fix registration on workers (#4682)Erik Johnston2019-02-201-1/+1
* Add configurable room list publishing rulesErik Johnston2019-02-141-0/+1
* make sure version is in body and wrap in linearizer queueHubert Chathi2019-02-081-0/+72
* create support user (#4141)Neil Johnson2018-12-142-2/+119
* Rip out half-implemented m.login.saml2 support (#4265)Richard van der Hoff2018-12-061-15/+0
* Neilj/fix autojoin (#4223)Neil Johnson2018-11-281-1/+11
* handle empty backups according to latest spec proposal (#4123)Hubert Chathi2018-11-051-42/+37
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/alias_disa...Erik Johnston2018-10-251-19/+56
|\
| * Merge branch 'develop' of github.com:matrix-org/synapse into matthew/autocrea...Neil Johnson2018-10-252-0/+436
| |\
| * | improve auto room join logic, comments and testsNeil Johnson2018-10-121-4/+17
| * | move logic into register, fix room alias localpart bug, testsNeil Johnson2018-10-041-19/+43
* | | Use allow/denyErik Johnston2018-10-251-1/+1
* | | Add tests for alias creation rulesErik Johnston2018-10-191-0/+48
| |/ |/|
* | Fix roomlist since tokens on Python 3 (#4046)Will Hunt2018-10-171-0/+39
* | Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backupsDavid Baker2018-10-092-81/+83
|\|
| * Port tests/ to Python 3 (#3808)Amber Brown2018-09-071-3/+1
| * Merge branch 'master' into developRichard van der Hoff2018-09-061-11/+8
| |\
| | * Fix origin handling for pushed transactionsRichard van der Hoff2018-09-051-11/+8
| * | Fix tests on postgresql (#3740)Amber Brown2018-09-041-68/+75
* | | try to make flake8 and isort happyHubert Chathi2018-09-061-4/+5
* | | update to newer Synapse APIsHubert Chathi2018-08-241-0/+1
* | | Merge branch 'develop' into e2e_backupsHubert Chathi2018-08-2410-469/+514
|\| |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/server_not...Erik Johnston2018-08-221-2/+2
| |\ \
| | * \ Merge pull request #3659 from matrix-org/erikj/split_profilesErik Johnston2018-08-221-2/+2
| | |\ \ | | | |/ | | |/|
| | | * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_prof...Erik Johnston2018-08-1710-428/+475
| | | |\
| | | * | Split ProfileHandler into master and workerErik Johnston2018-08-171-2/+2
| * | | | rename error codeNeil Johnson2018-08-181-2/+2
| |/ / /
| * | / add new error type ResourceLimitNeil Johnson2018-08-163-15/+15
| | |/ | |/|
| * | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/fix_off_by...Neil Johnson2018-08-151-2/+2
| |\ \
| | * | update error codesNeil Johnson2018-08-151-2/+2
| | * | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/admin_emailNeil Johnson2018-08-141-0/+71
| | |\ \
| * | \ \ Merge branch 'develop' of github.com:matrix-org/synapse into neilj/fix_off_by...Neil Johnson2018-08-141-1/+1
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | fix setup_test_homeserver to be postgres compatibleNeil Johnson2018-08-141-1/+1
| | * | | Merge pull request #3670 from matrix-org/neilj/mau_sync_blockNeil Johnson2018-08-141-0/+71
| | |\ \ \
| * | | | | fix off by 1 errorsNeil Johnson2018-08-142-3/+14
| * | | | | support admin_email config and pass through into blocking errors, return Auth...Neil Johnson2018-08-141-4/+4
| * | | | | fix off by 1s on mauNeil Johnson2018-08-142-5/+48
| * | | | | Merge branch 'neilj/admin_email' of github.com:matrix-org/synapse into neilj/...Neil Johnson2018-08-141-4/+4
| |\ \ \ \ \ | | | |_|/ / | | |/| | |
| | * | | | support admin_email config and pass through into blocking errors, return Auth...Neil Johnson2018-08-131-4/+4
| | |/ / /
| * | | | Merge branch 'neilj/mau_sync_block' of github.com:matrix-org/synapse into nei...Neil Johnson2018-08-141-0/+71
| |\ \ \ \ | | |/ / / | |/| / / | | |/ /
| | * | fix importsNeil Johnson2018-08-091-1/+1
| | * | only block on sync where user is not part of the mau cohortNeil Johnson2018-08-091-9/+31
| | * | block sync if auth checks failNeil Johnson2018-08-091-6/+13
| | * | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_sync_b...Neil Johnson2018-08-091-1/+3
| | |\|
| | * | sync auth blockingNeil Johnson2018-08-081-0/+42
| * | | Revert "support admin_email config and pass through into blocking errors, ret...Neil Johnson2018-08-131-4/+4
| * | | support admin_email config and pass through into blocking errors, return Auth...Neil Johnson2018-08-131-4/+4
| * | | Run tests under PostgreSQL (#3423)Amber Brown2018-08-137-3/+7
| * | | Run black.black2018-08-109-420/+338
| | |/ | |/|
| * | Test fixes for Python 3 (#3647)Amber Brown2018-08-091-1/+3
| |/
| * bug fixesNeil Johnson2018-08-031-1/+0
| * do mau checks based on monthly_active_users tableNeil Johnson2018-08-022-41/+38
* | 404 nicely if you try to interact with a missing current versionMatthew Hodgson2018-08-121-0/+22
* | flake8Matthew Hodgson2018-08-121-8/+13
* | implement remaining tests and make them workMatthew Hodgson2018-08-121-25/+251
* | lintingMatthew Hodgson2018-08-121-25/+23
* | fix idiocies and so make tests passMatthew Hodgson2018-08-121-8/+11
* | first cut at a UTMatthew Hodgson2018-08-121-0/+141
|/
* fix test for py3Neil Johnson2018-08-011-0/+4
* Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_sign_i...Neil Johnson2018-08-011-1/+0
|\
| * Remove pdu_failures from transactionsTravis Ralston2018-07-301-1/+0
* | make count_monthly_users async synapse/handlers/auth.pyNeil Johnson2018-08-012-21/+28
* | coding styleNeil Johnson2018-07-311-2/+2
* | limit register and sign in on number of monthly usersNeil Johnson2018-07-302-1/+97
|/
* run isortAmber Brown2018-07-099-25/+40
* Fix testsErik Johnston2018-04-111-0/+1
* s/replication_client/federation_client/Erik Johnston2018-03-133-3/+3
* s/replication_server/federation_serverErik Johnston2018-03-131-1/+1
* Fix testsErik Johnston2018-03-134-4/+5
* Fix testsErik Johnston2018-03-132-10/+8
* Remove spurious unittest.DEBUGRichard van der Hoff2018-01-261-1/+0
* try make tests work a bit more...Matthew Hodgson2017-12-041-0/+12
* erik told me toMatthew Hodgson2017-12-041-1/+1