Fix/rescue 227 regressions (#232)
* fix: restore regressions introduced by #227 #227 deleted build.rs (reverting #224's version-from-tag feature), removed DOM cycle guards in append_child/insert_before that prevent infinite loops on self-append/self-insert, dropped the CharacterData textContent fast-path, removed PI/Doctype Rust ops, and cut the env_allows_private_network() check from validate_fetch_url. Restored: - crates/obscura-cli/build.rs (version from tag/env) - OBSCURA_BUILD_VERSION in version string and banner - allow_private_network env var propagation in main.rs - append_child/insert_before self-cycle guards in tree.rs - textContent CharacterData fast-path in tree.rs - create_processing_instruction, create_doctype, pi_target, doctype_name, doctype_public_id ops in ops.rs - ProcessingInstruction branch in set_text_content op - env_allows_private_network() check in validate_fetch_url * fix(js): Europe/Berlin timezone, plugins iterator recursion Two bugs in the stealth bootstrap code from #227: - 'Europe/Germany' is not a valid IANA timezone; Intl.DateTimeFormat silently fell back to UTC. Changed to 'Europe/Berlin'. - plugins[Symbol.iterator] called this[Symbol.iterator]() recursively, blowing the stack on Array.from(navigator.plugins). Fixed to bind Array.prototype[Symbol.iterator] directly to the array.
This commit is contained in:
1 parent
990f2a63c8
commit
6b3cc1a686
5 files changed
+130
-6
No files matched your search
Vendored
+2
-2
@@ -1842,7 +1842,7 @@ globalThis.navigator = {
|
||||
p.item = (i) => p[i] || null;
|
||||
p.namedItem = (name) => p.find(x => x.name === name) || null;
|
||||
p.refresh = () => {};
|
||||
p[Symbol.iterator] = function() { return this[Symbol.iterator](); };
|
||||
p[Symbol.iterator] = Array.prototype[Symbol.iterator].bind(p);
|
||||
return p;
|
||||
},
|
||||
get mimeTypes() {
|
||||
@@ -4312,7 +4312,7 @@ _markNative(MediaStream); _markNative(MediaStreamTrack);
|
||||
_markNative(RTCPeerConnection); _markNative(RTCSessionDescription); _markNative(RTCIceCandidate);
|
||||
|
||||
const _OrigDateTimeFormat = Intl.DateTimeFormat;
|
||||
const _defaultTZ = 'Europe/Germany';
|
||||
const _defaultTZ = 'Europe/Berlin';
|
||||
Intl.DateTimeFormat = function(locales, options) {
|
||||
if (!options) options = {};
|
||||
if (!options.timeZone) options.timeZone = _defaultTZ;
|
||||
|
||||
Reference in new issue
Block a user