When constructing a new record, rather that getting the state object from a source and hanging on to it, just keep a few salient details and then release it, so we don't keep a ref to the source hanging around. This also means we need to pre-fill well-known up front, adding some overhead when not logging. This fixes hitting resource limits like memory and file descriptors when lots of objects are logged, as seen when logging is enabled for the DB, and in particular for `DatabaseConnection` objects, since each one represents an open SQLite database file and related state. It also ruins the glorious future in which we could inspect logged objects in the Inspector in the same way that Firefox allows you to inspect objects in the JS console, but c'est la ve. The way forward there is probably adding structured data to state objects, allowing sources to provide a curated set of properties to log. |
||
|---|---|---|
| .gitlab/issue_templates | ||
| bindings/vapi | ||
| build-aux | ||
| desktop | ||
| help | ||
| icons | ||
| po | ||
| sql | ||
| src | ||
| subprojects/vala-unit | ||
| test | ||
| ui | ||
| .gitattributes | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| AUTHORS | ||
| code-of-conduct.md | ||
| CONTRIBUTING.md | ||
| COPYING | ||
| COPYING.icons | ||
| COPYING.pyyaml | ||
| COPYING.snowball | ||
| geary.doap | ||
| INSTALL | ||
| meson.build | ||
| meson_options.txt | ||
| NEWS | ||
| org.gnome.Geary.json | ||
| org.gnome.Geary.yaml | ||
| README.md | ||
| THANKS | ||
Geary: Send and receive email
Geary is an email application built around conversations, for the GNOME 3 desktop. It allows you to read, find and send email with a straightforward, modern interface.
Visit https://wiki.gnome.org/Apps/Geary for more information.
GitHub users please note: Bug reports, code contributions and translations are managed using GNOME's infrastructure, so we cannot accept tickets or pull requests on GitHub. Please see the links below for more information.
Installation & Licensing
Please consult the INSTALL and COPYING files for more information.
Getting in Touch
- Geary wiki: https://wiki.gnome.org/Apps/Geary
- Support and discussion: See the
gearytag on GNOME Discourse - Matrix channel: #geary:gnome.org
Code Of Conduct
We follow the Contributor Covenant as our Code of Conduct. All communications in project spaces are expected to adhere to it.
Contributing to Geary
Want to help improve Geary? Here are some ways to contribute:
- Bug reporting: https://wiki.gnome.org/Apps/Geary/ReportingABug
- Translating: https://wiki.gnome.org/Apps/Geary/Translating
- Development: https://wiki.gnome.org/Apps/Geary/Development
- Donate: https://wiki.gnome.org/Apps/Geary/Donate
Copyright 2016 Software Freedom Conservancy Inc.
Copyright 2017-2020 Michael Gratton mike@vee.net

