David Baker
|
b56730bb6e
|
Merge branch 'develop' into pushers
Conflicts:
synapse/api/errors.py
synapse/server.py
synapse/storage/__init__.py
|
2014-12-18 15:15:22 +00:00 |
Erik Johnston
|
3c77d13aa5
|
Kill off synapse.api.events.*
|
2014-12-16 11:29:05 +00:00 |
Erik Johnston
|
fc409096ac
|
Make auth module use EventTypes constants
|
2014-12-12 16:31:50 +00:00 |
Erik Johnston
|
63810c777d
|
Validate message, topic and name event contents
|
2014-12-12 11:01:09 +00:00 |
Erik Johnston
|
fa4b610ae3
|
Fix stream test. Make sure we add join to auth_events for invitiations
|
2014-12-12 10:42:27 +00:00 |
Erik Johnston
|
cde840a82c
|
Merge branch 'develop' of github.com:matrix-org/synapse into events_refactor
Conflicts:
setup.py
|
2014-12-11 17:48:48 +00:00 |
Mark Haines
|
d80d505b1f
|
Limit the size of images that are thumbnailed serverside. Limit the size of file that a server will download from a remote server
|
2014-12-11 14:19:32 +00:00 |
Mark Haines
|
61fc37e467
|
Merge branch 'develop' into media_repository
|
2014-12-10 16:14:17 +00:00 |
Erik Johnston
|
008303b245
|
PEP8
|
2014-12-09 14:49:11 +00:00 |
Erik Johnston
|
ba3d1e2fc0
|
Remove unused import
|
2014-12-08 12:01:25 +00:00 |
Erik Johnston
|
d044121168
|
Various typos and bug fixes.
|
2014-12-08 09:08:26 +00:00 |
Erik Johnston
|
6630e1b579
|
Start making more things use EventContext rather than event.*
|
2014-12-05 16:20:48 +00:00 |
Erik Johnston
|
5d7c9ab789
|
Begin converting things to use the new Event structure
|
2014-12-04 11:27:59 +00:00 |
Erik Johnston
|
75b4329aaa
|
WIP for new way of managing events.
|
2014-12-03 16:07:21 +00:00 |
Mark Haines
|
5da65085d1
|
Get uploads working with new media repo
|
2014-12-02 19:51:47 +00:00 |
David Baker
|
7642d95d5e
|
Merge branch 'develop' into pushers
|
2014-12-02 13:50:05 +00:00 |
Erik Johnston
|
9d53228158
|
Change DomainSpecificString so that it doesn't use a HomeServer object
|
2014-12-02 10:42:28 +00:00 |
Erik Johnston
|
027542e2e5
|
Fix bugs when joining a remote room that has dodgy event graphs. This should also fix the number of times a HS will trigger a GET /event/
|
2014-11-27 16:02:26 +00:00 |
Erik Johnston
|
64fc859dac
|
Fix bugs in invite/join dances.
We now do more implement more of the auth on the events so that we
don't reject valid events.
|
2014-11-25 17:59:49 +00:00 |
Erik Johnston
|
e549aac127
|
Add missing None check
|
2014-11-24 13:47:58 +00:00 |
David Baker
|
23465a30b6
|
Merge branch 'develop' into pushers
|
2014-11-20 18:17:46 +00:00 |
Mark Haines
|
db9ce032a4
|
Fix pep8 codestyle warnings
|
2014-11-20 17:26:36 +00:00 |
Mark Haines
|
dfdda2c871
|
Use module loggers rather than the root logger. Exceptions caused by bad clients shouldn't cause ERROR level logging. Fix sql logging to use 'repr' rather than 'str'
|
2014-11-20 17:10:37 +00:00 |
David Baker
|
74c3879760
|
Start creating a module to do generic notifications (just prints them to stdout currently!)
|
2014-11-19 18:20:59 +00:00 |
Erik Johnston
|
512993b57f
|
Only users can set state events which have their own user_id
|
2014-11-19 17:22:37 +00:00 |
Mark Haines
|
c5eabe3143
|
replace user_id with sender
|
2014-11-19 16:38:40 +00:00 |
Mark Haines
|
428581dd05
|
SYN-144: Remove bad keys from pdu json objects, convert age_ts to age
for all pdus sent.
|
2014-11-18 19:20:25 +00:00 |
Mark Haines
|
3553101eb3
|
Null check when determining default power levels
|
2014-11-18 15:43:17 +00:00 |
Erik Johnston
|
95614e5220
|
Fix auth to correctly handle initial creation of rooms
|
2014-11-18 15:36:41 +00:00 |
Mark Haines
|
cb4b6c844a
|
Merge PDUs and Events into one object
|
2014-11-14 21:25:02 +00:00 |
Erik Johnston
|
6fea478d2e
|
Fix bugs with invites/joins across federatiom.
Both in terms of auth and not trying to fetch missing PDUs for invites,
joins etc.
|
2014-11-12 11:24:11 +00:00 |
Erik Johnston
|
2cdff00788
|
Fix typo in validator
|
2014-11-11 10:31:47 +00:00 |
Erik Johnston
|
0292d991af
|
Add EventValidator module
|
2014-11-11 08:09:28 +00:00 |
Erik Johnston
|
a8e565eca8
|
Add an EventValidator. Fix bugs in auth ++ storage
|
2014-11-10 18:25:42 +00:00 |
Erik Johnston
|
5d439b127b
|
PEP8
|
2014-11-10 13:46:44 +00:00 |
Erik Johnston
|
6447db063a
|
Fix backfill to work. Add auth to backfill request
|
2014-11-10 11:59:51 +00:00 |
Erik Johnston
|
65f846ade0
|
Notify users about invites.
|
2014-11-10 11:15:02 +00:00 |
Erik Johnston
|
407d8a5019
|
Fix invite auth
|
2014-11-10 10:35:43 +00:00 |
Erik Johnston
|
1c06806f90
|
Finish redaction algorithm.
|
2014-11-10 10:21:32 +00:00 |
Erik Johnston
|
97a096b507
|
Add hash of current state to events
|
2014-11-07 11:37:06 +00:00 |
Erik Johnston
|
49948d72f3
|
Fix joining over federation
|
2014-11-07 10:53:38 +00:00 |
Erik Johnston
|
bf6b72eb55
|
Start implementing auth chains
|
2014-11-07 10:53:38 +00:00 |
Erik Johnston
|
8421cabb9d
|
Neaten things up a bit
|
2014-11-07 10:53:38 +00:00 |
Erik Johnston
|
351c64e99e
|
Amalgamate all power levels.
Remove concept of reqired power levels, something similiar can be done
using the new power level event.
|
2014-11-06 16:59:13 +00:00 |
Erik Johnston
|
c6766d45b5
|
Don't send prev_state to clients anymore
|
2014-11-06 15:19:00 +00:00 |
Erik Johnston
|
4317c8e583
|
Implement new replace_state and changed prev_state
`prev_state` is now a list of previous state ids, similiar to
prev_events. `replace_state` now points to what we think was replaced.
|
2014-11-06 15:10:55 +00:00 |
Erik Johnston
|
96c001e668
|
Fix auth checks to all use the given old_event_state
|
2014-11-05 11:07:54 +00:00 |
Erik Johnston
|
8918422156
|
Move FederationError to synapse.api.errors
|
2014-11-04 15:10:27 +00:00 |
Erik Johnston
|
68698e0ac8
|
Fix bugs in generating event signatures and hashing
|
2014-11-03 17:51:42 +00:00 |
Erik Johnston
|
ad6eacb3e9
|
Rename PDU fields to match that of events.
|
2014-11-03 13:06:58 +00:00 |
Erik Johnston
|
0a8b026ccf
|
Add 'origin' key to events
|
2014-11-03 11:32:42 +00:00 |
Erik Johnston
|
4a1597f295
|
Fix bug in redaction auth.
This caused a 500 when sending a redaction due to a typo in a method
invocation.
|
2014-10-31 09:48:59 +00:00 |
Erik Johnston
|
12ce441e67
|
Convert event ids to be of the form :example.com
|
2014-10-30 17:00:11 +00:00 |
Erik Johnston
|
ef9c4476a0
|
Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
|
2014-10-30 11:18:28 +00:00 |
Mark Haines
|
7d709542ca
|
Fix pep8 warnings
|
2014-10-30 11:10:17 +00:00 |
Erik Johnston
|
2d1dfb3b34
|
Begin implementing all the PDU storage stuff in Events land
|
2014-10-28 16:42:35 +00:00 |
Erik Johnston
|
ad9226eeec
|
Merge branch 'event_signing' of github.com:matrix-org/synapse into federation_authorization
Conflicts:
synapse/storage/__init__.py
|
2014-10-27 11:58:32 +00:00 |
Erik Johnston
|
bb4a20174c
|
Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
Conflicts:
synapse/federation/transport.py
synapse/handlers/message.py
|
2014-10-27 10:20:44 +00:00 |
Erik Johnston
|
b3b1961496
|
Fix bug where people could join private rooms
|
2014-10-17 19:37:41 +01:00 |
Erik Johnston
|
5ffe5ab43f
|
Use state groups to get current state. Make join dance actually work.
|
2014-10-17 18:56:42 +01:00 |
Mark Haines
|
dc3c2823ac
|
Merge branch 'develop' into event_signing
Conflicts:
synapse/federation/replication.py
|
2014-10-17 17:33:58 +01:00 |
Mark Haines
|
f5cf7ac25b
|
SPEC-7: Rename 'ts' to 'origin_server_ts'
|
2014-10-17 17:12:25 +01:00 |
Erik Johnston
|
f71627567b
|
Finish implementing the new join dance.
|
2014-10-17 15:04:17 +01:00 |
Mark Haines
|
bb04447c44
|
Include hashes of previous pdus when referencing them
|
2014-10-16 23:25:12 +01:00 |
Erik Johnston
|
1116f5330e
|
Start implementing the invite/join dance. Continue moving auth to use event.state_events
|
2014-10-16 16:56:51 +01:00 |
Mark Haines
|
1c445f88f6
|
persist hashes and origin signatures for PDUs
|
2014-10-15 17:09:04 +01:00 |
Erik Johnston
|
e7bc1291a0
|
Begin making auth use event.old_state_events
|
2014-10-15 16:06:59 +01:00 |
Mark Haines
|
07639c79d9
|
Respond with more helpful error messages for unsigned requests
|
2014-10-13 16:39:15 +01:00 |
Mark Haines
|
9605593d11
|
Merge branch 'develop' into server2server_signing
Conflicts:
synapse/storage/__init__.py
tests/rest/test_presence.py
|
2014-09-30 17:55:06 +01:00 |
Erik Johnston
|
7151615260
|
Update docstring
|
2014-09-29 15:35:54 +01:00 |
Erik Johnston
|
3ccb17ce59
|
SYN-48: Implement WHOIS rest servlet
|
2014-09-29 14:59:52 +01:00 |
Erik Johnston
|
c65306f877
|
Add auth check to test if a user is an admin or not.
|
2014-09-29 13:35:38 +01:00 |
Erik Johnston
|
f7d80930f2
|
SYN-48: Track User-Agents as well as IPs for client devices.
|
2014-09-29 13:35:15 +01:00 |
Erik Johnston
|
0fdf308874
|
Track the IP users connect with. Add an admin column to users table.
|
2014-09-26 16:36:24 +01:00 |
Erik Johnston
|
37bfe44046
|
Merge branch 'deletions' of github.com:matrix-org/synapse into develop
|
2014-09-25 17:02:53 +01:00 |
Erik Johnston
|
dcadfbbd4a
|
Don't strip out null's in serialized events, as that is not need anymore and it's not in the spec (yet)
|
2014-09-25 17:00:17 +01:00 |
Erik Johnston
|
69ddec6589
|
Don't strip of False values from events when serializing
|
2014-09-25 16:49:02 +01:00 |
Erik Johnston
|
327dcc98e3
|
SYN-70: And fix another bug where I can't type
|
2014-09-24 16:19:29 +01:00 |
Erik Johnston
|
87deaf1658
|
SYN-70: Fix typo
|
2014-09-24 16:15:58 +01:00 |
Erik Johnston
|
70899d3ab2
|
Rename deletions to redactions
|
2014-09-24 15:27:59 +01:00 |
Erik Johnston
|
4e79b09dd9
|
Fill out the prune_event method.
|
2014-09-24 11:37:14 +01:00 |
Mark Haines
|
e3117a2a23
|
Add a _matrix/key/v1 resource with the verification keys of the local server
|
2014-09-23 18:43:34 +01:00 |
Erik Johnston
|
efea61dc50
|
Rename 'pruned' to 'pruned_because'
|
2014-09-23 17:40:58 +01:00 |
Erik Johnston
|
bc250a6afa
|
SYN-12: Implement auth for deletion by adding a 'delete_level' on the ops levels event
SYN-12 # comment Auth has been added.
|
2014-09-23 17:36:24 +01:00 |
Erik Johnston
|
932b376b4e
|
Add prune_event method
|
2014-09-23 15:37:32 +01:00 |
Erik Johnston
|
78af6bbb98
|
Add m.room.deletion. If an event is deleted it will be returned to clients 'pruned', i.e. all client specified keys will be removed.
|
2014-09-23 15:28:32 +01:00 |
Paul "LeoNerd" Evans
|
4571cf7baa
|
Merge branch 'develop' into test-sqlite-memory
|
2014-09-17 18:27:47 +01:00 |
Paul "LeoNerd" Evans
|
9973298e2a
|
Print expected-vs-actual data types on typecheck failure from check_json()
|
2014-09-17 15:27:45 +01:00 |
Erik Johnston
|
1e4b971f95
|
Fix bug where we didn't always get 'prev_content' key
|
2014-09-15 17:43:46 +01:00 |
Erik Johnston
|
40d2f38abe
|
Fix bug where we incorrectly calculated 'age_ts' from 'age' key rather than the reverse. Don't transmit age_ts to clients for now.
|
2014-09-15 16:55:39 +01:00 |
Kegan Dougal
|
14bc4ed59f
|
Merge branch 'develop' of github.com:matrix-org/synapse into registration-api-changes in preparation for re-merge to develop.
|
2014-09-15 15:27:58 +01:00 |
Erik Johnston
|
5bd9369a62
|
Correctly handle the 'age' key in events and pdus
|
2014-09-15 13:26:11 +01:00 |
Kegan Dougal
|
34878bc26a
|
Added LoginType constants. Created general structure for processing registrations.
|
2014-09-15 10:23:20 +01:00 |
Kegan Dougal
|
1a298aad9c
|
Added captcha support on both the HS and web client.
Merge branch 'captcha' of github.com:matrix-org/synapse into develop
|
2014-09-05 23:32:51 -07:00 |
Kegan Dougal
|
1829b55bb0
|
Captchas now work on registration. Missing x-forwarded-for config arg support. Missing reloading a new captcha on the web client / displaying a sensible error message.
|
2014-09-05 19:18:23 -07:00 |
Erik Johnston
|
6d19fe1481
|
Fix generation of event ids so that they are consistent between local and remote ids
|
2014-09-06 02:48:13 +01:00 |
Erik Johnston
|
781ff713ba
|
When getting a state event also include the previous content
|
2014-09-06 02:23:36 +01:00 |
Kegan Dougal
|
0b9e1e7b56
|
Added a captcha config to the HS, to enable registration captcha checking and for the recaptcha private key.
|
2014-09-05 17:58:06 -07:00 |
Erik Johnston
|
480438eee6
|
Validate power levels event changes. Change error messages to be more helpful. Fix bug where we checked the wrong power levels
|
2014-09-05 21:54:16 +01:00 |
Erik Johnston
|
9dd4570b68
|
Generate m.room.aliases event when the HS creates a room alias
|
2014-09-05 21:35:56 +01:00 |
Erik Johnston
|
250ee2ea7d
|
AUth the contents of power level events
|
2014-09-05 17:13:19 +01:00 |
Erik Johnston
|
95037d8d9d
|
Change the default power levels to be 0, 50 and 100
|
2014-09-05 17:13:03 +01:00 |
Matthew Hodgson
|
8a7c1d6a00
|
fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org hasn't been incorporated in time for launch.
|
2014-09-03 17:31:57 +01:00 |
Kegan Dougal
|
cd0afb85c4
|
Updated feedback api docs and fixed feedback content template bug
|
2014-09-03 13:08:17 +01:00 |
Mark Haines
|
c6eafdfbaf
|
Add copyright notices and fix pyflakes errors
|
2014-09-03 09:43:11 +01:00 |
Mark Haines
|
112c7ea315
|
Set status message for ratelimit error responses
|
2014-09-03 09:37:44 +01:00 |
Mark Haines
|
30ad0c5674
|
Merge branch 'ratelimiting' into develop
|
2014-09-03 09:15:52 +01:00 |
Mark Haines
|
683596f91e
|
Raise LimitExceedError when the ratelimiting is throttling requests
|
2014-09-03 08:58:48 +01:00 |
Mark Haines
|
c7a7cdf734
|
Add ratelimiting function to basehandler
|
2014-09-02 17:57:04 +01:00 |
Mark Haines
|
dd2cd9312a
|
Test ratelimiter
|
2014-09-02 15:16:26 +01:00 |
Erik Johnston
|
4b8244fbf8
|
Fix bug where we didn't correctly store the ops power levels event.
|
2014-09-02 12:12:14 +01:00 |
Mark Haines
|
436b3c7d0c
|
Ratelimiter object
|
2014-09-02 11:16:21 +01:00 |
Erik Johnston
|
db02021aba
|
Implement auth for kicking.
|
2014-09-02 10:58:33 +01:00 |
Erik Johnston
|
b8ab9f1c0a
|
Add all the necessary checks to make banning work.
|
2014-09-01 18:24:56 +01:00 |
Erik Johnston
|
db7109c43b
|
Add beginnings of ban support.
|
2014-09-01 16:15:34 +01:00 |
Erik Johnston
|
865469f233
|
Implement power level lists, default power levels and send_evnet_level/add_state_level events.
|
2014-09-01 14:39:09 +01:00 |
Erik Johnston
|
10efca1a74
|
Merge branch 'develop' of github.com:matrix-org/synapse into room_config
|
2014-09-01 13:41:44 +01:00 |
Matthew Hodgson
|
8fe912d95c
|
change the world: make the default matrix API URL prefix /_matrix rather than /matrix to make it easier for existing websites to mount a HS in their namespace without collisions.
perl -pi -e 's#/matrix#/_matrix#g' ./cmdclient/console.py ./docs/client-server/howto.rst ./docs/client-server/specification.rst ./docs/client-server/swagger_matrix/directory ./docs/client-server/swagger_matrix/events ./docs/client-server/swagger_matrix/login ./docs/client-server/swagger_matrix/presence ./docs/client-server/swagger_matrix/profile ./docs/client-server/swagger_matrix/registration ./docs/client-server/swagger_matrix/rooms ./docs/server-server/specification.rst ./graph/graph.py ./jsfiddles/create_room_send_msg/demo.js ./jsfiddles/event_stream/demo.js ./jsfiddles/example_app/demo.js ./jsfiddles/register_login/demo.js ./jsfiddles/room_memberships/demo.js ./synapse/api/urls.py ./tests/federation/test_federation.py ./tests/handlers/test_presence.py ./tests/handlers/test_typing.py ./tests/rest/test_events.py ./tests/rest/test_presence.py ./tests/rest/test_profile.py ./tests/rest/test_rooms.py ./webclient/components/fileUpload/file-upload-service.js ./webclient/components/matrix/matrix-service.js
|
2014-08-31 14:51:37 +01:00 |
Erik Johnston
|
d2bc5d6f29
|
Create the correct events with the right configuration when creating a new room.
|
2014-08-28 10:59:15 +01:00 |
Mark Haines
|
2aeaa7b77c
|
Merge branch 'develop' into storage_transactions
Conflicts:
synapse/handlers/room.py
synapse/storage/stream.py
|
2014-08-27 17:15:58 +01:00 |
Mark Haines
|
b30358f439
|
add _get_room_member, fix datastore methods
|
2014-08-27 16:51:54 +01:00 |
Erik Johnston
|
47519cd8c2
|
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
Conflicts:
synapse/handlers/events.py
synapse/rest/events.py
synapse/rest/room.py
|
2014-08-27 14:13:06 +01:00 |
Mark Haines
|
bf05218c4b
|
Merge branch 'develop' into storage_transactions
|
2014-08-27 11:19:37 +01:00 |
Kegan Dougal
|
dfa0cd1d90
|
Modified /join/$identifier to support $identifier being a room ID in addition to a room alias.
|
2014-08-27 09:43:42 +01:00 |
Erik Johnston
|
93cff1668c
|
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
|
2014-08-26 18:57:55 +01:00 |
Erik Johnston
|
3a2a5b959c
|
WIP: Completely change how event streaming and pagination work. This reflects the change in the underlying storage model.
|
2014-08-26 18:57:46 +01:00 |
Kegan Dougal
|
5a3df1d029
|
Feedback: Removed FeedbackRestServlet. Modified keys on FeedbackEvent. Expanded the feedback constants to fully explain what type of feedback they are.
|
2014-08-26 17:49:46 +01:00 |
Mark Haines
|
4b63b06cad
|
Merge branch 'develop' into storage_transactions
Conflicts:
synapse/api/auth.py
synapse/handlers/room.py
synapse/storage/__init__.py
|
2014-08-26 16:07:05 +01:00 |
Erik Johnston
|
3df5cb804f
|
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
|
2014-08-26 16:03:56 +01:00 |
Mark Haines
|
ac21dfff6d
|
Fix pyflakes errors
|
2014-08-26 16:02:59 +01:00 |
Erik Johnston
|
485bb64ddb
|
Merge branch 'develop' of github.com:matrix-org/synapse into stream_refactor
|
2014-08-26 13:55:37 +01:00 |
Kegan Dougal
|
52b64617f9
|
Merge branch 'develop' of github.com:matrix-org/synapse into client_server_url_rename
|
2014-08-26 10:04:26 +01:00 |
Erik Johnston
|
fea7b60cf3
|
Add 'state_key' to valid_keys
|
2014-08-26 09:40:58 +01:00 |
Erik Johnston
|
b52b33acf6
|
Send down state_key to clients
|
2014-08-26 09:40:29 +01:00 |
Kegan Dougal
|
47c3a089c5
|
Merge branch 'develop' of github.com:matrix-org/synapse into client_server_url_rename
|
2014-08-26 09:26:33 +01:00 |
Kegan Dougal
|
cab3095803
|
Removed member list servlet: now using generic state paths.
|
2014-08-26 09:26:07 +01:00 |
Mark Haines
|
1379dcae6f
|
Take a snapshot of the state of the room before performing updates
|
2014-08-22 17:00:10 +01:00 |
Kegan Dougal
|
f690b7b827
|
Impl: /rooms/roomid/state/eventtype/state_key - Renamed RoomTopicRestServlet to RoomStateEventRestServlet. Support generic state event sending.
|
2014-08-22 15:59:15 +01:00 |
Erik Johnston
|
5670da1c1e
|
Add ts field to all events.
|
2014-08-21 17:46:52 +01:00 |
Erik Johnston
|
063e1b22e6
|
Stop internal keys from getting into SynapseEvents
|
2014-08-21 15:06:00 +01:00 |
Erik Johnston
|
81a95937de
|
Use new StreamToken in pagination config
|
2014-08-21 11:01:33 +01:00 |
Erik Johnston
|
7c60905ee7
|
Default from param to 'END'
|
2014-08-19 15:52:10 +01:00 |
Erik Johnston
|
347242a5c4
|
Merge branch 'master' of github.com:matrix-org/synapse into sql_refactor
Conflicts:
tests/rest/test_presence.py
tests/rest/test_rooms.py
tests/utils.py
|
2014-08-19 14:48:19 +01:00 |
Erik Johnston
|
598a1d8ff9
|
Change the way pagination works to support out of order events.
|
2014-08-19 14:19:48 +01:00 |
Kegan Dougal
|
a18b1a649c
|
Added /matrix/content path, HS resource_for_content_repo attribute and FileUploadResource. Added stub methods.
|
2014-08-18 17:18:54 +01:00 |
Erik Johnston
|
291010f100
|
Not all event streams returns SynapseEvents
|
2014-08-18 11:06:59 +01:00 |
Erik Johnston
|
1a1e0384ef
|
Ensure we have a 'membership' key in RoomMemberEvents
|
2014-08-18 10:59:57 +01:00 |
Erik Johnston
|
d260a42ca2
|
PEP8 cleanups
|
2014-08-15 16:17:36 +01:00 |
Erik Johnston
|
19946509a4
|
Support generic events.
|
2014-08-15 16:06:08 +01:00 |
Erik Johnston
|
01f089d9fb
|
Correctly return new token when returning events. Serialize events correctly.
|
2014-08-15 15:28:54 +01:00 |