Compare commits

..

13 Commits

Author SHA1 Message Date
fox 5fcf5cb0d4 treehouse Vagrantfile init
ci/woodpecker/push/woodpecker Pipeline failed Details
2022-12-15 11:57:06 -06:00
Rin 9c92ed320d make glitch style consistent 2022-12-15 10:46:16 -06:00
Rin 4528c8e848 make default masto style consistent 2022-12-15 10:46:16 -06:00
Rin 0a65c80101 fix default masto style too 2022-12-15 10:46:16 -06:00
Rin 3d36e7d938 fix missing link style in admin.scss - actually this time 2022-12-15 10:46:16 -06:00
Rin 4f15bcc3c1
force psych <4 in Gemfile
ci/woodpecker/push/woodpecker Pipeline failed Details
2022-12-06 03:46:11 +11:00
kouhai dev 8845b5e17b add deps rake tasks
ci/woodpecker/push/woodpecker Pipeline failed Details
2022-12-04 20:35:43 -08:00
kouhai dev 0180179a72 update default repository/source metadata 2022-12-04 20:35:43 -08:00
kouhai dev 31a8e0eff5 use yarn 3 2022-11-27 23:49:19 -06:00
kouhai dev 26fd5a792c update browserslist 2022-11-27 23:49:19 -06:00
kouhai dev d9f0f85508 update dockerignore 2022-11-27 23:49:19 -06:00
kouhai dev 4dcc0fb769 temporarily remove "Get the app" link" 2022-11-27 23:49:19 -06:00
kouhai dev 2936b4a725 quick status hover hack 2022-11-27 23:49:18 -06:00
12 changed files with 16351 additions and 12294 deletions

View File

@ -1,6 +1,5 @@
[production] [production]
defaults defaults
not IE 11
not dead not dead
[development] [development]

View File

@ -19,3 +19,4 @@ postgres14
redis redis
elasticsearch elasticsearch
chart chart
data

View File

@ -3,6 +3,9 @@
source 'https://rubygems.org' source 'https://rubygems.org'
ruby '>= 2.6.0', '< 3.1.0' ruby '>= 2.6.0', '< 3.1.0'
gem 'psych', '< 4'
gem 'pkg-config', '~> 1.4' gem 'pkg-config', '~> 1.4'
gem 'rexml', '~> 3.2' gem 'rexml', '~> 3.2'

View File

@ -478,6 +478,7 @@ GEM
pry (>= 0.13, < 0.15) pry (>= 0.13, < 0.15)
pry-rails (0.3.9) pry-rails (0.3.9)
pry (>= 0.10.4) pry (>= 0.10.4)
psych (3.3.4)
public_suffix (5.0.0) public_suffix (5.0.0)
puma (5.6.5) puma (5.6.5)
nio4r (~> 2.0) nio4r (~> 2.0)
@ -813,6 +814,7 @@ DEPENDENCIES
private_address_check (~> 0.5) private_address_check (~> 0.5)
pry-byebug (~> 3.10) pry-byebug (~> 3.10)
pry-rails (~> 0.3) pry-rails (~> 0.3)
psych (< 4)
puma (~> 5.6) puma (~> 5.6)
pundit (~> 2.2) pundit (~> 2.2)
rack (~> 2.2.4) rack (~> 2.2.4)
@ -858,3 +860,9 @@ DEPENDENCIES
webpacker (~> 5.4) webpacker (~> 5.4)
webpush! webpush!
xorcist (~> 1.1) xorcist (~> 1.1)
RUBY VERSION
ruby 3.0.4p208
BUNDLED WITH
2.3.26

56
Vagrantfile vendored
View File

@ -13,8 +13,11 @@ end
$provision = <<SCRIPT $provision = <<SCRIPT
# see SETUP.md for details # see SETUP.md for details
# packages export RAILS_ENV=development
#all | sudo pacman -Syu --noconfirm base-devel export NODE_ENV=development
export NODE_OPTIONS=--openssl-legacy-provider
echo '[treehouse-vagrant] install packages'
sudo pacman -Syu --noconfirm base-devel git libidn sudo pacman -Syu --noconfirm base-devel git libidn
sudo pacman -Syu --noconfirm ruby ruby-bundler ruby-irb redis postgresql yarn sudo pacman -Syu --noconfirm ruby ruby-bundler ruby-irb redis postgresql yarn
git clone https://aur.archlinux.org/ruby-foreman.git git clone https://aur.archlinux.org/ruby-foreman.git
@ -24,42 +27,51 @@ yes | sudo -u vagrant makepkg -si
# treehouse mastodon files are synced here # treehouse mastodon files are synced here
cd /vagrant cd /vagrant
## database echo '[treehouse-vagrant] init database'
if [ -d "data/" ]; then rm -rf data/; fi if [ -d "data/" ]; then rm -rf data/; fi
mkdir -p data/ mkdir -p data/
pg_ctl -D data/postgres initdb -o '-U mastodon --auth-host=trust' pg_ctl -D data/postgres initdb -o '-U mastodon --auth-host=trust'
echo 'unix_socket_directories = .' >> data/postgres/postgresql.conf echo 'unix_socket_directories = .' >> data/postgres/postgresql.conf
pg_ctl -D data/postgres start --silent pg_ctl -D data/postgres start --silent
# redis echo '[treehouse-vagrant] start redis'
mkdir -p data/redis mkdir -p data/redis
redis-server ./redis-dev.conf redis-server ./redis-dev.conf
# ruby echo '[treehouse-vagrant] bundle install'
export RAILS_ENV=development
if [ -d "vendor/bundle/" ]; then rm -rf vendor/bundle/; fi if [ -d "vendor/bundle/" ]; then rm -rf vendor/bundle/; fi
bundle config set --local path 'vendor/bundle/' bundle config set --local path 'vendor/bundle/'
bundle install bundle install
echo '[treehouse-vagrant] yarn install'
yarn add webpack
git restore package.json yarn.lock
yarn install yarn install
bundle exec rake db:setup
# run mastodon echo '[treehouse-vagrant] bundle db'
export NODE_ENV=development bundle exec rake db:setup || exit
bundle exec rake assets:precompile
echo '[treehouse-vagrant] bundle assets'
bundle exec rake assets:precompile || exit
echo '[treehouse-vagrant] foreman start'
foreman start foreman start
SCRIPT SCRIPT
$start = <<SCRIPT # TODO: allow `vagrant up`
# this requires persistent storage
export NODE_ENV=development # i.e., not saving data, assets, etc to /vagrant
export RAILS_ENV=development #$start = <<SCRIPT
cd /vagrant #
pg_ctl -D data/postgres start --silent #export NODE_ENV=development
redis-server ./redis-dev.conf #export RAILS_ENV=development
foreman start #cd /vagrant
#pg_ctl -D data/postgres start --silent
SCRIPT #redis-server ./redis-dev.conf
#foreman start
#
#SCRIPT
Vagrant.configure("2") do |config| Vagrant.configure("2") do |config|
@ -68,7 +80,7 @@ Vagrant.configure("2") do |config|
config.vm.box = "archlinux/archlinux" config.vm.box = "archlinux/archlinux"
config.vm.hostname = "mastodon.local" config.vm.hostname = "mastodon.local"
# vagrant ssh -- -R 3000:localhost:3000 (: # vagrant ssh -- -L 3000:localhost:3000 (:
#config.vm.network :forwarded_port, guest: 3000, host: 3000 #config.vm.network :forwarded_port, guest: 3000, host: 3000
config.vm.synced_folder ".", "/vagrant", config.vm.synced_folder ".", "/vagrant",
@ -77,7 +89,7 @@ Vagrant.configure("2") do |config|
rsync__exclide: ".git/" rsync__exclide: ".git/"
config.vm.provision :shell, inline: $provision, privileged: false config.vm.provision :shell, inline: $provision, privileged: false
config.vm.provision :shell, inline: $start, run: 'always', privileged: false #config.vm.provision :shell, inline: $start, run: 'always', privileged: false
config.vm.provider :libvirt do |libvirt| config.vm.provider :libvirt do |libvirt|
libvirt.driver = "kvm" libvirt.driver = "kvm"

View File

@ -285,23 +285,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 { .focusable {
&:focus { &:focus,
outline: 0; &:hover {
background: lighten($ui-base-color, 4%); @include focusable;
&.status.status-direct {
background: lighten($ui-base-color, 12%);
&.muted {
background: transparent;
}
}
.detailed-status,
.detailed-status__action-bar {
background: lighten($ui-base-color, 8%);
}
} }
} }

View File

@ -79,8 +79,6 @@ class LinkFooter extends React.PureComponent {
{' '} {' '}
<a href='https://joinmastodon.org' target='_blank'><FormattedMessage id='footer.about' defaultMessage='About' /></a> <a href='https://joinmastodon.org' target='_blank'><FormattedMessage id='footer.about' defaultMessage='About' /></a>
{' · '} {' · '}
<a href='https://joinmastodon.org/apps' target='_blank'><FormattedMessage id='footer.get_app' defaultMessage='Get the app' /></a>
{' · '}
<Link to='/keyboard-shortcuts'><FormattedMessage id='footer.keyboard_shortcuts' defaultMessage='Keyboard shortcuts' /></Link> <Link to='/keyboard-shortcuts'><FormattedMessage id='footer.keyboard_shortcuts' defaultMessage='Keyboard shortcuts' /></Link>
{' · '} {' · '}
<a href={source_url} rel='noopener noreferrer' target='_blank'><FormattedMessage id='footer.source_code' defaultMessage='View source code' /></a> <a href={source_url} rel='noopener noreferrer' target='_blank'><FormattedMessage id='footer.source_code' defaultMessage='View source code' /></a>

View File

@ -33,11 +33,11 @@ module Mastodon
end end
def repository def repository
ENV.fetch('GITHUB_REPOSITORY', 'glitch-soc/mastodon') ENV.fetch('GIT_REPOSITORY', false) || ENV.fetch('GITHUB_REPOSITORY', false) || 'treehouse/mastodon'
end end
def source_base_url def source_base_url
ENV.fetch('SOURCE_BASE_URL', "https://github.com/#{repository}") ENV.fetch('SOURCE_BASE_URL', "https://gitea.treehouse.systems/#{repository}")
end end
# specify git tag or commit hash here # specify git tag or commit hash here
@ -46,8 +46,13 @@ module Mastodon
end end
def source_url def source_url
if source_tag if source_tag && source_base_url =~ /gitea/
"#{source_base_url}/tree/#{source_tag}" suffix = if !str[/\H/]
"commit/#{source_tag}"
else
"branch/#{source_tag}"
end
"#{source_base_url}/#{suffix}"
else else
source_base_url source_base_url
end end

107
lib/tasks/deps.rake Normal file
View File

@ -0,0 +1,107 @@
# 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 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...'
puts '=========='
sh %(pg_ctl -D ./data/postgres start)
puts '=========='
end
task :stop do
unless (pid = get_pid POSTGRES_PID_FILE)
puts "Postgres isn't running!"
next
end
puts "Stopping Postgres (pid #{pid})...\n=========="
sh %(pg_ctl -D ./data/postgres stop)
puts '=========='
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...'
puts '=========='
sh %(redis-server redis-dev.conf)
puts '=========='
end
task :stop do
unless (pid = get_pid REDIS_PID_FILE)
puts "Redis isn't running!"
next
end
puts "Stopping Redis (pid #{pid})...\n=========="
Process.kill(:TERM, pid)
end
end
namespace :memcached do
end
end

View File

@ -36,12 +36,13 @@
"@rails/ujs": "^6.1.7", "@rails/ujs": "^6.1.7",
"abortcontroller-polyfill": "^1.7.5", "abortcontroller-polyfill": "^1.7.5",
"array-includes": "^3.1.5", "array-includes": "^3.1.5",
"atrament": "0.2.4",
"arrow-key-navigation": "^1.2.0", "arrow-key-navigation": "^1.2.0",
"atrament": "0.2.4",
"autoprefixer": "^9.8.8", "autoprefixer": "^9.8.8",
"axios": "^1.1.3", "axios": "^1.1.3",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
"babel-plugin-lodash": "^3.3.4", "babel-plugin-lodash": "^3.3.4",
"babel-plugin-macros": "^3.1.0",
"babel-plugin-preval": "^5.1.0", "babel-plugin-preval": "^5.1.0",
"babel-plugin-react-intl": "^6.2.0", "babel-plugin-react-intl": "^6.2.0",
"babel-plugin-transform-react-remove-prop-types": "^0.4.24", "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
@ -173,5 +174,6 @@
"optionalDependencies": { "optionalDependencies": {
"bufferutil": "^4.0.7", "bufferutil": "^4.0.7",
"utf-8-validate": "^5.0.10" "utf-8-validate": "^5.0.10"
} },
"packageManager": "yarn@3.3.0"
} }

View File

@ -87,8 +87,8 @@ describe InstancePresenter do
end end
describe '#source_url' do describe '#source_url' do
it 'returns "https://github.com/glitch-soc/mastodon"' do it 'returns the default URL' do
expect(instance_presenter.source_url).to eq('https://github.com/glitch-soc/mastodon') expect(instance_presenter.source_url).to eq('https://gitea.treehouse.systems/treehouse/mastodon')
end end
end end

28407
yarn.lock

File diff suppressed because it is too large Load Diff