Infinite depth issue

Hi  @Lavreniuk
Last time I asked you about the backbone issue of PoseNet #4
Now I have successfully trained,
but I found that my dataset (non KITTI or Cityscapes) will have serious illness problem of infinite depth.
So I have re-trained with the filtered dataset by removing the frame by frame pixel difference is too small.
The improvement is limited.
Could you please give me some advice how you solved this kind of problem in the past, besides AutoMask?

Hi @ahtso, glad to hear that you've managed to get the training running. When it comes to handling the issue of infinite depth, automasking has been the primary approach I've used. Other than automasking, I haven't employed additional tricks. However, you might consider a few options to further address this problem:
Depth Range Clipping: Manually set a maximum depth threshold to prevent extremely large depth values. This can help avoid the impact of outliers.
Normalization or Scaling of Depth Values: Ensure that the depth values are normalized or scaled appropriately to maintain a stable training process.


⚠ Processors has degraded performance

In 09302c1, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 73 ms

Resolved: Processors performance has improved in 4d47188.


You can add classname to  components

It will be possible to create custom classname in document.js components like

Right now you can add a className to your body, check -> https://github.com/zeit/next.js#custom-document.
It's not possible at the moment to add a className to some of the divs rendered by <Main /> (it render 3 divs) but you can create a PR.

What's the use case for adding classes to those? 🤔 Both divs have an id property.

@timneutkens What about reuse existing css?


Please point people to nbdime

Since this project is incompatible with the packages that almost everyone is running nowadays, it would be really nice to add a pointer to http://nbdime.readthedocs.io/ in the repo description or at the top of the README.

👍 - also only realized through this comment here that nbdime exists.


Some improvements

Use Context::with_context instead of Context::context to avoid
unnecessary allocations in the case that there is no error
Make should_ignore_cpuid a const fn
Use memory mapped IO, which increases performance slightly. This also
causes opening /dev/zero or /dev/null to now return an error
immediately rather than hang.

What's the perf improvement when you switched to memmap?


image resize

resized all pictures to 480 x 270

No need to change the image host to the leo branch


Allow cert lookup on crt.sh

Display https://crt.sh/?q=[THUMBPRINT]
e.g. https://crt.sh/?q=5BA7B281F76F69F2F6AE59916EBC8AA31700844A
obsoleting this script: https://gist.github.com/ericlaw1979/6dd32babc67233b62a30

This is a neat idea. Some thoughts that I can easily do:

Since Authenticode can have multiple signatures and a whole certificate chain, would be nice to be able to allow showing all certificates. AuthenticodeLint has the code to do this, so I can steal the hell out of that.

I like the immediate accessibility of it with a frame. As you otherwise noted, Inspector tabs can be a bit cramped. Since Certificate Inspector shows you a bunch of certificates, I'm not sure of the best way to display this. Using another tab as the script does feels weird since there needs to be some kind of user action of clicking the certificate they want to see in cert.sh. I'm not sure of the best way to do this that would fit in to Cert Inspector. Thoughts?

OK, here's my plan.

There will be another (drumroll...) tab for certificate chains in content. A rough draft of the approach looks something like this:

This example uses the Firefox installer. This will make a best effort at extracting certificates from a variety of things. If the content is an Authenticode signed PE (exe, dll, etc) it will show all signing signatures. Since the implementation is borrowed from AuthenticodeLint it's possible to do for timestamps, but that seems a little out of scope to me. If  the object is just a .cer that got downloaded, it will show that. Theoretically anything that CryptQueryObject supports could be done, but I'll limit it to this for now.

OK, now back to the original request. Each certificate will have a crt.sh button, link, or something. When clicked, it will open a split-panel for crt.sh for that thumbprint. This link will exist for any certificate that Cert Inspector shows. Either the HTTP certificates, the content certificates, etc.

There will be an option to pop the link out of the split panel into the browser.

There will be a user pref for always popping open a browser instead of using the split panel. There will be no GUI for it, it'll be something that gets set in QuickExec for now.

You will be able to close to split panel.

[ ] Add inspection of downloaded content.
[ ] Add crt.sh links for Thumbprint and SPKIs.
[ ] Add an embedded web view for crt.sh.

The performance of crt.sh is... less than desirable, so I am going to leave it as links for now.


License

Customize license settings via base.py in the app

agy-why checked and did not complain ;)

Checked

Sorry, that won't work. With this change you need to create new migrations in daiquiri whenever you change the settings in daiquiri-app, which destroys the separation between the app and the library/package. You could remove the choices from the model fields allt ogether and make them simple TextFields. Then you need to validate the correct choices from the settings (both for the API and the Django admin.)

Thanks for the comment! Will fix it then and look at the TextFields option.


Addition of Sub-division data of Brazil, Romania, Kuwait & Bhutan.

Hi, I want to add the Sub-division data of Brazil, Romania, Kuwait & Bhutan.
Can I go ahead ?

Sure. Also provide the source of your data in your PR.


How to get ip address of request

Product: Azure Functions Javascript
How can we get the client IP address of a request?

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

ID: b47363e3-c36f-0755-819c-26946013d673
Version Independent ID: 197c63a1-9f72-1049-f27e-8c9c672ec472
Content: JavaScript developer reference for Azure Functions
Content Source: articles/azure-functions/functions-reference-node.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

Thanks!


Talentprofil doesn't show up after matching a "challenge for talents" posting

Bug description
After a successful match with a project in the "Challenge for Talents" category, the representative from the company does not see the match in their dashboard. Additionally, the link provided in the notification email does not redirect to the talent's profile.
This problem is specifically observed in connection with the "Audio Editor Wanted" challenge offered by rockt!.
here some screenshots from dashboard, notification mail and where the link on the notfication mail leads to:

To Reproduce
Steps to reproduce the behavior:

Go to 'the notification mail'

Click on 'profil link from the talent'

See only the landing page "talent finden" and not the talents profile (error)

Go to 'dashboard '

Scroll down to 'hier hats gematchd'

See only the challenge "Audio Editor gesucht" and no connected talent (error)

Expected behavior
It would be desirable for the links in the notification email to directly lead to the talent's profile and for the talent to be displayed in the dashboard, similar to the presentation of other "Challenge for Talents" matches in the screenshot.
Desktop

Microsoft : [Windows]
Browser [e.g. Chrome and Edge newest versions]

Additional context
This is a newly encountered bug, as it has been functioning correctly for other "Challenge for Talents" scenarios. The issue appears to be specific to the "Audio Editor Wanted" challenge by rockt!. The desired functionality, where the links in the notification email lead directly to the talent's profile and the talent is displayed in the dashboard, has been observed successfully in other instances.
References
https://app.forecast.it/project/P-223/scoping/T8408

Estimations:
Total: 5-7h, CHF 900 – 1’260

The price is good let's go to fix this bug. @chrigib could you provide us a estimation, when this bug will be fixed?

Hi @michaelitrockt
Could it be possible, that the user has deactivated or deleted his profile, after accepting to the challenge?

Hi @michaelitrockt
It wasn't possible to reproduce the issue on our end.
Please check the following:

Can you send me the exact link you've got in the email to the Profile of Adriana Alvarez?
Could it be possible, that Adriana changed her Name after accepting to the challenge?
Has she deactivated or deleted her profile, after accepting to the challenge?

Here is the Link: https://linkprotect.cudasvc.com/url?a=https%3A%2F%2Fclick.pstmrk.it%2F3s%2Fget.matchd.ch%252Fchallenges%252Faudio-editor-gesucht-56%2FgpGB%2F_-yyAQ%2FAQ%2Fcdbcca49-baff-43be-b647-223fe7f4c7ac%2F2%2F8QDFyOLP1i&c=E,1,rnSXYoIoupa6pnq-yl1TvVV62L8m8rD98n6izZA0IbZFt-3cXvHfr7iese0Z3dTV0Tq6SphEcvG1ieH2FLi4Utrg9oSIHvtaKWGCVj7sQkls&typo=1

We can see that she deactivated her profile (picture: screenshot Adriana)

Expected Behavior:
If after a match happened, a talent deletes his/her profile, the link should lead to a page, informing the user that this profile was deleted.


Improvements/fixes to the E2E CI workflow

Some improvements/fixes to the E2E CI workflow:

Add the contributor "role" to those that don't require approval. I have reviewed the PRs after the e2e workflow was in place and have seen that even though we are all members of the Kuadrant org, in the event for the pull_request we are marked as contributors.
Rename the GH environments so they are clearly identified as part of the e2e workflow
Merge all jobs into one using several steps instead

/cc @david-martin

/cc @mikenairn

/lgtm
/approve
/hold
Holding until we're happy the 2 new e2e environments are ready

@david-martin both e2e-external and e2e-internal are created, the external one with the required approval process

/unhold


Create/update .env.example

Topic
drizzle
Description
The drizzle adder creates an .env file. However, if someone new on the team checks out the project, they won't have that file because it's ignored by git, which leaves them in a tough place.
Describe the solution you'd like
Create/update both the .env and .env.example files
Should probably merge https://github.com/svelte-add/svelte-add/pull/416 first to avoid a merge conflict

What would you expect to be in that .env.example file? Exactly the same content as when the .env file is generated? The default files does not seem to include any usernames

What would you expect to be in that .env.example file? Exactly the same content as when the .env file is generated?

Yeah, I think so.
For reference, the .env file contains:
DATABASE_URL="postgres://root:mysecretpassword@localhost:5432/local"


Post v4.0.38

Konnichiwa @BJReplay san. One big sleep to go!
As the readme would say in future:

Updates to sensor descriptions, and alter some sensor names by @isorin (Potentially breaking for UI/automations/etc. should these these sensors be in use. Power in 30/60 minutes, and custom X hours sensor.) (already merged)
Remove dependency on scipy library by @autoSteve (good riddance)
Add granular configuration options for attributes by @autosteve (nerd knobs to achieve less clutter)

The release discussion would gush on and on about how good folks are to dive into an alpha.
The readme and manifest are good to go in this PR.
I will have the trusty M2 Max with me, but will obviously be rubbernecking most of the time.

Ref. #84, #85, #87.

🤣🤣🤣
I'ma gonna release this as v4.0.39, then back away slowly to Tokyo... Soz...

Ramen for breakfast, assuming, of course, that QF have avoided the worst of the CloudStrike BSOD sh*t-show. Seems like they have. Being QFF Plat I should be able to jump most queues.
It re-justifies my unwavering position (after an event many years ago) that JetStar will never receive ONE DOLLAR of revenue from me again. And they're grounded until the morning (idiots), and will have quite the backlog of angry customers wanting to squeeze onto flights. (How's ya revenue after paying CloudStrike, folks?)
I just grab the popcorn and chuckle...
I will not release v4.0.39 on a Friday. I am reminded that read-only Friday is sacred for sysadmins... Saturday??? Hmmm... Home Assistant folks are awake and willing on a weekend, and they can easily revert to a prior version.
But .39 is a rock from what I can tell so far.
I shall decide in the morning. Thanks for the review.


Packit Onboarding Guide TOC

I were looking for table of contents in the onboarding guide. Who does it expect on the right side? I certainly did not, because I kind of expect advertisements there. It seems to me there should be ToC at least for GitHub, Gitlab difference. With images this page seems too long. It contains too many header levels. Github has 3 subsections in section 1. at the same level as GitLab.
I would recommend splitting onboarding guide into more separate pages. ToC should be in the center below the main title, maybe with button to expand also subsections. The page should have visually different h2, h3 and h4. They are too similar IMO, fast scrolling does not hint where exactly github ends.
I searched for information how to integrate with dist-git only, because I am not upstream for most of my packages and have no direct commit rights. Unfortunately I haven't found any trace of such feature, which I heard is supported from Mirek.
I have found some mention at:
https://packit.dev/docs/fedora-releases-guide/#pull-from-upstream-job
But I would expect it more straightforward. Maybe onboarding guide should mention early what kind of access do I need in upstream repository used. It seems to me it still requires admin access to repository and does not mention it explicitly before it starts describing steps, which I cannot do without it. If it can do something useful without that, I think it should say so before describing steps required on each forge.

Hi @pemensik !
Thanks for the suggestions!
I read that as two tasks:

[ ] Better structure the page and TOP
[ ] Describe differences between pull-from-upstream and propose-downstream at beginning.

(Regarding the split to multiple pages, we've already had that and it wasn't ideal either.)
Thanks again for the suggestion!

I think we could have two major sections of the page (Fedora releases guide):

I'm an upstream maintainer and I want my releases to be automatically packaged for Fedora
I'm a downstream maintainer and I want to consume upstream releases automatically

And each would describe which job to use and what prerequisites are needed.

Just a detail: I have noticed there actually is ToC on onboarding page only after I have opened an issue here. I wanted to report there is one missing and there should be. Instead I found it only after that, which suggest UX should be improved.

And each would describe which job to use and what prerequisites are needed.

That is exactly what I were looking for and failed to find. I think that is the most important information before I start.

I think we've improved this since this was created.
@lbarcziova can you please take a look at this when working on #802


Access to current route / POIs

Many thanks for introducing a way to extend the software features of the Karoo 3! The feature I miss the most on my device is to get a list with remaining distance to upcoming checkpoints / refueling stops / POIs on the route during riding. To add this feature using an extension built with this library, it looks to me like the following interfaces are not available yet:

Getting the currently selected route as GPS waypoints and route-specific POIs
Getting a list of global POIs
Getting notified when the user loads a new route, removes the current route, goes off course or loads a temporary route
Optional but cool: Triggering a reroute to a specific location (or POI)

I'll capture these as part of our efforts to consider how maps and navigation work with extensions.

Good find. "TYPE_LOCATION_ID" didn't get exported because it's a little different from other data types and is internal. I'll make sure to include it going forward but you can use it with the string directly until then.
Otherwise, you can location information from Android APIs through LocationManager.


Cherry-picks from release/2.0.0 branch to develop

These are cherry-picks of the PRs: #3811 #3816 #3817 #3831 #3846 #3867 #3879 #3883 #3919 #3934 #3936 #3946 #3962.

Thanks...
bors r+

This is only DEVOPS part of cardano-sl 2.0.0 release


Error: SocketException a.bridge.walletconnect.org

Error: SocketException: Failed host lookup: 'a.bridge.walletconnect.org' (OS Error: nodename nor servname provided, or not known, errno = 8) Stack Trace: #0 _NativeSocket.startConnect (dart:io-patch/socket_patch.dart:706)

Did you find how to resolve this issue?

I found no solution, my app is working fine, I don't want to have to change it.

I found no solution, my app is working fine, I don't want to have to change it.

Can you share it for me?

https://docs.walletconnect.com/2.0/flutter/installation
I see walletconnect has released walletconnect v2.
But I can't find a way to connect wallet like metamask.
Can you help me.

https://docs.walletconnect.com/2.0/flutter/installation
I see walletconnect has released walletconnect v2. But I can't find a way to connect wallet like metamask. Can you help me.

https://github.com/WalletConnect/WalletConnectFlutterV2/issues/113
You can follow my ticket

WalletConnect has released an official v2 library, so the (unofficial) v1 is no longer supported.
People looking to migrate to the official WalletConnect v2, please check out the documentation for more information regarding integration.


Docs: extend docs with a Team page

To credit our contributors and acknowledge their work, we'd like to extend the About section of our docs with a Team page where we have two sections: maintainers and contributors. Maintainers lists current maintainers and contributors shows all our contributors (which are listed in package.json).
We should strive for a UI similar to https://pnp.github.io/#team.

I can work on this one 😄

Does the CLI sponsor Material for MKDocs?

https://github.com/squidfunk/mkdocs-material/issues/3018

Because the usage of this enhancement is for sponsors only. Using card grids

Good catch @Jwaegebaert, unfortunately we are not sponsors, so this would enhancement would not be available for us to use, however that doesn't mean we cannot attempt to replicate the grid used on the PnP site.
Would you still like to take this up?

No problem at all 😄
I will reconstruct the same one used on the PnP site.


Installation instructions do not reference the helm repository

The installation instructions still reference installing the helm chart from the on-disk copy. Since https://github.com/kubernetes-incubator/service-catalog/pull/1453 was merged, there should be a helm repository to install from, so those instructions should be updated to point to the helm repo instead.

Looks like the helm repo is at https://svc-catalog-charts.storage.googleapis.com
see https://github.com/kubernetes-incubator/service-catalog/blob/master/test/repo-sync.sh#L19

$ helm repo add svc-cat https://svc-catalog-charts.storage.googleapis.com
"svc-cat" has been added to your repositories
$ helm search service-catalog
NAME           	VERSION	DESCRIPTION
svc-cat/catalog	0.0.1  	service-catalog API server and controller-manag...


Better channel management for sending

This makes it so that a single channel is used for sending messages instead of creating a channel per publish. Additionally, this single channel is a confirm channel so that messages are now confirmed as received by the server before the promise for that publish or sendToQueue is resolved. Finally, the maxChannels has been set to avoid bringing down a rabbitmq server by creating too many channels.

CR @lanetix/engineers

🔫

Whoops. Meant to emoji here, not line note. 🔫


Killing a lost resident task results in expunge

In KillServiceActor.scala we decide to expunge a task if it is lost or terminated. This should be fixed such that we transition the task back to Reserved, and only expunge if explicitly asked to do so.

@timcharper I see you have this in progress but since it's a public holiday on your side and I had some time while being on-call, I've provided https://phabricator.mesosphere.com/D529
Please consider this a WIP and feel free to take over if you see fit.

Thanks @meichstedt for starting this ! I'll commandeer the change and push it to completion.

I've finished the patch and it's confirmed to work


How vite do this

Describe the bug

Reproduction
how vite realization this
System Info
how vite realization this

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This is not a bug report. Please follow the issue template and provide a clear description of the problem you are facing with.


[feat] Remove sched_* internal variables

Closes #1368 and #1354

Hello @rsarm, Thank you for submitting the Pull Request!

In the file unittests/test_schedulers.py:

Line 735:37: E262 inline comment should start with '# '
Line 754:38: E262 inline comment should start with '# '
Line 755:37: W291 trailing whitespace

Do see the ReFrame Coding Style Guide

Codecov Report

Merging #1483 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #1483   +/-   ##
=======================================
  Coverage   91.72%   91.72%
=======================================
  Files          82       82
  Lines       12924    12841   -83
=======================================
- Hits        11854    11778   -76
+ Misses       1070     1063    -7

Impacted Files
Coverage Δ

reframe/core/launchers/mpi.py
98.76% <ø> (-0.14%)
:arrow_down:

reframe/core/schedulers/__init__.py
98.67% <ø> (-0.16%)
:arrow_down:

reframe/core/schedulers/pbs.py
64.83% <ø> (-0.76%)
:arrow_down:

reframe/core/schedulers/slurm.py
56.89% <ø> (-0.65%)
:arrow_down:

reframe/frontend/cli.py
79.55% <ø> (+0.18%)
:arrow_up:

reframe/frontend/executors/__init__.py
99.00% <ø> (-0.02%)
:arrow_down:

reframe/frontend/executors/policies.py
98.23% <ø> (ø)

unittests/test_launchers.py
92.38% <ø> (ø)

unittests/test_schedulers.py
93.60% <100.00%> (-0.20%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f42347e...9af02bd. Read the comment docs.

@jenkins-cscs retry all

@jenkins-cscs retry tsa


📝 Update includes in ./docs/zh/docs/advanced/websockets.md

Thanks for the effort! :cake:
This was handled in another PR, so I'll close this one now. :coffee:


Misaligned pixels when scaled at multiples of 25% or 50%, but not 100%

Describe the bug

At certain scaling values, there's misalignment between 8 and 9 on the digit grid.
Steps To Reproduce
Steps to reproduce the behavior:

Set system scaling to any value other than a multiple of 100.
Open calculator
Observed misaligned pixels

Expected behavior

Grid should be properly aligned at all display scales.
Screenshots
Issue is demonstrated here: https://www.youtube.com/shorts/IHhpu_bfYZk
Testing on my own machine:
At 100% scaling:

At 125% scaling:

Device and Application Information

OS Build: 10.0.22631.0
Architecture: X64
Application Version: 11.2403.6.0
Region: en-US
Dev Version Installed: False

Additional context
A good place to start when fixing this is to investigate and confirm whether it's caused by the Multiples of Four design/layout rule being broken, which is a common cause for this in other apps.

Requested Assignment

I'm just reporting this problem.

I suspect  its because the numbers are in their own panel and divided by 3, and .66 rounding up. you can watch it jiggle if you carefully change the window size. - i suspect it doesn't happen to the top panel as its probably a row of 4.

Makes the app literally unusable, came here to report it now. Please fix this asap. I will be in review team if needed.

100% - 4epx spacing
125% - 5epx spacing
150% - 6epx spacing
175% - 7epx spacing
200% - 8epx spacing
etc.

It appears to be due to different styling usages.
The NumberPad.xaml values are not styled the same as the StandardOperator values.
This leads me to believe a part of the system was refactored/cleaned up incrementally and this is a partial remenant that can be resolved.


obsolete documentation

This page contains obsolete documentation for troubleshooting AMA with CEF.
For example the troubleshooting scripts are no longer valid.
This is the proper troubleshooting script:
sudo wget -O Sentinel_AMA_troubleshoot.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Sentinel_AMA_troubleshoot.py&&sudo python Sentinel_AMA_troubleshoot.py --cef
This is a better reference page that is current:
https://learn.microsoft.com/en-us/azure/sentinel/connect-cef-syslog-ama?tabs=portal

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

ID: e06c3338-b68b-be74-c8fa-8a3afa5c3428
Version Independent ID: ec19a987-4616-8d19-b0df-34bceecacff3
Content: Troubleshoot a connection between Microsoft Sentinel and a CEF or Syslog data connector
Content Source: articles/sentinel/troubleshooting-cef-syslog.md
Service: microsoft-sentinel
GitHub Login: @limwainstein
Microsoft Alias: lwainstein

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

Thanks @bobsyourmom!
I'm reassigning this to the current content owner, and also adding this to our backlog to address as needed.
#label:"backlog-item-created"
#reassign:yelevin

#assign:yelevin

@bobsyourmom Thank you for reaching out!
This document states explicitly in its introduction that it applies only to troubleshooting the connectors based on the old agent, and even refers the reader to a different document (the "better reference page" you noted) for troubleshooting the AMA-based connectors.

#please-close
cc: @TPavanBalaji @batamig


2/18/2020 Publish

Docs Build status updates of commit 652ee58:
:clock10: Full build: the average full build time is 127 min(s) 35 sec(s), this is based on the last 201 build(s) for this repository.

Docs Build status updates of commit 652ee58:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/key-vault.md
:warning:Warning
View (azure-python)
Details

preview/docs-ref-autogen/azure-eventhub-checkpointstoreblob-aio/azure.eventhub.extensions.yml
:warning:Warning
View (azure-python-preview)
Details

docs-ref-services/key-vault.md

Line 41: [Warning] Link 'https://docs.microsoft.com/en-us/python/azure/python-sdk-azure-authenticate' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.

preview/docs-ref-autogen/azure-eventhub-checkpointstoreblob-aio/azure.eventhub.extensions.yml

[Warning] Uid(azure.eventhub.extensions) has already been defined in preview/docs-ref-autogen/azure-eventhub-checkpointstoreblob-aio/azure.eventhub.extensions.yml.

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.


Fixed timeout not respected bug in all services; commonized server logic

Fix #1702
This PR addresses the bug, and at the same time attempts to refactor the code to make it testable and not repeated. It has been an ongoing pain point that the main functions are largely identical, this PR tries to help address that by centralizing the HTTP server logic.
This PR also renamessupport-logging's router to put it in line with the rest of the services.

Codecov Report

Merging #1715 into master will increase coverage by 0.06%.
The diff coverage is 4.16%.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a224da4...b124408. Read the comment docs.

(I'm not going to have time to do a full review, just happened to see the missing doc-comment and did a drive-by comment, so don't wait for me on this)


Old documentation on readthedocs?

The docs on http://python-semantic-release.readthedocs.org/ needs to be updated.

The webhook was not working somehow, think i fixed it now. At least the docs built.


Decouple Ansible deployment examples

Add the two Ansible examples decoupled as separate repositories: http://github.com/ome/ansible-example-omero-public-user and http://github.com/ome/ansible-example-omero-three-nodes. Also add the Docker example http://github.com/ome/docker-example-omero.

I like the usage of <img to reduce the relative size of images in the README but I am failing to make this working with the headers. Suggestions on tags that can be used to workaround this issue welcome.

I am fairly happy with https://github.com/ome/omero-deployment-examples/blob/fdc378c9182881fd3fd03b0cbb518f278d748eb5/README.md as an incremental step to mention Ansible/Docker with reasonably-sized images. I'll leave the websockets example as an RFE for someone else in a separate PR.


Extract scan parameters from the AFQ mat file.

Still need to adjust the CLI to use this.

Looks like there's nothing to adjust. I believe this is ready to go.


What is the protocoll for consecutive requests?

So I tried to send the same request for 50.000 times but at roundabout 40.000 requests I get am abend saying

+IDI0002I Module HWTHMLPA offset X'B7B6': Abend S01F-X'4'

which then results in a S0C4 with Reason Code 11, so a page translation exception.
What I did was (just like in the example):

Initialize connection
Setup connection
Connect to server
Initialize Request
Setup Request
Send Request in a PERFORM 50.000 TIMES - Loop
Step 7) would have been to terminate the request, then in 8) Disconnect and finally 9) Terminate the Connection, but I do not get there...

Are you able to reproduce this situation with similar results?
I work on z/OS V2R2.
Looking forward hearing from you!

The overview of the service calls looks correct, would you please open up a case record/PMR with IBM to further investigate the issue.  In the case record, please include the name of the sample you modified.


Full Factorial not accepting/parsing floats value correctly

As shown in flowrate column, the Flow rate':[0.2,0.4] was label encoded into 0.0 and 1.0. Was different to what is shown in the documentation.
build.full_fact({'Pressure':[40,55,70],'Temperature':[290, 320, 350],'Flow rate':[0.2,0.4],'Time':[5,8]})
    Pressure  Temperature  Flow rate  Time
0       40.0        290.0        0.0   5.0
1       55.0        290.0        0.0   5.0
2       70.0        290.0        0.0   5.0
3       40.0        320.0        0.0   5.0
4       55.0        320.0        0.0   5.0
5       70.0        320.0        0.0   5.0
6       40.0        350.0        0.0   5.0
7       55.0        350.0        0.0   5.0
8       70.0        350.0        0.0   5.0
9       40.0        290.0        1.0   5.0
10      55.0        290.0        1.0   5.0
22      55.0        320.0        0.0   8.0
23      70.0        320.0        0.0   8.0
24      40.0        350.0        0.0   8.0
25      55.0        350.0        0.0   8.0
26      70.0        350.0        0.0   8.0
27      40.0        290.0        1.0   8.0
28      55.0        290.0        1.0   8.0
29      70.0        290.0        1.0   8.0
30      40.0        320.0        1.0   8.0
31      55.0        320.0        1.0   8.0
32      70.0        320.0        1.0   8.0
33      40.0        350.0        1.0   8.0
34      55.0        350.0        1.0   8.0
35      70.0        350.0        1.0   8.0

What was shown in Documentation:

I managed to make it works, im asking for a MR to fix that.

my solution is here:


recording and playback

can I play audio in parallel while recording it?

I would like to do it the same way as in discord when checking the microphone

I'm not sure if you answered your own question and closed this but it may be possible with the options class that you pass in when recording/playing.


vm.expectEmit to support partial matching on event fields

Component
Forge
Describe the feature you would like
vm.expectEmit to support partial matching on event fields
Currently all event fields have to be specified in advance before calling the emitting function. At this point some event fields may still be unknown e.g. an ID of an entity created by the emitting function. Possible solutions

Match only on the type of event e.g. match only on CrowdFunding.EvLaunch type (see the example below)
Indicate event fields to be ignored e.g. ignore the campaignID field

Additional context
Given a function to launch a crowd funding campaign
  function launch(uint goal) external returns (uint) {
    uint campaignID = uint(keccak256(abi.encode(block.timestamp)));
    address owner = msg.sender;
    emit EvLaunch(campaignID, owner, goal);
    return campaignID;
  }

The test does not pass because the campaignID is not yet known
  function testLaunch() public {
    uint goal = 10 ether;
    vm.expectEmit(true, true, false, true);
    emit CrowdFunding.EvLaunch(<campaignID should be ignored>, owner, goal);
    vm.prank(owner);
    uint campaignID = fund.launch(goal);
  }

@volodymyrprokopyuk that's already supported, check book https://book.getfoundry.sh/forge/cheatcodes?highlight=expectEmit#cheatcodes
In your code vm.expectEmit(true, true, false, true); has last arg true which means to check for exact data match, hence fails. Setting that to false will make your test pass. However, if campaignID is indexed (hence a topic) then you will have to change expect emit as  vm.expectEmit(false, true, false, false); otherwise test will fail since campaignID topics doesn't match.
Hope this makes sense. Thanks!


Accessibility : lighthouse script

Add a lighthouse script to test our pages performances, accessibility and others.
You can see the detailed procedure on scripts/lighthouse/home-stats.js.
About #32

We also need to setup "cypress-audit", it works perfect for automating the result computation.


Add support for Java

:+1:

:+1:

:+1:

:+1:

supertassu/inchciworkerjavasupport

@supertassu Sounds great. :+1: We should discuss the prequisites before you pour too much work into it.
Two things are needed to support Java in Inch CI:

A wrapper around JavaDoc that outputs all found code objects (documented and undocumented) in JSON format. I tried to explain the same thing in more detail in the "Add PHP support"-Thread.

This JSON-dump is then read by Inch (the RubyGem) which performs the analysis and contains all the rules etc.

I can't do Number 1. (my Java-Fu is very weak these days), but I already did Number 2 for three languages (Ruby, JS and Elixir). We could easily split the workload that way.
Your thoughts?

I can't do Number 1.

I can on next week in the syntax that you described in php-theard.
Can you do Number 2?
(sorry for my bad English.)

@rrrene i forgot to say, but how i build/test Inch Ci worker on Linux?

Inch CI Worker is a Ruby project and only there to execute whatever command builds Inch for Language X.
What we would want to design is an executable that wraps JavaDoc and generates JSON output. If you are familar with JavaScript you can take a look at InchJS. It wraps JSDoc (JavaScript's equivalent of JavaDoc) and writes the result into a JSON file.
Integrating that into Inch CI Worker is trivial, the hard part (at least for me) would be to write a program that produces the JSON and formats it in the syntax described in the PHP-Thread. This program can exist on its own and the only requirement is that it does static analysis, i.e. does not require the analysed source code to be compiled.

Hmmm. Is it okhay if i clone Inchjs, and Modify it for using Javascript?

@rrrene

Sure!

:+1:

👍

👍


Put search box on Collection pages inside white box (i.e. a "well") similar to the call-to-action

Done when the search box on the collection pages is contained within a white box (similar to as in call-to-action section) that aligns with the "Browse collections" drop down above it.

(Want to wait on coming back to this until #304 is merged: Both go into the CSS.)

@afred: Re-reading this, it struck me that only one collection page has a search box: The clips collection. I'm interpreting this bug to mean that we want a white box on the entire sidebar, just as we have a bluebox on the sidebar on the other pages.

I think the intent was something like this...

confirm @lwei? @AlisonCSmith?

@afred yes, that's correct except that the background color should be white (#fff) instead of a light grey. Thanks!


Move mocks to mock packages

Issue #, if available:
Description of changes:
Prevent cyclical imports in mocks by moving them to new _mock packages.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #120 (97738e7) into main (e5cd011) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #120   +/-   ##
=======================================
  Coverage   74.28%   74.28%
=======================================
  Files          15       15
  Lines        1466     1466
=======================================
  Hits         1089     1089
  Misses        300      300
  Partials       77       77

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e5cd011...97738e7. Read the comment docs.


trains do not show up on the map

the trains do not show up on the track and only sometimes appear in the sidebar for the trains it allows me to go to there location on the map but they are completely invisible on the map idk if this is user error or a bug but I think it's a bug and I have no idea whats causing it

this is on the forge version by the way

Please reopen according to the bug report template

figured out the issue there was too many chunks in the world


Update ruff to 0.2.2

Description of changes:

Issue #, if available:

Updates ruff to 0.2.2 and enables a few more checks that I just enabled in Composer and elsewhere.
Merge Checklist:
Put an x without space in the boxes that apply. If you are unsure about any checklist, please don't hesitate to ask. We are here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[X] I have read the contributor guidelines
[X] This is a documentation change or typo fix. If so, skip the rest of this checklist.
[X] I certify that the changes I am introducing will be backward compatible, and I have discussed concerns about this, if any, with the MosaicML team.
[X] I have updated any necessary documentation, including README and API docs (if appropriate).

Tests

[X] I ran pre-commit on my change. (check out the pre-commit section of prerequisites)
[X] I have added tests that prove my fix is effective or that my feature works (if appropriate).
[X] I ran the tests locally to make sure it pass. (check out testing)
[X] I have added unit and/or integration tests as appropriate to ensure backward compatibility of the changes.

@Skylion007 could you elaborate more on what the changes are? just want to have this documented before merging

@Skylion007 could you elaborate more on what the changes are? just want to have this documented before merging

I think the point here is to keep the linting repo up to date.


upgrade Joi

Joi is dead
long live Joi

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @chris48s!

  Generated by :no_entry_sign: dangerJS against 58f9a2f634e2610a98fa1433412dbd130bd59b15

Hmm, don't we also need to change require('joi') to require('@hapi/joi')?
It looks like we are still installing another copy of Joi (and that's probably what's being used now). Any idea where the joi requirement is being pulled in?
For IcedFrisby Joi is a peer dependency (which definitely should be switched over to @hapi/joi). Probably that needs to happen for us to actually that in our service tests.

Right, yes of course - good point. I assumed there was some backwards-compatibility magic going on there :sparkles:

Any idea where the joi requirement is being pulled in?

icedfrisby requires joi": "*" and then start-server-and-test (used in the end-to-end tests) transitively requires "joi": "^13.0.0", so we're going to end up with 2 copies of Joi in the tree somewhere until both of those are updated to use @hapi/joi.

It's an optional dep in icedfrisby so that's not what's triggering it being pulled in.
jeffbski/wait-on#37 is the issue for the transitive dep of start-server-and-test.
How about we fix the optional dep in IcedFrisby to use @hapi/joi and update all our require's to do the same. That way we'll still have two copies of the dependency, but at least our code will all be using the same version.

Having done the epic find & replace, it looks like we are also blocked on https://github.com/dszakallas/joi-extension-semver/issues/2 to get this working.

I shipped<EMAIL_ADDRESS>🎉 which includes this update.

Did a full test run. Some timeouts and transient failures, but nothing related to this


Gets are 2X slower than equivalent scans

This is an issue raised by a user.

I couldn't replicate the issue.  It may be a different problem.  I'm closing this for now.


reformaTable function in blockParse.py

The 'reformatTable' function will generate nearest neighbor table with reverse complementary base pairs. but line 122 code will over-ride line 123 result.  I run the code with and wo line 122. Output is shown below. I think line122 should be removed. or maybe I misunderstood something.
120        for inter in table:
121           if inter[2] == '/':
122                newTable[inter[0:2]] = table[inter]
123               newTable[self.comps[inter[1]] + self.comps[inter[0]]] =
table[inter]
with line 122. TT value was over-ridden.
ori table, {'init_5T/A': (0, 0), 'sym': (0, 0), 'AA/TT': (-11.5, -36.4), 'AC/TG': (-7.8, -21.6), 'TT/AA': (-7.8, -21.9)}
ori table basepair, AA/TT:  (-11.5, -36.4)
reverse complement, TT: (-11.5, -36.4)
ori table basepair, TT/AA:  (-7.8, -21.9)
reverse complement, AA: (-7.8, -21.9)
newTable, {'init_5T/A': (0, 0), 'sym': (0, 0), 'AA': (-7.8, -21.9), 'TT': (-7.8, -21.9), 'AC': (-7.8, -21.6), 'GT': (-7.8, -21.6)}
with out line 122, TT values are correct
ori table, {'init_5T/A': (0, 0), 'sym': (0, 0), 'AA/TT': (-11.5, -36.4), 'AC/TG': (-7.8, -21.6), 'TT/AA': (-7.8, -21.9)}
ori table basepair, AA/TT:  (-11.5, -36.4)
reverse complement, TT: (-11.5, -36.4)
ori table basepair, TT/AA:  (-7.8, -21.9)
reverse complement, AA: (-7.8, -21.9)
newTable, {'init_5T/A': (0, 0), 'sym': (0, 0), 'TT': (-11.5, -36.4), 'GT': (-7.8, -21.6), 'AA': (-7.8, -21.9)}

Hi,
The function in question here essentially just reformats the NN table information such that key changes from the standard Bio.SeqUitls.MeltingTemp format "AA/TT" to a pair of keys ("AA", "TT") that map to the same value.
It looks like you might be trying to pass an asymmetric table? We do not currently support asymmetric tables or wobble.


added argument to allow initial size mode to be set from constructor

Initital Size Mode Arg
Description
added argument to allow initial size mode to be set from constructor
PR Checklist

[x] Merged latest main
[x] Version number in package.json has been bumped since last release
[x] Version numbers match between package package.json and src/version.js
[x] Ran npm install and npm run build AFTER bumping the version number
[x] Updated documentation if necessary (currently just in api_spec.md)
[x] Added changes to changelog.md

Breaking API Changes
None.

Functionality similar to that in this pr was added in #136. From api_spec.md:
initial_line_size
The line width with which new annotations are drawn initially. Units are pixels in the underlying image. When this value is not included, the default value of 4 is used and scaled by the current zoom value when a new annotation is drawn. When an initial_line_size is included, it is used as the line width for new annotations regardless of the current zoom value.


is there support for shared_ptr and std::vector in HWATJNI

I have to write hwatJNi for std::vector<ColumnFamilyHandle*>* handles
                            and shared_ptr<Logger> info_log;

how i will write this two hwat jni,these codes are written in c++,i have to write hwatjni for that.

See #51 for shared_ptr


Function naming consistency

Whilst many objects in AudioChart are private, as in not public API, they do talk to each other.  The convention of using _name() for private functions should be used consistently, in order to denote functions of an object that we don't expect anyone else to need to call. They should also not show up in tests (ideally—there are some scoping issues currently that may prevent this [#37]).
Some examples:

Player samplingInfo should be _samplingInfo

It would also be good to be able to quickly check whether objects are calling underscore functions in other objects.

Re-opening whilst looking at Sounder tests; should do a pass over all of the source files really...

[ ] AudioChart.js
[ ] DataWrappers.js
[ ] KeyboardHandler.js
[ ] PitchMappers.js
[ ] Player.js
[ ] Sounder.js
[ ] getAudioContext.js
[ ] visualCallbackMakers.js


Scrolling on preview window when using delta

Info

Operating System:
Shell: Bash
Terminal: iTerm2
nvim --version: 0.7.2
fzf --version: 0.30.0

Description
I couldn't find this issue mentioned elsewhere. Currently, I'm piping my git diff output to delta. The preview for delta does not have scroll option like it normally does. Is there a way to be able to scroll the preview window from delta? I have preview_pager   = vim.fn.executable("delta")==1 and "delta --width=$FZF_PREVIEW_COLUMNS --line-numbers" in my config file for commits and bcommits specifically.

There are a lot of changes in the preview window but I can't scroll on that window.

The previewer used with git is the fzf native previewer, it’s controlled by fzf in the terminal, it is scrollable using fzf binds that are defined under keymap.fzf, the defaults are shift-{up|down}  but you can change it to whatever you’d like.

Got it. Thank you!


add memory/file "db" bindings

In preparation for integrating dataClay with a minimal CIMI server, add memory and file db bindings.
The in-memory binding will be useful for SlipStream as well so that the memory-resident resources can support the standard CIMI query parameters.
The file-based binding will be useful for a small-footprint installation on constrained devices.

Libraries that are likely to be useful for implementing these bindings:

spectre for implementing the filtering and CIMI query parameters for atom-based databases.
duratom provides a drop-in replacement for a clojure atom that will persist to a file system (or S3 or PostgreSQL).


20% slowdown in ChaNGa after commit 159fd36fc

Original author: Thomas Quinn (@trquinn)
Original issue: https://charm.cs.illinois.edu/redmine/issues/1715

A ChaNGa user reported a noticeable slow down when compiling with recent versions of charm.  A "git bisect" session points to commit 159fd36fc as the cause:
Author: Eric Mikida <mikida2`illinois.edu>
Date:   Tue May 23 15:32:20 2017 -0500
Short-circuit receive code path for quicker array element lookup

The primary focus here is to improve performance for fine-grained
messaging for arrays. This is part of an overall effort to more fully
integrate 64-bit IDs (#178/#179) and to decouple messaging from
CkLocMgr (#165).

Change-Id: Ib5edbb8983421d82b8c0e3055e05939a7f8139d6

The slowdown can be demonstrated by running the "testcosmo" test in the changa source directory on a 4 node Ivybridge (20 cores/node) system connected with infiniband (NASA Pleiades) with the "verbs-linux-x86_64 smp" build, and summing the total time spent in "Gravity/SPH".  The following awk script may help:
/Calculating gravity and SPH/ {sum2 += $14} END {print sum2}

Comparing commit 159fd36fc with the previous commit (938cb13a9) shows 56 seconds vs 47 seconds.  The command to run is:
$CHARMRUN +p 72 ++ppn 18 $CHANGA -wall 15 +balancer MultistepNodeLB_notopo +setcpuaffinity +commap 0 +pemap 1-18 cube300.param >& cube300_new.out

Original date: 2017-10-17 23:40:15

Do you happen to know if that input case running on that many PEs will result in having many more chares per PE than normal for ChaNGa?
And do you know if that commit improved ChaNGa performance for other input cases?
We have an open issue to use a better hash table implementation than std::unordered_map for our specific use case, so that may also help this: https://charm.cs.illinois.edu/redmine/issues/1065

Original author: Thomas Quinn (@trquinn)
Original date: 2017-10-18 02:47:06

The given case doesn't have an unusual number of chares/PE.  It does have a very small compute/communication ratio: I would normally run this problem on only one node.  The original case reported by a user has a somewhat larger than usual chares/PE, and it also has a large amount of communication.
Running the testcosmo on only 2 nodes, the commit does improve performance by ~ 5%.

Original date: 2017-10-20 18:51:26

I don't think this slowdown has to do with the use of unordered map. Even before this change the location manager still uses an unordered map, which was buried in a much deeper call stack. All this change did is pull the use of that map to the point where a message is received. My guess is the performance degradation is because this benchmark may be doing very frequent migrations, so checking this top level map almost always results in misses and we fall back to the old code path.
How frequently is load balancing done in this benchmark, and roughly what percentage of objects end up migrating? If you run the benchmark without load balancing does the change still have a negative impact?

Original author: Thomas Quinn (@trquinn)
Original date: 2017-10-23 22:43:43

I tried the experiment of running the benchmark without load balancing (well, one load balance at the very beginning of the simulation).  The new version takes 48s compared to 40s for the old version.  I conclude that migration is not the issue here.

Original author: Thomas Quinn (@trquinn)
Original date: 2017-10-24 16:50:49

I tried the experiment of running the benchmark without load balancing (well, one load balance at the very beginning of the simulation).  The new version takes 48s compared to 40s for the old version.  I conclude that migration is not the issue here.
I took a look at these runs with "gprof" and projections. With gprof, the noticeable thing is that DeliverViaNetwork() takes  5.54s in the new version vs 2.61s in the old.
Attached are some projections plots: From the time profile, I see that there is a lot more time spent in "overhead" in the new run.
The communications plot is interesting: in the OLD there is a number of updateLocation(CmiUint8, int nowOnPE) entries (the brown) that are missing in the new.  Note that there is no migration going on.  Looking at the time lines, these updateLocations() seem to occur when calls are made to the CkCacheManager group.

Original date: 2017-10-25 21:47:52

Looking into this more now. The lack of updateLocation methods makes sense because they are part of the location manager, and the new code path bypasses the location manager when it's not needed. The two pngs you uploaded seem to be broken however, and just show up as all black for me.
I'll also look into the gprof results you got. My suspicion is that the delivery method should take a bit longer due to now having a hashtable lookup, but this should be more than made up for by the fact that the location manager codepath is bypassed. Not sure why that is not the case here but I'll keep digging.

Original author: Thomas Quinn (@trquinn)
Original date: 2017-10-26 01:40:52

I can see the PNGs if I first download them, then view them with "display".

Original author: Thomas Quinn (@trquinn)
Original date: 2017-10-26 04:57:26

I don't know if this helps, but I notice an even bigger slow down in the "tree building" phase of ChaNGa: nearly a factor of 2 slower with the new version of charm.  This phase is characterized by a lot of small (100 byte and ~200 byte) messages.

Original author: Laxmikant "Sanjay" Kale
Original date: 2017-11-01 15:31:27

can someone upload the 2 gprof outputs to compare?
(the pngs for com are not viewable on my mac.. but I don't have "display"). Com views will be useful to check if the caching is not working and all messages are going 2-3 hops (via home).

Original date: 2017-11-01 20:02:11

We think we have narrowed down the issue. Should have more info and possibly a patch to test by end of day tomorrow.

Original author: Thomas Quinn (@trquinn)
Original date: 2017-11-01 20:15:49

I did make a "comm" projections plot, and I think I am seeing what Sanjay is suggesting: a message goes to a comm thread on another node, then goes to the comm thread on the same node, then goes to another PE on the node from which it was sent.

Original author: Thomas Quinn (@trquinn)
Original date: 2017-11-01 20:33:22

And one more data point: if I use "NullLB", tree building speeds up by a factor of 3!

Original date: 2017-11-01 21:05:31

Yes, it looks like when things migrate, we are no longer catching 'multi-hop' messages and updating the sender. So what was before only a small number of multi-hop messages that were quickly corrected are now always multi-hop messages. NullLB removes all migration, so we don't run into this problem. I'm updating the short-circuited path to still check for multi-hop messages.

Original date: 2017-11-02 18:41:38

Pushed a patch here: ~~https://charm.cs.illinois.edu/gerrit/3219~~ https://github.com/UIUC-PPL/charm/commit/dea9c5869103b8b8d64b635020e65840a5107cec.
Jaemin ran some tests on golub using the verbs SMP build, and it looks like performance is back to normal for the test described in this bug. Below are the times for three runs on each of the patches in question.
Current Charm: 40.0676, 40.4806, 40.2761
Before Eric's old patch: 37.1362, 37.1666, 37.2152
After Eric's new patch: 37.2735, 37.2117, 36.9612

Original author: Thomas Quinn (@trquinn)
Original date: 2017-11-03 01:44:22

I've tested the version with the problem above.  The short-circuit now actually improves performance!


Make individual checkboxes appear disabled

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Resolves: #133
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
Update auro-checkbox-group code to fix issue where the disabled attribute was being removed from individual checkboxes
Type of change:
Please delete options that are not relevant.

[ ] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Lack of warning for spaces in component names

When creating a new component, (e.g. "sample docs"), there are no warnings relating to the presence of a space in the name. When trying to register this in the catalog, there was a unclear "something went wrong" style message.
When trying to manually register the component afterwards, the following error was raised:

Expected Behavior
Appreciate that there is a convention but raising this error prior to the creation of a component would make life easier.
Current Behavior
There's no warnings and plebs like me create components with non-compliant names.
Possible Solution
Validate the component names using the same entity name policy as the manual registry.
Steps to Reproduce

Create a component with a space in the name.
Registry in the catalog should fail.
Try and manually register it.

Context
Just a pain really.
Your Environment

NodeJS Version (v12): v14
Operating System and Version (e.g. Ubuntu 14.04): macOS Big Sur v11.0.1 (M1 Chip)
Browser Information: Safari Version 14.0.1 (166<IP_ADDRESS>.8)

Thanks for the report - yep you're right , we should have some better validation around this!

Thanks for the report - yep you're right , we should have some better validation around this!


chore(main): release 1.0.1

:robot: I have created a release beep boop
1.0.1 (2024-11-24)
Bug Fixes

fix release-please, remove old publish workflow (a55ad6e)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.0.1
:sunflower:


Doc update for userns in 1.28

Commits 1-3 are ports of what we just merged in main, for 1.27. They improve the wording, fix a typo and use a timeless way for some sentences.
On top of that is the new commit that just removes mentiones to stateless pods, as we support all pods (stateful and stateless) now.

cc @giuseppe

This is ready for review, PTAL :)

/lgtm

@sftim I think that page is auto-generated, right? I think it is because the KEP didn't update the yaml (if this is auto generated). I've just opened a PR to fix the kep yaml: https://github.com/kubernetes/enhancements/pull/4147/files

https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/ is not yet autogenerated (I have an issue open about changing that)

I recommend rebasing against latest dev-1.28 and squashing to 1 commit.

@sftim @tengqm PTAL.

Hey y'all! I'm swinging by for the v1.28 Docs team. Today is the docs deadline. Is there anything we can help you with to get this merged?

I'm happy with the changes since https://github.com/kubernetes/website/pull/41908#issuecomment-1649620554
/lgtm
/approve
We have some time before the release @tengqm if you want to propose a revision.


Change in the supported SQL Server Version

This DMV is not supported on SQL 2008. It is supported on SQL 2012

@GrzegorzLyp : Thanks for your contribution! The author, @stevestein, has been notified to review your proposed change.


feat: add docker based installer tests

Jenkins build changes for docker
Add docker installer test using docker SDK
Optimize metric validation to use yaml parser

Covered in #405


detectDirectedCycle,detectAllCycles is not a function

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link

Steps to reproduce
引入detectDirectedCycle，detectAllCycles 算法控制台报错

Environment
Info

g6
4.2.7

System
-

Browser
-

fixed by 4.3.0

fixed by 4.3.0

请问4.3.0什么时候发版呢

已经发了呀

好的，谢谢


Add a Gitter chat badge to README.md

finagle/roc now has a Chat Room on Gitter
@penland365 has just created a chat room. You can visit it here: https://gitter.im/finagle/roc.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

This was completed by #41


Allow us to set RR v7_startTransition from Remix-land

What version of Remix are you using?
1.18.1
Are all your remix dependencies & dev-dependencies using the same version?

[X] Yes

Steps to Reproduce
I'm having the same issues as others had with RR when React.startTransition was introduced in the codebase. My issue is very similar to this one
The issue here is that Remix sets v7_startTransition to true and doesn't let us opt-out like we can when using RR directly.
Everything was working fine up until RR versions that implement startTransition were introduced in Remix. To make my application stable again I need to use the following patch:
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index ef0da47..194287a 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -113,7 +113,7 @@ function RemixBrowser(_props) {
     router: router,
     fallbackElement: null,
     future: {
-      v7_startTransition: true
+      v7_startTransition: false
     }
   })));
 }
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 889e431..35d0134 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -144,7 +144,7 @@ function RemixBrowser(_props) {
     router: router,
     fallbackElement: null,
     future: {
-      v7_startTransition: true
+      v7_startTransition: false
     }
   })));
 }

Since it is not a Remix only issue we should have the possibility to opt-out of startTransition setting v7_startTransition like we can on RR.
Expected Behavior
Things should work like they did before.
Actual Behavior
Probably concurrency issues (or some startTransition magic not tagging state updates correctly) push some state updates on future batches that in some cases don't get executed until other events trigger a new batch, leading to unexpected results.

Would you be able to provide a minimal reproduction of the issue?  In most cases, the behavior exposed by startTransition is correct/expected in a concurrent React world and there are often other ways to handle it via Suspense etc.

Hi! Sorry but I was OOO last week.
I will try to create a minimal repro but it is not that easy, issues arise under some very specific conditions when interacting with other third party libraries as for example MUI Dialogs that are not under our direct control so it might take a while.
I understand that the behavior exposed by startTransaction might be expected in concurrent React, but I would expect the same logic applied to RR in Remix: there are still some edge cases that application or library developers have to figure out to be 100% concurrent ready, so until then forcing startTransition might be just a pain.
Setting startTransition usage can even be the default setting, but having a flag to opt out of it to keep our apps running is a huge plus. This way we can continue to upgrade Remix, eventually file issues on libraries that happen to not be compatible with startTransaction and bring the environment forward. It would be a shame if some of us had to stay on older versions because of this issue.
Anyway I'll keep you posted on the repro, thanks!


Update play-test, routes-compiler to 2.8.16

Updates

com.typesafe.play:play-test
com.typesafe.play:routes-compiler

from 2.8.0 to 2.8.16.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.8.0).
You might want to review and update them manually.
example/project/plugins.sbt
sbtPlugin/src/sbt-test/sbt-play-swagger/generate-docs/project/plugins.sbt

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.play" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.typesafe.play" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by https://github.com/iheartradio/play-swagger/pull/471.


fix: pass volt dir to load_volt

[ ] Added an entry to CHANGELOG.md if this change could be valuable to users

Codecov Report

Merging #1996 (a257eca) into master (aa66b3f) will increase coverage by 0.19%.
The diff coverage is 76.92%.

@@            Coverage Diff            @@
##           master   #1996      +/-   ##
=========================================
+ Coverage    8.90%   9.10%   +0.19%
=========================================
  Files         133     135       +2
  Lines       57952   58180     +228
=========================================
+ Hits         5160    5295     +135
- Misses      52792   52885      +93

Impacted Files
Coverage Δ

lapce-proxy/src/plugin/mod.rs
0.00% <0.00%> (ø)

lapce-proxy/src/plugin/wasi.rs
14.36% <75.00%> (-3.32%)
:arrow_down:

lapce-proxy/src/plugin/wasi/tests.rs
89.15% <100.00%> (-0.16%)
:arrow_down:

lapce-core/src/editor.rs
29.64% <0.00%> (-0.07%)
:arrow_down:

lapce-ui/src/app.rs
0.00% <0.00%> (ø)

lapce-ui/src/tab.rs
0.00% <0.00%> (ø)

lapce-ui/src/hover.rs
0.00% <0.00%> (ø)

lapce-ui/src/title.rs
0.00% <0.00%> (ø)

lapce-data/src/data.rs
0.00% <0.00%> (ø)

lapce-ui/src/plugin.rs
0.00% <0.00%> (ø)

... and 17 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


No reference of doxygen documentation on readthedocs

This is a follow up from #30.

what we could do is host the doxygen configuration through github pages, and then link them. i think it would be useful to have the full code reference hosted for users of this framework

Ideally i would like to have all the documentation hosted in the same place.

what we could do is host the doxygen configuration through github pages, and then link them.

I see this as a good intermediate solution, I'll think about it.


Optimizer Compact not running parallel to append writers

Environment
Delta-rs version: 0.18.2
Binding:
Environment:

Cloud provider: AWS
OS: Mac OS
Other:

Bug
What happened:
When compaction is happening parallel to append writers, the compaction fails due to CommitFailedError.
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "local_testing.py", line 505, in optimizers
    dt.optimize.compact()
  File "/Users/code/delta-rs/venv/lib/python3.9/site-packages/deltalake/table.py", line 1899, in compact
    metrics = self.table._table.compact_optimize(
_internal.CommitFailedError: Failed to commit transaction: 15

What you expected to happen:
Compaction is successful.
How to reproduce it:
import pandas as pd
import pyarrow as pa
from deltalake import write_deltalake, DeltaTable
import os
import random
import multiprocessing as mp
from time import sleep

# Creating a dataframe with 50 columns and 10000 rows
num_columns = 50
num_rows = 10000

data = {
    f'col{i + 1}': [f'row{random.randint(1, 2)}' for j in range(num_rows)] for i in range(num_columns)
}

df = pd.DataFrame(data)

table = pa.Table.from_pandas(df)
table_path = "s3a:/deltalake_test"
os.environ["AWS_ACCESS_KEY_ID"] = "***"
os.environ["AWS_ENDPOINT_URL"] = "***"
os.environ["AWS_SECRET_ACCESS_KEY"] = "***"

partition_cols = ["col1", "col2", "col3", "col4"]

storage_options = {
    'AWS_S3_LOCKING_PROVIDER': 'dynamodb',
    'DELTA_DYNAMO_TABLE_NAME': 'delta_log',
}

def writers():
    for i in range(10):
        write_deltalake(table_path, table, partition_by=partition_cols
                        , mode="append", engine="rust", storage_options=storage_options)

def optimizers():
    print("RUNNING OPTIMIZERS")
    dt = DeltaTable(table_path, storage_options=storage_options)
    dt.optimize.compact()
    print("COMPLETED OPTIMIZERS")

if __name__ == '__main__':

    tc = DeltaTable.create(
        table_uri=table_path,
        schema=table.schema,
        mode="append",
        partition_by=partition_cols,
        storage_options=storage_options,
    )

    processes = []
    pn = [f"process{i}" for i  in range(7)]

    for name in pn:
        process = mp.Process(target=writers)
        processes.append(process)

    optimizer = mp.Process(target=optimizers)

    for process in processes:
        process.start()

    sleep(10) # just to make it start after some data has been added
    optimizer.start()

    for process in processes:
        process.join()

    optimizer.join()

More details:

I second this very annoying bug.


Fix refspec, url for cloning projects in reproducer

Zuul reproducer does only seem to support cloning projects from github,
while trying to clone projects from gerrit it uses a wrong url and
refspec. This change introduces two filters to get the right values for
url and refspec for the different sources (github and gerrit).
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role

recheck

/approve
there's a known(?) issue with the failing job.

/hold found a bug testing locally

/hold cancel fixed the bug

/hold cancel

/lgtm


Feature idea: Helper in markdown/bard editor to find correct title

This addon works by finding the text between [ and ] braces, and then finding an entry with exactly that title. But the title has to be exactly right.
It would be very helpful for editors/writers/marketers if the addon also provided an autocomplete/autosuggest functionality in the editor, so when someone types a brace [ and starts typing characters, the addon begins suggesting the most likely entries to match. The user can then suggest the right one and the title is entered perfectly.
Likely that this would require Livewire as well as Alpine.

Possible inspirations:

Ghost have recently added similar functionality: https://ghost.org/changelog/internal-linking/
The Statamic live search addon: https://github.com/jonassiewertsen/statamic-live-search
The Livewire autocomplete component https://github.com/joshhanley/livewire-autocomplete
Blog on building a typeahead component with Alpine and Livewire: https://chrisdicarlo.ca/blog/-alpinejs-and-livewire-autocomplete/

As discussed, this is just an idea for improving this addon. You may feel the addon is best kept simple rather than extended.
I'm a newbie, gradually learning Statamic, and am a writer with only enough coding skill to be dangerous, but would be happy to jump in and help or make what progress I can.

I wouldn’t be Livewire because we don’t use Livewire. Would need to be Vue.js and/or tiptap/prosemirror stuff. To be fair, this addon was just a proof of concept — a full wiki solution would need a lot more than a modifier :) On Jun 27, 2024, at 2:43 PM, Steve Parks @.***> wrote:
This addon works by finding the text between [ and ] braces, and then finding an entry with exactly that title. But the title has to be exactly right.
It would be very helpful for editors/writers/marketers if the addon also provided an autocomplete/autosuggest functionality in the editor, so when someone types a brace [ and starts typing characters, the addon begins suggesting the most likely entries to match. The user can then suggest the right one and the title is entered perfectly.
Likely that this would require Livewire as well as Alpine.
Possible inspirations:
Ghost have recently added similar functionality: https://ghost.org/changelog/internal-linking/
The Statamic live search addon: https://github.com/jonassiewertsen/statamic-live-search
The Livewire autocomplete component https://github.com/joshhanley/livewire-autocomplete
Blog on building a typeahead component with Alpine and Livewire: https://chrisdicarlo.ca/blog/-alpinejs-and-livewire-autocomplete/
As discussed, this is just an idea for improving this addon. You may feel the addon is best kept simple rather than extended.
I'm a newbie, gradually learning Statamic, and am a writer with only enough coding skill to be dangerous, but would be happy to jump in and help or make what progress I can.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


Create sleep function

like (second) => new Promise(resolve => setTimeout(resolve, second * 1000))

I don't know how to improve it...


TextField onChanged method gets invoked twice on API 26 and 27

The issue is when numbers or simple quotes are typed into a TextField the onChanged method is invoked twice, as opposed to typing any letter in the alphabet where it is only invoked once. The issue was found when using an emulator with  Android API 26 and 27 but not on API 30.
Flutter doctor output
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.0.3, on Microsoft Windows [Version 10.0.18363.1316], locale en-AU)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[√] Chrome - develop for the web
[√] Android Studio (version 4.1.0)
[√] VS Code, 64-bit edition (version 1.54.2)
[√] Connected device (2 available)

! Doctor found issues in 1 category.

The issue can be reproduced by creating a new flutter project with "flutter create ." and including the code below in any part of the body:
            TextField(
              onChanged: (text) {
                print("Text field: $text");
              },
            ),

Console output after typing "r", "backspace", "4" on the emulator keyboard.
I/flutter (31077): Text field: r
I/flutter (31077): Text field:
I/flutter (31077): Text field: 4
I/flutter (31077): Text field: 4

Hi @Alvarenga1
From what I can see, the issue is related to Dart rather than to Flutter itself. Please open the issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself.
If you disagree, please write in the comments,
providing your flutter doctor -v, your flutter run -v,  your pubspec.yaml
a minimal reproducible code sample that does not use 3rd party plugins,
and I will reopen it.
Thank you

I was sable to reproduce this issue on latest master channel. I tested on both Android API 26 and 27 I was able to reproduce this on API 26 only.

flutter doctor -v
[✓] Flutter (Channel master, 2.1.0-13.0.pre.194, on macOS 11.2.3 20D91
    darwin-x64, locale en-AO)
    • Flutter version 2.1.0-13.0.pre.194 at
      /Users/pedromassango/Code/flutter_master
    • Framework revision e58ee0fbc7 (7 hours ago), 2021-03-22 13:06:06 +0800
    • Engine revision e6db3a275e
    • Dart version 2.13.0 (build 2.13.0-149.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/pedromassango/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/pedromassango/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] IntelliJ IDEA Community Edition (version 2020.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 54.0.3
    • Dart plugin version 203.7759

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

[✓] Connected device (3 available)
    • Android SDK built for x86 64 (mobile) • emulator-5554 • android-x64    •
      Android 8.0.0 (API 26) (emulator)
    • macOS (desktop)                       • macos         • darwin-x64     •
      macOS 11.2.3 20D91 darwin-x64
    • Chrome (web)                          • chrome        • web-javascript •
      Google Chrome 89.0.4389.90

! Doctor found issues in 1 category.

/cc @justinmc @LongCatIsLooong

I noticed a similar bug that happens only on Mac: https://github.com/flutter/flutter/issues/78629

Also a similar bug on iOS: https://github.com/flutter/flutter/issues/79844
These all don't seem to be caused by the same underlying problem, but it's strange that they're all so similar.

Is it still reproducible on API 26?


Node16 module resolution doesn't check side effect imports

Bug Report
🕗 Version & Regression Information
This is the behavior in every version I tried, and I reviewed the FAQ for entries about this.
⏯ Playground Link
Playground link with relevant code
💻 Code
// @module: Node16
import "./file";

🙁 Actual behavior
TypeScript says nothing.
🙂 Expected behavior
I want TypeScript to tell me that .js is missing, the same way it does in any other type of import. I think I understand why it doesn't right now, because side effects have nothing to do with static analysis, so the incorrectness of the import doesn't prevent TypeScript from doing its job in any way, but:

I haven't been able to set this up in the bug workbench, but what happens if the file is being imported from node_modules and has a corresponding .d.ts with a declare ... in it? Will that declare get applied?
Wouldn't this be useful to have either way? I guess ESLint could fill this void, but seeing how eslint-plugin-import is dragging its feet on import/extensions, there's little hope for that.

Apologies if this has been addressed before, couldn't find.

I believe that this has come up with @andrewbranch recently. I think that Node16 users probably want to get an error under this mode, but it's hard to say - plus those users need an alternative option if they are trying to get export maps working in conjunction with a bundler.

I think that Node16 users probably want to get an error under this mode, but it's hard to say - plus those users need an alternative option if they are trying to get export maps working in conjunction with a bundler.

wait, I’m confused - why is this a concern only for side-effect imports?

I also don’t understand that sentence 🤔

The reason why this isn’t a no-brainer is that it’s common to do
import "./styles.css"

with certain bundler configurations in order to add globally-applicable CSS to the bundle. We don’t check existence of files with arbitrary extensions, so in order to make this resolve, you’d have to add a pattern ambient module for ".*css" or a file at styles.d.css.ts via #51435. But both of these feel a bit pointless for a side-effect import, since the types written in that declaration will never be observed.
I think I would want module resolution to be able to say “there is a file here, but I didn’t read it because it has an unsupported extension” so we could count that as a successful resolution for a side-effect import. That’s a bigger change than just unsilencing an error.

Perhaps the error should only be unsilenced in bundler resolution mode, assuming that's still planned to be a thing (I haven't been following it too closely as I'm more interested in minimal--browser ESM mode--which is on hold).  That CSS import doesn't really make sense outside the context of a toolchain that's actually going to do something with it; even if the runtime understood it, I have to imagine it'd be a no-op pretty much for the same reason it is in TS.

But both of these feel a bit pointless for a side-effect import, since the types written in that declaration will never be observed.

Hmm, in theory though, the types (if they exist) might still be observable if the .d.ts includes any global declarations, right?  Is import type 'foo'; a thing?

You’re right, any global declarations would be observed (and there is no import type "foo"). That just doesn’t seem like what you want if you’re just trying to load a CSS file globally or something.

For fun, I have sent #58941 which adds a resolveSideEffectImports option; it seems to catch everything people have already mentioned here, but a lot of things on DefinitelyTyped which I think are actually accidentally broken.


Add information about mosaic revokable flag

Current behavior
The desktop wallet currently doesn't show information if the mosaic has a flag revokable on:

mosaics list
in mosaic definition transaction details

Expected behavior
Add presentation for a revokable flag for mosaic.

Merged: https://github.com/symbol/desktop-wallet/pull/1971


spring-rest broken in alpha 2

Despite the tests passing, the spring-rest does not work with the dependency upgrades.

As well as spring-rest not actually running, it seems that the swagger does not work either

Fixed by https://github.com/gchq/Gaffer/pull/2668


Xcode reports

Resolves #2
This PR adds a very naive support for reporting test failures in Xcode. Instead of using runtime to create tests, as suggested in #17 I've added a method XCTestCase.describe that will store a reference to this test case in custom reporter, to use for reporting later, calls global describe function with passed in closure and then runs all the tests. At the end all added tests are removed so that they are not run again later. All individual test failures will appear in Issues navigator.
Tests will be still run at the application exit (without reporting via Xcode) but if they were already run with XCTestCase.describe they will be removed from the global context and so will not be run twice.
Also added option to disable colours in output which make output less readable in Xcode console, that does not support ANSI colors anyway.

Awesome! 👏

@kylef #32 looks nice, though my idea was to keep standard reporter output, I find Xcode output much less readable. But I didn't find a way to suppress it, so it still interferes with standard reporter output. In your case when tests are running with swift test there will be only XCTest output.
Do you want to continue with #32 or do you want me to address your feedback here?

I'm going to merge #32 for now, just to get something merged sooner so we can benefit from it. However I'm not going to close this, there are some ideas I want to explore.

Looks nice, though my idea was to keep standard reporter output, I find Xcode output much less readable.

I can understand that, I'd like to solve this using composition instead of inheritance. Spectre should allow the user to be free to decide on which reporters they want to use, be it the standard reporter, dot reporter, Xcode reporter or even a JUNIT reporter that outputs to a file. I'd like to alter the architecture to allow having some kind of AggregateReporter which can forward to multiple reports, unfortunately I fear the current reporter design may make this difficult as it is closure based and executing multiple reporters is not simple.

But I didn't find a way to suppress it, so it still interferes with standard reporter output a bit.

This can be disabled using the following snippet:
func removeXCTestLogger() {
  let observer = XCTestObservationCenter.shared
  if let observers = observer.value(forKeyPath: "observers") as? [XCTestObservation] {
    let loggers = observers.filter { NSStringFromClass(type(of: $0)) == "XCTestLog" }
    loggers.forEach(observer.removeTestObserver)
  }
}

However the problem is how to run that code at the right time, as far as I see it. It is not possible in Swift as it's not possible to run code at the right time. It may be possible using mixed sources (Objective-C) though, but that opens up complexity having a separate target to be able to build the source with swift package manager as it doesn't support mixed source in same target (at the moment).


minor fix in sample code

Envoy configuration in sample code seems to be out of date

Fixes: #issue

Added
typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

@danistrebel , seems like one of the flows failed, but I guess its just a commit message typo. Could you please advise how we could merge this?

Ah IC, we recently switched using to https://www.conventionalcommits.org/en/v1.0.0/ because it gives us the necessary meta data to do the releases automatically.
Would you be able to do:

git commit --amend and change the commit message to feat: add typed config to envoy sample
git push -f

Then we have the necessary signal to crate a new minor release.
More info if you're interested can be found in the CONTRIBUTING file.

@danistrebel , Done.
I suppose I won't be able to merge this as I lack permissions. Or is there a way I can?

@danistrebel , the checks have passed. Could you please advise how we may merge the same?

Thanks @bibinnahas ! Merged now


Version 5.1.0

Adding dotted option for items function (thanks to ipcoder)
Fixing bug in box.set_default where value is dictionary, return the internal value and not detached temporary (thanks to Noam Graetz)
Removing warnings on import if optional libraries are missing

Closes #157
Closes #152
Co-authored-by: Noam Graetz<EMAIL_ADDRESS>

Coverage decreased (-0.1%) to 99.882% when pulling eef862701345895f935ad4006eb799ec0670fd61 on develop into 3c0197bafc8e7946860a8b3cffeea188da944b78 on master.

Coverage decreased (-0.1%) to 99.883% when pulling eef862701345895f935ad4006eb799ec0670fd61 on develop into 3c0197bafc8e7946860a8b3cffeea188da944b78 on master.


Use GitHub packages for internal dependency resolution

Summary
Today, when having dependencies from one repository to another, you have to specify appDependencyProbingPaths with access to the other repository - or you need to create a direct download URL to a storage account containing your apps.
Instead of this, we want to support GitHub packages for internal dependency resolution.
The following will utilize the functionality from https://github.com/microsoft/AL-Go/issues/261
If you setup a GitHubPackagesContext secret with access to packages for your org (or for another org), AL-Go for GitHub will automatically deliver every app to your private GitHub Packages NuGet registry named AL-Go-<appid>.
AL-Go will also automatically locate apps in your private GitHub packages NuGet registry if the dependency isn't resolved by other mechanisms.
The GitHubPackagesContext secret content can be generated by the BcContainerHelper function called New-ALGoNugetContext
Dependencies to other apps will use the same mechanism as the NuGet packages for External dependencies if any of the apps contains a dependency on a 3rd party app.
Success Criteria
Just by creating an organizational secret called GitHubPackagesContext, all dependencies between your apps in all AL-Go repositories in that organization will auto-resolve.
How will it work?
The feature will use a fixed naming algorithm for auto-resolving dependencies - AL-Go-<appid>. GitHubPackagesContext should never point to NuGet.Org, as you potentially could download unsecure code published by somebody else.
The package name will be:

AL-Go-<appid>

Other repositories in the same organization can automatically find packages from other repositories, simply by having the GitHubPackagesContext secret created under the organization.,
See https://github.com/orgs/microsoft/projects/521/views/1?pane=issue&itemId=12395090 for details about the nuget package format etc.
Try it out
Run Update AL-Go System Files with freddydk/AL-Go@nuget to try out the latest version of this.

An automatic dependency resolution is not only desirable for internal dependencies but also for external dependencies.
Whether you are talking about maven, npm, pub, go or nuget.
These package mangers have no concept for internal or external.
They only know sources and the authentication used for them. (public vs authenticated)
We should have the same goal for dependencies in business central.
But there are some unique challenges in business central.

GitHubPackagesContext should never point to NuGet.Org, as you potentially could download unsecure code published by somebody else.

It's important to talk about the reason why this is dangerous and why this danger is unique to business central.
This is an organizational problem. The difference between dependencies in BC and for example Java, is only in how people decide which packages to depend on.
Usually, would only specify a dependency after it was deemed safe and reliable by a human. The foundation for that assessment is what’s in the public feed.
This is different in business central.
You usually get your dependencies from somewhere, most likely from a website or via e-mail.
There are three requirements for a safe automatic dependency handling.

Multiple feeds need to be searched when locating a dependency.
Order is important. – You want to use your authorized feed before the public feed.
Every dependency needs to be located before the public feed or the version from the public feed needs to be verified.

Requirements 1. and 2. are technical requirements which are relatively easy to implement. 3. presents a challenge because it would currently rely on human discipline.
The user needs to make sure the package is resolvable from some authorized feed or verify the public package.
But there is a technical solution to this problem as well.
Every partner already signs the apps that they create.
Using this we can create a dictionary of trusted publisher name and public keys, from the code sign certificates.
When resolve a dependency you need to do the following steps.

Requirements: Collect the trusted dictionary.
Locate dependency in the feeds.
Download the dependency.
Get public keys for the vendor you specified in you app.json
Verify the downloaded dependency to be signed with a private key that correspond to one of the public keys.
Repeat steps 2-6 until you hit an unverified package or have no more dependency to resolve.
Use apps as needed.

The advantages are the following:

You have a fail safe when you add new dependency. If a dependency can’t be verified it won’t be used.
When you verify a publisher all their packages will become trusted.
 No trusted publisher can “hijack” packages from other publishers. Because their certificate won’t match the authors, so even if you trust the publisher, you only trust them for their apps.
Plug and play solution, the only time you need to configure something is when a certificate changes or you trust a new publisher.  Nothing else needs to be configured. - Adding a new dependency is as easy as putting it into your app.json.
Code sign certificates usually have a longer lifetime. Additionally, you can be warned to add the publisher’s new certificate to your trusted dictionary. And there are ways to also automate this process.

On this: It's important to talk about the reason why this is dangerous and why this danger is unique to business central.
For internal use, we can safely search for a package with an appid, as this is something we would have added ourselves.
If we do the same on Nuget.org - that package may be published by somebody else. I can publish a package with somebody elses appid today and in 3 months from now, when somebody adds a dependency, they download my package.
This is why we (for external dependencies) cannot rely on automatic resolutions, but must have specific package dependency insertion.
For other products, you also search for Newtonsoft and find the right nuget package and add a reference to that. The Newtonsoft package is not just one DLL - it is a package and you can now use that. This is what I want to mimic. Add a reference to a package name, which you receive from a partner. This package is then known to be published by that partner and can never be overridden by somebody else (packages on NuGet.org can be unlisted, but the name can never be reused).

Just replied to your email as well.
There is no way we (Microsoft) will be able to get a feature through a security review where we are downloading apps from a public site based on appids - whether they are signed or not.
That is not a battle I am prepared to take AND I do not think that is the right way to go (even though it might be possible)
Also, I don't think the dependency description you have in app.json is sufficient to describe exactly which version of the app you want. It only describes a minimum version.
NuGet package versioning has a better versioning schema, where you can describe min and max versions of the NuGet package that's why I think you should describe what app you depend on in app.json and you describe what solutions you depend on in your repository (potentially incl. tokens etc).
Partners can decide to publish their apps as one app per nuget package with dependencies between packages, that is fully supported by the described model, but I still think you need to specify the starting point in settings - and not just magically get it from appids in app.json for external dependencies..,

Okay I got It thank you.
Maybe you can consider the following:

Allow multiple feeds to be queried in sequence - maybe I got two internal feeds.
Add the Microsoft Application as a dependency in the manifest.
Resolve the dependency recursively according to the version ranges
Provide a hook to validate a package after download.

And maybe one day you are prepared for that security review or maybe not...

That all sounds like some good implementation suggestions - and yes, maybe one day...
:-)

@jonaswre - please re-read the nuget description.
You will find that I now have implemented trusted feeds in a local BcContainerHelper version and that all packages now contains one app and all dependencies to other apps (including all microsoft packages),
Not completely done yet - but getting there.

@freddydk  I like the changes you made. Specially the trusted feeds will be very usefull.
I have to questions/suggestions. Firstly I think patterns are a good short term solution to ensure only trused apps are downloaded from a feed. But I think for a long term solution the code signing should be used to ensure the apps are signed by the developer. I think this would ensure AL-Go to be secure by default.
Secondly the dependency resolution is still always resolving the latest dependency right? I can't resolve for example all apps thats are compatible with Application version 22.0?

The patterns are really from this: https://learn.microsoft.com/en-us/nuget/nuget-org/id-prefix-reservation#id-prefix-reservation-criteria - stating that you trust nuget.org / microsoft.* is safe.
Beside Microsoft - other partners can register their prefix and/or have their own feeds which also are safe.
The code signing could also be added to the mix, stating that I only want code signed packages and/or only want code signed packages from a specific vendor - I don't think we would sign microsoft packages though, so it should be "settable" on the feed.
IMO - registered prefixes is as safe as code signing.
Correct - currently I still get latest, but it is on my list to be able to get apps compatible with a prior version.

The patterns are really from this: https://learn.microsoft.com/en-us/nuget/nuget-org/id-prefix-reservation#id-prefix-reservation-criteria - stating that you trust nuget.org / microsoft.* is safe.
Beside Microsoft - other partners can register their prefix and/or have their own feeds which also are safe.

Yes you are right, if the source guarantees the prefix is reserved for a particular owner its pretty secure.
Whats the default value for pattern? I think an entry without a pattern shouldn't resolve anything. (Secure by default).

IMO - registered prefixes is as safe as code signing.

Code signing should be more secure, since it doesn't depend on trusting any source. As long as you get the public key in a trusted manner, you can verify any downloaded app against your trusted publishers.
If users don't copy and paste pattern: ['*'], pattern are pretty safe.

Correct - currently I still get latest, but it is on my list to be able to get apps compatible with a prior version.
Thats good. But I think better runtime generation is more important.

There is no default pattern when adding a trusted feed, people will have to add that.
On the code signing...

I guess we should register trusted hash'es on every feed and state on f.ex. nuget.org we trust packages signed by A, B or C.
do you have an example of a signed package?

@jonaswre - as you will find - the functionality in BcContainerHelper has been refactored quite a bit and there is now also support for fingerprints in trusted feeds, meaning that you can select to trust only packages signed by a specific certificate.
Note that all packages on nuget.org are signed by a repository certificate - you should not trust that - you should only trust packages signed by the author.
The naming of GitHub packages has also changed to become publisher.name.appid (namespace like), but resolution is done solely on appid.
Also when using functions like Publish-BcNuGetPackageToContainer - it will find the package matching the applications installed in the container (if your container is 22.0 and the latest app package requires 23.0 - it will look for a version, which requires what you have.
Many changes, but GitHub Packages functionality should still work as before in your repositories.
I will document everything over the next days.


Application Quality review

acceptance criteria : Application resembles (at least 90%) screenshots provided in the Challenge instructions

completed - work perfectly on PC full screen - miniature below ( captured by snipping tool - to fit full page on one display - window have to be resized down to around 33% )