Hide meaningless real names

This commit is contained in:
Simon Ser 2021-09-21 17:24:39 +02:00
parent a9cfbcd6b6
commit 184b29b6e3
3 changed files with 21 additions and 2 deletions

View file

@ -2,6 +2,7 @@ import { html, Component } from "../lib/index.js";
import linkify from "../lib/linkify.js";
import { strip as stripANSI } from "../lib/ansi.js";
import { BufferType, ServerStatus, getServerName } from "../state.js";
import * as irc from "../lib/irc.js";
const UserStatus = {
HERE: "here",
@ -134,7 +135,7 @@ export default function BufferHeader(props) {
}
let realname = props.buffer.name;
if (props.user.realname) {
if (irc.isMeaningfulRealname(props.user.realname, props.buffer.name)) {
realname = stripANSI(props.user.realname || "");
}

View file

@ -2,6 +2,7 @@ import { html, Component } from "../lib/index.js";
import { getNickURL } from "../state.js";
import { strip as stripANSI } from "../lib/ansi.js";
import Membership from "./membership.js";
import * as irc from "../lib/irc.js";
class MemberItem extends Component {
constructor(props) {
@ -48,7 +49,7 @@ class MemberItem extends Component {
mask = `${user.username}@${user.hostname}`;
}
if (user.realname) {
if (irc.isMeaningfulRealname(user.realname, this.props.nick)) {
title = stripANSI(user.realname);
if (mask) {
title = `${title} (${mask})`;

View file

@ -638,3 +638,20 @@ export function forEachChannelModeUpdate(msg, isupport, callback) {
callback(mode, add, arg);
}
}
/**
* Since the realname is mandatory, many clients set a meaningless realname.
*/
export function isMeaningfulRealname(realname, nick) {
if (!realname || realname === nick) {
return false;
}
if (realname.toLowerCase() === "realname") {
return false;
}
// TODO: add more quirks
return true;
}