Export (manual) stuck at 40 percent

For the last few (beta) versions, my manual export gets stuck at 40 percent.
Support log ID: IFZNF83B-euc
MacOS 11.3.1 (20E241)
Zotero 5.0.97-beta.27+861d5787d

Sure thing:
Support Log ID: GL5ZTW4F-euc
Same problem on my end here, though. :-(

I see just one export, but that's an auto-export that completes. Can I get a copy of your database to see if I can replicate this?

How do you know it's stuck at 40%? I don't get progress feedback.

I am probably to trusting in dialog boxes :-)

Oh I thought it was a manual export?

My bad/misunderstanding. I thought, when I choose "Automatic export - disabled" and thus have to trigger the exports manually that also means "manual export". I forgot that you can export manually directly as well.

That's alright, I realize that's ambiguous now. But then I did see that one manually-triggered auto-export in IFZNF83B-euc, and that finished correctly.
It is in principle possible that the cache isn't fully filled, but the export completed correctly. I'll have to think about providing some kind of feedback for large exports.

Thanks for updating BBT. Alas, no change, I do see a new "Progress: " Info line, which is something you included here, I am sure.

Here's the
Support log ID: ZQGLNISY-euc
Thanks for all your awesome support!

You should be able to see the progress climb; in the main interface there's also a progress bar left of the quick search that shows while an export is running.

There was no change for me, unfortunately.

Oooooh, I LOVE ❤  that new "Status" line in the dialog. Gives more information, uses less space, well-done you! Here's the result from the log:
BDIU22HX-euc
Works as advertised.

So you do see the progress climb now?

I've re-added the cache rate -- I have a method now which is faster and more precise.

So you do see the progress climb now?

Indeed!

With the <IP_ADDRESS>4 testbuild, I don't get the loading BBT info window on the bottom right anymore. Also I get a dialog box that looks like this:

How do I trigger an export now?

Also, I cannot start the sending the BBT support log process anymore. Rebooted Zotero (beta: 5.0.97-beta.27+861d5787d) to no avail.

That means BBT didn't finish loading. The preferences are hidden until the load is done. Can you get me a debug log?

Does 901 work for you?

Does 901 work for you?

Yes and no. Everything works as advertised the FIRST time I install BBT 910. But when I reboot Zotero to enable the support log, no window, no reaction after selecting the menu (Send BBT support log)

934 also seems to show status in 5 percent increments. This works only after a fresh install and the first reboot.

When it starts failing (preferably on 934), can you quit Zotero and then start it using
/Applications/Zotero.app/Contents/MacOS/zotero -purgecaches -jsconsole -ZoteroDebugText > ~/BBT.log &

and get me BBT.log

(it is correct progress reported in 5% increments)

I cannot reproduce the problem locally with your database yet. I can restart Zotero beta at will with your database.

Do I copy each line individually from the error console? I don't seem to be able to select more than one.

You can skip the error console

Support log: CV6CXQ99-euc

I thought you had a problem where you couldn't send a debug log?

With that command you send me it works

I ran that in the Terminal

Ehm... that's not supposed to make any difference. There's also way too little in the logs. What about if you run
/Applications/Zotero.app/Contents/MacOS/zotero -ZoteroDebugText > ~/BBT.log &

Ehm... that's not supposed to make any difference. There's also way too little in the logs. What about if you run
/Applications/Zotero.app/Contents/MacOS/zotero -ZoteroDebugText > ~/BBT.log &

Well, it did 😳  - booted up normally and back to square one.

Sorry, I am confused. Is this a Terminal command or a link to a folder?

both work. which is super odd to me.

Terminal command, sorry.

When I ran it in Terminal, I wasn't able to get the error log again this time. How do I access the info you need?

The output will be in a file called BBT.log in your home dir.

Thanks! 😳
BBT.log

And this was with the error reproduced? There's zero BBT activity in that log.

I booted up Zotero from the Finder this time, not from the Terminal. This is the error log.
BBT.log

Again zero BBT activity. I'm also missing info at the start of the log, for me it starts with
1621938051820 addons.manager  DEBUG Loaded provider scope for resource://gre/modules/addons/XPIProvider.jsm: ["XPIProvider", "XPIInternal"]
1621938051823 addons.manager  DEBUG Loaded provider scope for resource://gre/modules/LightweightThemeManager.jsm: ["LightweightThemeManager"]
1621938051844 addons.manager  DEBUG Loaded provider scope for resource://gre/modules/addons/GMPProvider.jsm
1621938051846 addons.manager  DEBUG Loaded provider scope for resource://gre/modules/addons/PluginProvider.jsm
1621938051847 addons.manager  DEBUG Starting provider: XPIProvider
1621938051847 addons.xpi  DEBUG startup
1621938051847 addons.xpi  INFO  SystemAddonInstallLocation directory is missing
1621938051848 addons.xpi  INFO  Removing all system add-on upgrades.
1621938051848 addons.xpi  DEBUG Skipping unavailable install location app-system-share
1621938051849 addons.xpi  DEBUG checkForChanges
1621938051850 addons.xpi  DEBUG Loaded add-on state: {"app-profile":{"addons":{"debug-bridge@iris-advies.com":{"enabled":true,"lastModifiedTime":1621931997719,"path":"debug-bridge@iris-advies.com","signedState":0,"version":"0.1.5","enableShims":true},"better-bibtex@iris-advies.com":{"enabled":true,"lastModifiedTime":1621931997752,"path":"better-bibtex@iris-advies.com","signedState":0,"version":"5.4.16.emile.limonia","enableShims":true},"lyz@zotero.org":{"enabled":true,"lastModifiedTime":1621931998443,"path":"lyz@zotero.org","signedState":0,"version":"4.1.2a1"}},"path":"/Users/emile/.BBTZ5TEST/extensions"},"app-global":{"addons":{"zoteroOpenOfficeIntegration@zotero.org":{"enabled":true,"lastModifiedTime":1619778875178,"path":"zoteroOpenOfficeIntegration@zotero.org","signedState":0,"version":"5.0.25.SA.<IP_ADDRESS>","enableShims":true,"currentModifiedTime":1619778875178},"zoteroMacWordIntegration@zotero.org":{"enabled":true,"lastModifiedTime":1619778875206,"path":"zoteroMacWordIntegration@zotero.org","signedState":0,"version":"5.0.36.SA.<IP_ADDRESS>","enableShims":true,"currentModifiedTime":1619778875206}},"path":"/Applications/Zotero.app/Contents/Resources/extensions","checkStartupModifications":true}}
1621938051851 addons.xpi  INFO  Mapping<EMAIL_ADDRESS>to<EMAIL_ADDRESS>
and that's missing in BBT.log. I also see this in the console when I start Zotero this way:
$ 2021-05-25 12:20:52.144 zotero[6062:101216] *** WARNING: Textured window <ToolbarWindow: 0x10ec34850> is getting an implicitly transparent titlebar. This will break when linking against newer SDKs. Use NSWindow's -titlebarAppearsTransparent=YES instead.
JavaScript warning: resource://zotero/loader.jsm -> resource://zotero/bluebird/util.js, line 205: unreachable code after return statement
JavaScript warning: resource://zotero/loader.jsm -> resource://zotero/bluebird/util.js, line 205: unreachable code after return statement
JavaScript warning: chrome://zotero/content/zoteroPane.js, line 5347: unreachable code after return statement
objc[6062]: Class ZoteroSBApplicationDelegate is implemented in both<EMAIL_ADDRESS>(0x11eaafb30) and<EMAIL_ADDRESS>(0x11eacba88). One of the two will be used. Which one is undefined.
2021-05-25 12:20:56.118 zotero[6062:101216] Warning: Expected min height of view: (<NSButton: 0x156916c00>) to be less than or equal to 30 but got a height of 32.000000. This error will be logged once per view in violation.

can you make sure Zotero is not running, remove BBT.log, then start using
/Applications/Zotero.app/Contents/MacOS/zotero -ZoteroDebugText > ~/BBT.log &

again, reproduce the error, quit zotero, and then attach the log here.

Submitted through Zotero
D288127080
Debug Output
BBT.log

If you just want to get on with your life, grab 5.4.14, but I'd hugely appreciate it if you would be around to test.

Here's the support log: H2NXZ644-euc

After reboot, same problem, so here's the file:
BBT.log

Can you make a new log with
/Applications/Zotero-beta.app/Contents/MacOS/zotero -ZoteroDebugText 2>&1 > ~/BBT.log &

that doesn't work :-(

Ah shit that should have been
/Applications/Zotero.app/Contents/MacOS/zotero -ZoteroDebugText 2>&1 > ~/BBT.log &

BBT.log

Didn't seem to work. Here's the zip'd file
typescript.zip

It did work, and I think this finally gives me the info I need.

Can you go into the hidden prefs, look up extensions.zotero.translators.better-bibtex.citekeySearch, disable it, and restart Zotero?

I have now updated MacOS to 11.4 (20F71)

No change :-( Should I switch over to the other thread? Or try 960?

960 just adds more logging. It'll help a lot if we could switch to a single thread -- I'm flooded with reports right now and I need to focus.

5.4.19 should fix the problem you have and should also start faster after the first time than it used to.

Not sure where to post it now, but given the other issue is closed, I'll try here. It's running quicker, yes! I also was able to submit a support log:
6UKNQA6A-euc
Alas:

The exported BibTeX file seems complete tho, so that's the important thing to me.
Thanks for all your incredible support!

Ran it again, no change in the cache. Very quick this time (given it's a hot export).
Support log ID: 4VESU7MZ-euc

After clicking "Export now" it ran twice (on its own). Now it's showing 35 percent.
Support Log ID: XJDLE29Q-euc (w/o cache)
Support Log ID: TRGAPSBJ-euc (w cache)

With latest beta () and reactived scite plug-in as it seems to make no difference. Back to 40 percent.
Support Log-ID: 67ZU7JC4-euc

I'm not seeing some things in your log that really should be there. Can you get me a new one? Sorry about all this man, I know Zotero restarts are not fun with a database as large as yours.

I admire your endurance with these issues, so what's a little rebooting in comparison? Here's the
Support Log ID: 4ECS8DCE-euc
BTW, do you need the cache when submitting? It posts faster w/o and if you do not need it, why bother?

In a later release I'll start zipping the logs -- they should compress very heavily. But right now, I don't need the cache, and I only need one run from a non-full cache, as I should see cache-filling happening.
Something is making changes to your library:
(3)(+0000003): Notifier.trigger('add', 'item', [48440], {"skipSelect":true}) added to queue M4uWJhQL
(3)(+0000001): Notifier.trigger('add', 'item-tag', [48440-331], {"48440-331":{"libraryID":1,"tag":"digital","type":0}}) added to queue M4uWJhQL
(3)(+0000000): Notifier.trigger('add', 'item-tag', [48440-1626], {"48440-1626":{"libraryID":1,"tag":"emotion","type":0}}) added to queue M4uWJhQL
(3)(+0000001): Notifier.trigger('add', 'item-tag', [48440-383], {"48440-383":{"libraryID":1,"tag":"ethics","type":0}}) added to queue M4uWJhQL
(3)(+0000000): Notifier.trigger('add', 'item-tag', [48440-823], {"48440-823":{"libraryID":1,"tag":"robotics","type":0}}) added to queue M4uWJhQL
(3)(+0000001): Notifier.trigger('add', 'item-tag', [48440-923], {"48440-923":{"libraryID":1,"tag":"technology","type":0}}) added to queue M4uWJhQL
(3)(+0000001): Notifier.trigger('add', 'item', [48440], {"48440":{"skipSelect":true},"skipAutoSync":true}) called [observers: 22]
    Zotero.Notifier</this.trigger<@chrome://zotero/content/xpcom/notifier.js:140:38
(3)(+0000005): Notifier.trigger('add', 'item-tag', [48440-331,48440-1626,48440-383,48440-823,48440-923], {"skipAutoSync":true,"48440-331":{"libraryID":1,"tag":"digital","type":0},"48440-1626":{"libraryID":1,"tag":"emotion","type":0},"48440-383":{"libraryID":1,"tag":"ethics","type":0},"48440-823":{"libraryID":1,"tag":"robotics","type":0},"48440-923":{"libraryID":1,"tag":"technology","type":0}}) called [observers: 4]
(3)(+0000001): Notifier.trigger('add', 'item', [48441], {"skipSelect":true}) added to queue AHD5f2GW
(3)(+0000001): Notifier.trigger('add', 'item-tag', [48441-12264], {"48441-12264":{"libraryID":1,"tag":"categorizing","type":0}}) added to queue AHD5f2GW
(3)(+0000000): Notifier.trigger('add', 'item-tag', [48441-275], {"48441-275":{"libraryID":1,"tag":"comparative","type":0}}) added to queue AHD5f2GW
(3)(+0000000): Notifier.trigger('add', 'item-tag', [48441-8075], {"48441-8075":{"libraryID":1,"tag":"comparison","type":0}}) added to queue AHD5f2GW
(3)(+0000002): Notifier.trigger('add', 'item-tag', [48441-635], {"48441-635":{"libraryID":1,"tag":"methodology","type":0}}) added to queue AHD5f2GW
(3)(+0000000): Notifier.trigger('add', 'item-tag', [48441-7778], {"48441-7778":{"libraryID":1,"tag":"observation","type":0}}) added to queue AHD5f2GW
(3)(+0000001): Notifier.trigger('add', 'item-tag', [48441-701], {"48441-701":{"libraryID":1,"tag":"observational","type":0}}) added to queue AHD5f2GW
(3)(+0000000): Notifier.trigger('add', 'item-tag', [48441-794], {"48441-794":{"libraryID":1,"tag":"qualitative","type":0}}) added to queue AHD5f2GW
(3)(+0000000): Notifier.trigger('add', 'item-tag', [48441-795], {"48441-795":{"libraryID":1,"tag":"quantitative","type":0}}) added to queue AHD5f2GW
(3)(+0000000): Notifier.trigger('add', 'item', [48441], {"48441":{"skipSelect":true},"skipAutoSync":true}) called [observers: 22]
    Zotero.Notifier</this.trigger<@chrome://zotero/content/xpcom/notifier.js:140:38
(3)(+0000006): Notifier.trigger('add', 'item-tag', [48441-12264,48441-275,48441-8075,48441-635,48441-7778,48441-701,48441-794,48441-795], {"skipAutoSync":true,"48441-12264":{"libraryID":1,"tag":"categorizing","type":0},"48441-275":{"libraryID":1,"tag":"comparative","type":0},"48441-8075":{"libraryID":1,"tag":"comparison","type":0},"48441-635":{"libraryID":1,"tag":"methodology","type":0},"48441-7778":{"libraryID":1,"tag":"observation","type":0},"48441-701":{"libraryID":1,"tag":"observational","type":0},"48441-794":{"libraryID":1,"tag":"qualitative","type":0},"48441-795":{"libraryID":1,"tag":"quantitative","type":0}}) called [observers: 4]
(3)(+0000001): Notifier.trigger('add', 'item', [48442], {"skipSelect":true}) added to queue AKOYFWPr
(3)(+0000003): Notifier.trigger('modify', 'item', [48440], {}) added to queue AKOYFWPr
(3)(+0000001): Notifier.trigger('add', 'item', [48442], {"48442":{"skipSelect":true},"skipAutoSync":true}) called [observers: 22]
    Zotero.Notifier</this.trigger<@chrome://zotero/content/xpcom/notifier.js:140:38
(3)(+0000001): Notifier.trigger('modify', 'item', [48440], {"48440":{},"skipAutoSync":true}) called [observers: 22]
(3)(+0000001): Notifier.trigger('add', 'item', [48443], {"skipSelect":true}) added to queue aIVZBJRN
(3)(+0000001): Notifier.trigger('modify', 'item', [48441], {}) added to queue aIVZBJRN
(3)(+0000001): Notifier.trigger('add', 'item', [48443], {"48443":{"skipSelect":true},"skipAutoSync":true}) called [observers: 22]
    Zotero.Notifier</this.trigger<@chrome://zotero/content/xpcom/notifier.js:140:38
(3)(+0000001): Notifier.trigger('modify', 'item', [48441], {"48441":{},"skipAutoSync":true}) called [observers: 22]

and that's triggering repeated auto-exports of your main library. I don't yet know how that would affect cache filling though, but it is something that stands out.

Never mind, that's not export being kicked off. You have auto-export off, and what I thought were auto-exports was just the resetting of the progress to 0%.

So, actually the opposite is true. I so no export being started in 4ECS8DCE-euc, so I wouldn't expect to see cache activity.

Is this new UI item related to the cache?

Loosely -- it shows the progress of the running export, but it should disappear when the export is done. Apparently it doesn't for everyone, I'm addressing that in #1831, but it looks like this also affects you.

No change, except for the blue progress bar, that indicates "done" now, even with a cache of 40%.
Support log ID: YAKPUV8Q-euc

No change, it seems, but the progress bar works as it should.
Support log ID: EA32LJMC-euc

Shows 100 percent chache. In super duper mega speed time. Not sure what happened there.
Support Log ID: JSWIMRLM-euc

Ran it again, same thing happened. It shows "105%" in the Status line for a short time, then it reverts back to 100%.

Can you install 1004, drop the cache, and try again?

how do I drop the cache?

BBT prefs, advanced.

Some weird behavior. First it wouldn't go beyond preparing 100% (also in the progress bar). Then I clicked Export now again. Same. Then again. This brought up Status 100%, Cache 100%. Clicked again, that showed the 105%. Now it's showing "done". Here's the log
SE3W8ZMN-euc

To debug the cache fill I need debug logging to be on from the start, so when installing a new version, you should not click "restart now" in the addons window, but "restart with logging enabled" from the help menu.

the 105% is really strange. I cap output to 100.

ah, will try again, after this lecture

i meant the lecture I am giving right now :-)

Understood -- I had no plans to lecture you about your test participation :D.

To debug the cache fill I need debug logging to be on from the start, so when installing a new version, you should not click "restart now" in the addons window, but "restart with logging enabled" from the help menu. You couldn't have know that, sorry.

That's what I tried with the first debug log. The problem is, it doesn't seem to have an effect when I click on
BBT > Advanced > Export > Reset cache
in the sense that it still shows 100 percent. When I do run the export again, its shows status "preparation 100%" for a rather long time (I assume that means it's creating the cache?), then goes on to export. That's at least what it seems to be doing:
Log ID (w cache): WW2S2KVQ-euc

That's what I tried with the first debug log. The problem is, it doesn't seem to have an effect when I click on
BBT > Advanced > Export > Reset cache

That does actually drop the cache but didn't update the UI. A fix for that is rolling in.

When I do run the export again, its shows status "preparation 100%" for a rather long time (I assume that means it's creating the cache?),

Sort of, but even with 1004, the cache rate in the UI should have dropped to zero and climbed from there.
What's happening in the prep phase is that I'm asking Zotero for ready-to-be-exported items (aka serialized items) which I can then pass on to the background exporter. The results of this phase are cached too, so subsequent preps should be faster.

That's what I tried with the first debug log.

Are you sure you restarted through help => debug output => restart with logging enabled? I have a user on #1831 where the logs similarly indicate Zotero wasn't restarted this way before generating the log, but if this is what both of you have in the logs, maybe my logs are just wrong.

Are you sure you restarted through help => debug output => restart with logging enabled?
Ah...no. I restarted through Help > Send Better BibTeX support log. Sorry!
BBT support log ID: ADGJT2IP-euc
Debug ID: D1649312891

Hope I did it right this time. Sorry!

Yep, that's the information I need. I have no access to the D<number> reports though.
Although restarting through Help > Send Better BibTeX support log should have yielded the same scenario. I'll look into that separately later.

With a library your size, it looks like I can choose between the cache fill rate being inaccurate, or intolerably slow (and very noticeable too). I'm thinking of making this something that could be shown on demand, or in debug mode, but not attempt to keep it updated live.

With a library your size, it looks like I can choose between the cache fill rate being inaccurate, or intolerably slow (and very noticeable too). I'm thinking of making this something that could be shown on demand, or in debug mode, but not attempt to keep it updated live.

Makes sense to me. Seems like a good compromise.

Support Log ID: SR5X9N95-euc

How is 1018 behaving for you?

Barring bugs, I planned to make this the release.

It's relatively fast, it exports the file properly as far as I can tell. When I click on "Cached:" it always shows me either 69% or 70%

Can you drop the cache, do a new export, click on "Cached:" and then send a log? I consistently get to 100%, but if you (or a plugin) is touching items, that will decache them.

Hold a bit, a new build is incoming with more logging

Can you install 1021, drop the cache, do a new export, click on "Cached:" and then send a log? I consistently get to 100%, but if you (or a plugin) is touching items, that will decache them.

Preparation was much slower as compared to the other version (I assume, that has to do with the cache). The actual export (the second time the progress bar runs) was very fast. Still shows 70%
Support log ID: T5GIL9XP-euc

On the next build (should be here in 10 min or so), could you click Cached: before the export starts and after it is done.

I did NOT delete the cache this time, correct? (Hope so, otherwise just let me know please).
First click, after install, 50%. Second click, after Export: 70%
Log ID: MA2ZGZZG-euc

Prep speed does have to do with caching.
Background:
Zotero exporters do not deal with the items in your database directly, but with a "serialized" (simple JSON) object. That is true for all translators, whether BBT or Zotero's own. So export really consists of two steps;

Zotero serializes the items to export, and
hands them to the export translator, which then does its work.

BBT's step 2. is relatively slow, so whenever bib(la)tex output for an item is generated, I cache that output for that item for its settings. So when BBT sees "item 2653 must be exported" and it's in the cache, it just spits out that text, and moves on to the next. This is also why a change to any of BBTs preferences drops all export caches, because the settings might influence how the item should be written now.
Background exports happen in a different thread, and the data needs to go from the main thread to the exporter thread. That data can only be simple JSON objects, and I can't access the database from the thread, so what the prep does is slurp everything in a (vast, in your case) JSON object, sends that to the thread, and lets the thread do all the work from there. During export, the Zotero UI freezes, and there's currently nothing I can do about that. This is true for all translators, but because BBTs use cases include larger exports, this is incredibly annoying. Hence the background exports. Once the data is handed over, the UI is free again. Prep is everything that needs to happen on the main thread, before handoff.
The thing is that the serialization of objects is really slow. So in addition to the export caches, I also have a serialization cache, so items to be exported that haven't changed since the last time are fetched from the cache. This is what causes the differences in the prep speed. This cache is only dropped on an upgrade of Zotero itself (but as you're on a beta, that means every time you get a new beta version).
Individual items get removed from the export and serialization cache when the corresponding Zotero item changes.
There's quite a few moving parts to all of this. A lot will simplify if Zotero moves to an architecture where exports don't freeze the UI (meaning, when they go async), but that's unlikely to happen until the electron port I would venture to guess.

Thanks for the eplxanation!

I hit the wrong button, sorry.

label-gun is on guard :)
BBT is deeming some of your items non-cacheable. I have to find out why.

Same procedure as last svp

Here we go:
First click: Cached: 0%, Export, second click: Cached: (drumroll....) 70%
Log ID: 4DUC7IMN-euc

no need to clear the cache now BTW, as long as its < 100% the test should be conclusive. But the higher version number will drop the cache.

Never would have found this one if you hadn't stuck this one out.

I admire your sleuthiness. Yes, that'a word now.
Installed 1025. Restarted. Cliched on Cached, which showed 50%. So, I deleted it (and checked, now it says 0%). Then exported. Then clicked Chached again: NOW IT SHOWS 100%
Log ID: MCMCLHQ4-euc

Awesome. That confirms what I thought.

I love me some successful hypothesis testing as an empirical academic :-)

amen to that.


[ODS-4637] Enable hosts to provide data consistency (through snapshot isolation)

See also https://github.com/Ed-Fi-Alliance-OSS/Ed-Fi-ODS-Implementation/pull/189.

https://tracker.ed-fi.org/browse/ODS-4706 opened to address Open Api Metadata.


Help on solving query

I have a graph as depicted below:

a Consumer can have "isClientOf" edges to 0..N Customer
a Consumer can have "isClientOf" edges to 0..1 Vendor.
a Consumer can have "installs" edges to 0..N Installation.

Note: if a Consumer does not have "isClientOf" Customer, then it will always have "isClientOf" Vendor.
What I need to do is:
Count Consumers that have "isClientOf" for a given Vendor and do not have "isClientOf" for a given Customer and do not have "installs".
The query I came up with is:
select count(*) from (
  select expand($diff)
  let
  $cons = (select @rid as consId from Consumer where deleted=false),
  $cust = (select distinct(consId) as consId from (
              select expand($c) as consId
              let
              $a = (select inE('isClientOf').outV()[deleted=false] as consId from #37:19 unwind consId ),
              $b = (select distinct(out) as consId from installs where active=true and out.deleted=false),
              $c = unionall($a, $b)
          )
        ),
  $diff = difference($cons, $cust)
)

The query above is not working properly, probably related to #5294.
So, the workaround I found is:
select count(*) from (
  select expand($diff)
  let
  $cons = (select @rid as consId from Consumer where deleted=false),
  $cust = (select distinct(consId) as consId from (
              select expand($c) as consId
              let
              $a = (select inE('isClientOf').outV()[deleted=false] as consId from #37:19 unwind consId ),
              $b = (select distinct(out) as consId from installs where active=true and out.deleted=false),
              $c = unionall($a, $b)
          )
        ),
  $diff = (select from $cons where consId not in (select from $cust))
)

Although the result of this query is correct, it's extremely slow (takes 80 secs).
I was trying a different approach to get those Consumer with "isClientOf" Vendor as follows:
select inE('isClientOf').outV()[deleted=false] as consId from #33:1 unwind consId
but it takes forever and haven't been able to get it to run.
Some stats:

Consumer: 165k records
Customer: 40 records
Vendor: 2 records
isClientOf: 165k records

So, I'd really appreciate any help/tips on addressing such a query as it has become a bottleneck to us.
Thanks in advance.
Runninng Mode

[ ] Remote

OrientDB Version

[ ] v2.2.0

Operating System

[ ] Linux

Java Version

[ ] 8

Update:
Tried a different approach as follows:
select count(*) as count from (
	select expand($res)
	let
	$vl = (select expand(inE('isClientOf').outV()[deleted=false]) from #33:1),
	$cust = (select expand(inE('isClientOf').outV()[deleted=false]) from #37:19),
	$inst = (select expand(out) from installs where active=true and out.deleted=false),
	$diff = (select from $vl where @rid not in($cust)),
	$res = (select from $diff where @rid not in($inst))
)

This one performs better than the former one but still it is really slow: it takes 24 secs

I am no expert, so I'll ask a question. Is the "isClientOf" the same edge class both for Customers and Vendors? If yes, how can that relationship be the same one and yet resolve to show differences efficiently?
Scott

@smolinari
sorry for the delay.
the object model is:

Customer extends Business
Vendor extends Business
Business extends AbstractPojo
AbstractPojo extends V

so, to answer your question: a Business can be a Customer or a Vendor, but not both. The isClientOf edge actually targets Business.
Sorry for the confusion

Hi @vlasni
you can try the following
select in('isClientOf')[
    deleted = false
    and outE("installs")[active=true].size() = 0
].size() from <VENDOR_RID>
where not ( in('isClientOf') contains <CUSTOMER_RID> )

but your query forces you to traverse all the graph, so I'm afraid it won't be light fast, especially at the first executions with cold cache. The NOT operations are quite expensive in general, and your query mostly relies on them
Thanks
Luigi

Hehe...sorry, but I am still confused. From your image of your graph, you have a "Consumer", yet you don't mention that above in your model.
Also, in your query, you use expand. If you only need to count results, you shouldn't need to expand them. I believe expand only pulls in the fields of those vertices.
http://orientdb.com/docs/master/SQL-Functions.html#expand
Check out the count example below, maybe it might give you an idea of how to get what you want.
  select sum($a[0].count,$b[0].count)
    let $a = (select count(*) from e),
        $b = (select count(*) from v)

Again, I am not the most experienced with ODB, so take what I say with a grain of salt.
Scott


Advanced Filtering

What does the Smart filter do and how does the Mask File work?

 It looks at the previous event to see if the object was in a similar position. The precision is a percentage of how much the subsequent objects need to overlap.
Use masking if you have an area that you always want to ignore like a public street. You have to create a mask file and upload it. The mask file is an image file with the same resolution as your camera feed, and any areas filled in will be masked. If more than half of the person/car/whatever is behind the mask, it will be ignored.
I like to use Gimp or any other editor that can do layers. I take a snapshot from the camera and draw the mask over it in a new layer, then save only the mask layer as a png and upload it. Its good to give it some transparency as well so you can see through it in the interface later.

Okay the smart filter is a really nice feature.
If i understand correctly any areas that are not completely transparent are ignored by mask? So it's not a black and white mask and the color doesn't really matter.

Yes that's right. It looks at the alpha channel of each pixel to determine if that x/y coordinate is masked. As long as the opacity is above 20% or so it should work regardless of color.


Disable RSpec/NestedGroups rule

https://rubocop-rspec.readthedocs.io/en/latest/cops_rspec/#rspecnestedgroups
What are your thoughts about this rule? Do we need to use it or not? I'm not really sure why this rule has been added but from my side looks like this cop can make tests a little bit readable but adds more duplications

This one is tricky 😄
I like defining lets in related context blocks, otherwise why we need context block?
In most cases we have if/else logic covered by contexts so I haven't seen structure like:
context
  let

  context
    let

    context
      let
      it

Normally its:
context
  let

  context
    let
    it

  context
    let
    it

Not sure how to configure this rule better

@AleksSenkou I can send you some examples if you want. Cause looks like this is a common case (especially for requests and capybara tests)

@roman-dubrovsky it will be appreciated cause maybe I'm missing something

@AleksSenkou I just opened a first test file
require "spec_helper"

describe EmailNotification::SendToContentAuthor do
  describe '#call' do
    context "when email notification is enable" do
      it "calls notifier for author"

      context 'when editor present' do
        it "calls notifier for editor"

        context 'when the editor is an author' do
          it 'sends notification only once'
        end
      end
    end

    context "when email notification is not enable" do
      it "does not call notifier"
    end
  end
end

@roman-dubrovsky looks good to me

Nested example groups are adding to readability, hinting the workflow, so I think it's better to turn this cop off.


controllers: remove dead code in syncsetinstance controller

There is dead code in the getSyncSetCommonSpec function that will never be reached.

/lgtm

/test e2e

/retest

@joelddiaz Prow was not responding to my requests to retest, so I pushed up a rebased commit. Can you add your lgtm again?

/retest


Added test for buffer strip update

Added a test for you update. If you could merge it when you get a chance, then this should be ready to go into shap

Thanks @lrjball! This is very helpful.


6x reduced CPU cause lazy routes failing during loading or navigation

Describe the bug
I am facing an issue on admin panel I am developing now. Sometimes, I cannot find exact steps to reproduce it just returns nothing in Outlet. I checked all my code tree and there is no chance it is bug in my code. Then I reload the page and then I am facing the next issue. beforeLoad of my $lang route is called before __root.tsx beforeLoad what causes other bugs
Your Example Website or App
admin.7loc.com
Steps to Reproduce the Bug or Issue
If you want, you can

register here,
create profile in form
Navigate between pages on phone or with efficiency slowed down x6 + mobile mode in devtools

Expected behavior

When I am on some route, and there is some content, Outlet have to return it always
__root.tsx beforeLoad should be called before other routes beforeLoad as well, as any parent beforeLoad should be called before beforeLoad of any children

Screenshots or Videos
No response
Platform

OS: It happens more often on phone or if I slow dows processor x6 in browser devtools
Browser: all
Version: 1.30.1—1.31.2

Additional context
No response

Please try with the latest version
Tanner Linsley
On Apr 29, 2024 at 10:52 AM -0600, Maksym Skuibida @.***>, wrote:

Describe the bug
I am facing an issue on admin panel I am developing now. Sometimes, I cannot find exact steps to reproduce it just return nothing in . I checked all my code tree and there is no chance it is bug in my code. Then I reload the page and then I am facing the next issue. beforeLoad of my $lang route is called before __root.tsx beforeLoad what causes other bugs
Your Example Website or App
admin.7loc.com
Steps to Reproduce the Bug or Issue
If you want, you can

register here,
create profile in form
Navigate between pages on phone or with efficiency slowed down x6 + mobile mode in devtools

Expected behavior

When I am on some route, and there is some content, Outlet have to return it always
__root.tsx beforeLoad should be called before other routes beforeLoad as well, as any parent beforeLoad should be called before beforeLoad of any children

Screenshots or Videos
No response
Platform
• OS: It happens more often on phone or if I slow dows processor x6 in browser devtools
• Browser: all
• Version: 1.30.1—1.31.2
Additional context
No response
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

1.31.2 is last available version. I am currently on it and it also happens.
As __root beforeLoad is called before my $lang's beforeLoad when I try to use variable from context, which I return from __root beforeLoad, it is undefined. I use this variable to change lang in params, if it was changed, for example, in user object. So, I set undefined to params, what causes infinite pending state. I reload page, undefined is replacing to actual lang, but I don't know why it also falls into infinite pending and only if I reload the page for third time, it starts working. I fixed it a little bit by checking for if (variable) in $lang beforeLoad, so now when Outlet returns nothing, I reload the page and it works from first reload, but the issue with calling other routes beforeLoad before __root beforeLoad still exists. And issue with Outlet returns nothing still exists.
Anyway thank you for your hard work on this project. You are doing a lot and present fixes so quick. I beleive issues will be fixed soon, because without this bugs it is perfect router

@maksymskuibida By any chance, are you using redirects in your beforeLoad? I had an issue similar to your's and changing the redirect function to using the navigate function "fixed" those issues.

@BourqueCharles Yes, I am. But this issue happens when I do no redirects. It is interesting, but on my mac it happened may be one or two times. But on my phone in happens almost every time I just navigate between my pages. Outlet returns nothing, so, I see only my layout, but content of current page is empty, I reload the page, and than I am facing an issue that __root beforeLoad called later. My __root beforeLoad returns computedLang, and $lang route have to redirect for it, if it is different from current. For example, if user changed language somwhere else, or somebody followed incorrect link with something incorrect instead of lang. The reason why I compute lang there is because I also use it in not found route(if somebody follows just admin.7loc.com link). I fixed id by checking for a value before redirect and also I could try to make some function for it and instead of using context, call function (which fetches data using query from backend, like user, to obtain current language). Now I am checking for a value and it works fine
But it is still not OK, that

Outlet returns nothing
__root beforeLoad is called after routes beforeLoads.

https://stackblitz.com/edit/github-shdycb-6awa91?file=src%2Froutes%2Findex.tsx

This bug is related to situation that current route / can be used as a layout for new route, so it is not unmounted and router doesn't understand that it should change the layout.
After the page reload router understands that it should use different layout and doesn't use route from /

@tannerlinsley @SeanCassiere My issue still now fixed. It is not redirects in my case. It is just Links. I press on link and outlet renders nothing. My layout route is rendered, but routes under it is not. And it happens only on my phone or if I slowdown performance x6. I just navigating by links in my sidebar
https://github.com/TanStack/router/assets/57814533/678687ff-4eff-409f-ab6e-49c2d61464de

Also it happens only one time per route per page load. So, I reloaded the page. After it every route have this issue. But if I press second time for same route, or press, for example categories and then go back to stores issue also disappears

I also tried to remove almost all content for this pages, leave just background and HELLO WORLD and the issue still exists. But it exists only with CPU slowdown x6 and on my phone (samsung a54). It also exists with CPU slowdown x4, but more randomly

Reopening this for now. I've tested this without some layout routes and I can recreate this.
@maksymskuibida please give us a workable reproduction of this. Without a reproduction, it's hard to pinpoint the setup you've got going on and understand what is breaking this for you.
You can create a reproduction quickly on Stackblitz using the Router file-based starter.

@SeanCassiere
I faced the same problem (as in @maksymskuibida ) in my project. I updated to the latest version but it didn't help ..(

I faced the same problem (as in @maksymskuibida ) in my project. I updated to the latest version but it didn't help ..(

Same as my comment above over here, need a reproduction.

I will try to give you a reproduction for this. But I also cannot find what actually cause this. it works on my mac m3pro, but if I slowdown CPU it does not work. And also it does not work on my samsung a54, which is not very powerful, but also it is not slow device, so, I don't know what actually cause this

Reopening this for now. I've tested this without some layout routes and I can recreate this.
@maksymskuibida please give us a workable reproduction of this. Without a reproduction, it's hard to pinpoint the setup you've got going on and understand what is breaking this for you.
You can create a reproduction quickly on Stackblitz using the Router file-based starter.

@SeanCassiere I am not able to make minimal reproductable example. I am facing this on my real app, but I cannot reproduce it in small example. It would be perfect, if you can share your recreation, so I can test is the same, as my issue on real app

@SeanCassiere But, if it can help, I can make test account on my production app and give you credentials to test it there. Probably it could also help with undefined context issue #1531

@maksymskuibida The reason I'm asking for a reproduction of this issue is that I suspect it comes down to how you've configured your routes and what kind of work is happening in those routes. When testing this out using 6x CPU throttling on the layout routes section of the basic file-based example, it doesn't surface the issue, so I'm leaning towards it being something specific happening in your app which we haven't expected.
Us seeing the issue happening in your app isn't too helpful for us, since we wouldn't know what the actual configuration was and if there are any unexpected side effects which we haven't considered that are in play here. Or if it's simply a misconfiguration that was allowed in the earlier versions, but not anymore.
Your reproduction doesn't have to be a duplication of the entire app, just the way you've set up the children and the triggering of the navigation of the affected layouts. Without it, we are essentially playing a guessing game as to what's specifically affecting you.
@tannerlinsley do you have any clue as to what's happening, based on the video above?

I checked react tree when issue happens(first video) and then I reloaded the page and issue gone(video 2)
For some reason there is Outlet(video 1) in react tree, instead of Component(video 2)
https://github.com/TanStack/router/assets/57814533/27ab2e8b-a5e1-4748-ae36-f6141973de3c
https://github.com/TanStack/router/assets/57814533/83c8c9db-80bc-4fc0-a581-127c2c83bda2

Copied your route-layout in this stackblitz example (using latest): https://stackblitz.com/edit/github-tluew2?file=src/routes/$lang._authorized.$profileId.lazy.tsx:L19
Could you check and make sure the path params are being passed around correctly? That's one of the only ways I could think of maybe breaking the Router by rendering the same route twice that could bork the Router.
That was the only thing I could see that'd cause any problems.

I checked example you've done. But it have profile/checkout page. My pages, which I havigate between is simple as stores one. They are the same, only have differences inside. Your example works on my phone and with CPU slowdown. The only reason why I started testing CPU slowdown is that my app works on mac and does not work on phone. So, I found that it is not a platform issue, because CPU slowdown on mac also makes this issue happens

Params looks like my, only difference that I have parseParams to ensure profileId is number and to make typescript work good. I use it with useQuery, so, I have this router configuration
import { createRouter } from "@tanstack/react-router";
import { routeTree } from "./routeTree.gen.ts";
import DefaultErrorComponent from "./DefaultErrorComponent.tsx";

export const router = createRouter({
	routeTree,
	context: {
		auth: undefined!,
		queryClient: undefined!,
		showAppAlert: undefined!,
	},
	defaultPreload: "intent",
	defaultPreloadStaleTime: 0,
	defaultErrorComponent: DefaultErrorComponent,
});

// Register the router instance for type safety
declare module "@tanstack/react-router" {
	// noinspection JSUnusedGlobalSymbols
	interface Register {
		router: typeof router;
	}
}

I also navigates between pages by using just links. I have any clue what can cause this issue

I cannot share code here, but, by any chance, if you have time, probably we can make google meet, so I can show you my routes configurations and all you need

@tannerlinsley @SeanCassiere I managed to find out what causes an issue. It is lazy routes in combination with loaders, so, when you have both route.ts and route.lazy.tsx. And I managed to create reproductable example. It happens not every time in my example, unlike my app, but in few attempts it is possible to catch it. It looks like that sometimes lazy route file does not load in time and route thinks that there is no component and renders outlet. It is just the same as in my videos above, when Outlet rendered instead of route's component. But in my example it is easier to reproduce an issue with both CPU and network slowed down, may be due to smaller project size. So, here is my stackblitz: https://stackblitz.com/edit/github-klgefm-zvib9i?file=src%2Fmain.tsx.
To reproduce

Make sure you are on the home or about page
Reload the page.
Go to posts
Pick a post
Press tab1 or tab2 below
If issue does not happen, make this steps again. I need 1-3 attempts to make this issue happen

It is also easier to work with issue if you open stackblitz preview in separated browser tab

I also found out that removing
  defaultPreload: 'intent',
  defaultPreloadStaleTime: 0,

in router configuration make this issue not to happen

So, the issue happens with defaultPreload: "intent", routes, that have both route.ts and route.lazy.tsx and slow internet/device.
Probably router does not wait until lazy route loaded and "thinks" that there is no component defined for router

@SeanCassiere @tannerlinsley whay is about this issue? I have provided reproduction above in comment, but the issue still has information needed label

@maksymskuibida label has been changed 👍🏼

Thank you very much. I am very waiting for this fix, as it is, together with undefined context, are only issues I have with tanstack router now. In any other aspect, it is a perfect framework

@SeanCassiere @tannerlinsley I have just updated to the latest version, as I saw that something with lazy was changed in 1.31.27(looks not 100% related), but this issue still happens. Outlet still appears instead of Component. Did you have any change to check it?

Unfortunately, I had to remove lazy routes usage and it works fine, but I would love to come back to using it, once this issue fixed

@tannerlinsley @SeanCassiere I managed to find out what causes an issue. It is lazy routes in combination with loaders, so, when you have both route.ts and route.lazy.tsx. And I managed to create reproductable example. It happens not every time in my example, unlike my app, but in few attempts it is possible to catch it. It looks like that sometimes lazy route file does not load in time and route thinks that there is no component and renders outlet. It is just the same as in my videos above, when Outlet rendered instead of route's component. But in my example it is easier to reproduce an issue with both CPU and network slowed down, may be due to smaller project size. So, here is my stackblitz: https://stackblitz.com/edit/github-klgefm-zvib9i?file=src%2Fmain.tsx.
To reproduce

Slowdown CPU x6, disable cache, slowdown network as slow 3G
Make sure you are on the home or about page
Reload the page.
Go to posts
Pick a post
Press tab1 or tab2 below
If issue does not happen, make this steps again. I need 1-3 attempts to make this issue happen

Still haven't had the stretch of time needed to go through this one. Leaving this open for anyone who's able to look at it.
#1638 looks to possibly be related.

@SeanCassiere I have just tested it on the latest version. I also tested it without CPU reducing, but with turned off cache and network reduced and it also happens

I also ran into this issue, sometimes when I navigated to a route for the first time, the outlet in the root route would be empty. I also am using a combination of routes with lazy components and non lazy loaders. Thank you @maksymskuibida
the removal of defaultPreload: "intent" worked for me.

Just a +1
I'm struggling with the same issue. I can reliably reproduce it even without CPU throttling, I only need to throttle the network to trigger this (a slower development build is sometimes even enough) as I just need to wait for the preloading to start and to click the link before it's finished. It's a real bummer.

the same as @reihwald. It happens time to time on my phone on production build. early on development build on mac and also with "slow 3G" network in devtools

It looks like router has some max wait time for loading files and if it is not loaded in this time window, it renders empty Outlet instead of my Component

+1 here too-- I'm having the same issue with deeply nested lazy routes

me too

I ran into this issue as well when my cypress tests started to fail after a change from createRoute to createLazyRoute. I am migrating a legacy project using manual code-splitting.
It happens when I define my routes following the pattern from documentation examples
// src/posts.tsx
export const Route = createLazyRoute('/posts')({
  component: MyComponent,
})

function MyComponent() {
  return
My Component

}

and
// src/app.tsx
const postsRoute = createRoute({
  getParent: () => rootRoute,
  path: '/posts',
}).lazy(() => import('./posts').then((d) => d.Route))

My workaround was to remove createLazyRoute and load the component lazily with createRoute and lazyRouteComponent

I ran into this issue as well when my cypress tests started to fail after a change from createRoute to createLazyRoute. I am migrating a legacy project using manual code-splitting.
It happens when I define my routes following the pattern from documentation examples

// src/posts.tsx

export const Route = createLazyRoute('/posts')({

  component: MyComponent,

})

function MyComponent() {

  return
My Component

}

and

// src/app.tsx

const postsRoute = createRoute({

  getParent: () => rootRoute,

  path: '/posts',

}).lazy(() => import('./posts').then((d) => d.Route))

My workaround was to remove createLazyRoute and load the component lazily with createRoute and lazyRouteComponent

Thanks for sharing your workaround. I'll try it on my codebase-- hope it works!

I can confirm that using "lazyRouteComponent" instead of .lazy works fine with preLoad: 'intent'.
I didn't know that this exist, and I find it a better approach since I don't have to have a separate "Route" function in the component.
Has this any caveats to be aware of?

+1 experiencing this issue. I also get some weird performance issues, CSS hover transitions for example drop a few frames when attempting to load lazy loaded routes that have a loader.

I can also confirm I get this issue, as I have been fighting it for weeks.
First I thought it was an issue with loaders, then I tried both file and code-based splitting.
For me, I can reproduce it 100% of the time by simply slowing down my network using the Chrome DevTools throttling feature

After reading this thread, I can also confirm that removing intent-based loading solved the problem for me, at the cost of a great feature 🥲.

This is also a regression since 1.28.0, since it was working properly back then. This only became an issue for me when upgrading my version in order to take advantage of some new features.

I think this might have been fixed today, in v1.42.0. It seems to be loading fine now, possibly with a flash of empty rendering but that could also just be my configuration.

@sepirak-nick I've been having very similar issues with my project and upgrading to v1.42.0 also seems to have fixed it for me!

just adding another one, been having this issue & lurking this thread. updated after seeing above comments and seems to be fixed :smile:

I've upgraded to v1.42.0 and, while I am no longer stuck with nothing rendering even after all lazy loaded components are fetched, I do still have a worse experience than with intent-based loading turned off.
When I click on a Link, I immediately navigate through and get a blank page until everything loads in. Better than before when things never loaded, but not ideal.
What I would expect to get is the usual 1 second wait before navigating, then a pending component, then my UI.
Still, I have to thank you for fixing the bug. 🙂

I have a similar behaviour as @ArmandRedgate (and morover, my whole route tree flashes by getting remounted when the component is finished loading).
I don't think this issue has been fixed, but rather something it the route matching logic has changed and causes the route to get updated once the components are loaded.
Before, you would get an <Outlet/> component to be rendered as the component itself was not ready (this). Once available, the Outlet however was not getting replaced with the correct component.
Now it looks like all that's changed is the component is getting updated once available, which updates the UI and makes it look like it's fixed.
If a navigation event is emitted in the timespan between the preload start and finish timestamps, this issue is almost guaranteed to happen.
Behind the scenes, I see the following:

Preload is fired, beforeLoad is executed.
When loader is fired, components start fetching (the route is currently in cachedMatches, with {status: "pending", isFetching: "loader"}
If a navigation is emitted before the components resolve, the route gets moved to matches with {status: "success", isFetching: "loader"}, which then causes the Outlet to be rendered as the route loading is considered finished (which it isn't technically)

Something changed in this commit that changes the current behaviour. Additionally (might be related, since same remounting behaviour appears here), I see the whole route tree getting remounted when router.invalidate() is called and wrapInSuspense is enabled in my __root route.

This is as close as I can get to what I'm experiencing on my project: https://stackblitz.com/edit/github-fsj9kg
I created a component that uses top-level await to mimick heavy dependencies on a route, and then used that componenent in the /about page. If you hover the About link you'll see the route in a pending state for 10s: however, if you navigate to that route in less than 10s, you'll see it get moved to matches but with a success status, even though the component hasn't finished streaming in (which I believe causes this whole ordeal).
Also, note how the pending component is never shown, unless you start browsing directly from the /about page itself (which loads the default pending component, even though it should be rendered anyway even while the page components fetches)

this will be fixed by #1907
@freshgiammi this is your reproducer with the pre-release package: https://stackblitz.com/edit/github-fsj9kg-ndhjmk?file=package.json


Show completed code in editor

Currently, when a challenge is completed, and we go to the next task and then come back, the editor displays the starting code fragment of an unattempted challenge.
If it displayed the completed code, we can just go back, see how we solved something and refactor it. An added advantage would be that in the case we don't have anyone to pair program with, we can do a quick peer review when a pair programmer is available.

It would also be nice if we could see other campers' solutions (ala http://www.codewars.com).

@metasean: Ditto. I think this can be added as a feature of its own. I really enjoy the structure of CodeWars.

This shouldn't be very hard to implement; I'll check see if I can do something.
@metasean We can see other campers' solutions, just go to their profile and you'll find every Bonfire and Zipline solution they have. (Possibly the Basejumps as well, although I'm not sure)

@LumenTeun - While codewars does identify the individual users who submitted a given category of solution (I have mixed feelings about that), what it does really well is show you grouped solutions for a kata that you have completed, with higher ranked solutions at the top of the list.  In other words, I don't care what username's solution is, I care about seeing solutions that are higher quality than my own.  Does that distinction make sense?

@metasean It makes sense, yes. If you want to discuss it, please create a separate issue, so we're not crowding this one with unrelated discussion :)

I believe this is actually done as part of the August Improvements.


[bug] - Print verbose alert of error when parsing config file instead of failing silently

Just had a weird encounter where Fantasticon refused to parse the .fantasticonrc.js even though it was formatted correctly.
The issue turned out to be with how the package.json was declaring the type of the package. It was set to "module", a default set by Vite create template, which meant that all common .js files needed to have a .cjs extension, I was only able to figure this out after manually adding the console.error(err).
Expected behaviour
Create a --verbose flag or print out a verbose error reporting on traceback and any other useful info i.e.:
user@hostpc:~/git/internal/project$ bun run generate-icons
$ fantasticon
Error [ERR_REQUIRE_ESM]: require() of ES Module /home/user/git/internal/project/.fantasticonrc.js from /home/user/git/internal/project/node_modules/fantasticon/lib/cli/config-loader.js not supported.
.fantasticonrc.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules.
Instead rename .fantasticonrc.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in /home/user/git/internal/project/package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).

    at /home/user/git/internal/project/node_modules/fantasticon/lib/cli/config-loader.js:26:20
    at Generator.next (<anonymous>)
    at fulfilled (/home/user/git/internal/project/node_modules/fantasticon/lib/cli/config-loader.js:5:58) {
  code: 'ERR_REQUIRE_ESM'
}
SyntaxError: Unexpected token 'm', "module.exp"... is not valid JSON
    at JSON.parse (<anonymous>)
    at /home/user/git/internal/project/node_modules/fantasticon/lib/cli/config-loader.js:30:25
    at Generator.next (<anonymous>)
    at fulfilled (/home/user/git/internal/project/node_modules/fantasticon/lib/cli/config-loader.js:5:58)
Failed parsing configuration at '.fantasticonrc.js'

Actual Behaviour
All I get is Failed parsing configuration at '.fantasticonrc.js', which is needless to say is not helpful.
Also might be a good idea to add .cjs exension to a set of default imports or make this fetch dynamic by using regex.
issue blames:

https://github.com/tancredi/fantasticon/blob/76154ac30bbc227c69bcc94b429118e0bf74c9e5/src/cli/config-loader.ts#L21
https://github.com/tancredi/fantasticon/blob/76154ac30bbc227c69bcc94b429118e0bf74c9e5/src/cli/config-loader.ts#L17

I had same issue with Failed parsing configuration at '.fantasticonrc.js' but without any additional logs.
As I found the problem was next: there was a path codepoints: require('./icons.json'), in the config but this file did not exist at first run. To solve it I created the icons.json with empty object {}.

As I found the problem was next: there was a path codepoints: require('./icons.json'), in the config but this file did not exist at first run.

Weird NextJS doesn't have anything of that sorts in the config. Or at least not in the default template, perhaps it's something you've inherited from other project?

Hm, it's right here: https://github.com/tancredi/fantasticon/blob/master/README.md

haven't really worked with codepoints before so not sure what it is. I'm guessing based on format it's a custom IDs for specific icon.


integrating discord webhooks with Repo

This would allow discord members to easily view GitHub commits/Issues/Pull Requests easily.
I wouldn't mind having access having access to certain settings in this Repo in order to set it up.
If you don't want to give perms you can use this guide here https://ardalis.com/integrate-github-and-discord-with-webhooks/

Hi @Gooferball69 Thanks for the pointer. This is done and it points to the #github-updates channel on the Gorilla Discord.

@ShishirPatil
It seems you an commit 20 mins ago and the discord bot did not pick up on the commit.


No PoweShell Option?

Is there no way to update the password via PowerShell? Having to do this via the GUI makes it difficult to automate the password change!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e63af3e3-677e-32d8-ca7e-c9b253ca4afb
Version Independent ID: fe8effb3-cd62-cc65-2dd9-3306a63d9e33
Content: Azure AD Connect sync:  Changing the AD DS account password
Content Source: articles/active-directory/hybrid/how-to-connect-sync-change-addsacct-pass.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@parithon
Thanks for your feedback! We will investigate and update as appropriate.

@parithon
Thank you for your time and patience throughout this issue!
From our Azure AD Connect: Accounts and permissions documentation, it looks like the AD DS account password is collected from your on-prem AD credentials. Therefore, you should be able to follow this 3rd party doc - How to Change User Password in AD via PowerShell, to reset an on-prem AD user's password via PowerShell.
Once the user's password is updated, please remember to update the Synchronization Service with the new password for your AD DS account.

If you have any other questions, please let me know.
Thank you for your time and patience throughout this issue.


WIP: Initial new classes, plus fixing up error handling in the variable ty…

…pe definitions.

@craigwblake-openlaw same ? as other PR - planning to do a release Monday, would you like this to be part of it?

Also will not be ready for next week.

thanks for clarifying! I added tag to both


Only call cass_prepared_free if the PreparedStatement is not null.

Fixes #14

Awesome, thanks for the PR


Uncomment deployment URL in CD action

Depends on – https://github.com/South-Paw/action-netlify-cli/issues/5

Depends on – https://github.com/netlify/cli/issues/6841


Integration doesn't create device or anything...

General information
Integration

Integration version: I tried the last one and the main branch from github
Last HACS version, last HA-OS version
Application settings

topic:
mqtt:
  broker: core-mosquitto
  port: 1883
  discovery: true

sleep_as_android:
  name: SleepAsAndroid
  topic_template: SleepAsAndroid/fbsleep

[x] I can see MQTT messages from application at MQTT-server
How it works now?
I can use the MQTT integration to send (and receive in MyMQTT on android), and I can subscribe manually to the above topic and send it from the SleepAsAndroid, but the HACS integration doesn't create any device or logs anything on log (I've set the logger to debug).

franzbischoff, hello.
Could you send homeassistant.log while startup?
Some subscribing information should be at debug level while integration starts. We should check that topic is correct.

It seems that I may reproduce this issue locally.

Fixed in v1.3.1

Works fine now, thanks!

Welcome!


Add example data

Add example data set in the package.
The data could be transferred from the microbiomeDataSets. For instance GrieneisenTSData or OKeefeDSData.
One could either 1) download the data, then store as CSV, load to Julia, prepare data in the correct format and store in the Julia package; or 2) download the data directly from web and process on the fly.
Artifact seems to provide useful capacities for example data. Alternatives could be discussed before implementation.

Downloading in R:
tse <- microbiomeDataSets::GrieneisenTSData()
coldata <- colData(tse)
rowdata <- rowData(tse)
assaydata <- assay(tse)

Hi! Is there a way to access the HintikkaXO data set directly online? I couldn't find it in the publication

Ok we now seem to have HintikkaXO nicely added. Can this be closed, or shall we add another example data, for instance GrieneisenTSData is good for demonstration purposes.

Sure, I can also add an se. GrieneisenTSData is very big. I'm wondering if a smaller experiment would achieve the same goal, and load faster because it's smaller. What's your opinion?

If loading time really is a bottleneck then I agree.
Then we could use OKeefeDSData

OKeefeDSData is also available now!


Movable Features 位移信标 - Translation

Russian translation. I got tired of adding translation every time after the mod update and finally decided to share it with you. Thanks for this great mod!
ru.zip

Thank you for the translation you provided. I will add it in my mod in the next game update, which will be coming soon.
After that, I will close this issue. If there are any textual updates to the mod in the future, I will reopen this issue. If you have any spare time, you could update the Russian translation. Thank you again.

Hello,
For the new version of the translation template, just change the file extension to .po.
There are only four texts that need to be translated.
Thank you for your contribution.
packanything_template.zip

Sorry to keep you waiting
packanything_template.zip
I also changed the po extension to zip

Sorry to keep you waiting.
packanything_template.zip
I renamed the po file extension to zip just like you did.

Sorry to keep you waiting. packanything_template.zip I renamed the po file extension to zip just like you did. Thank you for your wonderful mod!

nvm
I still have some issues to resolve, but the text has been finalized.

Stable Mode=Стабильный режим
If enabled, the save file needs to be reloaded after moving items.=Если включено, то файл сохранения необходимо перезагрузить после перемещения предметов.

Stable Mode=Стабильный режим If enabled, the save file needs to be reloaded after moving items.=Если включено, то файл сохранения необходимо перезагрузить после перемещения предметов.

I apologize for missing this translation. Thank you.


PersonCard.java: use different colors for different tags

Add a color scheme of nine colors for tags. Different tags would have different colors.

Coverage increased (+0.03%) to 92.19% when pulling 114433790cc23617b7dfc943eea28094abd3577d on jelneo:add_tag_color into 81ce7c036b10c7ee0ddba787295d99e5c8c5ad5b on CS2103AUG2017-T17-B1:master.

Coverage increased (+0.03%) to 92.19% when pulling 1e7a5afd33731acd03c6d40eeb6cbe64c6fa6ef4 on jelneo:add_tag_color into 81ce7c036b10c7ee0ddba787295d99e5c8c5ad5b on CS2103AUG2017-T17-B1:master.

Coverage increased (+0.05%) to 92.204% when pulling 606b80bed1d67881a3301c3d4d8ca9207c9d0893 on jelneo:add_tag_color into 81ce7c036b10c7ee0ddba787295d99e5c8c5ad5b on CS2103AUG2017-T17-B1:master.


[SYSTEMML-1923] Support sinh, cosh and tanh as built-in functions

Added sinh, cosh and tanh builtin functions to CP, Spark and GPU backend.
Added these functions to Python DSL.
Also, updated the DML language reference and Python reference documentation.

@bertholdreinwald @nakul02 can you please review this PR ?
@dusenberrymw We can extend nn/layers/tanh.dml to use this function.

org.apache.sysml.test.gpu.UnaryOpTests are successful. Also, tested the results using simple DML script with -exec spark and compared it with -gpu.

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/2112/Failed Tests: 1SystemML-PullRequestBuilder/org.apache.systemml:systemml: 1org.apache.sysml.test.integration.functions.indexing.RightIndexingMatrixTest.testRightIndexingSparseSP

could you please put a TODO into codegen.cplan.CNodeUnary - I'll take care of the rest.

GPU related changes LGTM :+1:

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/2117/

@niketanpansare good to know, thanks!


Add Server text to confirm VPN flow

As described on current public doc https://learn.microsoft.com/en-us/windows/security/identity-protection/vpn/vpn-conditional-access#client-connection-flow, VPN client authenticates against VPN Server.

@robinharwood, @Xelu86
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


LEARNER-5493

LEARNER-5493 -Updated validate to log problems found in translations.
@edx/learner-spartans kindly review.

Coverage increased (+0.07%) to 72.432% when pulling 7f9176912db7a81e2d8419bedd6999a5590ba2a9 on LEARNER-5493 into 742b65a817706843309982c08cf2c81efc7ef7df on master.

Coverage increased (+0.07%) to 72.432% when pulling 7f9176912db7a81e2d8419bedd6999a5590ba2a9 on LEARNER-5493 into 742b65a817706843309982c08cf2c81efc7ef7df on master.


widgets will be deformed during the screen orientation change

Widgets will be deformed during the screen orientation change, appears to be stretched, and returns to normal at the end of the flip. It looks like it has something to do with Flutter's rendering mechanism, which is not what I want. I don't know if I can do it like an iOS native app and avoid stretching when the screen is rotated.
class Home extends StatefulWidget {
  const Home({Key? key}) : super(key: key);

  @override
  State<Home> createState() => _HomeState();
}

class _HomeState extends State<Home> {
  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: Center(
        child: Text('hello world'),
      ),
    );
  }
}

Hello @heroHy. I can reproduce this issue on stable and master.

Video
https://user-images.githubusercontent.com/50555895/180996693-71a6ee1c-fb27-4420-8e6e-e2df6a3ee40a.mov

Code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.landscapeLeft,
    DeviceOrientation.landscapeRight,
  ]);
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: Center(
        child: Text('hello world'),
      ),
    );
  }
}

flutter doctor -v (Stable)
[✓] Flutter (Channel stable, 3.0.5, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.0.5 at /Users/nabeelparkar/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (13 days ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 69.0.4
    • Dart plugin version 221.5921.27

[✓] VS Code (version 1.69.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.44.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Brave Browser <IP_ADDRESS>

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

flutter doctor -v (Master)
[✓] Flutter (Channel master, 3.1.0-0.0.pre.1865, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.1.0-0.0.pre.1865 on channel master at /Users/nabeelparkar/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision be14858464 (36 minutes ago), 2022-07-26 01:44:06 -0400
    • Engine revision 8eca26d130
    • Dart version 2.19.0 (build 2.19.0-33.0.dev)
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13F100
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 69.0.4
    • Dart plugin version 221.5921.27

[✓] VS Code (version 1.69.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.44.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Brave Browser <IP_ADDRESS>

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Duplicate of #16322.


Replicate: Add flag to mark blocks for deletion after replication

[x] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Added flag --mark-after to thanos tools bucket replicate
Changed replicationScheme.fromBkt type from InstrumentedBucketReader to InstrumentedBucket
Added forcing --ignore-marked-for-deletion if --mark-after set

Verification

Successfully built project
Ran replication between 2 buckets with --mark-after flag set
Monitored bucket contents for deletion marks
Made sure compactor removed marked blocks
Made sure blocks replicated successfully

Please fix lint and DCO

fixed


Fixes #246

I presume this was the intention. Re. #246

Unsure what's needed to get cla/google check to pass. :confused:
CLA signed, with github user, but git commit email and CLA email don't match.
Had git commit email listed as alternative email for account CLA signed with.

Whoops, good catch! Thanks!


Update plugin activation message styling

Summary
Updates the plugin activation notices as defined in Figma, see https://github.com/google/web-stories-wp/issues/3906#issuecomment-689356994
Relevant Technical Choices

Added srcset attribute to images
Adapted Figma design to make it responsive.
⚠ This is important, as the Figma design is > 1880px wide, but this notice needs to work on smaller screens too. It's quite possible and expected that the resulting layout will not look exactly as on Figma all the time.

To-do

User-facing changes
Updated message upon plugin activation.
Some screenshots:

Testing Instructions

Check out this branch
Run npm run storybook
Select "Plugin Activation" in sidebar
Run npm run build
Deactivate plugin
Activate plugin

or

Select this PR on the QA site
Deactivate plugin
Activate plugin

Fixes #3906

I am seeing in my broswer. This is the URL I am seeing. Am I missing something? @swissspidy

@spacedmonkey were you able to test it now with the fixed URLs?

@spacedmonkey were you able to test it now with the fixed URLs?

@swissspidy It still doesn't work locally. But if this is a known issue, I will approve this.

@spacedmonkey That seems isolated to your local testing. It works fine here and on the QA site.


Koios backend - Populate coinsPerUtxoSize field in ProtocolParams

A new field "coinsPerUtxoSize" has been added to ProtocolParams. Update Koios backend to populate this new field.
The existing field "coinsPerUtxoWord" is deprecated.

fyi, @edridudi


cli balances does not work with a local geth node

  *********  DutchX CLI - staging  *********
    Operation: balances 0xc32cac63823b556e6ebf61bb74149f08bf1aab34
    Markets: WETH-DAI,WETH-MKR,MKR-DAI
    Ethereum Node: https://rinkeby.infura.io
  *********************************

Secp256k1 bindings are not compiled. Pure JS implementation will be used.
2018-08-29T11:31:39.279Z INFO-cli
**********  Balance for 0xc32cac63823b556e6ebf61bb74149f08bf1aab34  **********

2018-08-29T11:31:39.286Z INFO-cli 	ACCOUNT: 0xc32cac63823b556e6ebf61bb74149f08bf1aab34
2018-08-29T11:31:39.287Z INFO-cli 	BALANCE: 1.229053568 ETH
cli.js balances

Get the balances for all known tokens for a given account. If no account selected mnemonic account is used (i.e. )

Options:
  --version      Show version number  [boolean]
  -h             Show help  [boolean]
  --account      Address were you send the tokens  [string]
  --verbose, -v  Extra info about tokens is showed  [boolean]

{ AssertionError [ERR_ASSERTION]: The token is required
    at AuctionRepoImpl.getBalance (/usr/src/app/src/repositories/AuctionRepo/AuctionRepoImpl.js:389:5)
    at DxInfoService.getAccountBalanceForToken (/usr/src/app/src/services/DxInfoService.js:542:30)
    at Promise.all.tokens.map (/usr/src/app/src/cli/cliCommands/balancesCmd.js:54:29)
    at Array.map (<anonymous>)
    at Object.handler (/usr/src/app/src/cli/cliCommands/balancesCmd.js:42:16)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
  generatedMessage: false,
  name: 'AssertionError [ERR_ASSERTION]',
  code: 'ERR_ASSERTION',
  actual: null,
  expected: true,
  operator: '==' }

note there is a -e ETHEREUM_RPC_URL=http://<IP_ADDRESS>:8545 variable in the script below which points it to a local geth node
#!/usr/bin/env bash

# Config
MARKETS=WETH-DAI,WETH-MKR,MKR-DAI
WETH_TOKEN_ADDRESS=0xc58b96a0278bd2c77bc93e01b148282fb8e753a5
ETHEREUM_RPC_URL=https://rinkeby.infura.io
NETWORK=rinkeby
MNEMONIC="..."

Closing.


Invoke function with step run

Add an idempotent execution as step.run

think this is closed by #30

yup, thanks!


A7RM2 records 12-bit raw

using this with single shot mode, E shutter(silent shooting) or M shutter, the camera records 12-bit raw files. But pressing the shutter button records 14-bit raw files.
Body: ILCE-7RM2
Ver: 4.01

ok, my bad. this is well known sony compression issue. their "compressed" RAW has 8-11 bits dynamic range, average only 8.1bit, and very bad crosstalk. and their ARW uncompressed RAW not even doing bit pack, output is 16-bit with much less entropy.
A7RM2 can only record lossless RAW when using mechanical shutter, single mode, and compression off.


date parsing should work with timestamps

When passing timestamp values into Vega, the date parsing should construct a datetime object from it, rather than trying to parse the number as a formatted date. See https://github.com/vega/vega-lite/issues/2439

This repo does not have any date parsing methods, only standard constructors and accessors. Perhaps you are referring to the toDate method defined in vega-util (which is added to the expression language in vega-parser)? If so, that method does intentionally return a timestamp.
Why? (1) Storing numerical timestamps has a smaller memory footprint and probably also faster comparison / equality checks. (2) It matches the API of Date.parse so follows standard JS. If having explicit Date objects is important to you, you could feed the output of the parse to the datetime() expression function.
Also, in response to earlier reports I updated the toDate method to allow numerical timestamps to pass through unmolested. So perhaps the linked Vega-Lite issue has been addressed?

For more, see:

vega-util's toDate method
vega/vega#839

Thank you for the clarifications. I got confused by https://github.com/vega/vega-expression/commit/30a4410242b75f6c6b2631852321cd851f686709.

Also, in response to earlier reports I updated the toDate method to allow numerical timestamps to pass through unmolested. So perhaps the linked Vega-Lite issue has been addressed?

Yes, it has been addressed then. Thank you and sorry for not checking this issue against the latest Vega.