Chapter 4: Sandalwood, Strange Jokes, and a Stubborn Mobile Cache

Game: xiuxian
Author: Paper City
Published: Mar 15, 2026, 22:15 (Shanghai)

L transforms the page into a sandalwood collector’s edition and adds talents, jokes, and another draw. Y battles caching and mobile testing, repairs the local server, opens LAN access, and adds guardrails.

The following plots are purely fictitious and any similarity is purely coincidental.

Opening

By the fourth episode, L was no longer satisfied with “being able to play”.

She stared at the page for a while, and suddenly said: "It still looks too much like a web page." After saying that, she dragged the computer closer and began to look through the previous colors, borders, buttons, and fonts. As I turned over and over, my expression became more and more like that of someone preparing to demolish a house and renovate it. Y glanced at him and had a bad feeling. All programmers know that kind of hunch. It's not that a bug is coming. It’s aesthetics that’s coming.

"I want a sandalwood collector's edition," L said.

Y paused for a second: "Your word sounds expensive."

L ignored him at all and went back to find Teacher G. He started talking about wood, copper edges, and the color of words like parchment, very seriously. What's the dark brown background, what's the bright edge polished off of old wood, what's like a broken secret book that's been hidden in the master's secret room for many years. The conversation went smoothly. Go find Kimi again. The next method is very rough, it's not repair, it's skin resurfacing. Big change.

She changed the page to look like a cabinet

That afternoon, `app/index.html` was basically flipped by her.

It turned out that the black and gold starry sky was still there, but it was no longer enough for her. She wanted something more solid, with wood grain, copper edges, main text like parchment, and even the title was replaced with a typeface that didn't look very modern at first glance. The value card, attribute bar, log area, and buttons that light up when clicked on the page have all been re-grown. Don’t even miss the pause button. It turns out to be a word. Now it has been directly replaced by a symbol, and the hard stick is there, like a small mechanism.

L was still mumbling while correcting it.

"This is not like cultivation, it's like backstage."

"This color is too clean. A little dirty."

"The first point in this log is good. Keep it."

When Y heard the words "dirty", he turned to look at her but said nothing. It's useless to say it. She was already on top.

Just changing the skin is not enough. L also started stuffing things inside. Very stuffed.

Ten new talents were added at once, and the names became less and less like a serious fairy. What about "Krypton gold warrior", "non-chief", "late night champion", "old six", "Erha bloodline", "love brain" and "general trust". She added one, read one to herself, and stopped for a moment when she read "Invalid Effort": "This is so accurate, it must be put in."

Then she felt that drawing talents was not humane enough. In other words, it is not enough to give people hope. So there was an extra "draw again" on the page. Not unlimited. That's too shameless. Give it once. Just once. Like the last chip deliberately left for you at the casino door.

"People must have the idea of ​​reincarnation," she said.

Later, even the event text began to suffer. Those sentences that were still in order were changed by her one by one. It’s not about making things worse, it’s about making things worse. More like something people would laugh about today. "Flying Sword Stocks", "9090 Graphics Card", "Three Years of Immortality and Five Years of Nascent Soul", "Tiandao Server Connection Timed Out", "Card BUG Used Spiritual Stones and Developers Wiped Data". She is very fast when she changes this kind of sentences, as fast as posting memes in a group, without hesitation at all.

Y picked up his phone and took a look at it, and happened to read the sentence "The sword was flying at a high speed and had a tragic rear-end collision with the crane in front."

He was silent for two seconds and said: "Your current writing style has gone from practicing cultivation to traffic accidents."L didn’t even raise his head: “The world of cultivation must also have road rage.”

He was anxious about the cache

It's not these jokes that really annoy Y. It's cache.

L changed too quickly. The page changes from time to time. The problem is that sometimes browsers simply don't cooperate. She had obviously just changed the color of the buttons, but when she opened the phone, it was still the same one. I just inserted the "Smoke Again" and it didn't seem to be the case on the other machine. L refreshed back and forth several times, and his face started to darken.

"I obviously changed it."

Y said: "Don't worry, let me take a look."

Take a look. Another look.

It’s not that the page hasn’t changed. The server and browser are pretending to be dead together. The cache is stuck there, like a piece of overnight rice cake, hard as hell. The more L refreshed, the more annoyed he became, and the more Y watched, the more he knew he couldn't escape tonight. Then he went to change `serve.sh`.

This change is very Y. First, cut the script to the project root directory and start it, then add a timestamp behind the URL and force a cache bust. Not enough. Directly ask the local static service to add `Cache-Control`, `Pragma`, and `Expires`, and clearly tell the browser: don’t install it, don’t save it, and get it again every time.

L stood nearby and watched him change it, and asked very straightforwardly: "Can you let me see it on my mobile phone and see it as the same thing as my computer?"

Y didn't look up: "Theoretically, yes. In theory."

"Your tone doesn't sound good."

"Because I'm going to start touching Windows."

The later part is a bit lively. Y added another script for mobile phone access, moved the services in WSL to the LAN, and used PowerShell to configure port forwarding and firewall. When the administrator window popped up, L instinctively ducked back.

"This thing looks like it's trying to take away my computer."

"No." Y said, "Most likely not."

"Your 'probability' is also very annoying."

But it worked out in the end. The phone can be opened directly. It’s not a screenshot, it’s not a screen recording, it’s a real page, a real button, a real “take it again”. L took two steps back and forth in the living room with his mobile phone, as if he was inspecting the newly laid floor tiles. He clicked and said, "This is good. This is finally the right one."

He conveniently repaired another circle of guardrails

The phone is connected. Caching is less annoying. It's not over yet.

Y looked back at the big lump at the front, and it was still big. It’s not because he suddenly learned the front-end. There is no such thing. He just saw that if L continued to make changes like this in the past few days, sooner or later a certain DOM node would be deleted, and then the entire page would black out for you to see. If the test pile continues to mess up, it will be harder to find out later. Anyway, it's over, so I'll just add another guardrail.

So there are some more Y things in the back. Start writing DOM contracts in AGENTS. Don’t pretend you haven’t seen missing nodes; don’t secretly fake nodes in test piles; don’t use `eval` to hard-run expressions; if you change the page structure, you have to look back to see if the engine can still find the original place. There are also tests. Follow up.

L didn’t hear much of this anymore at that time. She continued to click on the page at the other end, continued to laugh at some new copywriting, and occasionally looked up and said: "Pause that symbol and center it a little bit." or "Is the word 'Puxin' too harsh? Forget it, I won't change it."

This is what the living room looked like that day. The more L changed the game, the more it looked like a cursing wooden box; while Y was chasing the cache and the phone, he used guardrails to surround the box. No one is idle.