├── .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
--------------------------------------------------------------------------------