Library fails to build with wxWidgets built with WXWIN_COMPATIBILITY_3_0 set to 0

When building the library using wxWidgets built with WXWIN_COMPATIBILITY_3_0 set to 0, this code fails to compile:
https://github.com/Blake-Madden/Wisteria-Dataviz/blob/28a670ba46bb9b61a6bbcc29b6120e98ff2638b3/src/util/logfile.cpp#L113-L153
Error C2039 'timestamp': is not a member of 'wxLogRecordInfo'	Wisteria	D:\dev\Desktop\Lib\Wisteria-Dataviz-GIT\src\util\logfile.cpp 115
It is because the deprecated wxLogRecordInfo::timestamp is not available anymore:
https://github.com/wxWidgets/wxWidgets/blob/17371d911d9ec68b0c2d98c7f56977523803b392/include/wx/log.h#L151-L153
It is probably simple to fix by just using wxLogRecordInfo::timestampMS divided by 1000, but it could be better to not duplicate wxLogFormatter code and use it (perhaps customized) instead.
BTW, is LogFile::DoLogTextAtLevel() ever called? In wxLog classes it is usually called from DoLogRecord() but you do not call it from there nor call the base method. But I may be missing something.

Thanks, I changed it to use timestampMS, wxDateTime excepts that no problem.
I don't think DoLogTextAtLevel() is called, but it's part of the virtual API for some reason (or at least it used to be).  I'll re-investigate that...

Fixed by Fix wx 3.2 compile error

OK, so DoLogTextAtLevel() is part of the base virtual API.  Not sure when the framework calls it, but I suppose I have to provide an override for it just in case.

Not sure when the framework calls it.

As I wrote before, I think it never does outside from the base DoLogRecord(), which you do not call. See also the method descriptions at https://github.com/wxWidgets/wxWidgets/blob/351b76ace03a7923e2e761e985a5d3b0a5f3f877/include/wx/log.h#L565
Either way, it's not that your override is harmful, just unused.


ci: build darwin binary (macOS cli)

We would get rid of #36

Thanks! although this seems to not work as-is, looks like the screenshot part does not work on darwin:
#   ⨯ build failed after 37.70s error=failed to build for darwin_amd64_v1: exit status 2: # github.com/kbinani/screenshot
../go/pkg/mod/github.com/kbinani/screenshot@v0.0.0-20210720154843-7d3a670d8329/screenshot.go:11:10: undefined: GetDisplayBounds
../go/pkg/mod/github.com/kbinani/screenshot@v0.0.0-20210720154843-7d3a670d8329/screenshot.go:17:9: undefined: Capture

would make sense to disable screenshot capturing on darwin if there isn't any other library providing the same capabilities for macOS - but as I don't own one, can't even double check if it actually works.
been testing with:
 goreleaser build --rm-dist --skip-validate --snapshot

@mudler
I also faced with another one
../../go/pkg/mod/github.com/kbinani/screenshot@v0.0.0-20210720154843-7d3a670d8329/screenshot.go:11:10: undefined: GetDisplayBounds
../../go/pkg/mod/github.com/kbinani/screenshot@v0.0.0-20210720154843-7d3a670d8329/screenshot.go:17:9: undefined: Capture
# github.com/elastic/gosigar
../../go/pkg/mod/github.com/elastic/gosigar@v0.14.2/concrete_sigar.go:20:12: cpuUsage.Get undefined (type Cpu has no field or method Get)
../../go/pkg/mod/github.com/elastic/gosigar@v0.14.2/concrete_sigar.go:30:14: cpuUsage.Get undefined (type Cpu has no field or method Get)
../../go/pkg/mod/github.com/elastic/gosigar@v0.14.2/concrete_sigar.go:49:11: l.Get undefined (type LoadAverage has no field or method Get)
../../go/pkg/mod/github.com/elastic/gosigar@v0.14.2/concrete_sigar.go:55:11: m.Get undefined (type Mem has no field or method Get)
../../go/pkg/mod/github.com/elastic/gosigar@v0.14.2/concrete_sigar.go:61:11: s.Get undefined (type Swap has no field or method Get)
../../go/pkg/mod/github.com/elastic/gosigar@v0.14.2/concrete_sigar.go:67:11: p.Get undefined (type HugeTLBPages has no field or method Get)
../../go/pkg/mod/github.com/elastic/gosigar@v0.14.2/concrete_sigar.go:79:12: fd.Get undefined (type FDUsage has no field or method Get)
../../go/pkg/mod/github.com/elastic/gosigar@v0.14.2/sigar_darwin.go:13:12: undefined: sysctlbyname

I'm not sure it makes sense to compile some deps in Darwin.
I saw this PR https://github.com/c3os-io/c3os/pull/37 where you mentioned that you are decapling it. Should we wait for it? My expectation is that we don't have those deps in the cli itself.

I'm not sure it makes sense to compile some deps in Darwin. I saw this PR #37 where you mentioned that you are decapling it. Should we wait for it? My expectation is that we don't have those deps in the cli itself.

Thank you so much for the pr!
yup makes sense, although some of the issues would persist, like the one I've mentioned, but gosigar should be fine. Let's pick it up from there

@renanqts thanks again for the efforts, the CLI has moved to kairos-io/provider-kairos, however the problem still persist (that the screenshot lib isn't available) so I'm closing this PR as it is now obsoleted.  What we could do is disable the screenshot feature on macOS, and just take an image file, feel free to open an issue so we can track it


:sparkles: Styling amends to the enter a postcode page

padding-top of .local-header was for titles on our service on mobile, but also on the "midstate" viewport.

 Styling amends on the find postcode screen


Filter input loses focus while fetching

Description
The filter input loses focus while the site is fetching the information, you can't filter while the information is being fetched.
It happens for all filter.
Steps to reproduce

run dev
go to any page with a filter and try to select the filter while the data is fetching

Rucio WebUI Version
master
Additional Information

Issue 385 is about a similar problem
The list-rule page continuously fetches data and creates this error "Maximum update depth exceeded"

This could be fixed by #431

This will definitely fix the issue as AG Grid works fantastically well with its applyTransaction method. The testing shows no problems with filtering data while fetching.

This could be fixed by #431


Android Basics: Navigation backstack

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-navigation-backstack
In which task and step of the codelab can this issue be found?
5. Send the order
Describe the problem
In the code for the full sendOrder() method, the last argument for getString() that will be placed in the orderSummary variable is sharedViewModel.priceString.value.toString(), however this should be sharedViewModel.price.value.toString().
Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

This problem is still existing, however, the source code on GitHub is right
Link: fun sendorder()

@ @detinsley1s
Thank you so much for reporting this issue. This is fixed and will be published soon.


3D meshing does not handle holes

@HelgeGehring

sometimes also some layers are missing :/

#1196 fixes the hole meshing issue
There are still issues with physical retagging after setting interfaces, which may be related to this other issue


"Hide O365 Groups from Exchange Clients" docs.microsoft.com article is wrong?

Hello,
can it be that this article is wrong?
https://docs.microsoft.com/en-us/schooldatasync/hide-office-365-groups-from-the-gal
Once connected you can run the below command to hide an individual Group from Exchange Clients. This will also hide the Group from the GAL.
Set-UnifiedGroup -Identity <UnifiedGroupIdParameter> -HiddenFromExchangeClientsEnabled $true
Between HiddenFromExchangeClientsEnabled and true there must be a colon and no space or?
Set-UnifiedGroup -Identity <UnifiedGroupIdParameter> -HiddenFromExchangeClientsEnabled:$true

Hi @kurzpc, thank you for your feedback.
This issue was corrected.


#421 added config file support

This PR resolves the issue #421
1. sub-command: init-config

Usage:
go run main.go init-config

it will generate default config file at /etc/dice/dice.conf
2 load your config file located anywhare

go run main.go -c <path-to-your-dice.conf>

[!NOTE]
Since default location of config file is /etc/dice/dice.conf so we have to start DiceDB with appropriate permission to create and read config file.

We should probably use an already available config library for this instead of rolling our own logic.

We should probably use an already available config library for this instead of rolling our own logic.

Should I replace file reading and parsing part by using koanf / viper lib?

We can go ahead with Viper

We should probably use an already available config library for this instead of rolling our own logic.

Should I replace file reading and parsing part by using koanf / viper lib?

We can go ahead with Viper

I am thankful for the further respond from the community and would like to contribute 🙏🏼

We should probably use an already available config library for this instead of rolling our own logic.

Should I replace file reading and parsing part by using koanf / viper lib?

We can go ahead with Viper

Agree, viper has a much better support and ecosystem in place...


Add day 11 subcontent

Select the Day of Content
Day 11
What information is missing?
I would like to add an additional topic to overloading - "Operator overloading" to day 11. Kindly assign me the issue under gssoc'24

Please assign me the issue


Fixex Custom Theme not being applied in project manager.

Fixes: https://github.com/godotengine/godot/issues/96023
Problem:
The Project Manager was not correctly applying custom themes due to changes introduced by the EditorThemeManager. When setting a new theme, the base color, accent color, and contrast properties were being saved to disk. This caused issues when switching between default themes (e.g., "Light" or "Godot 2") and custom themes. Specifically, selecting a default theme would save its properties to disk, leading to the loss of the custom theme’s settings when switching back.
Cause:
Every time a theme was selected, its properties were saved to disk. This applied to both default editor themes and custom themes, which meant that switching to a default theme would overwrite the saved custom theme properties. As a result, the custom theme settings were not preserved.
Solution:
The PR changes the behavior to only save theme properties to disk when modifying the "Custom" preset. For default editor themes, properties are retrieved directly from the ThemeColorProperties table instead of saving them, ensuring that custom themes maintain their specific settings without being overridden by default theme selections.

You've already opened this once before, closing as a duplicate, please squash your commits in your original PR instead

Sorry for the inconvenience, so through this way it is way cleaner.

You lose a lot of tracking by closing a PR that's already tagged, and it's easier to just clean up the commits


Update Amazon Logistics Team

Amazon Logistics has a whole bunch of people mapping for them. Their team already was already created in OSMCha but So far it only consists of 1 user (rojganes).
The whole list of contributes related to Amazon Logistics can be found here: https://wiki.openstreetmap.org/wiki/Amazon_Logistics#Editors
It would be very useful and important to complete the team so that it's easy to monitor their activity in you area. But it seems like it's nothing one could who's not owner of the team.
Is there a way for the devs to fix this issue or would the user need to be contacted?
I attached a ;-seperated list of all users taken from the wiki page and also the json file for the team.
Amazon Logistics editors.json.txt
Amazon Logistics editors.txt

@Hedaja The ideal would be someone from the organization to create a team and ask me to trust that team, that way the team will receive an special identification on OSMCha and users will know that it's correct. Are you part of the Amazon team?  If not, I can see other solution.

I'm not part of the Amazon team. I was just interested in what and how they map.
The Amazon logistics team is listed in the filter already, so hasn't it gone through the trusted process? Guess the best thing would be to contact that user that created it.


Add config "extraClassAnnotations" (enabler for Lombok usage)

this PR introduces a new config extraClassAnnotations that allows the user to specify fully qualified class names of annotations that should be put on all classes during code generation.
its primary motivation is to enable the usage of lombok without this library depending on lombok. and hence the generic solution approach. if wanted, the user can extend the use case to other annotations.
the main work is in core module. maven, cli, ant and gradle modules are adjusted accordingly to enable this config with all entry points. the following examples are for the maven plugin.
as an example, in order to use it with lombok, the following configurations can be included:
<configuration>
    ....
    <!-- either getters or setters have to be enabled, because jsonschema2pojo makes the fields public otherwise -->
    <includeGetters>true</includeGetters>
    <includeSetters>false</includeSetters>
    <includeToString>false</includeToString>
    <includeHashcodeAndEquals>false</includeHashcodeAndEquals>
    <extraClassAnnotations>
        <annotation>lombok.NoArgsConstructor</annotation>
        <annotation>lombok.Setter</annotation>
        <annotation>lombok.ToString</annotation>
        <annotation>lombok.EqualsAndHashCode</annotation>
    </extraClassAnnotations>
    ....
</configuration>

if having public fields is not an issue, another example would be:
<configuration>
    ....
    <includeGetters>false</includeGetters>
    <includeSetters>false</includeSetters>
    <includeToString>false</includeToString>
    <includeHashcodeAndEquals>false</includeHashcodeAndEquals>
    <extraClassAnnotations>
        <annotation>lombok.Data</annotation>
    </extraClassAnnotations>
    ....
</configuration>

keep in mind that lombok (or the annotation the user is trying to add) should be included in the project executing this plugin.
References:

https://github.com/joelittlejohn/jsonschema2pojo/issues/166
https://github.com/joelittlejohn/jsonschema2pojo/issues/166#issuecomment-1079443937

@joelittlejohn Why doesn't this getting merged already?

@goekay the PR shows as out of sync with base branch, any chance you can update the PR?
@joelittlejohn is there anything else required to get this feature merged?
I really like the concept of Lombok integration and our team would greatly benefit from it as well.

@princefisher done, thanks for the heads up.

Any update on this feature?  I would also like to add a property that will override the field access regardless if
includeGetters and includeSetters is false.
Currently I had to use an RuleFactory and PropertyRule just to have private fields if I disabled the getters and setters.  I also had to implement  an AbstractAnnator.
In my case I would want JMod.PRIVATE since Lombok would be generating the accessors.
Jmod.NONE could also be used with @FieldDefaults(level=AccessLevel.PRIVATE)

@goekay Will this PR handle annotations with properties like @Accessors(fluent = true, chain = true) or @FieldDefaults(level=AccessLevel.PRIVATE)?

@octgsoftware no. the properties of the annotations are not handled.

this is where i give up.

@joelittlejohn @goekay Is it possible if we take another go at this?


Add Github action to build and publish Mkdocs.

The travis config needs to be removed so there aren't competing builds.

Also, looks like the build for this failed:

error: failed to push some refs to 'https://github.com/Netflix/atlas-docs'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Yep, this ended up being a bit fiddly. I thought it needed a deploy key like our Travis build, but it does not, because it is all local to GitHub which is the source of truth for the site. All we needed to add was a fetch for the gh-pages branch before the mkdocs gh-deploy step, but it took a few iterations to figure that out.
This is all fixed now.


Compiler error in calculator

an Error occurs while running the calculator
error: calculator:0.0.0\lib.bal:1:1: unknown type 'package'
error: calculator:0.0.0\main.bal:1:1: unknown type 'package'
error: calculator:0.0.0\main.bal:1:1: redeclared symbol 'calculator'
Affected Versions:
0.970.1
OS, DB, other environment details and versions:
Windows 10

you need to remove package declaration on the top of the file to get this work.
This is automatically created by composer new file

you don't want to declare package..


Use a string interner for PDB connectivity

The PDB connectivity table contains a lot of identical strings. Instead of having multiple copies of "C1" laying around, this puts the string in a vector, and then use an index to link to it.
This divides the object file by 4 on my system when compiling with clang -O2. This might allow to have more residues as default in the code.

Everything looks good to me!


internal/pkg/scaffold: fix versions for go mod proxy

Description of the change:
As a follow on to #1612, this PR changes the timestamps in the go mod scaffolds for k8s.io/api and k8s.io/apimachinery so that GOPROXY can be used when building scaffolded projects.
Motivation for the change:
Oddly, when GOPROXY=https://proxy.golang.org the e2e tests on master fail with an error about an invalid module version:
build github.com/example-inc/nginx-operator/cmd/manager: cannot load k8s.io/api/admission/v1beta1: unexpected status (https://proxy.golang.org/k8s.io/api/@v/v0.0.0-20190222131558-5cb15d344471.zip): 400 Bad Request

For some reason, without GOPROXY set, go build accepts both old and new version strings.

/test marker

/test e2e-aws-ansible

/test e2e-aws-ansible

/test e2e-aws-ansible

/test e2e-aws-ansible

/test e2e-aws-ansible

/test e2e-aws-ansible

/test e2e-aws-helm

This is obsolete now that #1566 has been merged.


Pipe changes type of Subject to Observable

#4379 Was swept under the rug. Let's fix this, it is a pain for people using RxJS. For example you cannot build your Angular app for production unless you type the the variable as any, it can really throw people off.
Bug Report
Current Behavior
const subject$ = new Subject().pipe() // :: Observable

Reproduction

Stackblitz link

import { Subject } from "rxjs"

const subject$ = new Subject().pipe()

subject$.next() // ❌

Expected behavior
Type is preserved after piping, be it a Subject, BehaviorSubject, ReplaySubject etc.
Environment

Runtime: [e.g. Node ^8, Chrome ^60]
RxJS version: ^6

Possible Solution

#4379 is quite vague about what is in the heart of the problem
Are there are known obstacles which stand in the way of resolving this issue?
Additional context/Screenshots

This is exact dupe of issue you referred: it is designed behavior to provide new observable when operator is chained (when pipe invoked). It's not changing just types but actually gives observables in runtime. We don't have immediate plan to change this designed behavior.

This is exact dupe of issue you referred: it is designed behavior to provide new observable when operator is chained (when pipe invoked). It's not changing just types but actually gives observables in runtime. We don't have immediate plan to change this designed behavior.

Of course pipe returns a new Observable, however a Subject is just a specialized type of Observable

yes and yes. This is based on internal architecture of lift to create new instance of observable, until we revisit internal architectures it wont' be achievable easily, also there are some discussion / argument around behavior for carry-overing custom observable implementation over chained operators. So in short, we don't consider to change this in short amount of time until we get more clear sense around technical/behavioral exploration.

yes and yes. This is based on internal architecture of lift to create new instance of observable, until we revisit internal architectures it wont' be achievable easily, also there are some discussion / argument around behavior for carry-overing custom observable implementation over chained operators. So in short, we don't consider to change this in short amount of time until we get more clear sense around technical/behavioral exploration.

Thank you for providing further insight, I've got a clearer picture of the matter at hand. What is your suggestion to work around the issue currently, is there a better way than just adding as any?

@kwonoj It may be good for other devs to reopen the issue so that we can track progress


TRIVIAGEN-5: Defining the package structure for core and feature

Defines the package structure for core and feature packages

What's the difference between core and feature/trivia packages? Also, I think feature package is useless and core, ui, feature1, feature2... can be stored in one folder. Lastly, our app have only one feature yet, right? I mean that user enter topic, AI provides question, then final screen and main menu. It is the core, so you can leave one package called core and create another packages when we want to implement the auth, profile, multiplayer etc.

So my intention with core is anything that is shared across different features. For instance it could be used at the launch of the app to see if user already exists and could also be used in user profile feature. We could also have result after the Trivia round is complete to show users what they got right and wrong. I'm just putting the package now so we know where to put shared functionality in the future.
core can also have base network like retrofit that can be used across the different data layers of different features.
feature package is to organize all the features like login, register, trivia, profile, trivia-result and so on. It gives a clear partition between core and the other features.
This is a hybrid between Phillip's approach (I don't think he had a features package) and nowinandroid (it has features module) -> Image
I think we'll be using the core shortly once we have a baseurl for Retrofit.

What's the difference between core and feature/trivia packages? Also, I think feature package is useless and core, ui, feature1, feature2... can be stored in one folder. Lastly, our app have only one feature yet, right? I mean that user enter topic, AI provides question, then final screen and main menu. It is the core, so you can leave one package called core and create another packages when we want to implement the auth, profile, multiplayer etc.

Are you suggesting something like:

core
trivia
ui
MainActivity.kt
TriviaGenApplication.kt

The pros to this approach are simplicity and less overhead. We can introduce features package later if there are more that we create. Also, core would still be handy to include retrofit and can be used for shared functionality. Let me know if this works and I can make the changes.

Okey, your suggestion is good, but I would add di package for dependency injection. Everything else is good.

Closing the PR. This has been resolved in https://github.com/sidcgithub/ai-trivia-app-android/pull/10


Generic Transaction

With the new update, the Transaction became a generic type, but its broken all my code, see the example below:

I can't use the same transaction for two different queries and it create a idea that is not possible.

What is the error typescript is giving? It might be caused also because you are shadowing variable name transaction. Try to change inner transaction argument name to trx and pass that to queries?

Rename didn't work, The error message:
Argument of type 'Transaction<User>' is not assignable to parameter of type 'Transaction<ChurchUser>'.
  Type 'User' is not assignable to type 'ChurchUser'.
    Property 'userId' is missing in type 'User'.

The ChurchUser.query() expect a Transaction not a Transaction, but Transaction works in both cases

Yeah, looks like typing is too strict. These are good test cases for typings 👍

Yep! I think Transaction don't need to be a Generic Type, like before...


Support .NET Standard

I have an old (legacy) project that is using .NET Framework 4.6.2 and Microsoft.CrmSdk.XrmTooling.CoreAssembly <IP_ADDRESS>
I'd like to move my project to .NET 6, to do that I'd like to port my common code to .NET Standard 2.0 (because it supports .NET 4.62 and .NET 6).
I'd like to use your project, but it targets .NET Core 3.1.
Can it target .NET Standard 2.0?

Or target multiple frameworks.
I was able to compile your library against net462;net472;net48;netcoreapp3.1 ( same as dataverse NuGet).
https://github.com/Misiu/DataverseClient/commit/5aa29867ce4fcb123e058e45be07d3945d51181f
I can create PR if this is a feature you may consider adding.

This is something that might be useful for me as well.

I don't believe the required APIs are available in .NET Standard 2.0, but I'd be happy to look at a PR for multi-targeting.

@MarkMpn I'll create PR after some tests. My test app in .NET 6 works perfectly, but I must create a similar one in .NET Framework 4.6.2 and 4.8. I'll do that right away and create PR so we can start working on adding support for multiple targets.

@MarkMpn - https://github.com/Data8/DataverseClient/pull/12
Reviews and comments are more than welcome :)

@MarkMpn I can do an additional cleanup of the project when my first PR gets approved.
Some quick fixes Resharper suggested: https://github.com/Misiu/DataverseClient/commit/d48f2914869a56af120f43f38b2490165c5a0aa0

Fixed in #12  - thanks!

@MarkMpn what about cleanup? I can do that in the next PR.
ANy chance to release a new version with my changes?

New version is building now, should be pushed to NuGet shortly.
I'm happy to review any other PRs, but I'm not a fan of accepting all Resharper suggestions without some thought. Each change should add some real value, in terms of readability, performance or correctness.

@MarkMpn I agree with that. Resharper isn't perfect.
https://github.com/Data8/DataverseClient/pull/13

New version is building now, should be pushed to NuGet shortly.

A new version on NuGet is available, but Tag (https://github.com/Data8/DataverseClient/tags) is missing.


Template not work: The project is using an incompatible version (AGP 7.4.2) of the Android Gradle plugin. Latest supported version is AGP 7.2.0 See Android Studio & AGP compatibility options.

Describe the bug
A clear and concise description of what the bug is.
Affected platforms
Select one of the platforms below:

All

Versions

Kotlin version*:
Compose Multiplatform version*:
OS version(s)* (required for Desktop and iOS issues):
OS architecture (x86 or arm64):
JDK (for desktop issues):

To Reproduce
git clone https://github.com/JetBrains/compose-multiplatform-template
and use IntelliJ IDEA 2022.2.3 (Community Edition) open the folder
trigger gradle sync
will show

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

You need to use Android Studio, not IDEA.

You need to use Android Studio, not IDEA.

Thanks your answer, BTW how about required Android Studio version?
I use Android Studio Flamingo | 2022.2.1 Beta 4
But gradle sync has some error like:
Cannot convert object of class org.jetbrains.kotlin.idea.gradleTooling.arguments.CachedExtractedArgsInfoImpl to org.jetbrains.kotlin.idea.projectModel.CachedArgsInfo<?>.

I'm on Android Studio Flamingo | 2022.2.1 Patch 2 and it appears to work for me. Can you try all the steps from https://github.com/JetBrains/compose-multiplatform-template from scratch, using Android Studio?

Perhaps clearing some cache (gradle and/or Android Studio) will help? Also try the latest stable Android Studio Flamingo | 2022.2.1 Patch 2

Also make sure you have the Kotlin Multiplatform Mobile plugin installed:

Also make sure you have the Kotlin Multiplatform Mobile plugin installed:

Android Studio Flamingo | 2022.2.1 Patch 2 can work，Thank you very much1

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


webp image support

Hi,
I wanted to contribute webp encoding/decoding to imaging (very nice library btw)!
However I think webp support was introduced around 1.2 and I seem to have read that you'd rather preserve compatibility with older go versions.
Should I rather write webp support in my own application?

Hi,
Thanks!
I thought of adding webp support via golang.org/x/image/webp package (pure Go, supported by the Go team). But it seems it implements only the decoder and not the encoder by now.
What package would you suggest?
Go 1.2 requirement is OK, it's already required for GIF encoding.

I only found http://godoc.org/github.com/chai2010/gopkg/image/webp for webp encoding

Yes, I've found it too, but it depends on the C library.
I think it will be better to use it in your application to load and save images, and use imaging for image manipulation.


Remove required semicolon at end of if statements

@brendangregg
As discussed a couple of days ago, now semicolons are not needed at the end of if statements #192.
Now expressions inside blocks must end with a semicolon, and I have updated the tests and tools to reflect this new rule.

Thanks; this also removes the optional semicolon at the end of normal statements? I think these should all still work:
probe { @ = count() }
probe { @ = count(); }
probe { $x = 1; @ = count() }
probe { $x = 1; @ = count(); }

@brendangregg
No, with this change it's required to end normal statements with a semicolon, that means that these statements are not valid.
probe { @ = count() }
probe { $x = 1; @ = count() }

but these are
probe { @ = count(); }
probe { $x = 1; @ = count(); }

Would this be a problem?

Allowing that final semicolon to be missing just makes it a bit easier to write simple one-liners so I'd prefer to keep that functionality if we can. I think that's why all the extra tests are failing in CI at the moment too - lots of them don't have the final semicolon.
Also there appear to be a few extra spaces introduced into the grammar in this change - could they be removed please? I'd like to keep it so there's only a single space between each element so everything stays consistent

@ajor
I'll work on removing the extra spaces, regarding the optional semicolon at the end of the last statement,  I'll need to check on how to do it, but I think this change does not make too cumbersome creating one-liners. It broke a lot of tests though, and I'll fix those I hope today.

Yeah this change is probably fine actually. I’ll merge once the tests and spaces are done unless anyone else has options on semicolons


Does it support lumen?

great plugin,but how can i use it in my lumen project?

I managed to get the project working in Lumen for 5.x but it seems I cannot get 6.0 to work. I cant remember everything I did but all the information is out there...
Here is just a few things to get you started
I had to add a few lines to my bootstrap/app.php file:
$app->withFacades();
class_alias('yajra\Datatables\Datatables', 'Datatables');
$app->configure('datatables');
$app->register('yajra\Datatables\DatatablesServiceProvider');

I also had to create a config folder and did a php artisan vendor:publish and after some shouting it all seemed to work.
The steps are almost the same for any plugin you want to convert to using Lumen from Laravel so if I was you just Google.

@MightySCollins tks for your answer,it's also support lumen for 6.0, i make some little changes.
uncomment these lines in registerCommands method of DatatablesServiceProvider

 // $loader = \Illuminate\Foundation\AliasLoader::getInstance();
  // $loader->alias('Datatables', \Yajra\Datatables\Datatables::class);

and add base_path(), config_path() in your autoload helper

if ( ! function_exists('config_path'))
{
    /**
     * Get the configuration path.
     *
     * @param  string $path
     * @return string
     */
    function config_path($path = '')
    {
        return app()->basePath() . '/config' . ($path ? '/' . $path : $path);
    }
}

if(!function_exists('public_path'))
{
        /**
        * Return the path to public dir
        * @param null $path
        * @return string
        */
        function public_path($path=null)
        {
                return rtrim(app()->basePath('public/'.$path), '/');
        }
}

Thanks for the snippets. The package does not officially support Lumen but will try to maybe add a separate service provider for Lumen or maybe some try catch to handle this.

any progress?

I just followed the above mentioned procedure.when I am trying to publish vendor in lumen,I am getting this error
Class 'yajra\Datatables\Datatables' not found .How can I fix this?

class_alias('Yajra\DataTables\DataTables', 'Datatables'); $app->configure('datatables'); $app->register('Yajra\DataTables\DataTablesServiceProvider');
Insert these snippet codes into boostrap/app.php, it actually works for me.
Thanks @MightySCollins , but seem yajra namespace with lower case "y" is not working for me.

class_alias('Yajra\DataTables\DataTables', 'Datatables');
$app->configure('datatables');
$app->register('Yajra\DataTables\DataTablesServiceProvider');
Insert these snippet codes into boostrap/app.php, it actually works for me.
Thanks @MightySCollins , but seem yajra namespace with lower case "y" is not working for me.

this one is work for me thanks. with lumen 8.x


fix Issue 14282 - executeShell should use sh and ignore the SHELL env variable

Issue 14282 – executeShell should use sh and ignore the SHELL env variable

I often run into trouble with this on my system because I'm using fish as shell.
There is a good rational on the posix system command, why it shouldn't be implemented using the env variable.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/system.html

Also see https://github.com/MartinNowak/installer/commit/9e99f9e65bfd2981b237464a4948cb607aa3fbe6#commitcomment-10020619.

LGTM
It's better if this behaviour doesn't depend on the environment, and the even Open Group explicitly discourages using SHELL. A clear case IMO.

Auto-merge toggled on


Unbound variable fix

How was this caught?

How was this caught?

@gnalh https://trunk-io.slack.com/archives/C044VBASZ0D/p1707947958292119


client.py: send_aggressively=True to merge queued messages

rooms.py: sending functionality will merge a message with the previous message in the queue if possible if send_aggressively is set
client.py: PeekableQueue: extend queue.Queue with the ability to peek and poke the last added item

Haven't looked extremely closely at this but it looks good, and as long as this doesn't break smokey (I suspect it won't, since you're a committer there 😄) I'm good with it.

Thanks for the quick merge. I know now that it has at least a couple of false assumptions - I'll try to get another PR up soon.
For the record, the flaws I know so far:

The 500 message limit apparently doesn't apply to multi-line messages, se there should be no need to check for exceeding that limit when merging twi adjacent messages into a multi-line message.
Messages which are indented by four spaces should not be merged with an adjacent message which doesn't also start with four spaces.

For what it's worth, my changes are for another project which builds on BotpySE but I hope that this could also help Smoke Detector. For the time being it's pinned on a fork, but I think we could probably move back to the official upstream if I understand the reasons correctly.


GPG commit signing for bootstrap resources doesn't work

Looks like GPG commit signing for bootstrap resources doesn;t work with the provider:
Even If I configure the provider like this with hardcoded values :
provider "flux" {

  git = {
    url =<EMAIL_ADDRESS>    ssh = {
      username    = "git"
      private_key = tls_private_key.deploy_key.private_key_pem
    }
    gpg_key_ring   = "/home/c-angupta/.gnupg/secring.gpg"
    gpg_key_id     = "9F0FBCD57BCF181C"
    gpg_passphrase = ""
    author_name    = "anupclouddevops"
    author_email   = "my_email"
  }

I get the following error:
╷
│ Error: Could not get bootstrap options
│
│   with module.flux.flux_bootstrap_git.this,
│   on .terraform/modules/flux/main.tf line 8, in resource "flux_bootstrap_git" "this":
│    8: resource "flux_bootstrap_git" "this" {
│
│ Failed to read GPG key ring: openpgp: invalid data: tag byte does not have MSB set
╵
Releasing state lock. This may take a few moments...

However, using flux CLI to bootstrap with the same config works perfectly fine
flux bootstrap github \
--owner="intelerad-cloud-platform" \
--repository="cpt-2778-new" \
--token-auth \
--path="omni" \
--gpg-key-id "9F0FBCD57BCF181C" \
--gpg-key-ring "/home/c-angupta/.gnupg/secring.gpg" \
--gpg-passphrase "" \
--author-name "anupclouddevops" \
--author-email "my_email"

Execution Logs
► connecting to github.com
► cloning branch "main" from Git repository "https://github.com/xxx/xxx.git"
✔ cloned repository
► generating component manifests
✔ generated component manifests
✔ component manifests are up to date
✔ reconciled components
► determining if source secret "flux-system/flux-system" exists
► generating source secret
► applying source secret "flux-system/flux-system"
✔ reconciled source secret
► generating sync manifests
✔ generated sync manifests
✔ committed sync manifests to "main" ("<commit_sha>")
► pushing sync manifests to "https://github.com/xxx/xxx.git"
► applying sync manifests
✔ reconciled sync configuration
◎ waiting for Kustomization "flux-system/flux-system" to be reconciled
✔ Kustomization reconciled successfully
► confirming components are healthy
✔ helm-controller: deployment ready
✔ kustomize-controller: deployment ready
✔ notification-controller: deployment ready
✔ source-controller: deployment ready
✔ all components are healthy

I tried to check for test cases in your repo for GPG but apparently there are no unit test cases for GPG verification either.
Could you please confirm if GPG signing actually works with this provider?
If yes, how to configure it and if there are any working examples?
Originally posted by @anupclouddevops in https://github.com/fluxcd/terraform-provider-flux/issues/556#issuecomment-1746184039

Fixed with https://github.com/fluxcd/terraform-provider-flux/pull/572


Add CpuUsage to Node, KVM and LXC stats

Fixes #10
I'm not a go developer, and I don't even have a working dev environment for go, but by looking at the code, this should work fine.

I'm running this in a docker container for a week now. Works great!

👍


Use ML Kit without Firebase

You should not require adding a firabase to the app.
Looks like it's possible
https://pub.dev/packages/firebase_ml_vision

@Himura2la hey! Check the latest version, it's using ML Kit, so no more Firebase 🎉


build: remove codemirror dependency from lsp

CodeMirror.Token is identical to ContextTokenForCodeMirror
see https://github.com/graphql/vscode-graphql/pull/335#issuecomment-957665844

this will allow updating the vscode-graphql to update to the latest packages from this project without having to add codemirror as a dependency

I'm trying to recall exactly why we made this change before, but it doesn't seem like we need to import all of @codemirror/types just for one token type.  @yoshiakis is this going to be an issue for codemirror-graphql consumers, to keep the duplicate type in sync?

Now that I say that though, why does vscode-graphql's build type check this module anyway? Shouldn't node_modules get excluded?

The only issue I see here would be keeping the types in sync, assuming the Token type in codemirror is updated, but this looks like a cleaner alternative, considering how the codemirror Token is probably the most used (and frequently referenced) type in the Codemirror package.

@ferm10n excellent point! i think we need to tweak some tsconfig on the vscode-graphql side at least...
@imolorhe another great point. I swear I found a way to automatically extract external definititions statically to the .d.ts files once, but after some time searching I couldn't remember how I accomplished it. Triple slash directives perhaps?


pg_single_transaction_poc

Description
Closes #2510
Readiness checklist

[ ] I added/updated unit tests.
[ ] I added/updated integration/compatibility tests.
[ ] I added/updated comments and checked rendering.
[ ] I made spot refactorings.
[ ] I updated user documentation.
[ ] I ran task all, and it passed.
[ ] I ensured that PR title is good enough for the changelog.
[ ] (for maintainers only) I set Reviewers (@FerretDB/core), Labels, Project and project's Sprint fields.
[ ] I marked all done items in this checklist.

Is there anything I can help with, or is this one ready for review?

(more specifically, we are not sure due to PR title 😄)

Aha! Sorry I’m a bit busy at the moment, the pr is ready for review. There was one suggestion where I would revert the changes to find and modify and update calls. This is because of the update function might return incorrect error messages


Add unit tests for class ChapterSixExample

Hi,
I've analysed your codebase and produced some unit tests for one of the classes - ChapterSixExample
I've written the tests for these functions with the help of Diffblue Cover.
Hopefully, these tests should help you detect regressions caused by future code changes.

@louismillsdiffblue Why did you close?


Add support for region eu

What's your opinion on exporting type RestateCloudRegion and function adminEndpoint?  We have one stack that creates a RestateCloudEnvironment and then other stacks use RestateEnvironment.fromAttributes().  We've copied the function and the type for that.

Exporting these makes sense to me!

Thanks so much for contributing this, @michael-k! I re-created this PR in https://github.com/restatedev/cdk/pull/52 and going to merge it from there.

This is released as<EMAIL_ADDRESS><EMAIL_ADDRESS>


[Godot4] Can't response input event sometimes when set gui_embed_subwindows = false

Godot version
v4.0.beta1.official [20d667284]
System information
Windows 10, 64bit
Issue description
My SceneTree and Codes like this:

When get_viewport().gui_embed_subwindows = true, everything was OK:
https://user-images.githubusercontent.com/35988767/190880302-684b82da-32b3-4fe5-83dd-05d77f23d7ba.mp4
But when get_viewport().gui_embed_subwindows = false, it can't response input event sometimes:
https://user-images.githubusercontent.com/35988767/190880317-f5039a07-8a3b-412a-ac15-8ab9c3871c2b.mp4
NOTE: In this video, I was clicked the FileDialog's OK, Cancel and [Close] button many times!
Steps to reproduce
Please run the reproduction project many times
Minimal reproduction project
PopupTest.zip

In my tests the problem was, that the FileDialog receives only the mouse-button-up events, but not the mouse-button-down events.


bug:

Provide environment information
System:
OS: macOS 14.0
CPU: (8) arm64 Apple M1
Memory: 96.88 MB / 8.00 GB
Shell: 3.6.1 - /opt/homebrew/bin/fish
Binaries:
Node: 21.1.0 - /opt/homebrew/bin/node
Yarn: 1.22.19 - /opt/homebrew/bin/yarn
npm: 10.2.0 - /opt/homebrew/bin/npm
Describe the bug
When attempting to run the Expo app in the Android emulator environment, specifically on the Pixel_7_API_UpsideDownCakePrivacySandbox, the module resolution fails with an error for expo-router/entry. This issue does not occur when running the Next.js project, which proceeds without any hitches.
Error: Unable to resolve module ./node_modules/expo-router/entry from <PROJECT_ROOT>/apps/expo/.:

None of these files exist:
  * node_modules/expo-router/entry(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json|.android.cjs|.native.cjs|.cjs|.android.scss|.native.scss|.scss|.android.sass|.native.sass|.sass|.android.css|.native.css|.css|.android.css|.native.css|.css)
  * node_modules/expo-router/entry/index(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json|.android.cjs|.native.cjs|.cjs|.android.scss|.native.scss|.scss|.android.sass|.native.sass|.sass|.android.css|.native.css|.css|.android.css|.native.css|.css)
    at ModuleResolver.resolveDependency (<PROJECT_ROOT>/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:114:15)
    at DependencyGraph.resolveDependency (<PROJECT_ROOT>/node_modules/metro/src/node-haste/DependencyGraph.js:277:43)
    at <PROJECT_ROOT>/node_modules/metro/src/lib/transformHelpers.js:169:21
    at Server._resolveRelativePath (<PROJECT_ROOT>/node_modules/metro/src/Server.js:1045:12)
    at async Server.requestProcessor [as _processBundleRequest] (<PROJECT_ROOT>/node_modules/metro/src/Server.js:449:37)
    at async Server._processRequest (<PROJECT_ROOT>/node_modules/metro/src/Server.js:383:7)

Link to reproduction

To reproduce
Initialise the project using create-t3-turbo.
Install dependencies with pnpm i.
Push database changes with pnpm db:push.
Start the development server using pnpm dev.
After following these steps, the Next.js project runs correctly, while the Expo app does not, resulting in a resolution error for the expo-router/entry module when trying to launch from index.tsx.
Expected Behaviour:
The Expo app should resolve all modules correctly and launch without errors, similar to the Next.js project's behavior.
Actual Behavior:
The Expo app fails to resolve the expo-router/entry module and throws an error, preventing the app from running on the Android emulator.
Additional information
This works fine with the iOS simulator

cc @byCedric - do you know if this is an issue on the Expo side? iOS works but android doesnt it seems like. Have had similar reports before

Has someone any suggestions on how to make make it work?
From what I understand, thanks to the '.npmrc' file, node_modules are hoisted, so everything that is not a part of monorepo is hoisted to root node_modules. Unfortunately expo tries to load 'expo-router' from '~apps/expo/node_modules' instead of '~/node_modules'.
If somebody knows which library should be downgraded/upgraded or whatever to make the app runnable in android emulator, please don't hesitate to share :)

You can create index.js and import expo router entry there, then point package.json:main to that

Works as expected. Thank you.
For those who are still not sure how to do it:

change the 'main' property inside of expo app package.json from
from:   "main": "expo-router/entry",
to:   "main": "index.js",
add needed index.js file to the root of the project. In my case I created apps/expo/index.js file alongside (not inside of) the src directory.
inside of the index.js file I added just 1 line:

import 'expo-router/entry'

save all files and restart the expo:android server

Someone should file this issue to Expo

Works as expected. Thank you. For those who are still not sure how to do it:
1. change the 'main' property inside of expo app package.json from
   from: `  "main": "expo-router/entry",`
   to: `  "main": "index.js",`

2. add needed `index.js` file next to the `package.json` file. In my case I created `apps/expo/index.js` file .

3. inside of the `index.js` file I added just 1 line:

import 'expo-router/entry'

4. save all files and restart the expo:android server

This should work as it did in my case.

Thank you so much. Was running into same issue with IOS emulator. This fixed it

did the steps as above, but got a new error.

This is for the IOS simulator

This seems like the issue in expo, but the solution there doesn't work for me (the referenced npmrc setting is already there and I deleted the lock files and node_modules and re-installed).

None of the solutions referenced so far have worked for me, but I upgraded to Expo SDK 50 and found that the problem went away. I can't tell if it's the change to expo-router v3 or the way that 50 now handles node_modules. This was the only fix I could find.

Resolved in sdk 50 which we just updated to in #795

Weirdly, I am still experiencing this issue. Even with sdk 50.

nvm, worked after cleaning xD

Okay weird. Suddenly its not working again

It does work with this method tho: https://github.com/t3-oss/create-t3-turbo/issues/741#issuecomment-1812454342
But not when "main" in package.json is set to "expo-router/entry"

This is still happening to me. I had to do the index.js trick explained by @DJanocha

Just as a data point, I too had this problem (only on Android) and it was resolved using the index.js trick.
"dependencies": {
    "@expo/vector-icons": "^14.0.0",
    "@react-navigation/native": "^6.0.2",
    "expo": "~51.0.11",
    "expo-constants": "~16.0.2",
    "expo-font": "~12.0.7",
    "expo-linking": "~6.3.1",
    "expo-router": "~3.5.15",
    "expo-splash-screen": "~0.27.5",
    "expo-status-bar": "~1.12.1",
    "expo-system-ui": "~3.0.6",
    "expo-web-browser": "~13.0.3",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-native": "0.74.2",
    "react-native-gesture-handler": "~2.16.1",
    "react-native-reanimated": "~3.10.1",
    "react-native-safe-area-context": "4.10.1",
    "react-native-screens": "3.31.1",
    "react-native-web": "~0.19.10"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@types/jest": "^29.5.12",
    "@types/react": "~18.2.45",
    "@types/react-native": "~0.73.0",
    "@types/react-test-renderer": "^18.0.7",
    "jest": "^29.2.1",
    "jest-expo": "~51.0.1",
    "react-test-renderer": "18.2.0",
    "typescript": "~5.3.3"
  },


Separate serverless logic from serverfull logic

Code refactor that separates serverless logic from standalone logic.
With recent integration of IBM VPC as standalone mode of execution it makes necessary to separate the serverless logic from the serverfull, since each one has its own particular characteristics. Use serverelss logic to invoke standalone jobs only adds overheads., so now each mode of execution has its own invoker.
Changes in the standalone mode:

Reduced the time needed to detect that the VM is running from 95 seconds to 70 seconds.
The proxy is installed as a unix service in the VM. Instead of running it in the Docker runtime as it was in the previous approach
The proxy is automatically started when the VM starts. If the proxy fails for some reason, the OS is responsible to reexecute it automatically.
The VM can now run jobs in docker images or in the default VM python3 interpreter
Now it is possible to run more than 1 different docker runtime in the VM
Now the Docker package is automatically  installed the first time a lithops script is executed. The users no need anymore to manually access to the VM and install it.

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

@JosepSampe there is 109 files changed...any way you manage to submit smaller PRs instead of  a huge one? I even don't know where to start from with 109 changed files... I assume this PR contains various fixes / additions that are not related each other, no?

@gilv Most of them are code movement from "compute/backends" to "serverless/backends", and some minor changes in all config docs. Now it is impossible to split it in multiple PRs. There are only 5 new files that you can easily see ;)

@JosepSampe are there some changes to Gen2 VMs section?

@gilv In Gen2 VM itself no, the code to start/stop IBM VPCs VMs is the same. What is changed is the proxy that is executed within the VM.

@JosepSampe is this PR related #361 and #362 ? if yes, how?

Yes to #362, no to #361. It is explained in the first post ;)

@JosepSampe i just not sure where to start with ;) 109 files is a bit too much for a single PR...

@JosepSampe so we used docker_executor with conf

compute_backend: docker
remote_client: ibm_vpc

...
docker:
    host: IP
    ssh_user: user
    ssh_key_filename:

ibm_vpc:
    endpoint: https://us-south.iaas.cloud.ibm.com
    instance_id: some id

With new changes how this will look like?

Docker executor is not used anymore. You only need these keys in config:
lithops:
    executor: standalone

ibm_vpc:
    endpoint: <endpoint>
    instance_id: <instance-id>
    ip_address: <floating-ip-address>

@JosepSampe i used Docker executor to deploy workloads to my regular VM, not Gen2.
It worked for me only with this
docker:
    host: IP
    ssh_user: me
    ssh_password: aha

But seems with your change it will not work anymore?

@JosepSampe by we "we can add this" you mean there is need to add more code to support this? or with current code
vm:
    ip_address: <ip>
    ssh_user: <user>
    ssh_password: <pass>
and

lithops.StandaloneExecutor(backend=vm)

This will already works?

@gilv Now yes ;) With this refactor it is pretty easy to add standalone backends

@JosepSampe any chance you can split this PR into at least 2? One PR to handle only serverless compute changes:cf, lambda, azure, etc...second one will change the VM / Docker / etc. related parts? And 3rd one with documentation?

@gilv uff.. I can't split it now, it contains alot of changes with alot of commits. It will take me one week of more work, and at the end it will contain the same changed files.. I think you can easily see what are docs and what is code. You can directly check my branch if it is easy for you to see the changes

@JosepSampe yeah...i know it's a lot of changes and commits ;) Leave it as is...but be aware it will take some  time to test it and such PR is sort of a blocker..since nothing else can be merged before this one.

@JosepSampe please don't push changes in this PR anymore, let me review it. If you need another commit, please summarise what it does. Otherwise i can't follow this if there are new commits lands here

@JosepSampe so with this PR we have:

all existing FaaS backends, like cf_executor, aws_executor, etc, will use ServerlessExecutor internally
local_executor that uses LocalHost executor internally
function_executor that use FunctionExecutor internally.

Why we need 3? Why function_executor doesn't use ServerlessExecutor?
Why you decided that docker_executor will be merged with local_executor?

@gilv It is all easy to understand if you think that now lithops supports 3 modes of execution: localhost, serverless and standalone. Each mode of execution has its own Executor with its own parameters. Form example, servelss executor has runtime_memory  parameter, while StandaloneExecutor has cpu, memory, instances, etc parameters, while LocalhostExecutor has none of them.
This way, in your scripts you can differentiate what is executed in serverless, in a VM or in localhost:
...
fexec = lithops.ServrelessExecutor()
...
fexec = lithops.StandaloneExecutor()
...
fexec = lithops.LocalhostExecutor()
...

Then we have another executor called FunctionExecutor. The FunctionExecutor is a top-level executor that engloves the localhost, servereless and standalone executors. So instead of using in your scripts the low-level executors stated before, you can use everywhere the FunctionExecutor and then decide in config if they are serverless, localhost or standalone. For example:
...
fexec = lithops.FunctionExecutor(type='serverless') #type param is loaded from config file if not provided
...
fexec = lithops.FunctionExecutor('type='localhost')
...
fexec = lithops.FunctionExecutor(type='standalone')
...

Docker backend and Local backend was merged into the new Localhost mode of execution because in fact docker and localhost were not compute backends, but execution environaments. This reduced alot the complexity of the code. Now you can use fexec = lithops.LocalhostExecutor() to run function in your default python3 interpreter, and also in a docker image by simply specifying a docker runtime fexec = lithops.LocalhostExecutor(runtime='jsampe/lithops-py3.6'). With this, in the future we can also support virtualenvs packaged into a zip file, so the user could specify something like this to run functions within a packaged viertualenv: fexec = lithops.LocalhostExecutor(runtime='my-lithops-env-py36.zip')

LocalhostExecutor is only localhost executor and can only run local jobs. Anything remote like a regular VM is StandaloneExecutor(), which includes all the ssh logic needed to interact with the VM.

All of this will be properly documented, but for now I don't want to modify any other file ;)

@JosepSampe i want to merge it ( seems i got brave enough). Can you please just adapt branch to the changes in master? I will then give it few tests and merge it

@gilv Done

@gilv Done!

@gilv Done!

@JosepSampe I will merge and we then start testing it..i guess many things will be broken initially.
may the force be with us :)

@gilv From my side All tests passed with IBM CF and IBM VPC ;)


Create lint_python.yml

https://github.com/cclauss/ghp-import/runs/434546847?check_suite_focus=true

https://github.com/cclauss/ghp-import/runs/434774551?check_suite_focus=true

Flaying blind.  If we do not test on push then tests never run.  Closing.


Feature: Add Django Setting to Exclude Models

:wave:
I added this feature to let us exclude certain models from the search.
Let me know if you’re good with it, or if I've missed something.

👋 Thanks for raising this!
My thinking here is it's easy enough to skip models by overriding get_model_class, i.e. something like:
class CustomAdminSite(AdminSiteSearchView, admin.AdminSite):
    """Adds the AdminSiteSearchView to the default AdminSite"""

    def get_model_class(self, *args, **kwargs) -> Optional[Model]:
        model_class = super().get_model_class(*args, **kwargs)

        if model_class._meta.object_name == "whatever":
            return None

        return model_class

I prefer to keep the logic/config close to home for something like this, rather than in the settings.
I think this is a common enough use case that there should at least be a note/example in the docs, to formalise the recommendation - I'll raise an issue to get this done 🙏

👋 Thanks for raising this!
My thinking here is it's easy enough to skip models by overriding get_model_class, i.e. something like:
class CustomAdminSite(AdminSiteSearchView, admin.AdminSite):
    """Adds the AdminSiteSearchView to the default AdminSite"""

    def get_model_class(self, *args, **kwargs) -> Optional[Model]:
        model_class = super().get_model_class(*args, **kwargs)

        if model_class._meta.object_name == "whatever":
            return None

        return model_class

I prefer to keep the logic/config close to home for something like this, rather than in the settings.
I think this is a common enough use case that there should at least be a note/example in the docs, to formalise the recommendation - I'll raise an issue to get this done 🙏

This totally makes sense, I close the PR.


No Privacy or Developer contact info for Edge Addon?

[Enter feedback here]
Good morning,
What does it mean when there is no information about the Privacy or Developer contact info at an Add-on page?
There is no Privacy contents disclaimer and no reference to any 'Contact' / email /website of the Software Developer for this Edge Add-on:
https://microsoftedge.microsoft.com/addons/detail/auto-refresher/lnehigejbkdlcjiocfndnbmigdfbegpb?hl=en
Anyone could publish an addon this way?  How to trust such addons?
Thanks
soniariv

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

ID: c6bdbaf0-1a39-c369-deca-d22e0d4e6ec0
Version Independent ID: 7ec272a7-8291-5d33-f320-ef7f1bcd9648
Content: Contact Microsoft Edge extensions support - Microsoft Edge Developer documentation
Content Source: microsoft-edge/extensions-chromium/publish/contact-extensions-team.md
Service: microsoft-edge
Sub-service: extensions
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

Thank you for reaching out. I suggest posting this question again on the dedicated Microsoft Edge Extensions discussion repo: https://github.com/microsoft/MicrosoftEdge-Extensions/discussions
Thank you for your understanding.

Thank you! Done.


CTCCriterion.lua:36: assertion failed!

Hi @SeanNaren , I generate LMDB for AN4 dataset accroding to prepare_an4/prepare.sh script. Then run th AN4CTCTrain.lua and I get this error:
preparing sorted indices..
found previously saved inds..
/home/kongchang/nfs/torch/install/bin/luajit: ...ang/nfs/torch/install/share/lua/5.1/nnx/CTCCriterion.lua:36: assertion failed!
stack traceback:
        [C]: in function 'assert'
        ...ang/nfs/torch/install/share/lua/5.1/nnx/CTCCriterion.lua:36: in function 'forward'
        ./Network.lua:127: in function 'opfunc'
        .../kongchang/nfs/torch/install/share/lua/5.1/optim/sgd.lua:44: in function 'sgd'
        ./Network.lua:145: in function 'trainNetwork'
        AN4CTCTrain.lua:44: in main chunk
        [C]: in function 'dofile'
        .../nfs/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:145: in main chunk
        [C]: at 0x00406670

I locate this error in CTCCriterion.lua:36 which is a ssert assert(acts:nDimension() == 2), so I print the value which is 0. Do you have any idea?

I find that:
local function feval(x_new)
    ......
    local predictions = self.model:forward({ inputs, sizes })
    local loss = ctcCriterion:forward(predictions, targets, sizes)
    ......

predictions 's dim is 2, and then function ctcCriterion:forward will call CTCCriterion:updateOutput which is:
 function CTCCriterion:updateOutput(input, target, sizes)
     assert(sizes,
         "You must pass the size of each sequence in the batch as a tensor")
     local acts = self.acts
     if input:dim() == 3 then
         acts:resizeAs(input):copy(input)
         if self.batchFirst then
             acts = acts:transpose(1, 2)
             acts = self:makeContiguous(acts)
         end
         acts:view(acts, acts:size(1) * acts:size(2), -1)
     end
     assert(acts:nDimension() == 2)
     self.sizes = torch.totable(sizes)
     self.gradInput = acts.new():resizeAs(acts):zero()
     if input:type() == 'torch.CudaTensor' then
         self.output = sumCosts(gpu_ctc(acts, self.gradInput, target, self.sizes))
     else
         acts = acts:float()
         self.gradInput = self.gradInput:float()
         self.output = sumCosts(cpu_ctc(acts, self.gradInput, target, self.sizes))
     end
     return self.output
 end

because of input dim is 2, so acts:nDimension() is 0.
now I'm trying to figure out why I get a wrong dim of predictions.

I try to modify function CTCCriterion:updateOutput(input, target, sizes) like this:
function CTCCriterion:updateOutput(input, target, sizes)
    assert(sizes,
        "You must pass the size of each sequence in the batch as a tensor")
    local acts = self.acts
    --if input:dim() == 3 then
    if input:dim() == 2 then
        acts:resizeAs(input):copy(input)
        if self.batchFirst then
            acts = acts:transpose(1, 2)
            acts = self:makeContiguous(acts)
        end
        --acts:view(acts, acts:size(1) * acts:size(2), -1)
        acts:view(acts, acts:size(1), acts:size(2))
    end
    ......
end

which check input:dim() == 2 and also set acts:view(...).
This works well when set nGPU = 1, but if nGPU > 1, error is returned which seems to be data parallism problem.
So, I think that maybe model definition has some problems? and that's why I get a wrong dim of predictions?

Hey! So sorry for such a late reply, I'll check this out tonight and report back thanks!

Just noticed you said this issue happens when the nGPU is set above 1. There is a bug in multi-GPU at the current stage and is being fixed in this PR  #25 !

After I modify CTCCriterion.lua in nnx package, this issue goes away when nGPU == 1, then if I set nGPU > 1, new error reports.
The original problem is still existing which is wrong dimension about predictions(dim = 2) and it does not match function CTCCriterion:updateOutput(input, target, sizes) in nnx (input dim should be 3).
@SeanNaren

fixed by reinstall torch ...


feat(DEV-12084): make default option for counterparts contacts

Counterpart menu will have the default tag
By default the default tag will be applied to the email of the organization once a counterpart is created
We will add a button make default  on a contact under a counterpart, that will make the contact default (the tag will move to that contact)
Remove alerts for email on reminder sections

Forgot to mention: I'd appreciate it if you also add integration tests.


Typecode fixes for vector buffer protocol

I noticed these few typecodes didn't seem to match up with the expected type, e.g.
import numpy as np
import glm

np.array(glm.bvec3())
# ...
# ValueError: 'p' is not a valid PEP 3118 buffer format string

np.array(glm.u8vec2())
# array([0, 0], dtype=int8)

I updated these based on https://docs.python.org/3/library/struct.html.

Yeah.. I must've used the values from argument parsing, which are different from the typecodes for the buffer protocol for some reason 😅.
Thanks for letting me know :)
Though your corrected typecodes aren't correct either.
You accidentally mixed up long long (q and Q) and long (l and L), but that's easily fixed.. (just give me a second)

Good call, and thanks! I think there might be a Python doc issue?
import glm
import ctypes

val = ctypes.c_uint64()
val._type_ # 'L'
ctypes.sizeof(val) # 8

glm.value_ptr(glm.u64vec2())._type_._type_ # L

Good call, and thanks!


Avoid rearrange query parameters

https://github.com/vuejs/vue-router/issues/926

/ping @yyx990803

The order of keys returned by Object.keys() is not reliable:

The Object.keys() method returns an array of a given object's own enumerable properties, in the same order as that provided by a for...in loop

A for...in loop iterates over the properties of an object in an arbitrary order (see the delete operator for more on why one cannot depend on the seeming orderliness of iteration, at least in a cross-browser setting).

so I don't think this is a reliable solution to the problem of #926 and will instead break "randomly".

@linusborg It's been discussed in #926, sorry it's in Chinese since OP switched to it in the middle of it. Basically the reasons are:

Developer should never rely on the order of query parameters. So removing .sort() shouldn't be a breaking change for those who don't. If they do rely on query order, it should serve as a warning to let them switch to dynamic segments.
OP agreed that this change is unreliable, but it works well on his target browsers so it's good enough for him. Since only he cares about it (I obviously don't), and as said in 1). people should never rely on query order, it's a good compromise.
Evan replied him in weibo (Chinese version of twitter) and instructed him to remove the sort, so I think it 's fine.

Yes, it is not reliable.
Its not the best way to solve it, but I think Vue-Router is not responsible for sorting the query string by its keys. But now it cause some trouble. If Vue-Router dosent do that, once there are problems in this case, it's browser`s responsibility, not Vue-Router.

Well, that is one way to see it, but another way would be that because the browser does not guarantee order, vue-router does, with .sort - but I can also understand your problem with #926
Both scenarios are not optimal.

@LinusBorg
Actually, I am  more curious about what it is necessary to do so, coz other functions seems do not need an ordered query.


Enable debug log mode

With the --debug flag a user can set the log level to default.
Introduce the https://github.com/rs/zerolog logging framework for structured and leveled logging
Add @nihalgonsalves as a CODEOWNER
Restructure packages to a more typical setup. As a side-effect: combine the gen package with cmd to avoid cyclical imports, and use the Run() interface provided by Kong so no switch statement is necessary
Use Apache 2.0 license correctly on all go files

Other than the comments, you're missing three panics in the IAM result error handling in getRoleArnsForGroup and getRoleArnsForAttachedPolicy, looks good otherwise 🚀

Fixed, thanks


Allow setting GIFS as author image

Issue
fixes hugo-toha/toha#392
fixes hugo-toha/toha#209
Description
allow_gifs -  don't apply image processing to svg or gif
Test Evidence
Add a gif as a author image, and make sure it displays as expected on home page as well as single posts or anywhere else the author image is used.

Glad to be of help @hossainemruz !

I believe this PR broke your theme. The assignment syntax "=" is incorrect from what I can tell. I don't have time to make an issue, because I'm not actually using the theme, but wanted to give you a heads up.

@talves I will take a look when I can. Thank you for letting me know

Remember when short declaration operator and trying to change it’s value type you would typically get an error. I think there's something going on with that here in the code. It may have always been there.
https://golangdocs.com/short-variable-declaration-in-golang


Use context of blocktrans templatetag

If blocktrans has context, then extractor should yield pgettext (or npgettext) function not to miss context

@graingert Can you merge this, please?

thanks!


Icons for libraries dont show when viewing the folder there stored in

Description
Path is C:\Users<User name>\AppData\Roaming\Microsoft\Windows\Libraries

Steps To Reproduce
No response
Expected behavior
Icons should show like folders
Files Version
<IP_ADDRESS>
Windows Version
10.0.19043.1685
Relevant Assets/Logs
debug.log
debug_fulltrust.log

@yaichenbaum

I have neither icons nor the name of the icons displayed


Remove sub-primitive wrapper words in threads.private?

Inside threads.private are these "simple" primitive definitions with a warning that we need to have these primitives wrapped in an inline word that calls them:
PRIMITIVE: (set-context) ( obj context -- obj' )
PRIMITIVE: (set-context-and-delete) ( obj context -- * )
PRIMITIVE: (start-context) ( obj quot -- obj' )
PRIMITIVE: (start-context-and-delete) ( obj quot -- * )

! Wrap sub-primitives; we don't want them inlined into callers
! since their behavior depends on what frames are on the callstack

: set-context ( obj context -- obj' )
    (set-context) ; inline

: start-context ( obj quot: ( obj -- * ) -- obj' )
    (start-context) ; inline

: set-context-and-delete ( obj context -- * )
    (set-context-and-delete) ; inline

: start-context-and-delete ( obj quot: ( obj -- * ) -- * )
    (start-context-and-delete) ; inline

Is this still needed?  I removed the aliases and renamed the words (like (set-context) becomes set-context) and the tests seem to pass.
How would I test for the problem the warning is describing?

The non-optimizing compiler can't inline the sub-primitives if they are in wrappers like this. We should just clarify the comment.

I'm a little confused, you mean in the existing code (before my patch), the non-optimizing compiler can inline the sub-primitives, but if we apply the patch then it can't?

Can we fix the non-optimizing compiler?
If we can't fix it, then will this work the same?
ALIAS: set-context (set-context)
ALIAS: set-context-and-delete (set-context-and-delete)
ALIAS: start-context (start-context)
ALIAS: start-context-and-delete (start-context-and-delete)

The non-optimizing compiler ignores inline on regular words but knows how to inline sub-primitives.

Why would it work inlining a sub-primitive in one word definition (the alias), but not in another (a different word that calls it directly)?

Closing for now.


Where is Section 2.1

1 Logging and Monitoring is missing from the web page, it is in the excel file. Please add the missing text

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

ID: 9df4415d-d6fb-cc88-1c73-e871aff7d026
Version Independent ID: f855eab6-9e64-fa7d-eccb-d6dc8283fbc2
Content: Azure security baseline for API Management
Content Source: benchmark/azure/baselines/api-management-security-baseline.md
Service: api-management
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

Hi, @DeanGross. As it says in the introduction, "Controls not applicable to API Management, or for which the responsibility is Microsoft's, have been excluded.".
In the case of API Management, section 2.1. "Use approved time synchronization sources" is listed as "Not Applicable".
Thanks! #please-close


Add OG unfurl image to docs

Similar to what we have for the playground.

Can you expand the summary by what you expect us to do? I'm asking because I don't know what OG is and would need to google what an unfurl image is ;)

OG stands for OpenGraph. We should have custom OpenGraph images that appear when you link to the docs on Twitter, Slack, etc. Today, if you link to the docs in Discord or wherever else, we show the URL with no such preview image.


Add a controller for  afour wheel independent steering / drive mobile base, aka a swerve drive

I would like to add a controller for a 4 wheel independent steering and independent drive (aka swerve drive) mobile base. In this kind of mobile base each wheel has two degrees of freedom, one for moving the wheel around its axle and one for the steering motion of the wheel. Each wheel is independently controllable from the other wheels.
There have been several attempts at creating ROS controllers for such a system, e.g. https://github.com/ros-controls/ros_controllers/pull/441, https://github.com/MarkNaeem/ros_controllers/tree/noetic-devel/swerve_steering_controller and https://github.com/ros-controls/ros2_controllers/pull/1148.
I have created a proof of concept for one such drive in python. Additionally I have created a simple simulation tool to test different control algorithms.
If there is interest I would like to implement a swerve controller for ROS2 control.

Hi @pvandervelde!
Your contribution would be highly appreciated. I see that you started documenting the kinematics, as a first step you could add your documentation here and then build your controller upon that nomenclature.

@christophfroehlich That does sound like a good place to start. For the implementation process I was aiming to follow the process suggested in this comment by bmagyar. I'll reference this issue in all PRs.
I might have some questions about some parts of the library. Would those best be asked in the ROS discourse or just in this issue?


Revert "Centralize the docindex scripts and regenerate Github IO land…

…ing page. (#14963)"
This reverts commit 98fc779703692d968ba2fff32f003886a52747e7.

Current proceed to go back to the commits before the reverted commits. And disable the nightly run to keep the landing page look like original page.


[ColorPicker] Converting main window to FluentWindow

Summary of the Pull Request
Converting main window to FluentWindow to have cornered window

PR Checklist

[X] Closes: #31725
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed
tested locally

Closing in favor of https://github.com/microsoft/PowerToys/pull/33457


Git integration for committing not loading environment variables

Issue Type: Bug

Setup a repo with a .npmrc that references some environment variables (make sure the environment variable value exists)
Using the VS Code Source Control UI, attempt to commit.
You should get a error saying it failed to replace env in config

Screenshot of error received:

Additional context: My project uses direnv to load variables into the environment, and the code lives withing a WSL 2 Ubuntu distribution, accessed via the Remote Development extension
VS Code version: Code 1.68.0 (4af164ea3a06f701fe3e89a2bcbb421d2026b68f, 2022-06-08T11:44:16.822Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 x 2803)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.73GB (18.53GB free)

Process Argv
--crash-reporter-id ca5f95d3-3d20-44e4-8d80-08bb975b55ad

Screen Reader
no

VM
0%

Item
Value

Remote
WSL: Ubuntu

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 x 2803)

Memory (System)
15.49GB (11.39GB free)

VM
0%

Extensions (17)

Extension
Author (truncated)
Version

es7-react-js-snippets
dsz
4.4.3

terraform
has
2.23.0

remote-containers
ms-
0.238.2

remote-ssh
ms-
0.82.0

remote-ssh-edit
ms-
0.80.0

remote-wsl
ms-
0.66.3

vscode-remote-extensionpack
ms-
0.21.0

vscode-eslint
dba
2.2.2

terraform
has
2.23.0

makefile-tools
ms-
0.5.0

java
red
1.7.0

vscodeintellicode
Vis
1.2.21

vscode-java-debug
vsc
0.41.0

vscode-java-dependency
vsc
0.19.1

vscode-java-pack
vsc
0.23.0

vscode-java-test
vsc
0.35.0

vscode-maven
vsc
0.35.2

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonvspyt551:30345470
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscorecescf:30445987
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vscscmwlcmt:30465135
cppdebug:30492333
vsclangdc:30486549

@scousino, apologies for not getting back to you on this until now. I was wondering if you are still experiencing this problem with the latest version of VS Code? If so, would it be possible for you to reproduce the problem in a minimal repository so that I can reproduce and debug the issue there. Also I was wondering whether the environment variable resolution has ever worked? Thanks!

Not OP, but I did post a +1 above.
I no longer have this issue. As far as I know the only thing that changed is VS Code updating.


Faster expanded_key

Only check if a key responds to cache_key if it is not an array, hash, or string.
Only duplicate the key when it’s a string (a more elegant way to than recording object_id.
Move to_param logic for arrays to this file. Calling to_param on an array generates a new array. We can save that extra array allocation by reproducing the logic here
Mutate array generated by hash instead of creating new temporary arrays.
Reproduce to_param logic for array in the to_hash.

Also feel free to let me know if you don't like one or more of these optimizations.
On a sidenote I was profiling memcached with dalli versus redis caching in rails in codetriage and by my very unscientific tests it looks like dalli and memcached were both faster and allocated less memory in Ruby land. Thanks a ton for this gem.

@schneems Can you please rebase and incorporate the cache_key_with_versioning fix from master?  Under those conditions I think it makes sense to merge.  Thanks!

I actually think we should close this. I'm doing work in Rails which which will make this patch not really needed https://github.com/rails/rails/pull/33944
It adds a Key object that pre-generates a cache_key value that would get passed to expanded_key here and immediately return.


qovery-cli: 0.58.10 -> 0.58.12

Diff: https://github.com/Qovery/qovery-cli/compare/v0.58.10...v0.58.12
Changelog: https://github.com/Qovery/qovery-cli/releases/tag/v0.58.12
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 233876 run on x86_64-linux 1

1 package built:

qovery-cli


Implement safe operator

I added the new token in lexer and used it in the parser to behave like the . operator.
I added a test that does not pass yet, using omit but I wasn't sure if there was a better way or if we do not want failing tests at the moment. I did not fix it as I didn't think it was part of this PR's scope.
Closes #156

Nice work! This is really good!


Use calling conventions and stack traces in function parameter analysis

Due to #652, bugs.phase-debug-info-analysis-crash.Test (tail.ex --pdb tail.pdb -k) failed. It was disabled in https://github.com/avast/retdec-regression-tests/commit/ad6389011753aee785e299f729c641f1b3e2507a.
The problem was present even before #652, but localizing registers made it visible - tests fail.
Test fail problem:

Test for presence of string: "Chyba: %s\n"
Code before #652:

char * v1 = "Chyba: %s\n";
register = (int32_t)&v1;
// register never used in function

After #652, register assignment as well as v1 assignment are optimized away, because values are never used in the function.
Missing string we tested for -> test failed.

Real problem:

The string is not used, and therefore is missing (optimized away).
It was not used before as well, but was preserved due to inter-procedural register analysis.
The string should be used as an argument in fprintf() call.
It is not detected as fprint() argument, because function parameter analysis halts tracking of possible function arguments at the first previous function calls. But in this case, parameter is stored to stack several calls before the call that uses the parameter is made:

.text:0040103B         push    offset Format ; "Chyba: %s\n" ; string to stack
.text:00401040         mov     edi, esp
.text:00401042         call    ds:__iob_func ; call NOT using the string
.text:00401048         cmp     edi, esp
.text:0040104A         call    __RTC_CheckEsp ; call NOT using the string
; fprintf() arg tracking stops here
.text:0040104F         add     eax, 40h ; '@'
.text:00401052         push    eax
.text:00401053         call    ds:fprintf ; call using the string

Design and implement more robust function parameter analysis that could deal with this. It should track beyond previous function calls and make use of known calling conventions. A better stack analysis (#651) will also probably help a lot - or maybe even entirely solves the problem.

@xkubov is you want, write up the things we came up with while analyzing this (e.g. tracing beyond call of certain CC) - now before you forget. It may bu useful when solving this later.


No way to set Julia packages

The Julia interface has no way of allowing a custom Project.toml: https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#julia. Because conda does not host Julia packages, it is unclear how you actually use the Julia interface with packages.
One thing I tried is to set up the Project.toml, and have an initial rule be:
rule julia_manifest:
    input: "Project.toml"
    output: "Manifest.toml"
    shell: "julia -e 'using Pkg; Pkg.instantiate()'"

and then have every rule after it depend on Manifest.toml as an input. I also defined the JULIA_PROJECT variable as so:
os.environ["JULIA_PROJECT"] = os.getcwd()

However, this project setting does not seem to propagate to the internal julia scripts:
rule data:
    input: "Manifest.toml"
    script: "data.jl"

This data.jl does not seem to activate in the correct environment.

My workaround (relying on some assumptions) is to have this as the very first line in every julia script:
dirname(Base.active_project()) != pwd() && exit(run(`julia<EMAIL_ADDRESS>$(@__FILE__)`).exitcode)


Download Kubernetes

@ekibyo84 Hi, Could you please share the details (here) on the issue you would like to report or the assistance you require? Kindly provide details in the description of the issue.
/triage needs-information

Page: https://kubernetes.io/releases/download/ (As per the issue title)
/language en

/close not-planned
You are welcome to reopen this and add details.

I am soooooo sorry. This happend per accident.I know want to test kubernetes as a private Mini-Cluster project.Von meinem iPhone gesendet.Mit freundlichen Grüßen / Best regards Thomas BreuerAm 27.07.2024 um 16:07 schrieb Kubernetes Prow Robot @.***>:
This issue is currently awaiting triage.
SIG Docs takes a lead on issue triage for this website, but any Kubernetes member can accept issues by applying the triage/accepted label.
The triage/accepted label can be added by org members by writing /triage accepted in a comment.
Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


problem installing via pip

Describe the bug
I'm not sure what the problem is here:
  Running command Building wheel for dbus-fast (pyproject.toml)
  A setup.py file already exists. Using it.
  Traceback (most recent call last):
    File "/usr/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/usr/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/usr/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "/tmp/pip-build-env-ro9fscn4/overlay/lib/python3.9/site-packages/poetry/core/masonry/api.py", line 58, in build_wheel
      return WheelBuilder.make_in(
    File "/tmp/pip-build-env-ro9fscn4/overlay/lib/python3.9/site-packages/poetry/core/masonry/builders/wheel.py", line 88, in make_in
      wb.build(target_dir=directory)
    File "/tmp/pip-build-env-ro9fscn4/overlay/lib/python3.9/site-packages/poetry/core/masonry/builders/wheel.py", line 121, in build
      self._build(zip_file)
    File "/tmp/pip-build-env-ro9fscn4/overlay/lib/python3.9/site-packages/poetry/core/masonry/builders/wheel.py", line 182, in _build
      self._run_build_command(setup)
    File "/tmp/pip-build-env-ro9fscn4/overlay/lib/python3.9/site-packages/poetry/core/masonry/builders/wheel.py", line 248, in _run_build_command
      subprocess.check_call([
    File "/usr/lib/python3.9/subprocess.py", line 373, in check_call
  subprocess.CalledProcessError: Command '['/usr/bin/python3', '/tmp/pip-install-7qwh8und/dbus-fast_45bd4e30ac004819afa9050f72670d99/setup.py', 'build', '-b', '/tmp/pip-install-7qwh8und/dbus-fast_45bd4e30ac004819afa9050f72670d99/build', '--build-purelib', '/tmp/pip-install-7qwh8und/dbus-fast_45bd4e30ac004819afa9050f72670d99/build/lib', '--build-platlib', '/tmp/pip-install-7qwh8und/dbus-fast_45bd4e30ac004819afa9050f72670d99/build/lib.linux-aarch64-cpython-39']' died with <Signals.SIGKILL: 9>.
  error: subprocess-exited-with-error

  × Building wheel for dbus-fast (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /usr/bin/python3 /usr/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /tmp/tmppahcukdc
  cwd: /tmp/pip-install-7qwh8und/dbus-fast_45bd4e30ac004819afa9050f72670d99
  Building wheel for dbus-fast (pyproject.toml): finished with status 'error'
  ERROR: Failed building wheel for dbus-fast

To Reproduce
Trying to install this python module on my openwrt based router
# uname -a Linux GL-MT3000 5.4.211 #0 SMP Thu Jun 20 15:15:09 2024 aarch64 GNU/Linux
Additional context
Add any other context about the problem here.
pip3 and python3 installed via opkg -- updated pip3 to the latest version via pip upgrade.

subprocess.CalledProcessError: Command '['/usr/bin/python3', '/tmp/pip-install-7qwh8und/dbus-fast_45bd4e30ac004819afa9050f72670d99/setup.py', 'build', '-b', '/tmp/pip-install-7qwh8und/dbus-fast_45bd4e30ac004819afa9050f72670d99/build', '--build-purelib', '/tmp/pip-install-7qwh8und/dbus-fast_45bd4e30ac004819afa9050f72670d99/build/lib', '--build-platlib', '/tmp/pip-install-7qwh8und/dbus-fast_45bd4e30ac004819afa9050f72670d99/build/lib.linux-aarch64-cpython-39']' died with <Signals.SIGKILL: 9>.
Looks like you might have run out of ram.
Check the dmesg to see if the OOM killer got you

Check the dmesg to see if the OOM killer got you

Yes!  That was it..  I'm not sure how to get more ram.  This is a very small router -- I will try to stop some unneeded services. I'm not sure why this is showing up now, I've installed lots of larger packages via pip before without issue.  It has 512mb of ram.    https://www.gl-inet.com/products/gl-mt3000/

You can install with export SKIP_CYTHON=1 to skip the cython acceleration. It will be much slower though

That worked perfectly.  Thank you.

export SKIP_CYTHON=1 fixed my problem.  Thank you!


Refactor endpoints

I refactored the base Endpoint get, put, delete methods to "private" (_get, _put, _post)
This is because there were some naming collisions in Buckets.delete() and the super() was being abused.

Next I refactored the authentication header handling to the base Endpoint class. This new style still allows passing of custom headers (exactly the same way as you'd expect).

class Tables(Endpoint):
    ...
    def list(self):
        custom_headers = {'X-custom-header1': "12345"}
        self._get(urljoin(self.base_url, 'list'), headers=custom_headers)

In the example above, the request headers will contain both X-custom-header1 and X-storage-token. In case of POST requests, the content-type: application/x-www-form-urlencoded is added automatically (more on this in #25 soon)

Lastly (and most importantly) I introduced a as_json argument to Endpoint._get method.
This is because the Tables.preview() endpoint doesn't return json. The default behavior is still to return json, though.

Now I am thinking we might try something like this (which I favor the least):
#in the Endpoint class
class Endpoint:
    def _get(self, url, params, **kwargs):
        r = requests.get(url, params, **kwargs)
        try:
            r.raise_for_status()
        except requests.HTTPError:
            # Handle different error codes
            raise
        else:
            try:
                return r.json()
            except JSONDecodeError:
                return r.content.decode('utf-8')

Or maybe we can always return the Response object and let the child endpoint methods handle the decoding?
class Endpoint:
    def _get(self, url, params, **kwargs):
        r = requests.get(url, params, **kwargs)
        try:
            r.raise_for_status()
        except requests.HTTPError:
            # Handle different error codes
            raise
        else:
            return r

class Tables(Endpoint):
    def list(self):
        resp = self._get(urljoin(self.base_url, 'list'))
        # it also allows you to access resp.headers (if they are ever useful, idk)
        return resp.json() # or resp.content.decode('utf-8')

This last one seems pretty flexible and now when I am thinking about it I like it the most. What do you think?
Travis was passing, so I think it should be OK.

I dislike the as_json=False having two methods would make more sense (either _get _get_json or _get and get_raw) - one would call the other

Taken me a while to get to this sorry! Was on holiday and when I got back by bathroom ceiling had collapsed due to a leak upstairs...

I refactored the base Endpoint get, put, delete methods

Fine by me.

Next I refactored the authentication header handling to the base Endpoint class.

I'd be happy to wait a bit longer be refactoring this but this is fine ^^

I dislike the as_json=False having two methods would make more sense

I agree with this. Also think that returning the response itself could work, but I think 95% of the time you just want to the json response, so handling the response each time would lead to a lot of duplication.

I am wondering whether this
class Endpoint:
     def _get(self, url, params, **kwargs):
            r = requests.get(url, params, **kwargs)
            try:
                r.raise_for_status()
            except requests.HTTPError:
                # Handle different error codes
                raise
            else:
                return r

    def _get_json(self, *args, **kwargs):
        return self._get(*args,**kwargs).json()

brings any real benefit. It's more or less the same amount of characters typed and you have one more method to worry about.
I think returning the Response object and handling the serialization in the Endpoint child classes is optimal behavior (isn't there also a case when we have to parse the response headers? I might be confusing this with some other API, but I think some response headers contained the retry-after header )

if you are talking about this http://docs.keboola.apiary.io/#introduction/http-response-codes then i'd imagine it would be handled in the _get method, this is common behavior for all endpoints

I'm dropping this PR as this one is close to impossible to merge (probably due to the unification of line endings from dos to unix + since there are some new commits in the master.
I created a new one instead (#36) with the same commits as in this one, but squashed into one big commit (again the dos/unix endings made issues) and rebased onto current master.
It's confusing, but I saw no other way around.
Now I see it was too early for such refactoring, lesson learned!

I still think that something like this
class Endpoint:
     def _get(self, url, params, **kwargs):
            r = requests.get(url, params, **kwargs)
            try:
                r.raise_for_status()
            except requests.HTTPError:
                # Handle different error codes
                raise
            else:
                return r

    def _get_json(self, *args, **kwargs):
        return self._get(*args,**kwargs).json()

is far better than having .json in every request

Ok, I can do that. And what about POST requests returning json - make it
def _post_json(self, *args, **kwargs):
        return self._post(*args, **kwargs).json()

to keep it consistent?

Sorry about the merge conflict ><


Use sstabledump for json command if available

ccm json is currently broken for Cassandra 3.x, but we can just use the sstabledump tool in this case.

+1