Merge pull request 'Improvements/adjustments for Mastodon integration' (#185) from chore/mastodon into master
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #185
This commit is contained in:
commit
4ee6bfddfa
@ -209,6 +209,6 @@ class Setting < RailsSettings::Base
|
||||
|
||||
def self.default_services
|
||||
# TODO Make configurable from respective service settings page
|
||||
%w[ discourse gitea mediawiki xmpp ]
|
||||
%w[ discourse gitea mastodon mediawiki xmpp ]
|
||||
end
|
||||
end
|
||||
|
@ -131,7 +131,7 @@ class User < ApplicationRecord
|
||||
|
||||
def mastodon_address
|
||||
return nil unless Setting.mastodon_enabled?
|
||||
"#{self.cn}@#{Setting.mastodon_address_domain}"
|
||||
"#{self.cn.gsub("-", "_")}@#{Setting.mastodon_address_domain}"
|
||||
end
|
||||
|
||||
def valid_attribute?(attribute_name)
|
||||
|
@ -98,7 +98,17 @@
|
||||
description: "The official Web app",
|
||||
icon_path: "/img/logos/icon_mastodon-2.svg",
|
||||
links: [
|
||||
["Launch", "https://kosmos.social"]
|
||||
["Launch", "https://kosmos.social"],
|
||||
["GitHub", "https://github.com/mastodon/mastodon"]
|
||||
]
|
||||
) %>
|
||||
<%= render AppInfoComponent.new(
|
||||
name: "Phanpy",
|
||||
description: " A slick, feature-rich Web app for mobile and desktop",
|
||||
icon_path: "/img/logos/icon_phanpy.svg",
|
||||
links: [
|
||||
["Launch", "https://phanpy.social"],
|
||||
["GitHub", "https://github.com/cheeaun/phanpy"]
|
||||
]
|
||||
) %>
|
||||
<%= render AppInfoComponent.new(
|
||||
@ -150,6 +160,15 @@
|
||||
["Google Play", "https://play.google.com/store/apps/details?id=org.joinmastodon.android.sk"]
|
||||
]
|
||||
) %>
|
||||
<%= render AppInfoComponent.new(
|
||||
name: "Phanpy",
|
||||
description: " A slick, feature-rich Web app for mobile and desktop",
|
||||
icon_path: "/img/logos/icon_phanpy.svg",
|
||||
links: [
|
||||
["Launch", "https://phanpy.social"],
|
||||
["GitHub", "https://github.com/cheeaun/phanpy"]
|
||||
]
|
||||
) %>
|
||||
</div>
|
||||
<div class="hidden grid grid-cols-1 gap-6" data-tabs-target="panel">
|
||||
<%= render AppInfoComponent.new(
|
||||
@ -180,6 +199,15 @@
|
||||
["App Store", "https://apps.apple.com/app/mammoth-for-mastodon/id1667573899"]
|
||||
]
|
||||
) %>
|
||||
<%= render AppInfoComponent.new(
|
||||
name: "Phanpy",
|
||||
description: " A slick, feature-rich Web app for mobile and desktop",
|
||||
icon_path: "/img/logos/icon_phanpy.svg",
|
||||
links: [
|
||||
["Launch", "https://phanpy.social"],
|
||||
["GitHub", "https://github.com/cheeaun/phanpy"]
|
||||
]
|
||||
) %>
|
||||
</div>
|
||||
<div class="hidden grid grid-cols-1 gap-6" data-tabs-target="panel">
|
||||
<%= render AppInfoComponent.new(
|
||||
|
67
public/img/logos/icon_phanpy.svg
Normal file
67
public/img/logos/icon_phanpy.svg
Normal file
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="54"
|
||||
height="54"
|
||||
viewBox="0 0 54 54"
|
||||
version="1.1"
|
||||
xml:space="preserve"
|
||||
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
id="svg4"
|
||||
sodipodi:docname="icon_phanpy.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:serif="http://www.serif.com/"><defs
|
||||
id="defs4" /><sodipodi:namedview
|
||||
id="namedview4"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="16.359375"
|
||||
inkscape:cx="26.192932"
|
||||
inkscape:cy="24.542502"
|
||||
inkscape:window-width="2160"
|
||||
inkscape:window-height="1281"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<rect
|
||||
id="Logo-simple"
|
||||
serif:id="Logo simple"
|
||||
x="0"
|
||||
y="0"
|
||||
width="63.993999"
|
||||
height="63.993999"
|
||||
style="fill:none" />
|
||||
<g
|
||||
id="Logo-simple1"
|
||||
serif:id="Logo simple"
|
||||
transform="translate(-5.123639,-4.9968626)">
|
||||
<g
|
||||
id="g4">
|
||||
<path
|
||||
d="m 37.774,11.471 c 14.639,3.752 19.034,16.557 15.889,31.304 -0.696,3.261 -2.563,6.661 -6.356,8.693 -3.204,1.717 -8.07,2.537 -15.338,0.55 0,0 -9.634,-2.404 -9.634,-2.404 C 11.651,46.992 8.378,38.733 10.027,31.823 13.654,16.622 25.57,8.343 37.774,11.471 Z"
|
||||
style="fill:#a4bff7"
|
||||
id="path1" />
|
||||
<path
|
||||
d="m 36.76,15.429 c 12.289,3.15 15.547,14.114 12.907,26.493 -0.947,4.44 -4.937,9.365 -16.664,6.143 L 23.319,45.648 C 15.465,43.725 12.789,37.848 14.001,32.771 17.017,20.132 26.612,12.828 36.76,15.429 Z"
|
||||
style="fill:#d8e7fe"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m 27.471,24.991 c -1.457,-0.698 -7.229,3.213 -7.663,8.926 -0.182,2.39 4.55,3.237 5.071,-0.169 0.725,-4.743 3.715,-8.218 2.592,-8.757 z"
|
||||
style="fill:#6081e6"
|
||||
id="path3" />
|
||||
<path
|
||||
d="m 38.217,26.996 c -2.083,0.327 -0.382,5.901 -0.595,10.727 -0.123,2.8 4.388,3.464 4.703,2.011 1.098,-5.073 -2.066,-13.058 -4.108,-12.738 z"
|
||||
style="fill:#6081e6"
|
||||
id="path4" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
@ -41,6 +41,14 @@ RSpec.describe User, type: :model do
|
||||
expect(user.mastodon_address).to eq("jimmy@kosmos.social")
|
||||
end
|
||||
end
|
||||
|
||||
describe "username contains hyphen/dash" do
|
||||
let(:jammy) { build :user, cn: "jammy-jellyfish", ou: "kosmos.org" }
|
||||
|
||||
it "returns the user address" do
|
||||
expect(jammy.mastodon_address).to eq("jammy_jellyfish@kosmos.org")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -147,7 +155,7 @@ RSpec.describe User, type: :model do
|
||||
after { clear_enqueued_jobs }
|
||||
|
||||
it "enables default services" do
|
||||
expect(user).to receive(:enable_service).with(%w[ discourse gitea mediawiki xmpp ])
|
||||
expect(user).to receive(:enable_service).with(%w[ discourse gitea mastodon mediawiki xmpp ])
|
||||
user.send :devise_after_confirmation
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user