基础设施做的久了容易有一种傲气:“用户不会用,用户都是傻逼”,我总是期望用户能“改正”他们的用法,按照“预期的”“正确的”方式来使用服务,但现实是用户从来都不会改。

最近发现腰板硬如 Apple 也经常向用户低头。

之前很热闹的一条推特提到过 Apple 在 libmalloc 中为 WeChat 提供的兼容

/* WeChat references this, only god knows why.  This symbol does nothing. */
extern int stack_logging_enable_logging;

BTW,在更新的 libmaclloc-317.100.9 中仍然留存着这个符号:https://opensource.apple.com/source/libmalloc/libmalloc-317.100.9/private/make_tapi_happy.h.auto.html

今天跟群友聊天时又发现了一个新的宝藏:https://github.com/WebKit/WebKit/blob/main/Source/WebCore/page/Quirks.cpp,我只摘录一点点供参考:

static bool isStorageAccessQuirkDomainAndElement(const URL& url, const Element& element)
{
    ...
    // Skype case.
    // FIXME(220105): Remove this quirk once Skype under outlook.live.com completes their login flow redesign.
    if (url.host() == "outlook.live.com"_s) {
        return element.hasClass()
        && (element.classNames().contains("_3ioEp2RGR5vb0gqRDsaFPa")
        || element.classNames().contains("_2Am2jvTaBz17UJ8XnfxFOy"));
    }
    ...

    return false;
}

bool Quirks::needsMillisecondResolutionForHighResTimeStamp() const
{
    if (!needsQuirks())
        return false;
    // webkit.org/b/210527
    auto host = m_document->url().host();
    return equalLettersIgnoringASCIICase(host, "www.icourse163.org");
}

按照某非知名黑客的话说就是:“这个页面简直就是你如果足够奇怪并有名就会上榜”。以对 Skype 的兼容为例,commit message 里面写的很清楚:

This is a temporary quirk to assist a high-traffic website while they complete the large task of migrating away from logins using third party cookies. This quirk will be removed when the site is updated.

然而这个 Commit 提交自 2020-12-24,阅读代码的时间是 2021-06-15,将近半年过去了,WebKit 的腰板还是没有直起来,并有可能一直弯下去。

看着 WebKit 的代码,我默默地打开了用户的工单,把 “做不了” 改成了 “能做但是要加钱”。