Merge branch 'develop' into api-v3

This commit is contained in:
Blade Barringer
2016-03-08 19:25:50 -06:00
14 changed files with 43 additions and 23 deletions

2
.nvmrc
View File

@@ -1 +1 @@
4.2
4.3.1

View File

@@ -1,6 +1,6 @@
language: node_js
node_js:
- '4.2'
- '4.3.1'
before_install:
- "npm install -g npm@3"
- "npm install -g gulp"

View File

@@ -31,7 +31,7 @@
"commGuidePara013": "In a community as big as Habitica, users come and go, and sometimes a moderator needs to lay down their noble mantle and relax. The following are Moderators Emeritus. They no longer act with the power of a Moderator, but we would still like to honor their work!",
"commGuidePara014": "Moderators Emeritus:",
"commGuideHeadingPublicSpaces": "Public Spaces In Habitica",
"commGuidePara015": "Habitica has two kinds of social spaces: public, and private. Public spaces include the Tavern, Public Guilds, GitHub, Trello, and the Wiki. Private spaces are Private Guilds, party chat, and Private Messages.",
"commGuidePara015": "Habitica has two kinds of social spaces: public, and private. Public spaces include the Tavern, Public Guilds, GitHub, Trello, and the Wiki. Private spaces are Private Guilds, party chat, and Private Messages. All Display Names must comply with the public space guidelines. To change your Display Name, go on the website to User > Profile and click on the \"Edit\" button.",
"commGuidePara016": "When navigating the public spaces in Habitica, there are some general rules to keep everyone safe and happy. These should be easy for adventurers like you!",
"commGuidePara017": "<strong>Respect each other.</strong> Be courteous, kind, friendly, and helpful. Remember: Habiticans come from all backgrounds and have had wildly divergent experiences. This is part of what makes Habitica so cool! Building a community means respecting and celebrating our differences as well as our similarities. Here are some easy ways to respect each other:",
@@ -43,9 +43,9 @@
"commGuideList02F": "<strong>Comply immediately with any Mod request</strong> to cease a discussion or move it to the Back Corner. Last words, parting shots and conclusive zingers should all be delivered (courteously) at your \"table\" in the Back Corner, if allowed.",
"commGuideList02G": "<strong>Take time to reflect instead of responding in anger</strong> if someone tells you that something you said or did made them uncomfortable. There is great strength in being able to sincerely apologize to someone. If you feel that the way they responded to you was inappropriate, contact a mod rather than calling them out on it publicly.",
"commGuideList02H": "<strong>Divisive/contentious conversations should be reported to mods.</strong> If you feel that a conversation is getting heated, overly emotional, or hurtful, cease to engage. Instead, email <a href=\"mailto:leslie@habitica.com\">leslie@habitica.com</a> to let us know about it. It's our job to keep you safe.",
"commGuideList02I": "<strong>Do not spam.</strong> Spamming may include, but is not limited to: posting the same comment or query in multiple places, posting links without explanation or context, posting nonsensical messages, or posting many messages in a row. Repeatedly begging for gems or a subscription may also be considered spamming.",
"commGuideList02I": "<strong>Do not spam.</strong> Spamming may include, but is not limited to: posting the same comment or query in multiple places, posting links without explanation or context, posting nonsensical messages, or posting many messages in a row. Asking for gems or a subscription in any of the chat spaces or via Private Message is also considered spamming.",
"commGuidePara019": "<strong>In private spaces,</strong> users have more freedom to discuss whatever topics they would like, but they still may not violate the Terms and Conditions, including posting any discriminatory, violent, or threatening content.",
"commGuidePara019": "<strong>In private spaces,</strong> users have more freedom to discuss whatever topics they would like, but they still may not violate the Terms and Conditions, including posting any discriminatory, violent, or threatening content. Note that, because Challenge names appear in the winner's public profile, ALL Challenge names must obey the public space guidelines, even if they appear in a private space.",
"commGuidePara020": "Private Messages (PMs) have some additional guidelines. If someone has blocked you, do not contact them elsewhere to ask them to unblock you. Additionally, you should not send PMs to someone asking for support (since public answers to support questions are helpful to the community). Finally, do not send anyone PMs begging for a gift of gems or a subscription, as this can be considered spamming.",
"commGuidePara021": "Furthermore, some public spaces in Habitica have additional guidelines.",
"commGuideHeadingTavern": "The Tavern",

View File

@@ -2,7 +2,13 @@ import t from './translation';
const NUMBER_OF_QUESTIONS = 12;
export const questions = [];
let faq = {
questions: [],
stillNeedHelp: {
ios: t('iosFaqStillNeedHelp'),
web: t('webFaqStillNeedHelp'),
},
};
for (let i = 0; i <= NUMBER_OF_QUESTIONS; i++) {
let question = {
@@ -11,10 +17,7 @@ for (let i = 0; i <= NUMBER_OF_QUESTIONS; i++) {
web: t(`webFaqAnswer${i}`),
};
questions.push(question);
faq.questions.push(question);
}
export const stillNeedHelp = {
ios: t('iosFaqStillNeedHelp'),
web: t('webFaqStillNeedHelp'),
};
module.exports = faq;

View File

@@ -93,7 +93,7 @@
},
"private": true,
"engines": {
"node": "^4.2.1",
"node": "^4.3.1",
"npm": "^3.3.10"
},
"scripts": {

View File

@@ -52,7 +52,7 @@
color: #999
.tavern-chat, .party-chat
li
padding-top:15px
padding-bottom:15px
@@ -112,6 +112,21 @@
padding-top:0px
padding-bottom:0px
blockquote
padding: 0 15px
color: #777
border-left: 4px solid #ddd
margin: 5px 0px 5px 0px
font-size: 14px
p
&:first-child
display: block
line-height: 1.3em
margin-bottom: 0.7em
&>:last-child
margin-bottom: 0
.panel-tiers
div
display: none

View File

@@ -39,7 +39,7 @@ habitrpg.controller('ChatCtrl', ['$scope', 'Groups', 'Chat', 'User', '$http', 'A
Analytics.updateUser({'partyID':group.id,'partySize':group.memberCount});
}
if (group.privacy == 'public'){
Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'group chat','groupType':group.type,'privacy':group.privacy,'groupName':group.name,'message':message});
Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'group chat','groupType':group.type,'privacy':group.privacy,'groupName':group.name});
} else {
Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'group chat','groupType':group.type,'privacy':group.privacy});
}

View File

@@ -54,7 +54,7 @@ habitrpg.controller("GuildsCtrl", ['$scope', 'Groups', 'User', 'Challenges', '$r
$scope.clickLeave = function(group, $event){
$scope.selectedGroup = group;
$scope.popoverEl = $($event.target);
$scope.popoverEl = $($event.target).closest('.btn');
var html, title;
Challenges.Challenge.query(function(challenges) {
challenges = _.pluck(_.filter(challenges, function(c) {

View File

@@ -50,7 +50,7 @@ habitrpg.controller("PartyCtrl", ['$rootScope','$scope','Groups','Chat','User','
$scope.clickLeave = function(group, $event){
Analytics.track({'hitType':'event','eventCategory':'button','eventAction':'click','eventLabel':'Leave Party'});
$scope.selectedGroup = group;
$scope.popoverEl = $($event.target);
$scope.popoverEl = $($event.target).closest('.btn');
var html, title;
Challenges.Challenge.query(function(challenges) {
challenges = _.pluck(_.filter(challenges, function(c) {

View File

@@ -49,7 +49,7 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$
}
// styling helpers
$scope.userLevelStyle = function(user,style){
$rootScope.userLevelStyle = function(user,style){
style = style || '';
var npc = (user && user.backer && user.backer.npc) ? user.backer.npc : '';
var level = (user && user.contributor && user.contributor.level) ? user.contributor.level : '';

View File

@@ -4,7 +4,9 @@ var limiter = require('connect-ratelimit');
var IS_PROD = nconf.get('NODE_ENV') === 'production';
module.exports = function(app) {
if (!IS_PROD) return;
// TODO review later
// disable the rate limiter middleware
if (/*!IS_PROD || */true) return;
app.use(limiter({
end:false,
categories:{
@@ -19,4 +21,4 @@ module.exports = function(app) {
if (res.ratelimit.exceeded) return res.json(429,{err:'Rate limit exceeded'});
next();
});
};
};

View File

@@ -1,6 +1,6 @@
div.chat-form.guidelines-not-accepted(ng-if='!user.flags.communityGuidelinesAccepted')
p!=env.t('requestAcceptGuidelines', {linkStart: '<a target="_blank", href="/static/community-guidelines">', linkEnd: '</a>'})
.chat-controls
.chat-controls.clearfix
div
button.btn.btn-warning(ng-click='acceptCommunityGuidelines()')=env.t('iAcceptCommunityGuidelines')
.chat-buttons

View File

@@ -83,7 +83,7 @@
a.label.label-contributor-1(ng-click='toggleUserTier($event)')=env.t('tier') + ' 1 (' + env.t('friend') + ')'
div
p
span.achievement.achievement-firefox
span.achievement.achievement-boot
!=env.t('friendFirst')
tr
td

View File

@@ -28,8 +28,8 @@ block content
p.pagemeta
=env.t('lastUpdated')
|&nbsp;
=env.t('May')
|&nbsp;27&comma; 2015
=env.t('February')
|&nbsp;28&comma; 2016
h2#welcome=env.t('commGuideHeadingWelcome')
.clearfix
img.pull-left(src='/community-guidelines-images/intro.png', alt='')