fixes in help cmd, make everything use markdown
This commit is contained in:
@@ -30,7 +30,6 @@ pub struct ProcessMention<'a> {
|
||||
replies: String,
|
||||
announcements: String,
|
||||
do_boost_prev_post: bool,
|
||||
want_markdown: bool,
|
||||
}
|
||||
|
||||
impl<'a> ProcessMention<'a> {
|
||||
@@ -134,7 +133,6 @@ impl<'a> ProcessMention<'a> {
|
||||
replies: String::new(),
|
||||
announcements: String::new(),
|
||||
do_boost_prev_post: false,
|
||||
want_markdown: false,
|
||||
group_acct,
|
||||
status_acct,
|
||||
status,
|
||||
@@ -271,9 +269,7 @@ impl<'a> ProcessMention<'a> {
|
||||
let mut msg = std::mem::take(&mut self.replies);
|
||||
debug!("r={}", msg);
|
||||
|
||||
if self.want_markdown {
|
||||
apply_trailing_hashtag_pleroma_bug_workaround(&mut msg);
|
||||
}
|
||||
apply_trailing_hashtag_pleroma_bug_workaround(&mut msg);
|
||||
|
||||
let mention = crate::tr!(self, "mention_prefix", user = &self.status_acct);
|
||||
self.send_reply_multipart(mention, msg).await?;
|
||||
@@ -283,9 +279,7 @@ impl<'a> ProcessMention<'a> {
|
||||
let mut msg = std::mem::take(&mut self.announcements);
|
||||
debug!("a={}", msg);
|
||||
|
||||
if self.want_markdown {
|
||||
apply_trailing_hashtag_pleroma_bug_workaround(&mut msg);
|
||||
}
|
||||
apply_trailing_hashtag_pleroma_bug_workaround(&mut msg);
|
||||
|
||||
let msg = crate::tr!(self, "group_announcement", message = &msg);
|
||||
self.send_announcement_multipart(&msg).await?;
|
||||
@@ -301,11 +295,7 @@ impl<'a> ProcessMention<'a> {
|
||||
for p in parts {
|
||||
if let Ok(post) = StatusBuilder::new()
|
||||
.status(p)
|
||||
.content_type(if self.want_markdown {
|
||||
"text/markdown"
|
||||
} else {
|
||||
"text/plain"
|
||||
})
|
||||
.content_type("text/markdown")
|
||||
.in_reply_to(&parent)
|
||||
.visibility(Visibility::Direct)
|
||||
.build()
|
||||
@@ -647,8 +637,6 @@ impl<'a> ProcessMention<'a> {
|
||||
}
|
||||
|
||||
async fn cmd_help(&mut self) {
|
||||
self.want_markdown = true;
|
||||
|
||||
let membership_line = if self.is_admin {
|
||||
crate::tr!(self, "help_membership_admin")
|
||||
} else if self.config.is_member(&self.status_acct) {
|
||||
@@ -677,7 +665,6 @@ impl<'a> ProcessMention<'a> {
|
||||
}
|
||||
|
||||
async fn cmd_list_members(&mut self) {
|
||||
self.want_markdown = true;
|
||||
if self.is_admin {
|
||||
self.add_reply(crate::tr!(self, "member_list_heading"));
|
||||
self.append_member_list_to_reply();
|
||||
@@ -689,7 +676,6 @@ impl<'a> ProcessMention<'a> {
|
||||
|
||||
async fn cmd_list_tags(&mut self) {
|
||||
self.add_reply(crate::tr!(self, "tag_list_heading"));
|
||||
self.want_markdown = true;
|
||||
let mut tags = self.config.get_tags().collect::<Vec<_>>();
|
||||
tags.sort();
|
||||
|
||||
|
||||
@@ -583,6 +583,15 @@ mod tests {
|
||||
use crate::error::GroupError;
|
||||
use crate::store::group_config::{acct_to_server, GroupConfig};
|
||||
|
||||
fn empty_group_config() -> GroupConfig {
|
||||
GroupConfig {
|
||||
config: Default::default(),
|
||||
control: Default::default(),
|
||||
state: Default::default(),
|
||||
_group_tr: Default::default()
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_acct_to_server() {
|
||||
assert_eq!("pikachu.rocks", acct_to_server("raichu@pikachu.rocks"));
|
||||
@@ -592,7 +601,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_default_rules() {
|
||||
let group = GroupConfig::default();
|
||||
let group = empty_group_config();
|
||||
assert!(!group.is_member_only());
|
||||
assert!(!group.is_member("piggo@piggo.space"));
|
||||
assert!(!group.is_admin("piggo@piggo.space"));
|
||||
@@ -601,7 +610,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_member_only() {
|
||||
let mut group = GroupConfig::default();
|
||||
let mut group = empty_group_config();
|
||||
assert!(group.can_write("piggo@piggo.space"), "rando can write in public group");
|
||||
|
||||
group.set_member_only(true);
|
||||
@@ -638,7 +647,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_banned_users() {
|
||||
// Banning single user
|
||||
let mut group = GroupConfig::default();
|
||||
let mut group = empty_group_config();
|
||||
group.ban_user("piggo@piggo.space", true).unwrap();
|
||||
assert!(!group.can_write("piggo@piggo.space"), "banned user can't post");
|
||||
group.ban_user("piggo@piggo.space", false).unwrap();
|
||||
@@ -648,7 +657,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_banned_members() {
|
||||
// Banning single user
|
||||
let mut group = GroupConfig::default();
|
||||
let mut group = empty_group_config();
|
||||
group.set_member_only(true);
|
||||
|
||||
group.set_member("piggo@piggo.space", true).unwrap();
|
||||
@@ -669,7 +678,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_server_ban() {
|
||||
let mut group = GroupConfig::default();
|
||||
let mut group = empty_group_config();
|
||||
assert!(group.can_write("hitler@nazi.camp"), "randos can write");
|
||||
|
||||
group.ban_server("nazi.camp", true).unwrap();
|
||||
@@ -689,7 +698,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_sanity() {
|
||||
let mut group = GroupConfig::default();
|
||||
let mut group = empty_group_config();
|
||||
|
||||
group.set_admin("piggo@piggo.space", true).unwrap();
|
||||
assert_eq!(
|
||||
|
||||
Reference in New Issue
Block a user