Этот коммит содержится в:
Christopher Speller
2016-03-14 07:17:31 -04:00
родитель 975159b52a 72ed22d742
Коммит bf7ae07117
20 изменённых файлов: 123 добавлений и 56 удалений

Двоичные данные
docker/1.4/Dockerrun.aws.zip

Двоичный файл не отображается.

Просмотреть файл

@@ -34,8 +34,8 @@ VOLUME /var/lib/mysql
WORKDIR /mattermost
# Copy over files
ADD https://github.com/mattermost/platform/releases/download/v1.4.0/mattermost.tar.gz /
RUN tar -zxvf /mattermost.tar.gz --strip-components=1 && rm /mattermost.tar.gz
ADD https://releases.mattermost.com/2.1.0-rc1/mattermost-team-2.1.0-rc1-linux-amd64.tar.gz /
RUN tar -zxvf /mattermost-team-2.1.0-rc1-linux-amd64.tar.gz --strip-components=1 && rm /mattermost-team-2.1.0-rc1-linux-amd64.tar.gz
ADD config_docker.json /
ADD docker-entry.sh /

Двоичные данные
docker/2.1/Dockerrun.aws.zip Обычный файл

Двоичный файл не отображается.

Просмотреть файл

@@ -1,7 +1,7 @@
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "mattermost/platform:1.4",
"Name": "mattermost/platform:2.1",
"Update": "true"
},
"Ports": [

Просмотреть файл

Просмотреть файл

@@ -7,11 +7,14 @@
"EnableOAuthServiceProvider": false,
"EnableIncomingWebhooks": false,
"EnableOutgoingWebhooks": false,
"EnableCommands": false,
"EnableOnlyAdminIntegrations": true,
"EnablePostUsernameOverride": false,
"EnablePostIconOverride": false,
"EnableTesting": false,
"EnableDeveloper": false,
"EnableSecurityFixAlert": true,
"EnableInsecureOutgoingConnections": false,
"SessionLengthWebInDays" : 30,
"SessionLengthMobileInDays" : 30,
"SessionLengthSSOInDays" : 30,
@@ -66,6 +69,8 @@
},
"EmailSettings": {
"EnableSignUpWithEmail": true,
"EnableSignInWithEmail": true,
"EnableSignInWithUsername": false,
"SendEmailNotifications": false,
"RequireEmailVerification": false,
"FeedbackName": "",

Просмотреть файл

Просмотреть файл

@@ -456,8 +456,8 @@
"translation": "S3 não é suportado para o armazenamento local de exportação."
},
{
"id": "api.export.write_file.app_error",
"translation": "Não é possível gravar para exportar arquivo"
"id": "api.file.file_upload.exceeds",
"translation": "Arquivo excede o máximo de tamanho de imagem."
},
{
"id": "api.file.file_upload.exceeds",
@@ -507,6 +507,22 @@
"id": "api.file.init.debug",
"translation": "Inicializando file api routes"
},
{
"id": "api.file.move_file.configured.app_error",
"translation": "Armazenamento de arquivos não está configurado corretamente, Por favor configure S3 ou armazenamento de arquivos no servidor local."
},
{
"id": "api.file.move_file.delete_from_s3.app_error",
"translation": "Não é possível deletar o arquivo a partir do S3."
},
{
"id": "api.file.move_file.get_from_s3.app_error",
"translation": "Não é possível obter o arquivo a partir do S3."
},
{
"id": "api.file.move_file.rename.app_error",
"translation": "Não foi possível mover o arquivo localmente."
},
{
"id": "api.file.open_file_write_stream.configured.app_error",
"translation": "Armazenamento de arquivos não está configurado corretamente, Por favor configure S3 ou armazenamento de arquivos no servidor local."
@@ -1205,7 +1221,7 @@
},
{
"id": "api.templates.signin_change_email.body.title",
"translation": "Você atualizou seu método de acesso"
"translation": "Você atualizou seu método de login"
},
{
"id": "api.templates.signup_team_body.button",
@@ -1225,7 +1241,7 @@
},
{
"id": "api.templates.singin_change_email.body.info",
"translation": "Você atualizou seu método de inscrição para {{.TeamDisplayName}} no {{ .TeamURL }} para {{.Method}}.<br>Se esta mudança não foi iniciada por você, por favor entre em contato com o administrador do sistema."
"translation": "Você atualizou seu método de login para {{.TeamDisplayName}} no {{ .TeamURL }} para {{.Method}}.<br>Se esta mudança não foi iniciada por você, por favor entre em contato com o administrador do sistema."
},
{
"id": "api.templates.singin_change_email.subject",
@@ -1257,7 +1273,7 @@
},
{
"id": "api.templates.welcome_body.info2",
"translation": "Você pode acessar sua nova equipe pelo endereço web:"
"translation": "Você pode fazer login sua nova equipe pelo endereço web:"
},
{
"id": "api.templates.welcome_body.info3",
@@ -1333,7 +1349,7 @@
},
{
"id": "api.user.create_oauth_user.already_used.app_error",
"translation": "Está conta {{.Service}} já foi utilizada para logar na equipe {{.DisplayName}}"
"translation": "Está conta {{.Service}} já foi utilizada para se inscrever na equipe {{.DisplayName}}"
},
{
"id": "api.user.create_oauth_user.create.app_error",
@@ -1357,7 +1373,7 @@
},
{
"id": "api.user.create_user.accepted_domain.app_error",
"translation": "O email que você forneceu não pertence a um domínio aceito. Por favor contacte o seu administrador ou entre com um email diferente."
"translation": "O email que você forneceu não pertence a um domínio aceito. Por favor contacte o seu administrador ou se inscreve com um email diferente."
},
{
"id": "api.user.create_user.joining.error",
@@ -1373,11 +1389,11 @@
},
{
"id": "api.user.create_user.signup_link_expired.app_error",
"translation": "O link de acesso expirou"
"translation": "O link de inscrição expirou"
},
{
"id": "api.user.create_user.signup_link_invalid.app_error",
"translation": "O link de acesso não parece ser válido"
"translation": "O link de inscrição não parece ser válido"
},
{
"id": "api.user.create_user.team_name.app_error",

Просмотреть файл

@@ -13,6 +13,7 @@ import (
// It should be maitained in chronological order with most current
// release at the front of the list.
var versions = []string{
"2.1.0",
"2.0.0",
"1.4.0",
"1.3.0",

Просмотреть файл

@@ -49,6 +49,8 @@ export default class Login extends React.Component {
const teamDisplayName = currentTeam.display_name;
const teamName = currentTeam.name;
const ldapEnabled = global.window.mm_config.EnableLdap === 'true';
const usernameSigninEnabled = global.window.mm_config.EnableSignInWithUsername === 'true';
let loginMessage = [];
if (global.window.mm_config.EnableSignUpWithGitLab === 'true') {
@@ -209,6 +211,22 @@ export default class Login extends React.Component {
);
}
if (ldapEnabled && (loginMessage.length > 0 || emailSignup || usernameSigninEnabled)) {
ldapLogin = (
<div>
<div className='or__container'>
<FormattedMessage
id='login.or'
defaultMessage='or'
/>
</div>
<LoginLdap
teamName={teamName}
/>
</div>
);
}
let usernameLogin = null;
if (global.window.mm_config.EnableSignInWithUsername === 'true') {
usernameLogin = (
@@ -218,6 +236,22 @@ export default class Login extends React.Component {
);
}
if (usernameSigninEnabled && (loginMessage.length > 0 || emailSignup || ldapEnabled)) {
usernameLogin = (
<div>
<div className='or__container'>
<FormattedMessage
id='login.or'
defaultMessage='or'
/>
</div>
<LoginUsername
teamName={teamName}
/>
</div>
);
}
return (
<div>
<div className='signup-header'>

Просмотреть файл

@@ -112,24 +112,32 @@ export default class PostBodyAdditionalContent extends React.Component {
}
render() {
var generateEmbed = this.generateEmbed();
const generateEmbed = this.generateEmbed();
if (generateEmbed) {
return (
<div>
let toggle;
if (Utils.isFeatureEnabled(Constants.PRE_RELEASE_FEATURES.EMBED_TOGGLE)) {
toggle = (
<a className='post__embed-visibility'
data-expanded={this.state.embedVisible}
aria-label='Toggle Embed Visibility'
onClick={this.toggleEmbedVisibility}
>
</a>
/>
);
}
return (
<div>
{toggle}
<div className='post__embed-container'
hidden={!this.state.embedVisible}
>
{generateEmbed}
</div>
</div>
);
);
}
return null;
}
}

Просмотреть файл

@@ -61,7 +61,7 @@ export default class Textbox extends React.Component {
onRecievedError() {
const errorCount = ErrorStore.getConnectionErrorCount();
if (errorCount > 0) {
if (errorCount > 1) {
this.setState({connection: 'bad-connection'});
} else {
this.setState({connection: ''});

Просмотреть файл

@@ -253,6 +253,8 @@ class CustomThemeChooser extends React.Component {
</div>
</div>
);
colors += theme[element.id] + ',';
} else if (element.group === 'sidebarElements') {
sidebarElements.push(
<div

Просмотреть файл

@@ -31,6 +31,7 @@ class SocketStoreClass extends EventEmitter {
this.close = this.close.bind(this);
this.failCount = 0;
this.isInitialize = false;
this.translations = this.getDefaultTranslations();
@@ -54,24 +55,23 @@ class SocketStoreClass extends EventEmitter {
if (this.failCount === 0) {
console.log('websocket connecting to ' + connUrl); //eslint-disable-line no-console
if (ErrorStore.getConnectionErrorCount() > 0) {
ErrorStore.setConnectionErrorCount(0);
ErrorStore.emitChange();
}
}
conn = new WebSocket(connUrl);
conn.onopen = () => {
if (this.failCount > 0) {
console.log('websocket re-established connection'); //eslint-disable-line no-console
ErrorStore.clearLastError();
ErrorStore.emitChange();
AsyncClient.getChannels();
AsyncClient.getPosts(ChannelStore.getCurrentId());
}
if (this.isInitialize) {
ErrorStore.clearLastError();
ErrorStore.emitChange();
}
this.isInitialize = true;
this.failCount = 0;
};

Просмотреть файл

@@ -270,7 +270,7 @@ export default {
buttonColor: '#FFFFFF',
mentionHighlightBg: '#984063',
mentionHighlightLink: '#A4FFEB',
codeTheme: 'solarized_dark'
codeTheme: 'solarized-dark'
},
windows10: {
type: 'Windows Dark',
@@ -373,21 +373,6 @@ export default {
id: 'newMessageSeparator',
uiName: 'New Message Separator'
},
{
group: 'linkAndButtonElements',
id: 'linkColor',
uiName: 'Link Color'
},
{
group: 'linkAndButtonElements',
id: 'buttonBg',
uiName: 'Button BG'
},
{
group: 'linkAndButtonElements',
id: 'buttonColor',
uiName: 'Button Text'
},
{
group: 'centerChannelElements',
id: 'mentionHighlightBg',
@@ -404,11 +389,11 @@ export default {
uiName: 'Code Theme',
themes: [
{
id: 'solarized_dark',
id: 'solarized-dark',
uiName: 'Solarized Dark'
},
{
id: 'solarized_light',
id: 'solarized-light',
uiName: 'Solarized Light'
},
{
@@ -420,6 +405,21 @@ export default {
uiName: 'Monokai'
}
]
},
{
group: 'linkAndButtonElements',
id: 'linkColor',
uiName: 'Link Color'
},
{
group: 'linkAndButtonElements',
id: 'buttonBg',
uiName: 'Button BG'
},
{
group: 'linkAndButtonElements',
id: 'buttonColor',
uiName: 'Button Text'
}
],
DEFAULT_CODE_THEME: 'github',

Просмотреть файл

@@ -573,8 +573,7 @@
.glyphicon-refresh-animate {
right: 33px;
top: 15px;
color: #fff;
color: rgba(255,255,255,0.5);
color: #aaa;
}
.form-control {
border: none;

Просмотреть файл

@@ -27,7 +27,7 @@
"admin.email.allowEmailSignInDescription": "Quando verdadeiro, Mattermost permite aos usuários fazer login usando o e-mail e senha.",
"admin.email.allowEmailSignInTitle": "Permitir Login Com E-mail: ",
"admin.email.allowSignupDescription": "Quando verdadeiro, Mattermost permite a criação de equipe e conta de inscrição através de e-mail e senha. Este valor deve ser falso somente quando você deseja limitar a entrada para o single-sign-on service como OAuth ou LDAP.",
"admin.email.allowSignupTitle": "Permitir Login com E-Mail: ",
"admin.email.allowSignupTitle": "Permitir Inscrição com E-Mail: ",
"admin.email.allowUsernameSignInDescription": "Quando verdadeiro, Mattermost permite os usuários fazer login usando seu nome de usuário e senha. Esta configuração é normalmente utilizado apenas quando a verificação de e-mail está desativada.",
"admin.email.allowUsernameSignInTitle": "Permitir Login Com Usuário: ",
"admin.email.connectionSecurityNone": "Nenhum",
@@ -44,7 +44,7 @@
"admin.email.false": "falso",
"admin.email.inviteSaltDescription": "32-caracteres salt adicionados a assinatura de convites por e-mail. Aleatoriamente gerados na instalação. Click \"Re-Gerar\" para criar um novo salt.",
"admin.email.inviteSaltExample": "Ex \"bjlSR4QqkXFBr7TP4oDzlfZmcNuH9Yo\"",
"admin.email.inviteSaltTitle": "Convidar Salt:",
"admin.email.inviteSaltTitle": "Salt Convite:",
"admin.email.notificationDisplayDescription": "Mostra o nome da conta de e-mail usada quando a notificação de e-mail é enviado do Mattermost.",
"admin.email.notificationDisplayExample": "Ex: \"Mattermost Notificação\", \"Sistema\", \"Não-Responda\"",
"admin.email.notificationDisplayTitle": "Notificação Nome de Exibição:",
@@ -192,11 +192,13 @@
"admin.ldap.usernameAttrEx": "Ex \"sAMAccountName\"",
"admin.ldap.usernameAttrTitle": "Atributo do Usuário:",
"admin.licence.keyMigration": "Se você estiver migrando seu servidor você pode precisar remover sua chave da licença deste servidor a pedido para instala-la em um novo servidor. Para iniciar, <a href=\"http://mattermost.com\" target=\"_blank\">desativar todos os recursos Enterprise Edition deste servidor</a>. Isto irá habilitar para remover a chave da licença e fazer downgrade deste servidor Enterprise Edition para Team Edition.",
"admin.license.chooseFile": "Escolha um Arquivo",
"admin.license.edition": "Edição: ",
"admin.license.enterpriseEdition": "Mattermost Enterprise Edition. Desenvolvido para escala empresarial de comunicação.",
"admin.license.enterpriseType": "<div><p>Esta versão compilada da plataforma Mattermost é fornecida sob a <a href=\"http://mattermost.com\" target=\"_blank\">licença comercial</a> para Mattermost, Inc. com base em seu nível de subscrição e está sujeito a <a href=\"{terms}\" target=\"_blank\">Termos de Serviço.</a></p><p>Os detalhes de sua assinatura, são como segue:</p>Nome: {name}<br />Nome da Empresa ou organização: {company}<br/>Número de usuários: {users}<br/>Licença emitida: {issued}<br/>Data de Início da licença: {start}<br/>Data de expiração da licença: {expires}<br/>LDAP: {ldap}<br/></div>",
"admin.license.key": "Chave da Licença: ",
"admin.license.keyRemove": "Remover a Licença Enterprise e fazer Downgrade do Servidor",
"admin.license.noFile": "Nenhum arquivo enviado",
"admin.license.removing": "Removendo a Licença...",
"admin.license.teamEdition": "Mattermost Team Edition. Desenvolvido para equipes de 5 a 50 usuários.",
"admin.license.teamType": "<span><p>Esta versão compilada da plataforma Mattermost é oferecido sob uma licença MIT.</p><p>Ver MIT-COMPILED-LICENSE.txt no raiz do diretório de instalação para obter detalhes. Ver NOTICES.txt para obter informações sobre o software open source usados neste sistema.</p></span>",
@@ -206,7 +208,7 @@
"admin.license.uploadDesc": "Enviar uma chave da licença para Mattermost Enterprise Edition para fazer upgrade deste servidor. <a href=\"http://mattermost.com\" target=\"_blank\">Visite-nos online</a> para saber mais sobre os beneficios da Enterprise Edition ou para comprar uma chave.",
"admin.license.uploading": "Enviando Licença...",
"admin.log.consoleDescription": "Normalmente definido como falso em produção. Os desenvolvedores podem definir este campo como verdadeiro para mensagens de log de saída no console baseado na opção de nível de console. Se verdadeiro, o servidor escreve mensagens para o fluxo de saída padrão (stdout).",
"admin.log.consoleTitle": "Log Do Console: ",
"admin.log.consoleTitle": "Log Para o Console: ",
"admin.log.false": "falso",
"admin.log.fileDescription": "Normalmente definido como verdadeiro em produção. Quando verdadeiro, arquivos de log são gravados no arquivo de log especificado no campo de localização abaixo.",
"admin.log.fileLevelDescription": "Esta configuração determina o nível de detalhe que são gravados no log de eventos no console. ERROR: Saídas somente mensagens de erro. INFO: Saídas de mensagens de erro e informações em torno de inicialização. DEBUG: Impressões de alto detalhe para desenvolvedores que trabalham na depuração de problemas.",
@@ -696,7 +698,7 @@
"general_tab.regenerate": "Re-Gerar",
"general_tab.required": "Este campo é obrigatório",
"general_tab.teamName": "Nome da Equipe",
"general_tab.teamNameInfo": "Defina o nome da equipe como aparece na sua tela inicial e no topo na lateral esquerda.",
"general_tab.teamNameInfo": "Defina o nome da equipe como aparece na sua tela de login e no topo na lateral esquerda.",
"general_tab.title": "Definições Gerais",
"general_tab.yes": "Sim",
"get_link.clipboard": " Link copiado para a área de transferência.",
@@ -754,7 +756,7 @@
"login.noAccount": "Não tem uma conta? ",
"login.on": "no {siteName}",
"login.or": "ou",
"login.signTo": "Entrar em:",
"login.signTo": "Login em:",
"login.verified": " Email Verificado",
"login_email.badTeam": "Nome ruim de equipe",
"login_email.email": "E-mail",
@@ -948,7 +950,7 @@
"signup_user_completed.chooseUser": "Escolha o seu nome de usuário",
"signup_user_completed.create": "Criar Conta",
"signup_user_completed.emailHelp": "Email valido necessário para inscrição",
"signup_user_completed.emailIs": "Seu endereço de e-mail é <strong>{email}</strong>. Você irá usar esse endereço para entrar em {siteName}.",
"signup_user_completed.emailIs": "Seu endereço de e-mail é <strong>{email}</strong>. Você irá usar esse endereço para logar no {siteName}.",
"signup_user_completed.expired": "Você já concluiu o processo de inscrição para este convite ou este convite expirou.",
"signup_user_completed.gitlab": "com GitLab",
"signup_user_completed.google": "com Google",
@@ -1012,7 +1014,7 @@
"team_signup_display_name.required": "Este campo é obrigatório",
"team_signup_display_name.teamName": "Nome Da Equipe",
"team_signup_email.address": "Endereço de E-mail",
"team_signup_email.different": "Por favor, use um e-mail diferente do que o usado no login",
"team_signup_email.different": "Por favor, use um e-mail diferente do que o usado na inscrição",
"team_signup_email.validEmail": "Por favor entre um endereço de e-mail válido",
"team_signup_password.agreement": "Ao prosseguir para criar sua conta e usar {siteName}, você concorda com nosso <a href='/static/help/terms.html'>Termo de Serviço</a> e <a href='/static/help/privacy.html'>Politica de Privacidade</a>. Se você não concorda, você não pode usar {siteName}.",
"team_signup_password.back": "Voltar para o passo anterior",
@@ -1285,7 +1287,7 @@
"user.settings.security.logoutActiveSessions": "Ver e fazer Logout das Sessões Ativas",
"user.settings.security.method": "Método de Login",
"user.settings.security.newPassword": "Nova Senha",
"user.settings.security.oneSignin": "Você pode ter somente um método de inscrição por vez. Trocando o método de inscrição será enviado um email de notificação se você alterar com sucesso.",
"user.settings.security.oneSignin": "Você pode ter somente um método de login por vez. Trocando o método de login será enviado um email de notificação se você alterar com sucesso.",
"user.settings.security.password": "Senha",
"user.settings.security.passwordLengthError": "Novas senhas precisam ter pelo menos {chars} characters",
"user.settings.security.passwordMatchError": "As novas senhas que você inseriu não correspondem",
@@ -1301,4 +1303,4 @@
"view_image_popover.download": "Download",
"view_image_popover.file": "Arquivo {count} de {total}",
"view_image_popover.publicLink": "Obter O Link Público"
}
}

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 80 KiB

После

Ширина:  |  Высота:  |  Размер: 80 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 81 KiB

После

Ширина:  |  Высота:  |  Размер: 81 KiB