Playing DASH multiperiod streams with SSAI ads on chromecast results in buffering at each ad break

Have you read the FAQ and checked for duplicate open issues?
yes, we are particularly interest in resolution of issue #1864 that seem related. We also hoped that #3166 would help but we tried setting gapDetectionThreshold to 1 with no improvements
What version of Shaka Player are you using?
We are now using 3.0.10 since the performance is slightly better than using the default 2.5 version
Can you reproduce the issue with our latest release version?
We skipped trying 3.1 since...
Can you reproduce the issue with the latest code from master?
We can reproduce it using today's master
Are you using the demo app or your own custom app?
our own custom app (usign the google cast receiver framework)
If custom app, can you reproduce the issue using our demo app?
let's discuss this, being chromecast...
What browser and OS are you using?
The issue occurs using Chromecast 2, 3 and Ultra. Chromecast 1 is not supported in this project. We are using the Google receiver SDK.
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
The issue occurs using Chromecast 2, 3 and Ultra. Chromecast firmware version doesn't seem to make any difference
What are the manifest and license server URIs?
The URL has been sent via email
What configuration are you using?  What is the output of player.getConfiguration()?
In this project midrolls are server side and client side tracking is not used, only server side. The issue impacts live linear DASH streams when played on Chromecast only.
abrFactory: ƒ ()
drm: {retryParameters: {…}, servers: {…}, clearKeys: {…}, advanced: {…}, delayLicenseRequestUntilPlayed: false, …}
manifest:
availabilityWindowOverride: NaN
dash: {clockSyncUri: "", ignoreDrmInfo: false, disableXlinkProcessing: false, xlinkFailGracefully: false, ignoreMinBufferTime: false, …}
defaultPresentationDelay: 16
disableAudio: false
disableText: false
disableThumbnails: false
disableVideo: false
hls: {ignoreTextStreamFailures: false, useFullSegmentsForStartTime: false}
retryParameters: {maxAttempts: 2, baseDelay: 1000, backoffFactor: 2, fuzzFactor: 0.5, timeout: 30000, …}
__proto__: Object
offline: {usePersistentLicense: true, trackSelectionCallback: ƒ, downloadSizeCallback: ƒ, progressCallback: ƒ}
playRangeEnd: Infinity
playRangeStart: 0
preferForcedSubs: false
preferredAudioChannelCount: 2
preferredAudioLanguage: ""
preferredTextLanguage: ""
preferredTextRole: ""
preferredVariantRole: ""
restrictions: {minWidth: 0, maxWidth: Infinity, minHeight: 0, maxHeight: Infinity, minPixels: 0, …}
streaming: always
StreamText: false
autoLowLatencyMode: false
bufferBehind: 30
bufferingGoal: 10
durationBackoff: 1
failureCallback: ƒ (c)
forceHTTPS: false
forceTransmuxTS: false
gapDetectionThreshold: 0.5
ignoreTextStreamFailures: false
inaccurateManifestTolerance: 2
jumpLargeGaps: true
lowLatencyMode: false
preferNativeHls: false
rebufferingGoal: 2
retryParameters: {maxAttempts: 2, baseDelay: 1000, backoffFactor: 2, fuzzFactor: 0.5, timeout: 30000, …}
safeSeekOffset: 5
smallGapLimit: 5
stallEnabled: true
stallSkip: 0
stallThreshold: 1
startAtSegmentBoundary: false
useNativeHlsOnSafari: true
__proto__:

What did you do?
Play the stream and wait for midroll ads (server side) to appear
What did you expect to happen?
We expect to play the ads with no buffering as it occurs on the web version of the site where we use 3.0.8 and where the video plays well. Keep in mind that the video stream has no issue, buffering only occurs during ads.
What actually happened?
Play the stream. Wait until server side midroll ads or slates appear, see that between ads chromecast starts buffering. Look at the console logs and note the messages about skipping gaps and buffering.
Note that 3.1 seem to actually perform worse than 3.0.10 as buffering can last much longer than a couple of seconds and sometimes streaming never recovers.
Here's the log of a session showing the issue captured using chrome://inspect:
chromecast-test.d3-sinc.com-1620658002444.log

The first message I see in the log file that seems significant is Jumping forward 0.5760130000016943 seconds because of gap starting at 26662.885448 and ending at 26663.03291.  This gap probably appears at an ad break.
Later, I see messages like Jumping forward 15.44600029013236 seconds to catch up with the seek range.  This indicates that the playhead fell back behind the seek range.  If the gap-jumping seek took a very long time to complete, then it may be that this caused playback to fall significantly behind the live edge.  Once we fell out of the seek range, seeking to get back in may have created a kind of seek-loop.
I'm looking into repro now, but I'm having trouble accessing your content.  It's not available cross-origin.  I'm running the content through a local CORS proxy, but this is creating some performance problems.  I'm currently trying to work around this by forcing a lower resolution so that the proxy can respond quickly enough.
I'm also trying to get a baseline for behavior on ChromeOS, before I try anything on Chromecast, where debugging will be significantly more difficult.
So far, I haven't hit any ads yet.  Roughly how often are the ad breaks?
Is there a cross-origin friendly URL you can share with us privately?  This would be easier to debug with.

As a workaround, can you try disabling gap-jumping entirely?  This would be a config like:
player.configure({
  streaming: {
    smallGapLimit: 0,
    jumpLargeGaps: false,
  },
});

If the ad-break gaps are small enough for the platform to play through them, this should work.  If not, then they will stall essentially forever.

Incidentally, I just ran into an ad break on ChromeOS (after 10+ minutes playback), and the player got "stuck" somehow.  Seeking forward 1 second got it moving again.  This corresponded with what I presume is an ad break, although there was no gap reported and no actual ad, just a logo for the channel.

I hit another ad break, and this time, I noticed that I was hearing audio for the ads, but the video was stuck on a still frame of the channel logo.  After listening to a couple of ads, I decided to seek backward by 1 second, at which point I was able to see the video of the ad I was listening to.
Based on this, I suspect there is something wrong with the encoding of your ads.  If I see this behavior on ChromeOS, which is essentially a desktop platform with more forgiving decoders, I expect that Chromecast, with its stricter hardware decoders, could easily fail or give up at the same point.
Decoding and rendering are not controlled by the player, but rather the platform, so I don't believe this behavior is something that we can fix in JavaScript.
In the chrome:media-internals logs, I see a lot of messages about video demuxer underflow and audio buffer truncation.  I am not expert enough to interpret these messages, but I suspect at least some of them are important indicators of what the browser is doing with your media.

Please try disabling gap-jumping on Chromecast to see if that helps.
If is does not, I suggest you investigate the encoding of your ads to ensure that they conform with the Chromecast's hardware decoder requirements.  If you need, I can point you in the direction of Chromecast support to help you with this.

Thanks @joeyparrish for your input. I'll pass this onto the team for further investigation to see if disabling gap-jumping does anything.
We'll also look into what's happening with encoding of the ads compared to the rest of the content.


Fenced code blocks

Add support for setting special attributes (ID, class) in fenced code blocks.
The test cases were typed manually as I don't have PHPUnit set up on my pc, so they may be outright wrong.

Already added in my Parsedown Extra extension :smile:


K-means clustering

Summary
This PR adds K-means clustering, which will be used for HuBERT.
ref #98

Codecov Report
Attention: Patch coverage is 86.30137% with 10 lines in your changes are missing coverage. Please review.

Project coverage is 84.81%. Comparing base (235e983) to head (735a6fc).
Report is 4 commits behind head on main.

Files
Patch %
Lines

audyn/functional/clustering.py
86.30%
10 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #104   +/-   ##
=======================================
  Coverage   84.80%   84.81%
=======================================
  Files         113      114    +1
  Lines       12139    12212   +73
=======================================
+ Hits        10295    10358   +63
- Misses       1844     1854   +10

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


Javascript links not working

Not working:
[Google Analytics Opt-out](javascript:gaOptout())

See https://github.com/markdown-it/markdown-it/blob/bda94b0521f206a02427ec58cb9a848d9c993ccb/lib/index.js#L292-L307
Works as expected, for security reasons. You should override default validator.


Add Ableton Live Suite v9.2

Full suite version of Ableton Live DAW.
Signed-off-by: Daniel Bayley<EMAIL_ADDRESS>

Thank you for the contribution. It was merged directly as 3cf0585d0879bc5f843a71c74f89222babbd21d9 to keep commit history cleaner. Your contribution is still credited to you.


SP5: SVG export does not render axis lines or tick marks

SVG export does not render axis lines or tick marks

duplicate of #2944


Give FeedBack section! [Gssoc'23]

the give feed back section is redirecting to git hub.....it can also be done on the site ....A feedback section can be made at the bottom of the page so that it will be easy for the people.Please assign me this task

we are switching from that web app to another one, so we will get back to you soon!


Write tests for $.style

Just creating issue so everyone knows I'm  taking care of it.

Awesome. Thanks!

That brings us up to 100 unit tests. Thank you!

It was a pleasure :smiley:


Create a Potion object.

Create tests for the Potion object.
The Potion object will be used to give the player stat boosts.
If no stat is provided, the stat should be randomly selected.

potion object constructor created


Potential bug gaprindashvili-2.20180313094615_ and OCP hawkular metrics?

I’ve got gaprindashvili-2.20180313094615_ with a minishift container provider setup. It seems to be crashing after a few hours. Can see a massive amount of the ERROR, as per attached. I have tried to disable the hawkular metrics in the provider config, but the errors continue. Every 3 minutes.
ocp_hawk.log

Also seeing this in CF4.6

Just found this. https://bugzilla.redhat.com/show_bug.cgi?id=1537195


Proofreading - transposed words in settings for autobackup

I noticed that the instructions for autobackup on line 99 didn't make sense (last sentence). I think the words are transposed.
"If turned off, it's independent from last the change."
This makes more sense to read "If turned off, it's independent from the last change."
I don't know the actual functionality to know if this is accurate or not,.
https://github.com/denolehov/obsidian-git/blob/76698921f687ce801490397f973a22d526a8a9f6/src/settings.ts#L99
(I love the project, btw, thanks!)

Thanks for pointing out, will be in the next release.


Push socketio dependency down into DocumentDeltaConnections

Currently, the socket.io dependency is passed through several driver classes/packages (DocumentServiceFactory, DocumentService, DocumentDeltaConnection) but is only actually used in the DocumentDeltaConnection.  The goal of this change is to consolidate awareness of the dependency to the DocumentDeltaConnection.

Converting to draft while I think through how to handle the lazy import

Close and reopening to trigger the pipeline

Closing this, will need to rethink.  Still want to push this down but the lazy-load is challenging due to the class inheritance.


syncing with git in the screen problematic in one direction

From github to juliabox works fine
From juliabox to github works fine enough from the terminal not the sync screen

Looks like your JuliaBox ssh key is not added to your github profile (https://help.github.com/enterprise/11.10.340/admin/articles/adding-an-ssh-key-for-shell-access/). You can get your ssh key from JuliaBox settings page.
Closing this for now. Please reopen if this did not solve it.
We shall be adding some help/instructions regarding this in the next JuliaBox refresh.


CUJ Testing for Beta v2 - Creator Can Change Text Alignment

Feature Description
In preparation for the Beta 2 release we would like to have validation and confirmation of the CUJ functionality detailed in
https://github.com/google/web-stories-wp/issues/1520

[x] justify
[x]  align left
[x]  align center
[x]  align right

Tested on macOS Mojave 13-inch v. 10.14.6 / Safari v. 13.1.2 and found no issues.

Verified in QA


Nuget update

This updates all NuGet packages to latest corresponding version.

@MarvinKlein1508 Thank you for the PR. I'll review and approve.


Added support for ship defaults for TLS parameters. (Fixes #185)

Awesome! Thanks a lot! Is there any changes to the documentation that's needed along with those improvements? Especially around using credentials for docker registries, since username/password are no longer required directly in the Maestro YAML file.

Both $HOME/.dockercfg and $HOME/.docker/config.json is supported by auth.py in docker-py https://github.com/docker/docker-py/blob/master/docker/auth.py#L14
If needed mentioned support for $HOME/.docker/config.json, which was introduced in https://github.com/docker/docker/commit/18c9b6c6455f116ae59cde8544413b3d7d294a5e, in http://maestro-ng.readthedocs.io/en/latest/registries.html, my pleasure to do.
This PR supports cases either username provided or not and the case of wrong username provided as
registries:
    valid_registry:
    	registry: valid_registry # pickup username from docker config
    valid_registry:
    	registry: valid_registry # pickup username from docker config
        username: valid_username
    valid_registry:
        registry: valid_registry
        username: wrong_username
    invaild_registry:
        registry: invaild_registry  # Login failure

Looks like the doc has it covered already then. Thanks, merging!


Extend flyway info to include all data in the flyway_schema_history table

Which version and edition of Flyway are you using?
Enterprise 6.0.1
If this is not the latest version, can you reproduce the issue with the latest one as well?
This is a feature request, not a bug.
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Command-line
Which database are you using (type & version)?
Oracle 18c
Which operating system are you using?
Windows 10 x64
What did you do?
Run flyway info in the command line.
What did you expect to see?
Data from all columns in the flyway_schema_history table for each migration.
What did you see instead?
The current info implementation doesn't return all the columns, for example execution_time and installed_by aren't returned.

@DoodleBobBuffPants Out of interest, why do you need the data from the columns that aren't currently exposed by flyway info?

The execution_time would be useful because some of our customers want to be able to plan how/when to apply their migrations against production environments.  This information can help them work out where bottlenecks are, and improve how migration scripts are generated to avoid massive files that take ages to run.
installed_by would be helpful for audit purposes - e.g. monitoring who is responsible for applying migrations

It's now possible to get executionTime and installedBy when the -json option is specified.


Add AccessibleFullBodyCalibrator v1.0.1

It does tweak a UI. Do you think that the Misc category would be better?

ive realized that our manifest needs some organization passes so ive created #327 as a first step.
for now the best category for this mod is probably misc

Category changed to Misc

looks like merging #316 created conflicts with this pr.


docs: slightly improve wording for better clarity

Improved the wording in the Why.md file to make some parts sound a bit more natural and easier to understand.
Type Of Change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] ✨ New feature (non-breaking change which adds functionality)
[x] 📝 Document (This change requires a documentation update)
[ ] 🎨 Theme style (Theme style beautification)
[ ] ⚠  Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] 🔨 Workflow (Workflow changes)

Clear Describe

Improved wording in docs/guide/why.md

Description

I was reading the documentation for the project while setting up cz-git on my machine ― Also, thank you for creating this tool! This project fixes a lot of the complaints I had with the original commitizen and makes it so much nicer to use ― but while I was reading the setup guide I noticed some of the wording was a little difficult to understand. So I updated a few of the lines with what I think you were trying to say. But feel free to let me know if I misinterpreted anything.

LGTM 🤗 Thx u support


Midea Cube dehumidifier always reports 0 water level

Tested with Midea Cube dehumidifier 50 pint. The Midea app reports the correct water level however the water level sensor always reports a water level of 0.

Hi @idunnololz ,  can you send me the copy of data from developer tools state (/developer-tools/state) for your dehumdifier.
Should look something like:

Note that the cube only reports every 25%. I also assumed mine was borked and then it suddenly showed 25% and then 50%.


[release/2.1.0-preview2] Stop building reference assembly packages

Remove reference assembly package build step

Remove dummy package build

(cherry picked from commit 9ad4704df81ef4a138f165bcc1d53556d8141e89) (https://github.com/dotnet/source-build/pull/503)

This fixes the roslyn-tools in-tarball build on Fedora (28) with an empty HOME directory. It tries to use the System.Runtime/4.3.0 ref package.

What is the release/2.1.0-preview2 branch for?

I added this branch when we were putting the finishing touches on preview2 while dev/release/2.1 moved on to rc1. I'm PRing into it to try to get the preview2 tarball buildable for @omajid on Fedora 28, but I don't know how much more effort we'll spend on this. /cc @dleeapho


Updated llvm commit to b3b4cda (Replacement of #343)

Updated llvm commit to b3b4cda (This PR replace #343.  Newer commit is used.)
This PR includes fix to reflect following update in MLIR.

Remove Ops suffix from dialect library names: llvm/llvm-project@d4e889f
API change of  OwningRewritePatternList. (OwningRewritePatternList * -> OwningRewritePatternList &): llvm/llvm-project@422aaf3

(I created this PR to use latest --normalize-memrefs.)

@tjingrant Should I sign off to solve the DCO error?


Add Unknown type to TaskInfoType

Pull Request
Related issue
Fixes #385
What does this PR do?

Currently, it adds the "Unknown" type to the enum. It requires more tasks to do

PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

Yeah, I will. This PR will get updated soon.

Yeah, I will. This PR will get updated soon.

I have updated this PR, to the best of my capabilities. Please review and provide feedback.

Seems like the build failed, Can you guide me on where to look?
@curquiza

@postmeback
The tests on main are green, so it's something you added that broke the CI.
Please, run the tests locally, you will have a better view of what is happening to fix them.

Well, I tried to run the tests, and below is the response.I have commented my tests.

It seems I am restricted. Any idea on how to get past it ?

@postmeback there is not need for access to run the tests locally.
Did you follow the steps in the CONTRIBUTING.md?

I followed the steps and came up with below conclusion
CreateUnknownTaskAsync & GetTaskWithUnknownTypeAsync - this two methods have an URI, which I created and not added with API, that's the reason it is failing.
https://github.com/postmeback/meilisearch-dotnet/blob/c2934b51bae7b0f243009af109f26499cb7585a0/src/Meilisearch/MeilisearchClient.cs#L430
https://github.com/postmeback/meilisearch-dotnet/blob/c2934b51bae7b0f243009af109f26499cb7585a0/src/Meilisearch/MeilisearchClient.cs#L438C37-L438C64
Requesting you to have a look.

@postmeback CreateUnknownTaskAsync call a route that does not exist in Meilisearch. It cannot work.
Maybe @ahmednfwela can guide you on this, or @brunoocasali who opened the issue.

I have removed the unnecessary files and methods from this PR.
Also, if you can point to the json serializer file/function, which needs to be updated, that would greatly assist. @ahmednfwela

@postmeback we use the default one https://learn.microsoft.com/en-us/dotnet/api/system.text.json.serialization.jsonstringenumconverter?view=net-8.0
if this converter doesn't have a fallback option, we can create a custom one that inherits it

check this SO question for similar solutions

Sure, thanks for the suggestion. I will update you soon.

With the latest changes and all tests passing

I ran the formatter as well.

Done.

bors merge


Better utilize .btn-strip class

In _header.scss, the following selector defines its own declarations to remove default styles from the open and close buttons:
&__open-nav,
&__close-nav {
  ...
}

…but should really just @extend .btn-strip;

Do a broad search to see if this should be updated anywhere else.


Bump buildpacks

https://github.com/heroku/heroku-buildpack-multi/compare/0ac95a28...65baa2d8
https://github.com/cloudfoundry/staticfile-buildpack/compare/062b8f40...11f3205c
https://github.com/heroku/heroku-buildpack-ruby/compare/bac6cf09...165d85b1
https://github.com/heroku/heroku-buildpack-nodejs/compare/41f6b5cf...d3952c3e
https://github.com/heroku/heroku-buildpack-clojure/compare/90fbff0d...de48a684
https://github.com/heroku/heroku-buildpack-python/compare/7074d5cb...f1da8d4b
https://github.com/heroku/heroku-buildpack-java/compare/acb55f82...18eeafc7
https://github.com/heroku/heroku-buildpack-scala/compare/47e88712...230cbfa3

LGTM


Use -u with ntpdate

The script tries to call ntpdate to set the date. It does this without the -u option. This means that it fails if NTPD is running.
It will be less alarming for users if the -u switch is used; this will use a port above 1024 to send the NTP requests, and works well (I use it all the time in my NetBSD VMs because the NTP daemon is too slow to get the time corrected when errors are big, and NetBSD and VMware don't do a great job on time).
(Might also consider using -b, which causes the time to just be reset, no skewing. We're not running a time critical service at the moment of ntpdate, so it's more effective to just reset the clock.)

Fixed in 80655c31107d53ed23dbbd397c540e2b7640663a


Secure Assessment Browser extension

Hi!
I am trying to set up "Take a test" environment, like on this page https://learn.microsoft.com/en-us/education/windows/edu-take-a-test-kiosk-mode?tabs=powershell
I have everything working, web page opens up, but then a problem occurs. Students need to use smart card (ID-card) to log in into online testing site. This action requires browser extension called "Web eID" https://chrome.google.com/webstore/detail/web-eid/ncibgoaomkmdpilpocfeponihegamlic
I have tried to change KioskModeAUMID to Edge, but this seems not to be working at all.
How could this problem be solved? I am using powershell scripts to deploy and test things in our ecosystem.
(admin edit: added article metadata for proper linking)

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

ID: 3af13500-9626-be44-681b-0445c77191b6
Version Independent ID: 3af13500-9626-be44-681b-0445c77191b6
Content: Configure Take a Test in kiosk mode - Windows Education
Content Source: education/windows/edu-take-a-test-kiosk-mode.md
Product: windows-client
Technology: itpro-edu
GitHub Login: @paolomatarazzo
Microsoft Alias: paoloma

Hello @StenPaal I'm checking if it's possible to allow extensions with the secure browser. I'll update this thread as I find more information.

@StenPaal we don't currently support extensions for the secure browser.


Switch to @material-ui/styles styling solution

This PR may be premature as @material-ui/styles is still in alpha. However, it may become useful as:

@material-ui/core/styles is being deprecated in material-ui v4.
New API includes hooks implementation (useStyles, useTheme) which is great if you like React hooks.
New API spec: https://material-ui.com/css-in-js/basics

Thanks for the PR!

It looks like the custom theme colors aren't now used? https://github.com/bluepeter/gatsby-material-ui-business-starter/blob/master/src/utils/getPageContext.js Not sure what the new thinking is, re: custom themes, but it would be good to reflect this in the PR, too.

Text / image width or something looks broken on some of the subpages: http://localhost:8000/team/george-geppetto/

@bluepeter Thank you for taking a look!

I totally missed that file as well as the whole server side rendering thing. Figured it out though and pushed another commit with fixes.
Fixed that as well in 'team' template file.
Could you please take another look?


🪲 Bug Report - Module Fails to Load Automatically when Az.ResourceGraph Not Installed

Describe the bug
When the Az.ResourceGraph module is not installed, running just Install-Module AzureBasicLoadBalancerUpgrade then Start-AzBasicLoadBalancerUpgrade fails because the Start-AzBasicLoadBalancerUpgrade module silently fails to import.
To Reproduce
Steps to reproduce the behavior:

Install-Module AzureBasicLoadBalancerUpgrade
Start-AzBasicLoadBalancerUpgrade
Get-Module

[Main module imports, but has no exported commands]

Expected behavior
Command should be exported by default and provide an error during load if not...
Workaround

Install-Module Az.ResourceGraph
Remove-Module AzureBasicLoadBalancerUpgrade
Import-Module AzureBasicLoadBalancerUpgrade

Additional context - please include:

Version of the AzureBasicLoadBalancerUpgrade module you are running (see: Get-Module AzureBasicLoadBalancerUpgrade after importing the module.) v2.0.0 +
Version of PowerShell you are running ($PSVersionTable) Desktop or Core
The JSON View or template of the VMSS and Load Balancer(s) to be migrated

This should be fixed--leaving open for visibility


add compute offering details in UI

Description
This PR...

Fixes: #8537

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

How did you try to break this feature and the system with this change?

:-1: from myself, the titles are visible when the fields are empty. That needs to be remedied.

@blueorangutan ui

@DaanHoogland a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

@JoaoJandre don't see why this wouldn't work on 4.18.2 as welll. Let me know if you want me to backport.

UI build: :heavy_check_mark:
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/8563 (QA-JID-269)

@JoaoJandre don't see why this wouldn't work on 4.18.2 as welll. Let me know if you want me to backport.

As 4.18.2 is aimed at bugfixes/security patches, I don't think that this PR fits it.


Make official Windows versions and build versions relatable

There are 3 different possible names each Windows release has: the codename (RS4), version number (1803), and build number (17134). Since the official version number and build number have no correlation, there is no logical way to connect the two, and it makes communication very challenging. Most people I talk to, including myself, always have to look online to double check.
I can't count the number of times someone tries to mention a Windows build and it becomes so difficult..."that was introduced in RS4...which version is that...err 17134? Well what's the public name for it, I think that was 1809...?". Wrong, it was 1803! The "1809" is helpful, because you then have an idea of when it was released (2 months later in November), but it isn't helpful to the public or average users because they don't know or care about why we version our software this way.
Below are some tables and information for the current scheme and a proposed scheme.
Current scheme
Windows 10 version scheme: YYMM
Windows 10 build scheme: ABCDE
Windows 10 insider SDK scheme: 10.0.ABCDE.0
Windows 10 official SDK scheme: 10.0.ABCDE.0

Windows 10 Version
Windows 10 Build
Windows 10 SDK
Date of Availability

1909
18363
10.0.18363.0
Nov 12th 2019

1903
18362
10.0.18362.0
May 21st 2019

1809
17763
10.0.17763.0
November 13, 2018

1803
17134
10.0.17134.0
April 30, 2018

Proposed scheme
If you make the build numbers match the date itself, then you always have an increasing number and you can easily correlate builds to windows versions and the date they were released.
Windows 10 version scheme: 10.N
Windows 10 build scheme: YYMMDD
Windows 10 insider SDK scheme: 10.N.YYMMDD
Windows 10 official SDK scheme: 10.N
Example, for today's build, 6/13/2020, the build would be: Windows 10.1.200613
Then, once Windows 10.1 ships, we move onto Windows 10.2, and the cycle repeats and it's very nice and easy.
Assuming we had started this scheme back in RS4, this is what the previous table would look like:

Windows 10 Version
Windows 10 Build
Windows 10 SDK
Date of Availability

10.4
190914*
10.4
Nov 12th 2019

10.3
190302*
10.3
May 21st 2019

10.2
180909*
10.2
November 13, 2018

10.1
180315*
10.1
April 30, 2018

*I don't know the actual dates of the month the build snapped, so the last two numbers are just made up.
There are many benefits to a scheme like this:

Easy to distinguish Preview SDK's from official ones by the numbering scheme (10.N vs 10.N.YYMMDD)
Having a simpler version number puts less cognitive load on having to remember numbers, you really only have to remember the number following "10.".
The versions being linear makes it much easier to know that 10.5 follows 10.4. You have to make the connection yourself that 2004 follows 1909.
All versions are relatable
Windows SDK version numbers are prettier ♥
This is the industry standard for how software is versioned, all other operating systems our users use follow this scheme.

Ideally the Windows Team now it is in the hands of the Windows Server/Core team, could come up with a simple and clear naming scheme.  Something programatic and understandable for Marketing/Communications and Users.
Months and Dates are not as helpful as you may expect - especially with phased slow releases, and gaps between a build going gold and the day and date you receive it on your device.
As for how this relates to ProjectReunion, the releases will be out of sync with the OS version releases.  So whilst it will aid in informing developers which versions are currently supported - the Reunion versioning needs to make sense with the out of sync releases.

Something programatic and understandable for Marketing/Communications and Users.

Yup, that's exactly what I'm talking about.

Months and Dates are not as helpful as you may expect - especially with phased slow releases, and gaps between a build going gold and the day and date you receive it on your device.

Yeah, I don't think they're helpful at all for end users. As someone who has worked on the Windows platform, I find them somewhat helpful.

As for how this relates to ProjectReunion, the releases will be out of sync with the OS version releases. So whilst it will aid in informing developers which versions are currently supported - the Reunion versioning needs to make sense with the out of sync releases.

That's a very fair point, although I wasn't trying to refer to ProjectReunion versioning. I don't know what's really happening with the Windows SDK now. Before, the SDK was comprised of APIs, build tools, debuggers, profiling tools, and I'm sure much more. The APIs and build tools are being moved out and shipped as Nuget packages for Reunion, but I don't know what will come of the other tools. Perhaps installable via winget? 😎
It's pretty early on, so I'm sure this is still being worked out at this point.
I just posted this issue here because I know a lot of people viewing this GitHub would be the appropriate people to make any sort of change here, and there's no other good way to provide this feedback on an open forum otherwise.

Also when we use ApiInformation.IsApiContractPresent I always need to google which major version of contract specific Win version has.
Seems it already matches windows release number: https://docs.microsoft.com/en-us/uwp/extension-sdks/windows-universal-sdk
Seems like related: https://github.com/MicrosoftDocs/winrt-related/issues/103

Would a set of named constants help? Or a IsWindowsAtLeast(...)?  See also the version helpers which let you ask this question based on version.
@maxkatz6 :

Also when we use ApiInformation.IsApiContractPresent I always need to google which major version of contract specific Win version has.

Can you help me understand when you choose "is contract present" vs "is member present" versions of API queries?  You'll have better luck using the "is specific member/type/class present" checks than "are you Windows 10.0.18362.0 or better?" in many ways.

@jonwis
I agree that "is member present" should be preferable method.
But I often can see not mine code that use IsApiContractPresent method.
Usually the reason could be to reuse result between all API per specific contract (I not sure if there is a reason to cache it tho).

One other data point of confusion. The Windows store refers to Windows version numbers by their build numbers:

When the settings app refers to the Windows version differently (as described in this issue):

Unlike the version number of Windows 10, the build number has real significance. In most apps and software the build number will be reset to 0 when the major and minor version increases. That's not the case with Windows. For the version number, notice that they are spaces in between. This is because currently the version number is based on RTM year and month although they have started to use the H1 and H2 suffix recently. The build number also seems to have spaces in between but technically not since they only release a few builds to the Insider Preview and most of them are internal. Actually the build number is incremented for every build of Windows. Technically the build number means the compilation time. For example, the latest insider preview has a build number of 20170 which means it's the 20170 compilation of Windows. This isn't really useful but it's good to know.

. For example, the latest insider preview has a build number of 20170 which means it's the 20170 compilation of Windows. This isn't really useful but it's good to know.

Yeah, I think that's fine thing to continue carrying forward. In my example I was using dates, but we can use that number instead:
10.1-insider.20170
Then we ship windows 10.1, and you drop the "-insider" preview suffix and we just have "10.1".
Or we could be like Android and have 3 versions:
10.1.0-insider.20170
@stevewri is this something we would consider doing?

I need to chime in just to agree. To stop incrementing minor version number with each release was not the brightest marketing ideas, to say it lightly.
But the YYMMDD might not be ideal. That number is unsigned 16-bit integer, implemented as such in dozens of components across the system, and year 2065 is not that far now.

@tringi The major and minor numbers can be changed because most apps only check the build so it's shouldn't be changed to prevent compatibility issues.

Also for the marketing name, instead of branding it with the major version number, it would be much better if it was branded with a separate name for it like in some versions like XP and Vista. Call the next version of Windows something like Windows Sun Valley instead of Windows 10 version 21H2 or the rumoured Windows 11.

Windows' versioning may update to become simpler (one can only hope)
Windows 11 / 11.5  =  21H2  /  22H1
Windows 12 / 12.5  =  22H2  /  23H1
etc
There will be point releases for security etc but there is no need for Reunion to be tied to Windows versioning after all the whole point of Reunion is to uncouple the app platform from the OS.
Reunion should support Windows 10 onto Windows 11 - and all that is needed to be known is what is the Minimum version supported, as each new version of Reunion comes out.
We also don't know what a final name may be for Project Reunion lol

Thanks for this feedback everyone, I hear you, we have a lot of version numbers for the Windows OS. This feedback is related to Windows OS versioning though and not Windows App SDK, so we're going to close this issue. I've shared this feedback with some teams that own Windows OS versioning. Thanks!


How can I backup my defined functions

Hi,
first of all let me thank you for that project. I makes my life easier almost every day :)  Now, I would like to backup my functions/move to a new machine. How can I do that?

@larsrinn Thanks for creating an issue. I'm glad you find funky useful!
Currently, all local funks are stored in a JSON file named .funky inside the directory the funks are associated with. So backing up your funks is just a matter of copying those .funky files to the desired directories on your new machine.
This is far from ideal, I know. I am considering migrating funks to a global sqlite database (see https://github.com/bbugyi200/funky/issues/124), which would be an improvement I think.

I'm going to close this issue since I believe I have answered the question, but feel free to re-open if you disagree.


RPS doesn't fall to 0 after test has finished if raise StopUser() in on_stop() method

Describe the bug

Expected behavior
When 0 users work must be 0 RPS because nobody sends requests
Actual behavior
When 0 users work shows the same saved result with RPS. And it will present till I click the stop button
Steps to reproduce

Create a class that inherits from SequentialTaskSet
Do something on_start() method
Raise StopUser() in on_stop() method

Environment

OS: Ubuntu 20.04.2 LTS / MacOs BigSur v:11.6
Python version:3.8.5
Locust version: 2.2.2/2.2.3
Locust command line that you ran: locust -f file.py / locust --config=local.yml
Locust file contents (anonymized if necessary):

logger = logging.getLogger(__name__)
users = []

def init_env_configurations():
    if os.getenv('ENV_TYPE') == EnvType.DEV:
        logger.debug(f"ENV is {EnvType.DEV}")
        users.extend(read_files(Resources.DEV_USERS))
    elif os.getenv('ENV_TYPE') == EnvType.QA:
        logger.debug(f"ENV is {EnvType.QA}")
        users.extend(read_files(Resources.QA_USERS))
    elif os.getenv('ENV_TYPE') == EnvType.PROD:
        logger.debug(f"ENV is {EnvType.PROD}")
        users.extend(read_files(Resources.PROD_USERS))

@events.test_start.add_listener
def init_locust_configuration(**kwargs):
    init_env_configurations()

class StartSomethingWithUser(SequentialTaskSet):
    wait_time = between(1, 2)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.user_access_token = None

    def on_start(self):
        logging.info(f"Len: {len(users)}")
        if len(users) > 0:
            user_params = users.pop().rstrip("\n").split(",")
            logging.info(f"User params:: {user_params}")

            phone = user_params[1]
            body = {test_body}
            with self.client.post(api_call, json=body, catch_response=True, name="Authorise user") as authorise_user:
                if authorise_user.status_code != 200:
                    log_error(authorise_user)
                    raise StopUser()
                else:
                    log_data(authorise_user)
                    self.user_access_token = authorise_user.json()["session"]["accessToken"]
                    self.client.headers.update({"Authorization": f"Bearer {self.user_access_token}", "Accept-Language": "EN"})
        else:
            logging.info("There are no users")
            raise StopUser()

    @task()
    def start_something(self):
        with self.client.post(aoi_call, catch_response=True, name="start_something") as start_something:
            if start_something.status_code != 201:
                log_error(start_something)
                raise StopUser()
            else:
                log_data(start_something)

    @task()
    def on_stop(self):
        raise StopUser()

class UserLoader(HttpUser):
    wait_time = between(1, 2)
    tasks = {StartSomethingWithUser:  1}
    host = os.getenv("URL")

@obradovichv Is it possible that this is related to the changes in https://github.com/locustio/locust/pull/1853 ?
@Grosha , can you please simplify your test plan so we know what is relevant and what is not? Do you still get the error if you use a plain HttpUser class for instance? (no SequentialTaskSet)

@Grosha , can you please simplify your test plan so we know what is relevant and what is not? Do you still get the error if you use a plain HttpUser class for instance? (no SequentialTaskSet)

If I understand correctly I changed SequentialTaskSet to HttpUser (it brokes my script but any way) and behavior is the same - o users but RPS presence in UI.
class StartSomethingWithUser(HttpUser):
    wait_time = between(1, 2)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.caller_access_token = None

This is one of the scripts which I use for performance testing. I changed names and remove any company data.
I run a few suits at once but all of them have on_stop() method with StopUser()
class ScriptLoader(HttpUser):
    wait_time = between(1, 2)
    tasks = {StartSomethingWithUser1:  1, StartSomethingWithUser2: 1, StartSomethingWithUser3: 1}
    host = os.getenv("URL")

I feel that just made it more complicated. Could you please give me the smallest possible locustfile that exhibits this behaviour? None of those wait_time, self.caller_access_token, etc stuff that is most likely not relevant to the problem.
Raising StopUser isn't really something a task or (even less) an on_stop-method should do, so you are a little outside the normal use case, but it is still weird that you get continued rps-metrics in the graph.

There is a free API project and I use it in the script where behavior is exactly the same as in my script. And in the UI the result is the same -> 0 users but RPS present:
Archive.zip

I’m sorry but I’m obviously not getting thru to you - you just keep replying with big examples that are anything but minimal? Using a public api in your example is good, but that wasnt the point.
Maybe someone else can help, but I wont spend more time on this issue right now.

ou try to explain that stopping users by raising StopUser() it in on_stop() method is incorrect but there is no suggestion on how to do it. I would be glad any hint on how to run suit just once for one user.


”Topolog”, ”Calfa”, ”Cerbu”, ”Făgărașu Nou” are listed in the drop-down menu

Description:
When user writes ”Topolog”, ”Calfa”, ”Cerbu”, ”Făgărașu Nou” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Topolog"

Expected results
The location appears in the drop-down menu as "Sat Topolog, TULCEA (Topolog)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Calfa"

Expected results
The location appears in the drop-down menu as "Sat Calfa, TULCEA (Topolog)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Cerbu"

Expected results
The location appears in the drop-down menu as "Sat Cerbu, TULCEA (Topolog)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Făgărașu Nou"

Expected results
The location appears in the drop-down menu as "Sat Făgărașu Nou, TULCEA (Topolog)".


[modeline +light] invisible flycheck running icon

What did you expect to happen?
On +light modeline, when flycheck is in running state, we set the face to font-lock-comment-face here.
What actually happened?
At least for my theme, doom-molokai, this face is invisible on modeline.

It's odd because if I use this face on code, it shows normally, only on modeline that shows invisible.

Additional details:

Include a link to your private config: https://github.com/ericdallo/dotfiles/blob/master/emacs/.doom.d/config.el#L73

System information:

emacs   version    27.0.91
        features   XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER GMP
        build      Jun 06, 2020
        buildopts  (--prefix=/nix/store/m2j53xz3xj8wazgyn8838f2zwgmpq07v-emacs-27.0.91 --disable-build-details --with-modules --with-x-toolkit=gtk3 --with-xft CFLAGS=-DMAC_OS_X_VERSION_MAX_ALLOWED=101200)
        windowsys  x
        daemonp    server-running
doom    version    2.0.9
        build      HEAD -> develop 7ecda0d8e 2020-06-05 04:05:29 -0400
        dir        ~/.dotfiles/emacs/.doom.d/
system  type       gnu/linux
        config     x86_64-pc-linux-gnu
        shell      /run/current-system/sw/bin/zsh
        uname      Linux 5.4.41 hlissner/doom-emacs#1-NixOS SMP Thu May 14 05:58:30 UTC 2020 x86_64
        path       (/run/wrappers/bin ~/.nix-profile/bin /etc/profiles/per-user/greg/bin /nix/var/nix/profiles/default/bin /run/current-system/sw/bin ~/.emacs.d/bin ~/flutter/bin ~/.emacs.d/bin ~/flutter/bin /nix/store/m2j53xz3xj8wazgyn8838f2zwgmpq07v-emacs-27.0.91/libexec/emacs/27.0.91/x86_64-pc-linux-gnu/)
config  envfile    envvar-file
        elc-files  0
        modules    (:checkers syntax :completion (company +childframe) (ivy +icons) :ui doom doom-dashboard hl-todo (modeline +light) nav-flash ophints (popup +all +defaults) treemacs unicode vc-gutter vi-tilde-fringe window-select workspaces :editor evil file-templates fold (format +onsave) multiple-cursors rotate-text snippets :emacs (dired +ranger +icons) electric :term vterm :tools debugger (docker +lsp) (eval +overlay) lookup (lsp +peek) :lang (clojure +lsp) (dart +lsp) data emacs-lisp (go +lsp) (java +lsp) (javascript +lsp) (markdown +grip) nix (org +dragndrop +ipython +pandoc +present) (python +lsp) (ruby +lsp) (sh +lsp) web :config (default +bindings +smartparens))
        packages   ((cider) (clj-refactor) (clojure-mode) (dap-mode) (dhall-mode) (flutter) (flycheck-clojure) (flycheck-package) (hover) (lsp-dart :recipe (:local-repo ~/dev/lsp-dart :files (*.el) :no-byte-compile t)) (lsp-java) (lsp-mode :recipe (:local-repo ~/dev/lsp-mode :files (*.el) :no-byte-compile t)) (lsp-ui) (lsp-treemacs) (scss-mode) (treemacs) (paredit) (parrot :recipe (:host github :repo jnc-nj/parrot :branch master)) (posframe) (yaml-mode) (melpa-check :recipe (:host github :repo akirak/melpa-check :branch v3)))
        unpin      (treemacs lsp-treemacs (:lang dart))
        elpa       (vterm undercover shut-up el-mock dash)

Sorry for the noise (assumed it was a doom-themes issue at first). You're right, the +light module needs more faces. I have a few big improvements in the pipeline for it, so in the meantime I've changed the flycheck segment to use the mode-line-inactive face, which should resolve your issue. Let me know if that isn't the case and I'll reopen this. Thanks for bringing it to my attention!


9.16(2)

Hi,
Can I query and check if updates will be added for version 9.16(2), this is for the ASA License from CML which I plan on using.

It's been a few years. may i ask why. Also, send me an ASA?
On Mon, Oct 3, 2022 at 9:21 PM darrenori @.***> wrote:

Hi,
Can I query and check if updates will be added for version 9.16(2), this
is for the ASA License from CML which I plan on using.
—
Reply to this email directly, view it on GitHub
https://github.com/RiskSense-Ops/CVE-2016-6366/issues/4, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNBVMCJWSQA5CTTW73O3YLWBOBBFANCNFSM6AAAAAAQ4DJT2Y
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hi! Sorry for the late reply, this is for educational purposes, have students who are using Cisco's Modelling Lab :)
Trying to export my asa bin for now but it is titled "asa9162-smp-k8.bin"

Hi Sir,
Have just uploaded my ASA here! Apologies for the inconvenience
https://drive.google.com/file/d/1mNw-k1NgYFgFcog8Hy7Rj34eT4mjWX7k/view?usp=sharing

Hey @Aleph-Naught- , would you be working on this version? :)


FE: Rename "max size on disk" to X

https://github.com/provectus/kafka-ui/issues/4037
TODO:

Rename "max size on disk" to "Max partition size"

Description updated, good for grabs 👀

I'd like to work on this!


JobValidator: improve error message when job.expires is in past

I helped someone troubleshoot a problem where their integration tests
could not deploy any job to helios-solo because helios-master rejected
the job as the job.expires field was in the past.
After a lot of debugging, we found the cause of this was another test
in their test suite where the global state in joda-time's
DateTimeUtils was set and never cleared. TemporaryJobsBuilder uses
new DateTime() from joda-time to get the current time and add 30
minutes onto it when setting the default job.expires value.
One thing that was a big help in troubleshooting this was modifying the
JobValidator inside the helios-solo image to output the job.expires
value it was receiving and rejecting, and I think this additional output
would be helpful in general beyond the one specific bug I was hunting.

Codecov Report

Merging #1140 into master will decrease coverage by 0.01%.
The diff coverage is 66.66%.

@@             Coverage Diff              @@
##             master    #1140      +/-   ##
============================================
- Coverage     52.13%   52.11%   -0.02%
- Complexity     1591     1592       +1
============================================
  Files           268      268
  Lines         12956    12957       +1
  Branches       1502     1502
============================================
- Hits           6754     6752       -2
- Misses         5693     5696       +3
  Partials        509      509


feat: add verifier replay

Description
This PR creates a verifier_replay which validates whether verifier works correctly. But this requires you to fill data kProof and function body inside GetInstanceColumnsVec() manually.
This includes a bugfix of SumOfProduct and several refactorings.

5. 04a59d2
I think, in general, commits should have a more descriptive title explaining what the commit is about for easier understanding, so maybe changing this subject to "correct filename in comment" might be better?

I'll apply

I intended to use the most common namespace! For example, after I change namespace tachyon::c::math to namespace tachyon, I can shorten tachyon::math::bn254::G1PointXYZZ::Random() to math::bn254::G1PointXYZZ::Random().

"fix cpplint issue" is still good to me. Since cpp lint can correct many things and I don't want to separate commits because of this.


Increase pruning cache size to 4096MB for Nethermind for 30+GB machines.

First of all, thanks to @yorickdowne for your continued support to the project, it was instrumental for me setting up the validator infra easily.
Two changes on this PR:

Changing the Pruning.CacheMb to 4096 for 30GB+ RAM machines.
Running HalfPath NM changes in pre-release, I noticed a change in how the database grows now. More specifically, I noticed that low default Pruning.CacheMb value leads to some kind of "write amplification".
The growth graph for 1GB (default) value looks like:

I.e. it has a lot of incidental writes then deletes; results in about 200GBW per day on the SSD for the whole validator node.
3GB still exposes some of this pattern:

4GB seems to work fine; it significantly reduces the GBW per day to about 110-120 (from ~200).

8GB starts to consume way too much RAM, and results in higher incidental block processing times when pruning is running.
Changing the RAM check conditions in bash scripts to -ge 30 from -gt 30. On my 32GB NUC, due to system reserved memory, the actual available RAM reported is less and is about 30.8 GB, when rounded down, it's exactly 30 (and it fails the gt 30 check at that point). I think the spirit of the script is checking for 32GB, however, due to reserved RAM, it - I think - doesn't always work as intended.

Thanks!


Key/Value Fields Not Updating Properly

What problem are you facing?
When removing key/value fields, the desired manifest is not updated.
object resource:
apiVersion: kubernetes.crossplane.io/v1alpha2
kind: Object
metadata:
  annotations:
    crossplane.io/external-create-pending: "2024-05-14T03:06:56Z"
    crossplane.io/external-create-succeeded: "2024-05-14T03:06:56Z"
    crossplane.io/external-name: sample-namespace
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"kubernetes.crossplane.io/v1alpha2","kind":"Object","metadata":{"annotations":{"uptest.upbound.io/timeout":"60"},"name":"sample-namespace"},"spec":{"forProvider":{"manifest":{"apiVersion":"v1","kind":"Namespace","metadata":{"labels":{"example":"true"}}}},"providerConfigRef":{"name":"kubernetes-provider"}}}
    uptest.upbound.io/timeout: "60"
  creationTimestamp: "2024-05-14T03:06:56Z"
  finalizers:
  - finalizer.managedresource.crossplane.io
  generation: 3
  name: sample-namespace
  resourceVersion: "30070"
  uid: 745a73ee-9447-47f7-b3c8-0105fcc2e3b4
spec:
  deletionPolicy: Delete
  forProvider:
    manifest:
      apiVersion: v1
      kind: Namespace
      metadata:
        labels:
          example: "true"
          foo: bar
  managementPolicies:
  - '*'
  providerConfigRef:
    name: kubernetes-provider
  readiness:
    policy: SuccessfulCreate
  watch: false

created resource:
apiVersion: v1
kind: Namespace
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: '{"apiVersion":"v1","kind":"Namespace","metadata":{"labels":{"example":"true","foo":"bar"}}}'
  creationTimestamp: "2024-05-14T03:06:56Z"
  labels:
    example: "true"
    foo: bar
    kubernetes.io/metadata.name: sample-namespace
  name: sample-namespace
  resourceVersion: "31736"
  uid: 7174f6ef-af55-4ae2-bc81-0f6fef75384b
spec:
  finalizers:
  - kubernetes

object resource (removed label):
apiVersion: kubernetes.crossplane.io/v1alpha2
kind: Object
metadata:
  annotations:
    crossplane.io/external-create-pending: "2024-05-14T03:06:56Z"
    crossplane.io/external-create-succeeded: "2024-05-14T03:06:56Z"
    crossplane.io/external-name: sample-namespace
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"kubernetes.crossplane.io/v1alpha2","kind":"Object","metadata":{"annotations":{"uptest.upbound.io/timeout":"60"},"name":"sample-namespace"},"spec":{"forProvider":{"manifest":{"apiVersion":"v1","kind":"Namespace","metadata":{"labels":{"example":"true"}}}},"providerConfigRef":{"name":"kubernetes-provider"}}}
    uptest.upbound.io/timeout: "60"
  creationTimestamp: "2024-05-14T03:06:56Z"
  finalizers:
  - finalizer.managedresource.crossplane.io
  generation: 3
  name: sample-namespace
  resourceVersion: "30070"
  uid: 745a73ee-9447-47f7-b3c8-0105fcc2e3b4
spec:
  deletionPolicy: Delete
  forProvider:
    manifest:
      apiVersion: v1
      kind: Namespace
      metadata:
        labels:
          example: "true"
          #foo: bar # disabled label
  managementPolicies:
  - '*'
  providerConfigRef:
    name: kubernetes-provider
  readiness:
    policy: SuccessfulCreate
  watch: false

created resource (label still exists):
apiVersion: v1
kind: Namespace
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: '{"apiVersion":"v1","kind":"Namespace","metadata":{"labels":{"example":"true"}}}'
  creationTimestamp: "2024-05-14T03:06:56Z"
  labels:
    example: "true"
    foo: bar
    kubernetes.io/metadata.name: sample-namespace
  name: sample-namespace
  resourceVersion: "32026"
  uid: 7174f6ef-af55-4ae2-bc81-0f6fef75384b
spec:
  finalizers:
  - kubernetes

How could Crossplane help solve your problem?
When removing key/value fields such as labels, the field should also be removed in the created resource.

We encountered this issue too. Why is it an enhancement and not a bug? If you manually create the resource without the provider, it actually removes/modifies the fields.
If a field is object type* - or array I assume - and you modify the key/value pair, it keeps adding new fields without removing the old ones. I haven't tested this with array, that's why it's an assumption.
If something is optional, that also won't get removed.
*E.g. of what I mean:
...                 exampleKey:                   type: object                   additionalProperties:                     type: string ...
It would be nice if you could fix this issue.
Also, it is pretty similar to this issue - or we can say it's the same: #114

Hi @ktg0000 - Did you get the chance to retest using the last kubernetes provider version having this fix https://github.com/crossplane-contrib/provider-kubernetes/pull/246
?


GoldieBlox game tutorial

Import, format, edit the "Nicole goes for a walk" GoldieBlox game.

Thanks so much Galen, looks good!  This uses some custom blocks from Shannon's extension at: https://github.com/shakao/custom-game-over.
Also, I think Step 5 is too wordy.  Let's cut it down to this: "Nicole’s favorite things are Boba Tea, Ramen, and Acai bowls.  What are yours?  Find the Set Tilemap block in the On Start block.  Click on the grey box to open up the Tilemap editor.  Click on My Tiles on the left side of the screen and find the Boba Tea, Ramen, and Acai bowl images.  Click to edit each image."

I was wondering where those game over functions were coming from.

Thanks for your help with this Galen!

RTM?

Yes, please!  Go ahead and merge/publish.  But don't put a card for this on the Home Page.  We'll link to it directly.


Initial modifications to follow external calls

Please review as discussed in email @lupino3 - thanks!

Marking this PR as abandoned, since there hasn't been activity in a few years. @cmg-src, if you ever are interested in resuming work please comment on the PR, I'll be happy to assist you!


Artifacts in PV names

Panda app may contain one or more blocks of the same type. If a single instance of a block is loaded in Panda (PCAP, BITS), the block name does not end with the block number. Names for the blocks with multiple instances end with the block number (one or more digits, such as COUNTER1, COUNTER2 etc.). This naming convention propagates to PVs, for example
PANDA:PCAP:ENABLE
PANDA:COUNTER1:ENABLE

The PV names are further used to generate attributes of the Panda Ophyd object: separate blocks (names not ending with numbers) are represented as separate attributes and groups of object instances (names ending with numbers) are represented as attributes pointing to device arrays.
The Issue with Naming
The names have the following inconsistency: if a single instance of a block is loaded into Panda, all block parameters are accessible using the block name with no number in it except LABEL, which is downloaded from Panda as part of metadata.
This inconsistency is propagated to PV names:
PANDA:PCAP:ENABLE
PANDA:PCAP1:LABEL

Since PV names are distributed via PVI and used to dynamically generate Ophyd object attributes, the inconsistency breaks the logic in the Ophyd object. Temporary fix, which simply ignores the 'numbered' object if 'non-numbered' object exists was implemented in PR https://github.com/bluesky/ophyd-epics-devices/pull/39
Source of the Problem
The values for LABEL attribute are loaded as part of metadata and the attribute names are handled separately from other names. Initially, the attribute names are listed in the file /share/panda-fpga/config_d distributed as part of panda-fpga .ZPG archive. The metadata attributes are listed separately for other attributes of objects and all names of existing blocks end with a block number (see names for PCAP, BITS etc.):
*METADATA
    APPNAME             constant =PandABox-no-fmc
    DESIGN              string
    LAYOUT              multiline
    EXPORTS             multiline
    LABEL_TTLIN1        string
    LABEL_TTLIN2        string
    LABEL_TTLIN3        string
    LABEL_TTLIN4        string
    LABEL_TTLIN5        string
    LABEL_TTLIN6        string
    LABEL_TTLOUT1       string
    LABEL_TTLOUT2       string
    LABEL_TTLOUT3       string
    ...
    LABEL_PCAP1         string
    LABEL_SYSTEM1       string
    LABEL_BITS1         string

The Panda server is using this file to populate the table of parameters, which in turn is used to generate the dictionary of changes, which is loaded by the IOC:
https://github.com/PandABlocks/PandABlocks-ioc/blob/9c6495ea39f93a1874524fd94020c53a56014909/src/pandablocks_ioc/ioc.py#L252
The keys of the dictionary are then used to create the PV names.
Possible Fix
It is not clear on which level in the stack the issue has to be fixed. For example, the naming in/share/panda-fpga/config_d config file does not look inconsistent: all names in the *METADATA section contain numbers and each type of blocks is listed under its own sections with section name consisting of the block name followed by the number of block instances.
One possible solution is to modify the downloaded changes dictionary by removing numbers from metadata names for single blocks. This could be achieved by putting the following or similar code after https://github.com/PandABlocks/PandABlocks-ioc/blob/9c6495ea39f93a1874524fd94020c53a56014909/src/pandablocks_ioc/ioc.py#L257
    import re

    base_keys = set([_.split(".")[0] for _ in changes.values.keys()])
    values_fixed = dict()
    for k, v in changes.values.items():
        k_fixed = k
        if k.startswith("*METADATA.LABEL_"):
            suffix = re.sub(r"^\*METADATA\.LABEL_", "", k)
            suffix_no_num = re.sub(r"\d$", "", suffix)
            if suffix_no_num in base_keys:
                k_fixed = re.sub(r"\d$", "", k)
        values_fixed[k_fixed] = v

    changes.values = values_fixed

which seems to fix the problem (at the first glance):
$ caget -S PANDA:BITS:LABEL
PANDA:BITS:LABEL Soft inputs and constant bits
$ caget -S PANDA:PCAP:LABEL
PANDA:PCAP:LABEL Position capture control
$ caget PANDA:PCAP:ENABLE
PANDA:PCAP:ENABLE              ONE

I believe there are changes in this area, possibly exactly the changes outlined here, currently waiting in PR #29 - and the original discussion for it was in PR #26.

The issue is resolved in https://github.com/PandABlocks/PandABlocks-ioc/pull/30.


[dev-env] Proxy config change

When users have port 80 or 443 blocked on their host machine, one of the fallback ports for proxy gets used. However, those ports don't work with WordPress as all the links and so on are to 80/443 port.
There is no way to disable the fallback feature when I went through the source code. Also setting [] as the fallback also doesnt work as lando does sort of merging and each item from provided config is only used to overwrite that exact part of config.
I'll try to do a PR towards lando project to introduce such config, however as a workaround this solution overwrites EVERY fallback to be 80/443 which pretty much has the desired effect.
Lando still starts up all the other services, but at least we get a noticeable error about the port:
Creating vip-dev-env-proxy_proxy_1 ... error

ERROR: for vip-dev-env-proxy_proxy_1  Cannot start service proxy: driver failed programming external connectivity on endpoint vip-dev-env-proxy_proxy_1 (cd5db8365c69b648f238e75c3e75fc9c4017dfba013e5052639dd35449125d64): Error starting userland proxy: listen tcp4 <IP_ADDRESS>:80: bind: address already in use

ERROR: for proxy  Cannot start service proxy: driver failed programming external connectivity on endpoint vip-dev-env-proxy_proxy_1 (cd5db8365c69b648f238e75c3e75fc9c4017dfba013e5052639dd35449125d64): Error starting userland proxy: listen tcp4 <IP_ADDRESS>:80: bind: address already in use
ERROR: Encountered errors while bringing up the project.
ERROR ==>  message=, stack=Error
    at /home/pavel/git/automattic/vip/node_modules/lando/lib/shell.js:158:44
From previous event:
....

As a side note I noticed we can change the proxy name so I switched to vip-dev-env-proxy (instead of arguably way cooler landoproxyhyperion5000gandalfedition)
Steps to Test

Stop your lando proxy.
Bind your port 80: e.g. docker run -it --rm  -p 80:80 nginx
try to start dev-env and you will get the error in the progress

@pschoffer This should help: https://github.com/Automattic/vip-container-images/pull/28/files


IPv6 VPC CNI Policy hot fix

What does this PR do?

Closes #371
Motivation

More

[x] Yes, I have tested the PR using my local account setup  (Provide any test evidence report under Additional Notes)
[ ] Yes, I have added a new example under examples to support my PR
[ ] Yes, I have created another PR for add-ons under add-ons repo (if applicable)
[ ] Yes, I have updated the docs for this feature
[x] Yes, I ran pre-commit run -a with this PR

Note: Not all the PRs required examples and docs except a new pattern or add-on added.
For Moderators

[ ] E2E Test successfully complete before merge?

Additional Notes

It looks good to me. I have just test. It works as expected
benluk@Bens-MBP aws % kubectl get pods --all-namespaces -o wide
NAMESPACE     NAME                                            READY   STATUS    RESTARTS   AGE   IP                                       NODE                                        NOMINATED NODE   READINESS GATES
kube-system   aws-load-balancer-controller-68d794d7b8-l5rfl   1/1     Running   0          53m   2406:da1e:312:c503:3b1c::2               ip-10-0-10-127.ap-east-1.compute.internal   <none>           <none>
kube-system   aws-load-balancer-controller-68d794d7b8-sx8t4   1/1     Running   0          53m   2406:da1e:312:c503:3b1c::3               ip-10-0-10-127.ap-east-1.compute.internal   <none>           <none>
kube-system   aws-node-sshlf                                  1/1     Running   0          53m   2406:da1e:312:c503:a891:20c1:db02:6736   ip-10-0-10-127.ap-east-1.compute.internal   <none>           <none>
kube-system   coredns-6db8fb7684-7q2tw                        1/1     Running   0          60m   2406:da1e:312:c503:3b1c::                ip-10-0-10-127.ap-east-1.compute.internal   <none>           <none>
kube-system   coredns-6db8fb7684-9n8ls                        1/1     Running   0          60m   2406:da1e:312:c503:3b1c::1               ip-10-0-10-127.ap-east-1.compute.internal   <none>           <none>
kube-system   kube-proxy-8vh2p                                1/1     Running   0          57m   2406:da1e:312:c503:a891:20c1:db02:6736   ip-10-0-10-127.ap-east-1.compute.internal   <none>           <none>


Definition of EasyScoreMessage

@jaredjj3 I have included the concept in vexml.ts with minor modifications.
Can you elaborate on EasyScoreMessage? What structure do you foresee?

Thanks for your patience. I started a new branch jj, where I've defined the types I think are needed for the POC.
I'm still working on wiring it together, but I'll merge it into main when done.

I got it to roughly work, but I mocked a lot of complex processes with JavaScript symbols:

The entrypoint is https://github.com/jaredjj3/vexml/blob/f6cdfff19a326012c5b05c0a6c136106b4d4ee1b/lib/vexml/vexml.ts#L4
My main thought is that the current EasyScore API is designed for static declaration. I found it extremely awkward that I couldn't add notes to a voice one at a time - I had to know all of the notes to declare a stave. Another thought is the MusicXMLCursor will be the most challenging piece to implement. In MusicXML, you sometimes have to "jump" around the document to get the full context of a notation. For example, if you encounter a beamed note, you'll have to figure out the other notes before rendering it. As implemented, a naive cursor puts the complexity burden on the caller to keep track of notations waiting on full context.
What are your thoughts?

Let us go for the beam. I suggest that you define the easyScoreMessages and I tie it to VexFlow using API or introducing new features in EasyScore.

Let us go for the beam. I suggest that you define the easyScoreMessages and I tie it to VexFlow using API or introducing new features in EasyScore.

My reservation is that parts of EasyScore seem to need the full context in order to declare a notation. For example, a clef and time signature are attributes of a stave, but in order to declare a stave, you need to know all the voices. In order to declare a voice, you need to know all the notes in the voice. If I'm a human dev statically writing it, it's fine. However, if I'm trying to write a program to feed into it, it's very complex because the caller is tasked with maintaining all the context to declare EasyScore notations.
Do you know if EasyScore can have an optional more granular API?
instead of onlyt this API
system
  .addStave({
    voices: [
      score.voice(score.notes('C#5/q, B4, A4, G#4', { stem: 'up' })),
      score.voice(score.notes('C#4/h, C#4', { stem: 'down' })),
    ],
  })
  .addClef('treble')
  .addTimeSignature('4/4');

I would want the option of this API
const stave = system.addStave();
stave.addClef('treble').addTimeSignature('4/4')
stave.addVoice().addNote('C#5/q').addNote('B4/q').addNote('A4/q').addNote('G#4/q').setNoteOptions({ stem: 'up' });
stave.addVoice().setNoteOptions({ stem: 'down' }).addNote('C#4/h').addNote('C#4/h');

And wouldn't it make sense to have accidentals as a separated message?

Based on the  element schema, alter is a separate element, so that sounds reasonable.
The power of having a MusicXMLCursor, is that we could change it to return logical musical groupings instead of the structures imposed by the MusicXML spec. However, that pushes a lot of complexity on the MusicXMLCursor class, which I don't think makes sense right now.

Beams are there and I made some minor changes to align more with your approach above adding the notes one at a time. @jaredjj3 what is the next step that you would suggest?

Thanks for the commits! The beamStart and beamEnd messages make sense, and it handles the case where beams span multiple measures. Besides the ESM module issue, I think this would work.
I think we need to stop and evaluate whether or not to pursue this endeavor. There are a number of highly complex processes:

Parsing (and implicitly validating) MusicXML. In vexml, we're using MusicXMLParser to accomplish this. Right now, the return value is mocked, but we can easily leverage @stringsync/musicxml to do this for us. The tradeoff is a bigger bundle, and therefore not really feasible to integrate directly into vexflow. I think this means vexml should live separately from vexflow if we decide to continue development on it.

Traversing a MusicXML structure. In vexml, we're using MusicXMLCursor to accomplish this. The return values are mocked into terms that we would understand, but I don't think that's necessarily the best logical grouping. For example: instead of mocking a <measure>, we could've made it iterate over each <note> or <measure> + <note>, but each of these logical groupings change the complexity on the caller. This seems like a very difficult problem, and the edge cases seem countless. I'm very wary about this approach.

Translating a MusicXML node from the cursor to an EasyScoreMessage. In vexml, we're using EasyScoreMessageProducer.getMessages. As stated in the previous point, the design of the MusicXMLCursor will affect the complexity of this. I question if we even need this structure, since we could just call different EasyScore "commands" from the MusicXML itself. The idea of having a raw JSON structure was to decouple the structure of MusicXML from EasyScore. You could send these messages over sockets and have multiple remote editors change the same EasyScore instance. In the end, it just feels like we're reimplementing the MusicXML spec in a more convenient format. I suppose it could also support other music score specs, but I don't think we must support that.

Translating EasyScoreMessage into EasyScore calls. Even though we control the EasyScoreMessage structures, it still feels like we're shoehorning it to work with EasyScore. There is a clear disconnect between EasyScore and MusicXML, and I think this discrepancy is ultimately causing a lot of complexity, even with the EasyScoreMessage abstraction. This POC has made it more apparent to me that EasyScore is really for static declaration.

All in all, I think these complexities would take O(years) to fully unravel with 2 engineers working on it part-time. The EasyScoreMessage abstraction does offer the ability to scale up the number of engineers working on it (some can work on MusicXMLCursor -> EasyScoreMessage while some work on EasyScoreMessage -> EasyScore actions), but it's marginal at least.
For all of these reasons, I don't think we should continue evolving this POC. However, I'm open to your thoughts. What do you think?

Let us continue for a while :)


Unknown timezone now causes api failure during cron scheduling

Pull Request Test Coverage Report for Build 5043

0 of 9 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 40.487%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

azkaban-web-server/src/main/java/azkaban/webapp/servlet/ScheduleServlet.java
0
9
0.0%

Files with Coverage Reduction
New Missed Lines
%

azkaban-web-server/src/main/java/azkaban/flowtrigger/FlowTriggerService.java
1
60.08%

Totals

Change from base Build 5034:
-0.01%

Covered Lines:
12925

Relevant Lines:
31924

💛  - Coveralls

The function this PR changes (ajaxScheduleCronFlow) does not seem to be covered by any existing test case. I've extracted the logic itself into a separate function, which is tested.

Thanks for approving. How can I get this merged?


Error index.php "Sorry, there was an error uploading your file."

Hi,
PHP, I am not able to see the result in index.php , this is what i am done before submit:

I just download the "PHP Demo Web App" and put the folder to the server.
Change the folder name from "PHP Demo Web App"  to "demo".
Change apikey from "helloworld" to my valid apiKey at line 39, File Processing.php.
Open index.php in my browser.
Choose file and then click on upload button.

but show:
Error "Sorry, there was an error uploading your file."
Any help Please.
Thank you.

File Processing.php :

Hi, have you solved? I have the same problem. Thanks

Ok, i understund, you must create in the root the iploads/directory, bye.


querydsl - plans for support

Just a question about the support of querydsl. It seems that the project is not maintained anymore. The last commit was about six months ago if I have a look at the moment I'm writing this question.
So what plans does blaze-persistence have? Are you going to drop the integration of querydsl?
It is a shame that such a great project like querydsl gets no maintenance anymore. The criteria-API of blaze looks nice but I have to admit that querydsl is much nicer in my opinion. There is someone who is trying to maintain the project but I'm not quite sure if this attempt will succeed.
I just see four ways to go:

You drop the integration without any replacement (that would be awful)
You switch to the maintained fork and hope the new maintainer make it (which is a great risk)
You help the new maintainer and maybe even take over the querydsl repository (best case?).
You drop the integration but create your own implementation of something like querydsl for replacement.

I think we have to talk about it because the future of querydsl doesn't look great and it is worth it to save it. Furthermore, we don't want to write software using an unmaintained dependency which you may drop in the future.
Thank you very much

I maintain both Querydsl and its integration, focusing exclusively on supporting querydsl-jpa. At this time, I am unable to extend support to other modules. For instance, querydsl-sql has become less relevant given the widespread adoption of jOOQ, and the remaining modules have historically seen limited usage. The current versions of Querydsl and its integration are fully compatible with the latest Hibernate 6 and Java LTS releases.
Querydsl is designed as a relatively thin abstraction layer over existing query languages. Its primary purpose is to faithfully represent query language features and expressions. Once this is achieved, the library can be considered functionally complete.
There are differing philosophies regarding the library’s development. While some advocate for frequent updates to maintain relevance, I prefer a more measured approach to ensure stability and reliability. I’ve observed that the Querydsl fork integrates most pull requests without extensive review or design discussions, which doesn’t align with my principles for maintaining high-quality software. As my contributions are made on a voluntary basis, I prioritize stability to avoid introducing breaking changes.
As a user, you have two options: the stable, official branch that receives updates as needed, and a fork that is updated more frequently. The choice depends on your needs, though personally, I have not found the additional features in the fork essential. For more extensive support, both Blaze-Persistence and Querydsl offer paid options including bug fixes and sponsored features.
Looking ahead, Blaze-Persistence is planning to introduce a static metamodel/DSL and continues to actively contribute enhancements to Hibernate, such as support for CTEs, window functions, and an extended Criteria Builder API. These advancements are making Hibernate increasingly powerful. While Querydsl remains effective and reliable, it may become less essential over time as these alternative solutions evolve.

So what plans does blaze-persistence have? Are you going to drop the integration of querydsl?

As long as QueryDSL stays compatible with the latest Hibernate ORM versions and @jwgmeligmeyling keeps maintaining it as well as the integration, we will keep supporting it.
I proposed extensions to the JPA Criteria API (for JPA 4) that might possibly make QueryDSL obsolete, but it's up to users and maintainers of QueryDSL to decide if it makes sense to continue development/maintenance after that is released.


improve germline filtering: handle multiple ALTs better

I was just thinking—right now, the germline filter will only match two records if the CHROM, POS, REF, and ALT are all the same. But, since VCFs will encode all mutations that happen at a particular POS as multiple ALTs, we could instead just check if one (not all) of the ALTs match, and then remove that ALT specifically.

Implemented by 63bdeeb0a0f208a664648cd6857e43ceeaa83653.


Submission with 40,000 associations - testing import

Created a submission in dev Depocuration for this publication with 2,941 studies and 40,000 associations:
https://wwwdev.ebi.ac.uk/gwas/depo-curation/submissions/666833cd51d43d0001d7e113
(note: I had trouble adding traits (bulk upload template was not recognising GCST and study tag) so I'm testing import with only one trait / EFO added (GCST90272953))
Attempted import in Snoopy Curation App: http://gwas-snoopy.ebi.ac.uk:9780/gwas/curation/submissions/666833cd51d43d0001d7e113?
Clicked import around 1.50pm on 11.06.24. Status still showing as import_in_progress at 11.45am on 12.06.24.
@sajo-ebi Could you please check the logs and see if it is stuck?

Ignore this ticket. Import finished after 10.5 hours successfully. (May take longer when I add in traits and EFOs.)


Compiling random operation in pytorch to random in relay

First, I generated a network with torch.rand using following code
import torch
from torch import nn

class Net(nn.Module):
    def __init__(self, input_shape=(-1, 3, 224, 224)):
        super().__init__()
        self.given_shape = input_shape[1:]

    def forward(self, x):
        return x + torch.rand(size=self.given_shape, device=x.device)

net = Net()

traced_net = torch.jit.trace(net, torch.rand(1, 3, 224, 224))
traced_net.save("random-trace.pt")

I want to compile this net down to Relay IR.
My initial stab at this looks like this:
import tvm
from tvm import relay

import torch
loaded_model = torch.jit.load("random-trace.pt")
relay_model = relay.frontend.from_pytorch(script_module=loaded_model,
    input_infos=[("input0", (1, 3, 224, 224))])

This gave me:

NotImplementedError: The following operators are not implemented: ['aten::rand']

My next try used custom_convert_map
import tvm
from tvm import relay

import torch

loaded_model = torch.jit.load("random-trace.pt")
relay_model = relay.frontend.from_pytorch(script_module=loaded_model,
    input_infos=[("input0", (1, 3, 224, 224))],
    custom_convert_map={
        "aten::rand": relay.op.random.uniform(key=relay.op.random.threefry_key(0), shape=(3, 224, 224))
    }
)

However, this gave me:

Check failed: (!checked_type.defined()) is false: Expected Array[RelayExpr], but got Array[index 0: Array]

Most recent try was:
import tvm
from tvm import relay

import torch

loaded_model = torch.jit.load("random-trace.pt")
def _rand():
    def _impl(inputs, input_types):
        key = relay.op.random.threefry_key(0)
        return relay.op.random.uniform(key=key, shape=(3, 224, 224))
    return _impl

relay_model = relay.frontend.from_pytorch(script_module=loaded_model,
    input_infos=[("input0", (1, 3, 224, 224))],
    custom_convert_map={
        "aten::rand": _rand()
    }
)

However, this gave me:

AttributeError: <class 'tvm.ir.type.TupleType'> has no attribute dtype

I think I am doing completely wrong here so I am wondering if I can get some help with this.
My question in one line would be "how can I compile networks with torch.rand or torch.randn?"

Since the call torch.rand(size=self.given_shape, device=x.device) doesn't depend on the input, it should be pre-computed in the constructor. That way there is no need to convert torch rand to relay rand.


Puppet provider 'tdagent' issue

Hi,
For some reason I am unable to make this module work on the first puppet run, it always fails with this error:
Failed to apply catalog: Parameter provider failed on Package[fluent-plugin-secure-forward]: Invalid package provider 'tdagent' at /etc/puppet/environments/development/modules/fluentd/manifests/plugin.pp:18
It eventually works on the second run...
My config is as follow (repo-gpg added manually until puppet forge is updated):
   class {'::fluentd':     repo_gpgkeyid => $fluentd_repo_gpgkeyid,     plugins       => {       'fluent-plugin-secure-forward' => {}     }   }
I tried using 'include' and then 'fluentd::plugin' with the same outcome.
Any tips, or ideas to what could cause this?

Turns out it was a puppet server misconfiguration. I'm running into a new problem (apt-update is scheduled, then it tries to pull the package but it fails because the source is not configured, and then apt-update is called).
I'll play around and see how I can turn the tides on that one. Is it a known issue?

I fixed it on my end in manifests/install.pp:
  package { $fluentd::package_name:     ensure => $fluentd::package_ensure,     require => Class['Apt::Update']   } ->
Let me know if there was a cleaner way to do this ;)

Thanks for bringing up this issue, I'll look into it.

@jonapich
Could you please check if bugfix/apt-update branch resolves the issue?


[Enhancement]: refactor categorizing with Collectors.groupingBy

What is the purpose of the change
Refactor RegistryDirectory to reduce loop times.
classifyUrls(categoryUrls, UrlUtils::isProvider) will loop over the urls, and calling it multiple times will loop over it multiple times, while Collectors.groupingBy will only loop over it once
Brief changelog
org.apache.dubbo.registry.integration.RegistryDirectory
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #3490 into master will increase coverage by 0.03%.
The diff coverage is 81.25%.

@@             Coverage Diff              @@
##             master    #3490      +/-   ##
============================================
+ Coverage      64.1%   64.13%   +0.03%
  Complexity       71       71
============================================
  Files           664      664
  Lines         28605    28614       +9
  Branches       4769     4771       +2
============================================
+ Hits          18338    18353      +15
+ Misses         8060     8049      -11
- Partials       2207     2212       +5

Impacted Files
Coverage Δ
Complexity Δ

.../dubbo/registry/integration/RegistryDirectory.java
80.12% <81.25%> (+0.57%)
0 <0> (ø)
:arrow_down:

.../apache/dubbo/remoting/transport/AbstractPeer.java
58.69% <0%> (-8.7%)
0% <0%> (ø)

...apache/dubbo/common/config/ConfigurationUtils.java
40% <0%> (-8%)
0% <0%> (ø)

...ava/org/apache/dubbo/config/DubboShutdownHook.java
75% <0%> (-6.25%)
0% <0%> (ø)

...n/java/org/apache/dubbo/common/utils/UrlUtils.java
77.81% <0%> (-1.03%)
0% <0%> (ø)

...dubbo/remoting/exchange/support/DefaultFuture.java
72.97% <0%> (-0.68%)
0% <0%> (ø)

...pache/dubbo/registry/support/AbstractRegistry.java
81.1% <0%> (-0.4%)
0% <0%> (ø)

.../java/org/apache/dubbo/config/ReferenceConfig.java
57.89% <0%> (+0.37%)
0% <0%> (ø)
:arrow_down:

...apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java
66.66% <0%> (+1.13%)
0% <0%> (ø)
:arrow_down:

... and 4 more

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 d33784d...62e6401. Read the comment docs.

Other than the given comment it looks fine to me, but will wait for your confirmation or next action.


Specify caffeinate mode on activation

Hi there,
From reading the caffeinate man page, I noticed an interesting feature that would be extremely handy to add. Caffeinate can take an option which specifies the type of sleep to prevent. It could be useful to allow (not mandate) that activating sleep prevention could allow the screen saver while still preventing the system from completely sleeping, for example (option -s to caffeinate).

I would like to see this too. The newer iMacs, for example, no longer have separate system sleep and display sleep timers. It would be nice to have a toggle between letting everything go to sleep and only letting the display go to sleep. That way during the workday my VPNs, IM clients, etc. stay connected, but at night if I wake my machine up with BackToMyMac, it automatically goes back to sleep after.

@newmarcel i started using your app just recently -- thanks for it!
It's handy because clicking an icon is easier than keeping a terminal open around.
However, having control what parameters caffeinate is started with would be great. For example, I want to run it in its default mode (-i), whereas KeepingYouAwake runs it with -id, preventing screen lock from kicking in.


Unresolved identifier objc_synchronized

Hi James,
After adding your pod to my project, I get the following build error:
.../Pods/Synchronized/Synchronized/Synchronized.swift:25:5: error: use of unresolved identifier 'objc_synchronized'
    objc_synchronized(object) {
    ^
.../Pods/Synchronized/Synchronized/Synchronized.swift:32:5: error: use of unresolved identifier 'objc_synchronized'
    objc_synchronized(object, closure)
    ^

Do you know what could be wrong?
Thanks,
Anton

You might need to upgrade your CocoaPods to 0.36-pre: http://blog.cocoapods.org/Pod-Authors-Guide-to-CocoaPods-Frameworks/. Older versions do not support Swift. Also using a Swift pod means you have to target iOS 8.0+, just a warning.

I see, thanks! I'll try it when it's released :)


Constrain which templates/zones a block can go into

Blocks might have to be restructured a bit to get rid of having to repeat metadata. A block could perhaps just be a function with some attributes, which calls the actual block constructor. For example:
'use strict';

var meta = {
    name: 'Gallery',
    description: 'Header gallery to showcase content',
    template: /.*/,
    zones: /^header$/
};

var Gallery = function(){};

var block = function(){
    return new Gallery();
};

block.meta = meta;
module.exports = block;

The above example would create a block that can be dropped on any template, but only in a zone that is called header. It is probably most convenient if template and zones are regular expressions so you can do partial matches, or match multiple specific templates.
Or, there could be a constrain property which takes the form of <template>.<zone> or so. Should experiment to see what is more convenient.

Part of this feature should already be in v1, namely the restructuring of the blocks (so that it's a function that creates the actual block) otherwise backwards compatibility will already be instantly broken.

Step 1 of this has been implemented for v1 in 89c44cbfbaf72d84b9f95440f91492c9c60ad674.


[BUG] Matmul gives wrong output for large sizes

Decrease 131072 by 131071 produces the right output, but above that the outputs don't match as they should.

import mlx.core as mx

w = mx.random.uniform(shape=(32, 32 * 4))

x = mx.random.uniform(shape=(131072, 128, 32))

y1 = x[:10] @ w
y2 = x @ w

print((y1 - y2[:10]).max().abs())

@jagrit06 this seems that we are overflowing an integer index into the output as it starts to break in the 2B range. INT_MAX is on the small side for the largest output we can support though.
Anything we can do to support larger sizes?
If not, we should put some throws in the ops as these are sneaky to debug.

This particular case is simple since what happens is when we try to compute auto batch_size_out = out.size() / (M *N);, the int M and N multiple to overflow and then the batch_size_out comes out to 0
The simple fix here is do that in size_t and I can make a couple other changes to make sure we can handle the large shapes
The only things I'm wondering about is if batch_size_out >= UINT32_MAX, then we will need to launch multiple matmul kernels since the grid dims can only be uint

I tacked on a quick fix with #1058

The only things I'm wondering about is if batch_size_out >= UINT32_MAX, then we will need to launch multiple matmul kernels since the grid dims can only be uint

That seems like a much more rare case.

thanks guys really cool work and fast fix!


[FEAT] Allow profile_columns with no parameters

Is your proposal related to a problem?

Currently we need to manually declare the columns to profile in profile_columns. While this functionality is fine, it feels like there should be a default to plot all columns, such as with the missingness_chart.
Describe the solution you'd like

linker.profile_columns() produces a chart profiling all columns in a dataset
Describe alternatives you've considered

Additional context

This upcoming method should be a useful function to use to implement this:
https://github.com/moj-analytical-services/splink/blob/42ec64030436afbcfb0c804de75394d844436d80/splink/linker.py#L255

Fixed by #1516


489 marker with more than uint64 causes panic

Description
Added a new max_coin_supply parameter as type Int to prevent exception when coin supply exceeds 2^64.
closes: #489

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Closing for a simpler solution


Persistent subscription didn't catch the event with empty data.

If I created event with:
NewEvent(type=MyEvent, data=b"") and append it to stream then this event is not coming to Persistent subscription.

What steam name are you using in your persistent subscription?
It might be that you are subscribed to a system projection. Only events that have JSON docs as their data are included in system projections, I think 🤔


Release of API version 1.0.0-rc.1

What type of PR is this?
Add one of the following kinds:

documentation
subproject management

What this PR does / why we need it:
Generation of first release-candidate for OTPValidationAPI
This first release candidate r1.1 contains the definition and documentation of the release-candidate of the OTPValidation API v1.0.0-rc.1.
Which issue(s) this PR fixes:

Fixes
Special notes for reviewers:
Changelog input
 release-note

Additional documentation
This section can be blank.
docs

@bigludo7 The CHANGELOG.md should be updated as part of the release PR. I suppose you plan to do first the pre-release with the release candidate of v1.0.0. The release title would be r1.1, the API Version 1.0.0-rc.1. The PR should also change the version and base path within the YAML accordingly and add the API Readiness Checklist. For the CHANGELOG entry there is a template available within CHANGELOG_TEMPLATE.md.
Contentwise: I wouldn't call the stable release a "patch release". It will be just the first stable release. The reference to the changes within v0.5.0 does not help, as there were nothing documented ;-(
I created a "draft release" with GitHub to see the relevant changes since v0.5.0, I suppose the following PRs should be mentioned, but reformulated and sorted into the categories:

Make '+' mandatory for phoneNumber by @bigludo7 in https://github.com/camaraproject/OTPvalidationAPI/pull/50
Fixed one-time-password-sms.yaml after megalinter check by @bigludo7 in https://github.com/camaraproject/OTPvalidationAPI/pull/53
Update Authorization and authentication part accordingly to ICM by @bigludo7 in https://github.com/camaraproject/OTPvalidationAPI/pull/65
Align securitySchemes with ICM by @fernandopradocabrillo in https://github.com/camaraproject/OTPvalidationAPI/pull/68

(plus the ones which are still open)
New Contributors

@fernandopradocabrillo made their first contribution in https://github.com/camaraproject/OTPvalidationAPI/pull/37
@rartych made their first contribution in https://github.com/camaraproject/OTPvalidationAPI/pull/60

Full Changelog: https://github.com/camaraproject/OTPvalidationAPI/compare/v0.5.0...r1.1

I'm on vacation the next days, but the Release Management team (e.g. Tanja) can help if needed.

Thanks @hdamker
This is very helpful. I have rename the issue in order to tackle here the release candidate. Once PR #73 solve i will in this PR add the -rc yaml. I will also work here for the readme file.
Hope I'm on the right way

@bigludo7 See my comments above. Nothing serious, hence I started with single comments.

Thank @hdamker - All inserted.

I did another review considering a) the proposed renaming of the repository in #75 b) that the actual API is one-time-password-sms, not "OTP Validation API"
I did not proposed all changes within the generated links ... they will continue to work after the renaming.

Thanks a lot @hdamker for the help !

@bigludo7 I approved the changes as they are working as expected (GitHub does not care about upper/lower case in the repository name). But the repository name is now "OTPValidation", not "OTPvalidation" ...

Please add @camaraproject/release-management_maintainers if ready for final review.

@fernandopradocabrillo the PR can be merged and the release created. Let me know if you need support here.

@fernandopradocabrillo there seem to be no additional comments. Can you please merge the PR and create the release?

@fernandopradocabrillo there seem to be no additional comments. Can you please merge the PR and create the release?

Sure! Sorry I didn't see the notification


Use ThreadLocalRandom to build random numbers

Fixes #ISSUSE_ID.
no
Changes proposed in this pull request:
-Use ThreadLocalRandom to build random numbers，
In this way, the efficiency will increase exponentially.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Pull Request Test Coverage Report for Build 8945

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 62.67%

Totals

Change from base Build 8944:
0.0%

Covered Lines:
8641

Relevant Lines:
13788

💛  - Coveralls

其中一个管理员可以验证此补丁吗？

Can one of the admins verify this patch?

true

Can one of the admins verify this patch?

of course

Thank you