├── .gitignore ├── README.md ├── hooks ├── README.md ├── install.sh └── pre-commit ├── jenkins.sh ├── jenkins ├── build_dendron.sh ├── clone.sh └── test_dendron.sh ├── scripts ├── check_generated_proxy_paths.sh └── generate_proxy_paths.py ├── src └── github.com │ └── matrix-org │ └── dendron │ ├── dendron │ └── main.go │ ├── proxy │ ├── paths.go │ └── proxy.go │ └── versions │ ├── versions.go │ └── versions_test.go └── vendor ├── manifest └── src ├── github.com ├── Sirupsen │ └── logrus │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc.go │ │ ├── entry.go │ │ ├── entry_test.go │ │ ├── examples │ │ ├── basic │ │ │ └── basic.go │ │ └── hook │ │ │ └── hook.go │ │ ├── exported.go │ │ ├── formatter.go │ │ ├── formatter_bench_test.go │ │ ├── formatters │ │ └── logstash │ │ │ ├── logstash.go │ │ │ └── logstash_test.go │ │ ├── hook_test.go │ │ ├── hooks.go │ │ ├── hooks │ │ └── syslog │ │ │ ├── README.md │ │ │ ├── syslog.go │ │ │ └── syslog_test.go │ │ ├── json_formatter.go │ │ ├── json_formatter_test.go │ │ ├── logger.go │ │ ├── logrus.go │ │ ├── logrus_test.go │ │ ├── terminal_bsd.go │ │ ├── terminal_linux.go │ │ ├── terminal_notwindows.go │ │ ├── terminal_solaris.go │ │ ├── terminal_windows.go │ │ ├── text_formatter.go │ │ ├── text_formatter_test.go │ │ └── writer.go ├── beorn7 │ └── perks │ │ └── quantile │ │ ├── bench_test.go │ │ ├── example_test.go │ │ ├── exampledata.txt │ │ ├── stream.go │ │ └── stream_test.go ├── golang │ └── protobuf │ │ └── proto │ │ ├── Makefile │ │ ├── all_test.go │ │ ├── clone.go │ │ ├── clone_test.go │ │ ├── decode.go │ │ ├── encode.go │ │ ├── equal.go │ │ ├── equal_test.go │ │ ├── extensions.go │ │ ├── extensions_test.go │ │ ├── lib.go │ │ ├── message_set.go │ │ ├── message_set_test.go │ │ ├── pointer_reflect.go │ │ ├── pointer_unsafe.go │ │ ├── properties.go │ │ ├── proto3_proto │ │ ├── proto3.pb.go │ │ └── proto3.proto │ │ ├── proto3_test.go │ │ ├── size2_test.go │ │ ├── size_test.go │ │ ├── testdata │ │ ├── Makefile │ │ ├── golden_test.go │ │ ├── test.pb.go │ │ └── test.proto │ │ ├── text.go │ │ ├── text_parser.go │ │ ├── text_parser_test.go │ │ └── text_test.go ├── hashicorp │ └── golang-lru │ │ ├── 2q.go │ │ ├── 2q_test.go │ │ ├── LICENSE │ │ ├── README.md │ │ ├── arc.go │ │ ├── arc_test.go │ │ ├── lru.go │ │ ├── lru_test.go │ │ └── simplelru │ │ ├── lru.go │ │ └── lru_test.go ├── lib │ └── pq │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── bench_test.go │ │ ├── buf.go │ │ ├── certs │ │ ├── README │ │ ├── postgresql.crt │ │ ├── postgresql.key │ │ ├── root.crt │ │ ├── server.crt │ │ └── server.key │ │ ├── conn.go │ │ ├── conn_test.go │ │ ├── copy.go │ │ ├── copy_test.go │ │ ├── doc.go │ │ ├── encode.go │ │ ├── encode_test.go │ │ ├── error.go │ │ ├── hstore │ │ ├── hstore.go │ │ └── hstore_test.go │ │ ├── listen_example │ │ └── doc.go │ │ ├── notify.go │ │ ├── notify_test.go │ │ ├── oid │ │ ├── doc.go │ │ ├── gen.go │ │ └── types.go │ │ ├── ssl_test.go │ │ ├── url.go │ │ ├── url_test.go │ │ ├── user_posix.go │ │ └── user_windows.go ├── matrix-org │ ├── dugong │ │ ├── LICENSE │ │ ├── README.md │ │ ├── fshook.go │ │ └── fshook_test.go │ └── matrix-doc │ │ ├── CONTRIBUTING.rst │ │ ├── LICENSE │ │ ├── README.rst │ │ ├── api │ │ ├── README │ │ ├── application-service │ │ │ └── application_service.yaml │ │ ├── check_examples.py │ │ ├── client-server │ │ │ ├── account-data.yaml │ │ │ ├── admin.yaml │ │ │ ├── administrative_contact.yaml │ │ │ ├── banning.yaml │ │ │ ├── cas_login_redirect.yaml │ │ │ ├── cas_login_ticket.yaml │ │ │ ├── content-repo.yaml │ │ │ ├── create_room.yaml │ │ │ ├── definitions │ │ │ │ ├── auth_data.yaml │ │ │ │ ├── auth_response.yaml │ │ │ │ ├── error.yaml │ │ │ │ ├── event-schemas │ │ │ │ ├── event.yaml │ │ │ │ ├── event_batch.yaml │ │ │ │ ├── event_filter.yaml │ │ │ │ ├── push_condition.yaml │ │ │ │ ├── push_rule.yaml │ │ │ │ ├── push_ruleset.yaml │ │ │ │ ├── room_event_filter.yaml │ │ │ │ ├── security.yaml │ │ │ │ ├── sync_filter.yaml │ │ │ │ └── timeline_batch.yaml │ │ │ ├── directory.yaml │ │ │ ├── event_context.yaml │ │ │ ├── filter.yaml │ │ │ ├── inviting.yaml │ │ │ ├── joining.yaml │ │ │ ├── kicking.yaml │ │ │ ├── leaving.yaml │ │ │ ├── list_public_rooms.yaml │ │ │ ├── login.yaml │ │ │ ├── logout.yaml │ │ │ ├── message_pagination.yaml │ │ │ ├── notifications.yaml │ │ │ ├── old_sync.yaml │ │ │ ├── peeking_events.yaml │ │ │ ├── presence.yaml │ │ │ ├── profile.yaml │ │ │ ├── pusher.yaml │ │ │ ├── pushrules.yaml │ │ │ ├── receipts.yaml │ │ │ ├── redaction.yaml │ │ │ ├── registration.yaml │ │ │ ├── room_initial_sync.yaml │ │ │ ├── room_send.yaml │ │ │ ├── room_state.yaml │ │ │ ├── rooms.yaml │ │ │ ├── search.yaml │ │ │ ├── sync.yaml │ │ │ ├── tags.yaml │ │ │ ├── third_party_membership.yaml │ │ │ ├── to_device.yaml │ │ │ ├── typing.yaml │ │ │ ├── versions.yaml │ │ │ └── voip.yaml │ │ ├── files │ │ │ ├── backbone-min.js │ │ │ ├── css │ │ │ ├── handlebars-1.0.0.js │ │ │ ├── highlight.7.3.pack.js │ │ │ ├── jquery-1.8.0.min.js │ │ │ ├── jquery.ba-bbq.min.js │ │ │ ├── jquery.slideto.min.js │ │ │ ├── jquery.wiggle.min.js │ │ │ ├── reset.css │ │ │ ├── screen.css │ │ │ ├── shred.bundle.js │ │ │ ├── swagger-oauth.js │ │ │ ├── swagger-ui.js │ │ │ ├── swagger.js │ │ │ └── underscore-min.js │ │ ├── identity │ │ │ ├── lookup.yaml │ │ │ └── pubkey.yaml │ │ ├── package.json │ │ ├── push-gateway │ │ │ └── push_notifier.yaml │ │ └── validator.js │ │ ├── attic │ │ └── v1_registration_login.rst │ │ ├── changelogs │ │ └── client_server.rst │ │ ├── drafts │ │ ├── ancient_federated_versioning_design_notes.rst │ │ ├── application_services.rst │ │ ├── data_flows.rst │ │ ├── erik-model.rst │ │ ├── erikj_federation.rst │ │ ├── flows_and_auth.rst │ │ ├── general_api.rst │ │ ├── human-id-rules.rst │ │ ├── macaroons_caveats.rst │ │ ├── model │ │ │ ├── presence.rst │ │ │ ├── profiles.rst │ │ │ ├── protocol_examples.rst │ │ │ ├── room-join-workflow.rst │ │ │ ├── rooms.rst │ │ │ └── third-party-id.rst │ │ ├── object_model.rst │ │ ├── pstn_gatewaying.txt │ │ ├── reputation_thoughts.rst │ │ ├── state_resolution.rst │ │ ├── use_cases.rst │ │ └── websockets.rst │ │ ├── event-schemas │ │ ├── README.md │ │ ├── check_examples.py │ │ ├── examples │ │ │ ├── m.call.answer │ │ │ ├── m.call.candidates │ │ │ ├── m.call.hangup │ │ │ ├── m.call.invite │ │ │ ├── m.direct │ │ │ ├── m.presence │ │ │ ├── m.receipt │ │ │ ├── m.room.aliases │ │ │ ├── m.room.avatar │ │ │ ├── m.room.canonical_alias │ │ │ ├── m.room.create │ │ │ ├── m.room.guest_access │ │ │ ├── m.room.history_visibility │ │ │ ├── m.room.join_rules │ │ │ ├── m.room.member │ │ │ ├── m.room.member#invite_room_state │ │ │ ├── m.room.member#third_party_invite │ │ │ ├── m.room.message#m.audio │ │ │ ├── m.room.message#m.emote │ │ │ ├── m.room.message#m.file │ │ │ ├── m.room.message#m.image │ │ │ ├── m.room.message#m.location │ │ │ ├── m.room.message#m.notice │ │ │ ├── m.room.message#m.text │ │ │ ├── m.room.message#m.video │ │ │ ├── m.room.message.feedback │ │ │ ├── m.room.name │ │ │ ├── m.room.power_levels │ │ │ ├── m.room.redaction │ │ │ ├── m.room.third_party_invite │ │ │ ├── m.room.topic │ │ │ ├── m.tag │ │ │ └── m.typing │ │ └── schema │ │ │ ├── core-event-schema │ │ │ ├── event.yaml │ │ │ ├── msgtype_infos │ │ │ │ └── image_info.yaml │ │ │ ├── room_event.yaml │ │ │ └── state_event.yaml │ │ │ ├── m.call.answer │ │ │ ├── m.call.candidates │ │ │ ├── m.call.hangup │ │ │ ├── m.call.invite │ │ │ ├── m.direct │ │ │ ├── m.presence │ │ │ ├── m.receipt │ │ │ ├── m.room.aliases │ │ │ ├── m.room.avatar │ │ │ ├── m.room.canonical_alias │ │ │ ├── m.room.create │ │ │ ├── m.room.guest_access │ │ │ ├── m.room.history_visibility │ │ │ ├── m.room.join_rules │ │ │ ├── m.room.member │ │ │ ├── m.room.message │ │ │ ├── m.room.message#m.audio │ │ │ ├── m.room.message#m.emote │ │ │ ├── m.room.message#m.file │ │ │ ├── m.room.message#m.image │ │ │ ├── m.room.message#m.location │ │ │ ├── m.room.message#m.notice │ │ │ ├── m.room.message#m.text │ │ │ ├── m.room.message#m.video │ │ │ ├── m.room.message.feedback │ │ │ ├── m.room.name │ │ │ ├── m.room.power_levels │ │ │ ├── m.room.redaction │ │ │ ├── m.room.third_party_invite │ │ │ ├── m.room.topic │ │ │ ├── m.tag │ │ │ └── m.typing │ │ ├── jenkins.sh │ │ ├── meta │ │ └── documentation_style.rst │ │ ├── scripts │ │ ├── README.md │ │ ├── add-matrix-org-stylings.pl │ │ ├── continuserv │ │ │ ├── README │ │ │ ├── index.html │ │ │ └── main.go │ │ ├── contrib │ │ │ └── shell.nix │ │ ├── css │ │ │ ├── basic.css │ │ │ ├── blockquote.css │ │ │ ├── codehighlight.css │ │ │ └── nature.css │ │ ├── dump-swagger.py │ │ ├── gendoc.py │ │ ├── speculator │ │ │ ├── README │ │ │ ├── htmldiff.pl │ │ │ └── main.go │ │ └── swagger-http-server.py │ │ ├── specification │ │ ├── appendices.rst │ │ ├── application_service_api.rst │ │ ├── client_server_api.rst │ │ ├── event_signing.rst │ │ ├── events.rst │ │ ├── feature_profiles.rst │ │ ├── identity_servers.rst │ │ ├── identity_service_api.rst │ │ ├── index.rst │ │ ├── intro.rst │ │ ├── modules.rst │ │ ├── modules │ │ │ ├── _template.rst │ │ │ ├── account_data.rst │ │ │ ├── admin.rst │ │ │ ├── anonymous_access.rst │ │ │ ├── cas_login.rst │ │ │ ├── content_repo.rst │ │ │ ├── dm.rst │ │ │ ├── end_to_end_encryption.rst │ │ │ ├── event_context.rst │ │ │ ├── guest_access.rst │ │ │ ├── history_visibility.rst │ │ │ ├── instant_messaging.rst │ │ │ ├── presence.rst │ │ │ ├── push.rst │ │ │ ├── receipts.rst │ │ │ ├── room_previews.rst │ │ │ ├── search.rst │ │ │ ├── send_to_device.rst │ │ │ ├── tags.rst │ │ │ ├── third_party_invites.rst │ │ │ ├── typing_notifications.rst │ │ │ └── voip_events.rst │ │ ├── push_gateway.rst │ │ ├── server_server_api.rst │ │ └── targets.yaml │ │ ├── supporting-docs │ │ ├── examples │ │ │ └── application-services.rst │ │ ├── guides │ │ │ ├── 2015-08-14-getting_involved.md │ │ │ ├── 2015-08-19-faq.md │ │ │ ├── 2015-08-21-application_services.md │ │ │ ├── 2016-01-01-index.md │ │ │ ├── 2016-01-05-code_of_conduct.md │ │ │ ├── 2016-03-15-lets-encrypt.rst │ │ │ ├── 2016-05-05-client-server-migrating-from-v1.rst │ │ │ ├── 2016-05-05-client-server.rst │ │ │ └── 2016-10-18-e2e_implementation.rst │ │ ├── howtos │ │ │ ├── 2014-06-09-client-server.md │ │ │ └── jsfiddles │ │ │ │ ├── create_room_send_msg │ │ │ │ ├── demo.css │ │ │ │ ├── demo.html │ │ │ │ └── demo.js │ │ │ │ ├── event_stream │ │ │ │ ├── demo.css │ │ │ │ ├── demo.html │ │ │ │ └── demo.js │ │ │ │ ├── example_app │ │ │ │ ├── demo.css │ │ │ │ ├── demo.details │ │ │ │ ├── demo.html │ │ │ │ └── demo.js │ │ │ │ ├── register_login │ │ │ │ ├── demo.css │ │ │ │ ├── demo.html │ │ │ │ └── demo.js │ │ │ │ └── room_memberships │ │ │ │ ├── demo.css │ │ │ │ ├── demo.html │ │ │ │ └── demo.js │ │ └── projects │ │ │ ├── 2014-06-09-riot.md │ │ │ ├── 2014-06-09-vector.md │ │ │ ├── 2014-08-12-synapse.md │ │ │ ├── 2014-08-23-net-async-matrix-client.md │ │ │ ├── 2014-09-10-neb.md │ │ │ ├── 2014-09-30-matrix.org-android-sdk.md │ │ │ ├── 2014-09-30-matrix.org-ios-sdk.md │ │ │ ├── 2014-11-03-pallium.md │ │ │ ├── 2014-11-04-matrix.org-angularjs-sdk.md │ │ │ ├── 2014-12-06-perl-matrix-irc-bridge.md │ │ │ ├── 2014-12-10-ivar2-matrix-irc-bot.md │ │ │ ├── 2015-01-01-index.md │ │ │ ├── 2015-01-06-matrix.org-python-sdk.md │ │ │ ├── 2015-02-26-openmarkets-sms-gateway.md │ │ │ ├── 2015-02-26-weechat.md │ │ │ ├── 2015-02-27-matrix.org-as-sdk.md │ │ │ ├── 2015-03-04-matrix.org-js-sdk.md │ │ │ ├── 2015-03-10-irc-bridge.md │ │ │ ├── 2015-03-15-redpill-irc-bridge.md │ │ │ ├── 2015-03-17-jsynapse.md │ │ │ ├── 2015-03-18-gomatrix-irc-bridge.md │ │ │ ├── 2015-04-01-matrix.org-matrixkit-ios.md │ │ │ ├── 2015-04-02-riot-ios.md │ │ │ ├── 2015-04-03-vector-ios.md │ │ │ ├── 2015-04-18-project-clearwater-matrix-gateway.md │ │ │ ├── 2015-05-06-newlisp-matrix-client.md │ │ │ ├── 2015-06-02-matrix-erlang-sdk.md │ │ │ ├── 2015-06-02-riot-android.md │ │ │ ├── 2015-06-02-vector-android.md │ │ │ ├── 2015-06-09-matrix.org-react-sdk.md │ │ │ ├── 2015-06-26-tensor.md │ │ │ ├── 2015-06-27-quaternion.md │ │ │ ├── 2015-07-01-xmpptrix.md │ │ │ ├── 2015-08-19-matrix-appservice-bridge.md │ │ │ ├── 2015-09-10-matrix-appservice-respoke.md │ │ │ ├── 2015-09-10-vertobridge.md │ │ │ ├── 2015-09-17-bullettime.md │ │ │ ├── 2015-09-18-matrix-appservice-slack.md │ │ │ ├── 2015-10-01-mclient.el.md │ │ │ ├── 2015-10-04-matrix-xmpp-bridge.md │ │ │ ├── 2015-10-06-node-purple.md │ │ │ ├── 2015-10-09-slackbridge.md │ │ │ ├── 2015-10-13-purple-matrix.md │ │ │ ├── 2015-10-23-bender.md │ │ │ ├── 2015-11-10-mero.md │ │ │ ├── 2015-11-28-matrixtool.md │ │ │ ├── 2015-11-29-ruma.md │ │ │ ├── 2015-12-04-hubot-matrix.md │ │ │ ├── 2015-12-10-glib-sdk.md │ │ │ ├── 2015-12-10-pto.md │ │ │ ├── 2016-01-02-matrix-console-ios.md │ │ │ ├── 2016-01-03-matrix-console-android.md │ │ │ ├── 2016-01-04-matrix-console.md │ │ │ ├── 2016-01-05-glowing-bear-and-weechat-plugin.md │ │ │ ├── 2016-01-13-dendron.md │ │ │ ├── 2016-01-30-rocket-chat-federation.md │ │ │ ├── 2016-02-01-unplug.md │ │ │ ├── 2016-02-03-feedbot.md │ │ │ ├── 2016-02-03-lightrix.md │ │ │ ├── 2016-02-03-mcat.md │ │ │ ├── 2016-02-03-polynomial.md │ │ │ ├── 2016-02-03-redpill.md │ │ │ ├── 2016-02-05-headjack.md │ │ │ ├── 2016-02-05-net-async-matrix-perl.md │ │ │ ├── 2016-02-05-try-matrix-now.md │ │ │ ├── 2016-02-06-vector-desktop.md │ │ │ ├── 2016-02-07-morpheus.md │ │ │ ├── 2016-02-08-h4x.no-blog.md │ │ │ ├── 2016-02-10-matrix-appservice-gitter.md │ │ │ ├── 2016-03-18-matrix-dotnet-sdk.md │ │ │ ├── 2016-03-19-mpd-dj.md │ │ │ ├── 2016-04-05-libqmatrixclient.md │ │ │ ├── 2016-04-30-concourse-matrix-notification-resource.md │ │ │ ├── 2016-05-11-goMatrix.md │ │ │ ├── 2016-05-23-twitter-bridge.md │ │ │ ├── 2016-06-30-hdd-space-calc-for-synapse.md │ │ │ ├── 2016-07-03-nachat.md │ │ │ ├── 2016-07-29-matrix-appservice-rocketchat.md │ │ │ ├── 2016-08-10-matrix-appservice-gitter-twisted.md │ │ │ ├── 2016-08-11-nervewire.md │ │ │ ├── 2016-09-13-telematrix.md │ │ │ ├── 2016-09-17-drupal-matrix-api.md │ │ │ ├── README.md │ │ │ ├── images │ │ │ ├── 200px-druplicon.png │ │ │ ├── concourse-ci-logo.png │ │ │ ├── matrix-console-android-2016-02-16-cropped.png │ │ │ ├── matrix-console-android-2016-02-16-large.png │ │ │ ├── matrix-console-android-2016-02-16-small.png │ │ │ ├── matrix-console-ios-2016-02-16-cropped.png │ │ │ ├── matrix-console-ios-2016-02-16-large.png │ │ │ ├── matrix-console-ios-2016-02-16-small.png │ │ │ ├── nachat005-150.jpg │ │ │ ├── nachat005.jpg │ │ │ ├── pto.png │ │ │ ├── vector-android-featured.png │ │ │ ├── vector-android-large.png │ │ │ ├── vector-android-small.png │ │ │ ├── vector-iOS-featured.png │ │ │ ├── vector-iOS-large.png │ │ │ └── vector-iOS-small.png │ │ │ └── template.md │ │ └── templating │ │ ├── README.md │ │ ├── batesian │ │ ├── __init__.py │ │ ├── sections.py │ │ └── units.py │ │ ├── build.py │ │ └── matrix_templates │ │ ├── __init__.py │ │ ├── sections.py │ │ ├── templates │ │ ├── apis.tmpl │ │ ├── common-event-fields.tmpl │ │ ├── events.tmpl │ │ ├── http-api.tmpl │ │ ├── msgtypes.tmpl │ │ └── tables.tmpl │ │ └── units.py ├── matttproud │ └── golang_protobuf_extensions │ │ └── pbutil │ │ ├── all_test.go │ │ ├── decode.go │ │ ├── doc.go │ │ ├── encode.go │ │ └── fixtures_test.go ├── prometheus │ ├── client_golang │ │ └── prometheus │ │ │ ├── README.md │ │ │ ├── benchmark_test.go │ │ │ ├── collector.go │ │ │ ├── counter.go │ │ │ ├── counter_test.go │ │ │ ├── desc.go │ │ │ ├── doc.go │ │ │ ├── example_clustermanager_test.go │ │ │ ├── example_memstats_test.go │ │ │ ├── example_selfcollector_test.go │ │ │ ├── examples_test.go │ │ │ ├── expvar.go │ │ │ ├── expvar_test.go │ │ │ ├── fnv.go │ │ │ ├── gauge.go │ │ │ ├── gauge_test.go │ │ │ ├── go_collector.go │ │ │ ├── go_collector_test.go │ │ │ ├── histogram.go │ │ │ ├── histogram_test.go │ │ │ ├── http.go │ │ │ ├── http_test.go │ │ │ ├── metric.go │ │ │ ├── metric_test.go │ │ │ ├── process_collector.go │ │ │ ├── process_collector_test.go │ │ │ ├── push.go │ │ │ ├── registry.go │ │ │ ├── registry_test.go │ │ │ ├── summary.go │ │ │ ├── summary_test.go │ │ │ ├── untyped.go │ │ │ ├── value.go │ │ │ ├── vec.go │ │ │ └── vec_test.go │ ├── client_model │ │ └── go │ │ │ └── metrics.pb.go │ ├── common │ │ ├── expfmt │ │ │ ├── bench_test.go │ │ │ ├── decode.go │ │ │ ├── decode_test.go │ │ │ ├── encode.go │ │ │ ├── expfmt.go │ │ │ ├── fuzz.go │ │ │ ├── fuzz │ │ │ │ └── corpus │ │ │ │ │ ├── from_test_parse_0 │ │ │ │ │ ├── from_test_parse_1 │ │ │ │ │ ├── from_test_parse_2 │ │ │ │ │ ├── from_test_parse_3 │ │ │ │ │ ├── from_test_parse_4 │ │ │ │ │ ├── from_test_parse_error_0 │ │ │ │ │ ├── from_test_parse_error_1 │ │ │ │ │ ├── from_test_parse_error_10 │ │ │ │ │ ├── from_test_parse_error_11 │ │ │ │ │ ├── from_test_parse_error_12 │ │ │ │ │ ├── from_test_parse_error_13 │ │ │ │ │ ├── from_test_parse_error_14 │ │ │ │ │ ├── from_test_parse_error_15 │ │ │ │ │ ├── from_test_parse_error_16 │ │ │ │ │ ├── from_test_parse_error_17 │ │ │ │ │ ├── from_test_parse_error_18 │ │ │ │ │ ├── from_test_parse_error_19 │ │ │ │ │ ├── from_test_parse_error_2 │ │ │ │ │ ├── from_test_parse_error_3 │ │ │ │ │ ├── from_test_parse_error_4 │ │ │ │ │ ├── from_test_parse_error_5 │ │ │ │ │ ├── from_test_parse_error_6 │ │ │ │ │ ├── from_test_parse_error_7 │ │ │ │ │ ├── from_test_parse_error_8 │ │ │ │ │ ├── from_test_parse_error_9 │ │ │ │ │ └── minimal │ │ │ ├── json_decode.go │ │ │ ├── json_decode_test.go │ │ │ ├── testdata │ │ │ │ ├── json2 │ │ │ │ ├── json2_bad │ │ │ │ ├── protobuf │ │ │ │ ├── protobuf.gz │ │ │ │ ├── test.gz │ │ │ │ └── text │ │ │ ├── text_create.go │ │ │ ├── text_create_test.go │ │ │ ├── text_parse.go │ │ │ └── text_parse_test.go │ │ ├── internal │ │ │ └── bitbucket.org │ │ │ │ └── ww │ │ │ │ └── goautoneg │ │ │ │ ├── README.txt │ │ │ │ ├── autoneg.go │ │ │ │ └── autoneg_test.go │ │ └── model │ │ │ ├── alert.go │ │ │ ├── alert_test.go │ │ │ ├── fingerprinting.go │ │ │ ├── fnv.go │ │ │ ├── labels.go │ │ │ ├── labels_test.go │ │ │ ├── labelset.go │ │ │ ├── metric.go │ │ │ ├── metric_test.go │ │ │ ├── model.go │ │ │ ├── signature.go │ │ │ ├── signature_test.go │ │ │ ├── silence.go │ │ │ ├── silence_test.go │ │ │ ├── time.go │ │ │ ├── time_test.go │ │ │ ├── value.go │ │ │ └── value_test.go │ └── procfs │ │ ├── AUTHORS.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── NOTICE │ │ ├── README.md │ │ ├── doc.go │ │ ├── fixtures │ │ ├── 584 │ │ │ └── stat │ │ ├── 26231 │ │ │ ├── cmdline │ │ │ ├── comm │ │ │ ├── io │ │ │ ├── limits │ │ │ └── stat │ │ ├── 26232 │ │ │ ├── cmdline │ │ │ ├── comm │ │ │ ├── limits │ │ │ └── stat │ │ ├── mdstat │ │ ├── net │ │ │ ├── ip_vs │ │ │ └── ip_vs_stats │ │ ├── stat │ │ └── symlinktargets │ │ │ ├── README │ │ │ ├── abc │ │ │ ├── def │ │ │ ├── ghi │ │ │ ├── uvw │ │ │ └── xyz │ │ ├── fs.go │ │ ├── fs_test.go │ │ ├── ipvs.go │ │ ├── ipvs_test.go │ │ ├── mdstat.go │ │ ├── mdstat_test.go │ │ ├── proc.go │ │ ├── proc_io.go │ │ ├── proc_io_test.go │ │ ├── proc_limits.go │ │ ├── proc_limits_test.go │ │ ├── proc_stat.go │ │ ├── proc_stat_test.go │ │ ├── proc_test.go │ │ ├── stat.go │ │ └── stat_test.go └── serialx │ └── hashring │ ├── LICENSE │ ├── README.md │ ├── hashring.go │ └── hashring_test.go ├── golang.org └── x │ └── crypto │ ├── bcrypt │ ├── base64.go │ ├── bcrypt.go │ └── bcrypt_test.go │ ├── blowfish │ ├── block.go │ ├── blowfish_test.go │ ├── cipher.go │ └── const.go │ ├── nacl │ └── secretbox │ │ ├── secretbox.go │ │ └── secretbox_test.go │ ├── poly1305 │ ├── const_amd64.s │ ├── poly1305.go │ ├── poly1305_amd64.s │ ├── poly1305_arm.s │ ├── poly1305_test.go │ ├── sum_amd64.go │ ├── sum_arm.go │ └── sum_ref.go │ └── salsa20 │ └── salsa │ ├── hsalsa20.go │ ├── salsa2020_amd64.s │ ├── salsa208.go │ ├── salsa20_amd64.go │ ├── salsa20_ref.go │ └── salsa_test.go └── gopkg.in ├── airbrake └── gobrake.v2 │ ├── LICENSE │ ├── README.md │ ├── circle.yml │ ├── notice.go │ ├── notifier.go │ ├── notifier_test.go │ └── util.go ├── fsnotify.v1 ├── AUTHORS ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── example_test.go ├── fsnotify.go ├── inotify.go ├── inotify_poller.go ├── inotify_poller_test.go ├── inotify_test.go ├── integration_darwin_test.go ├── integration_test.go ├── kqueue.go ├── open_mode_bsd.go ├── open_mode_darwin.go └── windows.go ├── gemnasium └── logrus-airbrake-hook.v2 │ ├── LICENSE │ ├── README.md │ ├── airbrake.go │ └── airbrake_test.go └── macaroon.v1 ├── LICENSE ├── README.md ├── TODO ├── bench_test.go ├── crypto.go ├── crypto_test.go ├── export_test.go ├── macaroon.go ├── macaroon_test.go ├── marshal.go ├── marshal_test.go ├── packet.go └── packet_test.go /.gitignore: -------------------------------------------------------------------------------- 1 | .*.swp 2 | bin 3 | pkg 4 | *.pyc 5 | 6 | .synapse-base/ 7 | .sytest-base/ 8 | .venv/ 9 | synapse/ 10 | sytest/ 11 | 12 | results.xml 13 | golint.txt 14 | govet.txt 15 | -------------------------------------------------------------------------------- /hooks/README.md: -------------------------------------------------------------------------------- 1 | Git Hooks 2 | ========= 3 | 4 | Install the hooks by running: 5 | 6 | hooks/install.sh 7 | -------------------------------------------------------------------------------- /hooks/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | DOT_GIT="$(dirname $0)/../.git" 4 | 5 | ln -s "../../hooks/pre-commit" "$DOT_GIT/hooks/pre-commit" 6 | -------------------------------------------------------------------------------- /hooks/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/bash -eu 2 | 3 | gb generate 4 | gb test 5 | golint src/... 6 | go tool vet src/ 7 | -------------------------------------------------------------------------------- /jenkins.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eux 4 | 5 | ./jenkins/build_dendron.sh 6 | ./jenkins/test_dendron.sh 7 | 8 | ./jenkins/clone.sh synapse https://github.com/matrix-org/synapse.git 9 | ./jenkins/clone.sh sytest https://github.com/matrix-org/synapse.git 10 | 11 | ./synapse/jenkins/prepare_synapse.sh 12 | ./sytest/jenkins/prep_sytest_for_postgres.sh 13 | 14 | ./sytest/jenkins/install_and_run.sh \ 15 | --synapse-directory=$WORKSPACE/synapse \ 16 | --dendron=$WORKSPACE/bin/dendron \ 17 | -------------------------------------------------------------------------------- /jenkins/build_dendron.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eux 4 | 5 | cd "`dirname $0`/.." 6 | 7 | : ${GOPATH:=${WORKSPACE}/.gopath} 8 | if [[ "${GOPATH}" != *:* ]]; then 9 | mkdir -p "${GOPATH}" 10 | export PATH="${GOPATH}/bin:${PATH}" 11 | fi 12 | export GOPATH 13 | 14 | go get github.com/constabulary/gb/... 15 | gb generate github.com/matrix-org/dendron/proxy 16 | gb build 17 | -------------------------------------------------------------------------------- /jenkins/test_dendron.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ux 4 | 5 | cd "`dirname $0`/.." 6 | 7 | : ${GOPATH:=${WORKSPACE}/.gopath} 8 | if [[ "${GOPATH}" != *:* ]]; then 9 | mkdir -p "${GOPATH}" 10 | export PATH="${GOPATH}/bin:${PATH}" 11 | fi 12 | export GOPATH 13 | 14 | go get github.com/constabulary/gb/... 15 | go get github.com/golang/lint/golint 16 | go get github.com/tebeka/go2xunit 17 | 18 | # TODO: Whatever comes out of https://github.com/constabulary/gb/issues/559 19 | GOPATH=$(pwd):$(pwd)/vendor go test $(gb list) -v | go2xunit > results.xml 20 | golint src/... >golint.txt 21 | go tool vet src/ 2>govet.txt 22 | ./scripts/check_generated_proxy_paths.sh || exit 1 23 | -------------------------------------------------------------------------------- /scripts/check_generated_proxy_paths.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -u 2 | 3 | cd "$(dirname "$0")"/.. 4 | 5 | diff="$(diff -u src/github.com/matrix-org/dendron/proxy/paths.go <(python scripts/generate_proxy_paths.py vendor/src/github.com/matrix-org/matrix-doc /dev/stdout))" 6 | if [[ $? != 0 ]]; then 7 | cat >&2 < 2 | 3 | ## Usage 4 | 5 | ```go 6 | import ( 7 | "log/syslog" 8 | "github.com/Sirupsen/logrus" 9 | logrus_syslog "github.com/Sirupsen/logrus/hooks/syslog" 10 | ) 11 | 12 | func main() { 13 | log := logrus.New() 14 | hook, err := logrus_syslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") 15 | 16 | if err == nil { 17 | log.Hooks.Add(hook) 18 | } 19 | } 20 | ``` 21 | 22 | If you want to connect to local syslog (Ex. "/dev/log" or "/var/run/syslog" or "/var/run/log"). Just assign empty string to the first two parameters of `NewSyslogHook`. It should look like the following. 23 | 24 | ```go 25 | import ( 26 | "log/syslog" 27 | "github.com/Sirupsen/logrus" 28 | logrus_syslog "github.com/Sirupsen/logrus/hooks/syslog" 29 | ) 30 | 31 | func main() { 32 | log := logrus.New() 33 | hook, err := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO, "") 34 | 35 | if err == nil { 36 | log.Hooks.Add(hook) 37 | } 38 | } 39 | ``` -------------------------------------------------------------------------------- /vendor/src/github.com/Sirupsen/logrus/hooks/syslog/syslog_test.go: -------------------------------------------------------------------------------- 1 | package logrus_syslog 2 | 3 | import ( 4 | "github.com/Sirupsen/logrus" 5 | "log/syslog" 6 | "testing" 7 | ) 8 | 9 | func TestLocalhostAddAndPrint(t *testing.T) { 10 | log := logrus.New() 11 | hook, err := NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") 12 | 13 | if err != nil { 14 | t.Errorf("Unable to connect to local syslog.") 15 | } 16 | 17 | log.Hooks.Add(hook) 18 | 19 | for _, level := range hook.Levels() { 20 | if len(log.Hooks[level]) != 1 { 21 | t.Errorf("SyslogHook was not added. The length of log.Hooks[%v]: %v", level, len(log.Hooks[level])) 22 | } 23 | } 24 | 25 | log.Info("Congratulations!") 26 | } 27 | -------------------------------------------------------------------------------- /vendor/src/github.com/Sirupsen/logrus/json_formatter.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | ) 7 | 8 | type JSONFormatter struct { 9 | // TimestampFormat sets the format used for marshaling timestamps. 10 | TimestampFormat string 11 | } 12 | 13 | func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { 14 | data := make(Fields, len(entry.Data)+3) 15 | for k, v := range entry.Data { 16 | switch v := v.(type) { 17 | case error: 18 | // Otherwise errors are ignored by `encoding/json` 19 | // https://github.com/Sirupsen/logrus/issues/137 20 | data[k] = v.Error() 21 | default: 22 | data[k] = v 23 | } 24 | } 25 | prefixFieldClashes(data) 26 | 27 | timestampFormat := f.TimestampFormat 28 | if timestampFormat == "" { 29 | timestampFormat = DefaultTimestampFormat 30 | } 31 | 32 | data["time"] = entry.Time.Format(timestampFormat) 33 | data["msg"] = entry.Message 34 | data["level"] = entry.Level.String() 35 | 36 | serialized, err := json.Marshal(data) 37 | if err != nil { 38 | return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err) 39 | } 40 | return append(serialized, '\n'), nil 41 | } 42 | -------------------------------------------------------------------------------- /vendor/src/github.com/Sirupsen/logrus/terminal_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd dragonfly 2 | 3 | package logrus 4 | 5 | import "syscall" 6 | 7 | const ioctlReadTermios = syscall.TIOCGETA 8 | 9 | type Termios syscall.Termios 10 | -------------------------------------------------------------------------------- /vendor/src/github.com/Sirupsen/logrus/terminal_linux.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | package logrus 7 | 8 | import "syscall" 9 | 10 | const ioctlReadTermios = syscall.TCGETS 11 | 12 | type Termios syscall.Termios 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/Sirupsen/logrus/terminal_notwindows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build linux darwin freebsd openbsd netbsd dragonfly 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | // IsTerminal returns true if stderr's file descriptor is a terminal. 16 | func IsTerminal() bool { 17 | fd := syscall.Stderr 18 | var termios Termios 19 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 20 | return err == 0 21 | } 22 | -------------------------------------------------------------------------------- /vendor/src/github.com/Sirupsen/logrus/terminal_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris 2 | 3 | package logrus 4 | 5 | import ( 6 | "os" 7 | 8 | "golang.org/x/sys/unix" 9 | ) 10 | 11 | // IsTerminal returns true if the given file descriptor is a terminal. 12 | func IsTerminal() bool { 13 | _, err := unix.IoctlGetTermios(int(os.Stdout.Fd()), unix.TCGETA) 14 | return err == nil 15 | } 16 | -------------------------------------------------------------------------------- /vendor/src/github.com/Sirupsen/logrus/terminal_windows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build windows 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | var kernel32 = syscall.NewLazyDLL("kernel32.dll") 16 | 17 | var ( 18 | procGetConsoleMode = kernel32.NewProc("GetConsoleMode") 19 | ) 20 | 21 | // IsTerminal returns true if stderr's file descriptor is a terminal. 22 | func IsTerminal() bool { 23 | fd := syscall.Stderr 24 | var st uint32 25 | r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) 26 | return r != 0 && e == 0 27 | } 28 | -------------------------------------------------------------------------------- /vendor/src/github.com/Sirupsen/logrus/writer.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "bufio" 5 | "io" 6 | "runtime" 7 | ) 8 | 9 | func (logger *Logger) Writer() *io.PipeWriter { 10 | reader, writer := io.Pipe() 11 | 12 | go logger.writerScanner(reader) 13 | runtime.SetFinalizer(writer, writerFinalizer) 14 | 15 | return writer 16 | } 17 | 18 | func (logger *Logger) writerScanner(reader *io.PipeReader) { 19 | scanner := bufio.NewScanner(reader) 20 | for scanner.Scan() { 21 | logger.Print(scanner.Text()) 22 | } 23 | if err := scanner.Err(); err != nil { 24 | logger.Errorf("Error while reading from Writer: %s", err) 25 | } 26 | reader.Close() 27 | } 28 | 29 | func writerFinalizer(writer *io.PipeWriter) { 30 | writer.Close() 31 | } 32 | -------------------------------------------------------------------------------- /vendor/src/github.com/hashicorp/golang-lru/README.md: -------------------------------------------------------------------------------- 1 | golang-lru 2 | ========== 3 | 4 | This provides the `lru` package which implements a fixed-size 5 | thread safe LRU cache. It is based on the cache in Groupcache. 6 | 7 | Documentation 8 | ============= 9 | 10 | Full docs are available on [Godoc](http://godoc.org/github.com/hashicorp/golang-lru) 11 | 12 | Example 13 | ======= 14 | 15 | Using the LRU is very simple: 16 | 17 | ```go 18 | l, _ := New(128) 19 | for i := 0; i < 256; i++ { 20 | l.Add(i, nil) 21 | } 22 | if l.Len() != 128 { 23 | panic(fmt.Sprintf("bad len: %v", l.Len())) 24 | } 25 | ``` 26 | -------------------------------------------------------------------------------- /vendor/src/github.com/lib/pq/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing to pq 2 | 3 | `pq` has a backlog of pull requests, but contributions are still very 4 | much welcome. You can help with patch review, submitting bug reports, 5 | or adding new functionality. There is no formal style guide, but 6 | please conform to the style of existing code and general Go formatting 7 | conventions when submitting patches. 8 | 9 | ### Patch review 10 | 11 | Help review existing open pull requests by commenting on the code or 12 | proposed functionality. 13 | 14 | ### Bug reports 15 | 16 | We appreciate any bug reports, but especially ones with self-contained 17 | (doesn't depend on code outside of pq), minimal (can't be simplified 18 | further) test cases. It's especially helpful if you can submit a pull 19 | request with just the failing test case (you'll probably want to 20 | pattern it after the tests in 21 | [conn_test.go](https://github.com/lib/pq/blob/master/conn_test.go). 22 | 23 | ### New functionality 24 | 25 | There are a number of pending patches for new functionality, so 26 | additional feature patches will take a while to merge. Still, patches 27 | are generally reviewed based on usefulness and complexity in addition 28 | to time-in-queue, so if you have a knockout idea, take a shot. Feel 29 | free to open an issue discussion your proposed patch beforehand. 30 | -------------------------------------------------------------------------------- /vendor/src/github.com/lib/pq/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2013, 'pq' Contributors 2 | Portions Copyright (C) 2011 Blake Mizerany 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9 | -------------------------------------------------------------------------------- /vendor/src/github.com/lib/pq/certs/README: -------------------------------------------------------------------------------- 1 | This directory contains certificates and private keys for testing some 2 | SSL-related functionality in Travis. Do NOT use these certificates for 3 | anything other than testing. 4 | -------------------------------------------------------------------------------- /vendor/src/github.com/lib/pq/certs/postgresql.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICWwIBAAKBgQDjjAaacFRR0TQ0gznNolkPBe2N2A400JL0CU3ujHhVSST4POA0 3 | WAKy55RYwejlu9Gv9lTBQLGQcHkNNVScjxbpwvCS5mRJOMF2+EdmxFtKtqlDzsi+ 4 | bE0rlJc8VbzR0G63U66JXEtrhkC+wa4eZM6crocKaeXIIRK+rh32Rd8WpwIDAQAB 5 | AoGAM5dM6/kp9P700i8qjOgRPym96Zoh5nGfz/rIE5z/r36NBkdvIg8OVZfR96nH 6 | b0b9TOMR5lsPp0sI9yivTWvX6qyvLJRWy2vvx17hXK9NxXUNTAm0PYZUTvCtcPeX 7 | RnJpzQKNZQPkFzF0uXBc4CtPK2Vz0+FGvAelrhYAxnw1dIkCQQD+9qaW5QhXjsjb 8 | Nl85CmXgxPmGROcgLQCO+omfrjf9UXrituU9Dz6auym5lDGEdMFnkzfr+wpasEy9 9 | mf5ZZOhDAkEA5HjXfVGaCtpydOt6hDon/uZsyssCK2lQ7NSuE3vP+sUsYMzIpEoy 10 | t3VWXqKbo+g9KNDTP4WEliqp1aiSIylzzQJANPeqzihQnlgEdD4MdD4rwhFJwVIp 11 | Le8Lcais1KaN7StzOwxB/XhgSibd2TbnPpw+3bSg5n5lvUdo+e62/31OHwJAU1jS 12 | I+F09KikQIr28u3UUWT2IzTT4cpVv1AHAQyV3sG3YsjSGT0IK20eyP9BEBZU2WL0 13 | 7aNjrvR5aHxKc5FXsQJABsFtyGpgI5X4xufkJZVZ+Mklz2n7iXa+XPatMAHFxAtb 14 | EEMt60rngwMjXAzBSC6OYuYogRRAY3UCacNC5VhLYQ== 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /vendor/src/github.com/lib/pq/oid/doc.go: -------------------------------------------------------------------------------- 1 | // Package oid contains OID constants 2 | // as defined by the Postgres server. 3 | package oid 4 | 5 | // Oid is a Postgres Object ID. 6 | type Oid uint32 7 | -------------------------------------------------------------------------------- /vendor/src/github.com/lib/pq/user_posix.go: -------------------------------------------------------------------------------- 1 | // Package pq is a pure Go Postgres driver for the database/sql package. 2 | 3 | // +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris 4 | 5 | package pq 6 | 7 | import ( 8 | "os" 9 | "os/user" 10 | ) 11 | 12 | func userCurrent() (string, error) { 13 | u, err := user.Current() 14 | if err == nil { 15 | return u.Username, nil 16 | } 17 | 18 | name := os.Getenv("USER") 19 | if name != "" { 20 | return name, nil 21 | } 22 | 23 | return "", ErrCouldNotDetectUsername 24 | } 25 | -------------------------------------------------------------------------------- /vendor/src/github.com/lib/pq/user_windows.go: -------------------------------------------------------------------------------- 1 | // Package pq is a pure Go Postgres driver for the database/sql package. 2 | package pq 3 | 4 | import ( 5 | "path/filepath" 6 | "syscall" 7 | ) 8 | 9 | // Perform Windows user name lookup identically to libpq. 10 | // 11 | // The PostgreSQL code makes use of the legacy Win32 function 12 | // GetUserName, and that function has not been imported into stock Go. 13 | // GetUserNameEx is available though, the difference being that a 14 | // wider range of names are available. To get the output to be the 15 | // same as GetUserName, only the base (or last) component of the 16 | // result is returned. 17 | func userCurrent() (string, error) { 18 | pw_name := make([]uint16, 128) 19 | pwname_size := uint32(len(pw_name)) - 1 20 | err := syscall.GetUserNameEx(syscall.NameSamCompatible, &pw_name[0], &pwname_size) 21 | if err != nil { 22 | return "", ErrCouldNotDetectUsername 23 | } 24 | s := syscall.UTF16ToString(pw_name) 25 | u := filepath.Base(s) 26 | return u, nil 27 | } 28 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/dugong/README.md: -------------------------------------------------------------------------------- 1 | # dugong 2 | Logging utilities for [logrus](https://github.com/Sirupsen/logrus). 3 | 4 | To develop on this library, you need logrus on your GOPATH: 5 | 6 | ``go get github.com/Sirupsen/logrus`` 7 | 8 | You can then run its tests by running 9 | 10 | ``go test`` 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/README: -------------------------------------------------------------------------------- 1 | This directory contains swagger-compatible representations of our APIs. See 2 | scripts/README.md for details on how to make use of them. 3 | 4 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/client-server/definitions/auth_data.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016 OpenMarket Ltd 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | title: Authentication Data 15 | description: |- 16 | Used by clients to submit authentication information to the interactive-authentication API 17 | type: object 18 | properties: 19 | type: 20 | description: The login type that the client is attempting to complete. 21 | type: string 22 | session: 23 | description: The value of the session key given by the homeserver. 24 | type: string 25 | additionalProperties: 26 | description: Keys dependent on the login type 27 | type: object 28 | required: 29 | - type 30 | example: 31 | type: "example.type.foo" 32 | session: "xxxxx" 33 | example_credential: "verypoorsharedsecret" 34 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/client-server/definitions/error.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016 OpenMarket Ltd 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | type: object 15 | description: A Matrix-level Error 16 | properties: 17 | errcode: 18 | type: string 19 | description: An error code. 20 | error: 21 | type: string 22 | description: A human-readable error message. 23 | required: ["errcode"] -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/client-server/definitions/event-schemas: -------------------------------------------------------------------------------- 1 | ../../../event-schemas -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/client-server/definitions/event_batch.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016 OpenMarket Ltd 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | properties: 15 | events: 16 | description: List of events 17 | items: 18 | allOf: 19 | - $ref: event.yaml 20 | type: object 21 | type: array 22 | type: object 23 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/client-server/definitions/security.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016 OpenMarket Ltd 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | accessToken: 15 | type: apiKey 16 | description: The access_token returned by a call to ``/login`` or ``/register`` 17 | name: access_token 18 | in: query 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/client-server/definitions/timeline_batch.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016 OpenMarket Ltd 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | allOf: 15 | - $ref: event_batch.yaml 16 | properties: 17 | limited: 18 | description: True if the number of events returned was limited by the ``limit`` 19 | on the filter 20 | type: boolean 21 | prev_batch: 22 | description: A token that can be supplied to to the ``from`` parameter of the 23 | rooms/{roomId}/messages endpoint 24 | type: string 25 | type: object 26 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/files/css: -------------------------------------------------------------------------------- 1 | /* latin */ 2 | @font-face { 3 | font-family: 'Droid Sans'; 4 | font-style: normal; 5 | font-weight: 400; 6 | src: local('Droid Sans'), local('DroidSans'), url(http://fonts.gstatic.com/s/droidsans/v5/s-BiyweUPV0v-yRb-cjciPk_vArhqVIZ0nv9q090hN8.woff2), format('woff2'); 7 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; 8 | } 9 | /* latin */ 10 | @font-face { 11 | font-family: 'Droid Sans'; 12 | font-style: normal; 13 | font-weight: 700; 14 | src: local('Droid Sans Bold'), local('DroidSans-Bold'), url(http://fonts.gstatic.com/s/droidsans/v5/EFpQQyG9GqCrobXxL-KRMYWiMMZ7xLd792ULpGE4W_Y.woff2), format('woff2'); 15 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; 16 | } 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/files/jquery.slideto.min.js: -------------------------------------------------------------------------------- 1 | (function(b){b.fn.slideto=function(a){a=b.extend({slide_duration:"slow",highlight_duration:3E3,highlight:true,highlight_color:"#FFFF99"},a);return this.each(function(){obj=b(this);b("body").animate({scrollTop:obj.offset().top},a.slide_duration,function(){a.highlight&&b.ui.version&&obj.effect("highlight",{color:a.highlight_color},a.highlight_duration)})})}})(jQuery); 2 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/files/jquery.wiggle.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery Wiggle 3 | Author: WonderGroup, Jordan Thomas 4 | URL: http://labs.wondergroup.com/demos/mini-ui/index.html 5 | License: MIT (http://en.wikipedia.org/wiki/MIT_License) 6 | */ 7 | jQuery.fn.wiggle=function(o){var d={speed:50,wiggles:3,travel:5,callback:null};var o=jQuery.extend(d,o);return this.each(function(){var cache=this;var wrap=jQuery(this).wrap('
').css("position","relative");var calls=0;for(i=1;i<=o.wiggles;i++){jQuery(this).animate({left:"-="+o.travel},o.speed).animate({left:"+="+o.travel*2},o.speed*2).animate({left:"-="+o.travel},o.speed,function(){calls++;if(jQuery(cache).parent().hasClass('wiggle-wrap')){jQuery(cache).parent().replaceWith(cache);} 8 | if(calls==o.wiggles&&jQuery.isFunction(o.callback)){o.callback();}});}});}; -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "swagger-cli-validator", 3 | "version": "0.0.1", 4 | "description": "", 5 | "main": "validator.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "nopt": "^3.0.2", 13 | "swagger-parser": "^3.2.1" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/drafts/ancient_federated_versioning_design_notes.rst: -------------------------------------------------------------------------------- 1 | Versioning is, like, hard for backfilling backwards because of the number of homeservers involved. 2 | 3 | The way we solve this is by doing versioning as an acyclic directed graph of PDUs. For backfilling purposes, this is done on a per context basis. 4 | When we send a PDU we include all PDUs that have been received for that context that hasn't been subsequently listed in a later PDU. The trivial case is a simple list of PDUs, e.g. A <- B <- C. However, if two servers send out a PDU at the same to, both B and C would point at A - a later PDU would then list both B and C. 5 | 6 | Problems with opaque version strings: 7 | - How do you do clustering without mandating that a cluster can only have one transaction in flight to a given remote homeserver at a time. 8 | If you have multiple transactions sent at once, then you might drop one transaction, receive another with a version that is later than the dropped transaction and which point ARGH WE LOST A TRANSACTION. 9 | - How do you do backfilling? A version string defines a point in a stream w.r.t. a single homeserver, not a point in the context. 10 | 11 | We only need to store the ends of the directed graph, we DO NOT need to do the whole one table of nodes and one of edges. 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/drafts/object_model.rst: -------------------------------------------------------------------------------- 1 | ..TODO 2 | What are the start & end tokens doing here?! 3 | 4 | :: 5 | 6 | +---------------+ 7 | | Room | 8 | | "Room-ID" | 9 | | {State} | +----------------------+ 10 | | Name------|-------->| Event m.room.name | 11 | | Topic | | "Name" | 12 | | [Aliases] | +----------------------+ +-------------+ 13 | | [Members]-|---+ +----------------------+ <----| Start Token | 14 | | [Messages] | | | Event m.room.member | +-------------+ 15 | | | | | +---->| "invite/join/ban" | 16 | +---------------+ | "User-ID" | 17 | | | +----------------------+ 18 | | | +----------------------+ 19 | | | Message | Event m.room.message | 20 | | +-------------->| {content} |<--+ 21 | | +----------------------+ | 22 | | Comment +----------------------+ | 23 | +------------------>| Event m.room.message | | 24 | | {content} | | 25 | | "relates-to"-------|---+ +-------------+ 26 | +----------------------+ <----| End Token | 27 | +-------------+ 28 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/README.md: -------------------------------------------------------------------------------- 1 | Checking the event schemas 2 | ========================== 3 | 4 | To validate the event schemas, and check the example events, run 5 | 6 | ./check-examples.py 7 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.call.answer: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "version" : 0, 5 | "call_id": "12345", 6 | "lifetime": 60000, 7 | "answer": { 8 | "type" : "answer", 9 | "sdp" : "v=0\r\no=- 6584580628695956864 2 IN IP4 127.0.0.1[...]" 10 | } 11 | }, 12 | "origin_server_ts": 1431961217939, 13 | "event_id": "$WLGTSEFSEF:localhost", 14 | "type": "m.call.answer", 15 | "room_id": "!Cuyf34gef24t:localhost", 16 | "sender": "@example:localhost" 17 | } 18 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.call.candidates: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "version" : 0, 5 | "call_id": "12345", 6 | "candidates": [ 7 | { 8 | "sdpMid": "audio", 9 | "sdpMLineIndex": 0, 10 | "candidate": "candidate:863018703 1 udp 2122260223 10.9.64.156 43670 typ host generation 0" 11 | } 12 | ] 13 | }, 14 | "origin_server_ts": 1431961217939, 15 | "event_id": "$WLGTSEFSEF:localhost", 16 | "type": "m.call.candidates", 17 | "room_id": "!Cuyf34gef24t:localhost", 18 | "sender": "@example:localhost" 19 | } 20 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.call.hangup: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "version" : 0, 5 | "call_id": "12345" 6 | }, 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.call.hangup", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.call.invite: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "version" : 0, 5 | "call_id": "12345", 6 | "lifetime": 60000, 7 | "offer": { 8 | "type" : "offer", 9 | "sdp" : "v=0\r\no=- 6584580628695956864 2 IN IP4 127.0.0.1[...]" 10 | } 11 | }, 12 | "origin_server_ts": 1431961217939, 13 | "event_id": "$WLGTSEFSEF:localhost", 14 | "type": "m.call.invite", 15 | "room_id": "!Cuyf34gef24t:localhost", 16 | "sender": "@example:localhost" 17 | } 18 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.direct: -------------------------------------------------------------------------------- 1 | { 2 | "type": "m.direct", 3 | "content": { 4 | "@bob:example.com": [ 5 | "!abcdefgh:example.com", 6 | "!hgfedcba:example.com" 7 | ] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.presence: -------------------------------------------------------------------------------- 1 | { 2 | "content": { 3 | "avatar_url": "mxc://localhost:wefuiwegh8742w", 4 | "last_active_ago": 2478593, 5 | "presence": "online", 6 | "currently_active": false, 7 | "user_id": "@example:localhost" 8 | }, 9 | "event_id": "$WLGTSEFSEF:localhost", 10 | "type": "m.presence" 11 | } 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.receipt: -------------------------------------------------------------------------------- 1 | { 2 | "type": "m.receipt", 3 | "room_id": "!KpjVgQyZpzBwvMBsnT:matrix.org", 4 | "content": { 5 | "$1435641916114394fHBLK:matrix.org": { 6 | "m.read": { 7 | "@rikj:jki.re": { 8 | "ts": 1436451550453 9 | } 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.aliases: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "aliases": ["#somewhere:localhost", "#another:localhost"] 5 | }, 6 | "state_key": "localhost", 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.aliases", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.avatar: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "info": { 5 | "h": 398, 6 | "w": 394, 7 | "mimetype": "image/jpeg", 8 | "size": 31037 9 | }, 10 | "url": "mxc://localhost/JWEIFJgwEIhweiWJE" 11 | }, 12 | "origin_server_ts": 1431961217939, 13 | "event_id": "$WLGTSEFSEF:localhost", 14 | "type": "m.room.avatar", 15 | "state_key": "", 16 | "room_id": "!Cuyf34gef24t:localhost", 17 | "sender": "@example:localhost" 18 | } 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.canonical_alias: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "alias": "#somewhere:localhost" 5 | }, 6 | "state_key": "", 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.canonical_alias", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.create: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "creator": "@example:localhost" 5 | }, 6 | "state_key": "", 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.create", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.guest_access: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242353, 3 | "content": { 4 | "guest_access": "can_join" 5 | }, 6 | "state_key": "", 7 | "origin_server_ts": 1431961217938, 8 | "event_id": "$WLGTSEFSEG:localhost", 9 | "type": "m.room.guest_access", 10 | "room_id": "!Cuyf34gef24u:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.history_visibility: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "history_visibility": "shared" 5 | }, 6 | "state_key": "", 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.history_visibility", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.join_rules: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "join_rule": "public" 5 | }, 6 | "state_key": "", 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.join_rules", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.member: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "membership": "join", 5 | "avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto", 6 | "displayname": "Alice Margatroid" 7 | }, 8 | "invite_room_state": [ 9 | { 10 | "type": "m.room.name", 11 | "state_key": "", 12 | "content": { 13 | "name": "Forest of Magic" 14 | } 15 | }, 16 | { 17 | "type": "m.room.join_rules", 18 | "state_key": "", 19 | "content": { 20 | "join_rules": "invite" 21 | } 22 | } 23 | ], 24 | "state_key": "@alice:localhost", 25 | "origin_server_ts": 1431961217939, 26 | "event_id": "$WLGTSEFSEF:localhost", 27 | "type": "m.room.member", 28 | "room_id": "!Cuyf34gef24t:localhost", 29 | "sender": "@example:localhost" 30 | } 31 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.member#invite_room_state: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "membership": "join", 5 | "avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto", 6 | "displayname": "Alice Margatroid" 7 | }, 8 | "invite_room_state": [ 9 | { 10 | "type": "m.room.name", 11 | "state_key": "", 12 | "content": { 13 | "name": "Forest of Magic" 14 | } 15 | }, 16 | { 17 | "type": "m.room.join_rules", 18 | "state_key": "", 19 | "content": { 20 | "join_rules": "invite" 21 | } 22 | } 23 | ], 24 | "state_key": "@alice:localhost", 25 | "origin_server_ts": 1431961217939, 26 | "event_id": "$WLGTSEFSEF:localhost", 27 | "type": "m.room.member", 28 | "room_id": "!Cuyf34gef24t:localhost", 29 | "sender": "@example:localhost" 30 | } 31 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.member#third_party_invite: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "membership": "join", 5 | "avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto", 6 | "displayname": "Alice Margatroid", 7 | "third_party_invite": { 8 | "display_name": "alice", 9 | "signed": { 10 | "mxid": "@alice:localhost", 11 | "signatures": { 12 | "magic.forest": { 13 | "ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg" 14 | } 15 | }, 16 | "token": "abc123" 17 | } 18 | } 19 | }, 20 | "state_key": "@alice:localhost", 21 | "origin_server_ts": 1431961217939, 22 | "event_id": "$WLGTSEFSEF:localhost", 23 | "type": "m.room.member", 24 | "room_id": "!Cuyf34gef24t:localhost", 25 | "sender": "@example:localhost" 26 | } 27 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.message#m.audio: -------------------------------------------------------------------------------- 1 | { 2 | "age": 146, 3 | "content": { 4 | "body": "Bee Gees - Stayin' Alive", 5 | "url": "mxc://localhost/ffed755USFFxlgbQYZGtryd", 6 | "info": { 7 | "duration": 2140786, 8 | "size": 1563685, 9 | "mimetype": "audio/mpeg" 10 | }, 11 | "msgtype": "m.audio" 12 | }, 13 | "event_id": "$143273582443PhrSn:localhost", 14 | "origin_server_ts": 1432735824653, 15 | "room_id": "!jEsUZKDJdhlrceRyVU:localhost", 16 | "type": "m.room.message", 17 | "sender": "@example:localhost" 18 | } 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.message#m.emote: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "body": "thinks this is an example emote", 5 | "msgtype": "m.emote" 6 | }, 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.message", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.message#m.file: -------------------------------------------------------------------------------- 1 | { 2 | "age": 146, 3 | "content": { 4 | "body": "something-important.doc", 5 | "filename": "something-important.doc", 6 | "info": { 7 | "mimetype": "application/msword", 8 | "size": 46144 9 | }, 10 | "msgtype": "m.file", 11 | "url": "mxc://localhost/FHyPlCeYUSFFxlgbQYZmoEoe" 12 | }, 13 | "event_id": "$143273582443PhrSn:localhost", 14 | "origin_server_ts": 1432735824653, 15 | "room_id": "!jEsUZKDJdhlrceRyVU:localhost", 16 | "type": "m.room.message", 17 | "sender": "@example:localhost" 18 | } 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.message#m.image: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "body": "filename.jpg", 5 | "info": { 6 | "h": 398, 7 | "w": 394, 8 | "mimetype": "image/jpeg", 9 | "size": 31037 10 | }, 11 | "url": "mxc://localhost/JWEIFJgwEIhweiWJE", 12 | "msgtype": "m.image" 13 | }, 14 | "origin_server_ts": 1431961217939, 15 | "event_id": "$WLGTSEFSEF:localhost", 16 | "type": "m.room.message", 17 | "room_id": "!Cuyf34gef24t:localhost", 18 | "sender": "@example:localhost" 19 | } 20 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.message#m.location: -------------------------------------------------------------------------------- 1 | { 2 | "age": 146, 3 | "content": { 4 | "body": "Big Ben, London, UK", 5 | "geo_uri": "geo:51.5008,0.1247", 6 | "thumbnail_url": "mxc://localhost/FHyPlCeYUSFFxlgbQYZmoEoe", 7 | "thumbnail_info": { 8 | "mimetype": "image/jpeg", 9 | "size": 46144, 10 | "w": 300, 11 | "h": 300 12 | }, 13 | "msgtype": "m.location" 14 | }, 15 | "event_id": "$143273582443PhrSn:localhost", 16 | "origin_server_ts": 1432735824653, 17 | "room_id": "!jEsUZKDJdhlrceRyVU:localhost", 18 | "type": "m.room.message", 19 | "sender": "@example:localhost" 20 | } 21 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.message#m.notice: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "body": "This is an example notice", 5 | "msgtype": "m.notice" 6 | }, 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.message", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.message#m.text: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "body": "This is an example text message", 5 | "msgtype": "m.text" 6 | }, 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.message", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.message#m.video: -------------------------------------------------------------------------------- 1 | { 2 | "age": 146, 3 | "content": { 4 | "body": "Gangnam Style", 5 | "url": "mxc://localhost/a526eYUSFFxlgbQYZmo442", 6 | "info": { 7 | "thumbnail_url": "mxc://localhost/FHyPlCeYUSFFxlgbQYZmoEoe", 8 | "thumbnail_info": { 9 | "mimetype": "image/jpeg", 10 | "size": 46144, 11 | "w": 300, 12 | "h": 300 13 | }, 14 | "w": 480, 15 | "h": 320, 16 | "duration": 2140786, 17 | "size": 1563685, 18 | "mimetype": "video/mp4" 19 | }, 20 | "msgtype": "m.video" 21 | }, 22 | "event_id": "$143273582443PhrSn:localhost", 23 | "origin_server_ts": 1432735824653, 24 | "room_id": "!jEsUZKDJdhlrceRyVU:localhost", 25 | "type": "m.room.message", 26 | "sender": "@example:localhost" 27 | } 28 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.message.feedback: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "type": "delivered", 5 | "target_event_id": "$WEIGFHFW:localhost" 6 | }, 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.message.feedback", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.name: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "name": "The room name" 5 | }, 6 | "state_key": "", 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.name", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.power_levels: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "ban": 50, 5 | "events": { 6 | "m.room.name": 100, 7 | "m.room.power_levels": 100 8 | }, 9 | "events_default": 0, 10 | "invite": 50, 11 | "kick": 50, 12 | "redact": 50, 13 | "state_default": 50, 14 | "users": { 15 | "@example:localhost": 100 16 | }, 17 | "users_default": 0 18 | }, 19 | "state_key": "", 20 | "origin_server_ts": 1431961217939, 21 | "event_id": "$WLGTSEFSEF:localhost", 22 | "type": "m.room.power_levels", 23 | "room_id": "!Cuyf34gef24t:localhost", 24 | "sender": "@example:localhost" 25 | } 26 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.redaction: -------------------------------------------------------------------------------- 1 | { 2 | "unsigned": { 3 | "age": 242352 4 | }, 5 | "content": { 6 | "reason": "Spamming" 7 | }, 8 | "origin_server_ts": 1431961217939, 9 | "event_id": "$WLGTSEFSEF:localhost", 10 | "type": "m.room.redaction", 11 | "room_id": "!Cuyf34gef24t:localhost", 12 | "redacts": "!fukweghifu23:localhost", 13 | "sender": "@example:localhost" 14 | } 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.third_party_invite: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "display_name": "Alice Margatroid", 5 | "key_validity_url": "https://magic.forest/verifykey", 6 | "public_key": "abc123", 7 | "public_keys": [{ 8 | "public_key": "def456", 9 | "key_validity_url": "https://magic.forest/verifykey" 10 | }] 11 | }, 12 | "state_key": "pc98", 13 | "origin_server_ts": 1431961217939, 14 | "event_id": "$WLGTSEFSEF:localhost", 15 | "type": "m.room.third_party_invite", 16 | "room_id": "!Cuyf34gef24t:localhost", 17 | "sender": "@example:localhost" 18 | } 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.room.topic: -------------------------------------------------------------------------------- 1 | { 2 | "age": 242352, 3 | "content": { 4 | "topic": "A room topic" 5 | }, 6 | "state_key": "", 7 | "origin_server_ts": 1431961217939, 8 | "event_id": "$WLGTSEFSEF:localhost", 9 | "type": "m.room.topic", 10 | "room_id": "!Cuyf34gef24t:localhost", 11 | "sender": "@example:localhost" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.tag: -------------------------------------------------------------------------------- 1 | { 2 | "type": "m.tag", 3 | "content": { 4 | "tags": { 5 | "work": {"order": 1} 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/examples/m.typing: -------------------------------------------------------------------------------- 1 | { 2 | "type": "m.typing", 3 | "room_id": "!z0mnsuiwhifuhwwfw:matrix.org", 4 | "content": { 5 | "user_ids": ["@alice:matrix.org", "@bob:example.com"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/core-event-schema/event.yaml: -------------------------------------------------------------------------------- 1 | description: The basic set of fields all events must have. 2 | properties: 3 | content: 4 | description: The fields in this object will vary depending on the type of event. 5 | When interacting with the REST API, this is the HTTP body. 6 | title: EventContent 7 | type: object 8 | type: 9 | description: The type of event. This SHOULD be namespaced similar to Java package 10 | naming conventions e.g. 'com.example.subdomain.event.type' 11 | type: string 12 | title: Event 13 | type: object 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml: -------------------------------------------------------------------------------- 1 | $schema: http://json-schema.org/draft-04/schema# 2 | description: Metadata about an image. 3 | properties: 4 | h: 5 | description: The height of the image in pixels. 6 | type: integer 7 | mimetype: 8 | description: The mimetype of the image, e.g. ``image/jpeg``. 9 | type: string 10 | size: 11 | description: Size of the image in bytes. 12 | type: integer 13 | w: 14 | description: The width of the image in pixels. 15 | type: integer 16 | title: ImageInfo 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/core-event-schema/state_event.yaml: -------------------------------------------------------------------------------- 1 | allOf: 2 | - $ref: room_event.yaml 3 | description: In addition to the Room Event fields, State Events have the following 4 | additional fields. 5 | properties: 6 | prev_content: 7 | description: Optional. The previous ``content`` for this event. If there is no 8 | previous content, this key will be missing. 9 | title: EventContent 10 | type: object 11 | state_key: 12 | description: A unique key which defines the overwriting semantics for this piece 13 | of room state. This value is often a zero-length string. The presence of this 14 | key makes this event a State Event. The key MUST NOT start with '_'. 15 | type: string 16 | required: 17 | - state_key 18 | title: State Event 19 | type: object 20 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.call.hangup: -------------------------------------------------------------------------------- 1 | { 2 | "type": "object", 3 | "description": "Sent by either party to signal their termination of the call. This can be sent either once the call has has been established or before to abort the call.", 4 | "allOf": [{ 5 | "$ref": "core-event-schema/room_event.yaml" 6 | }], 7 | "properties": { 8 | "content": { 9 | "type": "object", 10 | "properties": { 11 | "call_id": { 12 | "type": "string", 13 | "description": "The ID of the call this event relates to." 14 | }, 15 | "version": { 16 | "type": "integer", 17 | "description": "The version of the VoIP specification this message adheres to. This specification is version 0." 18 | } 19 | }, 20 | "required": ["call_id", "version"] 21 | }, 22 | "type": { 23 | "type": "string", 24 | "enum": ["m.call.hangup"] 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.direct: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/event.yaml 4 | description: |- 5 | A map of which rooms are considered 'direct' rooms for specific users 6 | is kept in ``account_data`` in an event of type ``m.direct``. The 7 | content of this event is an object where the keys are the user IDs 8 | and values are lists of room ID strings of the 'direct' rooms for 9 | that user ID. 10 | properties: 11 | content: 12 | additionalProperties: 13 | type: array 14 | title: User ID 15 | items: 16 | type: string 17 | type: object 18 | type: 19 | enum: 20 | - m.direct 21 | type: string 22 | title: Direct Chat Mapping 23 | type: object 24 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.aliases: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/state_event.yaml 4 | description: 'This event is sent by a homeserver directly to inform of changes to the list of aliases it knows about for that room. The ``state_key`` for this event is set to the homeserver which owns the room alias. The entire set of known aliases for the room is the union of all the ``m.room.aliases`` events, one for each homeserver. Clients **should** check the validity of any room alias given in this list before presenting it to the user as trusted fact. The lists given by this event should be considered simply as advice on which aliases might exist, for which the client can perform the lookup to confirm whether it receives the correct room ID.' 5 | properties: 6 | content: 7 | properties: 8 | aliases: 9 | description: A list of room aliases. 10 | items: 11 | type: string 12 | type: array 13 | required: 14 | - aliases 15 | type: object 16 | state_key: 17 | description: The homeserver domain which owns these room aliases. 18 | type: string 19 | type: 20 | enum: 21 | - m.room.aliases 22 | type: string 23 | title: Informs the room about what room aliases it has been given. 24 | type: object 25 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.avatar: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/state_event.yaml 4 | description: A picture that is associated with the room. This can be displayed alongside the room information. 5 | properties: 6 | content: 7 | properties: 8 | info: 9 | allOf: 10 | - $ref: core-event-schema/msgtype_infos/image_info.yaml 11 | description: Metadata about the image referred to in ``url``. 12 | title: ImageInfo 13 | type: object 14 | thumbnail_info: 15 | allOf: 16 | - $ref: core-event-schema/msgtype_infos/image_info.yaml 17 | description: Metadata about the image referred to in ``thumbnail_url``. 18 | title: ImageInfo 19 | type: object 20 | thumbnail_url: 21 | description: The URL to the thumbnail of the image. 22 | type: string 23 | url: 24 | description: The URL to the image. 25 | type: string 26 | required: 27 | - url 28 | type: object 29 | state_key: 30 | description: A zero-length string. 31 | pattern: '^$' 32 | type: string 33 | type: 34 | enum: 35 | - m.room.avatar 36 | type: string 37 | title: RoomAvatar 38 | type: object 39 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.canonical_alias: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/state_event.yaml 4 | description: |- 5 | This event is used to inform the room about which alias should be 6 | considered the canonical one. This could be for display purposes or as 7 | suggestion to users which alias to use to advertise the room. 8 | 9 | A room with an ``m.room.canonical_alias`` event with an absent, null, or 10 | empty ``alias`` field should be treated the same as a room with no 11 | ``m.room.canonical_alias`` event. 12 | properties: 13 | content: 14 | properties: 15 | alias: 16 | description: The canonical alias. 17 | type: string 18 | type: object 19 | required: 20 | - alias 21 | state_key: 22 | description: A zero-length string. 23 | pattern: '^$' 24 | type: string 25 | type: 26 | enum: 27 | - m.room.canonical_alias 28 | type: string 29 | title: Informs the room as to which alias is the canonical one. 30 | type: object 31 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.create: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/state_event.yaml 4 | description: This is the first event in a room and cannot be changed. It acts as the root of all other events. 5 | properties: 6 | content: 7 | properties: 8 | creator: 9 | description: The ``user_id`` of the room creator. This is set by the homeserver. 10 | type: string 11 | m.federate: 12 | description: Whether users on other servers can join this room. Defaults to ``true`` if key does not exist. 13 | type: boolean 14 | required: 15 | - creator 16 | type: object 17 | state_key: 18 | description: A zero-length string. 19 | pattern: '^$' 20 | type: string 21 | type: 22 | enum: 23 | - m.room.create 24 | type: string 25 | title: The first event in the room. 26 | type: object 27 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.guest_access: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/state_event.yaml 4 | description: 'This event controls whether guest users are allowed to join rooms. If this event is absent, servers should act as if it is present and has the guest_access value "forbidden".' 5 | properties: 6 | content: 7 | properties: 8 | guest_access: 9 | description: Whether guests can join the room. 10 | enum: 11 | - can_join 12 | - forbidden 13 | type: string 14 | required: 15 | - guest_access 16 | type: object 17 | state_key: 18 | description: A zero-length string. 19 | pattern: '^$' 20 | type: string 21 | type: 22 | enum: 23 | - m.room.guest_access 24 | type: string 25 | title: Controls whether guest users are allowed to join rooms. 26 | type: object 27 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.history_visibility: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/state_event.yaml 4 | description: This event controls whether a user can see the events that happened in a room from before they joined. 5 | properties: 6 | content: 7 | properties: 8 | history_visibility: 9 | description: Who can see the room history. 10 | enum: 11 | - invited 12 | - joined 13 | - shared 14 | - world_readable 15 | type: string 16 | required: 17 | - history_visibility 18 | type: object 19 | state_key: 20 | description: A zero-length string. 21 | pattern: '^$' 22 | type: string 23 | type: 24 | enum: 25 | - m.room.history_visibility 26 | type: string 27 | title: Controls visibility of history. 28 | type: object 29 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.join_rules: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/state_event.yaml 4 | description: 'A room may be ``public`` meaning anyone can join the room without any prior action. Alternatively, it can be ``invite`` meaning that a user who wishes to join the room must first receive an invite to the room from someone already inside of the room. Currently, ``knock`` and ``private`` are reserved keywords which are not implemented.' 5 | properties: 6 | content: 7 | properties: 8 | join_rule: 9 | description: The type of rules used for users wishing to join this room. 10 | enum: 11 | - public 12 | - knock 13 | - invite 14 | - private 15 | type: string 16 | required: 17 | - join_rule 18 | type: object 19 | state_key: 20 | description: A zero-length string. 21 | pattern: '^$' 22 | type: string 23 | type: 24 | enum: 25 | - m.room.join_rules 26 | type: string 27 | title: Describes how users are allowed to join the room. 28 | type: object 29 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.message: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/room_event.yaml 4 | description: 'This event is used when sending messages in a room. Messages are not limited to be text. The ``msgtype`` key outlines the type of message, e.g. text, audio, image, video, etc. The ``body`` key is text and MUST be used with every kind of ``msgtype`` as a fallback mechanism for when a client cannot render a message. This allows clients to display *something* even if it is just plain text.' 5 | properties: 6 | content: 7 | properties: 8 | body: 9 | description: The textual representation of this message. 10 | type: string 11 | msgtype: 12 | description: 'The type of message, e.g. ``m.image``, ``m.text``' 13 | type: string 14 | required: 15 | - msgtype 16 | - body 17 | type: object 18 | type: 19 | enum: 20 | - m.room.message 21 | type: string 22 | title: Message 23 | type: object 24 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.message#m.audio: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/room_event.yaml 4 | description: This message represents a single audio clip. 5 | properties: 6 | content: 7 | properties: 8 | body: 9 | description: "A description of the audio e.g. 'Bee Gees - Stayin' Alive', or some kind of content description for accessibility e.g. 'audio attachment'." 10 | type: string 11 | info: 12 | description: Metadata for the audio clip referred to in ``url``. 13 | properties: 14 | duration: 15 | description: The duration of the audio in milliseconds. 16 | type: integer 17 | mimetype: 18 | description: The mimetype of the audio e.g. ``audio/aac``. 19 | type: string 20 | size: 21 | description: The size of the audio clip in bytes. 22 | type: integer 23 | title: AudioInfo 24 | type: object 25 | msgtype: 26 | enum: 27 | - m.audio 28 | type: string 29 | url: 30 | description: The URL to the audio clip. 31 | type: string 32 | required: 33 | - msgtype 34 | - body 35 | - url 36 | type: object 37 | type: 38 | enum: 39 | - m.room.message 40 | type: string 41 | title: AudioMessage 42 | type: object 43 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.message#m.emote: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/room_event.yaml 4 | description: "This message is similar to ``m.text`` except that the sender is 'performing' the action contained in the ``body`` key, similar to ``/me`` in IRC. This message should be prefixed by the name of the sender. This message could also be represented in a different colour to distinguish it from regular ``m.text`` messages." 5 | properties: 6 | content: 7 | properties: 8 | body: 9 | description: The emote action to perform. 10 | type: string 11 | msgtype: 12 | enum: 13 | - m.emote 14 | type: string 15 | required: 16 | - msgtype 17 | - body 18 | type: object 19 | type: 20 | enum: 21 | - m.room.message 22 | type: string 23 | title: EmoteMessage 24 | type: object 25 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.message#m.location: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/room_event.yaml 4 | description: This message represents a real-world location. 5 | properties: 6 | content: 7 | properties: 8 | body: 9 | description: "A description of the location e.g. 'Big Ben, London, UK', or some kind of content description for accessibility e.g. 'location attachment'." 10 | type: string 11 | geo_uri: 12 | description: A geo URI representing this location. 13 | type: string 14 | msgtype: 15 | enum: 16 | - m.location 17 | type: string 18 | thumbnail_info: 19 | allOf: 20 | - $ref: core-event-schema/msgtype_infos/image_info.yaml 21 | title: ImageInfo 22 | type: object 23 | thumbnail_url: 24 | description: The URL to a thumbnail of the location being represented. 25 | type: string 26 | required: 27 | - msgtype 28 | - body 29 | - geo_uri 30 | type: object 31 | type: 32 | enum: 33 | - m.room.message 34 | type: string 35 | title: LocationMessage 36 | type: object 37 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.message#m.notice: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/room_event.yaml 4 | description: 'A m.notice message should be considered similar to a plain m.text message except that clients should visually distinguish it in some way. It is intended to be used by automated clients, such as bots, bridges, and other entities, rather than humans. Additionally, such automated agents which watch a room for messages and respond to them ought to ignore m.notice messages. This helps to prevent infinite-loop situations where two automated clients continuously exchange messages, as each responds to the other.' 5 | properties: 6 | content: 7 | properties: 8 | body: 9 | description: The notice text to send. 10 | type: string 11 | msgtype: 12 | enum: 13 | - m.notice 14 | type: string 15 | required: 16 | - msgtype 17 | - body 18 | type: object 19 | type: 20 | enum: 21 | - m.room.message 22 | type: string 23 | title: NoticeMessage 24 | type: object 25 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.message#m.text: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/room_event.yaml 4 | description: This message is the most basic message and is used to represent text. 5 | properties: 6 | content: 7 | properties: 8 | body: 9 | description: The body of the message. 10 | type: string 11 | msgtype: 12 | enum: 13 | - m.text 14 | type: string 15 | required: 16 | - msgtype 17 | - body 18 | type: object 19 | type: 20 | enum: 21 | - m.room.message 22 | type: string 23 | title: TextMessage 24 | type: object 25 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.message.feedback: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/room_event.yaml 4 | description: '**NB: Usage of this event is discouraged in favour of the** `receipts module`_. **Most clients will not recognise this event.** Feedback events are events sent to acknowledge a message in some way. There are two supported acknowledgements: ``delivered`` (sent when the event has been received) and ``read`` (sent when the event has been observed by the end-user). The ``target_event_id`` should reference the ``m.room.message`` event being acknowledged.' 5 | properties: 6 | content: 7 | properties: 8 | target_event_id: 9 | description: The event that this feedback is related to. 10 | type: string 11 | type: 12 | description: The type of feedback. 13 | enum: 14 | - delivered 15 | - read 16 | type: string 17 | required: 18 | - type 19 | - target_event_id 20 | type: object 21 | type: 22 | enum: 23 | - m.room.message.feedback 24 | type: string 25 | title: MessageFeedback 26 | type: object 27 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.name: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/state_event.yaml 4 | description: |- 5 | A room has an opaque room ID which is not human-friendly to read. A room 6 | alias is human-friendly, but not all rooms have room aliases. The room name 7 | is a human-friendly string designed to be displayed to the end-user. The 8 | room name is not unique, as multiple rooms can have the same room name set. 9 | 10 | A room with an ``m.room.name`` event with an absent, null, or empty 11 | ``name`` field should be treated the same as a room with no ``m.room.name`` 12 | event. 13 | 14 | An event of this type is automatically created when creating a room using 15 | ``/createRoom`` with the ``name`` key. 16 | properties: 17 | content: 18 | properties: 19 | name: 20 | description: The name of the room. This MUST NOT exceed 255 bytes. 21 | type: string 22 | required: 23 | - name 24 | type: object 25 | state_key: 26 | description: A zero-length string. 27 | pattern: '^$' 28 | type: string 29 | type: 30 | enum: 31 | - m.room.name 32 | type: string 33 | title: RoomName 34 | type: object 35 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.redaction: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/room_event.yaml 4 | description: 'Events can be redacted by either room or server admins. Redacting an event means that all keys not required by the protocol are stripped off, allowing admins to remove offensive or illegal content that may have been attached to any event. This cannot be undone, allowing server owners to physically delete the offending data. There is also a concept of a moderator hiding a message event, which can be undone, but cannot be applied to state events. The event that has been redacted is specified in the ``redacts`` event level key.' 5 | properties: 6 | content: 7 | properties: 8 | reason: 9 | description: 'The reason for the redaction, if any.' 10 | type: string 11 | type: object 12 | redacts: 13 | description: The event ID that was redacted. 14 | type: string 15 | type: 16 | enum: 17 | - m.room.redaction 18 | type: string 19 | required: 20 | - redacts 21 | title: Redaction 22 | type: object 23 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.room.topic: -------------------------------------------------------------------------------- 1 | --- 2 | allOf: 3 | - $ref: core-event-schema/state_event.yaml 4 | description: 'A topic is a short message detailing what is currently being discussed in the room. It can also be used as a way to display extra information about the room, which may not be suitable for the room name. The room topic can also be set when creating a room using ``/createRoom`` with the ``topic`` key.' 5 | properties: 6 | content: 7 | properties: 8 | topic: 9 | description: The topic text. 10 | type: string 11 | required: 12 | - topic 13 | type: object 14 | state_key: 15 | description: A zero-length string. 16 | pattern: '^$' 17 | type: string 18 | type: 19 | enum: 20 | - m.room.topic 21 | type: string 22 | title: Topic 23 | type: object 24 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.tag: -------------------------------------------------------------------------------- 1 | { 2 | "type": "object", 3 | "title": "Tag Event", 4 | "description": "Informs the client of tags on a room.", 5 | "allOf": [{ 6 | "$ref": "core-event-schema/event.yaml" 7 | }], 8 | "properties": { 9 | "type": { 10 | "type": "string", 11 | "enum": ["m.tag"] 12 | }, 13 | "content": { 14 | "type": "object", 15 | "properties": { 16 | "tags": { 17 | "type": "object", 18 | "description": "The tags on the room and their contents.", 19 | "additionalProperties": { 20 | "title": "Tag", 21 | "type": "object" 22 | } 23 | } 24 | } 25 | } 26 | }, 27 | "required": ["type", "content"] 28 | } 29 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/event-schemas/schema/m.typing: -------------------------------------------------------------------------------- 1 | { 2 | "type": "object", 3 | "title": "Typing Event", 4 | "description": "Informs the client of the list of users currently typing.", 5 | "allOf": [{ 6 | "$ref": "core-event-schema/event.yaml" 7 | }], 8 | "properties": { 9 | "content": { 10 | "type": "object", 11 | "properties": { 12 | "user_ids": { 13 | "type": "array", 14 | "items": { 15 | "type": "string" 16 | }, 17 | "description": "The list of user IDs typing in this room, if any." 18 | } 19 | }, 20 | "required": ["user_ids"] 21 | }, 22 | "type": { 23 | "type": "string", 24 | "enum": ["m.typing"] 25 | }, 26 | "room_id": { 27 | "type": "string" 28 | } 29 | }, 30 | "required": ["type", "room_id", "content"] 31 | } 32 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/jenkins.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | set -ex 4 | 5 | (cd event-schemas/ && ./check_examples.py) 6 | (cd api && ./check_examples.py) 7 | (cd scripts && ./gendoc.py -v) 8 | (cd api && npm install && node validator.js -s "client-server") 9 | 10 | : ${GOPATH:=${WORKSPACE}/.gopath} 11 | mkdir -p "${GOPATH}" 12 | export GOPATH 13 | go get github.com/hashicorp/golang-lru 14 | go get gopkg.in/fsnotify.v1 15 | 16 | (cd scripts/continuserv && go build) 17 | (cd scripts/speculator && go build) 18 | 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/scripts/continuserv/README: -------------------------------------------------------------------------------- 1 | continuserv proactively re-generates the spec on filesystem changes, and serves it over HTTP. 2 | 3 | To run it, you must install the `go` tool. You will also need to install fsnotify by running: 4 | `go get gopkg.in/fsnotify.v1` 5 | You can then run continuserv by running: 6 | `go run main.go` 7 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/scripts/continuserv/index.html: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/scripts/contrib/shell.nix: -------------------------------------------------------------------------------- 1 | with import {}; 2 | 3 | (python.buildEnv.override { 4 | extraLibs = with pythonPackages; 5 | [ docutils pyyaml jinja2 pygments ]; 6 | }).env 7 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/scripts/css/blockquote.css: -------------------------------------------------------------------------------- 1 | blockquote { 2 | margin: 20px 0 30px; 3 | border-left: 5px solid; 4 | padding-left: 20px; 5 | } 6 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/scripts/css/codehighlight.css: -------------------------------------------------------------------------------- 1 | pre.code .comment, code .comment { color: green } 2 | pre.code .keyword, code .keyword { color: darkred; font-weight: bold } 3 | pre.code .name.builtin, code .name.builtin { color: darkred; font-weight: bold } 4 | pre.code .name.tag, code .name.tag { color: darkgreen } 5 | pre.code .literal, code .literal { color: darkblue } 6 | pre.code .literal.number, code .literal.number { color: blue } 7 | 8 | 9 | /* HTTP Methods have class "name function" */ 10 | pre.code.http .name.function, code.http .name.function { color: black; font-weight: bold } 11 | /* HTTP Paths have class "name namespace" */ 12 | pre.code.http .name.namespace, code.http .name.namespace { color: darkgreen } 13 | /* HTTP "HTTP" strings have class "keyword reserved" */ 14 | pre.code.http .keyword.reserved, code.http .keyword.reserved { color: black; font-weight: bold } 15 | /* HTTP Header names have class "name attribute" */ 16 | pre.code.http .name.attribute, code.http .name.attribute { color: black; font-weight: bold } 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/scripts/speculator/README: -------------------------------------------------------------------------------- 1 | speculator allows you to preview pull requests to the matrix.org specification. 2 | 3 | It serves the following HTTP endpoints: 4 | - / lists open pull requests 5 | - /spec/123 which renders the spec as html at pull request 123. 6 | - /diff/rst/123 which gives a diff of the spec's rst at pull request 123. 7 | - /diff/html/123 which gives a diff of the spec's HTML at pull request 123. 8 | 9 | The build or run, you need a working `go` installation. 10 | Then fetch dependencies: 11 | ` go get github.com/hashicorp/golang-lru` 12 | 13 | To run it, then run: 14 | `go run main.go` 15 | 16 | To build the binary (which is necessary for deployment to the matrix.org 17 | servers), you must again install `go` and dependencies, and then run: 18 | `go build` 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/specification/identity_servers.rst: -------------------------------------------------------------------------------- 1 | .. Copyright 2016 OpenMarket Ltd 2 | .. 3 | .. Licensed under the Apache License, Version 2.0 (the "License"); 4 | .. you may not use this file except in compliance with the License. 5 | .. You may obtain a copy of the License at 6 | .. 7 | .. http://www.apache.org/licenses/LICENSE-2.0 8 | .. 9 | .. Unless required by applicable law or agreed to in writing, software 10 | .. distributed under the License is distributed on an "AS IS" BASIS, 11 | .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | .. See the License for the specific language governing permissions and 13 | .. limitations under the License. 14 | 15 | Identity Servers 16 | ================ 17 | .. NOTE:: 18 | This section is a work in progress. 19 | 20 | .. TODO-doc Dave 21 | - 3PIDs and identity server, functions 22 | 23 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/specification/modules.rst: -------------------------------------------------------------------------------- 1 | .. Copyright 2016 OpenMarket Ltd 2 | .. 3 | .. Licensed under the Apache License, Version 2.0 (the "License"); 4 | .. you may not use this file except in compliance with the License. 5 | .. You may obtain a copy of the License at 6 | .. 7 | .. http://www.apache.org/licenses/LICENSE-2.0 8 | .. 9 | .. Unless required by applicable law or agreed to in writing, software 10 | .. distributed under the License is distributed on an "AS IS" BASIS, 11 | .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | .. See the License for the specific language governing permissions and 13 | .. limitations under the License. 14 | 15 | Modules 16 | ======= 17 | 18 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/specification/modules/admin.rst: -------------------------------------------------------------------------------- 1 | .. Copyright 2016 OpenMarket Ltd 2 | .. 3 | .. Licensed under the Apache License, Version 2.0 (the "License"); 4 | .. you may not use this file except in compliance with the License. 5 | .. You may obtain a copy of the License at 6 | .. 7 | .. http://www.apache.org/licenses/LICENSE-2.0 8 | .. 9 | .. Unless required by applicable law or agreed to in writing, software 10 | .. distributed under the License is distributed on an "AS IS" BASIS, 11 | .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | .. See the License for the specific language governing permissions and 13 | .. limitations under the License. 14 | 15 | Server Administration 16 | ===================== 17 | 18 | .. _module:admin: 19 | 20 | This module adds capabilities for server administrators to inspect server state 21 | and data. 22 | 23 | Client Behaviour 24 | ---------------- 25 | 26 | {{admin_cs_http_api}} 27 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/specification/modules/end_to_end_encryption.rst: -------------------------------------------------------------------------------- 1 | .. Copyright 2016 OpenMarket Ltd 2 | .. 3 | .. Licensed under the Apache License, Version 2.0 (the "License"); 4 | .. you may not use this file except in compliance with the License. 5 | .. You may obtain a copy of the License at 6 | .. 7 | .. http://www.apache.org/licenses/LICENSE-2.0 8 | .. 9 | .. Unless required by applicable law or agreed to in writing, software 10 | .. distributed under the License is distributed on an "AS IS" BASIS, 11 | .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | .. See the License for the specific language governing permissions and 13 | .. limitations under the License. 14 | 15 | End-to-End Encryption 16 | ===================== 17 | 18 | .. _module:e2e: 19 | 20 | End to end encryption is being worked on and will be coming soon. 21 | 22 | You can read about what's underway at http://matrix.org/speculator/spec/drafts%2Fe2e/client_server/unstable.html#end-to-end-encryption. 23 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/specification/modules/event_context.rst: -------------------------------------------------------------------------------- 1 | .. Copyright 2016 OpenMarket Ltd 2 | .. 3 | .. Licensed under the Apache License, Version 2.0 (the "License"); 4 | .. you may not use this file except in compliance with the License. 5 | .. You may obtain a copy of the License at 6 | .. 7 | .. http://www.apache.org/licenses/LICENSE-2.0 8 | .. 9 | .. Unless required by applicable law or agreed to in writing, software 10 | .. distributed under the License is distributed on an "AS IS" BASIS, 11 | .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | .. See the License for the specific language governing permissions and 13 | .. limitations under the License. 14 | 15 | Event Context 16 | ============= 17 | 18 | .. _module:event-context: 19 | 20 | This API returns a number of events that happened just before and after the 21 | specified event. This allows clients to get the context surrounding an event. 22 | 23 | Client behaviour 24 | ---------------- 25 | 26 | There is a single HTTP API for retrieving event context, documented below. 27 | 28 | {{event_context_cs_http_api}} 29 | 30 | Security considerations 31 | ----------------------- 32 | 33 | The server must only return results that the user has permission to see. 34 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/2014-06-09-client-server.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Try Matrix Now! 4 | categories: howtos 5 | --- 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.css: -------------------------------------------------------------------------------- 1 | .loggedin { 2 | visibility: hidden; 3 | } 4 | 5 | p { 6 | font-family: monospace; 7 | } 8 | 9 | table 10 | { 11 | border-spacing:5px; 12 | } 13 | 14 | th,td 15 | { 16 | padding:5px; 17 | } 18 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.html: -------------------------------------------------------------------------------- 1 |
2 |

This room creation / message sending demo requires a homeserver to be running on http://localhost:8008

3 |
4 |
5 | 6 | 7 | 8 |
9 |
10 |
11 | 12 | 13 |
14 |
15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Room IDMy stateRoom AliasLatest message
29 |
30 | 31 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/jsfiddles/event_stream/demo.css: -------------------------------------------------------------------------------- 1 | .loggedin { 2 | visibility: hidden; 3 | } 4 | 5 | p { 6 | font-family: monospace; 7 | } 8 | 9 | table 10 | { 11 | border-spacing:5px; 12 | } 13 | 14 | th,td 15 | { 16 | padding:5px; 17 | } 18 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/jsfiddles/event_stream/demo.html: -------------------------------------------------------------------------------- 1 |
2 |

This event stream demo requires a homeserver to be running on http://localhost:8008

3 |
4 |
5 | 6 | 7 | 8 |
9 |
10 |
11 | 12 |
13 |

14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
Room IDLatest message
22 |
23 | 24 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/jsfiddles/example_app/demo.css: -------------------------------------------------------------------------------- 1 | .roomListDashboard, .roomContents, .sendMessageForm { 2 | visibility: hidden; 3 | } 4 | 5 | .roomList { 6 | background-color: #909090; 7 | } 8 | 9 | .messageWrapper { 10 | background-color: #EEEEEE; 11 | height: 400px; 12 | overflow: scroll; 13 | } 14 | 15 | .membersWrapper { 16 | background-color: #EEEEEE; 17 | height: 200px; 18 | width: 50%; 19 | overflow: scroll; 20 | } 21 | 22 | .textEntry { 23 | width: 100% 24 | } 25 | 26 | p { 27 | font-family: monospace; 28 | } 29 | 30 | table 31 | { 32 | border-spacing:5px; 33 | } 34 | 35 | th,td 36 | { 37 | padding:5px; 38 | } 39 | 40 | .roomList tr:not(:first-child):hover { 41 | background-color: orange; 42 | cursor: pointer; 43 | } 44 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/jsfiddles/example_app/demo.details: -------------------------------------------------------------------------------- 1 | name: Example Matrix Client 2 | description: Includes login, live event streaming, creating rooms, sending messages and viewing member lists. 3 | authors: 4 | - matrix.org 5 | resources: 6 | - http://matrix.org 7 | normalize_css: no -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/jsfiddles/register_login/demo.css: -------------------------------------------------------------------------------- 1 | .loggedin { 2 | visibility: hidden; 3 | } 4 | 5 | p { 6 | font-family: monospace; 7 | } 8 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/jsfiddles/register_login/demo.html: -------------------------------------------------------------------------------- 1 |
2 |

This registration/login demo requires a homeserver to be running on http://localhost:8008

3 |
4 |
5 | 6 | 7 | 8 |
9 |
10 | 11 | 12 | 13 |
14 |
15 |

16 | 17 | 18 |

19 |
20 | 21 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/howtos/jsfiddles/room_memberships/demo.css: -------------------------------------------------------------------------------- 1 | .loggedin { 2 | visibility: hidden; 3 | } 4 | 5 | p { 6 | font-family: monospace; 7 | } 8 | 9 | table 10 | { 11 | border-spacing:5px; 12 | } 13 | 14 | th,td 15 | { 16 | padding:5px; 17 | } 18 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-06-09-riot.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Riot 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/08/vector030216-400x284.png 6 | author: Riot.im 7 | description: Riot is a glossy web client with an emphasis on performance and usability 8 | maturity: Released 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/08/vector030216-1080x745.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | [Riot](https://riot.im) is a glossy Matrix client built on top of [matrix-react-sdk](http://matrix.org/blog/project/matrix-react-sdk/) with an emphasis on performance and usability. 15 | 16 | You can use it at [https://riot.im/app](https://riot.im/app), read more at [https://riot.im](https://riot.im) and get the source from [github](https://github.com/vector-im/vector-web)! 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-06-09-vector.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Try Matrix Now! 4 | --- 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-08-23-net-async-matrix-client.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Net::Async::Matrix Client 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/net-async-matrix-400x284.png 6 | description: A Perl CLI client from Net::Async::Matrix and Tickit 7 | author: LeoNerd 8 | maturity: Alpha 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/net-async-matrix.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | LeoNerd’s example Perl CLI client from Net::Async::Matrix and Tickit: [https://metacpan.org/source/PEVANS/Net-Async-Matrix-0.16/client.pl](https://metacpan.org/source/PEVANS/Net-Async-Matrix-0.16/client.pl) 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-09-10-neb.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: NEB (N. E. Bot) 4 | categories: projects other 5 | description: Our dear Matrix Bot 6 | author: Kegsay 7 | maturity: Late beta 8 | --- 9 | 10 | # {{ page.title }} 11 | Kegsay's general-purpose Python Matrix Bot framework ([github](https://github.com/Kegsay/Matrix-NEB)) 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-09-30-matrix.org-android-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix.org Android SDK 4 | categories: projects sdk 5 | author: Matrix.org team 6 | maturity: Late beta 7 | --- 8 | 9 | # {{ page.title }} 10 | Matrix.org's Android SDK ([github](https://github.com/matrix-org/matrix-android-sdk)) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-09-30-matrix.org-ios-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix.org iOS SDK 4 | categories: projects sdk 5 | author: Matrix.org team 6 | maturity: Late beta 7 | --- 8 | 9 | # {{ page.title }} 10 | Matrix.org's iOS SDK ([github](https://github.com/matrix-org/matrix-ios-sdk)) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-11-03-pallium.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Pallium 4 | categories: projects server 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/pallium.png 6 | author: KoFish 7 | maturity: Alpha 8 | --- 9 | 10 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/pallium.png "{{ page.title }}") 11 | 12 | # {{ page.title }} 13 | KoFish’s homeserver written in Go – Pallium ([github](https://github.com/KoFish/pallium)) 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-11-04-matrix.org-angularjs-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix.org AngularJS SDK 4 | categories: projects sdk 5 | author: Matrix.org team 6 | maturity: DEPRECATED 7 | --- 8 | 9 | # {{ page.title }} 10 | AngularJS services from Matrix.org for building communication apps in Angular based on Matrix: [https://github.com/matrix-org/matrix-angular-sdk](https://github.com/matrix-org/matrix-angular-sdk) 11 | 12 | These are no longer being actively maintained. 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-12-06-perl-matrix-irc-bridge.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Perl Matrix-IRC Bridge 4 | categories: projects other 5 | description: The first Matrix/IRC bridge 6 | author: Tom Molesworth / Paul Evans 7 | maturity: Beta 8 | --- 9 | 10 | # {{ page.title }} 11 | The first Matrix/IRC bridge, originally written by Tom Molesworth using Paul Evans' Net::Async::Matrix Perl client SDK and then later maintained by Paul Evans. Nowadays superceded by the [matrix-appservice-irc Node IRC bridge AS](../as/irc-bridge.html). 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2014-12-10-ivar2-matrix-irc-bot.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: ivar2 Matrix/IRC Bot 4 | categories: projects other 5 | description: IRC bot with native Matrix support 6 | author: haste / Tor 7 | maturity: Beta 8 | --- 9 | 10 | # {{ page.title }} 11 | ivar2 is a very comprehensive IRC bot written in Lua which has native support for Matrix! [https://github.com/torhve/ivar2](https://github.com/torhve/ivar2) 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-01-01-index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Try Matrix Now! 4 | categories: projects 5 | --- 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-01-06-matrix.org-python-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix.org Python SDK 4 | categories: projects sdk 5 | author: Matrix.org team 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | Matrix.org's Python SDK ([github](https://github.com/matrix-org/matrix-python-sdk)) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-02-26-openmarkets-sms-gateway.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: OpenMarket's SMS Gateway 4 | categories: projects as 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/omlogo-400x284.jpg 6 | author: OpenMarket 7 | maturity: Late beta 8 | --- 9 | 10 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/omlogo.jpg "{{ page.title }}") 11 | 12 | # {{ page.title }} 13 | OpenMarket’s SMS Gateway is an Application Service that enables Matrix-users to send SMS. [More info here](http://matrix.org/blog/2015/02/26/welcoming-the-openmarket-matrix-gateway/). 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-02-26-weechat.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: WeeChat script 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-22-at-21.43.01-400x284.png 6 | description: For fans of command line interfaces, a nice Matrix script for WeeChat, an IRSSI like CLI 7 | author: Tor 8 | maturity: Late beta 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-22-at-21.43.01.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | [WeeChat](http://weechat.org/) is a super powerful CLI chat client that is extensible in many languages to allow for new protocols like Matrix. @torhve contributed this great WeeChat script for Matrix which is getting a good feedback from more geeky users. 15 | 16 | To use it, you will need to sign up for a Matrix account on a server using the [Console Web](./matrix-console.html) or [Vector](./vector.html) clients, as WeeChat doesn’t support registration yet. 17 | 18 | To run it, grab the code from [@torhve's github repo](https://github.com/torhve/weechat-matrix-protocol-script). 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-02-27-matrix.org-as-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix.org AS Node SDK 4 | categories: projects as 5 | author: Matrix.org team 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | A framework from Matrix.org for building Application Services in Node.js/Express: [https://github.com/matrix-org/matrix-appservice-node](https://github.com/matrix-org/matrix-appservice-node) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-03-04-matrix.org-js-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix.org JS SDK 4 | categories: projects sdk 5 | author: Matrix.org team 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | Matrix.org's JS SDK ([github](https://github.com/matrix-org/matrix-js-sdk)) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-03-10-irc-bridge.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix.org IRC Bridge 4 | categories: projects as 5 | description: 6 | author: Matrix.org team 7 | maturity: Early beta 8 | --- 9 | 10 | # {{ page.title }} 11 | An application service gateway from Matrix.org for bridging between IRC networks and Matrix, written using [matrix-appservice-node](http://matrix.org/blog/project/matrix-appservice-node/). You can get the [code on github](https://github.com/matrix-org/matrix-appservice-irc). 12 | 13 | Supports dynamically bridging IRC channels on demand; synchronised user-lists, and other goodness. 14 | 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-03-15-redpill-irc-bridge.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: redpill IRC bridge 4 | categories: projects as 5 | author: Tjgillies 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | Kodo's IRC<->matrix GW written in Ruby ([github](https://github.com/tjgillies/redpill)) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-03-17-jsynapse.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: jSynapse 4 | categories: projects server 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/jsynapse2.png 6 | author: Swarmcom 7 | maturity: Alpha 8 | --- 9 | 10 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/jsynapse2.png "{{ page.title }}") 11 | 12 | # {{ page.title }} 13 | Swarmcom’s Java homeserver – jSynapse ([github](https://github.com/swarmcom/jSynapse/)) 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-03-18-gomatrix-irc-bridge.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: gomatrix IRC bridge 4 | categories: projects as 5 | author: Tor 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | Tor's IRC<->Matrix bridge written in the Go language ([github](https://github.com/torhve/gomirc)) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-04-01-matrix.org-matrixkit-ios.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix.org MatrixKit (iOS) 4 | categories: projects sdk 5 | author: Matrix.org team 6 | maturity: Late beta 7 | --- 8 | 9 | # {{ page.title }} 10 | Matrix.org's reusable UI interfaces for iOS ([github](https://github.com/matrix-org/matrix-ios-kit)) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-04-02-riot-ios.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Riot iOS 4 | categories: projects client 5 | thumbnail: /docs/projects/images/vector-iOS-small.png 6 | description: Riot is a glossy client with an emphasis on performance and usability 7 | author: Riot.im 8 | maturity: Released 9 | --- 10 | 11 | ![screenshot](/docs/projects/images/vector-iOS-large.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | The iOS version of the [Riot](https://matrix.org/docs/projects/client/riot.html) web client. Riot is a glossy client with focus on performance and usability. 15 | 16 | The code is available from [github](https://github.com/vector-im/vector-ios), and the app is available from the Apple [app store](https://itunes.apple.com/gb/app/vector.im/id1083446067?mt=8). 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-04-03-vector-ios.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Try Matrix Now! 4 | --- 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-04-18-project-clearwater-matrix-gateway.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Project Clearwater / Matrix Gateway 4 | categories: projects as 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/clearwter-400x284.jpg 6 | author: Matt Williams 7 | maturity: Alpha 8 | --- 9 | 10 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/clearwter.jpg "{{ page.title }}") 11 | 12 | ![demo](https://matrix.org/blog/wp-content/uploads/2015/04/projectclearwatermatrixgateway1.jpg "Matt presenting his hack at TADHack London") 13 | 14 | # {{ page.title }} 15 | Matt Williams’ IMS->Matrix gateway ([github](https://github.com/matt-williams/sprout/tree/matrix)) 16 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-05-06-newlisp-matrix-client.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: newlisp-matrix-client 4 | categories: projects sdk 5 | author: Ingo Hohmann 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | Client SDK for newlisp available at [https://github.com/IngoHohmann/newlisp-matrix-client](https://github.com/IngoHohmann/newlisp-matrix-client) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-06-02-matrix-erlang-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: matrix-erlang-sdk 4 | categories: projects sdk 5 | author: Andreas Hallberg 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | Andreas Hallberg's client SDK for Erlang [https://github.com/anhallbe/matrix-erlang-sdk](https://github.com/anhallbe/matrix-erlang-sdk) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-06-02-riot-android.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Riot Android 4 | categories: projects client 5 | thumbnail: /docs/projects/images/vector-android-small.png 6 | description: Riot is a glossy client with an emphasis on performance and usability 7 | author: Riot.im 8 | maturity: Released 9 | --- 10 | 11 | ![screenshot](/docs/projects/images/vector-android-large.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | The Android version of the [Riot](https://matrix.org/docs/projects/client/riot.html) web client. Riot is a glossy client with focus on performance and usability. 15 | 16 | The code is available from [github](https://github.com/vector-im/vector-android), and the app is available from the [Google Play store](https://play.google.com/store/apps/details?id=im.vector.alpha) and [F-Droid](https://f-droid.org/repository/browse/?fdfilter=vector&fdid=im.vector.alpha). 17 | 18 | If you want to help test the app, you can download development versions from [Jenkins](https://matrix.org/jenkins/job/VectorAndroidDevelop/). 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-06-02-vector-android.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Try Matrix Now! 4 | --- 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-06-09-matrix.org-react-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix.org React SDK 4 | categories: projects sdk 5 | author: Matrix.org team 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | [matrix-react-sdk](https://github.com/matrix-org/matrix-react-sdk) is our next-generation Web SDK for Matrix, providing both a large hierarchy of reusable UI components and a simple neutral reference application. It's suitable both for building standalone applications and embedding Matrix clients into existing web apps, irrespective of the host app's framework. 11 | 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-06-26-tensor.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Tensor 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/11/tensor1-400x284.png 6 | description: QML-based Matrix client 7 | author: David A Roberts 8 | maturity: Alpha 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/11/tensor1.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | Tensor is a cross-platform native Matrix client, based on QtQuick/QML and libqmatrixclient (formerly matrix-js-sdk). It has been tested on Desktop GNU/Linux, OS X, Windows, Android, SailfishOS and Ubuntu Touch. Get it from [github](https://github.com/davidar/tensor). 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-06-27-quaternion.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Quaternion 4 | categories: projects client 5 | thumbnail: https://raw.githubusercontent.com/Fxrh/Quaternion/master/quaternion.png 6 | author: Fxrh 7 | description: Quaternion is an IM client for the Matrix protocol 8 | maturity: Alpha 9 | --- 10 | 11 | ![screenshot](https://raw.githubusercontent.com/Fxrh/Quaternion/master/quaternion.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | Quaternion is an IM client for the Matrix protocol in development. ([github](https://github.com/Fxrh/Quaternion)) 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-07-01-xmpptrix.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: xmpptrix 4 | categories: projects as 5 | author: SkaveRat 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | XMPP<->Matrix gateway application service written in Node JS: [https://github.com/SkaveRat/xmpptrix](https://github.com/SkaveRat/xmpptrix). 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-08-19-matrix-appservice-bridge.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: matrix-appservice-bridge 4 | categories: projects as 5 | author: Kegsay 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | This library sits on top of the [core application service library](https://github.com/matrix-org/matrix-appservice-node) and provides an API for setting up bridges quickly. 11 | 12 | Get it from [github](https://github.com/matrix-org/matrix-appservice-bridge) and have a look at the [HOW-TO](https://github.com/matrix-org/matrix-appservice-bridge/blob/master/HOWTO.md) for a step-by-step tutorial on setting up a new bridge! 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-09-10-matrix-appservice-respoke.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: matrix-appservice-respoke 4 | categories: projects as 5 | author: Matrix.org team 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | An incredibly hacky Matrix --> Asterisk bridge via chan_respoke. 11 | 12 | Get it from [github](https://github.com/matrix-org/matrix-appservice-respoke)! 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-09-10-vertobridge.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Vertobridge 4 | categories: projects as 5 | author: Matthew / Kegan 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | A Matrix <--> Verto bridge, designed for conferencing via Freeswitch. [https://github.com/matrix-org/matrix-appservice-verto](https://github.com/matrix-org/matrix-appservice-verto) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-09-17-bullettime.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: bullettime 4 | categories: projects server 5 | author: Patrik Oldsberg 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | An experimental golang Matrix homeserver ([github](https://github.com/matrix-org/bullettime)) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-09-18-matrix-appservice-slack.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: matrix-appservice-slack 4 | categories: projects as 5 | author: illicitonion 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | This project bridges [Slack](https://slack.com) to Matrix, all in a 100 lines of code! It's currently quite barebones, but at the same time it shows how quickly a bridge can be written. 11 | 12 | Get it from [github](https://github.com/matrix-org/matrix-appservice-slack)! 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-10-01-mclient.el.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: matrix-client.el 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/10/mclient1-400x284.png 6 | description: A Matrix.org frontend for Emacs! 7 | author: Ryan Rix 8 | maturity: Alpha 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/10/mclient1-1080x365.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | `matrix-client.el` is a Matrix.org frontend for Emacs. For more information and install instructions visit [the MELPA Emacs package repository](https://melpa.org/#/matrix-client). The code is available at [https://fort.kickass.systems/git/rrix/matrix-client.git](https://fort.kickass.systems/git/rrix/matrix-client.git). 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-10-04-matrix-xmpp-bridge.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix-XMPP Bridge 4 | categories: projects as 5 | author: jfrederickson 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | This project creates a bridge between a Matrix room and an XMPP MUC: [https://github.com/jfrederickson/matrix-xmpp-bridge](https://github.com/jfrederickson/matrix-xmpp-bridge) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-10-06-node-purple.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: node-purple 4 | categories: projects as 5 | author: Matrix.org team / tjfontaine 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | [node-purple](https://github.com/tjfontaine/node-purple) provides basic FFI bindings for libpurple. In our fork, [appservice](https://github.com/matrix-org/node-purple/tree/master/appservice) connects node-purple to the AS API, so you can talk from Matrix to libpurple's connections. 11 | 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-10-09-slackbridge.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: slackbridge 4 | categories: projects as 5 | author: illicitonion 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | illicitonion's early Slack bridge, written in Go. 11 | 12 | Check it out on [github](https://github.com/illicitonion/slackbridge) 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-10-13-purple-matrix.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: purple-matrix 4 | categories: projects client 5 | description: A plugin for libpurple 6 | author: Matrix.org team 7 | maturity: Alpha 8 | --- 9 | 10 | # {{ page.title }} 11 | This project is a plugin for [libpurple](https://developer.pidgin.im/wiki/WhatIsLibpurple) which adds the ability to communicate with matrix.org homeservers to any libpurple-based clients (such as [Pidgin](http://www.pidgin.im/)). 12 | 13 | Get it at [github](https://github.com/matrix-org/purple-matrix/). 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-10-23-bender.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Bender 4 | categories: projects other 5 | description: A simple/flexible bot framework 6 | author: Dylan Griffith 7 | maturity: Alpha 8 | --- 9 | 10 | # {{ page.title }} 11 | Bender is a Matrix bot framework written in Elixir: [https://github.com/DylanGriffith/bender](https://github.com/DylanGriffith/bender) 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-11-10-mero.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Mero 4 | categories: projects as 5 | description: NodeJS based XMPP facade bridge for matrix.org 6 | author: SkaveRat 7 | maturity: Alpha 8 | --- 9 | 10 | # {{ page.title }} 11 | NodeJS based XMPP facade bridge for matrix.org 12 | 13 | This Matrix Application Server will pretend to be a XMPP (jabber) server and mirror all actions to and from Matrix. 14 | 15 | Check it out on [github](https://github.com/SkaveRat/mero) 16 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-11-28-matrixtool.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: MatrixTool 4 | categories: projects other 5 | description: Commands to interact with a Matrix homeserver 6 | author: LeoNerd 7 | maturity: Alpha 8 | --- 9 | # {{ page.title }} 10 | 11 | The tool provides a wrapper around a number of sub-commands that provide useful interactions with a Matrix homeserver. 12 | 13 | You can grab it from [CPAN](http://search.cpan.org/~pevans/App-MatrixTool/). 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-11-29-ruma.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Ruma 4 | categories: projects server 5 | author: Jimmy Cuadra 6 | maturity: Alpha 7 | --- 8 | 9 | 10 | # {{ page.title }} 11 | Ruma is a server written in Rust ([github](https://github.com/ruma/ruma)) 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-12-04-hubot-matrix.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Hubot-Matrix 4 | categories: projects other 5 | description: A Matrix-adapter for Hubot 6 | author: David A Roberts 7 | maturity: Alpha 8 | --- 9 | 10 | # {{ page.title }} 11 | A Matrix-adapter for Hubot: [https://github.com/davidar/hubot-matrix/](https://github.com/davidar/hubot-matrix/) 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-12-10-glib-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix Client SDK for GLib 4 | categories: projects sdk 5 | author: Gergely Polonkai 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | A Matrix.org client-server SDK for GLib >= 2.40. It contains both raw API calls and a signal based asynchronous client. Get it from [github](https://github.com/gergelypolonkai/matrix-glib-sdk)! 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2015-12-10-pto.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Perpetually Talking Online (PTO) 4 | categories: projects client 5 | description: PTO is an IRC frontend to the federated Matrix network. 6 | author: tdfischer 7 | maturity: Alpha 8 | --- 9 | 10 | # {{ page.title }} 11 | Perpetually Talking Online (PTO) is an IRC frontend to the federated Matrix network. It aims to enable as many people as possible to use an existing Matrix homeserver with their existing IRC clients, and provides a radically expanded feature set for existing IRC communities looking to migrate to Matrix. 12 | 13 | See [pto.im](http://pto.im) for more info - or grab the code from [github](https://github.com/tdfischer/pto). 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-01-02-matrix-console-ios.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix Console iOS 4 | categories: projects client 5 | thumbnail: /docs/projects/images/matrix-console-ios-2016-02-16-cropped.png 6 | description: A neutral iOS client showcasing Matrix capabilities and implementation. 7 | author: Matrix.org team 8 | maturity: Late beta 9 | --- 10 | 11 | ![screenshot](/docs/projects/images/matrix-console-ios-2016-02-16-large.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | Matrix.org's reference iOS client. 15 | 16 | This client is meant to be a showcase of Matrix capabilities, a reference implementation of the Matrix standard and an easy entry to the Matrix ecosystem from iOS devices for less techy users, with a relatively neutral branding. This client is built using [MatrixKit](http://matrix.org/blog/project/matrix-ios-matrixkit/). 17 | 18 | The code can be retrieved from [github](https://github.com/matrix-org/matrix-ios-console). 19 | 20 | Also available from the Apple [app store](https://itunes.apple.com/gb/app/matrix-console/id970074271?mt=8). 21 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-01-03-matrix-console-android.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix Console Android 4 | categories: projects client 5 | thumbnail: /docs/projects/images/matrix-console-android-2016-02-16-cropped.png 6 | description: A neutral Android client showcasing Matrix capabilities and implementation. 7 | author: Matrix.org team 8 | maturity: Late beta 9 | --- 10 | 11 | ![screenshot](/docs/projects/images/matrix-console-android-2016-02-16-large.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | Matrix.org’s reference Android client. 15 | 16 | This client is meant to be a showcase of Matrix capabilities, a reference implementation of the Matrix standard and an easy entry to the Matrix ecosystem from Android devices for less techy users, with a relatively neutral branding. 17 | 18 | The code can be retrieved from [github](https://github.com/matrix-org/matrix-android-console). 19 | 20 | Also available from the [Google Play store](https://play.google.com/store/apps/details?id=org.matrix.androidsdk.alpha). 21 | 22 | Folks wanting to live on the bleeding edge can also pull APKs of the develop (and master) branches straight out of the [Jenkins build server](http://matrix.org/jenkins/job/AndroidConsoleDevelop/). 23 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-01-04-matrix-console.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix Console Web 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/syweb2-400x284.png 6 | description: Matrix.org’s legacy AngularJS web client. 7 | author: Matrix.org team 8 | maturity: No longer maintained 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/syweb2-1080x806.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | Matrix.org’s original reference AngularJS webclient. The implementation has major performance issues and is not being actively maintained. Please see [Vector](https://matrix.org/blog/project/vector) and [matrix-react-sdk](https://matrix.org/blog/project/matrix-react-sdk) for better alternatives. 15 | 16 | The code can be retrieved from [github](https://github.com/matrix-org/matrix-angular-sdk). 17 | 18 | Public hosts running this client: 19 | 20 | [https://matrix.org/beta](https://matrix.org/beta) 21 | 22 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-01-05-glowing-bear-and-weechat-plugin.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Glowing Bear + WeeChat Script 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-21-at-17.36.43-400x284.png 6 | author: glowing-bear.org 7 | description: A great IRC-style web interface to Matrix. 8 | maturity: Late beta 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-21-at-17.36.43-1080x581.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | [Glowing Bear](http://glowing-bear.org/) combined with [@torhve’s Matrix script for WeeChat](./weechat.html) makes for a great IRC-style web interface to Matrix. 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-01-13-dendron.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Dendron 4 | categories: projects server 5 | author: Matrix.org team 6 | maturity: Beta 7 | --- 8 | 9 | # {{ page.title }} 10 | Dendron is a Matrix homeserver written in Go. 11 | 12 | Rather than write a Matrix homeserver from scratch, Dendron acts as a proxy for an existing homeserver Synapse written in python. This means that it can be already be used as a fully-featured homeserver. 13 | 14 | Check it out on [github](https://github.com/matrix-org/dendron)! 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-01-30-rocket-chat-federation.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Rocket Chat Federation 4 | categories: projects as 5 | thumbnail: https://raw.githubusercontent.com/Sing-Li/bbug/master/images/rcsnynapse.png 6 | author: Rocket.Chat 7 | maturity: Alpha 8 | --- 9 | 10 | ![screenshot](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/rcsnynapse.png "{{ page.title }}") 11 | 12 | # {{ page.title }} 13 | Rocket.Chat have written a bot called Freddie that pairs a Synapse server with a Rocket.Chat server ([github](https://github.com/RocketChat/Rocket.Chat.Federation/tree/develop/matrix.org/hubot-freddie)) 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-01-unplug.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Unplug 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/unplug-0.1.5-400x284.png 6 | description: Experimental Kotlin client 7 | author: hrjet 8 | maturity: Alpha 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/unplug-0.1.5.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | hrjet's Kotlin/JVM client – unplug ([github](https://github.com/UprootLabs/unplug)) 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-03-feedbot.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: feedbot 4 | categories: projects other 5 | description: Connects to RSS and Twitter feeds 6 | author: Ryan Rix 7 | maturity: Early beta 8 | --- 9 | 10 | # {{ page.title }} 11 | Connect to RSS and Twitter feeds via Ryan Rix's feedbot! 12 | 13 | Check it out from [Ryan's git repo](https://fort.kickass.systems/git/rrix/matrix-feedbot) 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-03-lightrix.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Lightrix 4 | categories: projects other 5 | description: Drive Adafruit Neopixels over Matrix 6 | author: Ryan Rix 7 | maturity: Early beta 8 | --- 9 | 10 | # {{ page.title }} 11 | Control Adafruit Neopixels via Matrix! 12 | 13 | Check it out from [Ryan's git repo](https://fort.kickass.systems/git/rrix/lightrix) or watch it in action on [YouTube](https://www.youtube.com/watch?v=4YG9Fk5aP24) 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-03-mcat.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: mcat 4 | categories: projects other 5 | description: Pipe to/from a Matrix room via the Python SDK 6 | author: Ryan Rix 7 | maturity: Early beta 8 | --- 9 | 10 | # {{ page.title }} 11 | Pipe in to and out of a Matrix room using the [Matrix Python SDK](https://github.com/matrix-org/matrix-python-sdk). 12 | 13 | Check it out from [Ryan's git repo](https://fort.kickass.systems/git/rrix/matrix-cat) 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-03-polynomial.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Polynomial 4 | description: A Decentralized Webring 5 | categories: projects other 6 | author: Ryan Rix 7 | maturity: Early beta 8 | --- 9 | 10 | # {{ page.title }} 11 | Webring software built on top of Matrix.org which means it doesn't have a central point of failure. 12 | 13 | Check it out at [Ryan's blog](http://whatthefuck.computer/blog/2015/12/06/polynomial-a-decentralized-webring/) and grab the code from [Ryan's git repo](https://fort.kickass.systems/git/rrix/polynomial) 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-03-redpill.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: redpill 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/redpill0.7-400x284.png 6 | description: A Python2 CLI client 7 | author: oddvar 8 | maturity: Alpha 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/redpill0.7.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | Oddvar's Python2 CLI client – redpill ([github](https://github.com/oddvar/redpill)) 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-05-headjack.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Headjack 4 | categories: projects client 5 | thumbnail: https://matrix.org/blog/wp-content/uploads/2015/05/headjack-400x284.png 6 | description: Experimental Chrome App client 7 | author: SkaveRat 8 | maturity: Alpha 9 | --- 10 | 11 | ![screenshot](https://matrix.org/blog/wp-content/uploads/2015/05/headjack.png "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | Experimental Chrome App desktop client for Matrix, using [matrix-angular-sdk](https://github.com/matrix-org/matrix-angular-sdk). Available from [github](https://github.com/SkaveRat/headjack). 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-05-net-async-matrix-perl.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Net::Async::Matrix (Perl) 4 | categories: projects sdk 5 | author: LeoNerd 6 | maturity: Late beta 7 | --- 8 | 9 | # {{ page.title }} 10 | LeoNerd's Net::Async::Matrix client SDK library for Perl: [https://metacpan.org/release/Net-Async-Matrix](https://metacpan.org/release/Net-Async-Matrix) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-06-vector-desktop.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Vector Desktop 4 | description: Desktop version of Vector 5 | author: Steven Hammerton 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | Desktop version of the [Vector](./vector.html) web client. Basically it's Vector wrapped in an [Electron](https://github.com/atom/electron) app. Source here: [https://github.com/stevenhammerton/vector-desktop](https://github.com/stevenhammerton/vector-desktop) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-07-morpheus.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: morpheus 4 | categories: projects client 5 | description: A Haskell client for Matrix 6 | author: Xe 7 | maturity: Alpha 8 | --- 9 | 10 | # {{ page.title }} 11 | A Matrix client written in Haskell ([github](https://github.com/Xe/morpheus)) 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-08-h4x.no-blog.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix Blog 4 | categories: projects client 5 | description: Read-only blog-style Matrix interface 6 | author: simeng 7 | maturity: Alpha 8 | --- 9 | 10 | # {{ page.title }} 11 | An example read-only blog-style interface to a Matrix room ([github](https://github.com/simeng/matrix-blog)). 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-02-10-matrix-appservice-gitter.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: matrix-appservice-gitter 4 | categories: projects as 5 | author: LeoNerd 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | This project bridges [Gitter](https://gitter.im) to Matrix, via the AS API on the Matrix side, and a Gitter user on the Gitter side. 11 | 12 | Get it from [github](https://github.com/matrix-org/matrix-appservice-gitter). 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-03-18-matrix-dotnet-sdk.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Matrix .NET SDK 4 | categories: projects sdk 5 | author: Half-Shot 6 | maturity: Alpha 7 | --- 8 | # {{ page.title }} 9 | 10 | The .NET SDK provides an object oriented library to interact with Matrix. It is currently mature enough to be used for simple clients and bots. 11 | 12 | [Github](https://github.com/Half-Shot/matrix-dotnet-sdk) 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-03-19-mpd-dj.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: MPD DJ 4 | categories: projects other 5 | description: A bot for controlling MPD over matrix. 6 | author: Half-Shot 7 | maturity: Alpha 8 | --- 9 | 10 | # {{ page.title }} 11 | 12 | Ever wanted to control a MPD instance over matrix? Now you can! 13 | 14 | Supports a selection (with more coming soon) of mpd commands with the ability to play Youtube links. 15 | 16 | Development is steadily ongoing at [Github](https://github.com/Half-Shot/matrix-mpd-dj) 17 | 18 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-04-05-libqmatrixclient.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: libqmatrixclient 4 | categories: projects sdk 5 | author: Felix Rohrbach 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | libqmatrixclient is a Qt-based library to make IM clients for the Matrix protocol. It is used by the [Quaternion client](https://matrix.org/docs/projects/client/quaternion.html) and is a part of the Quaternion project. 11 | 12 | The project lives in Felix Rohrbach's [github space](https://github.com/Fxrh/libqmatrixclient). 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-04-30-concourse-matrix-notification-resource.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Concourse/Matrix notification resource 4 | categories: projects other 5 | thumbnail: /docs/projects/images/concourse-ci-logo.png 6 | description: Post notifications from Concourse CI jobs 7 | author: freelock 8 | maturity: beta 9 | --- 10 | 11 | # {{ page.title }} 12 | Create a Concourse custom resource type using [freelock/matrix-notification-resource](https://hub.docker.com/r/freelock/matrix-notification-resource/) from Docker Hub, or fork/contribute on [github](https://github.com/freelock/matrix-notification-resource) 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-05-11-goMatrix.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: goMatrix 4 | categories: projects sdk 5 | author: geir54 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | A Matrix library for go currently in development. [https://github.com/geir54/goMatrix](https://github.com/geir54/goMatrix) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-05-23-twitter-bridge.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Twitter bridge 4 | categories: projects as 5 | author: Half-Shot 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | Read tweets and tweet from any Matrix client via this Twitter bridge! Source available at [github](https://github.com/Half-Shot/matrix-appservice-twitter). 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-06-30-hdd-space-calc-for-synapse.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Synapse HDD space calculator 4 | categories: projects other 5 | description: Hard Disk Space Capacity Calculation for Matrix.org Synapse Homeserver 6 | author: Rick Cogley 7 | maturity: Early beta 8 | --- 9 | # {{ page.title }} 10 | 11 | A handy spreadsheet to help calculate how much disc space you need for your Synapse instance. 12 | 13 | You can copy it from [Google Docs](https://docs.google.com/spreadsheets/d/1clrE4WFT7A5NS5AJUdU-mbDZ9rS9fzl6QEbUFJezo7U/edit#gid=0) 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-07-03-nachat.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: NaChat 4 | categories: projects client 5 | thumbnail: /docs/projects/images/nachat005-150.jpg 6 | description: Desktop Qt client 7 | author: Ralith 8 | maturity: Alpha 9 | --- 10 | 11 | ![screenshot](/docs/projects/images/nachat005.jpg "{{ page.title }}") 12 | 13 | # {{ page.title }} 14 | A Matrix desktop client written in C++ and Qt - source at [github](https://github.com/Ralith/nachat). 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-07-29-matrix-appservice-rocketchat.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: matrix-appservice-rocketchat 4 | categories: projects as 5 | author: oddvar 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | This project bridges [Rocket Chat](https://rocket.chat) to Matrix. This uses Rocket Chat's webhooks directly (there is also a Hubot-solution - see the [Rocket Chat federation](http://matrix.org/docs/projects/as/rocket-chat-federation.html) project). 11 | 12 | Get it from [github](https://github.com/matrix-org/matrix-appservice-rocketchat). 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-08-10-matrix-appservice-gitter-twisted.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: matrix-appservice-gitter-twisted 4 | categories: projects as 5 | author: Remi Rampin 6 | maturity: Early beta 7 | --- 8 | 9 | # {{ page.title }} 10 | This is a Python 2 application using Twisted that bridges the Matrix chat network with the Gitter system. 11 | 12 | This is supposed to be deployed as a Matrix application service alongside a homeserver. It allows users to log in to their personal Gitter accounts and chat in Gitter rooms via their Matrix client. 13 | 14 | Contrary to other bridges, this doesn't link a public Matrix room with a Gitter one. You won't be able to join a Gitter room without a Gitter account. On the other hand, Gitter users won't see the difference between a Matrix user and a normal Gitter user, since they will appear to be chatting natively. 15 | 16 | Get it from [github](https://github.com/remram44/matrix-appservice-gitter-twisted). 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-08-11-nervewire.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Nervewire 4 | categories: projects other 5 | description: A Matrix.org image deck 6 | author: Ryan Rix 7 | maturity: Early beta 8 | --- 9 | # {{ page.title }} 10 | 11 | Nervewire collects images from a specified room, and dumps them on to a page so that they can be used for external purposes (perhaps as a screensaver or wallpaper). More information at [Ryan's blog](http://notes.whatthefuck.computer/1465799340.0-note.html), code at [Ryan's cgit](http://fort.kickass.systems:10082/cgit/personal/rrix/pub/nervewire.git/). 12 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-09-13-telematrix.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: telematrix 4 | categories: projects as 5 | author: SijmenSchoon 6 | maturity: Alpha 7 | --- 8 | 9 | # {{ page.title }} 10 | This project bridges [Telegram Messenger](https://telegram.org/) to Matrix. It's currently in early development, and not considered to be in a usable state yet. 11 | 12 | Get it and report issues at [github](https://github.com/SijmenSchoon/telematrix)! 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/2016-09-17-drupal-matrix-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: Drupal matrix_api module 4 | categories: projects sdk 5 | thumbnail: /docs/projects/images/200px-druplicon.png 6 | description: A Drupal 8 integration module/SDK 7 | author: freelock 8 | maturity: Alpha 9 | --- 10 | 11 | # {{ page.title }} 12 | A Drupal API module to facilitate posting messages into Matrix rooms. [Drupal.org](https://drupal.org/project/matrix_api) 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/README.md: -------------------------------------------------------------------------------- 1 | # Matrix Projects 2 | We are using [jekyll](https://jekyllrb.com/) to generate the [try matrix now](https://matrix.org/docs/projects/try-matrix-now.html) page and the project pages. 3 | 4 | Feel free to send us a PR to add or update a project entry. You can start with the [template](./template.md), and you can upload a thumbnail and/or a main picture to the [images](./images/) subfolder - these will be accessible from https://matrix.org/docs/projects/images/ 5 | 6 | Jekyll requires a date in the project filename; we use the date to sort the various project lists (oldest projects first). Please submit new entries with the starting date of the project. 7 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/200px-druplicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/200px-druplicon.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/concourse-ci-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/concourse-ci-logo.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-android-2016-02-16-cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-android-2016-02-16-cropped.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-android-2016-02-16-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-android-2016-02-16-large.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-android-2016-02-16-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-android-2016-02-16-small.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-ios-2016-02-16-cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-ios-2016-02-16-cropped.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-ios-2016-02-16-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-ios-2016-02-16-large.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-ios-2016-02-16-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/matrix-console-ios-2016-02-16-small.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/nachat005-150.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/nachat005-150.jpg -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/nachat005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/nachat005.jpg -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/pto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/pto.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-android-featured.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-android-featured.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-android-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-android-large.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-android-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-android-small.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-iOS-featured.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-iOS-featured.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-iOS-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-iOS-large.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-iOS-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/images/vector-iOS-small.png -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/supporting-docs/projects/template.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: project 3 | title: My First Matrix Client 4 | categories: projects client 5 | # valid categories are client, server, as (application service), sdk (client sdk), and other 6 | thumbnail: /docs/projects/images/upload-a-thumbnail-image-to-the-images-subfolder.png 7 | description: Describe your project here 8 | author: Myself 9 | maturity: Alpha 10 | --- 11 | 12 | ![screenshot](/docs/projects/images/upload-a-bigger-image-for-your-project-page-to-the-images-subfolder.png "{{ page.title }}") 13 | 14 | # {{ page.title }} 15 | Add a fuller description/explanation of your project here, ideally with a link to the source on [github](https://github.com/matrix-org/) or elsewhere. 16 | 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/templating/matrix_templates/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 OpenMarket Ltd 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | from sections import MatrixSections 15 | from units import MatrixUnits 16 | import os 17 | 18 | exports = { 19 | "units": MatrixUnits, 20 | "sections": MatrixSections, 21 | "templates": os.path.join(os.path.dirname(os.path.abspath(__file__)), "templates") 22 | } -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/templating/matrix_templates/templates/apis.tmpl: -------------------------------------------------------------------------------- 1 | {% import 'tables.tmpl' as tables -%} 2 | 3 | {{ tables.paramtable(apis.rows, ["API", "Version", "Description"]) }} 4 | 5 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/templating/matrix_templates/templates/common-event-fields.tmpl: -------------------------------------------------------------------------------- 1 | {% import 'tables.tmpl' as tables -%} 2 | 3 | {{common_event.title}} Fields 4 | {{(7 + common_event.title | length) * title_kind}} 5 | 6 | {{common_event.desc | wrap(80)}} 7 | 8 | {{ tables.paramtable(common_event.rows, ["Key", "Type", "Description"]) }} 9 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/templating/matrix_templates/templates/events.tmpl: -------------------------------------------------------------------------------- 1 | {% import 'tables.tmpl' as tables -%} 2 | 3 | ``{{event.type}}`` 4 | {{(4 + event.type | length) * title_kind}} 5 | 6 | {% if (event.typeof | length) %} 7 | *{{event.typeof}}* 8 | {{event.typeof_info}} 9 | 10 | {% endif -%} 11 | 12 | {{event.desc | wrap(80)}} 13 | {% for table in event.content_fields %} 14 | {{"``"+table.title+"``" if table.title else "" }} 15 | 16 | {{ tables.paramtable(table.rows, [(table.title or "Content") ~ " Key", "Type", "Description"]) }} 17 | 18 | {% endfor %} 19 | Example{% if examples | length > 1 %}s{% endif %}: 20 | 21 | {% for example in examples %} 22 | .. code:: json 23 | 24 | {{example | jsonify(4, 4)}} 25 | {% endfor %} 26 | -------------------------------------------------------------------------------- /vendor/src/github.com/matrix-org/matrix-doc/templating/matrix_templates/templates/msgtypes.tmpl: -------------------------------------------------------------------------------- 1 | {% import 'tables.tmpl' as tables -%} 2 | 3 | ``{{event.msgtype}}`` 4 | {{(4 + event.msgtype | length) * title_kind}} 5 | {{event.desc | wrap(80)}} 6 | {% for table in event.content_fields -%} 7 | {{"``"+table.title+"``" if table.title else "" }} 8 | 9 | {{ tables.paramtable(table.rows, [(table.title or "Content") ~ " Key", "Type", "Description"]) }} 10 | 11 | {% endfor %} 12 | Example: 13 | 14 | .. code:: json 15 | 16 | {{example | jsonify(4, 4)}} 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/matttproud/golang_protobuf_extensions/pbutil/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 Matt T. Proud 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Package pbutil provides record length-delimited Protocol Buffer streaming. 16 | package pbutil 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/client_golang/prometheus/fnv.go: -------------------------------------------------------------------------------- 1 | package prometheus 2 | 3 | // Inline and byte-free variant of hash/fnv's fnv64a. 4 | 5 | const ( 6 | offset64 = 14695981039346656037 7 | prime64 = 1099511628211 8 | ) 9 | 10 | // hashNew initializies a new fnv64a hash value. 11 | func hashNew() uint64 { 12 | return offset64 13 | } 14 | 15 | // hashAdd adds a string to a fnv64a hash value, returning the updated hash. 16 | func hashAdd(h uint64, s string) uint64 { 17 | for i := 0; i < len(s); i++ { 18 | h ^= uint64(s[i]) 19 | h *= prime64 20 | } 21 | return h 22 | } 23 | 24 | // hashAddByte adds a byte to a fnv64a hash value, returning the updated hash. 25 | func hashAddByte(h uint64, b byte) uint64 { 26 | h ^= uint64(b) 27 | h *= prime64 28 | return h 29 | } 30 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/client_golang/prometheus/metric_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | package prometheus 15 | 16 | import "testing" 17 | 18 | func TestBuildFQName(t *testing.T) { 19 | scenarios := []struct{ namespace, subsystem, name, result string }{ 20 | {"a", "b", "c", "a_b_c"}, 21 | {"", "b", "c", "b_c"}, 22 | {"a", "", "c", "a_c"}, 23 | {"", "", "c", "c"}, 24 | {"a", "b", "", ""}, 25 | {"a", "", "", ""}, 26 | {"", "b", "", ""}, 27 | {" ", "", "", ""}, 28 | } 29 | 30 | for i, s := range scenarios { 31 | if want, got := s.result, BuildFQName(s.namespace, s.subsystem, s.name); want != got { 32 | t.Errorf("%d. want %s, got %s", i, want, got) 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | // Build only when actually fuzzing 15 | // +build gofuzz 16 | 17 | package expfmt 18 | 19 | import "bytes" 20 | 21 | // Fuzz text metric parser with with github.com/dvyukov/go-fuzz: 22 | // 23 | // go-fuzz-build github.com/prometheus/client_golang/text 24 | // go-fuzz -bin text-fuzz.zip -workdir fuzz 25 | // 26 | // Further input samples should go in the folder fuzz/corpus. 27 | func Fuzz(in []byte) int { 28 | parser := TextParser{} 29 | _, err := parser.TextToMetricFamilies(bytes.NewReader(in)) 30 | 31 | if err != nil { 32 | return 0 33 | } 34 | 35 | return 1 36 | } 37 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_0: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_1: -------------------------------------------------------------------------------- 1 | 2 | minimal_metric 1.234 3 | another_metric -3e3 103948 4 | # Even that: 5 | no_labels{} 3 6 | # HELP line for non-existing metric will be ignored. 7 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_2: -------------------------------------------------------------------------------- 1 | 2 | # A normal comment. 3 | # 4 | # TYPE name counter 5 | name{labelname="val1",basename="basevalue"} NaN 6 | name {labelname="val2",basename="base\"v\\al\nue"} 0.23 1234567890 7 | # HELP name two-line\n doc str\\ing 8 | 9 | # HELP name2 doc str"ing 2 10 | # TYPE name2 gauge 11 | name2{labelname="val2" ,basename = "basevalue2" } +Inf 54321 12 | name2{ labelname = "val1" , }-Inf 13 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_3: -------------------------------------------------------------------------------- 1 | 2 | # TYPE my_summary summary 3 | my_summary{n1="val1",quantile="0.5"} 110 4 | decoy -1 -2 5 | my_summary{n1="val1",quantile="0.9"} 140 1 6 | my_summary_count{n1="val1"} 42 7 | # Latest timestamp wins in case of a summary. 8 | my_summary_sum{n1="val1"} 4711 2 9 | fake_sum{n1="val1"} 2001 10 | # TYPE another_summary summary 11 | another_summary_count{n2="val2",n1="val1"} 20 12 | my_summary_count{n2="val2",n1="val1"} 5 5 13 | another_summary{n1="val1",n2="val2",quantile=".3"} -1.2 14 | my_summary_sum{n1="val2"} 08 15 15 | my_summary{n1="val3", quantile="0.2"} 4711 16 | my_summary{n1="val1",n2="val2",quantile="-12.34",} NaN 17 | # some 18 | # funny comments 19 | # HELP 20 | # HELP 21 | # HELP my_summary 22 | # HELP my_summary 23 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_4: -------------------------------------------------------------------------------- 1 | 2 | # HELP request_duration_microseconds The response latency. 3 | # TYPE request_duration_microseconds histogram 4 | request_duration_microseconds_bucket{le="100"} 123 5 | request_duration_microseconds_bucket{le="120"} 412 6 | request_duration_microseconds_bucket{le="144"} 592 7 | request_duration_microseconds_bucket{le="172.8"} 1524 8 | request_duration_microseconds_bucket{le="+Inf"} 2693 9 | request_duration_microseconds_sum 1.7560473e+06 10 | request_duration_microseconds_count 2693 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_0: -------------------------------------------------------------------------------- 1 | bla 3.14 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_1: -------------------------------------------------------------------------------- 1 | metric{label="\t"} 3.14 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_10: -------------------------------------------------------------------------------- 1 | metric{label="bla"} 3.14 2 3 2 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_11: -------------------------------------------------------------------------------- 1 | metric{label="bla"} blubb 2 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_12: -------------------------------------------------------------------------------- 1 | 2 | # HELP metric one 3 | # HELP metric two 4 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_13: -------------------------------------------------------------------------------- 1 | 2 | # TYPE metric counter 3 | # TYPE metric untyped 4 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_14: -------------------------------------------------------------------------------- 1 | 2 | metric 4.12 3 | # TYPE metric counter 4 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_15: -------------------------------------------------------------------------------- 1 | 2 | # TYPE metric bla 3 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_16: -------------------------------------------------------------------------------- 1 | 2 | # TYPE met-ric 3 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_17: -------------------------------------------------------------------------------- 1 | @invalidmetric{label="bla"} 3.14 2 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_18: -------------------------------------------------------------------------------- 1 | {label="bla"} 3.14 2 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_19: -------------------------------------------------------------------------------- 1 | 2 | # TYPE metric histogram 3 | metric_bucket{le="bla"} 3.14 4 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_2: -------------------------------------------------------------------------------- 1 | 2 | metric{label="new 3 | line"} 3.14 4 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_3: -------------------------------------------------------------------------------- 1 | metric{@="bla"} 3.14 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_4: -------------------------------------------------------------------------------- 1 | metric{__name__="bla"} 3.14 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_5: -------------------------------------------------------------------------------- 1 | metric{label+="bla"} 3.14 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_6: -------------------------------------------------------------------------------- 1 | metric{label=bla} 3.14 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_7: -------------------------------------------------------------------------------- 1 | 2 | # TYPE metric summary 3 | metric{quantile="bla"} 3.14 4 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_8: -------------------------------------------------------------------------------- 1 | metric{label="bla"+} 3.14 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/from_test_parse_error_9: -------------------------------------------------------------------------------- 1 | metric{label="bla"} 3.14 2.72 2 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/fuzz/corpus/minimal: -------------------------------------------------------------------------------- 1 | m{} 0 2 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/testdata/json2: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "baseLabels": { 4 | "__name__": "rpc_calls_total", 5 | "job": "batch_job" 6 | }, 7 | "docstring": "RPC calls.", 8 | "metric": { 9 | "type": "counter", 10 | "value": [ 11 | { 12 | "labels": { 13 | "service": "zed" 14 | }, 15 | "value": 25 16 | }, 17 | { 18 | "labels": { 19 | "service": "bar" 20 | }, 21 | "value": 24 22 | } 23 | ] 24 | } 25 | }, 26 | { 27 | "baseLabels": { 28 | "__name__": "rpc_latency_microseconds" 29 | }, 30 | "docstring": "RPC latency.", 31 | "metric": { 32 | "type": "histogram", 33 | "value": [ 34 | { 35 | "labels": { 36 | "service": "foo" 37 | }, 38 | "value": { 39 | "0.010000": 15, 40 | "0.990000": 17 41 | } 42 | } 43 | ] 44 | } 45 | } 46 | ] 47 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/expfmt/testdata/json2_bad: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "baseLabels": { 4 | "__name__": "rpc_calls_total", 5 | "job": "batch_job" 6 | }, 7 | "docstring": "RPC calls.", 8 | "metric": { 9 | "type": "counter", 10 | "value": [ 11 | { 12 | "labels": { 13 | "servic|e": "zed" 14 | }, 15 | "value": 25 16 | }, 17 | { 18 | "labels": { 19 | "service": "bar" 20 | }, 21 | "value": 24 22 | } 23 | ] 24 | } 25 | }, 26 | { 27 | "baseLabels": { 28 | "__name__": "rpc_latency_microseconds" 29 | }, 30 | "docstring": "RPC latency.", 31 | "metric": { 32 | "type": "histogram", 33 | "value": [ 34 | { 35 | "labels": { 36 | "service": "foo" 37 | }, 38 | "value": { 39 | "0.010000": 15, 40 | "0.990000": 17 41 | } 42 | } 43 | ] 44 | } 45 | } 46 | ] 47 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg/autoneg_test.go: -------------------------------------------------------------------------------- 1 | package goautoneg 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | var chrome = "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" 8 | 9 | func TestParseAccept(t *testing.T) { 10 | alternatives := []string{"text/html", "image/png"} 11 | content_type := Negotiate(chrome, alternatives) 12 | if content_type != "image/png" { 13 | t.Errorf("got %s expected image/png", content_type) 14 | } 15 | 16 | alternatives = []string{"text/html", "text/plain", "text/n3"} 17 | content_type = Negotiate(chrome, alternatives) 18 | if content_type != "text/html" { 19 | t.Errorf("got %s expected text/html", content_type) 20 | } 21 | 22 | alternatives = []string{"text/n3", "text/plain"} 23 | content_type = Negotiate(chrome, alternatives) 24 | if content_type != "text/plain" { 25 | t.Errorf("got %s expected text/plain", content_type) 26 | } 27 | 28 | alternatives = []string{"text/n3", "application/rdf+xml"} 29 | content_type = Negotiate(chrome, alternatives) 30 | if content_type != "text/n3" { 31 | t.Errorf("got %s expected text/n3", content_type) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/model/fnv.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | package model 15 | 16 | // Inline and byte-free variant of hash/fnv's fnv64a. 17 | 18 | const ( 19 | offset64 = 14695981039346656037 20 | prime64 = 1099511628211 21 | ) 22 | 23 | // hashNew initializies a new fnv64a hash value. 24 | func hashNew() uint64 { 25 | return offset64 26 | } 27 | 28 | // hashAdd adds a string to a fnv64a hash value, returning the updated hash. 29 | func hashAdd(h uint64, s string) uint64 { 30 | for i := 0; i < len(s); i++ { 31 | h ^= uint64(s[i]) 32 | h *= prime64 33 | } 34 | return h 35 | } 36 | 37 | // hashAddByte adds a byte to a fnv64a hash value, returning the updated hash. 38 | func hashAddByte(h uint64, b byte) uint64 { 39 | h ^= uint64(b) 40 | h *= prime64 41 | return h 42 | } 43 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/common/model/model.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Prometheus Authors 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | // Package model contains common data structures that are shared across 15 | // Prometheus componenets and libraries. 16 | package model 17 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/AUTHORS.md: -------------------------------------------------------------------------------- 1 | The Prometheus project was started by Matt T. Proud (emeritus) and 2 | Julius Volz in 2012. 3 | 4 | Maintainers of this repository: 5 | 6 | * Tobias Schmidt 7 | 8 | The following individuals have contributed code to this repository 9 | (listed in alphabetical order): 10 | 11 | * Armen Baghumian 12 | * Bjoern Rabenstein 13 | * David Cournapeau 14 | * Ji-Hoon, Seol 15 | * Jonas Große Sundrup 16 | * Julius Volz 17 | * Matthias Rampke 18 | * Nicky Gerritsen 19 | * Rémi Audebert 20 | * Tobias Schmidt 21 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Prometheus uses GitHub to manage reviews of pull requests. 4 | 5 | * If you have a trivial fix or improvement, go ahead and create a pull 6 | request, addressing (with `@...`) one or more of the maintainers 7 | (see [AUTHORS.md](AUTHORS.md)) in the description of the pull request. 8 | 9 | * If you plan to do something more involved, first discuss your ideas 10 | on our [mailing list](https://groups.google.com/forum/?fromgroups#!forum/prometheus-developers). 11 | This will avoid unnecessary work and surely give you and us a good deal 12 | of inspiration. 13 | 14 | * Relevant coding style guidelines are the [Go Code Review 15 | Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments) 16 | and the _Formatting and style_ section of Peter Bourgon's [Go: Best 17 | Practices for Production 18 | Environments](http://peter.bourgon.org/go-in-production/#formatting-and-style). 19 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/Makefile: -------------------------------------------------------------------------------- 1 | ci: 2 | ! gofmt -l *.go | read nothing 3 | go vet 4 | go test -v ./... 5 | go get github.com/golang/lint/golint 6 | golint *.go 7 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/NOTICE: -------------------------------------------------------------------------------- 1 | procfs provides functions to retrieve system, kernel and process 2 | metrics from the pseudo-filesystem proc. 3 | 4 | Copyright 2014-2015 The Prometheus Authors 5 | 6 | This product includes software developed at 7 | SoundCloud Ltd. (http://soundcloud.com/). 8 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/README.md: -------------------------------------------------------------------------------- 1 | # procfs 2 | 3 | This procfs package provides functions to retrieve system, kernel and process 4 | metrics from the pseudo-filesystem proc. 5 | 6 | *WARNING*: This package is a work in progress. Its API may still break in 7 | backwards-incompatible ways without warnings. Use it at your own risk. 8 | 9 | [![GoDoc](https://godoc.org/github.com/prometheus/procfs?status.png)](https://godoc.org/github.com/prometheus/procfs) 10 | [![Build Status](https://travis-ci.org/prometheus/procfs.svg?branch=master)](https://travis-ci.org/prometheus/procfs) 11 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/26231/cmdline: -------------------------------------------------------------------------------- 1 | vimtest.go+10 -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/26231/comm: -------------------------------------------------------------------------------- 1 | vim 2 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/26231/io: -------------------------------------------------------------------------------- 1 | rchar: 750339 2 | wchar: 818609 3 | syscr: 7405 4 | syscw: 5245 5 | read_bytes: 1024 6 | write_bytes: 2048 7 | cancelled_write_bytes: -1024 8 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/26231/limits: -------------------------------------------------------------------------------- 1 | Limit Soft Limit Hard Limit Units 2 | Max cpu time unlimited unlimited seconds 3 | Max file size unlimited unlimited bytes 4 | Max data size unlimited unlimited bytes 5 | Max stack size 8388608 unlimited bytes 6 | Max core file size 0 unlimited bytes 7 | Max resident set unlimited unlimited bytes 8 | Max processes 62898 62898 processes 9 | Max open files 2048 4096 files 10 | Max locked memory 65536 65536 bytes 11 | Max address space unlimited unlimited bytes 12 | Max file locks unlimited unlimited locks 13 | Max pending signals 62898 62898 signals 14 | Max msgqueue size 819200 819200 bytes 15 | Max nice priority 0 0 16 | Max realtime priority 0 0 17 | Max realtime timeout unlimited unlimited us 18 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/26231/stat: -------------------------------------------------------------------------------- 1 | 26231 (vim) R 5392 7446 5392 34835 7446 4218880 32533 309516 26 82 1677 44 158 99 20 0 1 0 82375 56274944 1981 18446744073709551615 4194304 6294284 140736914091744 140736914087944 139965136429984 0 0 12288 1870679807 0 0 0 17 0 0 0 31 0 0 8391624 8481048 16420864 140736914093252 140736914093279 140736914093279 140736914096107 0 2 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/26232/cmdline: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/prometheus/procfs/fixtures/26232/cmdline -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/26232/comm: -------------------------------------------------------------------------------- 1 | ata_sff 2 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/26232/limits: -------------------------------------------------------------------------------- 1 | Limit Soft Limit Hard Limit Units 2 | Max cpu time unlimited unlimited seconds 3 | Max file size unlimited unlimited bytes 4 | Max data size unlimited unlimited bytes 5 | Max stack size 8388608 unlimited bytes 6 | Max core file size 0 unlimited bytes 7 | Max resident set unlimited unlimited bytes 8 | Max processes 29436 29436 processes 9 | Max open files 1024 4096 files 10 | Max locked memory 65536 65536 bytes 11 | Max address space unlimited unlimited bytes 12 | Max file locks unlimited unlimited locks 13 | Max pending signals 29436 29436 signals 14 | Max msgqueue size 819200 819200 bytes 15 | Max nice priority 0 0 16 | Max realtime priority 0 0 17 | Max realtime timeout unlimited unlimited us 18 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/26232/stat: -------------------------------------------------------------------------------- 1 | 33 (ata_sff) S 2 0 0 0 -1 69238880 0 0 0 0 0 0 0 0 0 -20 1 0 5 0 0 18446744073709551615 0 0 0 0 0 0 0 2147483647 0 18446744073709551615 0 0 17 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/584/stat: -------------------------------------------------------------------------------- 1 | 1020 ((a b ) ( c d) ) R 28378 1020 28378 34842 1020 4218880 286 0 0 0 0 0 0 0 20 0 1 0 10839175 10395648 155 18446744073709551615 4194304 4238788 140736466511168 140736466511168 140609271124624 0 0 0 0 0 0 0 17 5 0 0 0 0 0 6336016 6337300 25579520 140736466515030 140736466515061 140736466515061 140736466518002 0 2 | #!/bin/cat /proc/self/stat 3 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/mdstat: -------------------------------------------------------------------------------- 1 | Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 2 | md3 : active raid6 sda1[8] sdh1[7] sdg1[6] sdf1[5] sde1[11] sdd1[3] sdc1[10] sdb1[9] 3 | 5853468288 blocks super 1.2 level 6, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] 4 | 5 | md127 : active raid1 sdi2[0] sdj2[1] 6 | 312319552 blocks [2/2] [UU] 7 | 8 | md0 : active raid1 sdk[2](S) sdi1[0] sdj1[1] 9 | 248896 blocks [2/2] [UU] 10 | 11 | md4 : inactive raid1 sda3[0] sdb3[1] 12 | 4883648 blocks [2/2] [UU] 13 | 14 | md6 : active raid1 sdb2[2] sda2[0] 15 | 195310144 blocks [2/1] [U_] 16 | [=>...................] recovery = 8.5% (16775552/195310144) finish=17.0min speed=259783K/sec 17 | 18 | md8 : active raid1 sdb1[1] sda1[0] 19 | 195310144 blocks [2/2] [UU] 20 | [=>...................] resync = 8.5% (16775552/195310144) finish=17.0min speed=259783K/sec 21 | 22 | md7 : active raid6 sdb1[0] sde1[3] sdd1[2] sdc1[1] 23 | 7813735424 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/3] [U_UU] 24 | bitmap: 0/30 pages [0KB], 65536KB chunk 25 | 26 | unused devices: 27 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/net/ip_vs: -------------------------------------------------------------------------------- 1 | IP Virtual Server version 1.2.1 (size=4096) 2 | Prot LocalAddress:Port Scheduler Flags 3 | -> RemoteAddress:Port Forward Weight ActiveConn InActConn 4 | TCP C0A80016:0CEA wlc 5 | -> C0A85216:0CEA Tunnel 100 248 2 6 | -> C0A85318:0CEA Tunnel 100 248 2 7 | -> C0A85315:0CEA Tunnel 100 248 1 8 | TCP C0A80039:0CEA wlc 9 | -> C0A85416:0CEA Tunnel 0 0 0 10 | -> C0A85215:0CEA Tunnel 100 1499 0 11 | -> C0A83215:0CEA Tunnel 100 1498 0 12 | TCP C0A80037:0CEA wlc 13 | -> C0A8321A:0CEA Tunnel 0 0 0 14 | -> C0A83120:0CEA Tunnel 100 0 0 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/net/ip_vs_stats: -------------------------------------------------------------------------------- 1 | Total Incoming Outgoing Incoming Outgoing 2 | Conns Packets Packets Bytes Bytes 3 | 16AA370 E33656E5 0 51D8C8883AB3 0 4 | 5 | Conns/s Pkts/s Pkts/s Bytes/s Bytes/s 6 | 4 1FB3C 0 1282A8F 0 7 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/README: -------------------------------------------------------------------------------- 1 | This directory contains some empty files that are the symlinks the files in the "fd" directory point to. 2 | They are otherwise ignored by the tests 3 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/abc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/abc -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/def -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/ghi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/ghi -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/uvw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/uvw -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/xyz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matrix-org/dendron/d8f3305cd90afbbfa7c66e66563410287fcd9ba6/vendor/src/github.com/prometheus/procfs/fixtures/symlinktargets/xyz -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fs.go: -------------------------------------------------------------------------------- 1 | package procfs 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | "path" 7 | ) 8 | 9 | // FS represents the pseudo-filesystem proc, which provides an interface to 10 | // kernel data structures. 11 | type FS string 12 | 13 | // DefaultMountPoint is the common mount point of the proc filesystem. 14 | const DefaultMountPoint = "/proc" 15 | 16 | // NewFS returns a new FS mounted under the given mountPoint. It will error 17 | // if the mount point can't be read. 18 | func NewFS(mountPoint string) (FS, error) { 19 | info, err := os.Stat(mountPoint) 20 | if err != nil { 21 | return "", fmt.Errorf("could not read %s: %s", mountPoint, err) 22 | } 23 | if !info.IsDir() { 24 | return "", fmt.Errorf("mount point %s is not a directory", mountPoint) 25 | } 26 | 27 | return FS(mountPoint), nil 28 | } 29 | 30 | // Path returns the path of the given subsystem relative to the procfs root. 31 | func (fs FS) Path(p ...string) string { 32 | return path.Join(append([]string{string(fs)}, p...)...) 33 | } 34 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/fs_test.go: -------------------------------------------------------------------------------- 1 | package procfs 2 | 3 | import "testing" 4 | 5 | func TestNewFS(t *testing.T) { 6 | if _, err := NewFS("foobar"); err == nil { 7 | t.Error("want NewFS to fail for non-existing mount point") 8 | } 9 | 10 | if _, err := NewFS("procfs.go"); err == nil { 11 | t.Error("want NewFS to fail if mount point is not a directory") 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/mdstat_test.go: -------------------------------------------------------------------------------- 1 | package procfs 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | func TestMDStat(t *testing.T) { 8 | mdStates, err := FS("fixtures").ParseMDStat() 9 | if err != nil { 10 | t.Fatalf("parsing of reference-file failed entirely: %s", err) 11 | } 12 | 13 | refs := map[string]MDStat{ 14 | "md3": MDStat{"md3", "active", 8, 8, 5853468288, 5853468288}, 15 | "md127": MDStat{"md127", "active", 2, 2, 312319552, 312319552}, 16 | "md0": MDStat{"md0", "active", 2, 2, 248896, 248896}, 17 | "md4": MDStat{"md4", "inactive", 2, 2, 4883648, 4883648}, 18 | "md6": MDStat{"md6", "active", 1, 2, 195310144, 16775552}, 19 | "md8": MDStat{"md8", "active", 2, 2, 195310144, 16775552}, 20 | "md7": MDStat{"md7", "active", 3, 4, 7813735424, 7813735424}, 21 | } 22 | 23 | if want, have := len(refs), len(mdStates); want != have { 24 | t.Errorf("want %d parsed md-devices, have %d", want, have) 25 | } 26 | for _, md := range mdStates { 27 | if want, have := refs[md.Name], md; want != have { 28 | t.Errorf("%s: want %v, have %v", md.Name, want, have) 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/proc_io.go: -------------------------------------------------------------------------------- 1 | package procfs 2 | 3 | import ( 4 | "fmt" 5 | "io/ioutil" 6 | "os" 7 | ) 8 | 9 | // ProcIO models the content of /proc//io. 10 | type ProcIO struct { 11 | // Chars read. 12 | RChar uint64 13 | // Chars written. 14 | WChar uint64 15 | // Read syscalls. 16 | SyscR uint64 17 | // Write syscalls. 18 | SyscW uint64 19 | // Bytes read. 20 | ReadBytes uint64 21 | // Bytes written. 22 | WriteBytes uint64 23 | // Bytes written, but taking into account truncation. See 24 | // Documentation/filesystems/proc.txt in the kernel sources for 25 | // detailed explanation. 26 | CancelledWriteBytes int64 27 | } 28 | 29 | // NewIO creates a new ProcIO instance from a given Proc instance. 30 | func (p Proc) NewIO() (ProcIO, error) { 31 | pio := ProcIO{} 32 | 33 | f, err := os.Open(p.path("io")) 34 | if err != nil { 35 | return pio, err 36 | } 37 | defer f.Close() 38 | 39 | data, err := ioutil.ReadAll(f) 40 | if err != nil { 41 | return pio, err 42 | } 43 | 44 | ioFormat := "rchar: %d\nwchar: %d\nsyscr: %d\nsyscw: %d\n" + 45 | "read_bytes: %d\nwrite_bytes: %d\n" + 46 | "cancelled_write_bytes: %d\n" 47 | 48 | _, err = fmt.Sscanf(string(data), ioFormat, &pio.RChar, &pio.WChar, &pio.SyscR, 49 | &pio.SyscW, &pio.ReadBytes, &pio.WriteBytes, &pio.CancelledWriteBytes) 50 | if err != nil { 51 | return pio, err 52 | } 53 | 54 | return pio, nil 55 | } 56 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/proc_io_test.go: -------------------------------------------------------------------------------- 1 | package procfs 2 | 3 | import "testing" 4 | 5 | func TestProcIO(t *testing.T) { 6 | p, err := FS("fixtures").NewProc(26231) 7 | if err != nil { 8 | t.Fatal(err) 9 | } 10 | 11 | s, err := p.NewIO() 12 | if err != nil { 13 | t.Fatal(err) 14 | } 15 | 16 | for _, test := range []struct { 17 | name string 18 | want int64 19 | have int64 20 | }{ 21 | {name: "RChar", want: 750339, have: int64(s.RChar)}, 22 | {name: "WChar", want: 818609, have: int64(s.WChar)}, 23 | {name: "SyscR", want: 7405, have: int64(s.SyscR)}, 24 | {name: "SyscW", want: 5245, have: int64(s.SyscW)}, 25 | {name: "ReadBytes", want: 1024, have: int64(s.ReadBytes)}, 26 | {name: "WriteBytes", want: 2048, have: int64(s.WriteBytes)}, 27 | {name: "CancelledWriteBytes", want: -1024, have: s.CancelledWriteBytes}, 28 | } { 29 | if test.want != test.have { 30 | t.Errorf("want %s %d, have %d", test.name, test.want, test.have) 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/proc_limits_test.go: -------------------------------------------------------------------------------- 1 | package procfs 2 | 3 | import "testing" 4 | 5 | func TestNewLimits(t *testing.T) { 6 | p, err := FS("fixtures").NewProc(26231) 7 | if err != nil { 8 | t.Fatal(err) 9 | } 10 | 11 | l, err := p.NewLimits() 12 | if err != nil { 13 | t.Fatal(err) 14 | } 15 | 16 | for _, test := range []struct { 17 | name string 18 | want int 19 | have int 20 | }{ 21 | {name: "cpu time", want: -1, have: l.CPUTime}, 22 | {name: "open files", want: 2048, have: l.OpenFiles}, 23 | {name: "msgqueue size", want: 819200, have: l.MsqqueueSize}, 24 | {name: "nice priority", want: 0, have: l.NicePriority}, 25 | {name: "address space", want: -1, have: l.AddressSpace}, 26 | } { 27 | if test.want != test.have { 28 | t.Errorf("want %s %d, have %d", test.name, test.want, test.have) 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/src/github.com/prometheus/procfs/stat_test.go: -------------------------------------------------------------------------------- 1 | package procfs 2 | 3 | import "testing" 4 | 5 | func TestStat(t *testing.T) { 6 | s, err := FS("fixtures").NewStat() 7 | if err != nil { 8 | t.Fatal(err) 9 | } 10 | 11 | if want, have := int64(1418183276), s.BootTime; want != have { 12 | t.Errorf("want boot time %d, have %d", want, have) 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /vendor/src/github.com/serialx/hashring/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Sung-jin Hong 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/src/golang.org/x/crypto/bcrypt/base64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2011 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package bcrypt 6 | 7 | import "encoding/base64" 8 | 9 | const alphabet = "./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" 10 | 11 | var bcEncoding = base64.NewEncoding(alphabet) 12 | 13 | func base64Encode(src []byte) []byte { 14 | n := bcEncoding.EncodedLen(len(src)) 15 | dst := make([]byte, n) 16 | bcEncoding.Encode(dst, src) 17 | for dst[n-1] == '=' { 18 | n-- 19 | } 20 | return dst[:n] 21 | } 22 | 23 | func base64Decode(src []byte) ([]byte, error) { 24 | numOfEquals := 4 - (len(src) % 4) 25 | for i := 0; i < numOfEquals; i++ { 26 | src = append(src, '=') 27 | } 28 | 29 | dst := make([]byte, bcEncoding.DecodedLen(len(src))) 30 | n, err := bcEncoding.Decode(dst, src) 31 | if err != nil { 32 | return nil, err 33 | } 34 | return dst[:n], nil 35 | } 36 | -------------------------------------------------------------------------------- /vendor/src/golang.org/x/crypto/poly1305/sum_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,!gccgo,!appengine 6 | 7 | package poly1305 8 | 9 | // This function is implemented in poly1305_amd64.s 10 | 11 | //go:noescape 12 | 13 | func poly1305(out *[16]byte, m *byte, mlen uint64, key *[32]byte) 14 | 15 | // Sum generates an authenticator for m using a one-time key and puts the 16 | // 16-byte result into out. Authenticating two different messages with the same 17 | // key allows an attacker to forge messages at will. 18 | func Sum(out *[16]byte, m []byte, key *[32]byte) { 19 | var mPtr *byte 20 | if len(m) > 0 { 21 | mPtr = &m[0] 22 | } 23 | poly1305(out, mPtr, uint64(len(m)), key) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/src/golang.org/x/crypto/poly1305/sum_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build arm,!gccgo,!appengine 6 | 7 | package poly1305 8 | 9 | // This function is implemented in poly1305_arm.s 10 | 11 | //go:noescape 12 | 13 | func poly1305_auth_armv6(out *[16]byte, m *byte, mlen uint32, key *[32]byte) 14 | 15 | // Sum generates an authenticator for m using a one-time key and puts the 16 | // 16-byte result into out. Authenticating two different messages with the same 17 | // key allows an attacker to forge messages at will. 18 | func Sum(out *[16]byte, m []byte, key *[32]byte) { 19 | var mPtr *byte 20 | if len(m) > 0 { 21 | mPtr = &m[0] 22 | } 23 | poly1305_auth_armv6(out, mPtr, uint32(len(m)), key) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/src/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,!appengine,!gccgo 6 | 7 | package salsa 8 | 9 | // This function is implemented in salsa2020_amd64.s. 10 | 11 | //go:noescape 12 | 13 | func salsa2020XORKeyStream(out, in *byte, n uint64, nonce, key *byte) 14 | 15 | // XORKeyStream crypts bytes from in to out using the given key and counters. 16 | // In and out may be the same slice but otherwise should not overlap. Counter 17 | // contains the raw salsa20 counter bytes (both nonce and block counter). 18 | func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) { 19 | if len(in) == 0 { 20 | return 21 | } 22 | salsa2020XORKeyStream(&out[0], &in[0], uint64(len(in)), &counter[0], &key[0]) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/src/golang.org/x/crypto/salsa20/salsa/salsa_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package salsa 6 | 7 | import "testing" 8 | 9 | func TestCore208(t *testing.T) { 10 | in := [64]byte{ 11 | 0x7e, 0x87, 0x9a, 0x21, 0x4f, 0x3e, 0xc9, 0x86, 12 | 0x7c, 0xa9, 0x40, 0xe6, 0x41, 0x71, 0x8f, 0x26, 13 | 0xba, 0xee, 0x55, 0x5b, 0x8c, 0x61, 0xc1, 0xb5, 14 | 0x0d, 0xf8, 0x46, 0x11, 0x6d, 0xcd, 0x3b, 0x1d, 15 | 0xee, 0x24, 0xf3, 0x19, 0xdf, 0x9b, 0x3d, 0x85, 16 | 0x14, 0x12, 0x1e, 0x4b, 0x5a, 0xc5, 0xaa, 0x32, 17 | 0x76, 0x02, 0x1d, 0x29, 0x09, 0xc7, 0x48, 0x29, 18 | 0xed, 0xeb, 0xc6, 0x8d, 0xb8, 0xb8, 0xc2, 0x5e} 19 | 20 | out := [64]byte{ 21 | 0xa4, 0x1f, 0x85, 0x9c, 0x66, 0x08, 0xcc, 0x99, 22 | 0x3b, 0x81, 0xca, 0xcb, 0x02, 0x0c, 0xef, 0x05, 23 | 0x04, 0x4b, 0x21, 0x81, 0xa2, 0xfd, 0x33, 0x7d, 24 | 0xfd, 0x7b, 0x1c, 0x63, 0x96, 0x68, 0x2f, 0x29, 25 | 0xb4, 0x39, 0x31, 0x68, 0xe3, 0xc9, 0xe6, 0xbc, 26 | 0xfe, 0x6b, 0xc5, 0xb7, 0xa0, 0x6d, 0x96, 0xba, 27 | 0xe4, 0x24, 0xcc, 0x10, 0x2c, 0x91, 0x74, 0x5c, 28 | 0x24, 0xad, 0x67, 0x3d, 0xc7, 0x61, 0x8f, 0x81, 29 | } 30 | 31 | Core208(&in, &in) 32 | if in != out { 33 | t.Errorf("expected %x, got %x", out, in) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/airbrake/gobrake.v2/README.md: -------------------------------------------------------------------------------- 1 | # Airbrake Golang Notifier [![Build Status](https://circleci.com/gh/airbrake/gobrake.png?circle-token=4cbcbf1a58fa8275217247351a2db7250c1ef976)](https://circleci.com/gh/airbrake/gobrake) 2 | 3 | 4 | 5 | # Example 6 | 7 | ```go 8 | package main 9 | 10 | import ( 11 | "errors" 12 | 13 | "gopkg.in/airbrake/gobrake.v2" 14 | ) 15 | 16 | var airbrake = gobrake.NewNotifier(1234567, "FIXME") 17 | 18 | func init() { 19 | airbrake.AddFilter(func(notice *gobrake.Notice) *gobrake.Notice { 20 | notice.Context["environment"] = "production" 21 | return notice 22 | }) 23 | } 24 | 25 | func main() { 26 | defer func() { 27 | if v := recover(); v != nil { 28 | airbrake.Notify(v, nil) 29 | panic(v) 30 | } 31 | }() 32 | defer airbrake.Flush() 33 | 34 | airbrake.Notify(errors.New("operation failed"), nil) 35 | } 36 | ``` 37 | 38 | ## Ignoring notices 39 | 40 | ```go 41 | airbrake.AddFilter(func(notice *gobrake.Notice) *gobrake.Notice { 42 | if notice.Context["environment"] == "development" { 43 | // Ignore notices in development environment. 44 | return nil 45 | } 46 | return notice 47 | }) 48 | ``` 49 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/airbrake/gobrake.v2/circle.yml: -------------------------------------------------------------------------------- 1 | checkout: 2 | post: 3 | - rm -rf /home/ubuntu/.go_workspace/src/gopkg.in/airbrake/gobrake.v2 4 | - mkdir -p /home/ubuntu/.go_workspace/src/gopkg.in/airbrake 5 | - mv /home/ubuntu/gobrake /home/ubuntu/.go_workspace/src/gopkg.in/airbrake/gobrake.v2 6 | 7 | dependencies: 8 | override: 9 | - go get github.com/onsi/ginkgo 10 | - go get github.com/onsi/gomega 11 | 12 | test: 13 | override: 14 | - go test gopkg.in/airbrake/gobrake.v2 15 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/airbrake/gobrake.v2/util.go: -------------------------------------------------------------------------------- 1 | package gobrake 2 | 3 | import ( 4 | "runtime" 5 | "strings" 6 | ) 7 | 8 | func stackFilter(packageName, funcName string, file string, line int) bool { 9 | return packageName == "runtime" && funcName == "panic" 10 | } 11 | 12 | type StackFrame struct { 13 | File string `json:"file"` 14 | Line int `json:"line"` 15 | Func string `json:"function"` 16 | } 17 | 18 | func stack(depth int) []StackFrame { 19 | stack := []StackFrame{} 20 | for i := depth; ; i++ { 21 | pc, file, line, ok := runtime.Caller(i) 22 | if !ok { 23 | break 24 | } 25 | packageName, funcName := packageFuncName(pc) 26 | if stackFilter(packageName, funcName, file, line) { 27 | stack = stack[:0] 28 | continue 29 | } 30 | stack = append(stack, StackFrame{ 31 | File: file, 32 | Line: line, 33 | Func: funcName, 34 | }) 35 | } 36 | 37 | return stack 38 | } 39 | 40 | func packageFuncName(pc uintptr) (string, string) { 41 | f := runtime.FuncForPC(pc) 42 | if f == nil { 43 | return "", "" 44 | } 45 | 46 | packageName := "" 47 | funcName := f.Name() 48 | 49 | if ind := strings.LastIndex(funcName, "/"); ind > 0 { 50 | packageName += funcName[:ind+1] 51 | funcName = funcName[ind+1:] 52 | } 53 | if ind := strings.Index(funcName, "."); ind > 0 { 54 | packageName += funcName[:ind] 55 | funcName = funcName[ind+1:] 56 | } 57 | 58 | return packageName, funcName 59 | } 60 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/fsnotify.v1/example_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !plan9,!solaris 6 | 7 | package fsnotify_test 8 | 9 | import ( 10 | "log" 11 | 12 | "github.com/go-fsnotify/fsnotify" 13 | ) 14 | 15 | func ExampleNewWatcher() { 16 | watcher, err := fsnotify.NewWatcher() 17 | if err != nil { 18 | log.Fatal(err) 19 | } 20 | defer watcher.Close() 21 | 22 | done := make(chan bool) 23 | go func() { 24 | for { 25 | select { 26 | case event := <-watcher.Events: 27 | log.Println("event:", event) 28 | if event.Op&fsnotify.Write == fsnotify.Write { 29 | log.Println("modified file:", event.Name) 30 | } 31 | case err := <-watcher.Errors: 32 | log.Println("error:", err) 33 | } 34 | } 35 | }() 36 | 37 | err = watcher.Add("/tmp/foo") 38 | if err != nil { 39 | log.Fatal(err) 40 | } 41 | <-done 42 | } 43 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/fsnotify.v1/open_mode_bsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build freebsd openbsd netbsd dragonfly 6 | 7 | package fsnotify 8 | 9 | import "syscall" 10 | 11 | const openMode = syscall.O_NONBLOCK | syscall.O_RDONLY 12 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/fsnotify.v1/open_mode_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin 6 | 7 | package fsnotify 8 | 9 | import "syscall" 10 | 11 | // note: this constant is not defined on BSD 12 | const openMode = syscall.O_EVTONLY 13 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/gemnasium/logrus-airbrake-hook.v2/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Gemnasium 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/gemnasium/logrus-airbrake-hook.v2/README.md: -------------------------------------------------------------------------------- 1 | # Airbrake Hook for Logrus :walrus: 2 | 3 | Use this hook to send your errors to [Airbrake](https://airbrake.io/). 4 | This hook is using the [official airbrake go package](https://github.com/airbrake/gobrake), and will hit the api V3. 5 | The hook is async for `log.Error`, but blocking for the notice to be sent with `log.Fatal` and `log.Panic`. 6 | 7 | All logrus fields will be sent as context fields on Airbrake. 8 | 9 | ## Usage 10 | 11 | The hook must be configured with: 12 | 13 | * A project ID (found in your your Airbrake project settings) 14 | * An API key ID (found in your your Airbrake project settings) 15 | * The name of the current environment ("development", "staging", "production", ...) 16 | 17 | ```go 18 | import ( 19 | "log/syslog" 20 | "github.com/Sirupsen/logrus" 21 | "gopkg.in/gemnasium/logrus-airbrake-hook.v2" // the package is named "aibrake" 22 | ) 23 | 24 | func main() { 25 | log := logrus.New() 26 | log.AddHook(airbrake.NewHook(123, "xyz", "development")) 27 | log.Error("some logging message") // The error is sent to airbrake in background 28 | } 29 | ``` 30 | 31 | Note that if environment == "development", the hook will not send anything to airbrake. 32 | 33 | 34 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/macaroon.v1/TODO: -------------------------------------------------------------------------------- 1 | macaroon: 2 | 3 | - verify that all signature calculations to correspond exactly 4 | with libmacaroons. 5 | -------------------------------------------------------------------------------- /vendor/src/gopkg.in/macaroon.v1/export_test.go: -------------------------------------------------------------------------------- 1 | package macaroon 2 | 3 | // Data returns the macaroon's data. 4 | func (m *Macaroon) Data() []byte { 5 | return m.data 6 | } 7 | 8 | // AddThirdPartyCaveatWithRand adds a third-party caveat to the macaroon, using 9 | // the given source of randomness for encrypting the caveat id. 10 | var AddThirdPartyCaveatWithRand = (*Macaroon).addThirdPartyCaveatWithRand 11 | 12 | // MaxPacketLen is the maximum allowed length of a packet in the macaroon 13 | // serialization format. 14 | var MaxPacketLen = maxPacketLen 15 | --------------------------------------------------------------------------------