Nice.
> On Feb 19, 2026, at 2:15 AM, Josh Tynjala <[email protected]> wrote:
>
> The DomMatrixReadOnly.m12 issue should be fixed now too.
>
> --
> Josh Tynjala
> Bowler Hat LLC
> https://bowlerhat.dev/
>
>
> On Wed, Feb 18, 2026 at 10:40 AM Josh Tynjala <[email protected]>
> wrote:
>
>> I've fixed the bodyUsed Object/Boolean issue. It was exactly as I
>> suspected. We had logic to check for @override on methods and get the type
>> from the interface, but not for @override on fields.
>>
>> It looks like the DomMatrixReadOnly.m12 one is because we're skipping some
>> implemented interfaces in the hierarchy. We check all of the interfaces
>> from the class and its super classes. However, we're skipping any
>> additional interfaces that the first set of interfaces are extending. I
>> should get that working later today too.
>>
>> --
>> Josh Tynjala
>> Bowler Hat LLC
>> https://bowlerhat.dev/
>>
>>
>> On Wed, Feb 18, 2026 at 9:13 AM Harbs <[email protected]> wrote:
>>
>>> I think I see the pattern:
>>>
>>> DOMMatrixReadOnly implements DOMMatrixInit
>>>
>>> DOMMatrixInit extends DOMMatrix2DInit
>>>
>>> Any getters and setter defined in DOMMatrixInit are compiled as
>>> getters/setters
>>>
>>> Any getters and setters in the super interface (DOMMatrix2DInit) becomes
>>> vars.
>>>
>>> Definitely seems like a bug...
>>>
>>>> On Feb 18, 2026, at 7:09 PM, Harbs <[email protected]> wrote:
>>>>
>>>> Another really weird one:
>>>>
>>>> /**
>>>> * @type {number}
>>>> * @see https://www.w3.org/TR/geometry-1/#dom-dommatrixreadonly-m12
>>>> */
>>>> DOMMatrixReadOnly.prototype.m12;
>>>>
>>>> /**
>>>> * @type {number}
>>>> * @see https://www.w3.org/TR/geometry-1/#dom-dommatrixreadonly-m13
>>>> */
>>>> DOMMatrixReadOnly.prototype.m13;
>>>>
>>>> Becomes:
>>>>
>>>> /**
>>>> * @see JSType - [number]
>>>> * @see https://www.w3.org/TR/geometry-1/#dom-dommatrixreadonly-m12
>>>> * @see [w3c_geometry1]
>>>> */
>>>> public var m12:Number;
>>>>
>>>> /**
>>>> * @see JSType - [number]
>>>> * @see https://www.w3.org/TR/geometry-1/#dom-dommatrixreadonly-m13
>>>> * @see [w3c_geometry1]
>>>> */
>>>> public function get m13():Number{ return 0; };
>>>> public function set m13(value:Number):void{};
>>>>
>>>>
>>>> Why did m12 get compiled as a var, while m13 became getters/setters?
>>>>
>>>> (The var causes an error.)
>>>>
>>>> That was just one sampling. Some properties get compiled as varsity and
>>> others as setters/getters.
>>>>
>>>> I did not see any pattern.
>>>>
>>>>> On Feb 18, 2026, at 4:47 PM, Harbs <[email protected]> wrote:
>>>>>
>>>>> That issue came from fecthapi.js
>>>>>
>>>>> Other files have other issues.
>>>>>
>>>>>> On Feb 18, 2026, at 12:32 PM, Yishay Weiss <[email protected]>
>>> wrote:
>>>>>>
>>>>>> Which externs file are you using?
>>>>>> ________________________________
>>>>>> From: Harbs <[email protected]>
>>>>>> Sent: Wednesday, February 18, 2026 12:12 PM
>>>>>> To: Apache Royale Development <[email protected]>
>>>>>> Subject: typedefs
>>>>>>
>>>>>> I’m trying to add more js typedefs and I’m running into issues.
>>>>>>
>>>>>> One issue I just ran into is:
>>>>>>
>>>>>> /** @type {boolean} */
>>>>>> Body.prototype.bodyUsed;
>>>>>>
>>>>>>
>>>>>> /** @override */
>>>>>> Request.prototype.bodyUsed;
>>>>>>
>>>>>> /** @override */
>>>>>> Response.prototype.bodyUsed;
>>>>>>
>>>>>>
>>>>>> Request and Response both:
>>>>>> * @implements {Body}
>>>>>>
>>>>>> When compiling, we get an error because the Request and Response
>>> setters/getters are typed to “Object”, while the Body ones are correctly
>>> types as Booleans.
>>>>>>
>>>>>> It seems like externc does not find the inherited types using
>>> @implements.
>>>>>>
>>>>>> Is this a bug? Something not implemented? Is it easy to fix?
>>>>>>
>>>>>> We can add more files to the list we maintain in royale-extras, but
>>> I’d like to reduce that rather than increase it.
>>>>>>
>>>>>> Thoughts?
>>>>>>
>>>>>> Harbs
>>>>>
>>>>
>>>
>>>