Changes to 1.2.2. Model Scope and Scale

*Determine the temporal and spatial scope of the model. Where is the boundary of the modelled system? Everything outside beyond the boundary and not crossing it is to be ignored within the domain of the model, and everything crossing the boundary is to be treated as external forcing (known/unknown), or else as model outputs (observed, or not, Jakeman et al. 2006) ***HF comment I dont understand the preceeding sentence, the concept of boundaries of the model is foreign to me. Also, is this question more to do with describing the scope and limitations of the data rather then the model?***. The choice of a model's boundaries is closely linked to the choice of how finely to aggregate the behaviour within the model (Jakeman et al., 2006) - what is the intended scale and resolution of the model (temporal, spatial or otherwise)?

Explain how any key concepts or terms within problem or decision-making contexts, such as regulatory terms, will be operationalised and defined in a biologically meaningful way to answer the research question appropriately? (Should this last step go here or within define conceptual framework?. ***HF comment. I think it belongs with the conceptual framework***).

What is the intended domain of applicability of the model, what is the extent of acceptable extrapolations (Grimm)? This is relevant to model transferability... (similar to a COG statement..)*

Fix up this section
Originally posted by @egouldo in https://github.com/egouldo/EcoConsPreReg/pull/43/review_comment/create

f753664e0919c0cb04295fbb02aa0bf0a9a4827f


Bad show rule cause stack overflow

Description
I was trying to change the look of a link using a show rule.
I tried to compile the following code (this is the entire file) :
#show link: it => text(blue)[#underline(link(it.dest)[it.body])]

#link("google.com")

And when I tried to compile, Typst crashed with this error :
$ typst compile main.typ

thread 'main' has overflowed its stack
fatal runtime error: stack overflow
[1]    30454 IOT instruction (core dumped)  typst compile main.typ

I think the compiler should signal an error.
Reproduction URL
No response
Operating system
Linux
Typst version

[X] I am using the latest version of Typst

It's because you're calling link within the link show rule. Recursion of show rules is already on roadmap though

https://github.com/typst/typst/issues/229


Relation of ZIF_ABAPGIT_REPO_ONLINE to ZIF_ABAPGIT_REPO

Hello community, is there a reason why ZIF_ABAPGIT_REPO_ONLINE does not implement ZIF_ABAPGIT_REPO?
I noticed this while working on some abapGit integration stuff. I wanted to replace my use of ZCL_ABAPGIT_REPO_ONLINE with an interface, but the methods I need are contained in the two interfaces ZIF_ABAPGIT_REPO_ONLINE and ZIF_ABAPGIT_REPO.

Maybe because we need someone to implement it this way? 😉

Great, if there's no architectural reason against it, then I'll submit a pull request. :)


[formrecognizer] Investigate supporting conversion for dates and datetimes in dictionary methods

Invoices have document fields of type datetime.date. Other models affected: ModelOperationInfo, DocumentModel.

Using AzureJSONEncoder.


Add Raffle Rules

Status
Ready/In Progress/In Hold (Reason for hold)
Related Issues
fixes: link to the issue
Description
A few sentences describing the overall goals of the pull request's commits.
Screenshots
Paste here any images that will help the reviewer

Don't we add a link to this PDF?


KeyError in run_target_qa

Here's another bitmask key error, but this time in run_target_qa.
Traceback (most recent call last):
  File "/global/common/software/desi/cori/desiconda/20180518-1.2.5-spec/code/desitarget/master/bin/run_target_qa", line 33, in <module>
    make_qa_page(ns.src,qadir=ns.dest,mocks=ns.mocks,makeplots=makeplots,max_bin_area=max_bin_area,imaging_map_file=ns.weightmapfile)
  File "/global/common/software/desi/cori/desiconda/20180518-1.2.5-spec/code/desitarget/master/py/desitarget/QA.py", line 2595, in make_qa_page
    weight=weight)
  File "/global/common/software/desi/cori/desiconda/20180518-1.2.5-spec/code/desitarget/master/py/desitarget/QA.py", line 2202, in mock_make_qa_plots
    wobjtype = np.where(targs["DESI_TARGET"] & desi_mask[objtype])[0]
  File "/global/common/software/desi/cori/desiconda/20180518-1.2.5-spec/code/desiutil/1.9.11/lib/python3.6/site-packages/desiutil-1.9.11-py3.6.egg/desiutil/bitmask.py", line 142, in __getitem__
    return self._bits[bitname]
KeyError: 'BGS_FAINT'

This is more of. a @geordie666 issue...  Looks like BGS_FAINT is no longer in desi_mask...
from desitarget.targetmask import desi_mask
desi_mask['BGS_FAINT']
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-3-5acb1b3b9c07> in <module>()
----> 1 desi_mask['BGS_FAINT']

~/repos/desihub/desiutil/py/desiutil/bitmask.py in __getitem__(self, bitname)
    140         """Return mask for individual bitname.
    141         """
--> 142         return self._bits[bitname]
    143
    144     def bitnum(self, bitname):

KeyError: 'BGS_FAINT'

I think I found the issue -- stand by.

BGS_FAINT is in bgs_mask, not desi_mask, but it is still there.  It looks like the problem is in the QA code with the wrong combination of objtype and mask.  Hopefully John has a fix on this.
FYI I think @geordie666 is in Europe this week and may not be responding to github tickets with the usual frequency, or at least not the usual phase.

OK, I want to do this right but it'll take me more than just a few minutes.  I propose you skip the targeting QA so you can continue to run minitest and I'll have a fix by this evening.

Right, skipping for now.

Latest minitest notebook works fine.


Figure 21.2

The text describing the example in Figure 21.2 seems to assume city-block distance. But, the code used to generate this figure does not indicate that. I assume the default distance will be Euclidean. Anyway, probably the clustering yields the same result either way in this example. I am just curious if the code is actually running for Euclidean distance.
I guess the command should be
linked = linkage(X, 'single',metric='cityblock')
for city-block distance.

You are right. I fixed the error in https://github.com/probml/probml-notebooks/blob/main/notebooks/agglom_demo.ipynb. It turns out it does not affect the results.


merge #107 into master

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

articles/Archive/EvalDLL-Evaluation-Overview.md
:white_check_mark:Succeeded
View

articles/Archive/EvalDLL-Evaluation-on-Windows.md
:white_check_mark:Succeeded
View

articles/Archive/EvalDll-Examples.md
:white_check_mark:Succeeded
View

articles/Archive/Evaluate-a-model-in-an-Azure-WebApi-using-EvalDll.md
:white_check_mark:Succeeded
View

articles/Build-your-own-image-classifier-using-Transfer-Learning.md
:white_check_mark:Succeeded
View

articles/CNTK-Eval-Examples.md
:white_check_mark:Succeeded
View

articles/CNTK-Library-Managed-API.md
:white_check_mark:Succeeded
View

articles/CNTK-Library-Native-Eval-Interface.md
:white_check_mark:Succeeded
View

articles/Evaluate-a-model-in-an-Azure-WebApi.md
:white_check_mark:Succeeded
View

articles/Test-Configurations.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Fix vulnerabilities that OSV-Scanner found

Update stdlib to 1.21.1 and update crypto package.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (86cf40f) 78.88% compared to head (aab5f6c) 78.13%.
Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #724      +/-   ##
==========================================
- Coverage   78.88%   78.13%   -0.76%
==========================================
  Files          85       84       -1
  Lines        6035     6047      +12
==========================================
- Hits         4761     4725      -36
- Misses       1068     1117      +49
+ Partials      206      205       -1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Do we actually want to explicitly fix the development version to a patch? Keep in mind that means you can't use a higher version either (at least for goenv - I wouldn't be entirely surprised if go.mod still allows higher versions).
I find it useful to be able to use a potentially slightly different patch version given I work across multiple (and unrelated) Go projects.
All that really matters for the vulns is that the build is using the specific patch version right?

Do we actually want to explicitly fix the development version to a patch? Keep in mind that means you can't use a higher version either (at least for goenv - I wouldn't be entirely surprised if go.mod still allows higher versions).

So according to this from 1.21 onwards go.mod version sets the minimum go version, so it sounds like we can use higher versions.
I think we do want to follow our own logic in #704 / https://github.com/google/osv-scanner/issues/679#issuecomment-1831217041 where we are using the go.mod version to determine the stdlib version.

All that really matters for the vulns is that the build is using the specific patch version right?

Yes, during testing it doesn't really matter what exact patch version we use.

I find it useful to be able to use a potentially slightly different patch version given I work across multiple (and unrelated) Go projects.

Good point, not sure if there's a good solution here to limit the go version restriction only to the final build.


k8s: Fix External Workloads service access

NewClusterService() and EqualsClusterService() were inadvertently
broken when support for ipFamilies was added, leaving the 'Ports' in
service empty. This made all cluster services inaccessible to External
Workloads.  Fix this by collecting the ports across all
front-ends. This assumes that each front-end will be serving the same
ports.
This PR unblocks Cilium-CLI update to Cilium 1.10 by default.
Fixes: #14914
Signed-off-by: Jarno Rajahalme<EMAIL_ADDRESS>External Workloads service access is enabled again.

test-me-please

All issues seem to be related with FQDN policies. Jarno doesn't currently have the cycles to debug these issues and as this is a regression I've opened https://github.com/cilium/cilium/issues/16722, https://github.com/cilium/cilium/issues/16723 and https://github.com/cilium/cilium/issues/16724. All of these issues seem to have the same root cause (FQDN/policy) and the appropriate SIG is therefore sig-policy.


Updating xponents to Lucene/Solr 5.x.

Sets the solr dependency to 5.0.0 and changes the deprecated SolrServer to SolrClient. One question outstanding is if the pom version should be bumped to 2.8-SNAPSHOT?

Thanks for the contribution. This would be in 2.8;   I don't currently have a 2.8 branch.  2.7 "c" is like post-beta now.   I hope to release in March.  And then I'll incorporate the forward looking 5.0
cheers, Justin

Cool, that works. Thanks!

Justin,
Xponents 2.10 (master as of now) is at Solr 6.6 with SolrTextTagger 2.4.
I am not going to invest any time in Solr 5.x;   Solr 7.1 is already out in actively used, so that is next.
Closing this pull request.  I'd love to hear how you have used this capability.
Thanks,
Marc Ubaldino
Xponents author

@mubaldino Cool, no worries. Indeed we've upgraded solr and the text tagger since this pull request was issued. Our use of this module was around the coordinate extraction stuff. It was more of a proof of concept type project so it never really took off and kind of died. But the code worked, so kudos!


fix: broken paths in windows

Adjusted fs backslashes resolved by 'path' with forward slashes to avoid broken module paths in Windows

I noticed that when running on Windows, the module paths were broken as they are unintentionally resolved by path (or so I assume, since we just want the relative path and not necessarily the path resolving), resulting in a path with backslashes where there should be forward slashes.
Example output for one of my files when ran under macOS:
export * from './dts/stores/Store';
export { default } from './dts/stores/Store';

Same file but generated in Windows:
export * from './dts\stores\Store';
export { default } from './dts\stores\Store';

Even if the paths did resolve properly (by escaping the backslashes), it'd end up creating different files depending on which OS is running, which would be unusable for my team, so I figured just replacing the backslashes with forward slashes will produce consistent results across the board. The call to path.relative is still needed to get the relative path, but it shouldn't be resolved, maybe there's a more elegant way to go about that.

Fixed in #11


when double tap or pinch , can't swipe horizontal

When I use double tap to zoom the page, the first double tap, I can only swipe the page up and down, the second double tap, I can swipe left and right a little, but just a little bit, there is a large part of the page left and right will not be seen, this way It loses the meaning of zoom. Is there a solution to this?
Below is my code
pdfView.fromFile(file)
.enableSwipe(true) // allows to block changing pages using swipe
.swipeHorizontal(true) // allows to you to change swiping position
.enableDoubletap(true) // If you want you enable else "false"
.defaultPage(1) // The default pdf page
        .load();

same issue with .pageFitPolicy(FitPolicy.BOTH)?


Trying to load export templates in 3.0.3.rc3.mono

Godot version:

Godot V3.0.3 RC3 Mono
OS/device including version:

N/A
Issue description:

Trying to load export templates, error appears at end:
Unable to write to file 'C:/users//AppData/Roaming/Godot/templates/3.0.3.rc3.mono, file in use, locked or lacking permissions.
No indication of which file it was referring to.
I found I could export a Windows C# project but it was missing one scene and didn't run properly:
ERROR: Failed loading resource: res://scenes/bullet.tscn
At: core/io/resource_loader.cpp:186
ERROR: Error loading resource: 'res://scenes/bullet.tscn'
At: core/bind/core_bind.cpp:79
Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
at Tower.FireAtAlien (Godot.Vector2 vector) [0x00022] in :0
at main.TowerTargetting () [0x00080] in :0
at main._Process (System.Single delta) [0x00009] in :0
Steps to reproduce:
Load export templates
Minimal reproduction project:

This occured trying out this C# project: https://github.com/imekon/godot-unofficial-demo-projects-v3/tree/master/td2
If I can get a minimal version that has issues, I will.

Maybe similar to #6393 and #14339?

I think those two were fixed by #17869, which is included in 3.0.3-rc3, so I'm not sure.

This looks like windows or AV software locking files while scanning.
Try running the editor in self contained mode as a workaround (add a file named _sc_ in the same place as the executable, a editor_data folder will be created).
ps: I think self contained mode must be the default in the official downloads...

ps: I think self contained mode must be the default in the official downloads...

That would kind of defeat the point of the non-self contained mode, no? And you'd lose your settings and project each time you move to a newer version, unless you're very careful and put the binary in the exact same location.

@akien-mga yes, but is a downloaded binary, if it were added using an installer that can give the option to put things or not on user data folder (and clean it on reinstall-uninstall), is different and windows may even treat it differently too.

This error pops up in the console after downloading the templates again:
download 3.0.3.rc3.mono
(mirrors:[(name:Official 3.0.3-rc3.mono [HTTPS]), (url:https://downloads.tuxfamily.org/godotengine/3.0.3/rc3/mono/Godot_v3.0.3-rc3_mono_export_templates.tpz)])
ERROR: close: Condition ' rename_error ' is true.
    At: drivers/windows/file_access_windows.cpp:158
closed

@eon-s I tried self contained mode, I still get the error about the file being locked.
I tried exporting 'yielder' (see https://github.com/imekon/godot-unofficial-demo-projects-v3) however running the generated output results in lots of errors:
no access to .mono/assemblies/mscorlib.dll
ERROR: _get_modified_time: Method/Function Failed, returning: 0
    At: drivers/windows/file_access_windows.cpp:290
no access to .mono/assemblies/mscorlib.dll
ERROR: _get_modified_time: Method/Function Failed, returning: 0
    At: drivers/windows/file_access_windows.cpp:290
Mono: Runtime initialized
no access to .mono/assemblies/GodotSharp.dll
ERROR: _get_modified_time: Method/Function Failed, returning: 0
  At: drivers/windows/file_access_windows.cpp:290
no access to .mono/assemblies/System.dll
ERROR: _get_modified_time: Method/Function Failed, returning: 0
    At: drivers/windows/file_access_windows.cpp:290
no access to .mono/assemblies/Yielder.dll
ERROR: _get_modified_time: Method/Function Failed, returning: 0
    At: drivers/windows/file_access_windows.cpp:290
Mono: INITIALIZED
Found class .Main for script res://scripts/Main.cs
ERROR: load_interactive: Condition ' err != OK ' is true. returned: Ref<ResourceInteractiveLoader>()
    At: scene/resources/scene_format_text.cpp:1225
ERROR: Failed loading resource: res://scenes/red.tscn
    At: core/io/resource_loader.cpp:186
ERROR: Error loading resource: 'res://scenes/red.tscn'
    At: core/bind/core_bind.cpp:79
ERROR: load_interactive: Condition ' err != OK ' is true. returned: Ref<ResourceInteractiveLoader>()
    At: scene/resources/scene_format_text.cpp:1225
ERROR: Failed loading resource: res://scenes/green.tscn
    At: core/io/resource_loader.cpp:186
ERROR: Error loading resource: 'res://scenes/green.tscn'
    At: core/bind/core_bind.cpp:79
ERROR: load_interactive: Condition ' err != OK ' is true. returned: Ref<ResourceInteractiveLoader>()
    At: scene/resources/scene_format_text.cpp:1225
ERROR: Failed loading resource: res://scenes/blue.tscn
    At: core/io/resource_loader.cpp:186
ERROR: Error loading resource: 'res://scenes/blue.tscn'
    At: core/bind/core_bind.cpp:79

Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
    at Main._Ready () [0x00052] in <51bd99c6a10941df9b452de25cef9752>:0
no access to .mono/assemblies/System.Core.dll
ERROR: _get_modified_time: Method/Function Failed, returning: 0
   At: drivers/windows/file_access_windows.cpp:290

I see a uppercase problem in that project, res://scenes/blue.tsc does not exists, but res://scenes/Blue.tscn, the editor on windows can run it but once packed, it is case sensitive.

Ah, that fixes the export; seems the error reported is nothing serious - though the Export is unavailable for a while - not sure when it appears.

This appears to happen due to windows defender. If I disable it this message goes away, it appears that everything still works afterwards so we'll look into this for 3.0.4

I'm getting the same error in 3.0.4 also.

This error will keep appearing until binaries get signed (which may be complex with windows templates too), using self contained mode may help some users until windows/AV software gets even more agressive.

I keep getting an error just like this even with self contained mode whenever I attempt to install the export templates. I also attempted to export my project after said error, but doing that causes Godot to crash.

Same here. Running on Windows 7, 64 bit version using Mono (tried the one without Mono as well).

"Unable to write to file 'C:/Users/User/AppData/Roaming/Godot/templates/3.0.4.stable.mono/', file in use, locked or lacking permissions."

Downloaded the file and used the "install from file" button.
Tried the self contained mode, checked if any other software were really using any of the 10 files that are exported from the .tpz. Don't know about the empty .tmp file, however. It never goes away even though it's a .tmp file which should be temporary. Each time I start the editor it also generates log files in the mono/mono_logs with gems in it such as "AOT: image 'C:\Program Files\Mono\lib/mono/aot-cache/amd64/mscorlib.dll.dll' not found: The system cannot find the path specified.". Then again I've been warned that the C# version is quite experimental from what I gathered.
Someone should explain to me why it's hard to export and move 10 files and write a .tmp file in a user's appdata directory (or a directory controlled by the software if self-contained). I've been using (tried using) this engine for not even a day yet and I'm already struggling to have my development environment working. Also, the fact that the C# version using Mono can't do releases properly yet should be the kind of thing that's advertised on the download page on their official website, not when you open a project in the editor. I know this isn't a blog and this isn't being helpful but this only makes me feel like I'm wasting my time tbh. I'm not impressed at having spent hours looking on github and tinkering with something that quite frankly, should be working without issues. I've been forced to do some funky work around at my job to get a C++ Builder IDE running on Windows 7 and 10 efficiently but this is not something I'd expect I have to do on something that's actually kept up to date.

UPDATE:
I've took some time today doing some testing and searching for answers and I've found something that might help any of you who are looking for a solution. Turns out the .tpz templates files that I've downloaded from the official website contain ADS which are blocked by Windows (which I should have thought about earlier). Basically, it's extra data contained within the template files, this is called the Windows Alternate Data Stream (ADS) which is a feature of the NFTS file format of Windows. Windows blocks this data because of it being a bit obscure and tricky, security softwares used to have a hard time detecting malicious things from within these data streams so Windows, as a matter of security, just blocks them outright when it comes from another computer.
To unblock the files, simply right-click them, go into properties and in the "General" tabs, at the very bottom there should be a mean to unblock the files through the "unblock" button.
If you want to learn more on ADS, you can check this out :
https://www.bleepingcomputer.com/tutorials/windows-alternate-data-streams/

To workaround that ADS thing then the tpz may need to be in another format, what about 7zip?

For 3.0.5 the editor binary will be signed. I'm not sure if that in itself will fix the problem though since the export templates themselves will likely not be. I'll have a look at it though.

Apparently this issue was caused by choking on folders while installing the templates, which is fixed by #20186 (and should be in 3.0.6 once cherry-picked).
Please comment if you can still reproduce the issue when 3.0.6 RCs are made available.

BTW @hpvb, this issue started happening with 3.0.3 because you're zipping the whole templates/ folder (folder + files), while you should only zip the files as shown in the pre-3.0.3 build script: https://github.com/GodotBuilder/godot-builds/blob/master/scripts/zip-templates.sh#L11
So basically zip file.zip templates/* instead of zip -r file.zip templates/. See the difference:
$ unzip -l Godot_v3.0.5-stable_export_templates.tpz
Archive:  Godot_v3.0.5-stable_export_templates.tpz
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2018-07-08 19:23   templates/
 10153460  2018-07-08 17:01   templates/uwp_arm_release.zip
  9254183  2018-07-08 17:01   templates/uwp_arm_debug.zip
  8310024  2018-07-08 17:01   templates/uwp_x86_release.zip
  8632055  2018-07-08 17:01   templates/uwp_x86_debug.zip
 10888562  2018-07-08 17:01   templates/uwp_x64_release.zip
 10562153  2018-07-08 17:01   templates/uwp_x64_debug.zip
 24363008  2018-07-08 18:17   templates/windows_64_release.exe
 23156736  2018-07-08 18:17   templates/windows_64_debug.exe
 24536576  2018-07-08 18:17   templates/windows_32_release.exe
 25304064  2018-07-08 18:17   templates/windows_32_debug.exe
 48619434  2018-07-08 18:18   templates/osx.zip
 96436979  2018-07-08 18:18   templates/iphone.zip
 33767609  2018-07-08 18:56   templates/linux_x11_32_debug
 33515993  2018-07-08 18:56   templates/linux_x11_32_release
 29143540  2018-07-08 19:16   templates/linux_x11_64_debug
 29852187  2018-07-08 19:16   templates/linux_x11_64_release
 43183081  2018-07-08 19:18   templates/android_debug.apk
 34537592  2018-07-08 19:18   templates/android_release.apk
  3381515  2018-07-08 19:23   templates/webassembly_release.zip
  4896171  2018-07-08 19:23   templates/webassembly_debug.zip
       13  2018-07-08 19:23   templates/version.txt
---------                     -------
512494935                     22 files

$ unzip -l Godot_v2.1.5-rc2_export_templates.tpz
Archive:  Godot_v2.1.5-rc2_export_templates.tpz
  Length      Date    Time    Name
---------  ---------- -----   ----
 23193348  2018-07-18 19:16   templates/GodotiOSXCode.zip
 16334054  2018-07-18 19:29   templates/android_debug.apk
 14179463  2018-07-18 19:29   templates/android_release.apk
  6268581  2018-07-18 19:16   templates/javascript_debug.zip
  6325118  2018-07-18 19:16   templates/javascript_release.zip
 25280996  2018-07-18 19:16   templates/linux_x11_32_debug
 26157998  2018-07-18 19:16   templates/linux_x11_32_release
 25940704  2018-07-18 19:16   templates/linux_x11_64_debug
 27295283  2018-07-18 19:16   templates/linux_x11_64_release
 40902822  2018-07-18 19:16   templates/osx.zip
        9  2018-07-18 19:30   templates/version.txt
 14389248  2018-07-18 19:16   templates/windows_32_debug.exe
 15290880  2018-07-18 19:16   templates/windows_32_release.exe
 17263104  2018-07-18 19:16   templates/windows_64_debug.exe
 17306624  2018-07-18 19:16   templates/windows_64_release.exe
  7145553  2018-07-18 19:30   templates/winrt_arm_debug.zip
  7363468  2018-07-18 19:30   templates/winrt_arm_release.zip
  8235928  2018-07-18 19:30   templates/winrt_x64_debug.zip
  9129781  2018-07-18 19:30   templates/winrt_x64_release.zip
  6811523  2018-07-18 19:30   templates/winrt_x86_debug.zip
  7143735  2018-07-18 19:30   templates/winrt_x86_release.zip
---------                     -------
321958220                     21 files

See how the 3.0.5-stable tpz has         0  2018-07-08 19:23   templates/ which is not in the 2.1.5-rc2 tpz.
Reuploading fixed tpz for 3.0.3, 3.0.4 and 3.0.5 should fix this issue (and #20186 should prevent it from happening even if templates tpz contain a folder).

You could also add the -D switch to ensure that no directories are included in the zip.


New package: Boilerplate v1.0.5

Registering package: Boilerplate
Repository: https://github.com/Cvikli/Boilerplate.jl
Created by: @Cvikli
Version: v1.0.5
Commit: 692563d109d63d2db216e4c6e0834e1e6e2e6408
Git reference: HEAD
Description: Useful boilerplate snippets for productivity ;)
Release notes:

Very simple snippets that could be actually in the Base too!

I am sorry to opening this topic again. But I feel Boilerplate package is literally the essential functions that is actually missing from the Base Julia library or it improve the Base Julia library. I am really open to any suggestion if it doesn't get adopted to make this available in the registry.

It looks to me like this package is committing a lot of type piracy (defining methods for functions you don't own for types you don't own), with things like
Base.String(x) = "$x"

That's an absolute no-go. You should not be doing things like that. It may seem convenient, but you will shoot yourself in the foot sooner or later.
It is absolutely not something that can be registered.

I removed all the Type Piracy issues! I totally understand the point and my intentions isn't to create problems for basic usage!
Thank you for pointing this out!
I am totally open for any other advice on this, how could we merge this package!
[noblock]

I'd say you have a much better chance of getting it into General if you made an effort to scope the package properly and rename it accordingly. From the readme it seems that there's some random stuff in there but also a focus on providing macro versions of functions used for debugging to make typing easier? If that's the case maybe focus on those and rename the package DebuggingMacros or something.
There's a long standing policy in General against the registration of personal collections of utility functions which this in its current state seems to be a clear case of.

[noblock]
However I have to register this package as it is already a blocker at registering many of my other packages as those depends from this already.
So please take a second look and help me to administer this package!

I'd say you have a much better chance of getting it into General if you made an effort to scope the package properly and rename it accordingly. From the readme it seems that there's some random stuff in there but also a focus on providing macro versions of functions used for debugging to make typing easier? If that's the case maybe focus on those and rename the package DebuggingMacros or something.
There's a long standing policy in General against the registration of personal collections of utility functions which this in its current state seems to be a clear case of.

You are right. But there are many more then just debugging! So that's why I wanted to give Boilerplate to it as it actually remove Boilerplate codes all in all.
Also please if these are the available function, which actually could be useful for anyone, so it really not only for me. Then, can these be accepted:

@sizes: Very simple size print for "any" structure
@typeof: Simplest type print for "any" structure
findfirst_typed: Typesafe find first
idxI: Extract elements at specific index from array of arrays
@async_showerr and @asyncsafe: Error-handling for async operations
@display and @println: Simplest print
clear_line_up: Terminal line clearing utility
@dtime: Simple execution time measurement
available_memory: Very simple available system memory query

Can I give BoilerplateCvikli or BoilerplateProposal to it? Or some suffix that allow me to register?

Also I would be happy to take the responsibility to maintenance this codebase and allow any good advice on how to extend this with general boilerplate cases.
So anyone who has an observed very simple Boilerplate method, I would be happy to extend this library with their advice if that's also really a boilerplate code which isn't just a custom solution for a specific problem!
[noblock]

However I have to register this package as it is already a blocker at registering many of my other packages as those depends from this already.

Some of these functions/macros could definitely be part of a package. However, they also seem like they'd be mostly useful for development workflows and testing, rather than actual package code. Utilities for development workflows generally wouldn't be dependencies, and don't absolutely need to be registered. There's no rule against it, of course, so if it's generally useful, it's fine to register it.
A lot of these are also small one-liners. It's often better to copy in one-liners into a package code rather than adding a dependency. At least for anything that doesn't fit into a DebuggingMacros package. Or, if you have some kind of "Base" package for many of your packages, put it in there.

If it doesn't work anyway, then can I give BoilerplateCvikli

Even though there's a general rule against registering personal utility packages, in my book, registering with a name like that is perfectly fine. It's going to pass auto-merge checks, and at least I would put very little scrutiny on a package like that.
But I just want to stress again that anything that overrides the behavior of Base or another package cannot be registered under any circumstances, so be careful with that if you're adding more functionality.
You can maybe do things like that in a local project, but be very very careful (you can easily introduce impossible-to-find correctness bugs that way), and keep it out of any kind of package.

I would also advise against registering something with your own name. The idea of the general registry is that packages in there should be useful to everyone. The main problem here is not only the name, but also the fact that your Boilerplate.jl is a mixed bag of individual utility functions, which others may not find relevant.

I would also advise against registering something with your own name.

Yeah, but who cares whether a package with a name like that exists? It's not going to clash with anything. I don't think we should interpret the rule against "personal utility packages" that strictly. These packages, with an appropriate and specific name, can serve as dependencies for other more broadly useful packages someone may want to register (since all dependencies of registered packages must also be registered). Organizations often have various packages that really only serve as dependencies. I have a QuantumControlTestUtils myself! Why not give individuals similar leeway? If it's useful as a dependency for something useful, that should be good enough, assuming the name is highly specific.

All that being said, it's definitely better to pull out functions/macros into a coherent package with a descriptive name.

Really thank you!
Yes, the reason I want to register is because I use this in like 10 other module and I want to register now the AISH.jl and some more later on as there are already great advancements in some of them that will be useful for the community I believe. :D
I am open to break it down if Boilerplate.jl isn't good fit.
But my problem is that:
@sizes and @typeof is like salt in the life. So these are not debugmacro to be honest... I cannot explain it any better. It is literally equivalent with @show and it would be really ugly to call it debugmacro. :( You will understand later on when you use these function how extremly useful these two are!
So I try to find something else.
EasyPrint.jl

@sizes: Very simple size print for "any" structure
@typeof: Simplest type print for "any" structure
@display and @println: Simplest print
@dtime: Simple execution time measurement
clear_line_up: Terminal line clearing utility

SafeAsync.jl

@async_showerr and @asyncsafe: Error-handling for async operations

ArrayManipulation.jl

findfirst_typed: Typesafe find first
idxI: Extract elements at specific index from array of arrays

Would this 3 package fit?
I would plan to register the EasyPrint.jl and the SafeAsync.jl if that is okay?
It will be extremely big refactor for me. I cannot even explain... Some of them will be even left out I believe due to thes are somewhat too big work and somewhat unused atm...
I don't give any name to the available_memory. I use it only very rarely in production only.

I can't honestly say that I'm a huge fan of these…
I just checked out AISH.jl. As far as I can tell, out of the macros listed above, it only uses @async_showerr, and only in one place. I would never add a dependency in such a situation. Dependencies are not "for free". Not for your users, where additional dependencies increase project instantiation time and open up the possibilities of conflicts, but also not for you. I think you might underestimate the overhead of having to manage the development workflows of multiple packages.
I can say pretty confidently that none of the relatively simple macros currently in Boilerplate justify that kind of trouble.
I would copy in the one or two definitions of these macros that you're actually using into each package, not load them as a dependency. Actually, I'm not even sure the @async_showerr macro / avoiding boilerplate is a good idea in general. Now, when I look at your code, I have to figure out what @async_showerr does. It would be much better to just write out that boilerplate.
It seems all of your current work is AI related. Maybe you want to think about which packages you'll really want to push out, and put them into an organization (and remember: maintaining too many packages adds a lot of overhead for you, so it might be best to consolidate). Then maybe that org could have a <OrgName>Core or <OrgName>Utils package that collects these common boilerplate utilities, for use by all the packages in the org. I think that would be a much better solution than EasyPrint or some similar package name that's both relatively general and non-descriptive and probably wouldn't be used by anyone but you.
By the way, you'll run into problems with the package name AISH when you try to register. I would recommend renaming it to AIShell or something similar that matches the package naming guidelines.

Thank you for taking a look on AISH.jl!
I understand, it seems like there is rare usage of that macro in the AISH.jl. But during development and anything like that I use it a lot. And this is just one package. Also just noting that Anthropic.jl would also use that @async_showerr macro, but I removed and now it send silent errors with the @async  which is very dangerous. And all due to I want that package to be available.
I use these @show @sizes @typeof @display functions very frequently.
I understand that you are not huge fan of these. It is similar like @show. Are you fan of @show or you go with println most of the time? It will be the same with these, please take my word for this as I cannot give you better proof now enough easily!
I really have to push these package up. Also I am open to maintenance as much package as possible.
Regarding the dependency issues, I understand your concern. But it isn't a must. So if a person want to clean down his code base it is up to his decision. I can also clean down. But to be honest the @async_showerr reduce the code lines from extra +4-5 lines to zero extra line. It is REALLY decreasing the cognitive load when it comes to Julia developing and it worth the trade off.
I don't know what can I do, but I really want to use these macros. I am open to anything, just let me know what is the way to accept these in the General registry, so I can move forward and help the community much better.
Also I can assure you I won't allow any type piracy as I am well aware of what that is, as I was already involved in many things with that due to the RelevanceStacktrace and many other Stacktrace modifier module.

In my view most of the macros we're talking about are development tools, which belong in your startup.jl

@gdalle the problem is with startup.jl.
If I put my macros into that, then the @async_showerr and everything will cause err for other users.

These are EasyPrint.jl

In my view most of the macros we're talking about are development tools, which belong in your startup.jl?

That's exactly what I was thinking… These do not need to be registered to use them for development (and I can totally see that they can be useful during development for you personally)
If you really think you must use these in the actual code of a registered package, just include what you need in one of those packages. If you want to use in another package, import them from the existing package, or just add a copy of your boilerplate.jl file to the new package. That is a much better approach than putting these types of functions into a separate package.
Splitting it into multiple packages probably only makes this worse. We definitely don't want NPM-style "is_odd" packages in Julia, and especially not for something that's unequivocally personal utilities.

I really don't understand why did we decide here that it won't be useful to anyone

I'm not saying it's not useful for anyone. I'm saying that for anyone who finds this useful, the best thing to do is to copy that kind of code into their package, instead of importing it from some package

So I will have 10 package with Boilerplate.jl code. And if I find a new thing, then I will replace every file again again and again.

Can you explain to us where you would need a variant of @show in an actual, finished package?

It isn't nice to have it in the finished project. But it can be actually happen. We could argue then why do we have @show in Base right? I want to extend the Base with this basically.
There is boost library in C++ which also had extensions for the Base of C++. It was one of the most well used packages.
Boost library was known to be the future of C++ because there were experimental features in it which was later adopted by the standard. Boilerplate is no different.

I don't know if you really plan to maintain 10 publicly facing packages. That seems like a lot, and I would recommend putting some thought into potentially consolidating this into fewer packages, or some coherent structure. If they're all related to AI, maybe they can all share some common "Core"/"Utils"/"Base" package (as I was proposing before) that can include these kinds of functions, and nobody will bat an eye.
But otherwise, yeah, just keep these few lines of code in every one of your 10 packages. You only need to include the definitions you actually use in the released code. I'm going to guess you won't end up using the majority of these functions except for debugging. So you also don't really need to keep them in sync between projects. If you find a new boilerplate macro, you don't have to backport this into existing code.
I think you're treating whether this is in a registered package as far too much of a blocker. There are many ways for you to use the definitions you like in any of your packages that don't involve registering a Boilerplate.jl.

I said I can split these to two package above: EasyPrint.jl and SafeAync.jl

If you add another word to these names so that the package names are extremely specific and won't clash with anything that might exist in the future, we're at a point where I wouldn't care to object to it. (Not that I think it's a really great idea).
Personally, I absolutely wouldn't mind (and even recommend) CvikliEasyPrint.jl, and CvikliSafeAync.jl, where "Cvikli" is basically your brand/org name. Other orgs do things like that routinely for internal non-user-facing packages. I would argue that we should give personal usernames a pass for this kind of thing. It seems like @gdalle was a little more opposed than me to these kinds of personalized package names, but maybe he can come around to this being a way forward that least stressful and disappointing for everyone involved.

Really Thank you for this!

I still don't think it's a good idea, and I invite @Cvikli to strongly consider leveraging startup.jl instead, for instance with the ideas in https://discourse.julialang.org/t/what-is-in-your-startup-jl/18228.
But I won't actively oppose the registration of a BoilerplateCvikli at this point because it would be a waste of everyone's time.

There is AISH.jl which uses Anthropic.jl which uses Boilerplate.jl... So it is again a blocker.

Anthropic can't be using Boilerplate, since you already submitted the registration. But you could add these macros to Anthropic and then import them from Anthropic into AISH. Especially if Anthropic is going to be a natural dependency of most of your planned packaged.
Or go with with personalized package names.
@gdalle Are you okay with giving him a pass on CvikliEasyPrint.jl? I wouldn't derive a general precedent from this exception. But it's not going to clash with anything, and resolve the frustration here. To me, that seems worth not being a stickler about the rule against personal utilities.

As I said, I won't stand in the way if the package bears a unique name that makes it clear it is personal. But I think this is in general an awful idea, and that's what local registries are for, not the General registry.

I will send them tomorrow as I don't want to rush into this and make mistakes. And I want to finish the AISH backend-frontend communication today.
Thank you guys for the option I can work!

We can close this PR.
I opened the BoilerplateCvikli package registration finally! <3
Thank you!


CLOUD-501 Set timeout for tests

Test name
Status

self-healing
passed

init-deploy
passed

recreate
passed

big-data
passed

scaling
passed

storage
passed

scaling-proxysql
passed

self-healing-advanced
failed

demand-backup
passed

upgrade
passed

operator-self-healing
passed

limits
passed

one-pod
passed

upgrade-consistency
passed

monitoring
passed

auto-tuning
passed

monitoring-2-0
passed

scheduled-backup
failed

affinity
failed

proxysql-sidecar-res-limits
failed

Test name
Status

Test name
Status

big-data
failed

scaling
failed

init-deploy
failed

recreate
passed

self-healing
passed

storage
passed

scaling-proxysql
failed

upgrade
passed

demand-backup
passed

limits
passed

self-healing-advanced
passed

upgrade-consistency
passed

monitoring
passed

operator-self-healing
passed

monitoring-2-0
passed

scheduled-backup
failed

one-pod
passed

affinity
passed

proxysql-sidecar-res-limits
passed

auto-tuning
passed


IDVA6-1672 Prevent access for users who have removed themselves

Link to Jira
Description
Adds a check in navigation middleware, to ensure that a user, who has removed themselves can longer access the front end pages.

CI: No security warnings found

CI: No security warnings found


[SPARK-28765][BUILD] Add explict exclusions to avoid JDK11 dependency issue

What changes were proposed in this pull request?
This PR adds explicit exclusions to avoid Maven JDK11 dependency issues.
Why are the changes needed?
Maven/Ivy seems to be confused during dependency generation on JDK11 environment.
This is not only wrong, but also causes a Jenkins failure during dependency manifest check on JDK11 environment.
JDK8
$ cd core
$ mvn -X dependency:tree -Dincludes=jakarta.activation:jakarta.activation-api
...
[DEBUG]       org.glassfish.jersey.core:jersey-server:jar:2.29:compile (version managed from 2.22.2)
[DEBUG]          org.glassfish.jersey.media:jersey-media-jaxb:jar:2.29:compile
[DEBUG]          javax.validation:validation-api:jar:2.0.1.Final:compile

JDK11
[DEBUG]       org.glassfish.jersey.core:jersey-server:jar:2.29:compile (version managed from 2.22.2)
[DEBUG]          org.glassfish.jersey.media:jersey-media-jaxb:jar:2.29:compile
[DEBUG]          javax.validation:validation-api:jar:2.0.1.Final:compile
[DEBUG]          jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
[DEBUG]             jakarta.activation:jakarta.activation-api:jar:1.2.1:compile

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Do the following in both JDK8 and JDK11 environment. The dependency manifest should not be changed. In the current master branch, JDK11 changes the dependency manifest.
$ dev/test-dependencies.sh --replace-manifest

Test build #109260 has started for PR 25481 at commit c037543.

cc @srowen , @HyukjinKwon , @wangyum .

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14328/
Test PASSed.

Test build #109260 has finished for PR 25481 at commit c037543.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/109260/
Test PASSed.

Is it safe?
        <profile>
            <id>jdk11+</id>
            <activation>
                <jdk>[11,)</jdk>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>jakarta.xml.bind</groupId>
                    <artifactId>jakarta.xml.bind-api</artifactId>
                </dependency>
                <dependency>
                    <groupId>com.sun.xml.bind</groupId>
                    <artifactId>jaxb-osgi</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>

https://github.com/eclipse-ee4j/jersey/blob/2.29/core-server/pom.xml#L229-L245

Oh, thank you for the pointer, @wangyum . I only checked only https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-server/2.29 before. I'll take a look at that.

I think it's generally fine if the tests we run pass though.

Hmm. Got it. It seems that this situation is designed like this. In worst case, it seems that we end up with having manifest per JDK. And, pre-built artifacts per JDK How do you think about this situation? @srowen ?

If we don't use that, yes it is.
For now, it seems that this situation is designed like this. In worst case, it seems that we end up with having manifest per JDK. And, pre-built artifacts per JDK How do you think about this situation? @srowen ?

For now, I'll close this PR. Thank you for review, @HyukjinKwon and @wangyum .

Test build #109276 has started for PR 25481 at commit c037543.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14345/
Test PASSed.

Test build #109277 has started for PR 25481 at commit 7f24d26.

Given the test, this PR still looks good to me.

Test build #109277 has finished for PR 25481 at commit 7f24d26.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/109277/
Test PASSed.

Test build #109276 has finished for PR 25481 at commit c037543.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/109276/
Test PASSed.

Well the other solution is to explicitly include these additional libraries as a runtime dependency. Then the dependencies are the same too. We don't need a new profile. That's 'safer' I guess.
This approach is also OK if they really aren't used given how Jersey is used in Spark, but do we know that? Java 9 kicked out the JAXB libraries from the JDK, so it's possible they are there on purpose.
The Java 8 PR builder here passes of course. If it has been manually checked against JDK 11 and tests work, I'm OK with it. We'd know soon if it doesn't, assuming the JDK 11 Jenkins job is in operation. If it fails I think we'd fall back to the other approach above.
Anyway, I'm OK with it if there's any evidence it works on JDK 11, otherwise, might suggest adding the dependencies instead.

It was tested against JDK 11 at https://github.com/apache/spark/pull/25443#issuecomment-522235276 but yes explicitly including sounds fine to me too

I'm OK with it then.

Then, thank you, @srowen , @HyukjinKwon , @wangyum .
I'll merge this and follow this explicit testing and exclusion way for these three.
We can switch to explicit inclusion always if required.


Does anyone use --no-fallback-metadata and --download-only-metadata?

Like the title says, have you guys ever had a use for these flags? I've personally never used them and don't think others find them useful either. I plan on removing them in the next release v2.0.0 if there aren't many people who use them.

Jus keep them on, they are extremely useful while running large scale tests, like if u want to compare metadata for a million songs

compare metadata for a million songs

It would generally make more sense to use Spotify web-api directly for such a use case though.

I've been using spotdl from a very long time and I would like to share that metadata is important to me regardless of the fact whether it is taken from YouTube or Spotify, so I don't think removing "-nf" is going to affect the usabilty while "-dm" seems useful to me as it would only download the song whose metadata is found which is a good feature. So consider removing '--no-fallback-metadata' for now only.
Although I've never used them personally so please feel free to correct me if I'm wrong or if you have something different in your mind. :)

metadata is important to me regardless of the fact whether it is taken from YouTube or Spotify, so I don't think removing "-nf" is going to affect the usabilty while "-dm" seems useful to me as it would only download the song whose metadata is found which is a good feature.

Currently, if a track isn't found on Spotify (which could happen when passing in a YouTube URL or a search query to --song or --list), the metadata is picked up from the corresponding video on YouTube. That means that any track that gets downloaded will prioritize Spotify over YouTube for metadata. Also, as long as a track is found on YouTube, we can both download it and fetch YouTube's metadata for this track.
So over time, -dm flag has become kinda misleading. This used to be useful in the past when we didn't use YouTube as a metadata source and passing in this flag would skip a track download if it isn't found on Spotify. But today, we can always depend on YouTube for metadata. Also, I don't remember anyone raising such a concern over this misleading flag which kinda hints not many people use this flag. That makes me conclude that removing atleast the -dm flag should not be devastating.

True indeed! We can definitely retrieve metadata from YouTube if not found on Spotify. So, this means even if we use "-dm" flag it would certainly be of no use for us.
So, in my opinion it would be best to get rid of it!

Ok, I've removed both these options in v2.0.0. Let's see how this goes.


Jenkins CI support

Hi,
I'm new to pinpoint and i was trying to find any option to integrate pinpoint apm as part of jenkins integration
Here our requirement is to take snapshot of pinpoint tracing results against jenkins build and analyze and compare the results .
I am interested to know if there is any plugin or workaround that we can apply
Kindly let me know on these following,

Report generation i.e html or pdf format report generation for the trace events
Any rest api to perform some action in pinpoint apm
any option to export metrics to elasticsearch or other db type.

Thanks
Ram

Pinpoint does not have this function
Contributions are welcome

Thanks for confirming.


Update select options dynamically closes select window .

How to achieve select options to update without closing the window , so for example , to achieve infinite scrolling , it should be open and  after scroll down , it should update new data below without closing the select window ?

$('selec').material_select() . closes the window when new data is available .

Solved it by implementing my own dropdown!.


Alloc improvements

This PR reduces temporary memory allocations in common paths when controls are initialized and rendered. This results in less memory traffic and fewer garbage collections, which should help all applications.
All -n allocations listed below are for starting ControlCatalog.NetCore and waiting until the window is fully displayed. Depending on the target app, these numbers will of course vary. Overall, this PR results in about -25000 allocated objects for ControlCatalog.NetCore.
Commit 1 avoids iterator boxing by using for instead of foreach for IReadOnlyList<T> in several hot paths:

StyledElement.ApplyStyles (-12500 allocations)
OrSelector.Evaluate (-2200 allocations)
CompositingRenderer.SyncChildren (-450 allocations)

Commit 2 removes some unneeded allocations in CompiledBindingExtension:

Don't allocate an empty List<T> that will be overwritten in the constructor (-860 allocations).
Use an array for elements instead of a List<T> as the list is never modified (-860 allocations and a properly sized array).
Avoid iterator boxing in SourceMode (-400 allocations).

Commit 3 adjusts the growth factor of AvaloniaPropertyDictionary:

The 1.2 growth rate was too slow, only allowing +1 item per resize until 10. Changed to ×2 for the first resize (from 4 to 8 items), then ×1.5 after. (-6100 allocations)

Commit 4 removes the Lazy<List<string>> in TypeNameAndClassSelector and replaces it with a List<string> lazily allocated with ??=:

Avoid allocating the Lazy<T> object and its internal LazyHelper (-1480 allocations).
The resulting list isn't thread safe anyways (and isn't supposed to), so having the reference itself be thread safe didn't get much.

You can test this PR using the following package version. 11.0.999-cibuild0030718-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]

Maybe you could run some of the benchmarks inside tests/Avalonia.Benchmarks as well. Would be interesting to see how much of a perf difference it makes.

Maybe you could run some of the benchmarks inside tests/Avalonia.Benchmarks as well. Would be interesting to see how much of a perf difference it makes.

I tried non scientific just perceiving how long it takes to launch control catalog, on my machine and it seems noticeably faster. Do you happen to know what the total allocations were for launching ControlCatalog?

We really need some analyzer that would trigger a warning when IList enumerator is used with foreach. It's not the first time it's causing memory traffic.

Do you happen to know what the total allocations were for launching ControlCatalog?

About 743k allocations before, 718k after. Note that a bunch come from the ControlCatalog itself, not Avalonia directly (for example the ItemsRepeaterPageViewModel sample allocates more than 200k objects).
Seen this way, the change doesn't seem like much and I don't expect it to be quite noticeable in normal usages: allocating is fast. However, the fewer garbage collections the better since it's a death by a thousand cuts (especially in constrained environments such as mobile devices or game engines). The code paths improved here help every control: they were low hanging fruits with simple changes. There are many other optimization opportunities, with varying complexities.
As someone who's spent quite some time optimizing CPU usage and memory allocations of the apps I worked on these past years, I'm always disappointed when I find out that some external library is now the main culprit of poor performance. I want Avalonia to never be that bottleneck :)

I'm always disappointed when I find out that some external library is now the main culprit of poor performance. I want Avalonia to never be that bottleneck :)

It's great to see that you help us to improve Avalonia further. Your effort is very much appreciated ❤


Investigate and fix regressions introduced by the 200413 weekly sync

Can one of the admins verify this patch?


Add instructions for working with the site

I would suggest putting docs instructions in docs/README.md instead, but I'll leave that for someone else to decide.

Works for me...

Addressed this in #693, instead.


When the mouse is placed in the labels column of the Target page, the "before relabeling" label cannot be displayed normally

What did you do?
Problems in video
The Targetsweb page cannot be displayed before relabeling
What did you expect to see?
No response
What did you see instead? Under which circumstances?
容器镜像是  prom/prometheus:v2.42.0
System information
No response
Prometheus version
v2.42.0
Prometheus configuration file
prometheus  config
global:
  scrape_interval: 15s
  scrape_timeout: 10s
  evaluation_interval: 1m
scrape_configs:
- job_name: prometheus
  honor_timestamps: true
  scrape_interval: 15s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: http
  follow_redirects: true
  static_configs:
  - targets:
    - localhost:9090
- job_name: kubernetes-node-exporter
  honor_timestamps: true
  scrape_interval: 15s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: https
  authorization:
    type: Bearer
    credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  tls_config:
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    insecure_skip_verify: true
  follow_redirects: true
  relabel_configs:
  - source_labels: [__address__]
    separator: ;
    regex: (.*):10250
    target_label: __address__
    replacement: ${1}:19100
    action: replace
  - source_labels: [__scheme__]
    separator: ;
    regex: (http|https)
    target_label: __scheme__
    replacement: http
    action: replace
  - source_labels: [__address__]
    separator: ;
    regex: (.*):19100
    target_label: instance
    replacement: ${1}
    action: replace
  kubernetes_sd_configs:
  - role: node
    kubeconfig_file: ""
    follow_redirects: true

Alertmanager version
No response
Alertmanager configuration file
No response
Logs
No response

Dear @iYerw,
Thank you for taking the time to submit your issue.
Based on the information you provided, it seems like your issue is a duplicate of a previously reported issue #9175.
To access the labels before relabeling, I suggest using the Service Discovery page as a workaround.

Duplicate of  #9175.


Incorporate NSHTTPCookieStorage changes

@parkera Thanks for merging the last PRs
Some NSHTTPCookieStorage seem to have been mismerged, however. This fixes on Linux for me.
I hope to push a fix for the macOS tests too, but if this blocks swift PRs, I think this should have Linux tests work.
Looking forward to watching the videos from WWDC!

Thanks, I was just looking at this too. I probably messed something up in trying to resolve the conflicts.

Just going to fast-path merge this to hopefully unbreak the build. Testing it out myself now too.


Evaluation protocol on ScanNet

Dear author,
Thanks for your great work on the scene reconstruction from multi-view images. Currently, I want to follow your evaluation protocol and have some questions about the evaluation code.
Specifically for ScanNet data, I am wondering if I only need to specify the extracted mesh path (e.g., the path for the provided mesh in this repo) and run "scannet_eval/evaluate.py" file to calculate the metric.
Bests,
Runsong

Yes, you need to update the path here https://github.com/autonomousvision/monosdf/blob/main/scannet_eval/evaluate.py#L140-L146

Got it. Thanks for your quick reply. :)
Bests,
Runsong


Remove: Meta.Oculus version <IP_ADDRESS>

Microsoft Reviewers: Open in CodeFlow

URL: https://securecdn.oculus.com/binaries/download/?id=3552425908372122
OK
(Automated message - build 887)

Hi @SpecterShell,
This manifest has the highest version number for this package. Is it available from another location? (This might be in error if the version is switching from semantic to string, or string to semantic.)
(Automated response - build 881.)

URL: https://securecdn.oculus.com/binaries/download/?id=3552425908372122
Status Code: 200
(Automated message - build 881)

Hi @SpecterShell,
This manifest has the highest version number for this package. Is it available from another location? (This might be in error if the version is switching from semantic to string, or string to semantic.)
(Automated response - build 881.)

I must remove this version first before submitting a new version in https://github.com/microsoft/winget-pkgs/pull/154205.
In-place update doesn't work: https://github.com/microsoft/winget-pkgs/pull/153627

Hi @SpecterShell,
This manifest has the highest version number for this package. Is it available from another location? (This might be in error if the version is switching from semantic to string, or string to semantic.)
(Automated response - build 881.)

I must remove this version first before submitting a new version in #154205. In-place update doesn't work: #153627

Thank you for helping me to understand.


Error logging into Communicator app

I have successfully deploy the Communicator application to Azure.  I have successfully uploaded the application to Teams and I have added it to the desired Team.  I have confirmed I my UPN account has permissions in the app service.
My admin account I used for my Azure deployment is very different that my standard account I use when working in Teams.
When I log into the application a dialog box appears

I click continue and I get the following error message.  Does anyone know what is the issue here or have an approach to troubleshoot?

I originally followed the PowerShell approach to the deployment and I question whether the permissions where set correctly.  So I have decided to delete, clean up and redeploy.
In the manual instructions under Set-up Authentication section step2, 3 and 4 can you confirm which app is the app registration that is the Microsoft Graph Azure AD?  When I completed the original deployment I had three apps (Company Comm, Author, User).  Or, should all three apps have the permissions configured as outlined in this section?

Hi @smccallum251 ,
The set-up authentication and adding permissions  will be done for Microsoft Graph Azure AD app only. For more info, please visit here for manual deployment procedure.

Hi @smccallum251 ,
Could you please confirm the issue got resolved or not?

Hi @smccallum251 ,
Closing this issue due to inactivity, please create a new one if issue still persists.


add email

Couldn't find it, thanks!

Thank you for adding me to the contributors!

Thank you for contributing!


Error during loading: Cannot set property 'spiedEventsKey' of undefined

Hi,
I've been fiddling around with the config for a while now, and can't seem to get it to work.
Karma.conf.js:
...
    frameworks: ['jasmine', 'jasmine-jquery'],
    plugins:[ 'karma-jasmine',  'karma-webpack', 'jasmine-jquery'],
    files: [
      {pattern: 'tests/test_index.js', watched: false},
    ]
...

I get two errors when starting the tests:
ERROR [plugin]: Error during loading "jasmine-jquery" plugin:
  Cannot set property 'spiedEventsKey' of undefined

Error: No provider for "framework:jasmine-jquery"! (Resolving: framework:jasmine-jquery)

I've tried setting the jquery and jasmine-jquery paths to the files, changing the order of frameworks and modules, but nothing seems to stick. If I remove jasmine-jquery from frameworks, the second error disappears.
Any clues where to get started?

For the error no provider for framework:jasmine-jquery..., try npm install karma-jasmine-jquery --save-dev, and then adding karma-jasmine-jquery to the plugins, like here

Not sure if this helps in your case, but I just had the same error message ("Cannot set property 'spiedEventsKey' of undefined"). In my case the reason was, that I accidentally removed the include of Jasmine's boot.js

I am seeing the same error "Cannot set property 'spiedEventsKey' of undefined". Any update on the fix for this?


Unwanted space at the top of DayView when used inside a Sliver.

I have been trying to implement the calendar_view widget in a customScrollView, but for some reason there seems to an unwanted space at the top of the DayView widget.
I am currently using the DayView Widget inside a SliverFillRemaining widget.
I have attached the screenshot and my code below.
Would like to find some help here as to how I can eliminate this extra space that is present above the DayView Widget.
Code Screenshot
Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: [
          CustomScrollView(
            controller: _scrollController,
            physics: NeverScrollableScrollPhysics(),
            slivers: [
              SliverAppBarWidget(
                isAppBarCollapsed: bloc.isAppBarCollapsed,
                activeUserMonogramText: 'AA',
                staticAppBarTitle: 'Schedule',
                actionWidget: InkWell(
                  borderRadius: BorderRadius.circular(20),
                  onTap: () => bloc.openDatePicker(
                      context: context, dateTime: DateTime.now(), dayViewState: calendarViewKey.currentState),
                  splashColor: AppColors.primary.withOpacity(0.5),
                  child: Container(
                    width: MediaQuery.of(context).size.height <= 812 ? 20 : 25,
                    height: MediaQuery.of(context).size.height <= 812 ? 20 : 25,
                    decoration: BoxDecoration(
                      color: AppColors.primarySwatch.shade100,
                      shape: BoxShape.circle,
                    ),
                    child: Center(
                        child: Icon(Icons.calendar_month_sharp,
                            color: AppColors.primary, size: MediaQuery.of(context).size.height <= 812 ? 15 : 17)),
                  ),
                ),
              ),
              SliverFillRemaining(
                child: DayView(
                  controller: _jobCalendarEventController,
                  key: calendarViewKey,
                ),
              )
            ],
          ),
        ],
      ),
    );

Preview Screenshot

Hi @mridboy96, could you kindly share your code snippet for the SliverAppBarWidget?

HI !!
It had been quite a while since I had posted this question.
Ever since then I was able to figure out that in the much later version of the package there is a new option for the DayView widget called safeAreaOption: SafeAreaOption(bottom: false, top: false)
With this specific option I have been able to remove the extra unwanted space that I was initially complaining about
However if I use this specific option, there is some unwanted space that is coming up between the day view and the timeline.
Please see the screenshot for more details.
Would be really helpful if I could get some insights on what is going on and how this can be removed.
Thanks !

Greetings, @mridboy96. It's wonderful news that your problem has been partially resolved. Would you mind sharing your code snippet related to the issue mentioned above?

Hi @mridboy96  We have fixed the issues in the #251 you will find the latest fixes in our latest release 1.0.4

That is great !! Thank you!!
I will pick up the PR #251 and check it out and will confirm here !


Allow negative viewType?

@IntRange(
        from = 0L,
        to =<PHONE_NUMBER>L
    )
    public int getItemViewType(int section, int relativePosition, int absolutePosition) {
        return -1;
    }

I'm trying to return the view type as the actual R.layout.id I want to inflate. That way, I wouldn't have to do unnecessary mappings. However, my layout ids are negative!
Is there any particular reason to have the current IntRange annotation set up to disallow negative ids? If not please allow negative ranges as well, thanks!

I think the developer has reserved the negative integers to his own ViewTypes like  VIEW_TYPE_HEADER. To avoid issues, he constraints you to use a positive value.


Add shared monorepo build setup

Summary:
Context
RFC: Decoupling Flipper from React Native core: https://github.com/react-native-community/discussions-and-proposals/pull/641
Changes
To support incoming new React Native packages around debugging (including migrating over @react-native-community/cli-plugin-metro) — which target Node.js and require a build step, this PR adds a minimal shared build setup across the react-native monorepo.
The setup is closely inspired/based on the build scripts in Jest, Metro, and React Native CLI — and is a simple set of script wrappers around Babel and Chokidar. These are available as build commands at the root of the repo:

yarn build
yarn clean
yarn watch

Build configuration (i.e. Babel config) is shared as a set standard across the monorepo, and packages are opted-in to requiring a build, configured in scripts/build.config.js.
const buildConfig /*: BuildConfig */ = {
  // The packages to include for build and their build options
  packages: {
    'dev-middleware': {target: 'node'},
  },
};

For now, there is a single target: 'node' option — this is necessary as react-native, unlike the above other projects, is a repository with packages targeting several runtimes. We may, in future, introduce a build step for other, non-Node, packages — which may be useful for things such as auto-generated TypeScript definitions.
Current integration points

.circleci/config.yml — Added to run_yarn (with project install).
Root yarn start — Convenience for local developers.
yarn start within packages/rn-tester — Convenience for local developers.

Planned: I will be adding notes on yarn build to the following "Contributing" website pages:

https://reactnative.dev/contributing/overview#contributing-code
https://reactnative.dev/contributing/how-to-open-a-pull-request#chapter-ii-implementing-your-changes

This is not load bearing quite yet: There are not yet any built packages added to the dependencies of packages/react-native/, so this will be further tested in a later PR (internally stacked as the next change).
Alternative designs
Per-package config file
Replace scripts/build/config.js with a package-defined key in in package.json, similar to Jest's publishConfig.
"buildConfig": {
  "type": "node"
},

This would be the only customisation required, with a single Babel config still standardised. Another option this might receive in future is enableTypeScriptCodgeen.
Rollup
More sophisticated build tool for Node.js, used by the React codebase (albeit within a custom script setup as well).
Lerna and Nx

Most sophisticated setup enabling caching and optimised cloud runs.
Probably the most likely thing we'll move towards at a later stage.

Changelog: [Internal]
Differential Revision: D46759508

Note: Includes https://github.com/facebook/react-native/pull/38194, will be rebased.


Simplify forms

At the moment, each form includes notes up to two frets below the leftmost root (to solve the 'Gb` issue where open strings would not be counted) and one fret above the rightmost root.
Instead, each box should include notes in scale order, preferring notes that are inside the root shape. This can be easily fixed by introducing a "simplify" function that removes redundant notes from the shape (e.g. by giving a score to each note, the farther from a root fret-wise the worst). Comparison should be done considering two strings at a time.

Almost fixed but it's still bugged. Look at the E form of the Locrian mode: the b7 on the B string is moved on the high E. When choosing which outlier to move, the comparison should be done with the score of the alternative instead of the one with the same string.


save_images.tcl Changed Again

The upstream ORFS save_images.tcl file seems to have changed the "Pins" naming again. (related to #256).
The LDO flow in #288 failed due to the same reason.
https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/7539b1015f9905ffd03eb12ef2b9bff211790b5c/flow/scripts/save_images.tcl#L15-L28

@chetanyagoyal can you take a look at this?


An error pops up when create a project

Environment

Steps to Reproduce
1.Launch VS and create a python project
Expected behavior
No error pops up
Actual behavior
An error pops up and IntelliSense & error list don't work

Could you follow this instruction to install nodejs and try again?

I can still repro this in today's latest build, though I have installed nodejs from https://nodejs.org/en/download/

Can you open your command prompt, type the node --version command and see if it outputs anything?

You shouldn't have to install node to run pylance in VS unless you're building PTVS. VS comes with node. Could you check if there's node.exe in your VS folder? Mine locates at C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\VisualStudio\NodeJs. If you find it, could you try adding it to the PATH environment variable and see if the issue persists?

I find it and add it to the PATH environment variable , I can still repro this

Does it only repro on one machine? How were you able to run other tests for PTVS?

@StellaHuang95
This issue repro on all machines. The issue affected pylance-related tests and other tests we can run.

I will submit the fix to both VS main and 17.7 release branch, will have to go through the QB approval process for it to get into preview 4.

The PR has been merged into VS main, should be fixed in the next int preview version. Could you verify? Thanks! @linette-zyy

Link to the VS PR please?

From: Stella @.>
Sent: Monday, July 10, 2023 12:58:34 PM
To: microsoft/PTVS @.>
Cc: Assign @.***>
Subject: Re: [microsoft/PTVS] An error pops up when create a project (Issue #7660)
The PR has been merged into VS main, should be fixed in the next int preview version. Could you verify? Thanks! @linette-zyyhttps://github.com/linette-zyy
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/PTVS/issues/7660#issuecomment-1629445984 or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHASVDNGU4FBAHAWEBCGCKTXPQ7EZBFKMF2HI4TJMJ2XIZLTSSBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLAVFOZQWY5LFVEYTQOJRGQ2TOMZRURXGC3LFVFUGC427NRQWEZLMVRZXKYTKMVRXIX3UPFYGLLCJONZXKZKDN5WW2ZLOOSTHI33QNFRXHE4CUR2HS4DFVJZGK4DPONUXI33SPGSXMYLMOVS2QMZSGQ4DONZWGOBKI5DZOBS2K2LTON2WLJLWMFWHKZNKGE3TQMJXG4YDSNZZQKSHI6LQMWSWYYLCMVWKK5TBNR2WLKJRHA4TCNBVG4ZTDJ3UOJUWOZ3FOKTGG4TFMF2GK.
You are receiving this email because you were assigned.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

PR to VS main: https://devdiv.visualstudio.com/DevDiv/_git/VS/pullrequest/482974
PR to rel/d17.7: https://devdiv.visualstudio.com/DevDiv/_git/VS/pullrequest/482957

I can't repro this in PR to VS main

I can't repro this in PR to rel/d17.7


feat(open-api-gateway): idomatic smithy project structure for better IDE support

This change restructures the smithy-based projects to combine the model and smithy-build directories into a single smithy directory. This directory has a more similar structure to those found in the Smithy documentation, and in turn means that IDE tools can be more easily configured to help with the developer experience.
Specifically with this change, the Smithy IntelliJ plugin can be used to enhance the development experience when authoring models. https://github.com/iancaffey/smithy-intellij-plugin
We preserve the behaviour of abstracting away the gradle wrapper, whereby it is ignored from the generated project's source control by default, and copied from the PDK if it does not already exist.  Similarly we allow users to bring their own gradle wrapper by choosing not to ignore it in source control, and placing it in the smithy directory. This replaces the gradleWrapperPath configuration option.
While this is a breaking change, the migration steps are fairly straightforward:

Upgrade the open-api-gateway package
npx projen to regenerate code - notice the new smithy folder in your api project
Copy the contents of the old model directory into smithy/src/main/smithy
If any custom dependencies were added to the smithy-build/build.gradle file, add them to smithy/build.gradle
Delete the old model and smithy-build directories

BREAKING CHANGE: Moved the location of the smithy model from 'model' to 'smithy/src/main/smithy'. Removed the gradleWrapperPath configuration option.
fix #278

Is it possible to add auto-migration capabilities - thinking for the model folder move would be great. More curious from how we can handle migrations in general for packages that this particularly since quite minimal. Nothing have to do now, but could be a nice simple example to attempt 😄

This would be super cool, but is a little bit fiddly to do properly as we'd need to parse the old build.gradle file and copy the dependencies across into the new one. Given we're still at 0.x I think it's more trouble than it's worth! 😄


Possible Qt-related segmentation fault when streaming with pycro-manager

🐛 Bug
Hi, I appreciate all the contributors to this great application, thanks!
Now I'm trying to stream the live view from pycro-manager to napari in Windows, but found a possible Qt-related segmentation fault that kills the python interpreter itself. I would like to know if this is a bug or I'm doing something wrong.
To Reproduce
Steps to reproduce the behavior:

install napari=0.4.6, pycromanager=0.7.6 via conda
launch Micro-Manager 2.0.0-gamma1 20210323 with the default MMConfig_demo.cfg, click Tools -> Options and check Run server on port 4827
launch the Jupyter notebook 6.3.0 from the Anaconda Prompt (anaconda3).
press the Live button in Micro-Manager to get live display
execute the following code in the notebook (adapted from https://napari.org/docs/0.3.8/events/threading.html )

import numpy as np
from pycromanager import Bridge
import time
import napari
from napari.qt.threading import thread_worker
from qtpy.QtWidgets import QPushButton

bridge = Bridge()
core = bridge.get_core()

with napari.gui_qt():
     viewer = napari.Viewer()

     def update_layer(new_image):
         try:
             viewer.layers['result'].data = new_image

         except KeyError:
             viewer.add_image(
                 new_image, name='result'
             )

     @thread_worker
     def yield_pycro_images():
         global core
         i = 0
         while True:  # infinite loop!
            tagged_image = core.get_tagged_image()
            time.sleep(0.05)
            image=np.reshape(tagged_image.pix,
                                newshape=[-1,
                                tagged_image.tags['Height'],
                                tagged_image.tags['Width']])
            yield image[0,:512,:512]
     worker = yield_pycro_images()
     worker.yielded.connect(update_layer)
     # add a button to the viewew that, when clicked, stops the worker
     button = QPushButton("STOP!")
     button.clicked.connect(worker.quit)
     worker.finished.connect(button.clicked.disconnect)
     viewer.window.add_dock_widget(button)
     worker.start()

it sometimes shows the live display, sometimes kills the Python kernel.

Checking the Windows event log, I found the following error log with the exception code 0xc0000005 (which I found memory-handling related ) :
- System
  - Provider
   [ Name]  Application Error
  - EventID 1000
   [ Qualifiers]  0
   Level 2
   Task 100
   Keywords 0x80000000000000
  - TimeCreated
   [ SystemTime]  2021-03-26T03:02:32.066996200Z
   EventRecordID 111959
   Channel Application
   Computer DESKTOP-2PM4JFG
   Security
- EventData
   python.exe
   3.8.8150.1013
   6036cbe3
   Qt5Core.dll
   <IP_ADDRESS>
   5f506b86
   c0000005
<PHONE_NUMBER>1facf2
   437c
   01d721ec5f225638
   C:\\Users\\cellPC\\anaconda3\\python.exe
   C:\\Users\\cellPC\\anaconda3\\lib\\site-packages\\PyQt5\\Qt\\bin\\Qt5Core.dll
   17881b84-9d47-4b0e-95ce-924e97a18976

Expected behavior
The cell runs without error and shows the streaming view from Micro-Manager (which happens sometimes).
Environment

Please copy and paste the information at napari info option in help menubar here:

napari: 0.4.6
Platform: Windows-10-10.0.18362-SP0
Python: 3.8.8 (default, Feb 24 2021, 15:54:32) [MSC v.1928 64 bit (AMD64)]
Qt: 5.15.1
PyQt5: 5.15.1
NumPy: 1.19.2
SciPy: 1.6.1
Dask: 2021.03.0
VisPy: 0.6.6

OpenGL:
- GL version: 4.6.0 NVIDIA 442.05
- MAX_TEXTURE_SIZE: 32768

Screens:
- screen 1: resolution 1920x1080, scale 1.0

Plugins:
- console: 0.0.3
- svg: 0.1.4

Any other relevant information:
pycromanager==0.7.6

Thanks!

I don't have time to reproduce right now but you're not doing something obviously wrong from my quick reading! One minor thing to note is that we no longer recommend the napari.gui_qt() context — you should instead remove the context and just call napari.run() at the end of the script.
Another thing I would recommend to debug this is to use %gui qt at the top of your jupyter notebook*, then instead of having a thread worker, use core.get_tagged_image and do the data updating in separate cells yourself, to see whether the thread worker is what's causing this rather than some other issue.
I would also suggest fiddling with the sleep timer — I wonder whether there is a race condition between creating the layer and trying to update it...? We probably take longer than 50ms to first create a layer...
*: note that this will happen automatically from 0.4.7 and up.

Hi @jni, thank you for your response and suggestion! I have not updated myself with the new API, and I will try again with your recommendations to see how it will be.

a race condition
Thanks, also this was not in my mind; I will check if this happens with longer sleeping time (like 1s).

Let me update the thread with some additional tests. I updated the test code as follows (with the waiting time 1s).
Interestingly, now the cell runs in the first run, but fails in the second run if I don't quit the thread_worker by the "Stop" button. If I quit the thread_worker before closing napari window, the code runs without error even in the second run.
Now I'm more guessing this is not the problem of napari itself but of my coding with thread_worker, and close the issue for now. Thanks @jni !
import numpy as np
from pycromanager import Bridge
import time
import napari
from napari.qt.threading import thread_worker
from qtpy.QtWidgets import QPushButton
%gui qt

bridge = Bridge()
core = bridge.get_core()
viewer = napari.Viewer()

def update_layer(new_image):
    try:
         viewer.layers['result'].data = new_image

    except KeyError:
         viewer.add_image(
             new_image, name='result'
         )

@thread_worker
def yield_pycro_images():
    global core
    i = 0
    while True:  # infinite loop!
        tagged_image = core.get_tagged_image()
        time.sleep(1)
        image=np.reshape(tagged_image.pix,
                            newshape=[-1,
                            tagged_image.tags['Height'],
                            tagged_image.tags['Width']])
        yield image[0,:512,:512]
worker = yield_pycro_images()
worker.yielded.connect(update_layer)
# add a button to the viewew that, when clicked, stops the worker
button = QPushButton("STOP!")
button.clicked.connect(worker.quit)
worker.finished.connect(button.clicked.disconnect)
viewer.window.add_dock_widget(button)
worker.start()
napari.run()


refactor: wip mep 16/01/23

:tada: This PR is included in version 3.0.0-beta.11 :tada:
The release is available on:

GitHub release
v3.0.0-beta.11

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0 :tada:
The release is available on:

GitHub release
v3.0.0

Your semantic-release bot :package::rocket:


quiche/src/tls.rs uses an unsafe bindings strategy

https://github.com/cloudflare/quiche/blob/master/quiche/src/tls.rs#L1255 contains a pile of hand-written bindings for BoringSSL functions. BoringSSL is not ABI-stable, so this is not a supported way to use the library. This will result in subtle memory errors, with no checking that you've gotten it right.
Indeed, there are already mistakes:
https://github.com/cloudflare/quiche/blob/master/quiche/src/tls.rs#L1442C8-L1443
BoringSSL uses size_t, not int, for those functions. That means this crate only works correctly on calling conventions where int and size_t are compatible. Specifically, on 64-bit platforms, you're relying on the upper half of the 64-bit register having a defined value when it is used to pass in a 32-bit parameter. You're in luck that most calling conventions require this, but this is not guaranteed.
This should be replaced with something robust, e.g. bindgen.

This should be replaced with something robust, e.g. bindgen.

Yes, though the main complication is that we don't enforce a specific version of BoringSSL and we don't necessarily have access to the headers for that version (e.g. an application can provide its own BoringSSL build). Need to figure out a way to work around that.

Not having headers seems unlikely to work well, given how we expect BoringSSL to be used. You also don't usually expect to be able to use a library in C without its headers.
Perhaps you all could transition to requiring the application provide both the build and the headers?

In parallel, I suppose I can start by upstreaming some changes to gradually take the hand-transcribed bindings closer to what bindgen would have generated. There are quite a few mistakes. :-)

Any news on this? This is a memory safety vulnerability waiting to happen if we, e.g., ever extend our existing structs.


Regional Settings - decimal separator: 3.14 ==> 3,14

Hi, I'm using VBA-Web on a computer with dutch regional settings. The server I'm contacting is using US english regional settings and expects all requests to be in US english. I noticed that the "3.14" was translated into "3,14" (dutch decimal separator is the comma, not the dot).
I'm not certain how and if this can be solved. I solved it for now by changing my regional settings to US english (workaround really).
By the way, not the first time regional settings crop up as a really annoying issue for me/us.
Kind regards,
Percy

Where is this conversion happening (JSON-to-VBA, VBA-to-JSON, somewhere else)? I had this issue in VBA-JSON (https://github.com/VBA-tools/VBA-JSON/issues/10), but I thought it was solved. Happy to work with you on this.

Hi Tim,
It happens in Specs_WebRequest:
With Specs.It("AddQuerystringParam should allow Integer, Double, and Boolean types")
The expectation expects the decimal 3.14 as 3.14, but it retrieves it as 3,14 on my regional settings.
.Expect(Request.FormattedResource).ToEqual "?A=20&B=3.14&C=true"

From the Immediate Window:
Expected a=1&b=3%2C14&c=Howdy!&d+%26+e=A+%2B+B to equal a=1&b=3.14&c=Howdy!&d+%26+e=A+%2B+B
I traced it down to URLEncode(3.14) is using VBA.CStr(3.14) which puts in the comma as CStr is regional settings "aware" and then the comma gets url-encoded to %2C

Ah, good find. Ok, I'll fix this shortly


multi level menu builder drag drop

is it possible to create drop menu like this A>B>C>D ....

Only A>B (menu>dropmenu)


Connect GitHub account to the Member Profile 🔀

Description
We need to support connecting a GitHub account to a member's ColorStack account. This will be the beginning of many such integrations in the future!
Acceptance Criteria
This issue should:

Add an Integrations page to the "profile" section of the Member Profile.
Implement the ability to connect a GitHub account using OAuth.
Store some reference to that GitHub account (ie: github_id) on the member record.
Overwrite the existing github_url on the member record when the account is connected.
Disable the GitHub URL field from the "socials" page, and add a description that includes the ability to connect in the integrations page.

I would love to work on this

That sounds great - thank you!  I couldn't deduce who you were from your GitHub username. 😭

https://app.colorstack.io/directory/WOsiK4TpTLYaXLsz5ZLT1

Awesome, appreciate it - just assigned to you! Connecting your GitHub account would actually solve this 😜

Have you already registered an OAuth App under the colorstack org?

Not yet, but for development please generate a GitHub app on your account so that you have your own set of credentials!

Got it. Regarding
Disable the GitHub URL field from the "socials" page, and add a description that includes the ability to connect in the integrations page.
Should I disable it completely and add said description or should I only disable it once the user has connected their Github account?

Exactly what I had in mind. I apologize for the delay in my PR, I haven't worked with OAuth or Remix, I've been reading online about them and following tutorials. Do you prefer questions here or on slack?
Here's my plan for the implementation:

I create an integrations page with a button link to the Github OAuth page, the Github OAuth is setup to redirect to the below route when the user successfully logins into Github
I create a route called /Integrations/Github/ with a loader function

Said route checks if the URL has an access code piece and proceeds, redirects to the integration page otherwise

Then it makes a request to the Github API to trade the access code for an access token

Uses the access token to make a request to the Github API for the users Github info

Assuming the requests have been successful, it updates the member record accordingly

Redirects to the integration page when done
Am I going in the right direction for how things should be done in Remix? The way I've set things up, its only for adding the users Github as part of their account, not for using OAuth for logging in (I do realize that can be done in the future but I was thinking it would make sense to use remix-auth-oauth2 for that instead)

I know I already responded to you via DM, but just wanted to say don't worry too much about how the UI looks. Obviously we'd love to have some Figma designs to share, but feel free to just get some initial UI started and I'll refine it!


Investigate Postgres operator

https://stackoverflow.com/questions/63507098/init-container-in-openshift
https://kubernetes.io/docs/concepts/extend-kubernetes/operator/#operators-in-kubernetes
https://www.youtube.com/watch?v=ha3LjlD6g7g

Investigated.  This is being replaced with Patroni or Crunchy, then DBaaS.


fix: layout.json doesn't remove placeholders

In case of dataset not found in "cads-forms-cim-json" -> quality_assurance placeholders must be removed from cads-forms-json's layout.json (if present)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


readme updates

added steps to setup the tfsh

I refreshed the documentation a bit and moved everything to readthedocs.io


Solver uses Name of the Elements without using Brand of the Elements

Required Information
Class: Weaver (Specialist)
Level: 60
Craftsmanship: 661
Control: 619
CP: 377
Recipe Name: Holy Rainbow Cloth
Recipe Level: 52
Solver Seed: 87521
Expected Behaviour
Name of the Elements is used in combination with Brand of the Elements and never on its own.
Actual Behaviour
Name of the Elements is in the macro without Brand of the Elements to go along with it
Steps To Reproduce
I am unsure if any of these settings are different from default so I will show all of them.

Name of the Elements has no effect on its own (in our model), so there's two possibilities:

It's a matter of timing -- i.e. the solver needs a "do nothing" action there. Do you have Use Conditions turned on in the Simulator options?
At some point it did have both but evolved the solution such that the Brand action got removed/replaced and the presence of the Name action did not penalize the new solution sufficiently to discard it.

That said, I don't think we're modeling the effect of Name of the Elements on Brand of the Elements correctly.

Use Conditions was enabled during this

The model has been improved recently, is this still an issue?

Hope I can jump in here with more data. Seems like maybe the simulator has a general problem with preconditions?
Firefox 69.0.3
Seed: 87628

Crafter:
  Class: Weaver
  Level: 70
  Craftsmanship: 1621
  Control: 1574
  CP: 465
  Specialist: true

Recipe:
  Level: 290
  Difficulty: 2952
  Durability: 80
  Start Quality: 1661
  Max Quality: 13187
  Aspect: none

Settings:
  Max Tricks Uses: 0
  Reliability: 100%
  Use Conditions: true
  Algorithm: eaSimple
  Population: 300
  Generations: 100
  Penalty Weight: 10000

Which resulted in...
/ac "Inner Quiet" <wait.2>
/ac "Steady Hand II" <wait.2>
/ac "Prudent Touch" <wait.3>
/ac "Careful Synthesis III" <wait.3>
/ac "Steady Hand II" <wait.2>
/ac "Innovative Touch" <wait.3>
/ac "Patient Touch" <wait.3>
/ac "Patient Touch" <wait.3>
/ac "Advanced Touch" <wait.3>
/ac "Comfort Zone" <wait.2>
/ac "Careful Synthesis III" <wait.3>
/ac "Careful Synthesis II" <wait.3>
/ac "Great Strides" <wait.2>
/ac "Master's Mend II" <wait.3>
/echo Macro #1 complete <se.1>
/ac "Observe" <wait.3>
/ac "Focused Touch" <wait.3>
/ac "Careful Synthesis III" <wait.3>
/ac "Observe" <wait.3>
/ac "Focused Touch" <wait.3>
/ac "Careful Synthesis III" <wait.3>
/ac "Great Strides" <wait.2>
/ac "Specialty: Reflect" <wait.3>
/ac "Specialty: Reflect" <wait.3>
/ac "Byregot's Blessing" <wait.3>
/ac "Careful Synthesis III" <wait.3>
/echo Macro #2 complete <se.14>

No, the model does account for Specialty: Reflect requiring Initial Preparation. In this case, if you look at the Monte Carlo Sim log you'll see that those two actions are "wasted" (the number in the WAC column increases).
Even with those two wasted actions, the sequence was still the best the solver could come up with during that run. If you continued to run the solver a few more times, it would probably find something better. There's a significant random aspect to the solver so these situations can occur.
I cannot stress this enough: if you don't like the sequence that the solver came up with, try "Continue" a few more times and if it's still no good, "Reset" and try again.