diff --git a/.browserslistrc b/.browserslistrc index 54dd3aaf34..543ef47010 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -1,6 +1,5 @@ [production] defaults -not IE 11 not dead [development] diff --git a/.dockerignore b/.dockerignore index fedbea236d..42cd560cae 100644 --- a/.dockerignore +++ b/.dockerignore @@ -19,3 +19,4 @@ postgres14 redis elasticsearch chart +data diff --git a/app/javascript/flavours/glitch/styles/components/status.scss b/app/javascript/flavours/glitch/styles/components/status.scss index 4fb4fcc451..5a4d738c38 100644 --- a/app/javascript/flavours/glitch/styles/components/status.scss +++ b/app/javascript/flavours/glitch/styles/components/status.scss @@ -293,23 +293,28 @@ } } + +@mixin focusable { + outline: 0; + background: lighten($ui-base-color, 4%); + + &.status.status-direct { + background: lighten($ui-base-color, 12%); + + &.muted { + background: transparent; + } + } + + .detailed-status, + .detailed-status__action-bar { + background: lighten($ui-base-color, 8%); + } +} .focusable { - &:focus { - outline: 0; - background: lighten($ui-base-color, 4%); - - &.status.status-direct { - background: lighten($ui-base-color, 12%); - - &.muted { - background: transparent; - } - } - - .detailed-status, - .detailed-status__action-bar { - background: lighten($ui-base-color, 8%); - } + &:focus, + &:hover { + @include focusable; } } diff --git a/app/javascript/mastodon/features/ui/components/link_footer.js b/app/javascript/mastodon/features/ui/components/link_footer.js index 2b83d6378f..53d69656d2 100644 --- a/app/javascript/mastodon/features/ui/components/link_footer.js +++ b/app/javascript/mastodon/features/ui/components/link_footer.js @@ -79,8 +79,6 @@ class LinkFooter extends React.PureComponent { {' '} {' · '} - - {' · '} {' · '} diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 5bdc88d50b..e63e37c38a 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -33,11 +33,11 @@ module Mastodon end def repository - ENV.fetch('GITHUB_REPOSITORY', 'glitch-soc/mastodon') + ENV.fetch('GIT_REPOSITORY', false) || ENV.fetch('GITHUB_REPOSITORY', false) || 'treehouse/mastodon' end def source_base_url - ENV.fetch('SOURCE_BASE_URL', "https://github.com/#{repository}") + ENV.fetch('SOURCE_BASE_URL', "https://gitea.treehouse.systems/#{repository}") end # specify git tag or commit hash here @@ -46,8 +46,13 @@ module Mastodon end def source_url - if source_tag - "#{source_base_url}/tree/#{source_tag}" + if source_tag && source_base_url =~ /gitea/ + suffix = if !str[/\H/] + "commit/#{source_tag}" + else + "branch/#{source_tag}" + end + "#{source_base_url}/#{suffix}" else source_base_url end diff --git a/lib/tasks/deps.rake b/lib/tasks/deps.rake new file mode 100644 index 0000000000..2ebd8d5084 --- /dev/null +++ b/lib/tasks/deps.rake @@ -0,0 +1,109 @@ +# frozen_string_literal: true + +require 'pathname' + +DATA_DIR = Pathname.new('data') +POSTGRES_DIR = DATA_DIR / 'postgres' +POSTGRES_CONF_FILE = POSTGRES_DIR / 'postgresql.conf' +POSTGRES_SOCKET_FILE = POSTGRES_DIR / '.s.PGSQL.5432' +POSTGRES_PID_FILE = POSTGRES_DIR / 'postmaster.pid' +REDIS_DIR = DATA_DIR / 'redis' +REDIS_PID_FILE = REDIS_DIR / 'redis-dev.pid' + +def divider + puts '==========' +end + +def get_pid(pid_file) + return false unless File.file?(pid_file) + pid = File.read(pid_file).to_i + + Process.kill(0, pid) + pid +rescue Errno::ESRCH + nil +end + +def postgres_running? + get_pid POSTGRES_PID_FILE +end + +directory REDIS_DIR.to_s + +namespace :deps do + task start: ['postgres:start', 'redis:start'] + task stop: ['postgres:stop', 'redis:stop'] + + namespace :postgres do + namespace :setup do + task all: [POSTGRES_DIR.to_s] + + file POSTGRES_DIR.to_s do + if POSTGRES_CONF_FILE.exist? + puts 'Postgres conf exists, skipping initdb' + next + end + sh %(printf '%s\\n' pg_ctl -D data/postgres initdb -o '-U mastodon --auth-host=trust') + end + + task configure: [POSTGRES_DIR.to_s] do + next if File.foreach(POSTGRES_CONF_FILE).detect? { |line| line == /^unix_socket_directories = \.\s*$/ } + + POSTGRES_CONF_FILE.open('at') do |f| + f.write("\n", PG_SOCKET_DIRECTORIES_LINE, "\n") + end + end + end + + task start: ['setup:all'] do + if (pid = get_pid POSTGRES_PID_FILE) + puts "Postgres is running (pid #{pid})!" + next + end + + puts 'Starting postgres...' + divider + sh %(pg_ctl -D ./data/postgres start) + divider + end + + task :stop do + unless (pid = get_pid POSTGRES_PID_FILE) + puts "Postgres isn't running!" + next + end + + puts "Stopping Postgres (pid #{pid})..." + sh %(pg_ctl -D ./data/postgres stop) + divider + end + end + + namespace :redis do + task init: [REDIS_DIR.to_s] do + end + + task start: [:init] do + if (pid = get_pid REDIS_PID_FILE) + puts "Redis is running (pid #{pid})!" + next + end + + puts 'Starting redis...' + divider + sh %(redis-server redis-dev.conf) + divider + end + + task :stop do + unless (pid = get_pid REDIS_PID_FILE) + puts "Redis isn't running!" + next + end + + puts "Stopping Redis (pid #{pid})..." + divider + Process.kill(:TERM, pid) + end + end +end diff --git a/spec/presenters/instance_presenter_spec.rb b/spec/presenters/instance_presenter_spec.rb index f4c415d2f1..82aff5fa2c 100644 --- a/spec/presenters/instance_presenter_spec.rb +++ b/spec/presenters/instance_presenter_spec.rb @@ -87,8 +87,8 @@ describe InstancePresenter do end describe '#source_url' do - it 'returns "https://github.com/glitch-soc/mastodon"' do - expect(instance_presenter.source_url).to eq('https://github.com/glitch-soc/mastodon') + it 'returns the default URL' do + expect(instance_presenter.source_url).to eq('https://gitea.treehouse.systems/treehouse/mastodon') end end