<<  >> (p.2)
    Author Topic: Best practices for long strings in posts (and feature request)  (Read 163 times)
    nullius (OP)
    Copper Member
    Hero Member
    *****
    Offline

    Activity: 672
    Merit: 2855


    Privacy is necessary & sufficient for fungibility.


    View Profile WWW
    November 01, 2026, 12:35:09 PM
    Merited by katanic97 (1)
     #1

    What are the current best practices for putting a very long, unbroken, no-white string into a forum post?  This is necessary for some cryptocurrency on-chain addresses.  It would also be necessary for Lightning invoices, such as for tipjars.

    Thus far, I have only tested current forum behaviour with post previews.  For obvious reasons, it would be useful to put such strings into signatures; I will soon play with this using an alt account that’s currently a Newbie Copper Member, and thus has the minimal (Member-level) useful signature privileges for this purpose.

    Following are my empirical discoveries thus far, as of the time of this writing, and then a feature request that would allow unmangled long strings without letting trolls break the forum’s layout.

    ✗ Fails: Long string in post.

    SMF destructively mangles the text to break it up.  For a cryptocurrency address, this is downright dangerous.

    Sample output:

    Code:
    u1zelv8lksqh5h7j5t2mvuu8uvq6k93v2pq4jndxcrsvjjtmuryla3sgys9j37scu4lavgsmshfd26n<span style="margin: 0 -0.5ex 0 0;"> </span>dq6hpqt86zlh0g5ynt74xydzeplj47tjjzmsywhlunmjzpvsa8cz35g64amq7p5jax2k93h25jz6nl7<span style="margin: 0 -0.5ex 0 0;"> </span>re44urm0tc2fwcwl38cx

    ✗ Fails: Long string in tiny text.

    Even with [size=1pt][/size], SMF mangles it.  Sample output:

    Code:
    <span style="font-size: 1pt !important; line-height: 1.3em;">u1zelv8lksqh5h7j5t2mvuu8uvq6k93v2pq4jndxcrsvjjtmuryla3sgys9j37scu4lavgsmshfd26n<span style="margin: 0 -0.5ex 0 0;"> </span>dq6hpqt86zlh0g5ynt74xydzeplj47tjjzmsywhlunmjzpvsa8cz35g64amq7p5jax2k93h25jz6nl7<span style="margin: 0 -0.5ex 0 0;"> </span>re44urm0tc2fwcwl38cx</span>

    ✗ Fails: Putting the string into an [url=][/url].

    To embed a cryptocurrency address this way, one needs a “scheme”.  And for the scheme-part of an URL, the only special string that the forum recognizes is bitcoin.  For most anything else, the forum inserts an http://; this results in a totally broken URL which my browser doesn’t even make clickable/copyable.

    Sample output:

    Code:
    <a class="ul" href="http://zcash:u1zelv8lksqh5h7j5t2mvuu8uvq6k93v2pq4jndxcrsvjjtmuryla3sgys9j37scu4lavgsmshfd26ndq6hpqt86zlh0g5ynt74xydzeplj47tjjzmsywhlunmjzpvsa8cz35g64amq7p5jax2k93h25jz6nl7re44urm0tc2fwcwl38cx">test</a>

    ✔ Succeeds, but not always wanted: Long string in [code][/code] tags.

    On this forum, [code][/code] tags introduce a horizontal scrollbar with no linewrapping.

    For cryptocurrency addresses, despite the deprecation of clearsigned messages, it is desirable anyway to PGP-sign the address—just in case an attacker ever gains write access to the forum’s database.  Whereas [code][/code] tags are the only reasonable way to post a --clearsign message here.

    Sample output:

    Code:
    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA512

    # BTC == NFT

    “Taint”, “AML checks”, and “risk scores” are cancer.  This is chemotherapy.

    BTC is not money anymore.  Each BTC UTXO is now an NFT:  A nonfungible
    token, with value that may be cancelled by fiat of an “AML check”.
    Therefore, I no longer accept any on-chain BTC unless starvation-level
    desperate.  I surely will not “hodl” any BTC to help enrich banks,
    billionaires, and ETFs while they make “AML” to control me.

    To send me *money*, which is fungible by definition, please send
    Zcash (ZEC):
    u1zelv8lksqh5h7j5t2mvuu8uvq6k93v2pq4jndxcrsvjjtmuryla3sgys9j37scu4lavgsmshfd26ndq6hpqt86zlh0g5ynt74xydzeplj47tjjzmsywhlunmjzpvsa8cz35g64amq7p5jax2k93h25jz6nl7re44urm0tc2fwcwl38cx

    See also this post by Satoshi Nakamoto:
    https://bt.irlbtc.com/view/770.msg8637#msg8637

    Alternatively, I will accept XMR.  Its cryptography is inferior, but
    it’s fungible; therefore, it’s money:
    85rhEmu4HzfCFrQvzwNa2vc7wvycRBpuVhZFL28sjH4zCmD2DNrEKdaNYecDUtWjCXRfPpiPsmAuC9UZs94evzsrNncsRG5

    In the future, *perhaps* I may set up a Lightning server to accept
    BTC by Lightning *only*.  That way, I’ll be able to buy more money.
    It’s strictly a business decision about whether the overhead of a
    Lightning server and inbound channel capacity is financially worthwhile,
    under a “Bitcoin minimalist” policy.

    To make me want BTC again, annihilate the entire infrastructure of
    “AML” with extreme prejudice.  This is a non-negotiable demand.
    No compromise.  I DO NOT CARE if BTC goes to $10 million on KYC-CEX order
    books; the argument, “but BTC number go up!” is only a tulip-bulb Ponzi
    seduction to bribe me to submit to the system I came to Bitcoin to escape.
    If I’m expected to know how to do an “AML check” to use BTC, then
    the long-term value of BTC to me is zero.

    I don’t know how to use an “AML checker”, and I promise that I shall
    never learn.  If “AML checkers” are now required for use of Bitcoin,
    then on that particular point, I shall remain an ignorant newbie forever.
    I swear on my PGP key.
    -----BEGIN PGP SIGNATURE-----

    iHUEARYKAB0WIQSNOMR84IlYpr/EF5vEJ5MVn575SQUCaucjAQAKCRDEJ5MVn575
    SV+FAP9rgf2fLCIQTduOxu9P4PzQYlVXzdOkpZCV3d0lpAXhugEAitKS0jvDjSeH
    GiPT3sjvweKadWB6ovua64bbiXdAGQA=
    =wTB1
    -----END PGP SIGNATURE-----

    Hey, it works!  However, [code][/code] tags are not always wanted.  In various scenarios, the (a) block-level BBcode pseudo-element with (b) horizontal scrollbar and (c) typewriter font is the wrong tool for the job.

    It be better to let the browser wrap unmangled text naturally—such that the reader could see the entire string all at once, without using a horizontal scrollbar.



    Feature request: CSS overflow-wrap: anywhere;

    Instead of destructively mangling long no-whitespace strings, it looks like
    Code:
    overflow-wrap: anywhere;
    is the right CSS for the job.

    anywhere

    To prevent overflow, an otherwise unbreakable string of characters — like a long word or URL — may be broken at any point if there are no otherwise-acceptable break points in the line. No hyphenation character is inserted at the break point. Soft wrap opportunities introduced by the word break are considered when calculating min-content intrinsic sizes.

    break-word

    The same as the anywhere value, with normally unbreakable words allowed to be broken at arbitrary points if there are no otherwise acceptable break points in the line, but soft wrap opportunities introduced by the word break are NOT considered when calculating min-content intrinsic sizes.

    According to MDN’s explanation of minimum intrinsic size, it looks to me like anywhere (not break-word) is the correct option to prevent trolls from using ultra-long “words” to break the forum’s layout.  But I haven’t tested it.  Loosely to paraphrase Knuth, why bother trying things in practice, when you can prove them mathematically be lazy?

    The forum’s very un-semantic HTML tag soup is a pet peeve of mine, but I notice that someone has improved it from what it was in the past.  As a further enhancement, the CSS here would probably just be a minor template tweak.  However, I have no idea what PHP may be required to make SMF stop mangling text—and I don’t know if substantively altering the rendered output may cause any problems in the vast archive of posts.

    ▄▄████████████████████▄▄
    ▄███████▀▀██████▀▀███████▄
    █████▀██████████████▀█████
    ████████▄▄██████▄▄████▀███
    ██████████████████████████
    ██▄▄██████████████▄▄██████
    ██▀▀██████████████████▄▄██
    ██████▀▀██████████████▀▀██
    ██████████████████████████
    ███▄████▀▀██████▀▀████████
    █████▄██████████████▄█████
    ▀███████▄▄██████▄▄███████▀
    ▀▀████████████████████▀▀

     DΞX.fo 
    ▄▄██████
    █████████
    ██████████
    ██████████
    ██████████
    █████████
    ▀▀██████

    ▄███████
    ▄██████████
    ████████████
    █████████████
    █████████████
    |███████▄███▄███▄███▄██
    █████████▄▀█████▀▄████
    ███▄████████▀█▀████████▄
    █████████▀███████▀██████
    ████████████████████████
    █▄██▄▀▀▀▀▀██▄▀▄██▀▀▀▀▀▄▀
    ▄████▄▀▀▀██▀███▀██▀▀▀▄
    ████████████████████
    ▀███████████████████▄
    █▀████████████████████▄▄
    ████████████████████████
    ████████████████████████
    ███▀███████████████████▀
    |
Page 1
Viewing Page: 2