| Commit message (Expand) | Author | Files | Lines |
2016-08-10 | Don't print stack traces when failing to get remote keys | Erik Johnston | 2 | -13/+19 |
2016-08-09 | /login: Respond with a 403 when we get an invalid m.login.token | Richard van der Hoff | 1 | -3/+3 |
2016-08-08 | PEP8 | Richard van der Hoff | 1 | -0/+1 |
2016-08-08 | Clean up CAS login code | Richard van der Hoff | 1 | -125/+33 |
2016-08-08 | Fix CAS login | Richard van der Hoff | 1 | -0/+1 |
2016-08-08 | Fix login with m.login.token | Richard van der Hoff | 4 | -32/+87 |
2016-08-08 | Capatailize HTML | Erik Johnston | 1 | -1/+1 |
2016-08-08 | Be bolder | Erik Johnston | 1 | -1/+1 |
2016-08-08 | Update changelog | Erik Johnston | 1 | -3/+7 |
2016-08-08 | Update changelog | Erik Johnston | 1 | -1/+1 |
2016-08-08 | Bump changelog and version | Erik Johnston | 2 | -1/+16 |
2016-08-08 | Make psutil optional | Erik Johnston | 3 | -6/+16 |
2016-08-05 | Fix a couple of python bugs | Erik Johnston | 1 | -6/+8 |
2016-08-05 | Retry joining via other servers if first one failed | Erik Johnston | 1 | -5/+16 |
2016-08-05 | Print newline after result in federation_client script | Erik Johnston | 1 | -0/+1 |
2016-08-05 | Add federation /version API | Erik Johnston | 6 | -9/+25 |
2016-08-05 | Change the way we specify if we require auth or not | Erik Johnston | 1 | -40/+55 |
2016-08-05 | Raise 404 when couldn't find event | Erik Johnston | 1 | -1/+1 |
2016-08-05 | Don't include html comments in description | Erik Johnston | 1 | -1/+2 |
2016-08-05 | Update changelog v0.17.0-rc4 | Erik Johnston | 1 | -2/+2 |
2016-08-05 | Fix backfill auth events | Erik Johnston | 1 | -21/+50 |
2016-08-05 | Bump version and changelog | Erik Johnston | 2 | -1/+17 |
2016-08-05 | Fix typo | Erik Johnston | 1 | -1/+1 |
2016-08-05 | Check if we already have the events returned by /state/ | Erik Johnston | 1 | -2/+16 |
2016-08-05 | Delete more tables | Erik Johnston | 1 | -0/+5 |
2016-08-05 | Fallback to /state/ on both 400 and 404 | Erik Johnston | 1 | -1/+1 |
2016-08-04 | Tweak integrity error recovery to work as intended | Benjamin Saunders | 2 | -1/+4 |
2016-08-04 | Typo | Erik Johnston | 1 | -1/+1 |
2016-08-04 | Test summarization | Erik Johnston | 2 | -52/+193 |
2016-08-04 | Fix typo | Erik Johnston | 1 | -3/+4 |
2016-08-04 | Retry event persistence on IntegrityError | Erik Johnston | 1 | -4/+65 |
2016-08-04 | Fix typos. | Erik Johnston | 1 | -3/+3 |
2016-08-04 | Tidy up get_events | Erik Johnston | 1 | -12/+10 |
2016-08-04 | Factor out more common code from the jenkins scripts (#980) | Mark Haines | 4 | -138/+44 |
2016-08-04 | Allow upgrading from old port_from_sqlite3 format | Erik Johnston | 1 | -0/+21 |
2016-08-04 | Handle the fact that some tables have negative rowid rows | Erik Johnston | 1 | -43/+111 |
2016-08-04 | keys/query: Omit device displayname if null | Richard van der Hoff | 1 | -3/+4 |
2016-08-03 | Rename fields to _ids | Erik Johnston | 2 | -4/+4 |
2016-08-03 | Fix copy + paste fails | Erik Johnston | 2 | -6/+11 |
2016-08-03 | PEP8 | Richard van der Hoff | 2 | -12/+10 |
2016-08-03 | Include device name in /keys/query response | Richard van der Hoff | 3 | -20/+143 |
2016-08-03 | keys/query: return all users which were asked for | Richard van der Hoff | 2 | -3/+52 |
2016-08-03 | Actually call get_room_state | Erik Johnston | 1 | -0/+4 |
2016-08-03 | Fix syntax error | Erik Johnston | 1 | -1/+8 |
2016-08-03 | Comment | Erik Johnston | 1 | -0/+14 |
2016-08-03 | Add /state_ids federation API | Erik Johnston | 4 | -3/+125 |
2016-08-03 | PEP8 | Richard van der Hoff | 1 | -1/+1 |
2016-08-03 | E2eKeysHandler: minor tweaks | Richard van der Hoff | 1 | -5/+3 |
2016-08-03 | Print status code in federation_client.py | Erik Johnston | 1 | -0/+1 |
2016-08-03 | Remove other bit of deduplication | Erik Johnston | 1 | -19/+0 |
2016-08-03 | Default device_display_name to null | Richard van der Hoff | 4 | -5/+23 |
2016-08-03 | Ensure we only persist an event once at a time | Erik Johnston | 1 | -1/+18 |
2016-08-02 | Factor out some of the code shared between the sytest scripts (#974) | Mark Haines | 6 | -69/+71 |
2016-08-02 | Don't infer paragrahs from newlines | Erik Johnston | 1 | -2/+1 |
2016-08-02 | Comment on why we clone | Erik Johnston | 1 | -0/+1 |
2016-08-02 | Spelling. | Erik Johnston | 1 | -3/+3 |
2016-08-02 | Make it actually compile | Erik Johnston | 1 | -1/+1 |
2016-08-02 | Change the way we summarize URLs | Erik Johnston | 1 | -11/+67 |
2016-08-02 | E2E keys: Make federation query share code with client query | Richard van der Hoff | 3 | -47/+92 |
2016-08-02 | Bump version and changelog v0.17.0-rc3 | Erik Johnston | 2 | -2/+8 |
2016-08-02 | Don't double wrap 200 | Erik Johnston | 1 | -2/+2 |
2016-08-02 | Fix response cache | Erik Johnston | 1 | -1/+1 |
2016-08-02 | Typo v0.17.0-rc2 | Erik Johnston | 1 | -1/+1 |
2016-08-02 | Change wording | Erik Johnston | 1 | -2/+2 |
2016-08-02 | Bump changeog and version | Erik Johnston | 2 | -1/+18 |
2016-08-02 | Print authorization header for federation_client.py | Erik Johnston | 1 | -5/+6 |
2016-08-02 | Change default jenkins port base and count | Erik Johnston | 3 | -6/+7 |
2016-08-01 | Move e2e query logic into a handler | Richard van der Hoff | 4 | -60/+102 |
2016-08-01 | missing --upgrade | Matthew Hodgson | 1 | -1/+1 |
2016-07-31 | Ignore AlreadyCalled errors on timer cancel | Erik Johnston | 2 | -3/+16 |
2016-07-29 | Fix adding emails on registration | David Baker | 1 | -9/+7 |
2016-07-29 | Make jenkins dendron test federation read apis | Erik Johnston | 1 | -0/+1 |
2016-07-29 | Mention that func will fetch auth events | Erik Johnston | 1 | -0/+2 |
2016-07-29 | Update docstring | Erik Johnston | 1 | -0/+6 |
2016-07-29 | Fix SQL to supply arguments in the same order | Mark Haines | 1 | -1/+1 |
2016-07-28 | Create separate methods for getting messages to push | Mark Haines | 5 | -51/+204 |
2016-07-28 | Add destination retry to slave store | Erik Johnston | 2 | -0/+32 |
2016-07-28 | Add slace storage functions for public room list | Erik Johnston | 3 | -0/+48 |
2016-07-28 | Comment get_unread_push_actions_for_user_in_range function | Kegan Dougal | 1 | -2/+26 |
2016-07-28 | Add get_auth_chain to slave store | Erik Johnston | 1 | -0/+4 |
2016-07-28 | Handle the case of missing auth events when joining a room | Erik Johnston | 1 | -4/+23 |
2016-07-28 | Add more key storage funcs into slave store | Erik Johnston | 2 | -24/+26 |
2016-07-28 | Use correct path | Erik Johnston | 1 | -1/+1 |
2016-07-28 | Add some basic admin API docs | Erik Johnston | 3 | -0/+46 |
2016-07-28 | Add authors to changelog v0.17.0-rc1 | Erik Johnston | 1 | -4/+5 |
2016-07-28 | Update changelog | Erik Johnston | 1 | -0/+4 |
2016-07-28 | Fix retry utils to check if the exception is a subclass of CME | Mark Haines | 1 | -1/+1 |
2016-07-28 | Bump version and changelog | Erik Johnston | 2 | -3/+6 |
2016-07-28 | Don't include name of room for invites in push | David Baker | 1 | -1/+4 |
2016-07-28 | Add r0.1.0 to the "supported versions" list | Richard van der Hoff | 1 | -0/+1 |
2016-07-28 | Typo | David Baker | 1 | -1/+1 |
2016-07-28 | Add r0.2.0 to the "supported versions" list | Richard van der Hoff | 1 | -1/+4 |
2016-07-27 | 3PID defined on first mention | evelynmitchell | 1 | -2/+2 |
2016-07-27 | Forbid non-ASes from registering users whose names begin with '_' (SYN-738) | Paul "LeoNerd" Evans | 1 | -0/+7 |
2016-07-27 | Bump CHANGES and version | Erik Johnston | 2 | -1/+57 |
2016-07-27 | key upload tweaks | Richard van der Hoff | 1 | -7/+5 |
2016-07-27 | Clean up verify_json_objects_for_server | Mark Haines | 1 | -68/+75 |
2016-07-27 | SQL syntax fix | Richard van der Hoff | 1 | -1/+1 |
2016-07-27 | Delete e2e keys on device delete | Richard van der Hoff | 3 | -4/+28 |
2016-07-26 | Make the device id on e2e key upload optional | Richard van der Hoff | 2 | -12/+54 |
2016-07-26 | Add a couple more checks to the keyring | Mark Haines | 1 | -2/+9 |
2016-07-26 | Fix a couple of bugs in the transaction and keyring code | Mark Haines | 2 | -9/+11 |
2016-07-26 | Add `create_requester` function | Richard van der Hoff | 11 | -75/+101 |
2016-07-26 | Check if the user is banned when handling 3pid invites | Mark Haines | 1 | -0/+4 |
2016-07-26 | Fix typo | Richard van der Hoff | 1 | -1/+1 |
2016-07-26 | Fix flake8 violation | Richard van der Hoff | 1 | -5/+3 |
2016-07-26 | Fix flake8 configuration | Richard van der Hoff | 1 | -4/+2 |
2016-07-26 | Delete refresh tokens when deleting devices | Richard van der Hoff | 3 | -15/+83 |
2016-07-26 | Fix how push_actions are redacted. | Mark Haines | 1 | -8/+10 |
2016-07-26 | Don't add rejected events if we've seen them befrore. Add some comments to ex... | Mark Haines | 1 | -5/+48 |
2016-07-26 | federation doesn't work over ipv6 yet thanks to twisted | Matthew Hodgson | 1 | -1/+1 |
2016-07-26 | typo | Matthew Hodgson | 1 | -1/+1 |
2016-07-26 | Implement updating devices | Richard van der Hoff | 5 | -8/+119 |
2016-07-26 | Implement deleting devices | Richard van der Hoff | 11 | -21/+176 |
2016-07-25 | Only update the events and event_json tables for rejected events | Mark Haines | 2 | -52/+63 |
2016-07-25 | Log when adding listeners | Richard van der Hoff | 1 | -0/+1 |
2016-07-25 | Don't add the events to forward extremities if the event is rejected | Mark Haines | 1 | -3/+6 |
2016-07-25 | Don't add rejections to the state_group, persist all rejections | Mark Haines | 2 | -5/+6 |
2016-07-25 | fix: defer.returnValue takes one argument | Mark Haines | 1 | -1/+1 |
2016-07-25 | background updates: fix assert again | Richard van der Hoff | 1 | -1/+1 |
2016-07-25 | background updates: Fix assertion to do something | Richard van der Hoff | 1 | -2/+2 |
2016-07-25 | PEP8 | Richard van der Hoff | 1 | -1/+1 |
2016-07-25 | Slightly saner logging for unittests | Richard van der Hoff | 1 | -4/+7 |
2016-07-25 | Fix background_update tests | Richard van der Hoff | 2 | -13/+36 |
2016-07-22 | Use get to avoid KeyErrors | David Baker | 1 | -1/+1 |
2016-07-22 | Log the hostname the reCAPTCHA was completed on | David Baker | 1 | -2/+11 |
2016-07-22 | PEP8 | Richard van der Hoff | 1 | -1/+0 |
2016-07-22 | Create index on user_ips in the background | Richard van der Hoff | 3 | -12/+80 |
2016-07-21 | Cache getPeer | Erik Johnston | 1 | -2/+5 |
2016-07-21 | Split out a FederationReader process | Erik Johnston | 4 | -0/+238 |
2016-07-21 | make /devices return a list | Richard van der Hoff | 2 | -9/+12 |
2016-07-21 | Fix PEP8 errors | Richard van der Hoff | 2 | -1/+2 |
2016-07-21 | Implement GET /device/{deviceId} | Richard van der Hoff | 3 | -19/+89 |
2016-07-21 | storage/client_ips: remove some dead code | Richard van der Hoff | 1 | -3/+0 |
2016-07-21 | Set host not path | Erik Johnston | 1 | -1/+1 |
2016-07-21 | Preserve device_id from first call to /register | Richard van der Hoff | 1 | -11/+10 |
2016-07-21 | Send the correct host header when fetching keys | Erik Johnston | 1 | -3/+6 |
2016-07-21 | Cache federation state responses | Erik Johnston | 5 | -32/+60 |
2016-07-20 | Fix PEP8 errors | Richard van der Hoff | 2 | -3/+1 |
2016-07-20 | Don't explode if we have no snapshots yet | Erik Johnston | 1 | -0/+3 |
2016-07-20 | GET /devices endpoint | Richard van der Hoff | 10 | -17/+397 |
2016-07-20 | Record device_id in client_ips | Richard van der Hoff | 3 | -8/+34 |
2016-07-20 | More doc-comments | Richard van der Hoff | 2 | -10/+14 |
2016-07-20 | Register a device_id in the /v2/register flow. | Richard van der Hoff | 2 | -18/+49 |
2016-07-20 | Make jenkins install deps on unit tests | Erik Johnston | 1 | -0/+4 |
2016-07-20 | Add metrics for psutil derived memory usage | Erik Johnston | 4 | -1/+50 |
2016-07-20 | Don't notify pusher pool for backfilled events | Erik Johnston | 1 | -5/+6 |
2016-07-20 | Comment | Erik Johnston | 1 | -0/+4 |
2016-07-19 | MANIFEST.in: Add *.pyi | Richard van der Hoff | 1 | -0/+1 |
2016-07-19 | Type annotations | Richard van der Hoff | 6 | -0/+46 |
2016-07-19 | Further registration refactoring | Richard van der Hoff | 5 | -22/+57 |
2016-07-19 | Don't bind email unless threepid contains expected fields | Richard van der Hoff | 1 | -28/+25 |
2016-07-19 | rest/client/v2_alpha/register.py: Refactor flow somewhat. | Richard van der Hoff | 2 | -76/+104 |
2016-07-19 | schema fix | Richard van der Hoff | 1 | -1/+1 |
2016-07-19 | Summary line | Mark Haines | 1 | -2/+1 |
2016-07-19 | Update docstring on Handlers. | Mark Haines | 1 | -3/+15 |
2016-07-18 | Add device_id support to /login | Richard van der Hoff | 12 | -31/+354 |
2016-07-18 | Refactor login flow | Richard van der Hoff | 2 | -65/+82 |
2016-07-18 | Fix a doc-comment | Richard van der Hoff | 1 | -1/+1 |
2016-07-16 | Use body.get to check for 'user' | Will Hunt | 1 | -2/+1 |
2016-07-16 | Fall back to 'username' if 'user' is not given for appservice reg. | Will Hunt | 1 | -3/+5 |
2016-07-15 | Fix 500 ISE when sending alias event without a state_key | Mark Haines | 1 | -0/+5 |
2016-07-15 | Fix /purge_history bug | Erik Johnston | 1 | -19/+15 |
2016-07-15 | Pull out min stream_ordering from ex_outlier_stream | Erik Johnston | 1 | -1/+2 |
2016-07-15 | event_backwards_extremeties may not be empty | Erik Johnston | 1 | -1/+11 |
2016-07-15 | Comment | Erik Johnston | 2 | -0/+6 |
2016-07-14 | Check sender signed event | Erik Johnston | 3 | -6/+12 |
2016-07-14 | Add filter param to /messages API | Erik Johnston | 4 | -11/+29 |
2016-07-14 | Add support for filters in paginate_room_events | Erik Johnston | 1 | -1/+51 |
2016-07-14 | Add 'contains_url' to filter | Erik Johnston | 1 | -3/+20 |
2016-07-14 | Add sender and contains_url field to events table | Erik Johnston | 2 | -0/+142 |
2016-07-14 | Add hs object | Erik Johnston | 1 | -0/+1 |
2016-07-14 | Only accept password auth | Erik Johnston | 1 | -12/+0 |
2016-07-14 | Add an /account/deactivate endpoint | Erik Johnston | 1 | -0/+55 |
2016-07-13 | Bug fix: expire invalid access tokens | Negar Fazeli | 6 | -9/+42 |
2016-07-13 | Check if alias event's state_key matches sender's domain | Erik Johnston | 1 | -0/+11 |
2016-07-13 | Check creation event's room_id domain matches sender's | Erik Johnston | 1 | -0/+7 |
2016-07-12 | be more pythonic | David Baker | 1 | -1/+1 |
2016-07-12 | on_OPTIONS isn't neccessary | David Baker | 2 | -10/+1 |
2016-07-12 | Remove other debug logging | David Baker | 1 | -2/+0 |
2016-07-11 | Separate out requestTokens to separate handlers | David Baker | 2 | -65/+93 |
2016-07-11 | Oops, remove debug logging | David Baker | 1 | -4/+0 |
2016-07-08 | Implement https://github.com/matrix-org/matrix-doc/pull/346/files | David Baker | 2 | -0/+60 |
2016-07-08 | Add a comment explaining allow_none | Mark Haines | 1 | -0/+2 |
2016-07-08 | Ensure that the guest user is in the database when upgrading accounts | Mark Haines | 1 | -0/+13 |
2016-07-07 | Bump version and changelog | Erik Johnston | 2 | -1/+9 |
2016-07-07 | Fix bug where we did not correctly explode when multiple user_ids were set in... | Erik Johnston | 1 | -5/+10 |
2016-07-07 | Comment | Erik Johnston | 1 | -0/+3 |
2016-07-07 | Return 400 rather than 500 | Erik Johnston | 1 | -1/+4 |
2016-07-06 | Add rest servlet. Fix SQL. | Erik Johnston | 2 | -5/+5 |
2016-07-06 | Check that there are no null bytes in user and passsword | Erik Johnston | 1 | -0/+6 |
2016-07-06 | Add null separator to hmac | Erik Johnston | 2 | -0/+4 |
2016-07-06 | Update password config comment | Kent Shikama | 1 | -1/+1 |
2016-07-06 | Update hash_password script | Kent Shikama | 1 | -1/+17 |
2016-07-05 | Remove spurious txn | Erik Johnston | 1 | -9/+0 |
2016-07-05 | Fix for postgres | Erik Johnston | 1 | -2/+2 |
2016-07-05 | Add an admin option to shared secret registration | Erik Johnston | 4 | -27/+58 |
2016-07-05 | Protect password when registering using shared secret | Erik Johnston | 2 | -7/+15 |
2016-07-05 | Add ReadWriteLock for pagination and history prune | Erik Johnston | 2 | -36/+38 |
2016-07-05 | Add ReadWriteLock | Erik Johnston | 2 | -0/+167 |
2016-07-05 | Fix typo | Mark Haines | 1 | -1/+1 |
2016-07-05 | Make get_events_around more efficient on sqlite3 | Mark Haines | 1 | -13/+49 |
2016-07-05 | Remove default password pepper string | Kent Shikama | 1 | -2/+1 |
2016-07-05 | Fix password config | Kent Shikama | 2 | -3/+3 |
2016-07-05 | Fix pep8 | Kent Shikama | 2 | -2/+3 |
2016-07-05 | Add comment to prompt changing of pepper | Kent Shikama | 1 | -0/+1 |
2016-07-05 | Use true/false for boolean parameter inclusive to avoid potential for sqli, a... | Mark Haines | 2 | -5/+7 |
2016-07-05 | Add purge_history API | Erik Johnston | 4 | -1/+38 |
2016-07-04 | Use different SQL for postgres and sqlite3 for when using multicolumn indexes | Mark Haines | 2 | -59/+59 |
2016-07-05 | Add pepper to password hashing | Kent Shikama | 2 | -3/+8 |
2016-07-04 | Add storage function to purge history for a room | Erik Johnston | 1 | -0/+140 |
2016-07-04 | Use a query that postgresql optimises better for get_events_around | Mark Haines | 1 | -12/+16 |
2016-07-04 | Fix style violations | Kent Shikama | 2 | -2/+4 |
2016-07-04 | Use .get() instead of [] to access password_hash | Kent Shikama | 1 | -1/+1 |
2016-07-03 | Optionally include password hash in createUser endpoint | Kent Shikama | 2 | -3/+5 |
2016-07-01 | code_style.rst: add link to sphinx examples | Richard van der Hoff | 1 | -1/+3 |
2016-07-01 | code_style.rst: *fix* link to google style | Richard van der Hoff | 1 | -1/+1 |
2016-07-01 | code_style.rst: add link to google style | Richard van der Hoff | 1 | -2/+3 |
2016-06-30 | requestToken update | David Baker | 2 | -15/+29 |
2016-06-30 | Feature: Add deactivate account admin API | Erik Johnston | 3 | -0/+40 |
2016-06-29 | Remove race | Erik Johnston | 1 | -11/+0 |
2016-06-29 | Implement purge_media_cache admin API | Erik Johnston | 5 | -20/+130 |
2016-06-29 | Track approximate last access time for remote media | Erik Johnston | 4 | -1/+71 |
2016-06-28 | Update turn-howto.rst to use git clone (2) | Rick Cogley | 1 | -1/+5 |
2016-06-28 | Update turn-howto.rst to use git clone | Rick Cogley | 1 | -1/+1 |
2016-06-28 | Remove double spaces | Rick Cogley | 1 | -12/+11 |
2016-06-27 | remove vector.im from default secondary DS list | Matthew Hodgson | 1 | -1/+0 |
2016-06-26 | Update to reflect new location at github. | Rick Cogley | 1 | -16/+18 |
2016-06-24 | Fix the sytests to use a port-range rather than a port base | Mark Haines | 3 | -4/+7 |
2016-06-24 | Remove room name & alias test | David Baker | 1 | -41/+0 |
2016-06-24 | even more pep8 | David Baker | 1 | -0/+1 |
2016-06-24 | more pep8 | David Baker | 1 | -1/+0 |
2016-06-24 | pep8 | David Baker | 1 | -1/+0 |
2016-06-24 | Use similar naming we use in email notifs for push | David Baker | 6 | -79/+26 |
2016-06-22 | Actually we need to order these properly | David Baker | 1 | -2/+12 |
2016-06-22 | Style | David Baker | 1 | -1/+1 |
2016-06-22 | Put most recent 20 messages in notif | David Baker | 1 | -3/+4 |
2016-06-22 | Rework ldap integration with ldap3 | Martin Weinelt | 4 | -60/+249 |
2016-06-21 | Optionally start or stop workers in synctl. | Mark Haines | 1 | -27/+151 |
2016-06-21 | Remove the legacy v0 content upload API. | Mark Haines | 3 | -132/+3 |
2016-06-21 | Fix substitution failure in mail template | David Baker | 1 | -1/+1 |
2016-06-20 | Optionally make committing to postgres asynchronous. | Mark Haines | 3 | -3/+14 |
2016-06-20 | Bump version and changelog | Erik Johnston | 2 | -1/+16 |
2016-06-17 | Add the create_profile method back since the tests use it | Mark Haines | 1 | -0/+6 |
2016-06-17 | Add a comment on why we don't create a profile for upgrading users | Mark Haines | 1 | -0/+1 |
2016-06-17 | Remove registered_users from the distributor. | Mark Haines | 5 | -33/+24 |
2016-06-17 | Linearize some federation endpoints based on (origin, room_id) | Erik Johnston | 2 | -67/+78 |
2016-06-17 | Disable responding with canonical json for federation | Erik Johnston | 1 | -1/+1 |
2016-06-17 | Enable use_frozen_events in tests | Erik Johnston | 1 | -0/+1 |
2016-06-17 | Turn use_frozen_events off by default | Erik Johnston | 1 | -1/+1 |