├── .bowerrc ├── .editorconfig ├── .ember-cli ├── .gitattributes ├── .gitignore ├── .jshintrc ├── .travis.yml ├── .watchmanconfig ├── FLOW.rst ├── LICENSE.txt ├── Procfile ├── README.rst ├── app ├── app.js ├── components │ ├── .gitkeep │ ├── channels │ │ └── chat-input-box.js │ ├── hide-nav-on-click.js │ ├── scroll-to-bottom.js │ └── track-focus.js ├── controllers │ ├── .gitkeep │ └── channels │ │ └── connect.js ├── helpers │ ├── .gitkeep │ └── format-message.js ├── index.html ├── models │ ├── .gitkeep │ └── channel.js ├── router.js ├── routes │ ├── .gitkeep │ └── channels │ │ ├── connect.js │ │ └── new.js ├── styles │ ├── app.css │ └── channel.css ├── templates │ ├── -footer.hbs │ ├── -navigation.hbs │ ├── application.hbs │ ├── channels.hbs │ ├── channels │ │ ├── -channel-members.hbs │ │ ├── -chat-message.hbs │ │ ├── -edit-nick.hbs │ │ ├── -error-message.hbs │ │ ├── -join-message.hbs │ │ ├── -nick-message.hbs │ │ ├── -part-message.hbs │ │ ├── connect.hbs │ │ └── new.hbs │ ├── components │ │ ├── .gitkeep │ │ └── channels │ │ │ └── chat-input-box.hbs │ └── home.hbs └── utils │ ├── invalid-encryption-error.js │ ├── line-breaks.js │ └── tag-urls.js ├── bower.json ├── config └── environment.js ├── ember-cli-build.js ├── package.json ├── public ├── crossdomain.xml └── robots.txt ├── qotr ├── __init__.py ├── channels.py ├── client.py ├── config │ ├── __init__.py │ ├── base.py │ ├── development.py │ ├── production.py │ └── test.py ├── exceptions.py ├── handlers │ ├── __init__.py │ ├── base.py │ ├── channel.py │ ├── chat.py │ ├── home.py │ └── static.py ├── message.py ├── server.py └── tests │ ├── __init__.py │ ├── base_async_test.py │ ├── test_channel_handler.py │ ├── test_channels.py │ ├── test_chat_handler.py │ ├── test_config.py │ ├── test_messages.py │ ├── test_server.py │ └── utils.py ├── requirements.txt ├── runtime.txt ├── testem.json ├── tests ├── .jshintrc ├── helpers │ ├── resolver.js │ └── start-app.js ├── index.html ├── load-generator.js ├── load.sh ├── test-helper.js └── unit │ ├── .gitkeep │ ├── helpers │ └── format-message-test.js │ ├── models │ └── channel-test.js │ ├── routes │ └── channels │ │ ├── connect-test.js │ │ └── new-test.js │ └── utils │ ├── invalid-encryption-error.js │ ├── line-breaks-test.js │ └── tag-urls-test.js └── vendor ├── .gitkeep ├── forge.min.js └── regex-weburl.js /.bowerrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/.bowerrc -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/.editorconfig -------------------------------------------------------------------------------- /.ember-cli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/.ember-cli -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/.gitignore -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/.jshintrc -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/.travis.yml -------------------------------------------------------------------------------- /.watchmanconfig: -------------------------------------------------------------------------------- 1 | { 2 | "ignore_dirs": ["tmp"] 3 | } 4 | -------------------------------------------------------------------------------- /FLOW.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/FLOW.rst -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: python -m qotr.server 2 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/README.rst -------------------------------------------------------------------------------- /app/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/app.js -------------------------------------------------------------------------------- /app/components/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/components/channels/chat-input-box.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/components/channels/chat-input-box.js -------------------------------------------------------------------------------- /app/components/hide-nav-on-click.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/components/hide-nav-on-click.js -------------------------------------------------------------------------------- /app/components/scroll-to-bottom.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/components/scroll-to-bottom.js -------------------------------------------------------------------------------- /app/components/track-focus.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/components/track-focus.js -------------------------------------------------------------------------------- /app/controllers/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/controllers/channels/connect.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/controllers/channels/connect.js -------------------------------------------------------------------------------- /app/helpers/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/helpers/format-message.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/helpers/format-message.js -------------------------------------------------------------------------------- /app/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/index.html -------------------------------------------------------------------------------- /app/models/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/models/channel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/models/channel.js -------------------------------------------------------------------------------- /app/router.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/router.js -------------------------------------------------------------------------------- /app/routes/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/routes/channels/connect.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/routes/channels/connect.js -------------------------------------------------------------------------------- /app/routes/channels/new.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/routes/channels/new.js -------------------------------------------------------------------------------- /app/styles/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/styles/app.css -------------------------------------------------------------------------------- /app/styles/channel.css: -------------------------------------------------------------------------------- 1 | .chat-member { 2 | color: #fff; 3 | } 4 | -------------------------------------------------------------------------------- /app/templates/-footer.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/-footer.hbs -------------------------------------------------------------------------------- /app/templates/-navigation.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/-navigation.hbs -------------------------------------------------------------------------------- /app/templates/application.hbs: -------------------------------------------------------------------------------- 1 |
2 | {{outlet}} 3 |
4 | -------------------------------------------------------------------------------- /app/templates/channels.hbs: -------------------------------------------------------------------------------- 1 | {{outlet}} 2 | -------------------------------------------------------------------------------- /app/templates/channels/-channel-members.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/channels/-channel-members.hbs -------------------------------------------------------------------------------- /app/templates/channels/-chat-message.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/channels/-chat-message.hbs -------------------------------------------------------------------------------- /app/templates/channels/-edit-nick.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/channels/-edit-nick.hbs -------------------------------------------------------------------------------- /app/templates/channels/-error-message.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/channels/-error-message.hbs -------------------------------------------------------------------------------- /app/templates/channels/-join-message.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/channels/-join-message.hbs -------------------------------------------------------------------------------- /app/templates/channels/-nick-message.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/channels/-nick-message.hbs -------------------------------------------------------------------------------- /app/templates/channels/-part-message.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/channels/-part-message.hbs -------------------------------------------------------------------------------- /app/templates/channels/connect.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/channels/connect.hbs -------------------------------------------------------------------------------- /app/templates/channels/new.hbs: -------------------------------------------------------------------------------- 1 | {{outlet}} 2 | -------------------------------------------------------------------------------- /app/templates/components/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/templates/components/channels/chat-input-box.hbs: -------------------------------------------------------------------------------- 1 | {{yield}} 2 | -------------------------------------------------------------------------------- /app/templates/home.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/templates/home.hbs -------------------------------------------------------------------------------- /app/utils/invalid-encryption-error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/utils/invalid-encryption-error.js -------------------------------------------------------------------------------- /app/utils/line-breaks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/utils/line-breaks.js -------------------------------------------------------------------------------- /app/utils/tag-urls.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/app/utils/tag-urls.js -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/bower.json -------------------------------------------------------------------------------- /config/environment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/config/environment.js -------------------------------------------------------------------------------- /ember-cli-build.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/ember-cli-build.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/package.json -------------------------------------------------------------------------------- /public/crossdomain.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/public/crossdomain.xml -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # http://www.robotstxt.org 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /qotr/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /qotr/channels.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/channels.py -------------------------------------------------------------------------------- /qotr/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/client.py -------------------------------------------------------------------------------- /qotr/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/config/__init__.py -------------------------------------------------------------------------------- /qotr/config/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/config/base.py -------------------------------------------------------------------------------- /qotr/config/development.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/config/development.py -------------------------------------------------------------------------------- /qotr/config/production.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/config/production.py -------------------------------------------------------------------------------- /qotr/config/test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/config/test.py -------------------------------------------------------------------------------- /qotr/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/exceptions.py -------------------------------------------------------------------------------- /qotr/handlers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/handlers/__init__.py -------------------------------------------------------------------------------- /qotr/handlers/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/handlers/base.py -------------------------------------------------------------------------------- /qotr/handlers/channel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/handlers/channel.py -------------------------------------------------------------------------------- /qotr/handlers/chat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/handlers/chat.py -------------------------------------------------------------------------------- /qotr/handlers/home.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/handlers/home.py -------------------------------------------------------------------------------- /qotr/handlers/static.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/handlers/static.py -------------------------------------------------------------------------------- /qotr/message.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/message.py -------------------------------------------------------------------------------- /qotr/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/server.py -------------------------------------------------------------------------------- /qotr/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /qotr/tests/base_async_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/tests/base_async_test.py -------------------------------------------------------------------------------- /qotr/tests/test_channel_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/tests/test_channel_handler.py -------------------------------------------------------------------------------- /qotr/tests/test_channels.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/tests/test_channels.py -------------------------------------------------------------------------------- /qotr/tests/test_chat_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/tests/test_chat_handler.py -------------------------------------------------------------------------------- /qotr/tests/test_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/tests/test_config.py -------------------------------------------------------------------------------- /qotr/tests/test_messages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/tests/test_messages.py -------------------------------------------------------------------------------- /qotr/tests/test_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/tests/test_server.py -------------------------------------------------------------------------------- /qotr/tests/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/qotr/tests/utils.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/requirements.txt -------------------------------------------------------------------------------- /runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.4.3 2 | -------------------------------------------------------------------------------- /testem.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/testem.json -------------------------------------------------------------------------------- /tests/.jshintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/.jshintrc -------------------------------------------------------------------------------- /tests/helpers/resolver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/helpers/resolver.js -------------------------------------------------------------------------------- /tests/helpers/start-app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/helpers/start-app.js -------------------------------------------------------------------------------- /tests/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/index.html -------------------------------------------------------------------------------- /tests/load-generator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/load-generator.js -------------------------------------------------------------------------------- /tests/load.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/load.sh -------------------------------------------------------------------------------- /tests/test-helper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/test-helper.js -------------------------------------------------------------------------------- /tests/unit/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/helpers/format-message-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/unit/helpers/format-message-test.js -------------------------------------------------------------------------------- /tests/unit/models/channel-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/unit/models/channel-test.js -------------------------------------------------------------------------------- /tests/unit/routes/channels/connect-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/unit/routes/channels/connect-test.js -------------------------------------------------------------------------------- /tests/unit/routes/channels/new-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/unit/routes/channels/new-test.js -------------------------------------------------------------------------------- /tests/unit/utils/invalid-encryption-error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/unit/utils/invalid-encryption-error.js -------------------------------------------------------------------------------- /tests/unit/utils/line-breaks-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/unit/utils/line-breaks-test.js -------------------------------------------------------------------------------- /tests/unit/utils/tag-urls-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/tests/unit/utils/tag-urls-test.js -------------------------------------------------------------------------------- /vendor/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/forge.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/vendor/forge.min.js -------------------------------------------------------------------------------- /vendor/regex-weburl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crodjer/qotr/HEAD/vendor/regex-weburl.js --------------------------------------------------------------------------------