Section One BBS

Welcome, Guest.


Subject: Javascript weirdness Date: Thu Apr 21 2022 06:17 pm
From: Digital Man To: deon

  Re: Javascript weirdness
  By: deon to Digital Man on Wed Apr 20 2022 09:16 pm

 >   Re: Javascript weirdness
 >   By: Digital Man to deon on Tue Apr 19 2022 10:15 pm
 >
 >  > I'll continue to debug further, but my first suspect is that
 >  > get_all_msg_headers() method. Thanks for the report,
 >
 > No problem - glad you see it too :)
 >
 > BTW: Not sure if it is related, but is the result of get_all_msg_headers()
 > supposed to be read-only?
 >
 > Originally I was iterating through through that result to update the
 > messages, but I was noticing the following behaviour:
 >
 > * call get_all_msg_headers()
 > * iterate through each item "for (hdr in hdrs)"
 > * set hdr.tag to "foo"
 > * pass hdr to put_msg_header();
 >
 > But the items were not updating.
 >
 > If, for example hdr.tag = "bar", if I had a writeln(hdr.tag) after setting
 > it to "foo", it would report "foo". But if I JSON.stringify(hdr), the result
 > shows that the tags field is still "bar".
 >
 > My workaround was to redo a call to "get_msg_header(hdr.number)" and use
 > that result to update and pass back to put_msg_header(), but (IMHO) that is
 > a waste calls (if get_all_msg_headers is not meant to be r/o)... I also
 > tried JSON.parse(JSON.stringify(hdr)) that worked too.
 >
 > Not sure if that is related?

No, get_all_msg_headers() is not r/o.

Does put_msg_header() return false when you try to use it in that manner?

On the originally reported issue with Tags, I found:
- the issue still happens when using get_msg_header() instead
- the issue does not happen on Win32 builds
- the issue goes away when changing one line in js_msgbase.c, but it's clear
  why

-       LAZY_STRING_TRUNCSP_NULL("tags", p->msg.tags, JSPROP_ENUMERATE);
+       LAZY_STRING_TRUNCSP("tags", p->msg.tags, JSPROP_ENUMERATE);

still looking into it.
-- 
                                            digital man (rob)

This Is Spinal Tap quote #14:
The Boston gig has been cancelled. [Don't] worry, it's not a big college town.
Norco, CA WX: 64.3°F, 61.0% humidity, 5 mph S wind, 0.00 inches rain/24hrs

---
 ■ SynchronetVertrauen Home of Synchronet [vert/cvs/bbs].synchro.net

Previous Message       Next Message
In Reply To: Javascript weirdness (deon)
Replies: Javascript weirdness (deon)Javascript weirdness (deon)