summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md21
-rw-r--r--app/config.js2
-rw-r--r--app/models/user.js2
-rw-r--r--media/js/views/room.js1
-rw-r--r--media/js/views/window.js4
-rw-r--r--media/less/style/chat/browser.less9
-rw-r--r--media/less/style/chat/messages.less13
-rw-r--r--media/less/style/chat/rooms.less1
-rw-r--r--package.json2
-rw-r--r--templates/includes/js/room.html5
10 files changed, 52 insertions, 8 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7ae47a2..cc308d1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,24 @@
+## 0.3.12 (2015-05-19)
+
+Fixes
+
+* Multiple layout bugs due to overflowing content in Firefox
+* Layout issue introduced by Chrome 43
+
+## 0.3.11 (2015-05-19)
+
+Fixes
+
+* Env variable loading
+* Various notification adjustments
+
+Enhancements
+
+* Usernames may now contain underscores and dashes
+* Unicode character support for links in messages
+* Unread message counts in the favicon
+* Newlines with `shift+enter`
+
## 0.3.10 (2015-04-14)
Fixes
diff --git a/app/config.js b/app/config.js
index ba66917..dc34c8f 100644
--- a/app/config.js
+++ b/app/config.js
@@ -52,7 +52,7 @@ var pipeline = [
var providers = [];
var env = process.env.LCB_AUTH_PROVIDERS;
if (env) {
- providers = parseEnvValue(env);
+ providers = parseEnvValue(env, true);
} else {
providers = context.file.auth && context.file.auth.providers ||
context.defaults.auth && context.defaults.auth.providers;
diff --git a/app/models/user.js b/app/models/user.js
index 2db3190..5190d1e 100644
--- a/app/models/user.js
+++ b/app/models/user.js
@@ -72,7 +72,7 @@ var UserSchema = new mongoose.Schema({
trim: true,
lowercase: true,
unique: true,
- match: /^[^\.][a-z0-9_\.]+[^\.]$/i
+ match: /^[\w][\w\-\.]*[\w]$/i
},
displayName: {
type: String,
diff --git a/media/js/views/room.js b/media/js/views/room.js
index 8fb8f3d..e374c7a 100644
--- a/media/js/views/room.js
+++ b/media/js/views/room.js
@@ -257,6 +257,7 @@
},
sendMessage: function(e) {
if (e.type === 'keypress' && e.keyCode !== 13 || e.altKey) return;
+ if (e.type === 'keypress' && e.keyCode === 13 && e.shiftKey) return;
e.preventDefault();
if (!this.client.status.get('connected')) return;
var $textarea = this.$('.lcb-entry-input');
diff --git a/media/js/views/window.js b/media/js/views/window.js
index 525e5bd..872359a 100644
--- a/media/js/views/window.js
+++ b/media/js/views/window.js
@@ -72,7 +72,7 @@
}
},
onNewMessage: function(message) {
- if (this.focus || message.historical) {
+ if (this.focus || message.historical || message.owner.id === this.client.user.id) {
return;
}
this.countMessage(message);
@@ -176,7 +176,7 @@
});
},
onNewMessage: function(message) {
- if (this.focus || message.historical) {
+ if (this.focus || message.historical || message.owner.id === this.client.user.id) {
return;
}
this.createDesktopNotification(message);
diff --git a/media/less/style/chat/browser.less b/media/less/style/chat/browser.less
index 2c53f18..1db3ff1 100644
--- a/media/less/style/chat/browser.less
+++ b/media/less/style/chat/browser.less
@@ -158,3 +158,12 @@
outline: none;
}
}
+
+// Eugh Firefox
+@-moz-document url-prefix() {
+ .lcb-rooms-list-item {
+ width: 100%;
+ display: table;
+ table-layout: fixed;
+ }
+}
diff --git a/media/less/style/chat/messages.less b/media/less/style/chat/messages.less
index a182f99..f00320a 100644
--- a/media/less/style/chat/messages.less
+++ b/media/less/style/chat/messages.less
@@ -4,6 +4,12 @@
@messagePadding: 7px;
+.lcb-messages-outer {
+ background: #fff;
+ position: relative;
+ .flex(1);
+}
+
.lcb-messages {
background: #fff;
padding: 0;
@@ -12,6 +18,10 @@
-webkit-overflow-scrolling: touch;
.flex(1);
.transform(translate3d(0,0,0));
+ .lcb-messages-outer & {
+ .size(100%);
+ position: absolute;
+ }
}
.lcb-message {
@@ -106,6 +116,9 @@
// Eugh Firefox
@-moz-document url-prefix() {
.lcb-message-text {
+ width: 100%;
+ display: table;
+ table-layout: fixed;
word-break: break-all;
pre {
white-space: pre-wrap;
diff --git a/media/less/style/chat/rooms.less b/media/less/style/chat/rooms.less
index 41438de..fff09ef 100644
--- a/media/less/style/chat/rooms.less
+++ b/media/less/style/chat/rooms.less
@@ -97,7 +97,6 @@
}
.lcb-entry {
- background: #fff;
height: 70px;
border-top: 1px #eee solid;
.flex-display;
diff --git a/package.json b/package.json
index 3ea690a..9f56503 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "lets-chat",
- "version": "0.3.10",
+ "version": "0.3.12",
"description": "A chat app for small teams.",
"private": false,
"main": "app.js",
diff --git a/templates/includes/js/room.html b/templates/includes/js/room.html
index 8afe4ef..0dae496 100644
--- a/templates/includes/js/room.html
+++ b/templates/includes/js/room.html
@@ -30,8 +30,9 @@
</a>
</div>
</div><!-- lcb-room-header end -->
- <ul class="lcb-messages">
- </ul>
+ <div class="lcb-messages-outer">
+ <ul class="lcb-messages"></ul>
+ </div>
<form class="lcb-entry">
<textarea class="lcb-entry-input" placeholder="Got something to say?" autofocus></textarea>
<button type="submit" class="btn btn-info lcb-entry-button">Send</button>