summary refs log tree commit diff
path: root/tests/storage (follow)
Commit message (Expand)AuthorAgeFilesLines
* Clean up tests.storage.test_appservice (#11492)reivilibre2021-12-021-177/+168
* Clean up `tests.storage.test_main` to remove use of legacy code. (#11493)reivilibre2021-12-021-17/+10
* Add type annotations to `tests.storage.test_appservice`. (#11488)reivilibre2021-12-021-48/+92
* Add a license header and comment. (#11479)Patrick Cloke2021-12-011-0/+15
* Make background updates controllable via a plugin (#11306)Erik Johnston2021-11-293-16/+97
* Track ongoing event fetches correctly (again) (#11376)Sean Quah2021-11-261-1/+138
* Improve performance of `remove_{hidden,deleted}_devices_from_device_inbox` (#...Brendan Abolivier2021-11-251-2/+2
* Lower minumum batch size to 1 for background updates (#11422)Brendan Abolivier2021-11-241-4/+4
* Fix incorrect return value in tests. (#11359)Patrick Cloke2021-11-161-1/+1
* Merge tag 'v1.47.0rc3' into developDavid Robertson2021-11-161-1/+51
|\
| * Run _upgrade_existing_database on workers if at current schema_version (#11346)Andrew Morgan2021-11-151-1/+51
* | Database storage profile passes mypy (#11342)David Robertson2021-11-151-3/+6
* | Change display names/avatar URLs to None if they contain null bytes before st...Shay2021-11-121-0/+48
* | Support filtering by relations per MSC3440 (#11236)Patrick Cloke2021-11-091-0/+207
|/
* Fix rolling back when using workers (#11255)Erik Johnston2021-11-051-0/+69
* Delete messages for hidden devices from `device_inbox` (#11199)Dirk Klimpel2021-11-021-0/+74
* Test that `ClientIpStore` combines database and in-memory data correctly (#11...Sean Quah2021-11-011-0/+206
* Delete messages from `device_inbox` table when deleting device (#10969)Dirk Klimpel2021-10-271-0/+90
* Correctly exclude users when making a room public or private (#11075)David Robertson2021-10-151-44/+33
* Stop user directory from failing if it encounters users not in the `users` ta...David Robertson2021-10-133-3/+570
* Require direct references to configuration variables. (#10985)Patrick Cloke2021-10-062-2/+2
* Don't drop user dir deltas when server leaves room (#10982)David Robertson2021-10-066-60/+10
* Fix potential leak of per-room profiles when the user dir is rebuilt. (#10981)David Robertson2021-10-051-16/+78
* Merge tag 'v1.44.0rc3' into developBrendan Abolivier2021-10-041-0/+34
|\
| * Fix error in `get_user_ip_and_agents` when fetching from the database (#10968)Sean Quah2021-10-011-0/+34
* | Consistently exclude from user_directory (#10960)David Robertson2021-10-041-2/+144
* | Refactor user directory tests (#10935)David Robertson2021-09-301-4/+188
* | Use direct references for configuration variables (part 6). (#10916)Patrick Cloke2021-09-291-7/+7
|/
* Use direct references for configuration variables (part 4). (#10893)Patrick Cloke2021-09-231-1/+0
* Use direct references for some configuration variables (part 3) (#10885)Patrick Cloke2021-09-232-10/+6
* Treat "\u0000" as "\u0020" for the purposes of message search (message indexi...Hillery Shay2021-09-221-0/+74
* Make StateFilter frozen so we can hash it (#10816)reivilibre2021-09-141-17/+29
* Skip handling of push actions for outlier events (#10780)Erik Johnston2021-09-081-0/+1
* Populate `rooms.creator` field for easy lookup (#10697)Eric Eastwood2021-09-011-0/+98
* Flatten the synapse.rest.client package (#10600)reivilibre2021-08-177-7/+7
* Improve event caching code (#10119)Erik Johnston2021-08-041-0/+50
* Fix codestyle CI from #10440 (#10511)reivilibre2021-08-021-1/+1
* Prune inbound federation queues if they get too long (#10390)Erik Johnston2021-08-021-0/+57
* Allow setting transaction limit for db connections (#10440)Toni Spets2021-08-021-0/+36
* Update the MSC3083 support to verify if joins are from an authorized server. ...Patrick Cloke2021-07-261-3/+3
* Fix dropping locks on shut down (#10433)Erik Johnston2021-07-201-0/+13
* Use inline type hints in `tests/` (#10350)Jonathan de Jong2021-07-132-6/+4
* [pyupgrade] `tests/` (#10347)Jonathan de Jong2021-07-134-13/+5
* Add a distributed lock (#10269)Erik Johnston2021-06-291-0/+100
* Add endpoints for backfilling history (MSC2716) (#9247)Eric Eastwood2021-06-221-2/+11
* update black to 21.6b0 (#10197)Marcus2021-06-171-1/+1
* add a cache to have_seen_event (#9953)Richard van der Hoff2021-06-013-0/+122
* Don't hammer the database for destination retry timings every ~5mins (#10036)Erik Johnston2021-05-211-2/+6
* Reorganise the database schema directories (#9932)Richard van der Hoff2021-05-071-3/+1
* Remove various bits of compatibility code for Python <3.6 (#9879)Andrew Morgan2021-04-271-1/+2
* Fix (final) Bugbear violations (#9838)Jonathan de Jong2021-04-201-2/+2
* Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong2021-04-1429-29/+0
* Use mock from the stdlib. (#9772)Patrick Cloke2021-04-097-11/+7
* Remove old admin API `GET /_synapse/admin/v1/users/<user_id>` (#9401)Dirk Klimpel2021-04-091-2/+2
* Bugbear: Add Mutable Parameter fixes (#9682)Jonathan de Jong2021-04-082-8/+16
* Merge remote-tracking branch 'origin/develop' into rav/drop_py35Richard van der Hoff2021-04-0810-499/+264
|\
| * Convert storage test cases to HomeserverTestCase. (#9736)Patrick Cloke2021-04-0610-499/+264
* | remove unused param on `make_tuple_comparison_clause`Richard van der Hoff2021-04-081-2/+1
* | Drop support for sqlite<3.22 as wellRichard van der Hoff2021-04-081-11/+1
|/
* Add type hints to DictionaryCache and TTLCache. (#9442)Patrick Cloke2021-03-291-14/+8
* Use the chain cover index in get_auth_chain_ids. (#9576)Patrick Cloke2021-03-101-3/+73
* Add a basic test for purging rooms. (#9541)Patrick Cloke2021-03-081-26/+45
* Add the shadow-banning status to the display user admin API. (#9400)Dirk Klimpel2021-02-171-0/+1
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-1612-47/+89
* Allow moving account data and receipts streams off master (#9104)Erik Johnston2021-01-181-6/+106
* Make chain cover index bg update go faster (#9124)Erik Johnston2021-01-151-31/+186
* Add background update for add chain cover index (#9029)Erik Johnston2021-01-141-0/+114
* Remove user's avatar URL and displayname when deactivated. (#8932)Dirk Klimpel2021-01-121-0/+26
* Use a chain cover index to efficiently calculate auth chain difference (#8868)Erik Johnston2021-01-112-24/+697
* Improve the performance of calculating ignored users in large rooms (#9024)Patrick Cloke2021-01-071-0/+120
* Try and drop stale extremities. (#8929)Erik Johnston2020-12-181-0/+334
* Use the simple dictionary in full text search for the user directory (#8959)Brendan Abolivier2020-12-171-0/+23
* Make search statement in List Room and User Admin API case-insensitive (#8931)Dirk Klimpel2020-12-171-0/+7
* Add number of local devices to Room Details Admin API (#8886)Dirk Klimpel2020-12-111-0/+26
* Pass room_id to get_auth_chain_difference (#8879)Erik Johnston2020-12-041-8/+10
* Remove redundant mockingRichard van der Hoff2020-12-022-16/+3
* Apply an IP range blacklist to push and key revocation requests. (#8821)Patrick Cloke2020-12-024-4/+4
* Correctly handle unpersisted events when calculating auth chain difference. (...Erik Johnston2020-12-021-0/+5
* Remove deprecated `/_matrix/client/*/admin` endpoints (#8785)Dirk Klimpel2020-11-251-1/+1
* Merge pull request #8761 from matrix-org/rav/test_request_renderingRichard van der Hoff2020-11-171-2/+1
|\
| * Remove redundant calls to `render()`Richard van der Hoff2020-11-161-2/+1
* | Add admin API for logging in as a user (#8617)Erik Johnston2020-11-171-30/+0
|/
* fixup testRichard van der Hoff2020-11-161-0/+1
* Add a `custom_headers` param to `make_request` (#8760)Richard van der Hoff2020-11-161-6/+7
* Add ability for access tokens to belong to one user but grant access to anoth...Erik Johnston2020-10-291-6/+4
* Tell Black to format code for Python 3.5 (#8664)Dan Callahan2020-10-271-1/+1
* Fix get|set_type_stream_id_for_appservice store functions (#8648)Will Hunt2020-10-261-0/+56
* Don't instansiate Requester directly (#8614)Erik Johnston2020-10-223-7/+7
* Combine the two sets of tests for CacheDescriptorRichard van der Hoff2020-10-211-228/+0
* Send some ephemeral events to appservices (#8437)Will Hunt2020-10-151-4/+4
* Merge pull request #8548 from matrix-org/rav/deferred_cacheRichard van der Hoff2020-10-151-72/+1
|\
| * Combine the two sets of DeferredCache testsRichard van der Hoff2020-10-141-72/+0
| * move DeferredCache into its own moduleRichard van der Hoff2020-10-141-1/+2
| * Rename Cache->DeferredCacheRichard van der Hoff2020-10-141-5/+5
* | Simplify `_locally_reject_invite`Richard van der Hoff2020-10-131-2/+2
|/
* Make event persisters periodically announce position over replication. (#8499)Erik Johnston2020-10-121-9/+16
* Reduce serialization errors in MultiWriterIdGen (#8456)Erik Johnston2020-10-071-0/+1
* Add logging on startup/shutdown (#8448)Erik Johnston2020-10-021-5/+9
* Make token serializing/deserializing async (#8427)Erik Johnston2020-09-301-3/+6
* Rewrite BucketCollectorRichard van der Hoff2020-09-301-8/+11
* Various clean ups to room stream tokens. (#8423)Erik Johnston2020-09-291-6/+4
* Don't table scan events on worker startup (#8419)Erik Johnston2020-09-291-0/+18
* Filter out appservices from mau count (#8404)Will Hunt2020-09-291-1/+16
* Add checks for postgres sequence consistency (#8402)Erik Johnston2020-09-281-3/+19
* Fix MultiWriteIdGenerator's handling of restarts. (#8374)Erik Johnston2020-09-241-8/+111
* Use `async with` for ID gens (#8383)Erik Johnston2020-09-231-25/+41
* Simplify super() calls to Python 3 syntax. (#8344)Patrick Cloke2020-09-182-2/+2
* Fix `MultiWriterIdGenerator.current_position`. (#8257)Erik Johnston2020-09-081-0/+50
* Allow for make_awaitable's return value to be re-used. (#8261)Patrick Cloke2020-09-082-13/+5
* Stop sub-classing object (#8249)Patrick Cloke2020-09-041-9/+9
* Re-implement unread counts (again) (#8059)Brendan Abolivier2020-09-021-2/+6
* Make MultiWriterIDGenerator work for streams that use negative stream IDs (#8...Erik Johnston2020-09-011-0/+105
* Rename `get_e2e_device_keys` to better reflect its purpose (#8205)Richard van der Hoff2020-08-291-3/+5
* Do not yield on awaitables in tests. (#8193)Patrick Cloke2020-08-277-68/+143
* Convert stats and related calls to async/await (#8192)Patrick Cloke2020-08-271-3/+2
* Convert simple_delete to async/await. (#8191)Patrick Cloke2020-08-271-2/+4
* Fix missing _add_persisted_position (#8179)Erik Johnston2020-08-271-3/+49
* Convert additional database methods to async (select list, search, insert_man...Patrick Cloke2020-08-272-5/+6
* Convert simple_update* and simple_select* to async (#8173)Patrick Cloke2020-08-273-12/+24
* Reduce run-times of tests by advancing the reactor less (#7757)Andrew Morgan2020-08-272-4/+4
* Convert simple_select_one and simple_select_one_onecol to async (#8162)Patrick Cloke2020-08-265-25/+56
* Add functions to `MultiWriterIdGen` used by events stream (#8164)Erik Johnston2020-08-251-0/+36
* Don't fail /submit_token requests on incorrect session ID if request_token_in...Brendan Abolivier2020-08-241-0/+31
* Switch the JSON byte producer from a pull to a push producer. (#8116)Patrick Cloke2020-08-191-1/+2
* Separate `get_current_token` into two. (#8113)Erik Johnston2020-08-191-8/+8
* Convert events worker database to async/await. (#8071)Patrick Cloke2020-08-181-1/+2
* Convert some of the general database methods to async (#8100)Patrick Cloke2020-08-175-27/+41
* Convert stream database to async/await. (#8074)Patrick Cloke2020-08-171-33/+16
* Add a shadow-banned flag to users. (#8092)Patrick Cloke2020-08-143-4/+4
* Convert devices database to async/await. (#8069)Patrick Cloke2020-08-122-22/+38
* Convert appservice, group server, profile and more databases to async (#8066)Patrick Cloke2020-08-121-12/+12
* Converts event_federation and registration databases to async/await (#8061)Patrick Cloke2020-08-112-8/+18
* Add an assertion on prev_events in create_new_client_event (#8041)Richard van der Hoff2020-08-101-0/+4
* Convert directory, e2e_room_keys, end_to_end_keys, monthly_active_users datab...Patrick Cloke2020-08-073-17/+44
* Convert additional database stores to async/await (#8045)Patrick Cloke2020-08-071-2/+2
* Rename database classes to make some sense (#8033)Erik Johnston2020-08-0512-75/+79
* Convert some of the data store to async. (#7976)Patrick Cloke2020-07-303-19/+29
* Convert storage layer to async/await. (#7963)Patrick Cloke2020-07-283-29/+49
* Convert a synapse.events to async/await. (#7949)Patrick Cloke2020-07-271-1/+3
* Convert push to async/await. (#7948)Patrick Cloke2020-07-271-2/+4
* Convert state resolution to async/await (#7942)Patrick Cloke2020-07-241-2/+6
* Convert the message handler to async/await. (#7884)Patrick Cloke2020-07-222-26/+34
* Add delete room admin endpoint (#7613)Dirk Klimpel2020-07-141-0/+8
* Add `HomeServer.signing_key` property (#7805)Richard van der Hoff2020-07-081-5/+2
* Back out MSC2625 implementation (#7761)Brendan Abolivier2020-07-011-29/+16
* Remove debug loggingBrendan Abolivier2020-06-121-2/+0
* Test that a mark_unread action updates the right counterBrendan Abolivier2020-06-121-5/+16
* Fix testsBrendan Abolivier2020-06-101-14/+18
* Replace instances of reactor pumping with get_success. (#7619)Andrew Morgan2020-06-031-118/+149
* Optimise some references to hs.config (#7546)Richard van der Hoff2020-05-222-58/+65
* Add ability to wait for replication streams (#7542)Erik Johnston2020-05-222-3/+3
* Merge tag 'v1.13.0rc2' into developRichard van der Hoff2020-05-141-1/+49
|\
| * Stop `get_joined_users` corruption from custom statuses (#7376)Richard van der Hoff2020-05-141-1/+49
* | Shuffle persist event data store functions. (#7440)Erik Johnston2020-05-131-1/+2
* | Allow configuration of Synapse's cache without using synctl or environment va...Amber Brown2020-05-113-10/+11
* | Add room details admin endpoint (#7317)Manuel Stahl2020-05-071-0/+11
* | Add MultiWriterIdGenerator. (#7281)Erik Johnston2020-05-041-0/+184
|/
* Return total number of users and profile attributes in admin users endpoint (...Manuel Stahl2020-04-281-0/+46
* bg update to clear out duplicate outbound_device_list_pokes (#7193)Richard van der Hoff2020-04-071-0/+52
* Make do_next_background_update return a boolRichard van der Hoff2020-03-311-3/+3
* Make `has_completed_background_updates` asyncRichard van der Hoff2020-03-311-1/+3
* Remove unused `start_background_update`Richard van der Hoff2020-03-311-5/+9
* Change device list streams to have one row per ID (#7010)Erik Johnston2020-03-191-45/+0
|\
| * Remove handling of multiple rows per IDErik Johnston2020-02-281-45/+0
* | Improve get auth chain difference algorithm. (#7095)Erik Johnston2020-03-181-17/+140
* | Break down monthly active users by appservice_id (#7030)Neil Johnson2020-03-061-0/+42
|/
* Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Patrick Cloke2020-02-215-46/+42
* Replace _event_dict_property with DictPropertyRichard van der Hoff2020-02-141-1/+1
* Add typing to SyncHandler (#6821)Erik Johnston2020-02-031-1/+4
* Type defintions for use in refactoring for redaction changes (#6803)Richard van der Hoff2020-01-301-4/+11
* Add `rooms.room_version` column (#6729)Erik Johnston2020-01-272-2/+10
* Make 'event.redacts' never raise. (#6771)Erik Johnston2020-01-231-0/+35
* Add `local_current_membership` table (#6655)Erik Johnston2020-01-151-1/+1
* Allow admin users to create or modify users without a shared secret (#6495)Manuel Stahl2020-01-091-0/+2
* port BackgroundUpdateTestCase to HomeserverTestCase (#6653)Richard van der Hoff2020-01-071-35/+37
* Remove unused get_prev_events_and_hashes_for_roomRichard van der Hoff2020-01-061-13/+6
* rename get_prev_events_for_room to get_prev_events_and_hashes_for_roomRichard van der Hoff2020-01-061-2/+2
* Split state groups into a separate data store (#6296)Erik Johnston2019-12-201-1/+1
* Add database config class (#6513)Erik Johnston2019-12-183-18/+34
* Fix race which caused deleted devices to reappear (#6514)Richard van der Hoff2019-12-101-20/+29
* Fixup testsErik Johnston2019-12-064-11/+11
* Change DataStores to accept 'database' param.Erik Johnston2019-12-061-2/+3
* Move background update handling out of storeErik Johnston2019-12-054-25/+59
* Move DB pool and helper functions into dedicated Database classErik Johnston2019-12-0510-41/+43
* Remove underscore from SQLBaseStore functionsErik Johnston2019-12-046-24/+24
* Implementation of MSC2314 (#6176)Amber Brown2019-11-281-25/+1
* add etag and count to key backup endpoints (#5858)Hubert Chathi2019-11-271-4/+4
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_purg...Erik Johnston2019-11-041-7/+9
|\
| * Merge branch 'develop' into cross-signing_federationHubert Chathi2019-10-311-48/+102
| |\
| * | rename get_devices_by_remote to get_device_updates_by_remoteHubert Chathi2019-10-301-6/+6
| * | Merge branch 'develop' into cross-signing_federationHubert Chathi2019-10-306-9/+88
| |\ \
| * \ \ Merge branch 'develop' into cross-signing_federationHubert Chathi2019-10-244-3/+5
| |\ \ \
| * | | | fix unit testHubert Chathi2019-10-221-1/+3
* | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_purg...Erik Johnston2019-10-311-48/+102
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | Port to use state storageErik Johnston2019-10-301-48/+102
| | |_|/ | |/| |
* / | | Split purge API into events vs stateErik Johnston2019-10-301-7/+8
|/ / /
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_out_...Erik Johnston2019-10-302-1/+76
|\ \ \
| * | | Make ObservableDeferred.observe() always return deferred.Erik Johnston2019-10-301-1/+1
| * | | remove unneeded importsHubert Chathi2019-10-251-3/+1
| * | | switch to using HomeserverTestCaseHubert Chathi2019-10-251-19/+25
| * | | remove some unnecessary linesHubert Chathi2019-10-241-5/+0
| * | | delete keys when deleting backupsHubert Chathi2019-10-241-0/+76
| | |/ | |/|
* / | Use new EventPersistenceStoreErik Johnston2019-10-234-8/+12
|/ /
* / Move storage classes into a main "data store".Erik Johnston2019-10-214-3/+5
|/
* Merge pull request #6193 from matrix-org/uhoreg/interpret_device_key_in_storageHubert Chathi2019-10-111-6/+6
|\
| * make storage layer in charge of interpreting the device key dataHubert Chathi2019-10-101-6/+6
* | Fix MAU reaping where reserved users are specified. (#6168)Neil Johnson2019-10-111-9/+49
* | Fix postgres unit testsErik Johnston2019-10-101-1/+1
|/
* Merge pull request #6146 from matrix-org/erikj/fix_destination_retry_timingsErik Johnston2019-10-021-0/+11
|\
| * Fix errors storing large retry intervals.Erik Johnston2019-10-021-0/+11
* | Fix fetching censored redactions from DBErik Johnston2019-10-021-0/+36
|/
* Fix dummy event insertion consent bug (#6053)Neil Johnson2019-09-262-9/+178
* Test that pruning of old user IPs worksErik Johnston2019-09-241-0/+71
* Test background updateErik Johnston2019-09-231-0/+79
* Query devices table for last seen info.Erik Johnston2019-09-231-1/+0
* Add 'failure_ts' column to 'destinations' table (#6016)Richard van der Hoff2019-09-171-3/+5
* Merge pull request #5934 from matrix-org/erikj/censor_redactionsErik Johnston2019-09-091-1/+76
|\
| * Fix testErik Johnston2019-09-051-1/+3
| * Make redaction retention period configurableErik Johnston2019-09-051-1/+3
| * Censor redactions in DB after a monthErik Johnston2019-08-301-0/+71
* | Servers-known-about statistic (#5981)Amber Brown2019-09-071-37/+89
|/
* Fix registration testHalf-Shot2019-08-231-0/+1
* Merge pull request #5788 from matrix-org/rav/metaredactionsRichard van der Hoff2019-08-121-0/+70
|\
| * Handle loops in redaction eventsRichard van der Hoff2019-07-301-0/+70
* | Merge pull request #5746 from matrix-org/erikj/test_bg_update_currnet_stateErik Johnston2019-07-301-1/+36
|\ \ | |/ |/|
| * Add unit test for current state membership bg updateErik Johnston2019-07-231-1/+36
* | Convert RedactionTestCase to modern test style (#5768)Richard van der Hoff2019-07-261-36/+38
* | Replace returnValue with return (#5736)Amber Brown2019-07-234-6/+6
|/
* Support Prometheus_client 0.4.0+ (#5636)Amber Brown2019-07-181-3/+1
* Implement access token expiry (#5660)Richard van der Hoff2019-07-121-3/+5
* Remove access-token support from RegistrationStore.register (#5642)Richard van der Hoff2019-07-103-41/+17
* Run Black. (#5482)Amber Brown2019-06-2011-72/+74
* Run as background process and fix commentsErik Johnston2019-06-191-1/+1
* Add experimental option to reduce extremities.Erik Johnston2019-06-181-0/+41
* Prometheus histograms are cumalativeErik Johnston2019-06-141-10/+10
* fix prometheus rendering errorAmber H. Brown2019-06-141-38/+23
* Expose statistics on extrems to prometheus (#5384)Amber Brown2019-06-132-79/+146
* Prevent multiple device list updates from breaking a batch send (#5156)Andrew Morgan2019-06-061-0/+69
* Set default room version to v4. (#5379)Neil Johnson2019-06-061-0/+6
* Add testErik Johnston2019-05-291-0/+248
* Store key validity time in the storage layerRichard van der Hoff2019-05-231-14/+30
* Rewrite store_server_verify_key to store several keys at once (#5234)Richard van der Hoff2019-05-231-14/+30
* Expose DataStore._get_events as get_events_as_listErik Johnston2019-05-141-1/+1
* Run Black on the tests again (#5170)Amber Brown2019-05-109-80/+44
* Add admin api for sending server_notices (#5121)Richard van der Hoff2019-05-021-1/+4
* Move admin api impl to its own packageRichard van der Hoff2019-05-011-2/+3
* Rewrite Datastore.get_server_verify_keysRichard van der Hoff2019-04-091-3/+50
* Rewrite test_keys as a HomeserverTestCaseRichard van der Hoff2019-04-081-19/+15
* Remove presence lists (#4989)Neil Johnson2019-04-031-118/+0
* Collect room-version variations into one place (#4969)Richard van der Hoff2019-04-013-8/+11