summary refs log tree commit diff
path: root/.dockerignore (unfollow)
Commit message (Expand)AuthorFilesLines
2022-10-141.69.0rc4 v1.69.0rc4Erik Johnston6-5/+23
2022-10-14Fix background update to use an index (#14181)Erik Johnston2-11/+52
2022-10-14Revert "Disable push of docker images"Erik Johnston1-1/+1
2022-10-14Fix docker workflowErik Johnston1-3/+5
2022-10-14Disable push of docker imagesErik Johnston1-1/+1
2022-10-13Fix docker build OOMing in CI for arm64 builds (#14173)Erik Johnston3-1/+11
2022-10-13Optimise the event_push_backfill_thread_id bg job (#14172)David Robertson2-2/+9
2022-10-12Fixup changelog v1.69.0rc3Erik Johnston1-6/+6
2022-10-121.69.0rc3Erik Johnston7-5/+24
2022-10-11Fix rotating existing notifications in push summary (#14138)Erik Johnston2-5/+16
2022-10-11Fallback if 'approved' isn't included in a registration replication request (...Brendan Abolivier2-1/+18
2022-10-11Fix pinning Rust deps in docker images (#14129)Erik Johnston3-1/+3
2022-10-07Unpin build-system requirements, but impose an upper-bound (#14085)David Robertson3-4/+10
2022-10-06Update 1.69.0rc2 changelog v1.69.0rc2Sean Quah1-2/+2
2022-10-06Replace incorrect 1.69.0rc3 version with 1.69.0rc2Sean Quah1-1/+1
2022-10-061.69.0rc3Sean Quah5-5/+10
2022-10-06Fix sending events into rooms with non-integer power levels (#14073)David Robertson4-1/+86
2022-10-06Pin build-system requirements (#14080)David Robertson2-1/+2
2022-10-06Deprecate the `generate_short_term_login_token` method in favor of an async `...Quentin Gliech3-0/+76
2022-10-061.69.0rc2Sean Quah4-4/+17
2022-10-05Fix backwards compatibility with upcoming threads schema changes. (#14045)Patrick Cloke2-11/+24
2022-10-04Update changelog v1.69.0rc1Sean Quah1-20/+18
2022-10-041.69.0rc1Sean Quah102-102/+111
2022-10-04Linkify config documentation. (#14003)Akshit Tyagi2-5/+8
2022-10-03Track when the pulled event signature fails (#13815)Eric Eastwood5-15/+140
2022-10-03Dependabot changelog: don't require a changelog in lintsDavid Robertson2-16/+7
2022-10-03Bump actions/upload-artifact from 2 to 3 (#14023)dependabot[bot]5-5/+6
2022-10-03Dependabot changelog: try using branch nameDavid Robertson1-2/+2
2022-10-03Clear out old rows from `event_push_actions_staging` (#14020)Erik Johnston5-1/+105
2022-10-03Announce that legacy metric names are deprecated, will be turned off by defau...reivilibre5-27/+64
2022-10-03Bump actions/cache from 2 to 3 (#13980)dependabot[bot]2-1/+2
2022-10-03Dependabot changelog: allow dependabot to trigger actionsDavid Robertson1-0/+3
2022-10-03Bump actions/download-artifact from 2 to 3 (#13979)dependabot[bot]2-1/+2
2022-10-03Do not return unspecced original_event field when using the stable /relations...Patrick Cloke4-17/+28
2022-10-03Bump docker/login-action from 1 to 2 (#13978)dependabot[bot]2-1/+2
2022-10-03Dependabot changelog: pass GITHUB_TOKEN to ghDavid Robertson1-0/+2
2022-10-03Dependabot changelogs: trigger CI explicitly (#14027)David Robertson4-4/+22
2022-10-03Bump docker/build-push-action from 2 to 3 (#14022)dependabot[bot]2-1/+2
2022-10-03More WIP dependabot changelog CIDavid Robertson1-1/+2
2022-10-03Bump docker/setup-qemu-action from 1 to 2 (#14019)dependabot[bot]2-1/+2
2022-10-03yet another attempt to make dependabot changelogs work (#14021)David Robertson2-0/+6
2022-10-03Bump docker/setup-buildx-action from 1 to 2 (#14015)dependabot[bot]3-2/+3
2022-10-03Fix bug where we didn't delete staging push actions (#14014)Erik Johnston2-1/+2
2022-10-03Try again to automate dependabot changelogs (#14017)David Robertson2-0/+7
2022-10-03Add query parameter `ts` to allow appservices set the `origin_server_ts` for ...lukasdenk4-15/+152
2022-10-03Fix twisted trunk mypy errors (#14012)David Robertson3-0/+7
2022-10-03Bump actions/checkout from 2 to 3 (#13982)dependabot[bot]6-32/+33
2022-10-03Add cache to `get_partial_state_servers_at_join` (#14013)Erik Johnston2-0/+8
2022-10-03Refactor `_get_e2e_device_keys_txn` to split large queries (#13956)Sean Quah3-29/+115
2022-10-03Change dependabot CL suffix (#14011)David Robertson2-1/+2
2022-10-03Protoype automatic changelogs for dependabot PRs (#13998)David Robertson2-0/+24
2022-10-03Always build Rust extension in release mode (#14009)Erik Johnston2-0/+4
2022-10-03Revert the general exception recording introduced in #13814 (#13969)Eric Eastwood2-10/+1
2022-09-30Fix `get_users_in_room` mis-use in `transfer_room_state_on_room_upgrade` (#13...Eric Eastwood2-2/+3
2022-09-30Clarifications in user directory for users who share rooms tracking (#13966)Eric Eastwood2-12/+25
2022-09-30Skip filtering during push if there are no push actions (#13992)Erik Johnston4-2/+12
2022-09-30Update mypy and mypy-zope, attempt 3 (#13993)David Robertson11-68/+61
2022-09-30Revert "Update mypy and mypy-zope (#13925)"David Robertson10-60/+67
2022-09-30Update mypy and mypy-zope (#13925)David Robertson10-67/+60
2022-09-30Enable dependabot updates (#13976)Richard van der Hoff2-0/+18
2022-09-30Speed up calculating push actions in large rooms (#13973)Erik Johnston3-12/+96
2022-09-30Discourage automatic replies to Synapse's emails (#13957)David Robertson2-0/+14
2022-09-30Add some cross references to worker documentation (#13974)Dirk Klimpel3-15/+28
2022-09-30Fix performance regression in `get_users_in_room` (#13972)Erik Johnston5-70/+98
2022-09-30Fix overflows in /messages backfill calculation (#13936)David Robertson3-41/+103
2022-09-30Add missing version information in the ModuleApi (#13947)Brendan Abolivier2-0/+5
2022-09-29Don't require `setuptools_rust` at runtime (#13952)David Robertson3-3/+35
2022-09-29Update UPSERT comment now that native upserts are the default (#13924)David Robertson2-10/+51
2022-09-29Implement push rule evaluation in Rust. (#13838)Erik Johnston14-403/+894
2022-09-29Optimise get_rooms_for_user (drop with_stream_ordering) (#13787)Nick Mills-Barrett7-75/+66
2022-09-29Allow admins to require a manual approval process before new accounts can be ...Brendan Abolivier21-34/+731
2022-09-29Explicit cast to enforce type hints. (#13939)Patrick Cloke2-4/+5
2022-09-29Expose MSC3882 only be under an unstable endpoint. (#13868)Hugh Nimmo-Smith3-8/+13
2022-09-29Clarify that a method returns only unthreaded receipts. (#13937)Patrick Cloke4-76/+47
2022-09-29Always send default and rule_id to clients (#13904)Nicolas Werner2-4/+3
2022-09-29Improve backfill robustness by trying more servers. (#13890)reivilibre2-2/+32
2022-09-28Handle local device list updates during partial join (#13934)Erik Johnston4-15/+141
2022-09-28Limit and filter the number of backfill points to get from the database (#13879)Eric Eastwood4-82/+198
2022-09-28Add upgrade notes for changes to receipts replication. (#13932)Patrick Cloke2-0/+13
2022-09-28Revert "Stop returning an unused column when handling new receipts. (#13933)"...Patrick Cloke2-3/+2
2022-09-28Stop returning an unused column when handling new receipts. (#13933)Patrick Cloke2-2/+3
2022-09-28Document that the 'auto_join_rooms' option works with Spaces (#13931)Andrew Morgan2-2/+6
2022-09-28Correct default number of bcrypt hash rounds in .1 man page (#13930)Andrew Morgan2-1/+2
2022-09-28Handle remote device list updates during partial join (#13913)Erik Johnston6-0/+170
2022-09-28fix: Push notifications for invite over federation (#13719)Kateřina Churanová8-23/+42
2022-09-28Add instruction for running unit tests in parallel (#13928)Ashish Kumar2-0/+7
2022-09-28Persist CreateRoom events to DB in a batch (#13800)Shay12-339/+563
2022-09-28Prepatory work for batching events to send (#13487)Shay5-108/+290
2022-09-27Fix `have_seen_event` cache not being invalidated (#13863)Eric Eastwood5-67/+165
2022-09-27Emphasize the right reasons to use `(room_id, event_id)` in a schema (#13915)Eric Eastwood2-15/+17
2022-09-27Add new columns tracking when we partial-joined (#13892)David Robertson4-3/+87
2022-09-27Support the stable dir parameter for /relations. (#13920)Patrick Cloke3-13/+18
2022-09-27Prioritize outbound to-device over device list updates (#13922)Erik Johnston2-13/+17
2022-09-27Update upgrade notes (#13923)David Robertson1-6/+23
2022-09-27Dockerfile for tests: align comments with current behavior (#13867)Mathieu Velten2-13/+10
2022-09-27Carry IdP Session IDs through user-mapping sessions. (#13839)Quentin Gliech2-0/+10
2022-09-27Handle the case of remote users leaving a partial join room for device lists ...Erik Johnston7-107/+85
2022-09-27Clarify who isn't affected by rust v1.68.0David Robertson1-2/+6
2022-09-27s/Synapse v1/Synapse 1/gDavid Robertson1-18/+18
2022-09-27tweak upgrade notesDavid Robertson1-3/+5
2022-09-27typo fixesDavid Robertson1-3/+3
2022-09-27`SQLite earlier than` -> `SQLite older than`David Robertson1-1/+1
2022-09-271.68.0David Robertson4-7/+20
2022-09-27Faster room joins: Fix spurious error when joining a room (#13872)Sean Quah2-3/+20
2022-09-26Complement image: propagate SIGTERM to all workers (#13914)Richard van der Hoff2-2/+31
2022-09-26Improve tests for get_unread_push_actions_for_user_in_range_*. (#13893)Patrick Cloke3-30/+97
2022-09-26Update the manpage documentation for the hash_password script (#13911)Andrew Morgan3-1/+9
2022-09-26Snapshot schema 72 (#13873)David Robertson13-22/+2165
2022-09-26typing: check origin server of typing event against room's servers (#13830)Mathieu Velten3-2/+10
2022-09-26Simplify cache invalidation after event persist txn (#13796)Nick Mills-Barrett4-119/+52
2022-09-26Update NixOS module URL (#13818)enterprisey2-1/+2
2022-09-26Correctly add Cargo.lock to sdsit (#13909)Erik Johnston2-1/+2
2022-09-26Correctly add Cargo.lock to sdsit (#13909)Erik Johnston2-1/+2
2022-09-26Fix mypy errors with latest canonicaljson (#13905)David Robertson3-6/+8
2022-09-23Only try to backfill event if we haven't tried before recently (#13635)Eric Eastwood4-48/+626
2022-09-23Faster room joins: Avoid blocking `/keys/changes` (#13888)Sean Quah3-3/+12
2022-09-23Fix access token leak to logs from proxyagent (#13855)Eric Eastwood2-1/+7
2022-09-23Update Cargo.lock file. (#13889)Patrick Cloke2-10/+153
2022-09-23Accept & store thread IDs for receipts (implement MSC3771). (#13782)Patrick Cloke17-41/+173
2022-09-23Send device list updates out to servers in partially joined rooms (#13874)Sean Quah4-2/+66
2022-09-23Faster Remote Room Joins: tell remote homeservers that we are unable to autho...reivilibre11-42/+58
2022-09-23Add comments to the Prometheus recording rules to make it clear which set of ...reivilibre2-7/+19
2022-09-23Move warnings up v1.68.0rc2Erik Johnston1-7/+7
2022-09-231.68.0rc2Erik Johnston7-5/+24
2022-09-22Raise issue if complement fails with latest deps (#13859)David Robertson2-1/+3
2022-09-22Fix the cross-link from register admin API to config docs. (#13870)Patrick Cloke2-1/+2
2022-09-22Properly paginate forward in the /relations API. (#13840)Patrick Cloke4-14/+60
2022-09-22Fix sdist to include rust build script (#13866)Erik Johnston2-0/+2
2022-09-21Last batch of Pydantic for synapse/rest/client/account.py (#13832)David Robertson2-6/+14
2022-09-21Add version flag for MSC3881 (#13860)Brendan Abolivier2-0/+3
2022-09-21Track device IDs for pushers (#13831)Brendan Abolivier7-10/+154
2022-09-21Implementation of MSC3882 login token request (#13722)Hugh Nimmo-Smith6-0/+238
2022-09-21Add `worker_main_http_uri` to the contrib bash script (#13772)villepeh2-1/+4
2022-09-21Support enabling/disabling pushers (from MSC3881) (#13799)Brendan Abolivier15-71/+294
2022-09-21Add cache invalidation across workers to module API (#13667)Mathieu Velten7-21/+153
2022-09-21Correct documentation for map_user_attributes of OpenID Mapping Providers (#1...Peter Scheu3-3/+13
2022-09-21Fix the release script not publishing binary wheels. (#13850)reivilibre2-11/+35
2022-09-21Improve the `synapse.api.auth.Auth` mock used in unit tests. (#13809)Quentin Gliech2-26/+11
2022-09-21Lock rust dependencies (#13858)Erik Johnston4-1/+328
2022-09-21Fix the release script not publishing binary wheels. (#13850)reivilibre2-11/+35
2022-09-21Lower minimum rustc version to 1.58.1 (#13857)Erik Johnston3-7/+8
2022-09-20Remove the `complete_sso_login` method from the Module API which was deprecat...Quentin Gliech3-58/+2
2022-09-20Generate separate snapshots for logical databases (#13792)David Robertson4-46/+140
2022-09-20Tweak changelog v1.68.0rc1Olivier Wilkinson (reivilibre)1-1/+1
2022-09-20Edit description of cache invalidation bugOlivier Wilkinson (reivilibre)1-1/+1
2022-09-20Port the push rule classes to Rust. (#13768)Erik Johnston14-615/+930
2022-09-20Edit changelog in response to feedbackOlivier Wilkinson (reivilibre)2-7/+21
2022-09-201.68.0rc1Olivier Wilkinson (reivilibre)69-67/+90
2022-09-20Don't include redundant prev_state in new events (#13791)Denis3-4/+1
2022-09-16Add support to purge rows from MSC2716 and other tables when purging a room (...Eric Eastwood4-0/+30
2022-09-16Fix Docker build when Rust .so has been build locally first (#13811)Mathieu Velten3-3/+7
2022-09-16Compare ported to unported PG schemas in portdb test job (#13808)David Robertson5-47/+50
2022-09-16Minor speedups to CI linting (#13827)David Robertson2-4/+6
2022-09-16Remove error spam when users query the keys of departed remote users (#13826)Sean Quah2-9/+13
2022-09-16complement: init postgres DB directly inside the target image (#13819)Mathieu Velten2-11/+10
2022-09-16Add an admin API endpoint to find a user based on its external ID in an auth ...Quentin Gliech5-0/+155
2022-09-16Update request log format documentation to mention the format used when the a...reivilibre2-2/+3
2022-09-16Avoid putting rejected events in room state (#13723)Sean Quah3-0/+415
2022-09-15Document common fix of Poetry problems by removing egg-info (#13785)Eric Eastwood2-0/+28
2022-09-15Be able to correlate timeouts in reverse-proxy layer in front of Synapse (pul...Eric Eastwood5-5/+38
2022-09-15Record any exception when processing a pulled event (#13814)Eric Eastwood3-1/+12
2022-09-15Support providing an index predicate for upserts. (#13822)Patrick Cloke3-7/+25
2022-09-15A third batch of Pydantic validation for rest/client/account.py (#13736)David Robertson4-45/+78
2022-09-15Add a `MXCUri` class to make working with mxc uri's easier. (#13162)Andrew Morgan6-74/+53
2022-09-14Keep track when we try and fail to process a pulled event (#13589)Eric Eastwood7-9/+329
2022-09-14Update event push action and receipt tables to support threads. (#13753)Patrick Cloke11-20/+312
2022-09-14Use partial indices on SQLIte. (#13802)Patrick Cloke4-5/+59
2022-09-14Deduplicate `is_server_notices_room`. (#13780)reivilibre4-18/+20
2022-09-14Fix a memory leak when running the unit tests. (#13798)reivilibre3-6/+8
2022-09-14Remove unused method in `synapse.api.auth.Auth`. (#13795)Quentin Gliech2-9/+1
2022-09-14Remove incorrect migration file from `state` logical DB (#13788)David Robertson2-37/+1
2022-09-14Fix bug in device list caching when remote users leave rooms (#13749)Sean Quah5-15/+51
2022-09-14Fix a long-standing spec compliance bug where Synapse would accept a trailing...reivilibre2-2/+2
2022-09-13Make sequence `cache_invalidation_stream_seq` begin at `2` (#13766)Mathieu Velten3-0/+25
2022-09-13Updates to the schema dump script (#13770)David Robertson3-32/+21
2022-09-13Simplify CI tests DAG (#13784)David Robertson2-4/+1
2022-09-13installation.md: require libpq on M1 macs (#13480)Richard van der Hoff2-2/+4
2022-09-13Fixup changelog v1.67.0Erik Johnston1-3/+3
2022-09-131.67.0Erik Johnston3-3/+15
2022-09-13Add receipts event stream ordering (#13703)Nick Mills-Barrett4-1/+95
2022-09-12Fix GHA skippable syntax (#13778)Mathieu Velten2-1/+3
2022-09-12Fix typo in ratelimiting documentation (#13727)Brendan Abolivier2-1/+2
2022-09-12Fix CI on non-PR builds (#13769)Erik Johnston2-0/+2
2022-09-12Remove check current state membership up to date (#13745)Nick Mills-Barrett3-155/+100
2022-09-12Check if Rust lib needs rebuilding. (#13759)Erik Johnston7-1/+149
2022-09-09Concurrently collect room unread counts for push badges (#13765)Nick Mills-Barrett2-3/+11
2022-09-09Tag trace with instance name (#13761)Eric Eastwood3-2/+12
2022-09-09Strip number suffix from instance name to consolidate services that traces ar...Eric Eastwood2-1/+13
2022-09-09Use an upsert for `receipts_graph`. (#13752)Patrick Cloke2-8/+5
2022-09-09Add rust to CI (#13763)Erik Johnston3-1/+84
2022-09-09Require SQLite >= 3.27.0 (#13760)David Robertson9-208/+106
2022-09-08Re-type hint some collections in `/sync` code as read-only (#13754)Sean Quah2-10/+11
2022-09-08Remove unused Prometheus recording rules from `synapse-v2.rules` and add comm...reivilibre2-23/+9
2022-09-08Add timestamp to user's consent (#13741)Dirk Klimpel7-8/+52
2022-09-08Update docstrings to explain the impact of partial state (#13750)Sean Quah2-1/+17
2022-09-08Avoid raising errors due to malformed IDs in `get_current_hosts_in_room` (#13...Sean Quah2-1/+5
2022-09-08Fix error in `is_mine_id` when encountering a malformed ID (#13746)Sean Quah3-2/+37
2022-09-08Fix cache metrics not being updated when not using the legacy exposition modu...reivilibre4-21/+81
2022-09-08Fix Prometheus recording rules to not use legacy metric names. (#13718)reivilibre6-37/+22
2022-09-08Fix latest deps (#13743)Erik Johnston2-0/+15
2022-09-08Also cite upgrade notesDavid Robertson1-1/+1
2022-09-08Add minimum version bump for sqlite to the release notes (#13742)David Robertson2-1/+21
2022-09-08Fix a bug where Synapse fails to start if a signing key file contains an empt...reivilibre2-1/+13
2022-09-07Instrument `get_metadata_for_events` for tracing (#13730)Eric Eastwood2-0/+3
2022-09-07Fix latest deps CI (#13734)Erik Johnston3-3/+42
2022-09-07Add some rust caching to CI (#13735)Erik Johnston2-0/+6
2022-09-07Correct out-of-date doc for `event_cache_size` (#13726)David Robertson2-2/+5
2022-09-07Define SQLite compat policy (#13728)David Robertson2-4/+12
2022-09-07A second batch of Pydantic models for rest/client/account.py (#13687)David Robertson4-34/+64
2022-09-07Cancel the processing of key query requests when they time out. (#13680)reivilibre18-20/+110
2022-09-07Rename the `EventFormatVersions` enum values so that they line up with room v...reivilibre13-41/+47
2022-09-07Add Admin API to Fetch Messages Within a Particular Window (#13672)Connor Davis6-14/+435
2022-09-06Remove the unspecced room_id field in the /hierarchy response. (#13506)reivilibre2-1/+1
2022-09-06Add a stub Rust crate (#12595)Erik Johnston23-11/+302
2022-09-06Fix trial-olddeps (#13725)Erik Johnston3-2/+3
2022-09-06Actually fix typechecking with latest types-jsonschema (#13724)David Robertson2-4/+5
2022-09-06Fixup changelog v1.67.0rc1Erik Johnston1-2/+2
2022-09-06Update trial old deps CI to use poetry 1.2.0 (#13707)Erik Johnston3-29/+42
2022-09-06Update Grafana dashboard to not use legacy metric names. (#13714)reivilibre4-73/+74
2022-09-06Update changelogErik Johnston2-0/+22
2022-09-061.67.0rc1Erik Johnston56-56/+91
2022-09-06Remove configuration options for direct TCP replication. (#13647)Patrick Cloke12-78/+63
2022-09-05Reduce number of CI jobs run on PRs (#13713)Erik Johnston3-66/+160
2022-09-05Extend the release script to wait for GitHub Actions to finish and to be usab...reivilibre2-4/+143
2022-09-05Fix typechecking with latest `types-jsonschema` (#13712)David Robertson2-4/+5
2022-09-05Share some metrics between the Prometheus exporter and the phone home stats (...Brendan Abolivier6-4/+146
2022-09-03fix grammarMatthew Hodgson1-1/+1
2022-09-02Clarify `(room_id, event_id)` global uniqueness (#13701)Eric Eastwood2-0/+25
2022-09-02Update docs to make enabling metrics more clear (#13678)Eric Eastwood2-4/+8
2022-09-02Update lock file for Poetry v1.2.0 (#13689)Erik Johnston5-66/+99
2022-09-02Only run trial CI on all python versions on non-PRs (#13698)Erik Johnston2-0/+11
2022-09-01Fix two typos with colon in headlines (#13665)Dirk Klimpel2-2/+3
2022-09-01Add a schema delta to drop unstable private read receipts. (#13692)Patrick Cloke2-0/+20
2022-09-01Disable calculating unread counts unless the config flag is enabled. (#13694)Patrick Cloke4-23/+30
2022-09-01Update the Grafana dashboard that is included with Synapse in the `contrib` d...reivilibre2-20/+128
2022-09-01Cache `is_partial_state_room` (#13693)Erik Johnston2-4/+8
2022-09-01Add monthly active users documentation (#13617)Will Hunt4-0/+88
2022-09-01Use poetry 1.2.0 rather than prerelease for deb packages (#13695)Erik Johnston2-1/+7
2022-09-01Add some logging to help track down #13444 (#13679)Erik Johnston2-0/+14
2022-09-01Return keys for unwhitelisted servers from `/_matrix/key/v2/query` (#13683)Richard van der Hoff2-20/+22
2022-09-01Bump docker image to use stable poetry version (#13688)Erik Johnston3-11/+2
2022-09-01Remove support for unstable private read receipts (#13653)Šimon Brandner13-122/+44
2022-08-31Drop support for calling `/_matrix/client/v3/rooms/{roomId}/invite` without a...Jacek Kuśnierz9-137/+81
2022-08-31Tweak changelog formatting v1.66.0Sean Quah1-6/+4
2022-08-31Move notice from 1.66.0rc1 to 1.66.0 section in changelogSean Quah1-6/+6
2022-08-31Tweak changelog wordingSean Quah1-4/+5
2022-08-31Improve clarity on deprecation of TCP replicationSean Quah2-2/+10
2022-08-31Remove cached wrap on `_get_joined_users_from_context` method (#13569)Nick Mills-Barrett3-85/+40
2022-08-31Generalise the `@cancellable` annotation so it can be used on functions other...reivilibre10-75/+75
2022-08-31Fix dead link in 1.18.0 upgrade notesSean Quah1-1/+1