Email blocklisting #718
			No reviewers
			
		
		
		
	
	
	
		Labels
		
	
	
	
	No labels
	
		
			
	
	A: API
		
			A: Backend
		
			A: Federation
		
			A: Front-End
		
			A: I18N
		
			A: Meta
		
			A: Security
		
			Build
		
			C: Bug
		
			C: Discussion
		
			C: Enhancement
		
			C: Feature
		
			Compatibility
		
			Dependency
		
			Design
		
			Documentation
		
			Good first issue
		
			Help welcome
		
			Mobile
		
			Rendering
		
			S: Blocked
		
			S: Duplicate
		
			S: Incomplete
		
			S: Instance specific
		
			S: Invalid
		
			S: Needs Voting/Discussion
		
			S: Ready for review
		
			Suggestion
		
			S: Voted on Loomio
		
			S: Wontfix
		
		
	
		No milestone
		
			
		
	
	No project
	
		
	
	
	
	
		No assignees
		
	
	
		
			
		
	
	
	
		1 participant
	
	
		
		
	Notifications
	
		
	
	
	
		
	
	
	Due date
No due date set.
	
		Dependencies
		
		
	
	
	No dependencies set.
		Reference: Plume/Plume#718
		
	
		Loading…
	
	Add table
		
		Reference in a new issue
	
	
	No description provided.
		
		Delete branch "email-blocklisting"
	
	Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This should address #587 and any concerns for the terminology hopefully.
Codecov Report
very very tired 👀
I'm a bit confused as to why there are no spaces after
,s in function calls, starting hereOh, that's because rustfmt can't touch the templates :)
Fixed.
Globally it works fine, great job! I left comments about "details", but after that it should be good!
Maybe make this column unique, to avoid duplicated blocks?
Little detail, so if you don't feel like doing it, don't change, but: keywords in SQL usually are in all caps.
You could use https://doc.rust-lang.org/std/result/enum.Result.html#method.err
Maybe add a
@so that in only matches one domain, and not all domains with the same ending (I doubt this case will ever be encountered actually, be just to be sure).It should probably redirect to
/admin/emailsinstead.It should probably redirect to
/admin/emails.Maybe call it
/admin/emails/deleteif it is what it does?@ -177,0 +205,4 @@}#[post("/admin/emails/new", data = "<form>")]pub fn add_email_blocklist(I'm almost sure I did something similar for user management, couldn't the code be shared between the two?
@ -14,6 +14,7 @@(&uri!(instance::admin).to_string(), i18n!(ctx.1, "Configuration"), true),(&uri!(instance::admin_instances: page = _).to_string(), i18n!(ctx.1, "Instances"), false),(&uri!(instance::admin_users: page = _).to_string(), i18n!(ctx.1, "Users"), false),(&uri!(instance::admin_email_blocklist: page=_).to_string(), i18n!(ctx.1, "Email blocklist"), false)This link is absent from the "Instances" page.
This button should probably be red (
class="destructive"IIRC), and explicitly say that it deletes all blocklisted emails if it is what it does.This
<input>should be before the label IMO, as it is usually done with checkboxes.@ -0,0 +6,4 @@@(ctx:BaseContext, emails: Vec<BlocklistedEmail>, page:i32, n_pages:i32)@:base(ctx, i18n!(ctx.1, "Blocklisted Emails"), {}, {}, {<h1>@i18n!(ctx.1,"Blocklisted Emails")</h1>@tabs(&[There should probably be a
<h1>here, like on other administration pages.It deletes only the ones selected.
But yeah, that's a good idea
@ -177,0 +205,4 @@}#[post("/admin/emails/new", data = "<form>")]pub fn add_email_blocklist(We couldn't see how to do that cleanly, since that's significantly more complicated.
That makes sense.
Might as well follow the conventions :)
That's much nicer :)
@ -177,0 +205,4 @@}#[post("/admin/emails/new", data = "<form>")]pub fn add_email_blocklist(OK, let's do it this way then, we can always refactor later if needed.
Sorry, actually there is more… 😕 (but it should be the last this time!)
Actually, this button should probably be hidden if there is currently no blocked addresses, and a placeholder message should be shown (
<p class="center">is made for that).Moving it inside of the
<label>tag would be better, otherwise they are not on the same line, and it is hard to understand they are linked.There is a
imissing ini18nhere, it doesn't show correctly (it shouldn't even compile, but for some reason, it does).What an odd mystery
That makes sense
Perfect! Thank you!