MetadataFile.java:45-46: Add a unit test for this class,...

The puzzle 69-b66a2919 from #69 has to be resolved:
https://github.com/artipie/rpm-adapter/blob/493153a41dfc9dcae2bb43d8af290adf7d7acf47/src/main/java/com/artipie/rpm/pkg/MetadataFile.java#L45-L46
The puzzle was created by @g4s8 on 08-Apr-20.
Estimate: 30 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@g4s8/z please, pay attention to this issue

The job #78 assigned to @ammaratef45/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@g4s8 in order to try the accept method I need to path a Mata object, the only implementation I found is the private class Header from FilePackage.java
What's the correct way to inject some test Meta objects?

@ammaratef45 I'd create some custom Hamcrest matcher to verify Meta headers, e.g.:
class MetaHasHeader extends TypeSafeMatcher<Meta>, PackageOutput {
  private final Header.HeaderTag tag;
  private final Matcher<String> matcher;

  public boolean matchesSafely(Meta meta) {
    return this.matcher.matches(meta.header(tag));
  }

  public void accept(Meta meta) {
    MatcherAssert.assertThat(meta, this);
  }
}

and use it in tests like:
@Test
void someTest() {
  new FilePackage(rpm).accept(new MetaHasHeader(Header.HeaderTag, "value"));
}

maybe you can find some better solution, like split output and matcher or create output matcher.

@g4s8 I've tried to figure it out but, apparently, I couldn't make it good enough. I'll learn from the solution then.

@0crat refuse

@0crat refuse (here)

@ammaratef45 The user @ammaratef45/z resigned from #78, please stop working. Reason for job resignation: Order was cancelled

The job #78 assigned to @victornoel/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@0crat wait for #100 to be merged

The puzzle 69-b66a2919 has disappeared from the source code, that's why I closed this issue.

@0pdd the puzzle #106 is still not solved.

@0crat status

@0crat status (here)

@victornoel This is what I know about this job in CT2E6TK9B, as in §32:

The job #78 is in scope for 5days
The role is DEV
The job is assigned to @victornoel/z for 2days
There is a monetary reward attached
@victornoel/z will get 50% of their hourly rate for this job
The job has an impediment
The budget is 30 minutes/points
These users are banned and won't be assigned:

@0pdd/z: This user reported the ticket
@ammaratef45/z: User was resigned from the ticket

Job footprint (restricted area)

@g4s8 0crat didn't noticed the issue was closed, what should be done to trigger it?

@g4s8 please can you look at that and notify 0crat to go on with the process?

@0crat out

@sereshqua/z please review this job completed by @victornoel/z, as in §30; the job will be fully closed and all payments will be made when the quality review is completed

@0crat quality good

@0pdd the puzzle #206 is still not solved; solved: #106.

@0pdd all 2 puzzles are solved here: #106, #206.


openxr: Manually handle xrEnumerateSwapchainImages

Because of the way the xrEnumerateSwapchainImages uses the XrSwapchainImagesBaseHeader struct in a direct array, we can't dynamically allocate the array elements, but we have to allocate it all up front and then read the correct data.  Because of this, make a "Peak" function which looks ahead and determines the appropriate structure type and then perform the allocate and read of the correct structures.

CI gfxreconstruct build queued with queue ID 189347.

From a suggestion by @bradgrantham-lunarg, I looked at VkAccelerationStructureGeometryKHR and our issue is a little more complex than that one.    So when you do an allocate for the array:
wrapper->pGeometries =
   DecodeAllocator::Allocate<StructPointerDecoder<Decoded_VkAccelerationStructureGeometryKHR>>();

It works because the size will work for any of the children.  However, this does not work for the BaseHeader because the base structure is actually the minimum size of any of the child structures.  So we can't just call Allocate on it.
We might be able to do a union, but then the type wouldn't match up and it would have to be patched everywhere (i.e. XrSwapchainImageBaseHeader would have to be replaced with OurInternalSwapchainUnion everywhere the former was used in the encode or decode path).  That would work, but I'm not sure it's any cleaner than what I've done in  this PR.

Actually, after more thought, the custom union idea won't work because the array is tightly packed.  So if the user passed in an array of child A (smaller type) and we tried to force a union (aligned with a bigger type) things would just fail.  So we can't use the union in this case.

CI gfxreconstruct build # 4225 running.

CI gfxreconstruct build # 4225 passed.


Graph skips

Describe the bug
When opening an application's graph, the visualization is re-drawn differently every couple of seconds.
Environment

Weave-Gitops Version: 0.15.0

To Reproduce

Go to any application
Open the "Graph" tab
Wait for a couple of seconds

Expected behavior
The graph doesn't change.
Actual Behavior
The graph is re-drawn differently, making it hard to follow a certain path.
Additional Context (screenshots, logs, etc)
https://user-images.githubusercontent.com/387444/214308989-77e12e87-772d-45c9-8eff-ad1e99580af8.mp4

To add another data point I reproduced this issue with older version of Weave GitOps and saw it happening back until 0.10.1 but not in 0.10.0. Something that has been changed in 0.10.1 causes this.

Root cause is that sometimes the server returns more objects on one request than another. I have added sorting logic on a branch, which works nicely for simple hierarchies, but on complex graphs (flux-system Kustomization, for example), the server returns 80 objects on one request, and 96 on another, etc.
Sorting cannot account for more objects being added to the graph.

Some thoughts on how to fix:

Turn off polling (:cry:). Turn off polling on complex graphs? (also :cry: ).
Append-only after initial render? Might need some mutative data structures or something a bit fancier than normal to pull this off. Or maybe just concat-ing an array is enough.

What is "the server" in this case?
And if it's an "external" problem, how come it worked "properly" in earlier releases?

Root cause is that sometimes the server returns more objects on one request than another. I have added sorting logic on a branch, which works nicely for simple hierarchies, but on complex graphs (flux-system Kustomization, for example), the server returns 80 objects on one request, and 96 on another, etc.
Sorting cannot account for more objects being added to the graph.

Shouldn't we rather fix the issue that the server seems to return inconsistent results?

What is "the server" in this case?

The server is part of Weave GitOps. It's responsible for querying objects from the underlying Kubernetes cluster, authenticating requests etc.

And if it's an "external" problem, how come it worked "properly" in earlier releases?

Apparently changes to the server-side component led to the change in behaviour as I laid out in my first comment.

Shouldn't we rather fix the issue that the server seems to return inconsistent results?

If that is fixable, yes.

More info: removing the go keyword from this func (making it synchronous) results in consistent objects getting returned:
https://github.com/weaveworks/weave-gitops/blob/7d1d4389824634ebdaa7a95c96f448fe497a7360/core/server/fluxruntime.go#L247
So probably a race condition there. Still working on it.


Add support for blockconfig tutorial sections

blockconfig sections give tutorials the ability to reconfigure blocks in the toolbox, giving them different default parameters. Example:
When player overlaps food
```blockconfig
sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSprite) {
})
```

Resulting block in toolbox

Multiple blocks can be configured in one blockconfig
```blockconfig
randint(-10, 10)
let mySprite: Sprite = null
mySprite = sprites.create(img``, SpriteKind.Enemy)
mySprite.setPosition(randint(0, scene.screenWidth()), randint(0, scene.screenHeight()))
```

Handler blocks can contain code snippets
```blockconfig
sprites.onOverlap(SpriteKind.Player, SpriteKind.Food, function (sprite, otherSprite) {
    info.changeScoreBy(1)
})
```

limitations

blockconfigs do not support custom assets yet. Passing a custom sprite to sprite.create will not work currently, for example. This is due to the way assets are created and tracked internally. We're thinking about how this could be implemented and hope to support it in the future.
blockconfigs are per-step. They cannot be set globally. Though, if this is a desired feature, it would be straight forward to add.

Tagging @kiki-lee for visibility

@mmoskal, @pelikhan, I made some minor compiler changes. Can you review?


create video block

Like in this page
https://blog.adobe.com/en/publish/2023/05/15/how-nado-spend-time-on-the-things-that-matter

will need to make sure that videos are not publicly available, as we know, all assets can be accessed without autentication

Adding Embed block, which is a block that plays a video link... if it is internal or not


PLW3201 "_" is not a bad dunder name

_ is not a bad dunder name.  _ is often used functions whose names are not relevant.  Please consider excluding _ from PLW3201's rules.:
    prediction_energy = custom_jvp_method(  # type: ignore[assignment] # pyright: ignore
        prediction_energy, nondiff_argnums=(0, 2, 3))

    @prediction_energy.defjvp  # type: ignore[no-redef, attr-defined, misc]
    def _(self,
          observation: FisherMessage,
          weights: Weights,
          primals: tuple[RivalMessage],
          tangents: tuple[RivalMessage]
          ) -> tuple[JaxRealArray, JaxRealArray]:
        natural_explanation, = primals

Seems reasonable, it's almost certainly intentional.

@NeilGirdhar perhaps you're looking for https://github.com/astral-sh/ruff/issues/7993?


Number decoding too strict for use with WKWebView

First: Thank you for this library.
However, is it possible to decode a NSNumber that is internally stored as float into an Int64? NSNumber.int64Value works fine, but your library explicitly checks the type and prevents conversion, which is not desired in my use-case.
My use case is that I want to use it to call Swift code in a WKWebView using a  WKScriptMessageHandler.
In essence in JavaScript I call
window.webkit.messageHandlers.MyFineHandler.postMessage({val:1000});

WKWebView calls a WKScriptMessageHandler with an NSDictionary, but val is sometimes stored as a float and not as an integer causing the conversion to fail. In JavaScript I don't think I have control over whether the number is a float or an integer.
Minimum reproducer:
struct TestStruct: Codable {
    let val: Int64
}
let dict: NSDictionary = ["val": 6.0 as NSNumber]
let res = try KeyValueDecoder().decode(TestStruct.self, from: dict)

Is this possible to do with your library?
It works for my use-case if I change line 152 of KeyValueDecoder.swift from
-} else if let int64 = (value as? NSNumber)?.getInt64Value() {
+} else if let int64 = (value as? NSNumber)?.int64Value {

It was actually fairly straight forward so I have implemented this on main https://github.com/swhitty/KeyValueCoder/pull/8.
README.md has been updated to include a new section on Int Decoding Strategy

Values with a fractional part can also be decoded to integers by rounding with any FloatingPointRoundingRule:
let decoder = KeyValueDecoder()
decoder.intDecodingStrategy = .rounded(rule: .toNearestOrAwayFromZero)

// [10, -21, 50]
let values = try decoder.decode([Int].self, from: [10.1, -20.9, 50.00001]),

Please try it out and let me know how it works 🙏🏼.

Thank you so much, it works perfectly.

A separate question: Can I keep a Decoder around in a class? Do I have to make sure .decode() is not concurrently called?

FYI I have added a clamping strategy https://github.com/swhitty/KeyValueCoder/pull/9 and also renamed IntDecodingStrategy.rounded to IntDecodingStrategy.rounding

A separate question: Can I keep a Decoder around in a class? Do I have to make sure .decode() is not concurrently called?

KeyValueDecoder / KeyValueEncoder are for the most part threadsafe, .encode() / .decode() and place state on the call stack so concurrent calls will not interfere each other.
The types are not marked Sendable but hopefully can be marked as such in Swift 6. I believe current edge case is  related to Any where it rely's on the caller not passing any non sendable type.

func decode<T: Decodable>(_ type: T.Type = T.self, from value: Any)
var userInfo: [CodingUserInfoKey: Any]

The clamping strategy is a very very good idea, I will use that. Thank you so much, I think we can consider this issue closed.

Excellent. The new release 0.5.0 includes this


Can't use the otel collector chart as a subchart

What happened?
Description
When using this chart as a subchart, I can't generate manifests using helm template (I use ArgoCD which uses helm template behind the scene).
I noticed this behavior since the introduction of cert-manager and opentelemetry-operator as dependencies in version 0.75.0 of this chart. So for now, I stick to the 0.72.0 version of this chart.
Steps to Reproduce

In an empty dir, create the following Chart.yaml file

apiVersion: v2
name: test-subchart
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "1.16.0"

dependencies:
- name: splunk-otel-collector
  repository: https://signalfx.github.io/splunk-otel-collector-chart
  version: 0.82.0

Create the following values.yaml file. It only contains the minimal required values to comply with the values.schema.json file

splunk-otel-collector:
  clusterName: mycluster
  splunkObservability:
    realm: eu0
    accessToken: dummy

Run helm dependency update
Run helm template .

Expected Result
Templates should be generated correctly.
Actual Result
Helm complains that there's a schema violation :
Error: values don't meet the specifications of the schema(s) in the following chart(s):
splunk-otel-collector:
- (root): Additional property opentelemetry-operator is not allowed
- (root): Additional property cert-manager is not allowed

The weird thing is that I never use the opentelemetry-operator and cert-manager in my values.yaml file. I see that you declared these dependencies using aliases, and it's as if the template parsing logic is completely ignoring those aliases is some way.
It should be noted that running helm template . vs helm template -f values.yaml . leads to different results. Explicitly setting the -f values.yaml option does generate the manifests (as ArgoCD is controlling the way it calls the helm cmd, it can't be easily overridden)
Finally, I tested my assumptions regarding the use of aliases. I patched the otel collector chart and disabled the use of aliases for opentelemtry-operator and cert-manager (added the correct properties in the schema, etc...). In this case, manifests generation is working fine with or without the -f values.yaml option. Therefore, there may be some quirks involved in the way aliases are processed.
Chart version
v0.82.0
Environment information
Environment
Cloud: VMWare
k8s version: 1.26
OS: Ubuntu 20.04
Helm version: 3.11.3
Chart configuration
splunk-otel-collector:
  clusterName: mycluster
  splunkObservability:
    realm: eu0
    accessToken: dummy

Log output
Error: values don't meet the specifications of the schema(s) in the following chart(s):
splunk-otel-collector:
- (root): Additional property opentelemetry-operator is not allowed
- (root): Additional property cert-manager is not allowed

Additional context
An issue has also been filed on helm side but not much progress so far https://github.com/helm/helm/issues/12100

At this time, using the splunk-otel-collector-chart as a subchart is not supported. From the provided evidence, the fix should happen upstream in Helm repository code or be a feature request in this chart. Closing this ticket as it is not a bug. Feel free to file a new feature request Github issue.

Reviewed some archived messages of mine, this is likely only an issue with older versions of Helm and not recent versions.

Hello @jvoravong
My helm version is 3.11.3 but I can also confirmed the issue with the latest version of helm 3.12.2.
I definitely think that it's bug on Helm side when using a schema with aliases and subcharts which is why I opened an issue on Helm side in the first place.
Can you at least confirm that you're experiencing the same issue using my repro ?
Also, can you clarify At this time, using the splunk-otel-collector-chart as a subchart is not supported ? Do you mean something specific unrelated to this issue ?

I am facing the same issue. Our helm vesion is up to date. The problem only occurs while trying to add the chart as a subchart


Align sign-in flows for DfE Sign In and Persona

Context
Right now, we skip a step from our intended production flow by redirecting to the /personas page. If we are to treat persona selection as an OmniAuth method, we should mirror the sign-in flows.
Changes proposed in this pull request

Stop redirecting to /personas automatically.
Skip authentication when rendering error pages.

Guidance to review

You should be able to access the /sign-in path.

Screenshots

DfE Sign In
Persona

I can't see a test that checks this behaviour for Placements. As this change will affect both services, could you add/amend a test to check the behaviour.

Most of the tests visit the personas_path directly. The tests don't attempt to land on the homepage and navigate from there.
I had 1 system spec that I wrote that walked through the flow from landing on the root url.

I can't see a test that checks this behaviour for Placements. As this change will affect both services, could you add/amend a test to check the behaviour.

Most of the tests visit the personas_path directly. The tests don't attempt to land on the homepage and navigate from there.
I had 1 system spec that I wrote that walked through the flow from landing on the root url.

Sorry Dan, what I'm asking is could you add a spec to test this functionality for the Placements service as well.
Just a small one to say

given_i_start_on_the_root_page
when_i_click_sign_in_via_personas
then_i_can_see_a_list_of_persona_options

@JamieCleare2525 I've added an example of walking through the flow to one of your system specs. I didn't explicitly test any of the personas page behaviour.
My upcoming goal is to pivot away from using the personas page to perform system specs. Hopefully with the work @CatalinVoineag is working on to get DfE Sign In ready, we should be able to mock DfE Sign In calls.


com.azure.spring.autoconfigure.jms.*

My previous project has used apis com.azure.spring.autoconfigure.jms.ConnectionStringResolver and com.azure.spring.autoconfigure.jms.ServiceBusKey. However, those apis are deprecated & I cannot find where they resolve to now. Please advice.

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

ID: ba296613-10da-d4c8-16a1-d92127887789
Version Independent ID: ba296613-10da-d4c8-16a1-d92127887789
Content: Migration guide for Spring Cloud Azure 4.0 - Java on Azure
Content Source: articles/java/spring-framework/migration-guide-for-4.0.md
Service: azure-java
GitHub Login: @KarlErickson
Microsoft Alias: rujche

@chenrujun can you comment here? Thanks!

Hi @rcope313 , thanks for reaching out.
May I know what situation you are using the deprecated apis?
If you want to do authentication,  please refer to this doc, we now provide two authentication methods: Azure Active Directory (Azure AD) authentication and Shared Access Signatures (SAS) authentication. Hope this can help you.


should treat these like lai.data and ...

https://github.com/GEOS-ESM/GEOSldas/blob/eef59e2d1b69ce8a91122cbbb4a641bdecc810f6/src/Applications/LDAS_App/lenkf.j.template#L116-L117

@weiyuan-jiang, note that this applies only to the CO2_* file.  The FPAR_* file is obsolete.

Addressed in https://github.com/GEOS-ESM/GEOSldas/pull/663


update yq tool installation link in sagemaker tutorial

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm


Game list building improvements

On my laptop (i7, 2.9Ghz, 32GB RAM), building the game list consumes 3Gb of RAM and takes almost 7 minutes. Whereas this is possibly unavoidable for the first run, it becomes tedious having to rebuild the entire game list every time a new game is added.
A couple of suggestions:

If possible, some manner of progress dialog would be useful. Not sure if we can guess the expected size of the output XML file and provide a semi-accurate progress dialog.
A separate 'Rescan games' button. This would require the full XML game list being stored alongside the existing gamelist.xml. Instead of running MAME to generate the full list again, it would just rely on the XML file already downloaded. This way, the full list rebuild would only be required on the very first time or if MAME was upgraded.

I haven't performed any analysis as to why it's taking so long or consuming so much RAM. Generating the list from the command line and piping to a file takes 30 seconds. I know that XPath isn't that performant on large XML files (and perhaps my slightly lazy //machine XPath may not be helping).
If you don't have the time or inclination to do this work, I may be able to submit a pull request.

Changing the //machine XPath to mame/machine reduces the elapsed time to a bit over three minutes. I've only done a single run on both so this isn't hugely scientific, however a more specific XPath query should theoretically be more performant.
If we ignore the separate button suggestion for the time-being, I'm happy to do a proper performance test and identify the bottleneck.

Hey thanks for the interest @nullpainter!
Yeah the build list functionality is a pain.  Options I thought of...

Looking at http://docs.mamedev.org/commandline/commandline-all.html I could probably pull the list using -listfull which comes back within a second if piped, but there is no year included only the game name.

One idea I had was to actually get the rom folders by using the -showconfig param, get the files list there, and then get the -listxml info for only the roms in the folders. This would probably have a bug effect for most people since I doubt most people have 1000's of roms.

One other issue is the fact that if I pipe the -listxml for all games it's like 430MB! I didn't really want such a huge cached file permanently saved. Of course there is the option to just pull out the info needed (after the list has been pulled - so still quite a while) and then cache only that info (rom name, game name and year really). If doing this it would probably be good to store the hash of the mame.exe and compare so we know if it was changed/updated. This would save time on subsequent tries but not on the first one.

Either opt 1 or 2 sound the best to me. 1 if showing the year is dropped (seems silly to do all this to just show year), or 2 if year is important.

If you don't have the time or inclination to do this work, I may be able to submit a pull request.

I'm very happy to receive contributions 😊 Please just try keep them small and focused one thing at a time - last one I got changed everything including formatting and had the binaries included!

Good point about the size of the full XML file; I had forgotten that! Given that piping directly to a file from mame.exe takes under a minute, I may start by rewriting the parsing using XMLReader instead of XPath to see how much this alleviates the problem.
Even though it pains me, I promise to keep the project using .NET Framework 2.0 ;-)

Even though it pains me, I promise to keep the project using .NET Framework 2.0 ;-)

Hey I'm quite happy to update to a newer version of .net - update away 😄

Good news. By reading directly from the StandardOutput stream instead of first reading the contents into a string, and using a combination of XmlReader traversal with LINQ to XML to simplify the parsing, I've reduced the -listxml parsing from 4.5 minutes and 3Gb of RAM (!) down to 26 seconds and 33Mb of RAM. This is about the amount of time that the -listxml command itself takes.
Unfortunately the -verifyroms step still takes just under three minutes - again because the MAME command takes that long. 😢
So, this is a good first step that I think should be done regardless of any future smarts.
I've upgraded to .NET 4.6 in order to use the LINQ to XML package and am tempted to shift all of this to a separate class. It would also be nice to be able maintain previous game selections after scanning, so there could potentially be quite a bit of related game preparation code. I've never been a huge fan of #region, however I'm happy to follow your preferred style.
I'll tidy this up and hope to create a PR later this weekend.

I lied. Added a small degree of parallelisation. Down to two seconds for 15 ROMs.

Definitely finished with this one now

🤣


Fix typos

Thank you for fixing these typos! Unfortunately, due to the branching structure in this repository, I had to make the fix myself and merge it into all the appropriate branches. So, I am closing this pull request without merging it.


Hash.from_json_object should support nested JSONObjects and JSONArrays

Source: http://community.rubymotion.com/t/moran-a-json-parser-generator-for-android/365/2

This is now working, thanks to this commit from @nickyhajal


Add PAGE XML to OCR (file) formats

The PAGE XML format is often used in scientific competitions. It
is also the standard output formt of the tools developed in the
context of OCR-D.

Thanks @wrznr


Update command line parameters syntax

Rename arguments fields:

inputfile -> file
output folder -> output
header filename -> headerfile
function identifier -> identifier
chunk size -> chunksize

ie:
--file=/path/to/input/file
--output=/path/to/output/folder
--headerfile=SplashScreen.h
--identifier=SplashScreen
--chunksize=200

Implement a --namespace argument to allow changing the default namespace from bin2cpp to the value specified by the argument.

Implement a --help and --h to automatically print the help

Implement a --folder=value argument to add all files of a given folder.

Rename argument chunksize to bytesperrow ?

I just forked, I am going to start working this. Cheers.

Hi. I am new to git and github. As far as I know, forking means that you
copied my repo to your own account so I wont benefit from your
changes/improvements. Would you prefer becoming a contributor ? If you only
want to "play with it to make it your own", that good too.
Anyway, thank for looking at my stuff!
Antoine
2017-12-15 22:27 GMT-05:00 Isaac Ault<EMAIL_ADDRESS>
I just forked, I am going to start working this. Cheers.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/end2endzone/bin2cpp/issues/2#issuecomment-352157342,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AeSDhY-p5gFzwzXXe6o4pwIrvXY7wB22ks5tAziMgaJpZM4QmQlr
.


CDEvents will have a full day co-lo at KubeCon EU

🎉  CDEvents will have a full day co-located at KubeCon EU 🥳
We are likely to have a room for 100 individuals.

We need to propose a title for the full day event -- for the official announcement

And we need to write a description for the day.

And create a schedule for a day.

Please put your suggestions as responses to this issue!

Thanks @MarckK, great news!

Some ideas for content:

Keynote (probably on CDEvents) and a few talks from the SIG Events community
Community hackathon, implementing CDEvents in projects and/or adapters
Contributor summit / hackathon, work on the spec, PoCs, SDKs, docs
Social gathering at the end of the day

FYI @cdevents/governance

@MarckK , will this event require a KubeCon registration, or will it be completely stand-alone? I will most probably not attend KubeCon.

@e-backmark-ericsson, The one day event will be a stand alone event and will not require KubeCon registration.

The currently projected date for the full day is May 16 or 17.
KubeCon Europe is from 16-20 May.

Maybe a good venue for CDEvents and Keptn Events specification alignment, especially future of app lifecycle events

@MarckK there is the KnativeCon happening as well.. I am worried that we will end up having too many events on day 0 that all should target the same audience.. can we not do some joint activities together?

Proposed ideas for the event name:

CDEvents Day
Events in CI/CD
CDEventsCon
CDEvents contributor summit
How do we achieve Iteroperability in the CNCF ecosystem?

For event name, I like:
'CDEventsCon'
or
'Events in CI/CD', paired with the cdEvents logo. This introduces with clarity cdEvents for those new to the idea and strongly implies that when we talk about Events in CI/CD, cdEvents should be the default consideration.

Final event schedule: https://cdeventscon2022.sched.com/
Presentation slides: https://github.com/cdevents/presentations/tree/main/CDEventsCon-2022


Fixed Android 	"Service Intent must be explicit" exception in AudioPlayerBroadcastReceiver.OnReceive().

Is this a fix for the issue, described in #42?

@SimonSimCity Yes, it is. Thanks.

@jmartine2 So the issue can be closed now..?


Es6

Moving whole package to es6.
Ref. #163

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@68066e8). Click here to learn what that means.
The diff coverage is 69.46%.

@@            Coverage Diff            @@
##             master     #184   +/-   ##
=========================================
  Coverage          ?   69.46%
=========================================
  Files             ?        2
  Lines             ?      131
  Branches          ?       29
=========================================
  Hits              ?       91
  Misses            ?       40
  Partials          ?        0

Impacted Files
Coverage Δ

src/angular-pdf.module.js
100% <100%> (ø)

src/angular-pdf.directive.js
69.23% <69.23%> (ø)

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 68066e8...e557864. Read the comment docs.

FYI @boyanin @rhyskoedijk

release in a couple of minutes

@simobasso awesome! Thanks a lot! I have totally forgotten this. So many things on my shoulders right now, but will play with it as soon as possible :)


Automated cherry pick of #10878: fix(region): add egress_mbps params for lb

Cherry pick of #10878 on release/3.7.
#10878: fix(region): add egress_mbps params for lb

Codecov Report

Merging #10879 (52f3b69) into release/3.7 (0ff3997) will decrease coverage by 1.69%.
The diff coverage is 1.19%.

@@               Coverage Diff               @@
##           release/3.7   #10879      +/-   ##
===============================================
- Coverage         5.98%    4.28%   -1.70%
===============================================
  Files              848      371     -477
  Lines           131795    73315   -58480
===============================================
- Hits              7887     3142    -4745
+ Misses          123206    69966   -53240
+ Partials           702      207     -495

Flag
Coverage Δ

aFlag
4.28% <1.19%> (-1.70%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/appsrv/appsrv.go
44.32% <0.00%> (-4.35%)
:arrow_down:

pkg/cloudcommon/notifyclient/events.go
0.00% <ø> (ø)

pkg/cloudcommon/notifyclient/notify.go
0.72% <0.00%> (-0.45%)
:arrow_down:

pkg/cloudcommon/notifyclient/notify_internal.go
0.00% <0.00%> (ø)

pkg/cloudcommon/notifyclient/template.go
7.04% <7.04%> (ø)

pkg/compute/models/cloudaccounts.go
0.56% <0.00%> (-6.11%)
:arrow_down:

pkg/compute/models/cloudimages.go
15.38% <0.00%> (-3.67%)
:arrow_down:

pkg/compute/models/natgateways.go
1.77% <0.00%> (-1.05%)
:arrow_down:

pkg/compute/models/secgroupcache.go
1.72% <0.00%> (-0.71%)
:arrow_down:

pkg/mcclient/options/base.go
38.12% <0.00%> (-0.56%)
:arrow_down:

... and 551 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 0a72fc6...52f3b69. Read the comment docs.


Style footer

Fix #4
Test URLs:

Before: https://main--netcentric--hlxsites.hlx.page/
After: https://issue-4--netcentric--hlxsites.hlx.page/

I've checked the footer HTML and I saw the SVG icons for social media are inlined in the HTML. Inlining SVGs is generally a good idea if the icons are to be displayed above-the-fold, e.g. in the header.
Conversely, it's a better idea not to inline SVGs in the footer, to keep the HTML slim, to reduce the number of total DOM elements, and HTML parsing complexity. In addition, I'm proposing to lazy load the footer icons, so they are downloaded only when the footer is about to enter the viewport.
The easiest way I see, since the SVG icons are not changing color at mouseover, is to use an img tag with loading="lazy".
<img src="twitter.svg" width="46" height="46" loading="lazy" alt="twitter">

Is it possible to make this change? Thanks

We're currently using the franklin icons feature. We could consider extending "decorateIcons" to implement it. @mhaack what has your experience been so far, is this something that has been done or discussed in any other projects?

On the icons, I suggest we go with the current approach, did not see issue with that in other projects. If this needs to be optimized we can still do later.

On the icons, I suggest we go with the current approach, did not see issue with that in other projects. If this needs to be optimized we can still do later.

I agree.

Looks good to me


[Example viewer] Suppress pinkish pixel in saturated region

Current example viewer does not consider saturated pixel so pinkish(or greenish) pixel appears after debayer.

Example of pinkish pixel after debayer


Collection of existing examples for Dependency Analyzer Source

https://github.com/Open-Source-Compliance/Sharing-creates-value/blob/70ce26d56f67114c07014befcaa268be5692ca81/Tooling-Landscape/Capabilities/dependency_analyzer_source.md?plain=1#L8
[Meta Level]
This issue is used as example for potential collaboration in our regular meeting.
Steps:

go to the file
go to the code
go to the line
click on the 3 dots and
click "Reference in new issue"
add your issue comment

[Content Level]
I would appreciate to have a collection of examples in the description. That would help to get familiar with the capabilities.
In this special case I would list at least

the OSS Review Toolkit Analyzer (https://github.com/oss-review-toolkit/ort#analyzer)
Hint: also with other tools, the naming of the overall tool would potentially be too vague so that the detailed sub-feature/component would need to be referred to, to have the correct capability mapping. A naming convention like [Overall Tool Name]/[Sub Component/Function] may be helpful

@sschuberth thank you for pointing this out


how to use multi-gpu

hello author,I try to train the model.And I notice there is a variant nums-of-gpu. And I want to use 2 gpu to train. I change the number but it can't work.So I want to know how to use it.Thank you very much

The code in its current form does not support multi-GPU training. The flag is there for legacy reasons; apologies for the confusion.


[WIP] Tex setup fix - windows problems with paths (?)

setup_latex_env_notebook creates the path of 'latexdefs.tex', a file of symbol definitions to be read when rendering figures.
However, paths in Python use '\\', which is unrecognized by (at least my version of) LaTeX. Substituting '\\' for '/' fixes the issue.

However, paths in Python use '\', which is unrecognized by (at least my version of) LaTeX. Substituting '\' for '/' fixes the issue.

Is this on windows?

Yes, that problem came up on my Windows machine.

Should add a test for whether running and windows and change separator accordingly

The problem is that using string manipulation to specify a path is not cross-platform, for the reasons you mentioned.
However, Python has internal cross-platform path construction tools.
https://docs.python.org/3/library/os.path.html
Try building the path with os.path.join

I'm working on this. The current version results in LaTeX being passed things like this

in Windows, so it breaks.
Maybe my separator from the point of view of python is '\' but then when it writes the tex files it interprets that as an escaped '' and then latex sees what should be a separator as a command... I have to concede this to @llorracc as a point against Windows.

The last commit fixes the issue.
I tested the resulting 'make' tool on Windows by running the BST notebook. It completed without issues.
Is there a way to make sure I did not break the functionality in other OS? Do the automated Travis test check the make_figs function?

Latexdefs needs to be in the same place as the notebook anyway. So just try to get rid of the cwd solution altogether.


Polish translating

Is possible add localisation (multilanguage) version krabs?
Trouble is with different chars or graphics

Krabs will only support the Standard character set for each code page. Therefore, there is currently no plan to support the Extended character set. For Polish printing, is it the cp852's Extended char set? Unfortunately, there are no plans to make this available.
Are you experiencing any serious issues, such as Krabs not starting?

No response, close once. Please reopen this issue if you still have any concerns.


Add Ability to Update Sensors/Switches

Certain Switches and Sensors can be updated add the ability to perform updates.

Created a pre-release 1.0.0 that allows certain switches and temperatures to be updated, still in progress and testing slowley so I don't throttle connections.

It's great we now have the ability to set the requested temperature, but in HA UI it is not possible to input the value. There are only arrows which are changing the temperature by 0.5°C.
Would be nice to be able to input any valid value. Also in the app and on the thermostat these arrows are changing by 0.1°C.

I have noticed that Auto Season doesn't work correctly.
When I set season to auto in the app the switch.mt_1061_1_season_info_hp_seasonset switches off while sensor.mt_1061_1_season correctly says Winter (auto). And when I set season to summer in the app the switch.mt_1061_1_season_info_hp_seasonset switches on and sensor.mt_1061_1_season correctly says Summer and switch.mt_1061_1_season_info_hp_season (called Winter Season) switches off.
I am thinking whether it wouldn't be better to have single select like in the app instead of two switches...

I have noticed that Auto Season doesn't work correctly. When I set season to auto in the app the switch.mt_1061_1_season_info_hp_seasonset switches off while sensor.mt_1061_1_season correctly says Winter (auto). And when I set season to summer in the app the switch.mt_1061_1_season_info_hp_seasonset switches on and sensor.mt_1061_1_season correctly says Summer and switch.mt_1061_1_season_info_hp_season (called Winter Season) switches off. I am thinking whether it wouldn't be better to have single select like in the app instead of two switches...

Tracking this one in #45 HP Mode I noticed that too think the name is wrong and its actually Manually test. Will look at as this issue

It's great we now have the ability to set the requested temperature, but in HA UI it is not possible to input the value. There are only arrows which are changing the temperature by 0.5°C.
Would be nice to be able to input any valid value. Also in the app and on the thermostat these arrows are changing by 0.1°C.

Should allow change by 0.1 now, the feature doesn't let me directly enter the temperature as climate (Thermometer) unless you use the entity Number this doesn't work.  You can use the Thermometer view.

I would have to change the state from sensor to number for the individual setting not sure then if that shows in the history?

Used climate entity to allow for the thermometer view.


--db/--library ignored by import

import always imports to the most-recently-opened Photos library.
Specifying --library or --db does nothing to switch the active Photos library (based on my reading of the code).
To Reproduce
Steps to reproduce the behavior:

create two photoslibrary bundles - A.photoslibrary and B.photoslibrary.
Open Photos with B.photoslibrary.
osxphotos --library A.photoslibrary import --album DemoImport --walk ./DemoImport
Observe that photos are added incorrectly to B.photoslibrary.

Expected behavior
All osxphotos modes should respect --library or rapidly error out if it can't be done.
Desktop (please complete the following information):

OS: [e.g. which version of macOS] Big Sur
osxphotos version (osxphotos --version) 0.60.5

Additional context
There is no code in import_cli() that switches the library. The PhotosLibrary().open() opens a dialog that blocks the process, so this can no longer be run interactively. Rather than patch osxphotos, I handle it externally with this snippet:
pkill Photos
open Correct.photoslibrary
while ! pgrep Photos; do sleep 0.5; done
osxphotos import ...

Definitely a bug. I was surprised that import event accepted --db/--library as these are not options in the actual code to the import command. Import must work on the last opened library as it interacts directly with Photos.app to do the import.   However, --db/--library are global options that are passed to all osxphotos subcommands.  In this case, import just ignores them.
I will need to rework the global options to ensure they're not passed to subcommands that can't handle them.
In the mean time, a work around is to simply open the correct library in Photos before using import.

@all-contributors please add @msolo for bug

The offending code is here where @DB_OPTION is passed to the main CLI. There are several subcommands for which this doesn't make sense. All subcommands should explicitly use @DB_OPTION if needed instead of passing this as a global option.
https://github.com/RhetTbull/osxphotos/blob/889c87813888dc5f8e51fe0692dbbd112affa1c4/osxphotos/cli/cli.py#L63-L86

I updated the documentation for osxphotos import and removed --library/--db from import and the other commands that don't support it. See v0.60.6


Report 0% code coverage

Same issue: https://github.com/mesonbuild/meson/issues/6726

Gcovr doesn't work when using std::vector.
When just include <vector> header it works fine.

The problem was caused by an incompatibility between the GCC 11.1.0 and Gcov 9.3.0.


Keep deprecated OS version definitions

.metadata files might refer to old OS versions, so keep
the old version names/numbers defined.
This solves issues https://github.com/Homebrew/homebrew-cask/issues/58046 https://github.com/Homebrew/homebrew-cask/issues/58046 #5640
The .metadata can stay as they are.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Not to leave old code, just the definitions for the old systems.

I also disagree with this. Fundamentally, this arcs back to the way we deal with the .metadata files being inadequate. It’s this problem this time, but there were others in the past. Since we basically need those files for uninstall instructions, one way to fix this would be to, at install time, create a bash file with the uninstall commands that would be saved. That way, it’d be future-proof and independent of any core changes.

Please give it another consideration, because putting the definitions back is really a very simple solution to the upgrade/uninstall issues that have popped up recently – this way eliminating the need for users having to search for the cause and then being forced to run the bash script from https://github.com/Homebrew/homebrew-cask/issues/58046 .
Not removing old OS version definitions from Library/Homebrew/os/mac/version.rb is a good way to keep already installed casks happy, and also the way deprecation is "normally" handled. Just removing the definitions completely was (obviously) not tested, and a bit of a shot from the hip, but it's easily remediated. (Anyway, thanks for all the effort you put into Homebrew. It's enormously appreciated.)

putting the definitions back is really a very simple solution to the upgrade/uninstall issues that have popped up recently

It seems simple but in reality it's "leave around dead code indefinitely" which further discourages this being fixed properly.

this way eliminating the need for users having to search for the cause and then being forced to run the bash script from Homebrew/homebrew-cask#58046

I agree this is not a good solution and something better should be done.

Not removing old OS version definitions from Library/Homebrew/os/mac/version.rb is a good way to keep already installed casks happy, and also the way deprecation is "normally" handled

No, sorry, it's not. There's also other deprecated and removed methods that will continue to blow up in this way even if these versions have been removed.

Just removing the definitions completely was (obviously) not tested, and a bit of a shot from the hip, but it's easily remediated.

They were tested but I decided to do so anyway for Homebrew 2.0 to try and force a proper solution for this to be implemented at some stage. Never removing code from parts of Homebrew to keep old casks alive is not a good solution; we have ways we handle this same thing for formulae and have talked about these before in https://github.com/Homebrew/brew/pull/4730. I'd suggest reading that thread for possible inspiration on other approaches.

(Anyway, thanks for all the effort you put into Homebrew. It's enormously appreciated.)

Thanks for the kind words; thanks to you too for created a PR! ❤

putting the definitions back is really a very simple solution to the upgrade/uninstall issues that have popped up recently

It seems simple but in reality it's "leave around dead code indefinitely" which further discourages this being fixed properly.

Keeping only the definitions is the point here.
This is definitely not the same as "leave around dead code indefinitely". (Pun intended.)
Now, by removing the definitions, a situation has been created where active code (the .metadata files) ceases to work, whereby brew crashes.
If the definitions are put back, the old code works, and users can be given some information about how to proceed if brew deems itself unable to handle the situation that has appeared.

this way eliminating the need for users having to search for the cause and then being forced to run the bash script from Homebrew/homebrew-cask#58046

I agree this is not a good solution and something better should be done.

That sounds good.
For me the issue appeared with wireshark, and at first I let the upgrade fail for some weeks, hoping that it was a temporary glitch in the brewing apparatus, but it kept on, so that's why I investigated what was happening. I'm quite certain that there are less proficient (and maybe not as stubborn) Homebrew users who would benefit from getting a proper error message or instructions instead of a crash.

Not removing old OS version definitions from Library/Homebrew/os/mac/version.rb is a good way to keep already installed casks happy, and also the way deprecation is "normally" handled

No, sorry, it's not. There's also other deprecated and removed methods that will continue to blow up in this way even if these versions have been removed.

Removing the definitions is the cause for the crash here. Deprecated and old methods should be removed, but not the definitions that still active code depends on. (And the .metadata files are active code.)

Just removing the definitions completely was (obviously) not tested, and a bit of a shot from the hip, but it's easily remediated.

They were tested but I decided to do so anyway for Homebrew 2.0 to try and force a proper solution for this to be implemented at some stage.

This, to me, is a bit worrying, because I firmly believe that a program should never "crash". In this case, a semi-proper way would be to exit gracefully and present something that is useful to the "normal" user, instead of
Error: Cask 'wireshark' definition is invalid: invalid 'depends_on macos' value: ":mountain_lion"
/usr/local/Homebrew/Library/Homebrew/cask/dsl.rb:211:in `rescue in depends_on'
/usr/local/Homebrew/Library/Homebrew/cask/dsl.rb:208:in `depends_on'
/usr/local/Caskroom/wireshark/.metadata/2.6.6/20190109033447.442/Casks/wireshark.rb:11:in `block in load'
/usr/local/Homebrew/Library/Homebrew/cask/cask.rb:48:in `instance_eval'
/usr/local/Homebrew/Library/Homebrew/cask/cask.rb:48:in `config='
/usr/local/Homebrew/Library/Homebrew/cask/cask.rb:39:in `initialize'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:33:in `new'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:33:in `cask'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:73:in `cask'
/usr/local/Caskroom/wireshark/.metadata/2.6.6/20190109033447.442/Casks/wireshark.rb:1:in `load'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:60:in `instance_eval'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:60:in `load'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:176:in `load'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/list.rb:26:in `block in list'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/list.rb:18:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/list.rb:18:in `list'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/list.rb:14:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/abstract_command.rb:34:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:90:in `run_command'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:156:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:121:in `run'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:7:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:102:in `<main>'
Error: Kernel.exit
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:161:in `exit'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:161:in `rescue in run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:144:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:121:in `run'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:7:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:102:in `<main>'

(Apologies for that long piece, but it is meant as an example of something annoying. ;) )

Never removing code from parts of Homebrew to keep old casks alive is not a good solution; we have ways we handle this same thing for formulae and have talked about these before in #4730. I'd suggest reading that thread for possible inspiration on other approaches.

Thanks. I read that discussion, and some other solution than the .metadata files might be needed in the future, but this PR is really about just keeping the OS version definitions, so that brew doesn't crash when there are references to them in active code.

Thanks for the kind words; thanks to you too for created a PR! ❤

Having (happily) used MacPorts for a long time before, then both that and HomeBrew together, I now completely rely on HomeBrew, which is why I'm very eager to have it working properly, so that many people are happy with it and it can thrive and evolve. This is why I'm so persistent in "pushing" for this solution.
 Yeah!

This is definitely not the same as "leave around dead code indefinitely". (Pun intended.)

This code is considered dead and should not be used. It is not used in any active master code.

Now, by removing the definitions, a situation has been created where active code (the .metadata files) ceases to work, whereby brew crashes.

The handling of unreadable/unparseable .metadata files is what should be fixed. cask_loader.rb should be updated to handle all exceptions that come from .metadata and instead throw a warning for HOMEBREW_DEVELOPERs.
See https://github.com/Homebrew/brew/blob/01bd14be616904f6ebbb8e01492dea54740942f1/Library/Homebrew/formulary.rb#L23-L27 and https://github.com/Homebrew/brew/blob/01bd14be616904f6ebbb8e01492dea54740942f1/Library/Homebrew/formulary.rb#L155-L159 and https://github.com/Homebrew/brew/blob/01bd14be616904f6ebbb8e01492dea54740942f1/Library/Homebrew/utils.rb#L91-L96 for how we're handling these changes similarly elsewhere for formulae/bottles that have similar problems.

@metayan Simply put (and I don’t really want to drag the issue further), I feel you have the right intention but the wrong fix. Your solution is a band-aid that will indeed leave old code code lingering, and you don’t even need it. I appreciate your concern for the other users, but most seem perfectly content with the (non-ideal but workable and easy) one-liner fix.
I’d rather have this small bump and force a correction of the .metadata situation (which in it’s current implementation has caused other issues). The alternative hides part of the underlying problem, making it less likely to get fixed.

I agree with @vitorgalvao. To be clear: I'm grateful for this PR and sorry I can't agree for it to be merged but I'd love if it turns into something that can be merged.

The handling of unreadable/unparseable .metadata files is what should be fixed. cask_loader.rb should be updated to handle all exceptions that come from .metadata and instead throw a warning for HOMEBREW_DEVELOPERs.

Indeed, the way to go. Agreed.
Thanks.


Migrating CNI content

3rd attempt at a first pass of migrating CNI documentation. (Third time's the charm, this time: simplify!)
fixes: https://github.com/containernetworking/cni.dev/issues/13
Deploy preview: https://deploy-preview-23--cni.netlify.app/

Deploy preview: https://deploy-preview-23--cni.netlify.app/
Interesting pages in deploy preview:
https://deploy-preview-23--cni.netlify.app/docs/cni/
https://deploy-preview-23--cni.netlify.app/docs/cni/spec/
https://deploy-preview-23--cni.netlify.app/docs/cni/conventions/

This is a much simpler way of versioning the CNI SPEC and CONVENTIONS. I still need to go through and correctly set links through out the copy, but I think this method of versioning these two docs should be good moving forward.

In the https://github.com/containernetworking/cni repo, we may want to open an issue regarding building this website, and discuss how we want to manage this information (i.e., Do we want to remove the copied files from that repo? Leave them there? Edit the files there to point to their corresponding files here? etc.). I'd like to avoid duplicated content if at all possible, as it adds to the maintenance burden, but I understand that the SPEC is the main artifact of the https://github.com/containernetworking/cni repo so may have to live in both locations.

Content note:
Regarding the Documentation folder in the main repo:

I've left the cnitool.md file out here, as it's covered on the https://deploy-preview-23--cni.netlify.app/cni/cnitool/ page.
I've moved the spec-upgrades.md up into the CNI submenu, (https://deploy-preview-23--cni.netlify.app/cni/spec-upgrades/) rather than giving it its own subfolder.

Inviting @zacharysarah to review.

@nate-double-u 👋

the SPEC is the main artifact of the repo so may have to live in both locations.

If SPEC.md needs to remain in the repo, link to it from the website with some context. Dual sourcing content isn't the way to go.

Dual sourcing

the SPEC is the main artifact of the repo so may have to live in both locations.

Dual sourcing content isn't the way to go. In my opinion, publishing content on the website would be a better developer experience.
It's better to provide actual page names ("Specification", "Conventions", via a title attribute in the front matter of each respective page) rather than reusing the file name for the link text.
If for whatever reason SPEC.md and CONVENTIONS.md need to remain at the top level of the repo, link to them from the website with some context rather than publishing the files in both places. (I recommend publishing content authoritatively on the website, though.)

During the CNI Maintainers meeting this morning we discussed whether or not the SPEC and CONVENTIONS files should live in the CNI repo, or here. @squeed Suggested that because these files are the primary function of the CNI repo, that those files should remain there and that this website should link out to them.


Support Git Bash shell integration automatic injection

There are various issues regarding integration for various shells, but for Windows it's limited to standalone pwsh, and there are open issue for WSL.
So request here is to support Git Bash as well as it's go to terminal if you install Git for Windows.
Are there plans to support it in near future?
/cc @Tyriar

I'm hesitant committing to this as weird things often happen with how git bash interacts with conpty. Could be a good community contribution though.
I tried setting up a profile based on the existing bash script:
"Git Bash+": {
  "source": "Git Bash",
  "args": ["--init-file", "C:\\Github\\microsoft\\vscode\\src\\vs\\workbench\\contrib\\terminal\\browser\\media\\shellIntegration-bash.sh"]
},

It does look like the sequences get through correctly, the same problems as on wsl (https://github.com/microsoft/vscode/issues/143761) with decorations are happening though:

So I'd expect the work here to include:

Waiting until https://github.com/microsoft/vscode/issues/143761 is done
Handle git bash properly within https://github.com/microsoft/vscode/blob/77abae96a780338d9b395ef7f6ef153607b5be99/src/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh, for example running the correct .bashrc

See update: https://github.com/microsoft/vscode/issues/143761#issuecomment-1055774889

Cross-posting update from https://github.com/microsoft/vscode/issues/157548#issuecomment-1209741420

Thanks for the interest, git bash was on hold in https://github.com/microsoft/vscode/issues/143769 due to some issues I thought would apply to it since running WSL in a sub-shell had some problems. I just tested it with @meganrogge now and it seems to work pretty well and a minor change will improve it further. So I think for August we'll try adapt the bash shell integration script to support MINGW/Cygwin/etc. and then document it as a manual install only/experimental option on the website https://code.visualstudio.com/docs/terminal/shell-integration#_manual-installation

I'll keep this issue open until it's non-experimental, making a note to write a test for endgame

Similar to the fish support https://github.com/microsoft/vscode/issues/139400, we'll keep this open for now until we get automatic injection setup.

While I am very aware of the limitations, I am using automatic injection with Git Bash nevertheless.
I have disabled shell decorations so the only real problem I face is with current working directory detection and that prevents things like shell splitting with CWD inheritance:

This is because Git Bash returns a Linux-style path while VSCode seems to expect a Windows path.
My workaround is to edit the __vsc_update_cwd function in shellIntegration-bash.sh like so:
__vsc_update_cwd() {
	builtin local pwd
	if [[ "$(uname -s)" =~ ^MINGW* ]]; then
		pwd="$(cygpath -m "$PWD")"
	else
		pwd=$PWD
	fi
	builtin printf '\e]633;P;Cwd=%s\a' "$(__vsc_escape_value "$pwd")"
}

However I have to do this after each VSCode update. Maybe the team can come up with a more universal, more persistent solution?

How can we test this in git bash?

To verify open git bash via the terminal profile picker and make sure the shell integration circle shows on the left side


Last character of serialized/signed data not robust

It is possible to modify the last character of a serialized string without provoking a decoding error.
Maybe not a bug but I find it strange.

Effective on several examples, including those given in the documentation of itsDangerous :
Example 1
from itsdangerous.serializer import Serializer
s = Serializer("secret-key")
s.dumps([1, 2, 3, 4])
b'[1, 2, 3, 4].r7R9RhGgDPvvWl3iNzLuIIfELmo
s.loads('[1, 2, 3, 4].r7R9RhGgDPvvWl3iNzLuIIfELmo')
[1, 2, 3, 4]
The last letter ('o') can be replaced by p, q or r :
s.loads('[1, 2, 3, 4].r7R9RhGgDPvvWl3iNzLuIIfELmp')
[1, 2, 3, 4]
s.loads('[1, 2, 3, 4].r7R9RhGgDPvvWl3iNzLuIIfELmq')
[1, 2, 3, 4]
s.loads('[1, 2, 3, 4].r7R9RhGgDPvvWl3iNzLuIIfELmr')
[1, 2, 3, 4]
But replacing by 's' fails :
s.loads('[1, 2, 3, 4].r7R9RhGgDPvvWl3iNzLuIIfELms')
BadSignature: Signature b'r7R9RhGgDPvvWl3iNzLuIIfELms' does not match
Example 2
from itsdangerous import Signer
s = Signer("secret-key")
s.sign("my string")
b'my string.wh6tMHxLgJqB6oY1uT73iMlyrOA'
s.unsign(b"my string.wh6tMHxLgJqB6oY1uT73iMlyrOA")
b'my string'
s.unsign(b"my string.wh6tMHxLgJqB6oY1uT73iMlyrOB")
b'my string'
s.unsign(b"my string.wh6tMHxLgJqB6oY1uT73iMlyrOC")
b'my string'
s.unsign(b"my string.wh6tMHxLgJqB6oY1uT73iMlyrOD")
b'my string'
s.unsign(b"my string.wh6tMHxLgJqB6oY1uT73iMlyrOE")
BadSignature: Signature b'wh6tMHxLgJqB6oY1uT73iMlyrOE' does not match

Expected behavior:
I would have expected a BadSignature exception for any signature not exactly equal to the original one
Environment:

Python version: 3.11.8
ItsDangerous version: 2.1.2

Signatures are not actually ASCII characters, they're base64 encoded bytes. This results in some trailing bytes/bits being "padding" to a standard length/boundary. This isn't a property of itsdangerous, but of base64.
If you believe you've found a security issue then first you should report it privately, but second you need to demonstrate being able to change the data without changing the signature.


Log Analytics

For clarity, in step 4 under creating the automation account, it might be helpful to state that the Log Analytics workspace should exist prior to running the script.
[Enter feedback here]

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

ID: 24a6c4e2-702f-2b17-3e2d-c86f33b13beb
Version Independent ID: 1e7811d8-668a-db98-34ca-eaf4d7ee8c1f
Content: Scale session hosts Azure Automation - Azure
Content Source: articles/virtual-desktop/set-up-scaling-script.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Thanks for the feedback. I have added a Log Analytics workspace as an optional prerequisite. The change should be visible later today.
#please-close


Doesn't Recognize the Ferox Enclave <-> Soul Wars connection

You can go between Soul Wars / Ferox Enclave via the portal, but shortest path tells you to portal via Edgeville and walk to Ferox instead.
Specifically, it recognizes the Soul Wars <-> Ferox Enclave Dungeon portal, but doesn't realize that the Ferox Enclave Dungeon connects to Ferox Enclave itself.

Specifically, it recognizes the Soul Wars <-> Ferox Enclave Dungeon portal, but doesn't realize that the Ferox Enclave Dungeon connects to Ferox Enclave itself.

Also doesn't recognize White Wolf tunnel, even if you've completed the quest, or the desert carpets.


@ashkan18 => Added tests and Travis-CI configuration.

The issue was between the computer and the chair, I was trying to use the syntax of an unreleased version of Maru.Test. This works.
Note aliases: [test: "test --no-start"], that runs tests without starting the app.

Niice!


Shall we create dynamic tabs through view.

Hi,
Shall we create dynamic menus like Tabs (Management) creation,Footer links management using tabulous  gem.
As per my requirement i need to manage tabs through admin configuration.
Thanks in advance.
Thanks
Shiva.A

Hi @shivareddy547,
No, I would not recommend tabulous for dynamic menus or footer links.  It is designed primarily for basic server-rendered tabs, nothing too complex.

Thanks for reply, Yeah i tried but no success i almost done.
Tabulous.setup do
tabs do
Tab.all.each_with_index do |each_tab,index|
"menu_#{each_tab}_tab"  do
text          { "#{each_tab.split('Controller').first}" }
link_path     { profile_index_path }
visible_when  { true }
enabled_when  { true }
active_when   { in_action('any').of_controller('profile') }
end
end
As above I created Tab Model and storing controller name and actions names which
configuration will done by admin.
In fronted i created helper method  and try to change tabs dynamically based on controller name(each_tab) But it's not accepting.
"menu_#{each_tab}_tab"  do
end
For Exmaple: each_tab = "products"
Every time "menu_#{each_tab}_tab" it's accepting constant not as string i trying to convert with available methods(singularize, safe_constantize) but no result.
Any suggestions..?
Thanks in Advance.
Thanks
Shiva.A

Try using send as this person does: https://github.com/techiferous/tabulous/issues/44

Great thanks.
Thanks
Shiva.A


Is it feasible to measure the content of various metabolites in bulk RNAseq using MEBOCOST?

Hi, it is not recommended to use mebocost to predict "metabolite abundance" (if I understand your question correctly), mebocost aggregates metabolite producing enzymes and consuming enzymes in the network to represent the activity of the biosynthesis pathway. If you were applying it to bulk RNA-seq, I would interpret the result as an averaged activity of metabolite biosynthesis pathway.

Thanks


go.mod requirement "inet.af/tcpproxy" unavailable, should be update

Environmental Info:
K3s Version:

Node(s) CPU architecture, OS, and Version:

Cluster Configuration:

Describe the bug:

I am going to compile the code on master branch, got the error: inet.af domain not found.
Maintainers lost the domain: https://github.com/inetaf/tcpproxy/issues/39
This is more like a security issue. We should update this requirement.
Steps To Reproduce:

Installed K3s:

Expected behavior:

Actual behavior:

Additional context / logs:

This is not a security issue, as the integrity of the existing version is handled by the golang module proxy and go.sum, but we will update to the new module path next time we bump it.

validated at -
https://github.com/k3s-io/k3s/issues/11030#issuecomment-2407023173
https://github.com/k3s-io/k3s/issues/11031#issuecomment-2407023465
https://github.com/k3s-io/k3s/issues/11032#issuecomment-2407023895
https://github.com/k3s-io/k3s/issues/11033#issuecomment-2407026304


feat: create snowflake_role_ownership_grant resource

Create a snowflake_role_ownership_grant resource.
Test Plan

[x] unit tests
[x] acceptance tests
[x] tested in my snowflake account
[x] tested read/update by manually deleting the to_role after creation, the ownership changed back to ACCOUNTADMIN. the following apply rebuilt the role and re-granted role ownership.

References

(Feature Request) https://github.com/chanzuckerberg/terraform-provider-snowflake/issues/460
https://docs.snowflake.com/en/sql-reference/sql/grant-ownership.html

Example
I created a new example under examples/resources/snowflake_role_ownership_grant
resource "snowflake_role" "role" {
  name    = "rking_test_role"
  comment = "for testing"
}

resource "snowflake_role" "other_role" {
  name = "rking_test_role2"
}

# ensure the Terraform user inherits ownership privileges for the rking_test_role role
# otherwise Terraform will fail to destroy the rking_test_role2 role due to insufficient privileges
resource "snowflake_role_grants" "grants" {
  role_name = snowflake_role.role.name

  roles = [
    "ACCOUNTADMIN",
  ]
}

resource "snowflake_role_ownership_grant" "grant" {
  on_role_name = snowflake_role.role.name
  to_role_name = snowflake_role.other_role.name
  current_grants = "COPY"
}

resulting role ownership:

Consideration:
There is one nuance with the example. It will fail to destroy if the terraform user will no longer have privileges to rking_test_role after the snowflake_role_ownership_grants resource is applied.

Consideration:
There is one nuance with the example. It will fail to destroy if the terraform user will no longer have privileges to rking_test_role after the snowflake_role_ownership_grants resource is applied.

This was actually really simple to solve: https://github.com/chanzuckerberg/terraform-provider-snowflake/pull/917/files#diff-fcb5a6c6e255c170e85c1100e5dc90858bea1efd043fce47dc4e0884486a0284R21-R27

@edulop91 I think this is ready for peer review.

@alldoami I think this is ready for peer review.

If we wanted to use this GRANT OWNERSHIP query on other objects (  { ROLE | USER | WAREHOUSE | INTEGRATION | NETWORK POLICY | SESSION POLICY | DATABASE | SCHEMA | TABLE | VIEW | STAGE | FILE FORMAT | STREAM | TASK | MASKING POLICY | ROW ACCESS POLICY | PIPE | FUNCTION | PROCEDURE | SEQUENCE }), do you think we'd need to define new resources to create that? Or could we somehow make this a more generic snowflake_ownership_grant resource that isn't just for role ownership?

If we wanted to use this GRANT OWNERSHIP query on other objects ( { ROLE | USER | WAREHOUSE | INTEGRATION | NETWORK POLICY | SESSION POLICY | DATABASE | SCHEMA | TABLE | VIEW | STAGE | FILE FORMAT | STREAM | TASK | MASKING POLICY | ROW ACCESS POLICY | PIPE | FUNCTION | PROCEDURE | SEQUENCE }), do you think we'd need to define new resources to create that? Or could we somehow make this a more generic snowflake_ownership_grant resource that isn't just for role ownership?

I considered adding multiple types but I opted to only support on role ownership initially since that is what the #460 called for. That being said, I wrote this resource so that it could be expanded to support multiple ON object types in the future if that made sense.
Do you want a single resource handling GRANT OWNERSHIP? If so, that could look like this
resource "snowflake_role_ownership_grant" "role" {
  type      = "ROLE"
  name      = snowflake_role.role.name
  role_name = snowflake_role.other_role.name
}

resource "snowflake_role_ownership_grant" "user" {
  type      = "USER"
  name      = snowflake_user.user.name
  role_name = snowflake_role.other_role.name
}

resource "snowflake_role_ownership_grant" "warehouse" {
  type      = "WAREHOUSE"
  name      = snowflake_warehouse.warehouse.name
  role_name = snowflake_role.other_role.name
}

# add more ON types in this way

otherwise, that might look like this
# proposed
resource "snowflake_role_ownership_grant" "grant" {
  on_role_name      = snowflake_role.role.name
  to_role_name = snowflake_role.other_role.name
}

# https://registry.terraform.io/providers/chanzuckerberg/snowflake/latest/docs/resources/warehouse_grant
resource "snowflake_warehouse_grant" "grant" {
  warehouse_name = "wh"
  privilege      = "OWNERSHIP"

  roles = [
    "role1",
  ]
}

# doesn't exist
resource "snowflake_user_grant" "grant" {
  user_name = "user"
  privilege      = "OWNERSHIP"

  roles = [
    "role1",
  ]
}

Got it @aidanmelen, this makes sense. Thank you for contributing!

/ok-to-test sha=5c1de73

can you run make docs?

can you run make docs?

I keep trying to add an example to doc after it generates, but make docs really doesn't like that... I will remove the example and re-run make docs

@alldoami docs should be passing now

Got it @aidanmelen, this makes sense. Thank you for contributing!

That was fun! Thanks for considering my contribution!

I will make another PR for snowflake_user_ownership_grant in the near future.

I will plan on making another PR for the snowflake_user_ownership_grant resource in the near future.

/ok-to-test sha=04b1260

/ok-to-test sha=04b1260

/ok-to-test sha=04b1260

@aidanmelen GHA broke today and I think we need to rekick off the GHA jobs, do you think you can commit an empty commit to your branch?

@alldoami done

/ok-to-test sha=d734035

/ok-to-test sha=274b54b

Integration tests failure for 274b54b

@alldoami looks like the integration test because this fork wasn't update-to-date during release. It failed on somebody else's code:


We shouldn't need to restart the ingestor if the mapping needs recreating

e.g. if somebody deletes the entire index

In practice, this has been a non-issue.


Incorrect errors when using with vue-class-component

Describe the bug
I'm not sure if this issue should be here or in the vue-class-component repo. Anyway, I migrated some fairly simple code from vue 2 to vue 3 using the available guides. I created a new project from scratch with vite and then ported my components.
When running yarn build I get a bunch of incorrect errors from vuedx-typecheck:

src/components/Roulette.vue:12:21 - error VueDX/TS2339: Property 'index' does not exist on type 'string'.
Wrong. slice isn't of type string. No idea where it got that from.

 It looks like it doesn't like SVG?

src/App.vue:5:9  - warning VueDX59002: The component 'Roulette' is inferred as global component. It may not be available at runtime.
Wrong. I included it in the vue-class-component options.

To Reproduce
git clone -b vue3 https://github.com/graup/roulette-choice
Run yarn and yarn build
Expected behavior
This code builds fine when using yarn dev and shows no errors in VSCode.

Pinging @ktsn – are these vue-class-component issues?

Pinging @ktsn – are these vue-class-component issues?

Class component is not supported yet.

Class component is not supported yet.

Class component is not supported yet.

Is there a plan to support it?


about running time

hi,
I use movieLens-1m and rnn method
I run it 3 days, but it just "Open file(3500)" and doesn't get any result.
I want to know how long the time it will take to train? and how long the time if we use clusters?
Thanks!

Hi,
It clearly shouldn't take that long, on model can be trained on movielens in an hour or so.
Can you tell me exactly what command line you used to launch your experiment ?

Hi,
I use "python train.py -d dataset/ml-1m/ -m RNN"
is that right?
I find the input of GRU is like [[23], [35], [57]...], not in form of one-hot encoding.
I don't know how to use this form of input to caculate the hidden layer? the size of input is (16,30),
let's use reset gate as example, the size of Wxr is ?
thank you very much!

Hi,
I use "python train.py -d dataset/ml-1m/ -m RNN"
is that right?
thank you very much!

Hi,
With that command, the training process should compute validation cost every 2, 4, 8, 16, ... iterations (that's the default). The output should look something like that:
Compiling train...
Compilation done.
Compiling test...
Compilation done.
Opening file (1)
Opening file (1)
RNN with categorical cross entropy 2 batchs,  0.000198412698413  epochs in 1.20136499405 s
Last train cost :  8.21803
recall :  0.00255408308809
sps :  0.0
Best  sps :  0.0
blockbuster_share :  0.0737704918033
item_coverage :  118
ndcg :  0.0235363130049
user_coverage :  0.19
-----------------
2 0.000198412698413 1.20148301125 8.21803 0.00255408308809 0.0 0.0737704918033 118 0.0235363130049 0.19
Save model in ../../data/ml-1M/models/rnn_cce_db0.0_r0.0_ml30_bs16_ne0.0_GRU_gc100_h50_Ua_lr0.001_b10.9_b20.999_nt1_nf
Opening file (1)
RNN with categorical cross entropy 4 batchs,  0.000595238095238  epochs in 2.66510891914 s
Last train cost :  8.21811
recall :  0.00275834442008
sps :  0.0
Best  sps :  0.0
blockbuster_share :  0.0902255639098
item_coverage :  124
ndcg :  0.0256614255626
user_coverage :  0.202
-----------------
4 0.000595238095238 2.66527700424 8.21811 0.00275834442008 0.0 0.0902255639098 124 0.0256614255626 0.202
Save model in ../../data/ml-1M/models/rnn_cce_db0.0_r0.0_ml30_bs16_ne0.001_GRU_gc100_h50_Ua_lr0.001_b10.9_b20.999_nt1_nf
Opening file (1)
RNN with categorical cross entropy 8 batchs,  0.00138888888889  epochs in 4.16728496552 s
Last train cost :  8.21899
recall :  0.0040551560429
sps :  0.0
Best  sps :  0.0
blockbuster_share :  0.11875
item_coverage :  114
ndcg :  0.0330393612388
user_coverage :  0.236
-----------------
8 0.00138888888889 4.16740894318 8.21899 0.0040551560429 0.0 0.11875 114 0.0330393612388 0.236
Save model in ../../data/ml-1M/models/rnn_cce_db0.0_r0.0_ml30_bs16_ne0.001_GRU_gc100_h50_Ua_lr0.001_b10.9_b20.999_nt1_nf
Opening file (1)
RNN with categorical cross entropy 16 batchs,  0.00297619047619  epochs in 5.75333189964 s
Last train cost :  8.21685
recall :  0.00775130587827
sps :  0.002
Best  sps :  0.002
blockbuster_share :  0.212598425197
item_coverage :  98
ndcg :  0.0515730897683
user_coverage :  0.33

What output do you get exactly ?
Are you sure that you correctly specified the path to the dataset ? Did you use prepare.py properly to format the data ?

Hi,
yes, I get the same output as you said.
`
Opening file (7)
Opening file (8)
Opening file (9)
Opening file (10)
Opening file (11)
Opening file (12)
Opening file (1)
RNN with categorical cross entropy 65536 batchs,  11.215984939243539  epochs in<PHONE_NUMBER>5166016 s
Last train cost :  377.138
recall :  0.010586256070690052
user_coverage :  0.4387755102040816
blockbuster_share :  0.1780821917808219
item_coverage :  39
sps :  0.01020408163265306
Best  sps :  0.0510204081633
ndcg :  0.0660293589142
65536 11.215984939243539<PHONE_NUMBER>2270813 377.138 0.010586256070690052 0.4387755102040816 0.1780821917808219 39 0.01020408163265306 0.0660293589142
Opening file (13)
Opening file (14)
Opening file (15)
Opening file (16)
Opening file (17)
Opening file (18)
Opening file (19)
Opening file (19)
Opening file (20)
Opening file (21)
Opening file (22)
Opening file (23)
Opening file (1)
RNN with categorical cross entropy 131072 batchs,  22.43214102344686  epochs in<PHONE_NUMBER>851715 s
Last train cost :  381.021
recall :  0.015686721566399123
user_coverage :  0.5204081632653061
blockbuster_share :  0.2
item_coverage :  42
sps :  0.02040816326530612
Best  sps :  0.0510204081633
ndcg :  0.077068678167
131072 22.43214102344686<PHONE_NUMBER>663605 381.021 0.015686721566399123 0.5204081632653061 0.2 42 0.02040816326530612 0.077068678167
Opening file (25)
Opening file (26)
Opening file (27)
Opening file (28)
Opening file (29)
Opening file (30)
Opening file (31)
Opening file (32)
Opening file (33)
Opening file (34)
Opening file (35)
Opening file (36)
Opening file (37)
Opening file (38)
Opening file (39)
Opening file (40)
Opening file (41)
Opening file (42)
Opening file (43)
Opening file (44)
Opening file (45)
Opening file (1)
RNN with categorical cross entropy 262144 batchs,  44.8644531918535  epochs in 1979.2232081890106 s
Last train cost :  388.986
recall :  0.013790187977074955
user_coverage :  0.5102040816326531
blockbuster_share :  0.2988505747126437
item_coverage :  45
sps :  0.02040816326530612
Best  sps :  0.0510204081633
ndcg :  0.0844002809776
262144 44.8644531918535 1979.223396539688 388.986 0.013790187977074955 0.5102040816326531 0.2988505747126437 45 0.02040816326530612 0.0844002809776
`
But I don't know when the training is over?
Last time I ran it 3 days, the console showed 'Opening file (3500)'
I use "python train.py -d dataset/ml-1m/ -m RNN",  it seems as if it never to an end.
I don't know what's wrong with it.
Much appreciate with you!

This is actually normal, with the default settings the training never stops.
Opening file (3500) means that RNN iterated 3500 times over the whole dataset (it has certainly largely overfitted by now), and it will continue to do so until you stop the process.
When you train a complex model by stochastic gradient descent you generally go through a phase where the quality of the model increases on the training set and on the validation set, but at some point the quality starts to decrease on the validation set even though it still increases on the training set, at that point you are overfitting the model, and you should stop the training.
Unfortunately it is hard to guess a priori how long you should train before overfitting, which is why we generally use a kind of early stopping strategy.
By default, the training process uses the option --save Best which means that from time to time it will evaluate the model on the validation set, and only keep the model that performs best on the validation set. That means that even if you train for way too long, you'll still keep a model that likely did not overfit.
So if you have time, you can simply let the training run for way too long then stop it (ctrl-C) when you're sure that it won't improve anymore. You can also use the options --max_time time_in_seconds or --max_iter nb_of_iterations to set a fixed time/nb of iterations after which the training will stop.
If you're not sure about what max_time to set, and you don't want to look at the log yourself, you can also use one of the early stopping options. For example, with --es_m WorstTimesX --es_x 2 --es_min_wait 5, the training will stop if the training lasted at least five epochs, and if the number of iterations since the last best score on the validation set  is larger than twice the largest number of iterations that you previously waited before an improvement.
One last thing, you can choose how often the model is evaluated, which determines both how often you'll see the scores appearing in the terminal, and also how often the model is potentially saved. If you set it too short you'll spend more time evaluating the model than training it, but if it's too long you might miss the optimal model between underfitting and overfitting.
By default it is set to evaluate the model after 2, 4, 8, 16, etc. iterations, which is good to give you an idea of the beginning of the training process (that's what I use when I'm exploring new problems or methods), but it quickly leads to too long waiting time between evaluations. There are many options to set when to evaluate the model: look at --progress, --time_based_progress and --mpi in the doc (https://github.com/rdevooght/sequence-based-recommendations#trainpy).
I hope it helps !

Hi,
It helps me a lot !  O(∩_∩)O
Much appreciated!

Hello, the same issue occur to me. I have trained the model for a very long time, but the sps is still under 3%, much lower than the performance in your paper. Do you know how to fix this?

Hello, the same issue occur to me. I have trained the model for a very long time, but the sps is still under 3%, much lower than the performance in your paper. Do you know how to fix this?

Hi, so have you solved it?Maybe you should do it in GPU?The same problem with me...


Placement of Login Button on Account Page

When viewing the Login or Create an Account page, the Login with Amazon button shows up near the bottom of the page.
Let's look into if we can improve button placement.

When div containing other sign in methods is large, the button is pushed to the bottom of the page. Perhaps append to end of left hand column.
Change '- OR -' to 'Have an Amazon account?'

@jonahellison move to above block

Updated Amazon button to appear above login blocks. The "Login or Create an Account" header is part of the login template file, so the button is appearing above that. Another alternative is to place it within the login form (as the template allows additional blocks here). Screen shots:

To move back to bottom, open amazon_payments.xml and replace customer_account_login section with:
    <customer_account_login translate="label">

        <block type="amazon_payments/login_script" name="amazon_login.script" template="amazon_payments/login/script.phtml" />
        <block type="amazon_payments/login_button" name="amazon_login.button_login" template="amazon_payments/login/button.phtml" before="content" />

        <!-- ifconfig only works with action -->
        <reference name="after_body_start">
            <action method="append" ifconfig="payment/amazon_payments/enabled">
                <block>amazon_login.script</block>
            </action>
        </reference>

        <reference name="content">
            <action method="append" ifconfig="payment/amazon_payments/enabled">
                <block>amazon_login.button_login</block>
            </action>
        </reference>
    </customer_account_login>


Add copyright headers to all files

While at it, also remove the file name from existing copyright headers. Formatting of the file names was inconsitent, it was often forgotten to change these if files were renamed and I don’t see a purpose for them. Let’s remove them to be consistent.
rdar://101419597

@swift-ci Please test

@swift-ci Please test


re broken with unicode

I suspect that re talks in bytes but that the substrings are done in unicode chars.
var str = "é12345"

var re1 = "3".to_re
print str.split(re1)
# expected ["é12","45"], got [é123,5]

var re2 = "5".to_re
print str.split(re2)
# expected something, got
# ../lib/standard/text/string_search.nit:259,3--52: Runtime error: Assert 'valid_after' failed

closed by #1662


For the position of navigation bar, Make a transition from top bar design to left sidebar design; also add a website logo on upper part of sidebar

Is your feature request related to a problem? Please describe.
Not related to a problem. It`s a visual and user experience enhancement for the navigation bar of the website
Describe the solution you'd like
Reorganize the layout of web content and write related CSS files to style them.
Describe alternatives you've considered
None
Additional context
Also add a logo for "Simplii" instead of plain bold big font text

Yes, this sounds great to me. Please go ahead and commit any frontend related changes that you've made. We can then publish another release of the project.

This will make our website look good.


Concurrent file uploads hang when using HTTPS

What happened?
I'm experiencing an issue where concurrent file uploads hang indefinitely when querying the site via https.
Below is a super basic demonstration.
It occurs with as few as 20 files depending on the machine and build type.
Increasing the max_requests or the number of threads doesn't seem to help.
It doesn't happen without https, or on a regular apache web server with https.
Most of the time no error is shown in the logs, but I did get a go panic output once, not sure if it's related to this issue though...
Build Type
I tried both the docker version v1.2.5 (dunglas/frankenphp:latest) and the official static build with the same result, in worker mode (with octane) or not.
Operating system
Same problem both on my machine (WSL Ubuntu-22.04 x86_64) in local (PHP 8.3.12), and on a VPS running on Debian 12 (amd64, PHP 8.2.23) with a public domain.
PHP Page code example
<?php
if(isset($_FILES) && count($_FILES) > 0){
    echo json_encode(['status' => 'success']);
    exit;
}
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    <body>

        <input multiple type="file" accept=".pdf"/>
        <button onclick="sendToServer()">Post files to server</button>

        <script>

           async function sendToServer() {
               const files = document.querySelector('input[type="file"]').files;
               const promises = [];
               for (let i = 0; i < files.length; i++) {
                   promises.push(postPromise(files[i]));
               }
               await Promise.all(promises);
               alert('All files uploaded');
           }

            function postPromise(file){
                return new Promise( function(resolve, reject){
                    const fd = new FormData();
                    fd.append('file', file);
                    fetch('savefile', {
                        method: 'POST',
                        body: fd
                    }).then(response => {
                       resolve(response);
                    }).catch(error => {
                       reject({
                           status: error.status,
                            statusText: error.statusText
                        });
                    });
                });
            }
        </script>
    </body>
 </html>

Build Type
Custom (tell us more in the description)
Worker Mode
No
Operating System
GNU/Linux
CPU Architecture
x86_64
PHP configuration
PHP Version 8.3.11

Relevant log output
panic: error during PHP script execution
goroutine 67 [running, locked to thread]:
github.com/dunglas/frankenphp.go_handle_request()
        /go/src/app/frankenphp.go:496 +0x2dd

What version of HTTP are you using?
Could you try if enabling full-duplex fixed the issue? https://caddyserver.com/docs/caddyfile/options#enable-full-duplex

Thanks. Would you be able to create a minimal reproducer (like a tiny repository with a script reproducing the issue)? This would help a lot to debug.

Sure, actually the PHP Code example of my first post is already it, but here it is.


Bouncy Castle 1.52

Hey @rtyley
it's time again ;)
Bouncy Castle has been tagged as 1.52: https://github.com/bcgit/bc-java/releases/tag/r1rv52

Are there any plans for spongycastle to merge upstream changes?

I started up a new branch when https://github.com/bcgit/bc-java/releases/tag/r1rv52 came out, but getting the bouncycastle test suite to pass with each new release is always a major investment of time. As soon as there's a green build on https://travis-ci.org/rtyley/spongycastle/branches, I'll do a release. I'm pretty busy.

Spongycastle v<IP_ADDRESS> has now been released: https://github.com/rtyley/spongycastle/releases/tag/sc-v<IP_ADDRESS>

:+1:

Thank you very much for doing this - just wanted to respond back and say that my tests were all green =).

Thank you very much for doing this - just wanted to respond back and say that my tests were all green =).

That's good!


with openssl version error

with Debug has the exception:

Trying xxx:9722...
Connected to xxx (xxxx) port 9722 (#0)
ALPN: offers http/1.1
OpenSSL/3.1.0: error:0A00010B:SSL routines::wrong version number
Closing connection 0

i'm install minio-cpp with vcpkg install minio-cpp,

Check your server why it is failing.


[issue24] Fix wrong constructor calls for ConstrainStepSize

A patch for issue #24.

Fixed the ordering in the call sites, the interface for constructor left as is: function argument comes first.
Added constrain_step to tests to ensure this is checked.


New Tracker

Hello, I have a TK305 I don't know what's the port to him.
##,imei:359710048******,A;
when I decoded the hex code, show me this! I have put on port 5023!
Help-me please!

Correct port for your device is 5001. Also, please read following page:
https://www.traccar.org/ports-for-tk-gt-and-other-gps-devices/

Thank you dear!


function for check rpm signarures

Originally tracked in https://github.com/fedora-modularity/conu/issues/4.

fixed by #129


build(version): bump to v1.4.0

Codecov Report

Merging #230 (27c0834) into master (97e2269) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #230   +/-   ##
=======================================
  Coverage   62.40%   62.40%
=======================================
  Files          58       58
  Lines        2865     2865
  Branches      583      583
=======================================
  Hits         1788     1788
  Misses        942      942
  Partials      135      135

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 97e2269...27c0834. Read the comment docs.


Add more input validation to add conda environment

The "no packages" in particular will probably cause confusion. This will lead to an environment without python, the user will wonder why it doesn't appear in the environment window.
It will be difficult without waiting for the conda preview to determine if the environment will have python or not, but one thing is for sure is that if packages text box is empty, it will not have python.

We can wait a bit for user feedback.


Deletion of a DPU in a middle of provisioning sequence will hang until "OS Installing" phase is completed

Known Issue
Deleting an existing DPU object will usually trigger an immediate DPU Reprovisioning.
However, if a DPU object is deleted in a middle of on-going provisioning sequence (DPU object phase is "OS Installing"), the deletion will hang until the provisioning phase is finished successfully or times out.
Once this DPU provisioning phase is done, it will not proceed to the next phase and the deletion operation which was queued will proceed to terminate the DPU object.
This mechanism is by design and intended to protect the DPU provisioning flow.

perhaps we should reflect that in the condition msg ?

Why is that a known issue? this is a feature and expected behavior...


bulkAPI documentation

Description
Specified Bulk Service Configuration in bulkAPI MD file

Datasource
Limits
Experiment Name
Bulk API Threads

Fixes # (issue)
Type of change

[ ] Bug fix
[ ] New feature
[ ] Docs update
[ ] Breaking change (What changes might users need to make in their application due to this PR?)
[ ] Requires DB changes

How has this been tested?
Please describe the tests that were run to verify your changes and steps to reproduce. Please specify any test configuration required.

[ ] New Test X
[ ] Functional testsuite

Test Configuration

Kubernetes clusters tested on:

Checklist :dart:

[ ] Followed coding guidelines
[ ] Comments added
[ ] Dependent changes merged
[ ] Documentation updated
[ ] Tests added or updated

Additional information
Include any additional information such as links, test results, screenshots here

Closing this as PR #1350 supersedes ths


[HOLD for payment 2023-05-25] [$1000] On click of ESC while 'copy URL to clipboard' popup is open, app closes both 'copy URL to clipboard' popup and RHN

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app
Open settings
Right click on Help to open 'copy URL to clipboard'
Click on ESC

Expected Result:
App should only close 'copy URL to clipboard' popup on ESC click like it does for delete workspace popup
Actual Result:
App closes both 'copy URL to clipboard' popup and RHN on single ESC click
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43996225/236695417-f8f36fa3-260f-4151-adb4-094e398bc254.mp4
https://user-images.githubusercontent.com/43996225/236695423-bbdaf8c3-5ed0-4907-9471-dbb7ef1f9035.mp4
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1683388261937479
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01f4c841961ae2e365
Upwork Job ID:<PHONE_NUMBER>847545344
Last Price Increase: 2023-05-12

@dhanashree-sawant and/or @huzaifa-99 , can you please document all areas of the app where this is happening so we can fix them at one time?  I see two more instances here

HI @mallenexpensify, Sure will go through it and let you know all the instances.

Few more instances of the issue which @huzaifa-99 missed:

In settings page, help link

In settings->workspaces->any workspace->Reimburse expenses->View all receipts link

In settings->workspaces->any workspace->Pay bills->View all bills link

In settings->workspaces->any workspace->Send invoices-> send invoice link and view all invoices link

Thanks @huzaifa-99 and @dhanashree-sawant , teamwork!!!
@s77rt , can you please review?

@huzaifa-99 Thanks for the proposal. I don't think your RCA is complete. It seems that you are treating this bug as a feature request but it's actually a bug, the feature is already implemented on ScreenWrapper.

@allroundexperts Thanks for the proposal. Your RCA is correct; We are missing the case where the modal is initially rendered visible. The suggested fix makes sense; Cover that case by calling willAlertModalBecomeVisible on componentDidMount.
I just have a non-blocking question, what cases would it cover calling  willAlertModalBecomeVisible on componentWillUnmount.
:ribbon: :eyes: :ribbon: C+ reviewed
cc @techievivek
And please copy the proposal from the other issue to this for visibility.

@allroundexperts Yeah I got the idea. I'm asking if you can pinpoint a real existing case. I'm asking because although we mostly have 1 visible modal at a time, we may have n rendered modal at a time. If we are going to call willAlertModalBecomeVisible on componentWillUnmount we need to make sure that the modal getting unmounted was actually visible.

@allroundexperts Thanks for the quick follow up. Let's do this then:

componentDidMount if modal is visible call Modal.willAlertModalBecomeVisible(true)
componentWillUnmount if modal is visible call Modal.willAlertModalBecomeVisible(false)

Not overdue. Job has been assigned to @allroundexperts

The PR that introduced the bug has been identified: This existed since day one. The following PR could have fixed it but it's not a regression https://github.com/Expensify/App/pull/5889
The offending PR has been commented on: https://github.com/Expensify/App/pull/5889#issuecomment-1553375107
A discussion in #expensify-bugs has been started: https://expensify.slack.com/archives/C049HHMV9SM/p1684430857010149
Determine if we should create a regression test for this bug: Yes

Regression Test Proposal

Open App
Go to Settings
Right click on "Help"
Verify a modal popover is shown
Press ESC
Verify the modal is closed but the Settings page is still shown
Press ESC
Verify the Settings page is closed

@s77rt , @allroundexperts , @dhanashree-sawant can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~01f4c841961ae2e365

@mallenexpensify Accepted!

Thanks @mallenexpensify, Accepted the offer.

Not overdue, we are waiting for the payment to complete.

@dhanashree-sawant paid $250 for reporting, @s77rt and @allroundexperts paid $1500, including the 50% timeliness bonus.
TestRail update GH

https://github.com/Expensify/Expensify/issues/287386

Thanks all!