Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Fix exception handling in fetching remote profiles #3997

Merged
merged 2 commits into from
Oct 3, 2018

Conversation

erikjohnston
Copy link
Member

We were just catching the exceptions, logging and dropping them on the floor. This meant that in the case of fetching display name we returned a None rather than raising an exception, and for avatars we'd throw an UnboundLocalError due to trying to return result["avatar_url"] despite not having result.

We will still log the exceptions, but just further up the stack

@erikjohnston erikjohnston requested a review from a team October 3, 2018 10:40
@erikjohnston
Copy link
Member Author

(We probably can clean some of this exception handling up a bit more so that we don't log stack traces simply because we failed to connect to the remote server, but I'm punting that for now)

Copy link
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@erikjohnston erikjohnston merged commit 01afcfc into develop Oct 3, 2018
michaelkaye added a commit that referenced this pull request Oct 22, 2018
**Warning**: This release removes the example email notification templates from
`res/templates` (they are now internal to the python package). This should only
affect you if you (a) deploy your Synapse instance from a git checkout or a
github snapshot URL, and (b) have email notifications enabled.

If you have email notifications enabled, you should ensure that
`email.template_dir` is either configured to point at a directory where you
have installed customised templates, or leave it unset to use the default
templates.

The configuration parser will try to detect the situation where
`email.template_dir` is incorrectly set to `res/templates` and do the right
thing, but will warn about this.

Features
--------

- Ship the example email templates as part of the package ([\#4052](#4052))
- Add support for end-to-end key backup (MSC1687) ([\#4019](#4019))

Bugfixes
--------

- Fix bug which made get_missing_events return too few events ([\#4045](#4045))
- Fix bug in event persistence logic which caused 'NoneType is not iterable' ([\#3995](#3995))
- Fix exception in background metrics collection ([\#3996](#3996))
- Fix exception handling in fetching remote profiles ([\#3997](#3997))
- Fix handling of rejected threepid invites ([\#3999](#3999))
- Workers now start on Python 3. ([\#4027](#4027))
- Synapse now starts on Python 3.7. ([\#4033](#4033))

Internal Changes
----------------

- Log exceptions in looping calls ([\#4008](#4008))
- Optimisation for serving federation requests ([\#4017](#4017))
- Add metric to count number of non-empty sync responses ([\#4022](#4022))
@erikjohnston erikjohnston deleted the erikj/fix_profile_error_handling branch December 12, 2018 15:45
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants