Compare commits

...

110 Commits

Author SHA1 Message Date
Tarrien
2aa4f9975f Merge branch '4.3.0-glitch' 2023-12-14 13:38:34 -05:00
root
af93f93028 Modern theme update to latest version 2023-10-19 07:37:10 -04:00
root
598f7000a8 Modern theme update 2023-10-19 07:37:10 -04:00
root
486f91327d fix Modern theme when split into separtate flavour 2023-10-19 07:37:10 -04:00
root
472478efe5 Migrate Modern theme to separate Flavour 2023-10-19 07:37:10 -04:00
root
6cf361f527 Migrate Modern theme to separate Flavour 2023-10-19 07:37:10 -04:00
root
feaccac18b Re-add Modern theme, with color variants 2023-10-19 07:37:10 -04:00
root
5ac5be7eba dev work 2023-10-19 07:37:10 -04:00
tarrien
8bf83a526c Delete .env.production.old 2023-10-19 07:37:10 -04:00
tarrien
b0abbfaf66 Cleanup 2023-10-19 07:37:10 -04:00
Tarrien
96fb00b589 Block gpt via robots.txt 2023-10-19 07:37:10 -04:00
Tarrien
970248129a Final save before migration 2023-10-19 07:37:10 -04:00
Tarrien
862235e0c9 Fixing some customization tweaks 2023-10-19 07:37:10 -04:00
Tarrien
e376fc57a5 Wobbl customizations on Glitch-SOC 2023-10-19 07:37:06 -04:00
Tarrien
1a7157000a Theming and such 2023-07-06 13:23:31 -04:00
Tarrien
6c658d9680 Update to 4.1.3 2023-07-06 09:38:36 -04:00
Claire
0d5781ca76 Bump version to v4.1.3 2023-07-06 15:07:20 +02:00
Claire
32ebeed59b
Merge pull request from GHSA-55j9-c3mp-6fcq 2023-07-06 15:06:50 +02:00
Claire
e75ad1de0f
Merge pull request from GHSA-9pxv-6qvf-pjwc
* Fix timeout handling of outbound HTTP requests

* Use CLOCK_MONOTONIC instead of Time.now
2023-07-06 15:06:24 +02:00
Claire
0aa0b71f2c
Merge pull request from GHSA-9928-3cp5-93fm
* Fix attachments getting processed despite failing content-type validation

* Add a restrictive ImageMagick security policy tailored for Mastodon

* Fix misdetection of MP3 files with large cover art

* Reject unprocessable audio/video files instead of keeping them unchanged
2023-07-06 15:05:05 +02:00
Claire
c4f2609f7a
Merge pull request from GHSA-ccm4-vgcc-73hp
* Tighten allowed HTML in oEmbed-based preview cards

* Sanitize preview cards at render time

* Add `sandbox` attribute to preview card iframes
2023-07-06 15:03:33 +02:00
Claire
9b6c0cac7d Add hardened headers to user-uploaded files (#25756) 2023-07-06 14:32:26 +02:00
Claire
fac2c9eb7d Update rack, rails, nokogiri and doorkeeper gems 2023-07-06 13:45:40 +02:00
Claire
a3d69a2c5d Fix OAuth apps page crashing when listing apps with certain admin API scopes (#25713) 2023-07-06 13:45:40 +02:00
Renaud Chaput
8eb1bb8ba6 Allow carets in URL search params (#25216) 2023-07-06 13:45:40 +02:00
Vyr Cossont
652ff76462 Fix Redis client and type errors introduced in #24285 (#24342) 2023-07-06 13:45:40 +02:00
Vyr Cossont
6f484fbbd2 IndexingScheduler: fetch and import in batches (#24285)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-07-06 13:45:40 +02:00
Claire
79f5b8f156 Fix ResolveURLService not resolving local URLs for remote content (#25637) 2023-07-06 13:45:40 +02:00
Claire
f8930a67a0 Change /api/v1/statuses/:id/history to always return at least one item (#25510) 2023-07-06 13:45:40 +02:00
Claire
e65e3a6d14 Add finer permission requirements for managing webhooks (#25463) 2023-07-06 13:45:40 +02:00
Claire
8acbfc6ab1 Fix wrong view being displayed when a webhook fails validation (#25464) 2023-07-06 13:45:40 +02:00
Emelia Smith
3ef53958b2 Prevent UserCleanupScheduler from overwhelming streaming (#25519) 2023-07-06 13:45:40 +02:00
Daniel M Brasil
fd1ffd72eb Fix incorrect pagination headers in /api/v2/admin/accounts (#25477) 2023-07-06 13:45:40 +02:00
Claire
7bd34f8b23 Fix infinite loop in AccountsStatusesCleanupScheduler (#24840) 2023-07-06 13:45:40 +02:00
Claire
7012bf6ed3 Improve automatic post cleanup worker performances (#24785) 2023-07-06 13:45:40 +02:00
Claire
d9e45f2fa9 Fix AccountsStatusesCleanupScheduler not spreading deletes across accounts correctly (#24607) 2023-07-06 13:45:40 +02:00
Claire
0e139e3c4d Change automatic post deletion thresholds and load detection (#24614) 2023-07-06 13:45:40 +02:00
Emelia Smith
23e7b4d28d Fix logging of messages that are binary before closing their connection (#25361) 2023-07-06 13:45:40 +02:00
Emelia Smith
e78ee582f7 Fix performance of streaming by parsing message JSON once (#25278) 2023-07-06 13:45:40 +02:00
Claire
a197fc094f Fix CSP headers when S3_ALIAS_HOST includes a path component (#25273) 2023-07-06 13:45:40 +02:00
Daniel M Brasil
bd7cbeeadf Fix tootctl accounts approve --number N not aproving N earliest registrations (#24605) 2023-07-06 13:45:40 +02:00
Claire
2779bce9a2 Add fallback redirection when getting a webfinger query LOCAL_DOMAIN@LOCAL_DOMAIN (#23600)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2023-07-06 13:45:40 +02:00
Claire
210ff36860 Change AccessTokensVacuum to also delete expired tokens (#24868) 2023-07-06 13:45:40 +02:00
Claire
99c2bbbec9 Change profile updates to be sent to recently-mentioned servers (#24852) 2023-07-06 13:45:40 +02:00
Claire
7e58779300 Fix reports not being closed when performing batch suspensions (#24988) 2023-07-06 13:45:40 +02:00
Claire
cca464bce3 Fix being able to vote on your own polls (#25015) 2023-07-06 13:45:40 +02:00
Claire
1301af60e0 Fix race condition when reblogging a status (#25016) 2023-07-06 13:45:40 +02:00
Claire
f962e83856 Change OpenGraph-based embeds to allow fullscreen (#25058) 2023-07-06 13:45:40 +02:00
Claire
b3cbcd7447 Fix “Authorized applications” inefficiently and incorrectly getting last use date (#25060) 2023-07-06 13:45:40 +02:00
Claire
72d96bf17a Remove invalid X-Frame-Options: ALLOWALL (#25070) 2023-07-06 13:45:40 +02:00
Claire
b1ac3562df Change Identity to not destroy associated User on destroy (#25098) 2023-07-06 13:45:40 +02:00
Claire
4c6c790f80 Fix /api/v1/conversations sometimes returning empty accounts (#25499) 2023-07-06 13:45:40 +02:00
Claire
036ac5b5c9 Fix ArgumentError when loading newer Private Mentions (#25399) 2023-07-06 13:45:40 +02:00
Claire
3e1724e972 Fix multiple N+1s in ConversationsController (#25134) 2023-07-06 13:45:40 +02:00
Claire
bc8592627b Fix user archive takeouts when using OpenStack Swift (#24431) 2023-07-06 13:45:40 +02:00
Claire
4b9e4f6398 Bump version to v4.1.2 2023-04-04 12:41:27 +02:00
Claire
b9f271364e Fix unescaped user input in LDAP query (#24379)
Fix CVE-2023-28853
2023-04-04 12:41:27 +02:00
Claire
4eaa6d58b2 Change root Chewy strategy to emit a warning instead of erroring out in production mode (#24327) 2023-04-04 12:41:27 +02:00
Claire
51572ac615 Fix invalid/expired invites being processed on sign-up (#24337) 2023-04-04 12:41:27 +02:00
Sai
01617534fa Update Ruby to 3.0.6 (#24334) 2023-04-04 12:41:27 +02:00
Robert R George
af6eb37c70 Wrap db:setup with Chewy.strategy(:mastodon) (#24302) 2023-04-04 12:41:27 +02:00
Eugen Rochko
590df443f1 Bump blurhash from 0.1.6 to 0.1.7 (#23517) 2023-04-04 12:41:27 +02:00
Claire
ae64c5b7ec Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support (#24200) 2023-04-04 12:41:27 +02:00
Claire
3c82c4e780 Fix crash in tootctl commands making use of parallelization when Elasticsearch is enabled (#24182) 2023-04-04 12:41:27 +02:00
Claire
ab85f59c30 Bump version to v4.1.1 2023-03-16 22:48:42 +01:00
Claire
6a7b91a038 Add warning for object storage misconfiguration (#24137) 2023-03-16 22:48:42 +01:00
Eugen Rochko
6db76875fd Change user backups to use expiring URLs for download when possible (#24136) 2023-03-16 22:48:42 +01:00
Claire
19def1a1f1 Update changelog 2023-03-16 22:03:22 +01:00
Claire
0e58e7f5d8 Update changelog 2023-03-16 11:51:36 +01:00
Claire
8c4ea7d715 Fix misleading error code when receiving invalid WebAuthn credentials (#23568) 2023-03-16 11:45:53 +01:00
Claire
cc65f32714 Fix incorrect post links in strikes when the account is remote (#23611) 2023-03-16 11:45:33 +01:00
Claire
0363064501 Fix dashboard crash on ElasticSearch server error (#23751) 2023-03-16 11:45:01 +01:00
Nick Schonning
46d6cb0f36 Skip pushing containers on forks (#24106) 2023-03-16 11:44:25 +01:00
Renaud Chaput
4213907aaf Use Github Container Registry as the official container image source (#24113) 2023-03-16 11:44:11 +01:00
Nick Schonning
0891a8d4b0 Skip Docker CI Login/Push on forks (#23564) 2023-03-16 11:43:59 +01:00
Renaud Chaput
0529fb0866 Push Docker images to Github Container Registry as well (#24101) 2023-03-16 11:43:46 +01:00
Eugen Rochko
59a2fe32ff Add cache headers to static files served through Rails (#24120) 2023-03-16 11:43:18 +01:00
Eugen Rochko
5cc39a3810 Add SENDFILE_HEADER environment variable (#24123) 2023-03-16 11:42:41 +01:00
CSDUMMI
4e02c7dc2c Support the PROXY protocol through the PROXY_PROTO_V1 env variable (#24064) 2023-03-16 11:42:27 +01:00
Claire
fe7752f4b8 Update changelog 2023-03-13 18:50:33 +01:00
Claire
6962d117b7 Change ActivityPub::DeliveryWorker retries to be spread out more (#21956) 2023-03-13 18:49:50 +01:00
Claire
2a37dc7967 Change unintended SMTP read timeout from 5 seconds to 20 seconds (#23750) 2023-03-13 18:49:38 +01:00
Terry Garcia
a54bd84690 Switched bookmark and favourites around (#23701) 2023-03-13 18:49:27 +01:00
Claire
68af19c328 Change auto-deletion throttling constants to better scale with server size (#23320) 2023-03-13 18:49:01 +01:00
Tim Lucas
a133570b26 Increase contrast of upload progress background (#23836) 2023-03-13 18:48:21 +01:00
PauloVilarinho
9972eb41ae add modal message when editing toot (#23936)
Co-authored-by: PauloVilarinho <paulotarsobranco@hotmail.com>
2023-03-13 18:48:06 +01:00
9p4
78c7c79d78 Add refreshing many accounts at once with "tootctl accounts refresh" (#23304) 2023-03-13 18:47:52 +01:00
Claire
cec59417d7 Add mail headers to avoid auto-replies (#23597) 2023-03-13 18:47:28 +01:00
Claire
9377c4a87c Add lang tag to native language names in language picker (#23749) 2023-03-13 18:47:14 +01:00
Thijs Kinkhorst
40ae8d5e03 Fix paths with url-encoded @ to redirect to the correct path (#23593) 2023-03-13 18:46:57 +01:00
Christian Schmidt
3f2e31800e Unescape HTML entities (#24019) 2023-03-13 18:45:42 +01:00
Christian Schmidt
92a26638eb Do not strip tags from Setting.site_short_description (#23975) 2023-03-13 18:44:38 +01:00
Claire
479b66637b Fix sidekiq jobs not triggering Elasticsearch index updates (#24046) 2023-03-13 18:44:09 +01:00
Rodion Borisov
14bcd14289 Center the text itself in upload area (#24029) 2023-03-13 18:43:54 +01:00
Claire
4bfbeb8139 Fix /api/v1/streaming sub-paths not being redirected (#23988) 2023-03-13 18:43:04 +01:00
Eugen Rochko
2fed61a477 Fix pgBouncer resetting application name on every transaction (#23958) 2023-03-13 18:42:45 +01:00
Christian Schmidt
37a28ba203 Do not leave Mastodon when clicking “Back” (#23953) 2023-03-13 18:42:29 +01:00
Claire
4cec3ad9b8 Fix original account being unfollowed on migration before the follow request could be sent (#21957) 2023-03-13 18:41:40 +01:00
Claire
675c24a34e Fix unconfirmed accounts being registered as active users (#23803) 2023-03-13 18:40:55 +01:00
Claire
f5f17e897b Fix tootctl accounts migrate error due to typo (#23567) 2023-03-13 18:40:18 +01:00
Claire
63532d9883 Fix error when displaying post history of a trendable post in the admin interface (#23574) 2023-03-13 18:39:51 +01:00
Claire
aff3f850de Fix server error when failing to follow back followers from /relationships (#23787) 2023-03-13 18:39:35 +01:00
Claire
b52746e64b Fix duplicate “Publish” button on mobile (#23804) 2023-03-13 18:38:18 +01:00
Claire
69564db447 Fix inefficiency when searching accounts per username in admin interface (#23801) 2023-03-13 18:38:01 +01:00
Botao Wang
00208b23b1 Fix sidebar cut-off on small screens in admin UI (#23764) 2023-03-13 18:37:40 +01:00
Claire
900790184a Fix focus point of already-attached media not saving after edit (#23566) 2023-03-13 18:37:26 +01:00
Dean Bassett
11d6663025 Fix case-sensitive check for previously used hashtags (#23526) 2023-03-13 18:37:13 +01:00
emilweth
ea1d55a64e fix metrics format (#23520) 2023-03-13 18:36:50 +01:00
emilweth
ac7665193c dot is not allowed (#23519) 2023-03-13 18:36:36 +01:00
Claire
0dc342df81 Fix “Remove all followers from the selected domains” being more destructive than it claims (#23805) 2023-03-13 18:36:15 +01:00
69 changed files with 23034 additions and 1999 deletions

7
.gitignore vendored
View File

@ -60,3 +60,10 @@ yarn-debug.log
# Ignore Docker option files
docker-compose.override.yml
/public/packs
/public/packs-test
/node_modules
/yarn-error.log
yarn-debug.log*
.yarn-integrity

View File

@ -86,3 +86,6 @@ app/javascript/flavours/glitch/styles/reset.scss
# Ignore win95 theme
app/javascript/styles/win95.scss
# Ignore wobbl themes
app/javascript/flavors/glitch/styles/wobbl*

1
.stylelintignore Normal file
View File

@ -0,0 +1 @@
app/javascript/styles/modern/style.scss

1
Mastodon-Modern Submodule

@ -0,0 +1 @@
Subproject commit 301d0033f593a35a289a22f1891a0dfe12245d7f

View File

@ -53,7 +53,7 @@ module StatusesHelper
def status_description(status)
components = [[media_summary(status), status_text_summary(status)].compact_blank.join(' · ')]
if status.spoiler_text.blank?
if status.spoiler_text.blank? || Setting.preview_sensitive_media
components << status.text
components << poll_summary(status)
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

View File

@ -0,0 +1,8 @@
import 'packs/public-path';
import { start } from '@rails/ujs';
import 'flavours/glitch/styles/modern.scss';
start();
// This ensures that webpack compiles our images.
require.context('../images', true);

View File

@ -0,0 +1,5 @@
@import 'index';
@import 'modern/modern';
@import 'modern/diff';

View File

@ -0,0 +1,294 @@
body.app-body.flavour-modern-glitch
> #mastodon
.compose-form__autosuggest-wrapper
> :last-child {
padding-bottom: 2em !important;
}
body.app-body.flavour-modern-glitch > #mastodon .compose-form__buttons {
width: 100%;
}
body.app-body.flavour-modern-glitch
> #mastodon
.compose-form__buttons
> div:last-child {
margin-inline-start: auto;
}
body.app-body.flavour-modern-glitch > #mastodon .compose-form__buttons-wrapper {
position: relative;
}
body.app-body.flavour-modern-glitch > #mastodon .character-counter__wrapper {
position: absolute;
inset-inline-end: 0;
bottom: 100%;
margin: 4px;
border-radius: 6px;
padding: 0.1em 0.5em;
}
body.app-body.flavour-modern-glitch
> #mastodon
.character-counter__wrapper
span {
font-size: 0.9em;
font-weight: 500;
}
body.app-body.flavour-modern-glitch > #mastodon .collapsed .status__content {
height: auto !important;
overflow: visible;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed
.status__content
.status__content__text {
mask: linear-gradient(to bottom, #000 50px, transparent) !important;
-webkit-mask: linear-gradient(to bottom, #000 50px, transparent) !important;
max-height: 100px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed
.status__content
p:not(:last-child) {
margin-bottom: 0.4em;
}
body.app-body.flavour-modern-glitch > #mastodon .collapsed .status__content br {
display: block;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed
.status__content::after {
content: unset;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed.muted
.status__content__text
~ * {
display: none;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status:not(.status-direct)
> .status__content {
margin-block: -90px -100px !important;
padding-block: 100px !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status:not(.status-direct)
> .status__content
.status__content__text {
margin-top: 0;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status:not(.status-direct)
> .status__content
> :last-child:not(.status__content__text) {
margin-bottom: 5px !important;
}
body.app-body.flavour-modern-glitch > #mastodon .status .full-width {
margin-inline: 0 !important;
}
body.app-body.flavour-modern-glitch > #mastodon .status .status__action-bar {
position: static;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status__info
.notification__message {
padding-top: 0 !important;
padding-inline-start: 0 !important;
}
body.app-body.flavour-modern-glitch > #mastodon .status__display-name {
line-height: 22px;
}
body.app-body.flavour-modern-glitch > #mastodon .display-name__account {
font-size: 15px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.media-gallery__item
> .media-gallery__preview {
display: unset;
}
body.app-body.flavour-modern-glitch > #mastodon .status__action-bar-spacer {
min-width: 5px;
}
body.app-body.flavour-modern-glitch > #mastodon .status__relative-time {
margin-inline: auto 5px !important;
z-index: 2;
flex-grow: 0 !important;
}
body.app-body.flavour-modern-glitch > #mastodon .reactions-bar {
width: unset;
margin-top: 8px;
}
body.app-body.flavour-modern-glitch > #mastodon .reactions-bar button {
border-radius: 6px !important;
padding-block: 2px;
}
@media (pointer: coarse) {
body.app-body.flavour-modern-glitch > #mastodon .reactions-bar button {
padding: 4px 8px !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.reactions-bar
button
.reactions-bar__item__emoji {
height: 18px;
width: 18px;
}
}
body.app-body.flavour-modern-glitch > #mastodon .reactions-bar:empty {
display: none;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed
> .status__info
.notification__message {
padding-bottom: 0 !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.notification
> .notification__message {
padding-inline: 15px !important;
padding-top: 18px !important;
}
body.app-body.flavour-modern-glitch > #mastodon .notification .account {
padding-inline-start: 0 !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.notification__favourite-icon-wrapper {
position: static;
margin-inline-end: 10px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.notification__favourite-icon-wrapper
i {
width: 1.28571429em !important;
text-align: center;
}
body.app-body.flavour-modern-glitch > #mastodon .status__prepend,
body.app-body.flavour-modern-glitch
> #mastodon
.status__info
.notification__message {
padding-bottom: 15px !important;
padding-top: 0 !important;
margin-top: -5px !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status__prepend
.status__prepend-icon-wrapper,
body.app-body.flavour-modern-glitch
> #mastodon
.status__info
.notification__message
.status__prepend-icon-wrapper {
all: unset;
margin-inline-end: 10px;
display: flex;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status__prepend
.status__prepend-icon-wrapper
i,
body.app-body.flavour-modern-glitch
> #mastodon
.status__info
.notification__message
.status__prepend-icon-wrapper
i {
margin: auto;
}
body.app-body.flavour-modern-glitch
> #mastodon
.detailed-status__wrapper
.focusable:not(.status)::before {
content: unset !important;
}
body.app-body.flavour-modern-glitch > #mastodon .setting-text {
border-radius: 0 !important;
margin: 4px;
width: calc(100% - 8px);
}
body.app-body.flavour-modern-glitch > #mastodon .column-settings__pillbar {
border-radius: var(--radius);
}
body.app-body.flavour-modern-glitch > #mastodon .pillbar-button {
border-radius: 0 !important;
padding: 6px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.account-card
.media-modal__close {
left: 10px;
top: 10px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.account-card
.media-modal__close::before {
content: '';
position: absolute;
inset: -60px -30px;
background: linear-gradient(to right, #000, transparent);
transform: rotate(45deg);
z-index: -1;
opacity: 0.5;
}
.layout-multiple-columns.flavour-modern-glitch .drawer__inner {
margin-top: -10px;
padding-top: 30px !important;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
@import 'wobbl-light/variables';
@import 'index';
@import 'mastodon-light/diff';

View File

@ -0,0 +1,60 @@
// Dependent colors
$black: #000000;
$white: #ffffff;
$classic-base-color: #191919;
$classic-primary-color: #e7e7e7;
$classic-secondary-color: #ff8680;
$classic-highlight-color: #850700;
$blurple-600: #cc3939; // Iris
$blurple-500: #850700; // Brand purple
$blurple-300: #fa8484; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
// Differences
$success-green: lighten(#3c754d, 8%);
$base-overlay-background: $white !default;
$valid-value-color: $success-green !default;
$ui-base-color: $classic-primary-color !default;
$ui-base-lighter-color: #b0c0cf;
$ui-primary-color: #9bcbed;
$ui-secondary-color: $classic-base-color !default;
$ui-highlight-color: $classic-highlight-color !default;
$ui-button-color: $white !default;
$ui-button-background-color: $blurple-500 !default;
$ui-button-focus-background-color: $blurple-600 !default;
$ui-button-secondary-color: $grey-600 !default;
$ui-button-secondary-border-color: $grey-600 !default;
$ui-button-secondary-focus-color: $white !default;
$ui-button-tertiary-color: $blurple-500 !default;
$ui-button-tertiary-border-color: $blurple-500 !default;
$primary-text-color: $black !default;
$darker-text-color: $classic-base-color !default;
$highlight-text-color: darken($ui-highlight-color, 8%) !default;
$dark-text-color: #444b5d;
$action-button-color: #606984;
$inverted-text-color: $black !default;
$lighter-text-color: $classic-base-color !default;
$light-text-color: #444b5d;
// Newly added colors
$account-background-color: $white !default;
// Invert darkened and lightened colors
@function darken($color, $amount) {
@return hsl(hue($color), saturation($color), lightness($color) + $amount);
}
@function lighten($color, $amount) {
@return hsl(hue($color), saturation($color), lightness($color) - $amount);
}
$emojis-requiring-inversion: 'chains';

View File

@ -0,0 +1,101 @@
// Commonly used web colors
$black: #000000; // Black
$white: #ffffff; // White
$red-600: #b7253d !default; // Deep Carmine
$red-500: #df405a !default; // Cerise
$blurple-600: #563acc; // Iris
$blurple-500: #6364ff; // Brand purple
$blurple-300: #858afa; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$success-green: #79bd9a !default; // Padua
$error-red: $red-500 !default; // Cerise
$warning-red: #ff5050 !default; // Sunset Orange
$gold-star: #ca8f04 !default; // Dark Goldenrod
$red-bookmark: $warning-red;
// Values from the classic Mastodon UI
$classic-base-color: #191919;// Dark Gray
$classic-primary-color: #E7E7E7;// Platinum
$classic-secondary-color: #FF8680; // Paler red
$classic-highlight-color: #850700; // Red highlights
// Variables for defaults in UI
$base-shadow-color: $black !default;
$base-overlay-background: $black !default;
$base-border-color: $white !default;
$simple-background-color: $white !default;
$valid-value-color: $success-green !default;
$error-value-color: $error-red !default;
// Tell UI to use selected colors
$ui-base-color: $classic-base-color !default; // Darkest
$ui-base-lighter-color: lighten(
$ui-base-color,
26%
) !default; // Lighter darkest
$ui-primary-color: $classic-primary-color !default; // Lighter
$ui-secondary-color: $classic-secondary-color !default; // Lightest
$ui-highlight-color: $classic-highlight-color !default;
$ui-button-color: $white !default;
$ui-button-background-color: $blurple-500 !default;
$ui-button-focus-background-color: $blurple-600 !default;
$ui-button-secondary-color: $grey-100 !default;
$ui-button-secondary-border-color: $grey-100 !default;
$ui-button-secondary-focus-background-color: $grey-600 !default;
$ui-button-secondary-focus-color: $white !default;
$ui-button-tertiary-color: $blurple-300 !default;
$ui-button-tertiary-border-color: $blurple-300 !default;
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
$ui-button-tertiary-focus-color: $white !default;
$ui-button-destructive-background-color: $red-500 !default;
$ui-button-destructive-focus-background-color: $red-600 !default;
// Variables for texts
$primary-text-color: $white !default;
$darker-text-color: $ui-primary-color !default;
$dark-text-color: $ui-base-lighter-color !default;
$secondary-text-color: $ui-secondary-color !default;
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
$action-button-color: $ui-base-lighter-color !default;
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
$passive-text-color: $gold-star !default;
$active-passive-text-color: $success-green !default;
// For texts on inverted backgrounds
$inverted-text-color: $ui-base-color !default;
$lighter-text-color: $ui-base-lighter-color !default;
$light-text-color: $ui-primary-color !default;
// Language codes that uses CJK fonts
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
// Variables for components
$media-modal-media-max-width: 100%;
// put margins on top and bottom of image to avoid the screen covered by image.
$media-modal-media-max-height: 80%;
$no-gap-breakpoint: 1175px;
$font-sans-serif: 'mastodon-font-sans-serif' !default;
$font-display: 'mastodon-font-display' !default;
$font-monospace: 'mastodon-font-monospace' !default;
// Avatar border size (8% default, 100% for rounded avatars)
$ui-avatar-border-size: 8%;
// More variables
$dismiss-overlay-width: 4rem;
:root {
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
}

View File

@ -0,0 +1,3 @@
@import 'wobbl-old-light/variables';
@import 'index';
@import 'mastodon-light/diff';

View File

@ -0,0 +1,60 @@
// Dependent colors
$black: #000000;
$white: #ffffff;
$classic-base-color: #191918;
$classic-primary-color: #e7e7e7;
$classic-secondary-color: #8c562a;
$classic-highlight-color: #c45302;
$blurple-600: #c45302; // Iris
$blurple-500: #fd8128; // Brand purple
$blurple-300: #fda15f; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
// Differences
$success-green: lighten(#3c754d, 8%);
$base-overlay-background: $white !default;
$valid-value-color: $success-green !default;
$ui-base-color: $classic-primary-color !default;
$ui-base-lighter-color: #b0c0cf;
$ui-primary-color: #9bcbed;
$ui-secondary-color: $classic-base-color !default;
$ui-highlight-color: $classic-highlight-color !default;
$ui-button-color: $white !default;
$ui-button-background-color: $blurple-500 !default;
$ui-button-focus-background-color: $blurple-600 !default;
$ui-button-secondary-color: $grey-600 !default;
$ui-button-secondary-border-color: $grey-600 !default;
$ui-button-secondary-focus-color: $white !default;
$ui-button-tertiary-color: $blurple-500 !default;
$ui-button-tertiary-border-color: $blurple-500 !default;
$primary-text-color: $black !default;
$darker-text-color: $classic-base-color !default;
$highlight-text-color: darken($ui-highlight-color, 8%) !default;
$dark-text-color: #444b5d;
$action-button-color: #606984;
$inverted-text-color: $black !default;
$lighter-text-color: $classic-base-color !default;
$light-text-color: #444b5d;
// Newly added colors
$account-background-color: $white !default;
// Invert darkened and lightened colors
@function darken($color, $amount) {
@return hsl(hue($color), saturation($color), lightness($color) + $amount);
}
@function lighten($color, $amount) {
@return hsl(hue($color), saturation($color), lightness($color) - $amount);
}
$emojis-requiring-inversion: 'chains';

View File

@ -0,0 +1,101 @@
// Commonly used web colors
$black: #000000; // Black
$white: #ffffff; // White
$red-600: #b7253d !default; // Deep Carmine
$red-500: #df405a !default; // Cerise
$blurple-600: #563acc; // Iris
$blurple-500: #6364ff; // Brand purple
$blurple-300: #858afa; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$success-green: #79bd9a !default; // Padua
$error-red: $red-500 !default; // Cerise
$warning-red: #ff5050 !default; // Sunset Orange
$gold-star: #ca8f04 !default; // Dark Goldenrod
$red-bookmark: $warning-red;
// Values from the classic Mastodon UI
$classic-base-color: #191919;// Dark Gray
$classic-primary-color: #E7E7E7;// Platinum
$classic-secondary-color: #FF8680; // Paler red
$classic-highlight-color: #850700; // Red highlights
// Variables for defaults in UI
$base-shadow-color: $black !default;
$base-overlay-background: $black !default;
$base-border-color: $white !default;
$simple-background-color: $white !default;
$valid-value-color: $success-green !default;
$error-value-color: $error-red !default;
// Tell UI to use selected colors
$ui-base-color: $classic-base-color !default; // Darkest
$ui-base-lighter-color: lighten(
$ui-base-color,
26%
) !default; // Lighter darkest
$ui-primary-color: $classic-primary-color !default; // Lighter
$ui-secondary-color: $classic-secondary-color !default; // Lightest
$ui-highlight-color: $classic-highlight-color !default;
$ui-button-color: $white !default;
$ui-button-background-color: $blurple-500 !default;
$ui-button-focus-background-color: $blurple-600 !default;
$ui-button-secondary-color: $grey-100 !default;
$ui-button-secondary-border-color: $grey-100 !default;
$ui-button-secondary-focus-background-color: $grey-600 !default;
$ui-button-secondary-focus-color: $white !default;
$ui-button-tertiary-color: $blurple-300 !default;
$ui-button-tertiary-border-color: $blurple-300 !default;
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
$ui-button-tertiary-focus-color: $white !default;
$ui-button-destructive-background-color: $red-500 !default;
$ui-button-destructive-focus-background-color: $red-600 !default;
// Variables for texts
$primary-text-color: $white !default;
$darker-text-color: $ui-primary-color !default;
$dark-text-color: $ui-base-lighter-color !default;
$secondary-text-color: $ui-secondary-color !default;
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
$action-button-color: $ui-base-lighter-color !default;
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
$passive-text-color: $gold-star !default;
$active-passive-text-color: $success-green !default;
// For texts on inverted backgrounds
$inverted-text-color: $ui-base-color !default;
$lighter-text-color: $ui-base-lighter-color !default;
$light-text-color: $ui-primary-color !default;
// Language codes that uses CJK fonts
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
// Variables for components
$media-modal-media-max-width: 100%;
// put margins on top and bottom of image to avoid the screen covered by image.
$media-modal-media-max-height: 80%;
$no-gap-breakpoint: 1175px;
$font-sans-serif: 'mastodon-font-sans-serif' !default;
$font-display: 'mastodon-font-display' !default;
$font-monospace: 'mastodon-font-monospace' !default;
// Avatar border size (8% default, 100% for rounded avatars)
$ui-avatar-border-size: 8%;
// More variables
$dismiss-overlay-width: 4rem;
:root {
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
}

View File

@ -0,0 +1,2 @@
@import 'wobbl-old/variables';
@import 'index';

View File

@ -0,0 +1,101 @@
// Commonly used web colors
$black: #000000; // Black
$white: #ffffff; // White
$red-600: #b7253d !default; // Deep Carmine
$red-500: #df405a !default; // Cerise
$blurple-600: #c45302; // Iris
$blurple-500: #fd8128; // Brand purple
$blurple-300: #fda15f; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$success-green: #79bd9a !default; // Padua
$error-red: $red-500 !default; // Cerise
$warning-red: #ff5050 !default; // Sunset Orange
$gold-star: #ca8f04 !default; // Dark Goldenrod
$red-bookmark: $warning-red;
// Values from the classic Mastodon UI
$classic-base-color: #37210f; // Dark Gray
$classic-primary-color: #e7e7e7; // Platinum
$classic-secondary-color: #e7e7e7; // Paler red
$classic-highlight-color: #c45302; // Red highlights
// Variables for defaults in UI
$base-shadow-color: $black !default;
$base-overlay-background: $black !default;
$base-border-color: $white !default;
$simple-background-color: $white !default;
$valid-value-color: $success-green !default;
$error-value-color: $error-red !default;
// Tell UI to use selected colors
$ui-base-color: $classic-base-color !default; // Darkest
$ui-base-lighter-color: lighten(
$ui-base-color,
26%
) !default; // Lighter darkest
$ui-primary-color: $classic-primary-color !default; // Lighter
$ui-secondary-color: $classic-secondary-color !default; // Lightest
$ui-highlight-color: $classic-highlight-color !default;
$ui-button-color: $white !default;
$ui-button-background-color: $blurple-500 !default;
$ui-button-focus-background-color: $blurple-600 !default;
$ui-button-secondary-color: $grey-100 !default;
$ui-button-secondary-border-color: $grey-100 !default;
$ui-button-secondary-focus-background-color: $grey-600 !default;
$ui-button-secondary-focus-color: $white !default;
$ui-button-tertiary-color: $blurple-300 !default;
$ui-button-tertiary-border-color: $blurple-300 !default;
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
$ui-button-tertiary-focus-color: $white !default;
$ui-button-destructive-background-color: $red-500 !default;
$ui-button-destructive-focus-background-color: $red-600 !default;
// Variables for texts
$primary-text-color: $white !default;
$darker-text-color: $ui-primary-color !default;
$dark-text-color: $ui-base-lighter-color !default;
$secondary-text-color: $ui-secondary-color !default;
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
$action-button-color: $ui-base-lighter-color !default;
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
$passive-text-color: $gold-star !default;
$active-passive-text-color: $success-green !default;
// For texts on inverted backgrounds
$inverted-text-color: $ui-base-color !default;
$lighter-text-color: $ui-base-lighter-color !default;
$light-text-color: $ui-primary-color !default;
// Language codes that uses CJK fonts
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
// Variables for components
$media-modal-media-max-width: 100%;
// put margins on top and bottom of image to avoid the screen covered by image.
$media-modal-media-max-height: 80%;
$no-gap-breakpoint: 1175px;
$font-sans-serif: 'mastodon-font-sans-serif' !default;
$font-display: 'mastodon-font-display' !default;
$font-monospace: 'mastodon-font-monospace' !default;
// Avatar border size (8% default, 100% for rounded avatars)
$ui-avatar-border-size: 8%;
// More variables
$dismiss-overlay-width: 4rem;
:root {
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
}

View File

@ -0,0 +1,2 @@
@import 'wobbl/variables';
@import 'index';

View File

@ -0,0 +1,101 @@
// Commonly used web colors
$black: #000000; // Black
$white: #ffffff; // White
$red-600: #b7253d !default; // Deep Carmine
$red-500: #df405a !default; // Cerise
$blurple-600: #cc3939; // Iris
$blurple-500: #850700; // Brand purple
$blurple-300: #fa8484; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$success-green: #79bd9a !default; // Padua
$error-red: $red-500 !default; // Cerise
$warning-red: #ff5050 !default; // Sunset Orange
$gold-star: #ca8f04 !default; // Dark Goldenrod
$red-bookmark: $warning-red;
// Values from the classic Mastodon UI
$classic-base-color: #191919; // Dark Gray
$classic-primary-color: #e7e7e7; // Platinum
$classic-secondary-color: #ff8680; // Paler red
$classic-highlight-color: #850700; // Red highlights
// Variables for defaults in UI
$base-shadow-color: $black !default;
$base-overlay-background: $black !default;
$base-border-color: $white !default;
$simple-background-color: $white !default;
$valid-value-color: $success-green !default;
$error-value-color: $error-red !default;
// Tell UI to use selected colors
$ui-base-color: $classic-base-color !default; // Darkest
$ui-base-lighter-color: lighten(
$ui-base-color,
26%
) !default; // Lighter darkest
$ui-primary-color: $classic-primary-color !default; // Lighter
$ui-secondary-color: $classic-secondary-color !default; // Lightest
$ui-highlight-color: $classic-highlight-color !default;
$ui-button-color: $white !default;
$ui-button-background-color: $blurple-500 !default;
$ui-button-focus-background-color: $blurple-600 !default;
$ui-button-secondary-color: $grey-100 !default;
$ui-button-secondary-border-color: $grey-100 !default;
$ui-button-secondary-focus-background-color: $grey-600 !default;
$ui-button-secondary-focus-color: $white !default;
$ui-button-tertiary-color: $blurple-300 !default;
$ui-button-tertiary-border-color: $blurple-300 !default;
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
$ui-button-tertiary-focus-color: $white !default;
$ui-button-destructive-background-color: $red-500 !default;
$ui-button-destructive-focus-background-color: $red-600 !default;
// Variables for texts
$primary-text-color: $white !default;
$darker-text-color: $ui-primary-color !default;
$dark-text-color: $ui-base-lighter-color !default;
$secondary-text-color: $ui-secondary-color !default;
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
$action-button-color: $ui-base-lighter-color !default;
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
$passive-text-color: $gold-star !default;
$active-passive-text-color: $success-green !default;
// For texts on inverted backgrounds
$inverted-text-color: $ui-base-color !default;
$lighter-text-color: $ui-base-lighter-color !default;
$light-text-color: $ui-primary-color !default;
// Language codes that uses CJK fonts
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
// Variables for components
$media-modal-media-max-width: 100%;
// put margins on top and bottom of image to avoid the screen covered by image.
$media-modal-media-max-height: 80%;
$no-gap-breakpoint: 1175px;
$font-sans-serif: 'mastodon-font-sans-serif' !default;
$font-display: 'mastodon-font-display' !default;
$font-monospace: 'mastodon-font-monospace' !default;
// Avatar border size (8% default, 100% for rounded avatars)
$ui-avatar-border-size: 8%;
// More variables
$dismiss-overlay-width: 4rem;
:root {
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
}

View File

@ -1,6 +1,6 @@
import EXIF from 'exif-js';
const MAX_IMAGE_PIXELS = 2073600; // 1920x1080px
const MAX_IMAGE_PIXELS = 8294400; // 3840x2160px
const _browser_quirks = {};

View File

@ -0,0 +1,8 @@
en:
flavours:
modern-glitch:
description: Modern Mastodon theme - with Glitch-SOC support
name: Modern - Glitch
skins:
modern-glitch:
default: Default

View File

@ -0,0 +1,49 @@
# (REQUIRED) The location of the pack files.
pack:
admin:
- packs/admin.jsx
- packs/public.jsx
auth: packs/public.jsx
common:
filename: packs/common-modern.js
stylesheet: true
embed: packs/public.jsx
error: packs/error.js
home:
filename: packs/home.js
preload:
- flavours/glitch/async/compose
- flavours/glitch/async/getting_started
- flavours/glitch/async/home_timeline
- flavours/glitch/async/notifications
mailer:
modal:
public: packs/public.jsx
settings: packs/settings.js
sign_up: packs/sign_up.js
share: packs/share.jsx
# (OPTIONAL) The directory which contains localization files for
# the flavour, relative to this directory. The contents of this
# directory must be `.json` files whose names correspond to
# language tags and whose default exports are a messages object.
locales: locales
# (OPTIONAL) Which flavour to inherit locales from
inherit_locales: vanilla
# (OPTIONAL) A file to use as the preview screenshot for the flavour,
# or an array thereof. These are the full path from `app/javascript/`.
screenshot: flavours/glitch/images/modern-preview.jpg
# (OPTIONAL) The directory which contains the pack files.
# Defaults to the theme directory (`app/javascript/themes/[theme]`),
# which should be sufficient for like 99% of use-cases lol.
pack_directory: app/javascript/flavours/glitch
# (OPTIONAL) By default the theme will fallback to the default theme
# if a particular pack is not provided. You can specify different
# fallbacks here, or disable fallback behaviours altogether by
# specifying a `null` value.
fallback:

View File

@ -0,0 +1 @@
@import 'flavours/glitch/styles/wobbl-light';

View File

@ -0,0 +1,4 @@
en:
skins:
glitch:
wobbl-light: Wobbl (light)

View File

@ -0,0 +1 @@
@import 'flavours/glitch/styles/wobbl-old-light';

View File

@ -0,0 +1,4 @@
en:
skins:
glitch:
wobbl-old-light: Wobbl Orange (light)

View File

@ -0,0 +1 @@
@import 'flavours/glitch/styles/wobbl-old';

View File

@ -0,0 +1,4 @@
en:
skins:
glitch:
wobbl-old: Wobbl Orange

View File

@ -0,0 +1 @@
@import 'flavours/glitch/styles/wobbl';

View File

@ -0,0 +1,4 @@
en:
skins:
glitch:
wobbl: Wobbl

View File

@ -0,0 +1,3 @@
@import 'flavours/glitch/styles/mastodon-light/variables';
@import 'flavours/glitch/styles/modern';
@import 'flavours/glitch/styles/mastodon-light/diff';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
modern-light: Default (light)

View File

@ -0,0 +1,3 @@
@import 'flavours/glitch/styles/wobbl-light/variables';
@import 'flavours/glitch/styles/modern';
@import 'flavours/glitch/styles/mastodon-light/diff';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
wobbl-modern-light: Wobbl Red (light)

View File

@ -0,0 +1,2 @@
@import 'flavours/glitch/styles/wobbl/variables';
@import 'flavours/glitch/styles/modern';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
wobbl-modern: Wobbl Red

View File

@ -0,0 +1,3 @@
@import 'flavours/glitch/styles/wobbl-old-light/variables';
@import 'flavours/glitch/styles/modern';
@import 'flavours/glitch/styles/mastodon-light/diff';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
wobbl-old-modern-light: Wobbl Orange (light)

View File

@ -0,0 +1,2 @@
@import 'flavours/glitch/styles/wobbl-old/variables';
@import 'flavours/glitch/styles/modern';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
wobbl-old-modern: Wobbl Orange

View File

@ -0,0 +1,8 @@
@import 'wobbl/variables';
@import 'application';
@import 'modern/modern';
.layout-multiple-columns .column {
flex-grow: 1;
max-width: 500px;
}

View File

@ -0,0 +1,8 @@
@import 'mastodon/variables';
@import 'application';
@import 'modern/modern';
.layout-multiple-columns .column {
flex-grow: 1;
max-width: 500px;
}

View File

@ -0,0 +1,9 @@
@import 'wobbl-light/variables';
@import 'application';
@import 'modern/modern';
@import 'mastodon-light/diff';
.layout-multiple-columns .column {
flex-grow: 1;
max-width: 500px;
}

View File

@ -0,0 +1,9 @@
@import 'mastodon-light/variables';
@import 'application';
@import 'modern/modern';
@import 'mastodon-light/diff';
.layout-multiple-columns .column {
flex-grow: 1;
max-width: 500px;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,101 @@
// Commonly used web colors
$black: #000000; // Black
$white: #ffffff; // White
$red-600: #b7253d !default; // Deep Carmine
$red-500: #df405a !default; // Cerise
$blurple-600: #563acc; // Iris
$blurple-500: #6364ff; // Brand purple
$blurple-300: #858afa; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$success-green: #79bd9a !default; // Padua
$error-red: $red-500 !default; // Cerise
$warning-red: #ff5050 !default; // Sunset Orange
$gold-star: #ca8f04 !default; // Dark Goldenrod
$red-bookmark: $warning-red;
// Values from the classic Mastodon UI
$classic-base-color: #191919; // Dark Gray
$classic-primary-color: #e7e7e7; // Platinum
$classic-secondary-color: #ff8680; // Paler red
$classic-highlight-color: #850700; // Red highlights
// Variables for defaults in UI
$base-shadow-color: $black !default;
$base-overlay-background: $black !default;
$base-border-color: $white !default;
$simple-background-color: $white !default;
$valid-value-color: $success-green !default;
$error-value-color: $error-red !default;
// Tell UI to use selected colors
$ui-base-color: $classic-base-color !default; // Darkest
$ui-base-lighter-color: lighten(
$ui-base-color,
26%
) !default; // Lighter darkest
$ui-primary-color: $classic-primary-color !default; // Lighter
$ui-secondary-color: $classic-secondary-color !default; // Lightest
$ui-highlight-color: $classic-highlight-color !default;
$ui-button-color: $white !default;
$ui-button-background-color: $blurple-500 !default;
$ui-button-focus-background-color: $blurple-600 !default;
$ui-button-secondary-color: $grey-100 !default;
$ui-button-secondary-border-color: $grey-100 !default;
$ui-button-secondary-focus-background-color: $grey-600 !default;
$ui-button-secondary-focus-color: $white !default;
$ui-button-tertiary-color: $blurple-300 !default;
$ui-button-tertiary-border-color: $blurple-300 !default;
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
$ui-button-tertiary-focus-color: $white !default;
$ui-button-destructive-background-color: $red-500 !default;
$ui-button-destructive-focus-background-color: $red-600 !default;
// Variables for texts
$primary-text-color: $white !default;
$darker-text-color: $ui-primary-color !default;
$dark-text-color: $ui-base-lighter-color !default;
$secondary-text-color: $ui-secondary-color !default;
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
$action-button-color: $ui-base-lighter-color !default;
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
$passive-text-color: $gold-star !default;
$active-passive-text-color: $success-green !default;
// For texts on inverted backgrounds
$inverted-text-color: $ui-base-color !default;
$lighter-text-color: $ui-base-lighter-color !default;
$light-text-color: $ui-primary-color !default;
// Language codes that uses CJK fonts
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
// Variables for components
$media-modal-media-max-width: 100%;
// put margins on top and bottom of image to avoid the screen covered by image.
$media-modal-media-max-height: 80%;
$no-gap-breakpoint: 1175px;
$font-sans-serif: 'mastodon-font-sans-serif' !default;
$font-display: 'mastodon-font-display' !default;
$font-monospace: 'mastodon-font-monospace' !default;
// Avatar border size (8% default, 100% for rounded avatars)
$ui-avatar-border-size: 8%;
// More variables
$dismiss-overlay-width: 4rem;
:root {
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
}

View File

@ -0,0 +1,44 @@
// Dependent colors
$black: #000000;
$white: #ffffff;
$classic-base-color: #191919;// Dark Gray
$classic-primary-color: #E7E7E7;// Platinum
$classic-secondary-color: #FF8680; // Paler red
$classic-highlight-color: #850700; // Red highlights
// Differences
$success-green: lighten(#3c754d, 8%);
$base-overlay-background: $white !default;
$valid-value-color: $success-green !default;
$ui-base-color: $classic-primary-color !default;
$ui-base-lighter-color: #b0c0cf;
$ui-primary-color: #9bcbed;
$ui-secondary-color: $classic-base-color !default;
$ui-highlight-color: $classic-highlight-color !default;
$primary-text-color: $black !default;
$darker-text-color: $classic-base-color !default;
$highlight-text-color: darken($ui-highlight-color, 8%) !default;
$dark-text-color: #444b5d;
$action-button-color: #606984;
$inverted-text-color: $black !default;
$lighter-text-color: $classic-base-color !default;
$light-text-color: #444b5d;
// Newly added colors
$account-background-color: $white !default;
// Invert darkened and lightened colors
@function darken($color, $amount) {
@return hsl(hue($color), saturation($color), lightness($color) + $amount);
}
@function lighten($color, $amount) {
@return hsl(hue($color), saturation($color), lightness($color) - $amount);
}
$emojis-requiring-inversion: 'chains';

View File

@ -0,0 +1,101 @@
// Commonly used web colors
$black: #000000; // Black
$white: #ffffff; // White
$red-600: #b7253d !default; // Deep Carmine
$red-500: #df405a !default; // Cerise
$blurple-600: #563acc; // Iris
$blurple-500: #6364ff; // Brand purple
$blurple-300: #858afa; // Faded Blue
$grey-600: #4e4c5a; // Trout
$grey-100: #dadaf3; // Topaz
$success-green: #79bd9a !default; // Padua
$error-red: $red-500 !default; // Cerise
$warning-red: #ff5050 !default; // Sunset Orange
$gold-star: #ca8f04 !default; // Dark Goldenrod
$red-bookmark: $warning-red;
// Values from the classic Mastodon UI
$classic-base-color: #191919; // Dark Gray
$classic-primary-color: #e7e7e7; // Platinum
$classic-secondary-color: #ff8680; // Paler red
$classic-highlight-color: #850700; // Red highlights
// Variables for defaults in UI
$base-shadow-color: $black !default;
$base-overlay-background: $black !default;
$base-border-color: $white !default;
$simple-background-color: $white !default;
$valid-value-color: $success-green !default;
$error-value-color: $error-red !default;
// Tell UI to use selected colors
$ui-base-color: $classic-base-color !default; // Darkest
$ui-base-lighter-color: lighten(
$ui-base-color,
26%
) !default; // Lighter darkest
$ui-primary-color: $classic-primary-color !default; // Lighter
$ui-secondary-color: $classic-secondary-color !default; // Lightest
$ui-highlight-color: $classic-highlight-color !default;
$ui-button-color: $white !default;
$ui-button-background-color: $blurple-500 !default;
$ui-button-focus-background-color: $blurple-600 !default;
$ui-button-secondary-color: $grey-100 !default;
$ui-button-secondary-border-color: $grey-100 !default;
$ui-button-secondary-focus-background-color: $grey-600 !default;
$ui-button-secondary-focus-color: $white !default;
$ui-button-tertiary-color: $blurple-300 !default;
$ui-button-tertiary-border-color: $blurple-300 !default;
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
$ui-button-tertiary-focus-color: $white !default;
$ui-button-destructive-background-color: $red-500 !default;
$ui-button-destructive-focus-background-color: $red-600 !default;
// Variables for texts
$primary-text-color: $white !default;
$darker-text-color: $ui-primary-color !default;
$dark-text-color: $ui-base-lighter-color !default;
$secondary-text-color: $ui-secondary-color !default;
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
$action-button-color: $ui-base-lighter-color !default;
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
$passive-text-color: $gold-star !default;
$active-passive-text-color: $success-green !default;
// For texts on inverted backgrounds
$inverted-text-color: $ui-base-color !default;
$lighter-text-color: $ui-base-lighter-color !default;
$light-text-color: $ui-primary-color !default;
// Language codes that uses CJK fonts
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
// Variables for components
$media-modal-media-max-width: 100%;
// put margins on top and bottom of image to avoid the screen covered by image.
$media-modal-media-max-height: 80%;
$no-gap-breakpoint: 1175px;
$font-sans-serif: 'mastodon-font-sans-serif' !default;
$font-display: 'mastodon-font-display' !default;
$font-monospace: 'mastodon-font-monospace' !default;
// Avatar border size (8% default, 100% for rounded avatars)
$ui-avatar-border-size: 8%;
// More variables
$dismiss-overlay-width: 4rem;
:root {
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
}

View File

@ -0,0 +1,60 @@
// Commonly used web colors
$black: #000000; // Black
$white: #ffffff; // White
$success-green: #79bd9a !default; // Padua
$error-red: #df405a !default; // Cerise
$warning-red: #ff5050 !default; // Sunset Orange
$gold-star: #ca8f04 !default; // Dark Goldenrod
$red-bookmark: $warning-red;
// Values from the classic Mastodon UI
$classic-base-color: #191919;// Dark Gray
$classic-primary-color: #E7E7E7;// Platinum
$classic-secondary-color: #FF8680; // Paler red
$classic-highlight-color: #850700; // Red highlights
// Variables for defaults in UI
$base-shadow-color: $black !default;
$base-overlay-background: $black !default;
$base-border-color: $white !default;
$simple-background-color: $white !default;
$valid-value-color: $success-green !default;
$error-value-color: $error-red !default;
// Tell UI to use selected colors
$ui-base-color: $classic-base-color !default; // Darkest
$ui-base-lighter-color: lighten($ui-base-color, 26%) !default; // Lighter darkest
$ui-primary-color: $classic-primary-color !default; // Lighter
$ui-secondary-color: $classic-secondary-color !default; // Lightest
$ui-highlight-color: $classic-highlight-color !default;
// Variables for texts
$primary-text-color: $white !default;
$darker-text-color: $ui-primary-color !default;
$dark-text-color: $ui-base-lighter-color !default;
$secondary-text-color: $ui-secondary-color !default;
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
$action-button-color: $ui-base-lighter-color !default;
$passive-text-color: $gold-star !default;
$active-passive-text-color: $success-green !default;
// For texts on inverted backgrounds
$inverted-text-color: $ui-base-color !default;
$lighter-text-color: $ui-base-lighter-color !default;
$light-text-color: $ui-primary-color !default;
// Language codes that uses CJK fonts
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
// Variables for components
$media-modal-media-max-width: 100%;
// put margins on top and bottom of image to avoid the screen covered by image.
$media-modal-media-max-height: 80%;
$no-gap-breakpoint: 1175px;
$font-sans-serif: 'mastodon-font-sans-serif' !default;
$font-display: 'mastodon-font-display' !default;
$font-monospace: 'mastodon-font-monospace' !default;

View File

@ -20,4 +20,10 @@ class ApplicationMailer < ActionMailer::Base
headers['X-Auto-Response-Suppress'] = 'All'
headers['Auto-Submitted'] = 'auto-generated'
end
def set_autoreply_headers!
headers['Precedence'] = 'list'
headers['X-Auto-Response-Suppress'] = 'All'
headers['Auto-Submitted'] = 'auto-generated'
end
end

View File

@ -11,7 +11,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer
attributes :domain, :title, :version, :source_url, :description,
:usage, :thumbnail, :languages, :configuration,
:registrations
:registrations, :max_toot_chars
has_one :contact, serializer: ContactSerializer
has_many :rules, serializer: REST::RuleSerializer
@ -90,6 +90,10 @@ class REST::InstanceSerializer < ActiveModel::Serializer
}
end
def max_toot_chars
1500
end
private
def registrations_enabled?

View File

@ -7,7 +7,6 @@ require "pathname"
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
Pathname.new(__FILE__).realpath)
require "rubygems"
require "bundler/setup"
require "webpacker"

View File

@ -7,7 +7,6 @@ require "pathname"
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
Pathname.new(__FILE__).realpath)
require "rubygems"
require "bundler/setup"
require "webpacker"

129
ca-certificate.crt Normal file
View File

@ -0,0 +1,129 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=11" />
<meta name="msapplication-TileImage" content="resources/images/icon_tile.png?v=4398" />
<meta name="application-name" content="GYRO-NAS" />
<meta name="msapplication-TileColor" content="#246BB3"/>
<meta name="description" content="Synology NAS provides a full-featured network attached storage (NAS) solution to help you manage, backup and share data among Windows, Mac and Linux easily." />
<meta name="keywords" content="Multitasking,Web Application,Personal Cloud" />
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<link rel="mask-icon" href="webman/safari_pin_icon.svg" color="#0086E5" />
<link rel="shortcut icon" href="webman/favicon.ico?v=40438" />
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_96.png?v=40438" sizes="96x96"/>
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_64.png?v=40438" sizes="64x64"/>
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_48.png?v=40438" sizes="48x48"/>
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_32.png?v=40438" sizes="32x32"/>
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_16.png?v=40438" sizes="16x16"/>
<title>GYRO-NAS</title>
<link rel="stylesheet" type="text/css" href="scripts/ext-3.4/resources/css/ext-all.css?v=1672898121" />
<link rel="stylesheet" type="text/css" href="scripts/scrollbar/flexcroll.css?v=1672898121" />
<link rel="stylesheet" type="text/css" href="scripts/ext-3/ux/ux-all.css?v=1672898121" />
<link rel="stylesheet" type="text/css" href="synoSDSjslib/sds.css?v=1683108982" />
<link rel="stylesheet" type="text/css" href="webman/desktop/dist/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/sds/dist/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/taskbar/dist/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/resources/css/desktop.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/login/dist/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/TinyMCE/style.css?v=1664290641" />
<link rel="stylesheet" type="text/css" href="webman/modules/ClipBoardJS/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/Utils/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/Widgets/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/BandwidthControl/style.css?v=1634102886" />
<link rel="stylesheet" type="text/css" href="webman/modules/DiskMessageHandler/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/UpdateMaskApp/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/HelpBrowser/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/SharingManager/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/ResourceMonitor/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/MyDSCenter/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/AudioPlayer/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/Share/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/ResetAdminApp/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/DesktopProgress/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/PersonalSettings/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/WelcomeApp/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/BackgroundTaskMonitor/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/HotkeyManager/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/LogCenter/style.css?v=1683102860" />
<link rel="stylesheet" type="text/css" href="webman/modules/AdminCenter/style.css?v=1684221484" />
<link rel="stylesheet" type="text/css" href="webman/modules/C3/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/VideoPlayer2/style.css?v=1672294400" />
<link rel="stylesheet" type="text/css" href="webman/modules/FileChooser/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/EnableNewUpdateSetting/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/ConfigBackup/style.css?v=1681465681" />
<link rel="stylesheet" type="text/css" href="webman/modules/PhotoViewer/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/DSMNotify/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/SystemInfoApp/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/SupportForm/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/TaskSchedulerUtils/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/TaskSchedulerWidget/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/StorageManager/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/PkgManApp/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/OTPWizard/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/SecurityScan/style.css?v=1673258467" />
<link rel="stylesheet" type="text/css" href="webman/modules/PollingTask/style.css?v=1683795523" />
<link rel="stylesheet" type="text/css" href="webman/modules/ExternalDevices/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/modules/DataDrivenDocuments/style.css?v=1683699872" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/ScsiTarget/style.css?v=1682669852" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/MediaServer/style.css?v=1678790334" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/DownloadStation/style.css?v=1678963497" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyApplicationService/style.css?v=1680860414" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SupportService/style.css?v=1684410294" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynoFinder/style.css?v=1679717023" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/HyperBackup/style.css?v=1681269975" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/FileTaskMonitor/style.css?v=1688118145" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/ActiveInsight/style.css?v=1686219681" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyDrive-ShareSync/style.css?v=1684478206" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/CodecPack/style.css?v=1678789109" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/AudioStation/style.css?v=1678958732" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyDrive/style.css?v=1684478211" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/VPNCenter/style.css?v=1678785883" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/AntiVirus/style.css?v=1681806841" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/VideoStation/style.css?v=1682651714" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/LogCenter/style.css?v=1684289330" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyPhotos/style.css?v=1685941114" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/CloudSync/style.css?v=1686280500" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/DhcpServer/style.css?v=1681815017" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyDrive-Drive/style.css?v=1684478206" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/FileBrowser/style.css?v=1688118153" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SMBService/style.css?v=1688543926" />
<link rel="stylesheet" type="text/css" href="webman/3rdparty/OAuthService/style.css?v=1678783966" />
<link rel="stylesheet" type="text/css" href="sharing/style.css?v=1669770591" />
<link rel="stylesheet" type="text/css" href="../scripts/ext-3.4/resources/css/ext-all.css?v=1690892764" />
<link rel="stylesheet" type="text/css" href="../webman/3rdparty/FileBrowser/style.css?v=1690892764" />
<link rel="stylesheet" type="text/css" href="../webman/3rdparty/FileBrowser/custom_template.css?v=1690892764" />
</head>
<body role="application">
<div id="sds-wallpaper"></div>
<!-- Don't contain any text node to avoid IE insertBefore bug -->
<div id="sds-login-dialog-form" style="position: absolute; top: -10000px; left: -10000px;"><form id="login-form" class="x-plain-body" method="POST" action="webman/login.cgi" target="login_iframe"><input type="text" class="x-form-text" id="login_username" name="username" maxlength="256" /><input type="password" class="x-form-text" id="login_passwd" name="passwd" maxlength="256" autocomplete="off" /><input class="x-form-text" type="text" id="login_otp" name="OTPcode" maxlength="8" autocomplete="off" /><input type="submit" id="login_submit" style="position: absolute; top: -10000px; left: -10000px;" tabindex="-1" /></form><iframe id="login_iframe" name="login_iframe" width="0" height="0" frameborder="0" style="display: none;"></iframe></div>
<div id="sds-apply-preview-form" style="position: absolute; top: -10000px; left: -10000px;"><form id="preview-form" class="x-plain-body" method="POST" action="webman/modules/ControlPanel/modules/dsm.cgi" target="preview_iframe"><input type="submit" id="preview_submit" style="position: absolute; top: -10000px; left: -10000px;" tabindex="-1" /></form><iframe id="preview_iframe" name="preview_iframe" width="0" height="0" frameborder="0" style="display: none;"></iframe></div>
<script type="text/javascript" src="webapi/entry.cgi?api=SYNO.Core.Desktop.Defs&version=1&method=getjs&v=1685730685"></script>
<script type="text/javascript" src="webapi/entry.cgi?api=SYNO.Core.Desktop.JSUIString&version=1&method=getjs&lang=enu&v=1688388798"></script>
<script type="text/javascript" src="webapi/entry.cgi?api=SYNO.Core.Desktop.UIString&version=1&method=getjs&lang=enu&v=1688388802"></script>
<script type="text/javascript" src="scripts/babel-polyfill/polyfill.js?v=1672898121"></script>
<script type="text/javascript" src="scripts/synowebapi.js/synowebapi.min.js?v=1675322301"></script>
<script type="text/javascript" src="scripts/synocredential.js/synocredential.min.js?v=1680089528"></script>
<script type="text/javascript" src="scripts/vue/vue.min.js?v=1664290694"></script>
<script type="text/javascript" src="scripts/vuex/vuex.min.js?v=1664290698"></script>
<script type="text/javascript" src="scripts/vue-router/vue-router.min.js?v=1667901351"></script>
<script type="text/javascript" src="scripts/syno-vue-components/syno-vue-components.min.js?v=1684234437"></script>
<script type="text/javascript" src="synoSDSjslib/dist/vendor.bundle.js?v=1683108982"></script>
<script type="text/javascript" src="synoSDSjslib/dist/sds.bundle.js?v=1683108982"></script>
<script type="text/javascript" src="webman/sds/dist/dsm.common.bundle.js?v=1683699872"></script>
<script type="text/javascript" src="sharing/sharing-sds.js?v=1683699872"></script>
<script type="text/javascript" src="sharing/sharing.js?v=1669770591"></script>
<script type="text/javascript" src="../scripts/ext-3.4/adapter/ext/ext-base.js?v=1690892764"></script>
<script type="text/javascript" src="../scripts/ext-3.4/ext-all.js?v=1690892764"></script>
<script type="text/javascript" src="../scripts/ext-3.4/ux/ux-all.js?v=1690892764"></script>
<script type="text/javascript" src="../webman/sds/dist/dsm.common.bundle.js?v=1690892764"></script>
<script type="text/javascript" src="../wfmlogindialog.js?v=1690892764"></script>
<script type="text/javascript" src="webapi/entry.cgi?api=SYNO.Core.Sharing.Session&amp;version=1&amp;method=get&amp;sharing_id=&quot;2VsGPnJVW&quot;&amp;sharing_status=&quot;none&quot;&v=1683603442"></script>
<div id="main"></div>
<div class="pre-load-x-window-br"></div>
</body>
</html>

View File

@ -10,6 +10,8 @@ Rails.application.configure do
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
config.hosts << 'wobbldev.tarrien.net'
# Do not eager load code on boot.
config.eager_load = false

View File

@ -1195,9 +1195,9 @@ en:
title: Security verification failed
'429': Too many requests
'500':
content: We're sorry, but something went wrong on our end.
content: We're sorry, but something went wrong on our end. You can check the status of Wobbl and its companion systems at our status page - https://status.wobbl.xyz.
title: This page is not correct
'503': The page could not be served due to a temporary server failure.
'503': The page could not be served due to a temporary server failure. You can check the status of Wobbl and its companion systems at our status page - https://status.wobbl.xyz.
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="%{apps_path}">native apps</a> for Mastodon for your platform.
existing_username_validator:
not_found: could not find a local user with that username

View File

@ -9,7 +9,7 @@ threads min_threads_count, max_threads_count
if ENV['SOCKET']
bind "unix://#{ENV['SOCKET']}"
else
bind "tcp://#{ENV.fetch('BIND', '127.0.0.1')}:#{ENV.fetch('PORT', 3000)}"
bind "tcp://#{ENV.fetch('BIND', '0.0.0.0')}:#{ENV.fetch('PORT', 3000)}"
end
environment ENV.fetch('RAILS_ENV') { 'development' }

View File

@ -18,6 +18,7 @@ module.exports = merge(sharedConfig, {
mode: 'development',
cache: true,
devtool: 'cheap-module-eval-source-map',
parallelism: 1,
stats: {
errorDetails: true,

View File

@ -0,0 +1,3 @@
const { environment } = require('@rails/webpacker')
module.exports = environment

5
config/webpack/test.js Normal file
View File

@ -0,0 +1,5 @@
process.env.NODE_ENV = process.env.NODE_ENV || 'development'
const environment = require('./environment')
module.exports = environment.toWebpackConfig()

View File

@ -3,10 +3,6 @@
class CopyAccountStats < ActiveRecord::Migration[5.2]
disable_ddl_transaction!
class MigrationAccount < ApplicationRecord
self.table_name = :accounts
end
def up
safety_assured do
if supports_upsert?
@ -31,7 +27,7 @@ class CopyAccountStats < ActiveRecord::Migration[5.2]
def up_fast
say 'Upsert is available, importing counters using the fast method'
MigrationAccount.unscoped.select('id').find_in_batches(batch_size: 5_000) do |accounts|
Account.unscoped.select('id').find_in_batches(batch_size: 5_000) do |accounts|
execute <<-SQL.squish
INSERT INTO account_stats (account_id, statuses_count, following_count, followers_count, created_at, updated_at)
SELECT id, statuses_count, following_count, followers_count, created_at, updated_at
@ -48,7 +44,7 @@ class CopyAccountStats < ActiveRecord::Migration[5.2]
# We cannot use bulk INSERT or overarching transactions here because of possible
# uniqueness violations that we need to skip over
MigrationAccount.unscoped.select('id, statuses_count, following_count, followers_count, created_at, updated_at').find_each do |account|
Account.unscoped.select('id, statuses_count, following_count, followers_count, created_at, updated_at').find_each do |account|
params = [account.id, account[:statuses_count], account[:following_count], account[:followers_count], account.created_at, account.updated_at]
exec_insert('INSERT INTO account_stats (account_id, statuses_count, following_count, followers_count, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6)', nil, params)
rescue ActiveRecord::RecordNotUnique

View File

@ -13,7 +13,7 @@ module Mastodon
end
def patch
0
3
end
def default_prerelease

View File

@ -46,13 +46,14 @@
"@github/webauthn-json": "^2.1.1",
"@material-design-icons/svg": "^0.14.10",
"@rails/ujs": "^7.0.6",
"@rails/webpacker": "5.4.4",
"@reduxjs/toolkit": "^1.9.5",
"@renchap/compression-webpack-plugin": "^6.1.4",
"@svgr/webpack": "^5.5.0",
"abortcontroller-polyfill": "^1.7.5",
"atrament": "0.2.4",
"arrow-key-navigation": "^1.2.0",
"async-mutex": "^0.4.0",
"atrament": "0.2.4",
"autoprefixer": "^10.4.14",
"axios": "^1.4.0",
"babel-loader": "^8.3.0",
@ -212,7 +213,7 @@
"stylelint": "^15.10.1",
"stylelint-config-standard-scss": "^11.0.0",
"typescript": "^5.0.4",
"webpack-dev-server": "^3.11.3",
"webpack-dev-server": "^3",
"yargs": "^17.7.2"
},
"resolutions": {

View File

@ -6,3 +6,6 @@ Disallow: /
User-agent: *
Disallow: /media_proxy/
Disallow: /interact/
User-agent: GPTBot
Disallow:/

8247
stderr.log Normal file

File diff suppressed because it is too large Load Diff

View File

@ -88,6 +88,11 @@ const pgConfigFromEnv = (env) => {
},
};
if (!!process.env.DB_SSLMODE && process.env.DB_SSLMODE !== 'disable') {
pgConfigs.development.ssl = true;
pgConfigs.production.ssl = {ca: fs.readFileSync("ca-certificate.crt") };
}
let baseConfig;
if (env.DATABASE_URL) {
@ -110,7 +115,7 @@ const pgConfigFromEnv = (env) => {
baseConfig.ssl = { rejectUnauthorized: false };
break;
default:
baseConfig.ssl = {};
baseConfig.ssl = { rejectUnauthorized: false };
break;
}
}

View File

@ -3,6 +3,7 @@ module.exports = {
ignoreFiles: [
'app/javascript/styles/mastodon/reset.scss',
'app/javascript/flavours/glitch/styles/reset.scss',
'app/javascript/flavours/glitch/styles/modern/modern.css',
'app/javascript/styles/win95.scss',
'coverage/**/*',
'node_modules/**/*',

5068
yarn.lock

File diff suppressed because it is too large Load Diff