summary refs log tree commit diff
path: root/webclient (follow)
Commit message (Collapse)AuthorAgeFilesLines
* The away state is unavailable not offlineEmmanuel ROHEE2014-08-291-7/+7
|
* Only show voice call button if there are exactly 2 members in the room. Also ↵David Baker2014-08-292-3/+7
| | | | hide the somewhat user unfriendly call state.
* Oops, forgot a s/sendObject/sendEvent/ - make messages work again!David Baker2014-08-291-1/+1
|
* Don't break if the call ends before it connectsDavid Baker2014-08-291-12/+20
|
* Merge branch 'develop' of github.com:matrix-org/synapse into developDavid Baker2014-08-291-10/+9
|\
| * Show notifications only when the user is detected as idleEmmanuel ROHEE2014-08-291-10/+9
| |
* | Change call signalling messages to be their own types of room events rather ↵David Baker2014-08-295-18/+27
|/ | | | than room messages with different msgtypes: room messages should be things that the client can display as a unit message to the user.
* Merge branch 'voip' into developDavid Baker2014-08-297-3/+379
|\ | | | | | | | | Conflicts: webclient/room/room-controller.js
| * More basic functionality for voip calls (like hanging up)David Baker2014-08-293-5/+69
| |
| * First basic working VoIP call supportDavid Baker2014-08-284-16/+161
| |
| * WIP voip support on web clientDavid Baker2014-08-277-3/+170
| |
* | Cleaned up ng deps. By convention, angular modules must be listed at firstEmmanuel ROHEE2014-08-291-3/+3
| |
* | Added a timeout(40s) to $http stream requests (/events) in order to be ↵Emmanuel ROHEE2014-08-292-10/+27
| | | | | | | | notified by an error when there is a network issue. Thus, we can retry with a new request.
* | Recents update: do not care of events coming from the past (they are fired ↵Emmanuel ROHEE2014-08-291-2/+4
| | | | | | | | when doing pagination of room messages in the past)
* | Display emotes in the recents listEmmanuel ROHEE2014-08-291-0/+5
| |
* | ng-show exists. So, for clarity, avoid to use ng-hide and double negation test.Emmanuel ROHEE2014-08-291-4/+4
| |
* | Renamed matrixService.assignRoomAliases into getRoomAliasAndDisplayNameEmmanuel ROHEE2014-08-293-32/+45
| |
* | Do a smart update of the recents from the events stream rather than ↵Emmanuel ROHEE2014-08-281-7/+21
| | | | | | | | hammering initialSync each time
* | When opening this page, do not join a room already joinedEmmanuel ROHEE2014-08-281-26/+51
| |
* | Added waitForInitialSyncCompletion so that clients can know when they can ↵Emmanuel ROHEE2014-08-282-9/+24
| | | | | | | | access to the data retrieved by the initialSync Request
* | BF: Made member events parsing work (handleEvents expects an array of events)Emmanuel ROHEE2014-08-281-8/+4
| |
* | Cleaned up depsEmmanuel ROHEE2014-08-283-6/+6
| |
* | Start the events stream once the app starts (if credentials are in cache) or ↵Emmanuel ROHEE2014-08-284-9/+4
|/ | | | once the user gets logged in
* Wired the recents list with the stream events for realtime updateEmmanuel ROHEE2014-08-271-9/+10
|
* improve iOS layout a bitMatthew Hodgson2014-08-271-0/+10
|
* BF: mFileInput dependency got lost somewhere and upload buttons did not work ↵Emmanuel ROHEE2014-08-272-2/+2
| | | | anymore
* Highlight the current room in the recents listEmmanuel ROHEE2014-08-274-2/+16
|
* Added the recents component at the left hand side of the room pageEmmanuel ROHEE2014-08-272-1/+14
|
* BF: use room_id if there is no aliasEmmanuel ROHEE2014-08-271-1/+1
|
* Sort recents in anti-chronological orderEmmanuel ROHEE2014-08-273-1/+49
|
* Moved recents things into a separate (and reusable) controlerEmmanuel ROHEE2014-08-276-117/+126
|
* Moved assignRoomAliases into a central piece: matrixService for nowEmmanuel ROHEE2014-08-271-0/+34
|
* Cleaned ng dependenciesEmmanuel ROHEE2014-08-271-3/+3
|
* home/recents: show the last message of each messageEmmanuel ROHEE2014-08-273-8/+102
|
* Rename go() into goToPage() which is available from everywhere thanks to the ↵Emmanuel ROHEE2014-08-272-2/+6
| | | | inheritance of $scope
* Support limit and feedback param of initialSyncEmmanuel ROHEE2014-08-272-3/+15
|
* Renamed /ds to /directoryKegan Dougal2014-08-271-1/+1
|
* Renamed /public/rooms to /publicRoomsKegan Dougal2014-08-271-1/+1
|
* fix joining rooms on webclientDavid Baker2014-08-271-1/+2
|
* Renamed /rooms to /createRoom. Removed ability to PUT raw room IDs, and ↵Kegan Dougal2014-08-271-1/+1
| | | | removed tests which tested that. Updated cmdclient and webclient.
* Removed MessageRestServlet, use RoomSendEventRestServlet instead. Updated ↵Kegan Dougal2014-08-261-6/+5
| | | | cmdclient, tests and webclient. All appears to work.
* Renaming: /im/sync >> /initialSync. /rooms/$roomid/members/list >> ↵Kegan Dougal2014-08-261-3/+3
| | | | /rooms/$roomid/members. /rooms$roomid/messages/list >> /room/$roomid/messages. Updated cmdclient, tests and webclient.
* Avoid double call of refresh at app startupEmmanuel ROHEE2014-08-262-5/+7
|
* Determine and send user presence stateEmmanuel ROHEE2014-08-264-5/+140
|
* webclient: Updated to use /rooms/$roomid/[invite|join|leave]Kegan Dougal2014-08-261-7/+11
|
* Adjusted webclient to use new state paths. Updated membership msg template ↵Kegan Dougal2014-08-265-46/+22
| | | | to actually show the person invited. Factored out common membership functions in matrix service.
* The landing URL is now '#/' which actually points to homeControllerEmmanuel ROHEE2014-08-251-2/+2
|
* Merge remote-tracking branch 'origin/hotfixes-0.0.1' into developEmmanuel ROHEE2014-08-255-30/+109
|\
| * oopsMatthew Hodgson2014-08-231-1/+1
| |
| * very quick and dirty responsive design for iPhonesMatthew Hodgson2014-08-236-30/+110
| |
| * avatar urlroot2014-08-221-1/+1
| |
* | Oops. Removed my NetBeans private foldersEmmanuel ROHEE2014-08-253-39/+0
| |
* | Added "Your name" as placeholder to help user understand what is this alone ↵Emmanuel ROHEE2014-08-221-1/+1
| | | | | | | | input box
* | Merge branch 'settings-page' into developEmmanuel ROHEE2014-08-2215-452/+503
|\ \ | |/ |/|
| * Use /home everywhereEmmanuel ROHEE2014-08-226-12/+12
| |
| * renamed rooms to home - renamed filesEmmanuel ROHEE2014-08-224-0/+23
| |
| * renamed rooms to homeEmmanuel ROHEE2014-08-223-0/+16
| |
| * Move profile parts of the rooms page and the config content into a new page: ↵Emmanuel ROHEE2014-08-228-201/+237
| | | | | | | | settings
* | Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.0.1Erik Johnston2014-08-223-24/+58
|\ \
| * | Update web client to use new IS API.David Baker2014-08-223-24/+58
| | |
* | | Check if the membership message was for the room we were in before updating ↵Erik Johnston2014-08-221-0/+2
| | | | | | | | | | | | the membership list
* | | Keep track of people's presence and query that when we update the members list.Erik Johnston2014-08-222-3/+10
| | |
* | | Reinitialize room when creating a RoomController so that we start off with a ↵Erik Johnston2014-08-222-1/+13
| |/ |/| | | | | clean slate, as it expects/
* | Use $location.url instead of $location.path to get clean page URL without ↵Emmanuel ROHEE2014-08-224-10/+10
| | | | | | | | | | | | hash arguments of the previous page. This happpens with room URL like http://127.0.0.1:8080/matrix/client/#/room/#public:localhost. The second hash part is transferred to the next page when using $location.path.
* | Make the content repo work with in daemon mode. Return the full url on ↵Erik Johnston2014-08-221-1/+1
| | | | | | | | upload. Update the webclient to use new content repo api.
* | resizeImage: generate an image in the format of the original image. (Tested ↵Emmanuel ROHEE2014-08-221-1/+3
| | | | | | | | with tranparent PNG, transparent GIF, BMP, JPEG)
* | Safari needs the img.onload event before actually working on the imgEmmanuel ROHEE2014-08-222-27/+39
| |
* | improve leftBlock cssMatthew Hodgson2014-08-221-1/+6
| |
* | fix mainInput retaining focus between sending consecutive messages by ↵Matthew Hodgson2014-08-222-4/+4
| | | | | | | | disabling commit 955662d6
* | fix weird fontsizes on iOSMatthew Hodgson2014-08-221-0/+1
| |
* | sacrifice a goat or two to make wordwrap actually work properlyMatthew Hodgson2014-08-222-28/+21
| |
* | rename autoComplete directive as tabComplete to avoid confusion with the ↵Matthew Hodgson2014-08-221-15/+15
| | | | | | | | autocomplete html attribute
* | add fixme pointing out name disambiguation is a bit flakeyMatthew Hodgson2014-08-221-1/+4
| |
* | actually display room metadata based on m.room.membe eventsMatthew Hodgson2014-08-213-2/+23
| |
* | Add a var.Erik Johnston2014-08-211-1/+1
| |
* | Only start event streaming after having set up the controllers.Erik Johnston2014-08-215-4/+17
| |
* | Change webclient to always hit the im sync api before streaming so we get ↵Erik Johnston2014-08-212-7/+41
| | | | | | | | current presence state
* | stop hammering the HS for displayname and avatar URLsMatthew Hodgson2014-08-211-3/+5
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.0.1Erik Johnston2014-08-216-38/+294
|\|
| * Show image fullscreen when clicking on the thumbnailEmmanuel ROHEE2014-08-212-3/+31
| |
| * If there are available, show image thumbnails in the messages listEmmanuel ROHEE2014-08-211-3/+7
| |
| * Generate thumbnail client side and send its URL and info with the image ↵Emmanuel ROHEE2014-08-213-28/+149
| | | | | | | | message body
| * Made uploadContent compatible for sending Blob objectsEmmanuel ROHEE2014-08-211-4/+22
| |
| * Added resizeImage()Emmanuel ROHEE2014-08-211-1/+86
| |
* | Use the new 'inviter' key from im sync for room display names.Erik Johnston2014-08-212-3/+8
| |
* | Fixed first pagination detectionEmmanuel ROHEE2014-08-211-2/+3
| |
* | cheer up erik and remove the double-horizontal-border between adjacent text ↵Matthew Hodgson2014-08-211-0/+1
|/ | | | plinths
* Quick fix to support array of room aliasesEmmanuel ROHEE2014-08-201-2/+3
|
* BF: Apply image place holder only if the image message has the height ↵Emmanuel ROHEE2014-08-201-1/+1
| | | | information
* BF: Wait for the room_id being resolved before starting paginationEmmanuel ROHEE2014-08-201-2/+2
|
* Create a placeholder for each image of the chat thread. The height of this ↵Emmanuel ROHEE2014-08-201-1/+4
| | | | placeholder is the height of the image so that the scroller position will not be disrupted when the image will be actually loaded and displayed in its full height
* Send images with their imageInfo (size, mymetype, width & height)Emmanuel ROHEE2014-08-205-17/+89
|
* Sanitize message text content only if the type of current message in the ↵Emmanuel ROHEE2014-08-201-2/+2
| | | | | | ng-repeat loop is "text" In case of image message, the body can be a JSON object (ImageInfo) and ngSanitize does not like that (ie it generates exception in the console)
* Replaced the image URL text input by a file selector button: "Send Image"Emmanuel ROHEE2014-08-202-18/+5
|
* Disabled sending buttons while a message is being sent. Useful on bad ↵Emmanuel ROHEE2014-08-202-6/+18
| | | | Internet connection.
* Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2014-08-206-170/+254
|\
| * File organisation sanity: put directives and filters into dedicated filesEmmanuel ROHEE2014-08-206-197/+254
| |
| * keepScroll: a directive to anchor the scroller position at the bottom when ↵Emmanuel ROHEE2014-08-191-0/+27
| | | | | | | | the browser is resizing
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-192-4/+2
|\|
| * BF: The enter key in the image URL box called sendImage() with no argumentEmmanuel ROHEE2014-08-191-1/+1
| |
| * Cleaned dead codeEmmanuel ROHEE2014-08-191-3/+1
| |
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-1912-34/+207
|\| | | | | | | | | | | | | Conflicts: tests/rest/test_presence.py tests/rest/test_rooms.py tests/utils.py
| * Change mouse cursor to pointer on elements user can click onEmmanuel ROHEE2014-08-192-1/+5
| |
| * Merge remote-tracking branch 'origin/master' into user_pageEmmanuel ROHEE2014-08-193-19/+31
| |\
| | * show private room_ids rather than nulls in notifs if there is no room_aliasMatthew Hodgson2014-08-181-1/+1
| | |
| | * Implemented GETs for the ContentRepoResource. It all actually appears to be ↵Kegan Dougal2014-08-181-2/+3
| | | | | | | | | | | | working.
| | * Auth content uploads. Added a mapping function from request > filename. ↵Kegan Dougal2014-08-182-18/+29
| | | | | | | | | | | | Added exception handling for content uploads. webclient: Only prefix the client API path on doRequest, not doBaseRequest (this would've broken the identity server auth too). Added matrixService.uploadContent. May not require mFileUpload anymore.
| * | Fill user page with avatar, display name and matrix idEmmanuel ROHEE2014-08-193-5/+44
| | |
| * | Made small avatar image centerEmmanuel ROHEE2014-08-191-0/+1
| | |
| * | Use $location.url to open the user profile page. The user page URL is then ↵Emmanuel ROHEE2014-08-191-1/+1
| | | | | | | | | | | | | | | | | | the one expected: http://127.0.0.1:8000/#/user/@Manu:localhost:8080 insteaf of http://127.0.0.1:8000/#/user/@Manu:localhost:8080#public:localhost:8080
| * | Added link to user profile pagesEmmanuel ROHEE2014-08-192-1/+6
| | |
| * | Created boilerplate for user profile pageEmmanuel ROHEE2014-08-184-0/+43
| |/
| * In members list, on avatar mouseover, show a tooltip with the user matrix idEmmanuel ROHEE2014-08-181-2/+6
| |
| * Join room: open the room URL with the room alias in itEmmanuel ROHEE2014-08-181-6/+2
| |
| * Support urlencoded room aliases in room URLEmmanuel ROHEE2014-08-182-17/+29
| |
| * If possible, use href with room alias in rooms listEmmanuel ROHEE2014-08-181-2/+2
| |
| * Support room alias in rooms URL (ex: ↵Emmanuel ROHEE2014-08-183-1/+58
| | | | | | | | http://127.0.0.1:8000/#/room/#public:localhost:8080)
* | Change the way pagination works to support out of order events.Erik Johnston2014-08-192-3/+2
|/
* Increase /events timeout to 30 secs. We don't need it so low anymore to get ↵Kegan Dougal2014-08-181-1/+1
| | | | around request suppression when changing rooms, since there is just a single event stream now.
* webclient: Tweak namespace of auto-complete directive. ng- should really ↵Kegan Dougal2014-08-182-2/+2
| | | | only be used for official ng directives.
* Disabled image upload UIsEmmanuel ROHEE2014-08-182-2/+6
|
* Do not start the event stream if the user is not logged in (=if he does not ↵Emmanuel ROHEE2014-08-183-9/+17
| | | | | | has an access token yet) Add isUserLoggedIn to check this.
* Added another button to upload and send an image.Emmanuel ROHEE2014-08-182-2/+20
| | | | The text input and its send button for sending an image URL will be removed once we have a true upload image service
* make my emotes white againMatthew Hodgson2014-08-181-0/+4
|
* make text font sizes consistentMatthew Hodgson2014-08-172-13/+26
| | | | | | | add a gap between bubble-blocks from different users make sent-text lighter than received-text wrap the memberslist text more sensibly fix height of bubbles to match that of avatars (32px)
* implement html5 notifications. (have to be explicitly requested under Config)Matthew Hodgson2014-08-174-3/+37
|
* unbreak login sequence (which spuriously required a sydent server to be ↵Matthew Hodgson2014-08-171-2/+2
| | | | specified, which login.html was no longer doing...)
* oops, debugging crept inMatthew Hodgson2014-08-171-1/+0
|
* dial down loggingMatthew Hodgson2014-08-171-5/+5
|
* - use css3 to make avatars always the right aspect ratioMatthew Hodgson2014-08-173-4/+105
| | | | - implement slightly overengineered tab/shift-tab autocomplete function
* autohyperlink messages using linkyMatthew Hodgson2014-08-164-3/+581
|
* use minified angular by defaultMatthew Hodgson2014-08-161-2/+2
|
* minified angularjs stuff to speed things upMatthew Hodgson2014-08-164-0/+249
|
* improve infinite scrolling so it keeps paginating until you have a scrollbar ↵Matthew Hodgson2014-08-161-17/+28
| | | | (if it can)
* remove log spamMatthew Hodgson2014-08-161-2/+2
|
* disambiguate identical displaynamesMatthew Hodgson2014-08-161-1/+23
|
* make presence timestamps less verboseMatthew Hodgson2014-08-161-3/+3
|
* roll back b602834 as it made a bizarre subset of avatars go awolMatthew Hodgson2014-08-161-6/+5
|
* order the members list by most recently activeMatthew Hodgson2014-08-162-7/+19
|
* don't hammer a new hit for every displayname and avatar_url when we already ↵Matthew Hodgson2014-08-161-1/+14
| | | | have them in the members list...
* merge weirdnessMatthew Hodgson2014-08-161-1/+1
|
* display mtime_age in webclientMatthew Hodgson2014-08-163-10/+33
|
* slightly hacky but more functional infinite scrollingMatthew Hodgson2014-08-161-30/+36
|
* switch some elements from being styled by class to styled by idMatthew Hodgson2014-08-155-36/+36
|
* FormattingKegan Dougal2014-08-152-21/+22
|
* Get presence for members when you enter a room (it was coming down but ↵Kegan Dougal2014-08-151-0/+4
| | | | wasn't being stored in the right place)
* Added infinite scrolling. It's sliiiightly buggy in that it jumps down the ↵Kegan Dougal2014-08-157-9/+115
| | | | list a bit, but it is overall working pretty well. Added ng-infinite-scroll-matrix.js and jquery-1.8.3 as deps.
* When new invites come down, update the My Rooms list. Added hacks to make ↵Kegan Dougal2014-08-153-16/+32
| | | | the display name a bit nicer (/im/sync needs to return room aliases / membership events better)
* Remove old polling stuff from RoomController. Added service comments. Do not ↵Kegan Dougal2014-08-154-45/+20
| | | | start the event stream on startup unless you have credentials.
* Event streaming now happens on an app level, rather than a per-room level. ↵Kegan Dougal2014-08-155-19/+76
| | | | Make eventStreamService manage it's own repolling provided no one calls stop() on it. Couple the stream with eventHandlerService so any controller can just blithely call eventStreamService.resume() and expect to 'get stuff' without having to handle promises (though resume() still returns a promise for that request and proxies it through $q). Kill and reset the stream if you logout.
* Store messages in $rootScope so they can be accessed from multiple ↵Kegan Dougal2014-08-153-12/+29
| | | | controllers without duplicated storage for each. This also gives updates.
* Added event handler service which.. handles events. More specifically, it ↵Kegan Dougal2014-08-155-32/+124
| | | | $broadcasts events depending on their type, and does processing on events (shuffling keys, adding events to $rootScope so displays will automatically update, sending delivery receipts, and so on). Some of this logic was previously contained in the RoomController, which fails the moment you add >1 room into the mix, hence requiring a Service to handle events, rather than having each individual controller maintain their part of the world.
* Added event stream service which neatly blobs together requests / state for ↵Kegan Dougal2014-08-155-14/+91
| | | | the event stream. This depends on matrix service to do the actual hit. Currently this has exactly the same behaviour as before.
* More helpful display when the event stream fails, wiping it when the ↵Kegan Dougal2014-08-142-5/+10
| | | | connection is regained.
* We can now upload avatar image somewhereEmmanuel ROHEE2014-08-141-4/+13
|
* Create a temporary upload service server side (by hacking ↵Emmanuel ROHEE2014-08-141-0/+1
| | | | demos/webserver.py) and client side with an angularjs service component.
* Create a temporary upload service server side (by hacking ↵Emmanuel ROHEE2014-08-141-0/+47
| | | | demos/webserver.py) and client side with an angularjs service component.
* webclient: You can now paginate in rooms. Defaults to 10 messages, with a ↵Kegan Dougal2014-08-143-21/+71
| | | | button to get more (needs to be hooked into infini-scrolling).
* Pass back the user_id in the response to /login in case it has changed. ↵Kegan Dougal2014-08-142-2/+2
| | | | Store and use that on the webclient rather than the input field.
* hs: Make /login accept full user IDs or just local parts. webclient: Only ↵Kegan Dougal2014-08-142-7/+1
| | | | enable Register button when both password fields match.
* Auto-correct the username when logging in if there isn't an @Kegan Dougal2014-08-141-0/+6
|
* Be more helpful when failing to register/login, stating why (communication ↵Kegan Dougal2014-08-141-4/+16
| | | | error, user in user, wrong credentials, etc). Make the HS send M_USER_IN_USE.
* Finish up room controller too. May have missed one or two, but testing ↵Kegan Dougal2014-08-141-14/+14
| | | | didn't pick anything up.
* Added extra nesting .data and rename callback to be response not dataKegan Dougal2014-08-142-31/+31
|
* Move the unknown token broadcast to the interceptor. Return the $http ↵Kegan Dougal2014-08-144-30/+16
| | | | promise and not a wrapped one via $q. Everything now needs a level deeper nesting. Fixed registration and login.
* Added an access token interceptor to check unknown tokens.Kegan Dougal2014-08-141-3/+19
|
* Detect when the user access token is no more valid and log the user out in ↵Emmanuel ROHEE2014-08-142-4/+20
| | | | this case
* Guess the home server URL on the login screen by inspecting the URL of the ↵Kegan Dougal2014-08-141-1/+9
| | | | web client.
* BF: Use ng-srcEmmanuel ROHEE2014-08-141-1/+1
|
* Use ng-srcEmmanuel ROHEE2014-08-141-1/+1
|
* Show avatar in profile section and added a button to select a file (not yet ↵Emmanuel ROHEE2014-08-143-6/+45
| | | | wired to upload service)
* Created m-file-input. A directive to open a file selection dialog on ↵Emmanuel ROHEE2014-08-142-0/+44
| | | | whatever HTML element
* fix emote presentationMatthew Hodgson2014-08-141-1/+1
|
* config cssMatthew Hodgson2014-08-141-0/+12
|
* completely change the CSS to be an entirely 'position: absolute' layout ↵Matthew Hodgson2014-08-146-29/+46
| | | | rather than top-to-bottom. makes the overscroll much more predictable and sane and not dependent on CSS expressions.
* don't hammer after 403Matthew Hodgson2014-08-131-1/+4
|
* Store public room id > alias mappings.Kegan Dougal2014-08-131-0/+6
|
* Merge branch 'master' of git+ssh://github.com/matrix-org/synapseMatthew Hodgson2014-08-137-13/+133
|\
| * Use strings instead of opaque magic-number constants for presence states; ↵Paul "LeoNerd" Evans2014-08-133-9/+6
| | | | | | | | rename AWAY to UNAVAILABLE
| * Room: Added a text input to type an image URL in order to send an image messageEmmanuel ROHEE2014-08-134-3/+37
| |
| * Display image messages from the streamEmmanuel ROHEE2014-08-132-1/+10
| |
| * add in copyrights to everything, not just the synapse subdir, and add a ↵Matthew Hodgson2014-08-135-0/+80
| | | | | | | | copyrighter.pl whilst we're at it
* | timestampsMatthew Hodgson2014-08-131-1/+1
|/
* remove the png profile image for nowMatthew Hodgson2014-08-121-0/+0
|
* Fix the 'Go to room' button to use the correct room alias apiErik Johnston2014-08-123-2/+31
|
* Make messages list and room users list scroll-overflowEmmanuel ROHEE2014-08-123-13/+32
|
* Reference Matrix Home Servermatrix.org2014-08-1219-0/+25826