summary refs log tree commit diff
path: root/synapse/rest/client (follow)
Commit message (Expand)AuthorAgeFilesLines
* Working unsubscribe links going straight to the HSDavid Baker2016-06-021-1/+3
* Merge branch 'dbkr/split_out_auth_handler' into dbkr/email_unsubscribeDavid Baker2016-06-025-10/+11
|\
| * Split out the auth handlerDavid Baker2016-06-025-10/+11
* | WIP on unsubscribing email notifs without logging inDavid Baker2016-06-011-1/+54
|/
* Basic, un-cached support for secondary_directory_serversDavid Baker2016-05-311-1/+2
* Split out the room list handlerDavid Baker2016-05-311-1/+1
* Allow clients to specify a server_name to avoid 'No known servers'Kegan Dougal2016-05-191-1/+4
* Move typing handler out of the Handlers objectMark Haines2016-05-171-4/+3
* Move SyncHandler out of the Handlers objectMark Haines2016-05-161-2/+1
* Move the presence handler out of the Handlers objectMark Haines2016-05-164-9/+17
* Create user with expiryNegi Fazeli2016-05-131-0/+71
* Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-05-102-0/+155
|\
| * Rename openid/token to openid/request_tokenMark Haines2016-05-051-2/+2
| * Add an openidish mechanism for proving to third parties that you own a given ...Mark Haines2016-05-051-0/+96
| * Add timestamp and auto incrementing IDErik Johnston2016-05-041-0/+2
| * Move event_id to pathErik Johnston2016-05-041-4/+2
| * Add /report endpointErik Johnston2016-05-041-0/+59
* | More consistent config namingDavid Baker2016-05-101-1/+1
* | Add config option to not send email notifs for new usersDavid Baker2016-05-101-1/+4
* | Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-04-291-0/+1
|\|
| * Fix password resetDavid Baker2016-04-291-0/+1
* | Add an email pusher for new usersDavid Baker2016-04-291-0/+26
|/
* Make pyjwt dependency optionalErik Johnston2016-04-251-5/+7
* Merge pull request #687 from nikriek/jwt-fixErik Johnston2016-04-211-3/+6
|\
| * Fix issues with JWT loginNiklas Riekenbrauck2016-04-211-3/+6
* | Make v2_alpha reg follow the AS API specificationKegan Dougal2016-04-141-0/+5
* | Make the /set part mandatoryDavid Baker2016-04-121-1/+1
* | Mis-named functionDavid Baker2016-04-121-1/+1
* | Split into separate servlet classesDavid Baker2016-04-121-11/+16
* | Add get endpoint for pushersDavid Baker2016-04-111-1/+34
|/
* Use google style doc strings.Mark Haines2016-04-011-36/+43
* Remove spurious commentErik Johnston2016-03-301-1/+0
* Require user to have left room to forget roomErik Johnston2016-03-301-0/+38
* Add JWT supportNiklas Riekenbrauck2016-03-291-0/+53
* Deduplicate identical /sync requestsMark Haines2016-03-241-0/+3
* Add published room list edit APIErik Johnston2016-03-211-0/+42
* Merge pull request #652 from matrix-org/erikj/delete_aliasErik Johnston2016-03-181-1/+2
|\
| * Update aliases event after deletionErik Johnston2016-03-171-1/+2
* | remove debug loggingDavid Baker2016-03-161-3/+0
* | Unused importDavid Baker2016-03-161-1/+0
* | Make registration idempotent, part 2: be idempotent if the client specifies a...David Baker2016-03-161-5/+17
|/
* take extra return val from check_auth in account tooDavid Baker2016-03-161-1/+1
* pep8 & remove debug loggingDavid Baker2016-03-161-4/+5
* Make registration idempotent: if you specify the same session, make it give y...David Baker2016-03-161-1/+26
* Hook up adding a pusher to the notifier for replication.Mark Haines2016-03-151-0/+6
* Fix regression where synapse checked whether push rules were valid JSON befor...Mark Haines2016-03-141-2/+2
* Merge pull request #642 from matrix-org/erikj/logoutErik Johnston2016-03-111-0/+72
|\
| * Implement logoutErik Johnston2016-03-111-0/+72
* | Use parse_json_object_from_request to parse JSON out of request bodiesMark Haines2016-03-117-71/+29
|/
* Fix cache invalidation so deleting access tokens (which we did when changing ...David Baker2016-03-111-1/+1
* Register endpoint returns refresh_tokenblide2016-03-101-5/+8
* Add a parse_json_object functionMark Haines2016-03-0910-116/+32
* Fix relative imports so they work in both py3 and py27Mark Haines2016-03-086-6/+6
* Use syntax that works on both py2.7 and py3Mark Haines2016-03-071-1/+1
* Merge branch 'develop' into markjh/pushrule_streamMark Haines2016-03-043-10/+11
|\
| * Merge pull request #614 from matrix-org/erikj/alias_deleteErik Johnston2016-03-041-3/+0
| |\
| | * Allow alias creators to delete aliasesErik Johnston2016-03-011-3/+0
| * | Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-033-7/+11
| |/
* | Hook up the push rules stream to account_data in /syncMark Haines2016-03-041-1/+1
* | Move the code for formatting push rules into a separate functionMark Haines2016-03-031-86/+4
* | Hook up the push rules to the notifierMark Haines2016-03-031-15/+29
|/
* Add support for changing the actions for default rulesMark Haines2016-02-261-4/+27
* Fix to appease the PEP8 dragonGergely Polonkai2016-02-261-1/+3
* Add error codes for malformed/bad JSON in /loginGergely Polonkai2016-02-261-2/+2
* Make sure we return a JSON object when returning the values of specif…Mark Haines2016-02-251-1/+3
* Remove unused get_rule_attr methodMark Haines2016-02-241-8/+0
* Ignore invalid POST bodies when joining roomsDaniel Wagner-Hall2016-02-241-2/+12
* Allow third_party_signed to be specified on /joinDaniel Wagner-Hall2016-02-231-0/+4
* Merge pull request #582 from matrix-org/erikj/presenceErik Johnston2016-02-194-28/+35
|\
| * "You are not..."Erik Johnston2016-02-181-1/+1
| * Initial cutErik Johnston2016-02-174-28/+35
* | Remove dead code for setting device specific rules.Mark Haines2016-02-182-88/+8
* | Merge branch 'develop' into daniel/roomcleanupincrementalDaniel Wagner-Hall2016-02-172-2/+2
|\|
| * client/v1/room: include event_id in response to state event PUT, in accordanc...Patrik Oldsberg2016-02-171-2/+2
| * Fix typo in request validation for adding push rules.Mark Haines2016-02-161-1/+1
| * Simplify room creation codeDaniel Wagner-Hall2016-02-151-15/+3
* | Some cleanupDaniel Wagner-Hall2016-02-171-3/+3
* | Branch off member and non member sendsDaniel Wagner-Hall2016-02-151-5/+16
* | Simplify room creation codeDaniel Wagner-Hall2016-02-151-15/+3
* | Reuse update_membership from /joinDaniel Wagner-Hall2016-02-151-16/+5
* | Merge implementation of /join by alias or IDDaniel Wagner-Hall2016-02-151-37/+31
* | Merge some room joining codepathsDaniel Wagner-Hall2016-02-151-1/+1
|/
* Revert "Merge two of the room join codepaths"Daniel Wagner-Hall2016-02-121-13/+55
* Merge two of the room join codepathsDaniel Wagner-Hall2016-02-121-55/+13
* Catch the exceptions thrown by twisted when you write to a closed connectionMark Haines2016-02-122-6/+9
* Add some paranoia loggingErik Johnston2016-02-111-0/+10
* Revert "Reject additional path segments"Daniel Wagner-Hall2016-02-093-6/+6
* Merge pull request #564 from matrix-org/erikj/logcontextErik Johnston2016-02-082-4/+4
|\
| * Fix up logcontextsErik Johnston2016-02-082-4/+4
* | Reject additional path segmentsDaniel Wagner-Hall2016-02-083-6/+6
|/
* Merge pull request #557 from matrix-org/dbkr/profile_dont_return_nullDavid Baker2016-02-041-6/+17
|\
| * No braces hereDavid Baker2016-02-031-1/+1
| * Don't return null if profile display name / avatar url isn't set: omit them i...David Baker2016-02-031-6/+17
* | Remove old log lineErik Johnston2016-02-031-2/+0
|/
* Rename config field to reflect yaml nameDaniel Wagner-Hall2016-02-032-3/+3
* Fix flake8 warnings for new flake8Daniel Wagner-Hall2016-02-025-8/+8
* Merge pull request #545 from matrix-org/erikj/syncErik Johnston2016-02-021-75/+0
|\
| * Move state calculations from rest to handlerErik Johnston2016-02-011-75/+0
* | Pull guest access token out of the auth session params, otherwise it will bre...David Baker2016-02-011-0/+1
|/
* Allow three_pid_creds as well as threePidCreds in /account/3pidMark Haines2016-01-291-2/+3
* Fix adding push rules relative to other rulesMark Haines2016-01-271-5/+10
* Merge pull request #528 from matrix-org/markjh/missing_yieldMark Haines2016-01-251-2/+2
|\
| * Add missing yield in push_rules set enabledMark Haines2016-01-251-2/+2
* | Move logic from rest/ to handlers/Erik Johnston2016-01-251-34/+23
|/
* Sanitize filtersErik Johnston2016-01-222-13/+13
* Fix change_passwordErik Johnston2016-01-201-3/+2
* Whine if we give a from param to /syncErik Johnston2016-01-201-0/+7
* Allow non-guests to peek on rooms using /eventsDaniel Wagner-Hall2016-01-202-4/+3
* Only compute unread notifications for rooms we send down streamErik Johnston2016-01-191-2/+1
* Return highlight_count in /syncErik Johnston2016-01-191-0/+1
* Take a deepcopy of push rules before mutating themErik Johnston2016-01-191-1/+3
* Use static for const dictsErik Johnston2016-01-181-1/+7
* Remove internal idsErik Johnston2016-01-181-0/+4
* Require unbanning before other membership changesDaniel Wagner-Hall2016-01-151-39/+12
* Merge branch 'release-v0.12.1' into developRichard van der Hoff2016-01-141-0/+6
|\
| * Add 'event' result to 'context' endpointRichard van der Hoff2016-01-131-0/+6
* | Fix enabling & disabling push rulesDavid Baker2016-01-141-1/+1
* | Rename 'user_name' to 'user_id' in push to make it consistent with the rest o...Mark Haines2016-01-132-7/+7
* | Merge pull request #478 from matrix-org/daniel/userobjectDaniel Wagner-Hall2016-01-1117-123/+154
|\ \
| * | Introduce a Requester objectDaniel Wagner-Hall2016-01-1117-123/+154
* | | Merge pull request #456 from matrix-org/store_event_actionsDavid Baker2016-01-082-1/+5
|\ \ \ | |/ / |/| |
| * | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-061-6/+1
| |\ \
| * | | Add is_guest flag to users db to track whether a user is a guest user or not....David Baker2016-01-061-1/+4
| * | | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-051-3/+9
| |\ \ \
| * | | | Only joined rooms have unread_notif_countDavid Baker2016-01-041-1/+1
| * | | | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-041-1/+1
| |\ \ \ \ | | | |_|/ | | |/| |
| * | | | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2015-12-221-1/+9
| |\ \ \ \
| * \ \ \ \ Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2015-12-212-7/+22
| |\ \ \ \ \
| * | | | | | still very WIP, but now sends unread_notifications_count in the room object o...David Baker2015-12-161-0/+1
* | | | | | | copyrightsMatthew Hodgson2016-01-0727-27/+27
* | | | | | | Add /_matrix/versions to report supported versionsDaniel Wagner-Hall2016-01-061-0/+36
| |_|_|_|_|/ |/| | | | |
* | | | | | Guest users must be joined to a room to see it in /syncMark Haines2016-01-061-6/+1
| |_|_|_|/ |/| | | |
* | | | | Allow guests to upgrade their accountsDaniel Wagner-Hall2016-01-051-3/+9
| |_|_|/ |/| | |
* | | | Expose /login under r0Richard van der Hoff2016-01-021-1/+1
| |_|/ |/| |
* | | Allow guest access if the user provides a list of rooms in the filterMark Haines2015-12-221-1/+9
| |/ |/|
* | Remove accidentally committed debug loggingMark Haines2015-12-211-1/+0
* | Fix spacingMark Haines2015-12-141-1/+1
* | Fix logging to lie lessMark Haines2015-12-141-2/+9
* | Add commentary for fix in PR#442Mark Haines2015-12-141-0/+6
* | Combine the prev content testsMark Haines2015-12-141-14/+12
* | Check whether prev_content or prev_sender is set before trying to rollback stateMark Haines2015-12-141-8/+13
* | Missing yieldMark Haines2015-12-101-1/+1
|/
* Allow filter JSON object in the filter query parameter in /syncMark Haines2015-12-091-9/+21
* Actually host r0 and unstable prefixesDaniel Wagner-Hall2015-12-082-66/+0
* also do more structured loggingDavid Baker2015-12-071-0/+1
* pep8David Baker2015-12-071-0/+1
* Add logging to pushers API to log the body of the requestDavid Baker2015-12-071-0/+4
* Take object not boolDaniel Wagner-Hall2015-12-071-0/+5
* Merge pull request #415 from matrix-org/daniel/endpointsDaniel Wagner-Hall2015-12-036-35/+11
|\
| * Update endpoints to reflect current specDaniel Wagner-Hall2015-12-026-35/+11
* | Fix implementation of /admin/whoisDaniel Wagner-Hall2015-12-021-1/+1
|/
* Reuse a single http client, rather than creating new onesMark Haines2015-12-021-5/+2
* Add API for setting account_data globaly or on a per room basisMark Haines2015-12-013-0/+119
* Host /unstable and /r0 versions of r0 APIsDaniel Wagner-Hall2015-12-0123-104/+118
* Rename presence_handler.send_invite to presence_handler.send_presence_invite ...Mark Haines2015-12-011-1/+1
* Merge pull request #385 from matrix-org/daniel/forgetroomsMark Haines2015-11-201-3/+10
|\
| * Merge branch 'develop' into daniel/forgetroomsPaul "LeoNerd" Evans2015-11-192-5/+5
| |\
| * | Allow users to forget roomsDaniel Wagner-Hall2015-11-171-3/+10
* | | Merge pull request #389 from matrix-org/rav/flatten_sync_responseRichard van der Hoff2015-11-201-25/+16
|\ \ \
| * \ \ Merge branch 'develop' into rav/flatten_sync_responsePaul "LeoNerd" Evans2015-11-192-5/+5
| |\ \ \ | | | |/ | | |/|
| * | | Put back the 'state.events' subobjectRichard van der Hoff2015-11-191-1/+1
| * | | v2 /sync: Rename the keys of the 'rooms' object to match member statesRichard van der Hoff2015-11-191-3/+3
| * | | Flatten the /sync response to remove the event_mapRichard van der Hoff2015-11-191-22/+13
| | |/ | |/|
* | | Merge pull request #391 from matrix-org/erikj/remove_token_from_flowErik Johnston2015-11-201-1/+10
|\ \ \ | |_|/ |/| |
| * | CommentErik Johnston2015-11-201-0/+8
| * | Remove m.login.token from advertised flows.Erik Johnston2015-11-191-1/+2
| |/
* / s/private_user_data/account_data/Mark Haines2015-11-182-5/+5
|/
* Merge branch 'develop' into sh-cas-auth-via-homeserverSteven Hammerton2015-11-173-15/+152
|\
| * Allow guests to /room/:room_id/{join,leave}Daniel Wagner-Hall2015-11-131-3/+14
| * Implementation of state rollback in /syncRichard van der Hoff2015-11-131-2/+65
| * Make handlers.sync return a state dictionary, instead of an event list.Richard van der Hoff2015-11-131-1/+1
| * Update some commentsRichard van der Hoff2015-11-131-0/+56
| * Merge pull request #360 from matrix-org/daniel/guestroominitialsyncDaniel Wagner-Hall2015-11-121-1/+2
| |\
| | * Allow guest access to room initialSyncDaniel Wagner-Hall2015-11-111-1/+2
| * | Allow guests to set their display namesDaniel Wagner-Hall2015-11-121-1/+1
| * | Allow guests to access room context APIDaniel Wagner-Hall2015-11-111-2/+2
| |/
| * Allow guest users to join and message roomsDaniel Wagner-Hall2015-11-101-3/+10
| * Merge pull request #356 from matrix-org/daniel/3pidyetagainDaniel Wagner-Hall2015-11-101-2/+1
| |\
| | * Get display name from identity server, not clientDaniel Wagner-Hall2015-11-091-2/+1
| * | Add a couple of unit tests for room/<x>/messagesRichard van der Hoff2015-11-091-1/+1
| |/
* | Snakes not camelsSteven Hammerton2015-11-111-5/+5
* | Minor review fixesSteven Hammerton2015-11-111-13/+10
* | Merge branch 'develop' into sh-cas-auth-via-homeserverSteven Hammerton2015-11-052-17/+25
|\|
| * Merge pull request #350 from matrix-org/erikj/searchErik Johnston2015-11-051-1/+2
| |\
| | * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/searchErik Johnston2015-11-0517-45/+82
| | |\
| | * | Implement basic pagination for search resultsErik Johnston2015-11-051-1/+2
| * | | Exchange 3pid invites for m.room.member invitesDaniel Wagner-Hall2015-11-051-12/+8
| | |/ | |/|
| * | Open up /events to anonymous users for room events onlyDaniel Wagner-Hall2015-11-052-4/+15
* | | Allow hs to do CAS login completely and issue the client with a login token t...Steven Hammerton2015-11-051-1/+144
|/ /
* / Allow guests to register and call /events?room_id=Daniel Wagner-Hall2015-11-0417-44/+70
|/
* That TODO was doneMark Haines2015-11-031-1/+0
* Include room tags in v2 /syncMark Haines2015-11-021-0/+5
* Store room tag content and return the content in the m.tag eventMark Haines2015-11-021-2/+10
* Merge branch 'develop' into markjh/room_tagsMark Haines2015-11-022-2/+40
|\
| * Merge pull request #334 from matrix-org/erikj/context_apiErik Johnston2015-10-281-0/+36
| |\
| | * Add room context apiErik Johnston2015-10-281-0/+36
| * | Implement full_state incremental syncRichard van der Hoff2015-10-261-2/+4
| |/
* | Inform the client of new room tags using v1 /eventsMark Haines2015-10-291-3/+11
* | Fix pyflakes errorsMark Haines2015-10-281-0/+2
* | Add APIs for adding and removing tags from roomsMark Haines2015-10-282-0/+91
|/
* Merge branch 'release-v0.10.1' of github.com:matrix-org/synapse into developErik Johnston2015-10-231-1/+7
|\
| * Add config option to disable password loginErik Johnston2015-10-221-1/+7
* | Merge pull request #319 from matrix-org/erikj/filter_refactorErik Johnston2015-10-221-2/+2
|\ \
| * | Refactor api.filtering to have a Filter APIErik Johnston2015-10-201-2/+2
* | | Merge pull request #316 from matrix-org/markjh/v2_sync_archivedMark Haines2015-10-211-6/+23
|\ \ \
| * | | Add rooms that the user has left under archived in v2 sync.Mark Haines2015-10-191-6/+23
* | | | Use 403 and message to match handlers/authKegan Dougal2015-10-211-3/+1
* | | | Don't 500 when the email doesn't map to a valid user ID.Kegan Dougal2015-10-201-0/+4
| |/ / |/| |
* | | Merge pull request #307 from matrix-org/erikj/searchErik Johnston2015-10-191-0/+17
|\ \ \
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/searchErik Johnston2015-10-161-5/+31
| |\| |
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/searchErik Johnston2015-10-151-78/+92
| |\ \ \ | | | |/ | | |/|
| * | | Merge branch 'erikj/store_engine' into erikj/searchErik Johnston2015-10-131-27/+57
| |\ \ \
| * \ \ \ Merge remote-tracking branch 'origin/develop' into erikj/searchErik Johnston2015-10-122-2/+78
| |\ \ \ \
| * | | | | Keep FTS indexes up to date. Only search through rooms currently joinedErik Johnston2015-10-121-1/+1
| * | | | | Add basic full text search impl.Erik Johnston2015-10-091-0/+17
* | | | | | Merge pull request #306 from matrix-org/markjh/unused_methodsMark Haines2015-10-161-30/+0
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | |
| * | | | | synapse.client.v1.login.LoginFallbackRestServlet and synapse.client.v1.login....Mark Haines2015-10-151-30/+0
| | |_|_|/ | |/| | |
* | | | | Merge branch 'develop' into daniel/3pidinvitesDaniel Wagner-Hall2015-10-151-78/+92
|\| | | |
| * | | | Include invites in incremental syncMark Haines2015-10-131-1/+1
| * | | | Include invited rooms in the initial syncMark Haines2015-10-131-1/+20
| * | | | Merge branch 'develop' into markjh/v2_sync_apiMark Haines2015-10-132-2/+108
| |\ \ \ \ | | | |_|/ | | |/| |
| * | | | Start spliting out the rooms into joined and invited in v2 syncMark Haines2015-10-131-9/+9
| * | | | Update the filters to match the latest spec.Mark Haines2015-10-121-15/+11
| * | | | Set the user as online if they start polling the v2 syncMark Haines2015-10-091-3/+11
| * | | | Merge branch 'markjh/eventstream_presence' into markjh/v2_sync_apiMark Haines2015-10-091-0/+4
| |\ \ \ \ | | | |/ / | | |/| |
| * | | | Format the presence events correctly for v2Mark Haines2015-10-091-3/+9
| * | | | Update the v2 room sync format to match the current v2 specMark Haines2015-10-081-7/+7
| * | | | Update the sync response to match the latest specMark Haines2015-10-071-24/+22
| * | | | Move the rooms out into a room_map mapping from room_id to room.Mark Haines2015-10-051-13/+31
| * | | | Start updating the sync API to match the specificationMark Haines2015-10-011-53/+22
* | | | | Remove unnecessary class-wrappingDaniel Wagner-Hall2015-10-131-5/+6
* | | | | Move logic into handlerDaniel Wagner-Hall2015-10-131-115/+18
* | | | | Add loggingDaniel Wagner-Hall2015-10-131-2/+2
* | | | | Move event contents into third_party_layout fieldDaniel Wagner-Hall2015-10-131-1/+2
* | | | | Merge branch 'develop' into daniel/3pidinvitesDaniel Wagner-Hall2015-10-132-2/+108
|\ \ \ \ \ | | |_|/ / | |/| | |
| * | | | Add a comment to clarify why we split on closing curly brace when reading CAS...Steven Hammerton2015-10-121-0/+5
| * | | | Unpack dictionary in for loop for nicer syntaxSteven Hammerton2015-10-121-4/+4
| * | | | Remove not required parenthesisSteven Hammerton2015-10-121-1/+1
| * | | | Support multiple required attributes in CAS response, and in a nicer config f...Steven Hammerton2015-10-121-7/+6
| * | | | Allow optional config params for a required attribute and it's value, if spec...Steven Hammerton2015-10-121-1/+15
| * | | | Parse both user and attributes from CAS responseSteven Hammerton2015-10-121-26/+38
| | |_|/ | |/| |
| * | | Raise LoginError if CasResponse doensn't contain userSteven Hammerton2015-10-101-1/+1
| * | | Fix my broken line splittingSteven Hammerton2015-10-101-4/+6
| * | | Use UserId to create FQ user idSteven Hammerton2015-10-101-1/+1
| * | | Add get_raw method to SimpleHttpClient, use this in CAS auth rather than requ...Steven Hammerton2015-10-101-5/+8
| * | | Formatting changesSteven Hammerton2015-10-101-5/+12
| * | | Provide ability to login using CASSteven Hammerton2015-10-101-1/+63
| * | | Use 'true' rather than '1' for archived flagMark Haines2015-10-081-1/+1
| * | | Add a flag to initial sync to indicate we want rooms that the user has leftMark Haines2015-10-081-1/+3
| | |/ | |/|
* | | Fix lint errorsDaniel Wagner-Hall2015-10-061-3/+4