Looking for possibility to fetch versions selected by VersionResolver

Dear community,
we are using this buildpack to deploy over 3k+ company internal applications using various WLP and java versions (numbers are still growing). Problem appears when it comes to turn off outdated version in the registry which could be still potentially used by some applications.
We would like to have an option to see all versions currently used by our workload or have an option to build up our own registry/database with exact versions used and stored there.
Currently the only place where we could fetch versions selected by the buildpack resolver is the log file generated during application deployment.
-----> Downloading IBM 1.8.0_sr6fp1101 JRE from http://wls-java-8-0-6-11-01.***/linux/sr-ibm-java-jre-<IP_ADDRESS>_01-linux.tar.gz ... (1.3s)
         Expanding JRE to .java ... (1.9s)
-----> Downloading from http://wls-20-0-0-7_01.***/sr-wlp-base-javaee-all-<IP_ADDRESS>_01.zip ... (2.5s)
         Installing archive ... (2.7s)

This metadata isn't present anywhere within Cloud Foundry API and I couldn't find any other way than:

own buildpack customization to expose/export values - which might be problematic when it comes to the upgrade
building up own resolver based on the same logic as you do in buildpack code - extra code to be maintained (the wildcard "+" is the most problematic and breaking point in this idea)
parsing the log file to get the data - the nature of this solution is bad but comes into a game due to lack of other possibilities

We would really appreciate if you could check on this and consider providing such a feature. Having values exportable from the buildpack would be fair enough. Having it stored within CF or as a part of workload definition would be additional valuable option.
Kind regards,
K.M.

@KrzMar This is an interesting request.  I do see some merit in such a feature but I'm not aware of any method for the buildpack to add metadata so it would be available via a CF API.
The information you are looking for is available on the app's filesystem and can be obtained using CF CLI.
The header of Liberty's message.log shows the liberty and java versions:
$ cf ssh <appname> -c "head -10 logs/messages.log"
********************************************************************************
product = WebSphere Application Server <IP_ADDRESS> (wlp-1.0.41.cl200620200528-0414)
wlp.install.dir = /home/vcap/app/.liberty/
server.config.dir = /home/vcap/app/wlp/usr/servers/defaultServer/
java.home = /home/vcap/app/.java/jre
java.version = 1.8.0_251
java.runtime = Java(TM) SE Runtime Environment (<IP_ADDRESS> - pxa6480sr6fp10-20200408_01(SR6 FP10) Small Footprint)
os = Linux (4.15.0-112-generic; amd64) (en_US)
process =<EMAIL_ADDRESS>********************************************************************************

Alternatively, the staging log is also available on the file system.
$ cf ssh <appname> -c "cat app/logs/staging_task.log"
-----> Liberty Buildpack Version: v20200528-1800
-----> Retrieving IBM 1.8.0_sr6fp10-20200408 JRE (ibm-java-jre-8.0-6.10-pxa6480sr6fp10-20200408_01-cloud.tgz) ... (0.0s)
         Expanding JRE to .java ... (1.6s)
-----> Retrieving App Management 1.29.0_20200406-1609 (app-mgmt_v1.29-20200406-1609.zip) ... (0.0s)
         Expanding App Management to .app-management (0.1s)
-----> Retrieving com.ibm.ws.liberty-<IP_ADDRESS>-202005281800.tar.gz ... (0.0s)
         Installing archive ... (1.0s)
-----> Retrieving com.ibm.ws.liberty.ext-<IP_ADDRESS>-202005281800.tar.gz ... (0.0s)
         Installing archive ... (1.7s)
-----> Retrieving com.ibm.ws.liberty.javaee7-<IP_ADDRESS>-202005281800.tar.gz ... (0.0s)
         Installing archive ... (1.7s)
-----> Retrieving and installing client jar(s) from com.ibm.ws.icap.clientJars.cloudant.zip (0.0s)
-----> Warning: Liberty feature set is not specified. Using the default feature set: ["beanValidation-1.1", "cdi-1.2", "ejbLite-3.2", "el-3.0", "jaxrs-2.0", "jdbc-4.1", "jndi-1.0", "jpa-2.1", "jsf-2.2", "jsonp-1.0", "jsp-2.3", "managedBeans-1.0", "servlet-3.1", "websocket-1.1"]. For the best results, explicitly set the features via the JBP_CONFIG_LIBERTY environment variable or deploy the application as a server directory or packaged server with a custom server.xml file.
-----> Auto-configuration is creating config for service instance 'myCloudant' of type

I realize both of these methods require parsing of a log file but with scripting it can be easily accomplished and not rely on the availability of the log when the app is pushed.

Hi @kevin-ortega, thank you for the answer
we also had this assumption that there's no option to manipulate with CF API while staging. One of sentences in CF documentation made me feeling it could be somehow possible.
https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html
"You can access environment variables programmatically, including variables defined by the buildpack. For more information, see the buildpack documentation for Java, Node.js, and Ruby."

Anyway, is that for any reason intentional you don't print liberty_version as you do with java_version (right after "-----> Downloading" string)?

-----> Downloading IBM 1.8.0_sr6fp1101 JRE from http://wls-java-8-0-6-11-01./linux/sr-ibm-java-jre-<IP_ADDRESS>_01-linux.tar.gz ... (1.3s)
Expanding JRE to .java ... (1.9s)
-----> Downloading <-here we miss it-> from http://wls-20-0-0-7_01./sr-wlp-base-javaee-all-<IP_ADDRESS>_01.zip ... (2.5s)
Installing archive ... (2.7s)

https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack/blob/a4cf092abd8ef18f1ce81a6e658049986b2b6fd3/lib/liberty_buildpack/jre/ibmjdk.rb#L74
    def compile
      @version, @uri, @license = IBMJdk.find_ibmjdk(@configuration)
      .
      .
      ibm_var = ' IBM'
      download_start_time = Time.now
      if @uri.include? '://'
        print "-----> Downloading#{ibm_var} #{@version} JRE from #{@uri} ... "
      else
      .
      .
        ibm_var = '' if filename.include? 'open'
        print "-----> Retrieving#{ibm_var} #{@version} JRE (#{filename}) ... "
      end

https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack/blob/a4cf092abd8ef18f1ce81a6e658049986b2b6fd3/lib/liberty_buildpack/container/liberty.rb#L708
    def download_and_unpack_archive(uri, root)
      # all file types filtered here should be handled inside block.
      if uri.end_with?('.tgz', '.tar.gz', '.zip', 'jar')
        if uri.include? '://'
          print "-----> Downloading from #{uri} ... "
        else
          filename = File.basename(uri)
          print "-----> Retrieving #{filename} ... "
        end

However, by adding one function call to the last snippet we could also get liberty version as well:
liberty_version = Liberty.find_liberty_item(@app_dir, @configuration)[0]
..and by using variable in the right place eg:
print "-----> Downloading liberty #{liberty_version} from #{uri} ... "
it would give as expected output in the staging log file. (or we could add extra line telling which version is selected by the resolver - to not break scripts people might already have)
If that's just overlooked thing. I would be glad to place a proper pull request. WDYT?
Best regards,
K.M.

Seems like such a function is already there in newer versions of buildpack. eg in the one you use in public cloud..
vcap@45be20a4-9a34-4834-4e75-1c36:~$ cat ~/staging_info.yml
{"detected_buildpack":"Liberty for Java(TM) (WAR, liberty-20.0.0_9, buildpack-v3.49-20200918-0244, ibmjdk-1.8.0_sr6fp15-20200724, env)","start_command":".liberty/initial_startup.rb"}

vcap@45be20a4-9a34-4834-4e75-1c36:~$ cat app/logs/staging_task.log
Liberty for Java(TM) (WAR, liberty-20.0.0_9, buildpack-v3.49-20200918-0244, ibmjdk-1.8.0_sr6fp15-20200724, env)
-----> Liberty Buildpack Version: v3.49-20200918-0244
-----> Retrieving IBM 1.8.0_sr6fp15-20200724 JRE (ibm-java-jre-8.0-6.15-pxa6480sr6fp15-20200724_01-cloud-unrestricted.tgz) ... (0.0s)
         Expanding JRE to .java ... (1.8s)
-----> Retrieving App Management 1.29.0_20200406-1609 (app-mgmt_v1.29-20200406-1609.zip) ... (0.0s)
         Expanding App Management to .app-management (0.1s)
-----> Retrieving com.ibm.ws.liberty-<IP_ADDRESS>-202009180244.tar.gz ... (0.0s)
         Installing archive ... (1.7s)
-----> Retrieving com.ibm.ws.liberty.ext-<IP_ADDRESS>-202009180244.tar.gz ... (0.0s)
         Installing archive ... (2.3s)
-----> Retrieving com.ibm.ws.liberty.javaee7-<IP_ADDRESS>-202009180244.tar.gz ... (0.0s)
         Installing archive ... (4.7s)
-----> Retrieving and installing client jar(s) from com.ibm.ws.icap.clientJars.cloudant.zip (0.1s)
-----> Warning: Liberty feature set is not specified. Using the default feature set: ["beanValidation-1.1", "cdi-1.2", "ejbLite-3.2", "el-3.0", "jaxrs-2.0", "jdbc-4.1", "jndi-1.0", "jpa-2.1", "jsf-2.2", "jsonp-1.0", "jsp-2.3", "managedBeans-1.0", "servlet-3.1", "websocket-1.1"]. For the best results, explicitly set the features via the JBP_CONFIG_LIBERTY environment variable or deploy the application as a server directory or packaged server with a custom server.xml file.
-----> Auto-configuration is creating config for service instance 'cloudantNoSQLDB' of type 'cloudantNoSQLDB'
-----> Liberty buildpack is done creating the droplet

@krismarc Can you reach out to me on Slack or email (ortegake@us.ibm.com)?


no explanation for downloads on the downloads page

Removed downloads page from menu. Link is provided with relevant content.


(feature) Implement polling image source in intervals

Implements https://docs.google.com/document/d/1iWSrWL9pYRJ5Ua3VYErkK1Q2lAusBUeDCh66Ew4lDbQ/edit?usp=sharing
Closes #180

Based off of #145. Commit to review: 4764cd9d40ca86a8d400c42827e5289a68cdeb17

@ncdc @joelanford @everettraven PTAL I've incorporated feedback and this gist of the PR now is:

No default poll interval is set, if CR does not have a poll interval specified, it means polling is disabled.
You can specify a poll interval only if the ref is not digest based.
Polling occurs at least as often as poll interval. ie we can start off with "if you change the spec/add a label to the CR, polling will take place, and then be queued up again for after ". If and when we run into scenarios that is aspect is considered a nuisance rather than a "feature", we can optimize then.


Adding graham.c

@Gustorn I changed ccw to is_left_of and changed cmp_points.

Since @Gustorn approved it, it should be fine :)


docs: B2 Application Key usage clarifications

What is the purpose of this change?

Was the change discussed in an issue or in the forum before?

Checklist

[x] I have read the contribution guidelines.
[x] I have added tests for all changes in this PR if appropriate.
[x] I have added documentation for the changes if appropriate.

[x] I'm done, this Pull Request is ready for review :-)

Thank you - that looks like an improvement :-)


Add virtualization support to data-grid

Feature/component description
The current implementatio/docs for the https://github.com/microsoft/vscode-webview-ui-toolkit/blob/main/src/data-grid/README.md allows a caller to add rows through a property. This works great for a small number of rows but wouldn't work so well for say a million rows.
Use case
We'd love to use the data grid for this control here: https://code.visualstudio.com/docs/datascience/jupyter-notebooks#_variable-explorer-and-data-viewer
The variable explorer cannot fetch all rows at once so virtualization of row data is required.
The data frame viewer is even worse. We need to support data frames with millions of rows and columns.

Interesting.   I've got the virtualizing data-grid prototype linked above working to the point where keyboarding to a currently virtualized row works (mostly).  Feedback appreciated btw.
A few questions -

column virtualization:  The current fast data-grid already allows authors to control what columns are rendered out of the provided data set so you can easily add/remove/reorder them, or do you literally mean a horizontally scrollable million-column grid?  We should be able to virtualize out of viewport cells in each row using the same approach, but I haven't thought of that as an early priority.
"millions of rows":  There are upper limits to how big elements can get before things get janky and I haven't looked at those issues in detail yet.  Scrolling/painting gets weird in my test grid after about a half a million rows.

^ cc @rchiodo

do you literally mean a horizontally scrollable million-column grid?

Yes this one. Features in data science can be on the order of millions. At least for really complex stuff.

"millions of rows": There are upper limits to how big elements can get before things get janky

Yes millions of rows. This is a common case (more so than the columns, columns are usually in the 1000s).
I believe the grid we're using now has a canvas that it uses to render the current visible rows (and columns) (so it never has more than 3 pages I think in memory).

@scomea I'm also curious to know what the API will look for using virtualization and if it will be compatible with fast-react-wrapper?
I ask because a lot of our community and (if I recall correctly) even the VS Code Jupyter extension that @rchiodo works on uses React.
So, if at all possible, I'd love if the React integration story is considered as part of this work too (and of course I'm more than happy to help out with feedback or any other way that I can).

I believe the grid we're using now has a canvas that it uses to render the current visible rows (and columns) (so it never has more than 3 pages I think in memory).

@rchiodo When you say "in memory" do you mean how many rows have associated elements rendered in the DOM, or something else?

@scomea I'm also curious to know what the API will look for using virtualization and if it will be compatible with fast-react-wrapper?
I ask because a lot of our community and (if I recall correctly) even the VS Code Jupyter extension that @rchiodo works on uses React.
So, if at all possible, I'd love if the React integration story is considered as part of this work too (and of course I'm more than happy to help out with feedback or any other way that I can).

IMO, the react work should be transparent here. The wrapper serves to address problems which are caused by React's lack of compatibility with the DOM standard and I don't think we should hoist that requirement to a web component which, upon support being introduced, would be unnecessary. With that said, I don't see any implementation which would require us to provide special handling for react beyond the wrapper; hopefully it's a non-issue. Just want to provide a heads up on this though, so it's not a surprise...

@rchiodo When you say "in memory" do you mean how many rows have associated elements rendered in the DOM, or something else?

I may be wrong, but the canvas I think is hosting the 3 pages of elements that are visible. The source code for the grid we use is here: https://github.com/6pac/SlickGrid

IMO, the react work should be transparent here. The wrapper serves to address problems which are caused by React's lack of compatibility with the DOM standard and I don't think we should hoist that requirement to a web component which, upon support being introduced, would be unnecessary. With that said, I don't see any implementation which would require us to provide special handling for react beyond the wrapper; hopefully it's a non-issue. Just want to provide a heads up on this though, so it's not a surprise...

Oh yeah sorry if I wasn't as clear, I completely agreed that the web components should not shoulder/take on React's lack of compliance with the DOM standard. My question was indeed just supposed to make sure that there weren't any gotchas or special handling that would be required beyond wrapping the component.
But it sounds like it shouldn't be an issue so I'm happy. 🙂 Thanks for clarifying @chrisdholt!

Something else we just hit in the hex editor: very large scroll regions will reach the maximum scroll height defined in browsers, and therefore we had to implement non-native scrolling. May or may not be in scope for this, but it sounds like something the Python team may hit. The cap is somewhere around 10 million pixels, I didn't test in great depth.

@scomea I'm also curious to know what the API will look for using virtualization

For a basic scenario all that should be required is for the author to set the "virtualize" flag and provide item height.  That should result in a navigable virtualized grid.  Once authors want to be able to move focus to virtualized elements and the such that gets more complicated.  This really is the ideal stage for hammering out the api.

Something else we just hit in the hex editor: very large scroll regions will reach the maximum scroll height defined in browsers, and therefore we had to implement non-native scrolling. May or may not be in scope for this, but it sounds like something the Python team may hit. The cap is somewhere around 10 million pixels, I didn't test in great depth.

Yeah, I've been thinking we'll need to do some special scrolling implementations at some point to support very large displays.

Hi all,
Back with a final update: I'm very sorry to say that the toolkit is being deprecated and all active development will be coming to a close.
There was an announcement last week where you can learn more details and leave any questions or comments you may have.
Beyond that, thank you so much filing this issue and apologies for never getting around to addressing it. It means a lot that you contributed to the improvement of this project. I wish you all the best in your future VS Code extension endeavors!


release superglue model ?

congraduation, thanks for your work. could you please release the superglue model?

Thank you for your attention. The release of the SuperGlue model is under preparation, as we need to consider license and legal issues. We will complete it as soon as possible.

Thank you for your attention. The release of the SuperGlue model is under preparation, as we need to consider license and legal issues. We will complete it as soon as possible.

Congratulations for your paper acception! I am wondering whether the weights of superglue model also needs approval of license checking?

Thank you for your attention. The release of the SuperGlue model is under preparation, as we need to consider license and legal issues. We will complete it as soon as possible.

Congratulations for your paper acception! I am wondering whether the weights of superglue model also needs approval of license checking?

@gujiaqivadin Since some of SuperGlue's authors are from MagicLeap, which is a commercial company, we have to be careful with it.

Thank you for your attention. The release of the SuperGlue model is under preparation, as we need to consider license and legal issues. We will complete it as soon as possible.

Congratulations for your paper acception! I am wondering whether the weights of superglue model also needs approval of license checking?

@gujiaqivadin Since MagicLeap was involved in propose SuperGlue, it's a commercial company, so we have to be careful with it.

Would love to see the lightglue version instead since both the training and inference code are apache 2!

@zebin-dm @gujiaqivadin @pablovela5620
Thank you for your attention; we have now released gim_lightglue and appreciate your patience.

This is awesome, thank you. Are the gim_lightglue weights a drop in replacement? So if I wanted to use them with the original lightglue repo or in hloc, could I just replace the original weights and things should work? I'd love to do some testing with them

@pablovela5620
Thank you 😊 It may not be possible to directly replace it; it's necessary to reorganize the ckpt file so that the original lightglue can directly read it. Additionally, I found that training lightglue with 2048 points leads to normal performance of gim_lightglue at 2048 points. However, with more points, such as 4096, it might perform strangely because lightglue has not encountered them during training. Therefore, I suggest using the parameters provided by demo.py when utilizing gim_lightglue.


Use Transfiex to internationalize Godot engine UI

Transifex is a great tool for collaborative translation of applications (as well as websites, etc.).
It is possible to create a free account and with it create one organization to handle different projects on it. If the organization create and translate only open source projects the monthly cost is 0$.
See one example of open source organization that is using transifex here
And no, this is not spam :-)

Transifex is a great service, but it's proprietary, so it wouldn't be my first choice (even though I use it for various projects, such as the full Mageia project - the choice to use it was made while Transifex was still open source...).
Weblate is a better alternative for open source communities. I already made a request on https://hosted.weblate.org/ to get a free hosted project for Godot.

Maybe we can use a WordPress install with GlotPress plugin: https://br.wordpress.org/plugins/glotpress/

i think Transifex is free for opensource free software

I also found this one which is opensource
https://translations.launchpad.net/

I find its UI way worse than Weblate, even if it supports more file formats (which we don't need anyway).

@Calinou  weblate does  seem better actually

To all translators: we now have a translation project on hosted.weblate.org, a libre translation frontend with tons of nice features for translation and team work.
We'll have to see how to best use it in our workflow, but I would already encourage you to work in Weblate directly and not by pull requests in this repo, as we don't want the state of translations on git and on Weblate to diverge.
Changes made on git can however be easily synced to Weblate, so it wouldn't be a drama either, but more work. I won't enable automatic commits from Weblate to GitHub for now, as I don't want it to clutter our git history. So in a first time I'll probably be the one to commit translations from Weblate to GitHub. We'll adjust the workflow as time goes :)
Link if you missed it: https://hosted.weblate.org/projects/godot-engine/godot
Mass ping of all current translators: @Calinou @est31 @volzhs @vnen @Geequlim @ZX-WT  @derderder77 @noidexe @hyperglow @paviro @ajacobsen @JohnnyLeone @Bonfi96 @DimOkGamer @toby3d :)

closable

True, now we have it :tada: https://hosted.weblate.org/projects/godot-engine/godot


Store data outside the Github repository.

The data of stator currents, line voltages, torque and speed has been collected in each simulation so far. But, some of the data collected in the same leg open-circuit faults, like T1 and T4, has more the 100MB which surpass the maximum allowed in Github. So, the data has to be moved to an external drive or a cloud.

The simulation's data moved to an external drive.
The cases covered so far: T1, T2, T3, T4, T5, T6, (T1, T4), (T3, T6), (T2, T5) in full speed.
One switch with series resistence (T1) with 5 Ohm and 10 Ohms.
Intermittent switch in 20% of the time in one switch (T1).
To do:
Intermittent switch in 10% of the time in one switch (T1).


[Cordova] Upgrade the value of minSdkVersion parameter from 14(defaul…

…t) to 16 when building cordova tests. (#3702)

[Cordova] Upgrade the value of minSdkVersion parameter from 14(default) to 16 when building cordova tests.
BUG=https://crosswalk-project.org/jira/browse/CTS-1831

[Cordova] Upgrade the value of minSdkVersion parameter from 14(default) to 16 when running cordova tests.

Cherry-pick from the master branch modification.


Mirror effect persists for fractions of a second after the block is broken

The mirror only checks it every second. This is for performance concerns. But I guess checking it every tick won't cost much performance


Trouble understanding difference between generics declared in class and static methods

Summary
we declare Log in the class but for example
static  Log of(U u){
}
Description:
Would like to know why we have to declare generics twice

This is covered in the lecture when prof covered the topic of Maybe.  But here's an explanation of the differences:
When you declare a generic class of Log with type T, type T will take on the type declared when creating an instance/object of class Log. So for example, if we have the following class Log and we instantiate objects logInt and logString:
class Log<T> {
    public Log() { ... }
}

Log<Integer> logInt = new Log();
Log<String> logString 6 = new Log();

Here type T of logInt is Integer and logString is String;
However, in the case of static methods, they are called WITHOUT instantiating/creating an instance of the class. Hence, there isn't any instance in which the method can refer to deduce the type used in the method. As a result, we need to state the generic type in the static method itself.
class Log<T> {
    public Log() { ... }

    static <U> display(U u) {
        System.out.println(u);
    }
}

Log<Integer> logInt = new Log(); // references T
Log<String> logString 6 = new Log(); // references T

Log.<Integer>display(100); // references U
Log.<String>display("Hello World"); // references U

In the above example, the body of the static display method cannot reference type T since no instance of the Log is created. To overcome this, I've provided the generic type U at the start of the method signature so that the static method can use generic types without creating an object instance of the class.
In general, there is a need to declare another type to be used in the static method since you can think of a static method as isolated from the class.

Would like to add on that if you declare the static method's type, it will be the same for all instances of the object. For example if i declare the return type of the static method to be a string, it will be a string regardless of the object instance. Even if it is a log or log, the return type of the static method will still be a string.


[BEAM-246] re-enable Checkstyle by default

This adds 50%+ overhead to a clean build (with testing disabled), but
per dev@ discussion is a huge usability win for contributors and
committers alike.
<EMAIL_ADDRESS>

R: @jbonofre

Coverage decreased (-0.01%) to 69.751% when pulling 0d0eb9bf3fa5b3facf403d486787c579c2e82228 on dhalperi:checkstyle-default into 979c9376f820577bad43c18cc1a7ee86fab9d942 on apache:master.

LGTM


determinate user in post from feeds

I want to use post from feed with a determinate account. So I created and account and added the feeds, but strangely the posts are created with my original account (the user #1).
Would be amazing (and easy) be able to define the user associated with feeds posts.
.cc @delgermurun @SachaG

I agree that would be a nice feature. I think ideally each feed should be able to have its own user.

Done :)


nix: add building oid to the flake

Summary
Currently we have a nix flake used only for formatting. This extends it to a full implementation for both getting a developer shell and directly building OI.
Our build setup is currently too complicated and requires too much maintenance. We have:

Internal BUCK build: Requires maintenance when new files are imported, but isn't too bad and is necessary.
Semi-internal CMake build: Used to pull some dependencies from an internal repo, some from CentOS, and some with FetchContent. Confusing and requires frequent maintenance.
OSS CMake build (CentOS): Probably should work but doesn't (as far as I know).
OSS CMake build (every other distro): Requires too much bandwidth to support.

And we should add one more:

External BUCK build: Unifying the internal BUCK build and the external would make it easier for OSS developers to know if they break it. Currently it requires a Meta dev to patch it up.

By using Nix we can unify all of the CMake builds, testing, and likely the external BUCK build on all distros. This significantly reduces the developer burden. We can also reliably support this environment as it's reproducible.
Test plan
This likely has an effect on existing build patterns - sorry to anyone if it disrupts your workflow!

Tested all of the examples given in README.md excluding the one that requires this to be merged.
Doesn't affect BUCK at all.

Still to do
We still need to be able to run the tests in Nix. This likely needs a script that runs under Nix to generate a .oid.toml which can be used where testing.oid.toml is currently expected to be manually provided. Then the CI can run purely Nix and we'll all be happy :)

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

Project coverage is 60.77%. Comparing base (ed5fcfe) to head (5a1a134).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #502   +/-   ##
=======================================
  Coverage   60.77%   60.77%
=======================================
  Files         126      126
  Lines       12487    12487
  Branches     2014     2014
=======================================
  Hits         7589     7589
  Misses       3941     3941
  Partials      957      957

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


Issue label selection broken

On latest master, it's not possible to set a label on a issue. The page jumps to the top (I think through the hash link on the label element) and nothing happens. I think this is a regression from the jQuery update.

Anything on the edit issue selection fields has no effect: Selecting the branch, the label, the milestone, assignee.

I believe this issue was fixed by 831288cc916d5301beaa0adc1d912d6748a4cdaa.

fixed by #7445


Scheduler

The intiial work here mirrors the desired goals for the scheduler outlined in Issue #2. However a roadblock was encountered when mulling over what the Task object should look like and trying to unify general timed-event callbacks with scheduled events.

In attempting to unify the new_timer functionality I started to create a Task class that was really a thin wrapper around some sort of "callable" object along with some pre/post condition hooks. However I went down the rabbit hole of trying to accomodate all function-like things and hit a wall. I don't think it's reasonable at this point to continue so I'm backing up so supporting only lambdas.
// task here will always be a lambda, not a callable object, not a funciton-object, not
// a pointer to any of those things
r->scheduler.schedule(/*delay=*/no_delay, /*interval=*/2s, /*task=*/[]() -> void {});

Also, while pre and post-conditions make a lot of sense they really are just if-blocks that could exist at the beginning or end of a lambda. What they lack is the ability to act. A pre-condition could easily have an early return but a post-condition can't control it's next scheduled run. To that effect I'm going to add an optional context object to the lambda that would allow them to cancel the scheduled task. The two forms of calling the function would look like:
r->scheduler.schedule(no_delay, 2s, []() -> void { /* do thing */ });

r->scheduler.schedule(no_delay, 2s, [](TaskContext &ctx) -> void {
  if (! pre_condition()) {
    return;
  }
  // code ...
  if (! post_condition()) {
    ctx.schedule.cancel();
  }
});

Ditching the pre/post-condition stuff and also refactoring the current timer logic. Moving logic out of the reactor and into the event sub-classes. So now there is a TimerEvent and DelayedEvent that get to about 80% of the functionality that I originally wanted to get in the ticket. However, it reduces the complexity by a very large margin. The code-base with the added functionality and refactor is simpler than before the functionality was added. So big win. :-)


Automator: update<EMAIL_ADDRESS>dependency in<EMAIL_ADDRESS>

Generated by Automator - 2023-05-24T14:29:10+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio_release-1.16
22b2be4f71433b30908595d8a1b856fc55fbb5f4
link
true
/test integ-pilot-multicluster

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/test-infra repository. I understand the commands that are listed here.

/test integ-pilot-multicluster

/test release-test


[bug] reaction_roles

Summary
reaction_roles PartialEmoji
Reproduction Steps
I wanted to have special emoji that is include in base of discord "transgender_symbol" :transgender_symbol: to reacte and add role to this member.
when i do this no where that it's work
Minimal Reproducible Code
self.emoji_to_role = {
            disnake.PartialEmoji(name="transgender_symbol"):<PHONE_NUMBER>32395555,  # ID of the role associated with unicode emoji '🔴'.
            disnake.PartialEmoji(name="🟡"):<PHONE_NUMBER>32395555,  # ID of the role associated with unicode emoji '🟡'.
            disnake.PartialEmoji(
                name="green", id=0
            ):<PHONE_NUMBER>32395555,  # ID of the role associated with a partial emoji's ID.
        }

Expected Results
to have role<PHONE_NUMBER>32395555 add to member
Actual Results
it das not add role to the member
Intents
intents.members; intents.messages; intents.presences; intents.guild_typing; intents.dm_reactions
System Information

Python v3.10.2-final
disnake v2.4.0-final

disnake pkg_resources: v2.4.0

aiohttp v3.8.1
system info: Windows 10 10.0.19044

Checklist

[X] I have searched the open issues for duplicates.
[X] I have shown the entire traceback, if possible.
[X] I have removed my token from display, if visible.

Additional Context

class autoRoles(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

        super().__init__()
        self.role_message_id =<PHONE_NUMBER>00000000  # ID of the message that can be reacted to to add/remove a role.
        self.emoji_to_role = {
            disnake.PartialEmoji(name="transgender_symbol"):<PHONE_NUMBER>32395555,  # ID of the role associated with unicode emoji '🔴'.
            disnake.PartialEmoji(name="🟡"):<PHONE_NUMBER>32395555,  # ID of the role associated with unicode emoji '🟡'.
            disnake.PartialEmoji(
                name="green", id=0
            ):<PHONE_NUMBER>32395555,  # ID of the role associated with a partial emoji's ID.
        }

    # @commands.Cog.listener()
    # async def on_ready(self):
    #     print("Auto roles is : ON")
    #     # Getting all the guilds our bot is in

    @commands.Cog.listener()
    async def on_raw_reaction_add(self, payload: disnake.RawReactionActionEvent):
        """Gives a role based on a reaction emoji."""
        if payload.guild_id is None or payload.member is None:
            return

        # Make sure that the message the user is reacting to is the one we care about.
        if payload.message_id != self.role_message_id:
            return

        guild = self.bot.get_guild(payload.guild_id)
        if guild is None:
            # Check if we're still in the guild and it's cached.
            return

        try:
            role_id = self.emoji_to_role[payload.emoji]
        except KeyError:
            # If the emoji isn't the one we care about then exit as well.
            return

        role = guild.get_role(role_id)
        if role is None:
            # Make sure the role still exists and is valid.
            return

        try:
            # Finally, add the role.
            await payload.member.add_roles(role)
        except disnake.HTTPException:
            # If we want to do something in case of errors we'd do it here.
            pass

    @commands.Cog.listener()
    async def on_raw_reaction_remove(self, payload: disnake.RawReactionActionEvent):
        """Removes a role based on a reaction emoji."""
        if payload.guild_id is None:
            return
        # Make sure that the message the user is reacting to is the one we care about.
        if payload.message_id != self.role_message_id:
            return

        guild = self.bot.get_guild(payload.guild_id)
        if guild is None:
            # Check if we're still in the guild and it's cached.
            return

        try:
            role_id = self.emoji_to_role[payload.emoji]
        except KeyError:
            # If the emoji isn't the one we care about then exit as well.
            return

        role = guild.get_role(role_id)
        if role is None:
            # Make sure the role still exists and is valid.
            return

        # The payload for `on_raw_reaction_remove` does not provide `.member`
        # so we must get the member ourselves from the payload's `.user_id`.
        member = guild.get_member(payload.user_id)
        if member is None:
            # Make sure the member still exists and is valid.
            return

        try:
            # Finally, remove the role.
            await member.remove_roles(role)
        except disnake.HTTPException:
            # If we want to do something in case of errors we'd do it here.
            pass

Thank for your replie !! so you are 100% true. i dont know why but in the start he deed not want to work proprely ? so far it's working now.


emcee and joblib

Hi, has anyone tried to run emcee using a joblib pool? Is this possible? Has anyone tried it?...  Does emcee only work with only multiprocessing pool and MPIPool?
Cheers,
Miguel

You might be able to use it via schwimmbad, but I haven't really tried it.

Pathos does work and it is quite powerful in terms of serialization.


terraform iam_assumable_role adaption

Hey,
we found an "issue" that you already found and implemented in your lambda module: When using the variable "custom_role_policy_arns" the count parameter will be constructed depending on the length of the list contained in "custom_role_policy_arns". This results in an error of terraform that the length of resources cannot be constructed during runtime. For solution of this, i propose to add a new variable and use this during the count statement:
variables.tf
variable "number_custom_role_policy_arns" {
description = "Number of IAM policies to attach to IAM role"
type        = number
default     = 0
}
main.tf
resource "aws_iam_role_policy_attachment" "custom" {
count = var.create_role ? var.number_custom_role_policy_arns : 0
role       = aws_iam_role.this[0].name
policy_arn = element(var.custom_role_policy_arns, count.index)
}
Thanks!

Hi again :)
I see what you mean and it makes sense (unfortunately, Terraform is not so smart yet). Pull-request is welcome.

Hey :)
i would love to do so, however i cannot push to a new origin branch. What i do:
git push -u origin feature/iam_assumable_role_number_of_policies_fix
...
remote: Permission to terraform-aws-modules/terraform-aws-iam.git denied to Zyntogz.
fatal: unable to access 'https://github.com/terraform-aws-modules/terraform-aws-iam.git/': The requested URL returned error: 403
...
I can do whatever i want, if https or ssh, it stays like that... You may have any idea?

You need to fork the repo, make changes, and send a pull request to this repository.

Fixed in #96
v2.26.0 has been just released.

Hello @antonbabenko
This fix provoked the deletion of hundreds of role_policy_attachments when our terraform automatically retrieved the last version of this module... indeed, as the variable value is "0" by default, our terraform took an empty array and delete all the attachments.
It implies a pretty big number of problems in our multiple account ^^
In our case, we have an fixed ARNs list and we did not have the error mentionned above.
Do you think this default value to 0 can be adapted to avoid such inconvenience ?

@yogeek I understand that this change may bring some difficulties to existing users, so I have corrected it during a couple of hours after the release. See this comment for details.
In short, you need to use version 2 of this module if you can't upgrade to use the changed behavior.
If you can upgrade, use version 3 of this module and update your code respectively.
The problem which this PR was solving can't be solved more elegantly for both existing users (like you, who have static list of ARNs) and for new cases when ARN will have to be computed and Terraform can't handle it.

@antonbabenko ok thank you. We have pinned the version to <3  for now.


Add support for SVG input

(As originally suggested by @homerjam in #105.)
libmagick is able to parse vector SVG files as bitmaps but the resolution is poor due to the default 72 (96?) DPI/density setting.
The density should really be calculated based on the desired output dimensions. This setting might have to be exposed in libvips too.

Hi, 7.42 is out now with this feature.

Thanks John, I'll expose this feature after moving to libvips' new C++ bindings.

I think I totally need this, or at least something like this. I've got an Adobe Illustrator file that I'm converting to PNG. I need the ability to specify the density for the output PNG.

@lovell To be clear, it is a .ai file, not .eps. =) Conversion is done with ghostscript+graphicsmagick

@lookfirst Thanks, I've updated the title accordingly.

Commit fdb27e1 on the mind branch (v0.13.0) adds much-improved support for vector images.

@lovell This looks really nice!

There's an interesting related issue here: https://github.com/jcupitt/libvips/issues/379
I'll have a stab at a libpoppler loader.

... jcupitt/libvips#379 has some benchmarks now, it's up to about 500x (!!???!?!) faster.
What features do you need in a vector graphics loader? Please feel free to add any ideas to the TODO on that issue.

@jcupitt Wow, that's quite an improvement.
SVG is the vector format that has generated the most questions from sharp users. Given poppler's dependency on cairo, would support for loading via librsvg also make sense here?

Sure, I think that's a good idea. It should be a fairly simple copy-paste job to make pdfload.c into svgload.c. These dependencies are all optional so I have no problem adding more.

... I guess better GIF support is also asked for a lot. I don't know what the best gif library is.

@jcupitt The public domain STB library provides a common API for decoding GIF, PSD and a few others at https://github.com/nothings/stb/blob/master/stb_image.h

I don't like the STB stuff, it seems broken by design to me. It makes my skin crawl!
I'll add a note about finding a gif library to the TODO.

I had a quick hack at a librsvg reader. This is a simple copy-paste from the new pdfload operator:
https://github.com/jcupitt/libvips/tree/add-librsvg
It's fast! I see:
$ time vipsthumbnail vips-profile.svg
real	0m0.101s
user	0m0.092s
sys	0m0.012s

vs. git master, still using the libMagick pathway:
$ time vipsthumbnail vips-profile.svg
real	0m0.207s
user	0m0.252s
sys	0m0.036s

It's not correctly loading from a memory buffer yet, I'm not sure why.

OK, fixed it, it seems to work well now.
I think the remaining issue is file type sniffing. At the moment it relies on files ending in .svg and buffers being valid SVG files (it just calls rsvg_handle_new_from_data() on the memory area).
Files not called .svg will be missed, and memory buffers will be very slow to detect, since it will (I think?) parse the whole buffer.
Do you know a good detect-svg rule? I guess first line starts <?xml, second line starts <svg, but that seems rather fragile. The code needs to go in here:
https://github.com/jcupitt/libvips/blob/add-librsvg/libvips/foreign/svgload.c#L366

@jcupitt That's fast, and that's fast!
The <?xml ... declaration is optional in SVG (and in XML at large, although very much recommended). https://github.com/sindresorhus/is-svg/blob/master/index.js provides some hints, e.g. not binary, contains <svg and </svg>

Thanks @lovell, I've put something better in. I'll merge to master as soon as CMYK PDFs are sorted out.

v0.13.0 now available, thanks everyone for the comments and help with this.
I'll create a separate issue to take advantage of libvips' new SVG and GIF loaders when v8.3.0 is available.

One more related thing: the magickload in git master libvips now has a page parameter you can use to select the page to load of a multi-page document (or the gif frame to load of an animated gif). It gives a very nice speedup for things like PDF.
By default it always picks page zero, I don't know if sharp would need to expose this.

@lovell I'm playing with this and I'm a bit confused. I'm trying to read in a .ai file and output a .png file. I'd like the png to be output as 300dpi. Right now, I'm getting 25 dpi for the png file with sharp 0.13.0. Any ideas? Thanks!
	let transform = (width, height, density, toFormat) => {
		return sharp(null, {density: density})
			.resize(width, height)
			.max()
			.withoutEnlargement()
			.toFormat(toFormat);
	};

@lookfirst density refers to *magick's rendering of a bitmap from a vector input.
In your example, this bitmap is then resized. Perhaps temporarily remove the resize operation to see more clearly what *magick is doing.

"I'd like the png to be output as 300dpi"

Once an image is in bitmap form, the DPI is mostly arbitrary - see #96 for why there are only "25" of them :)


Mobile Network API version 2022-04-01-preview

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[x] SDK of Python
[x] SDK of Java
[x] SDK of Js
[x] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following appy to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

This API has already passed ARM review. The relevant PRs are:

https://github.com/Azure/azure-rest-api-specs-pr/pull/7253
https://github.com/Azure/azure-rest-api-specs-pr/pull/7542
https://github.com/Azure/azure-rest-api-specs-pr/pull/7761

/azp run

@live1206 Breaking changes has been already approved. Please find the PR details in the previous comment from @sathiyan-sivathas.

@qiaozha Could you help check the SDK breaking change for js?

@ArcturusZhang Could you help check the breaking change for go?

@msyyc Could you help check the breaking change for python?

approved for python breaking change


Fix default compiler setting

Should we raise a bug upstream ?

Always.

https://github.com/dlang/dub/issues/1918

@Geod24 auto-merge didn't work, it seems.


DOC use isort's own config for sorting notebooks

see https://github.com/timothycrosley/isort/issues/1338#issuecomment-666918626

I could not get whats this change about. Could you elaborate with an example?

Sorry, this is probably from when I was still working on this on my own - I just meant to document --treat-comment-as-code. I'll rephrase now


Add lazyquote option

Description

Type of change

[ ] Bugfix
[x] New feature

Checklist:

[x] I covered my changes with tests (make cover)
[x] I ran make all locally and no tests failed, nor no linter warnings occurred.
[ ] I added examples and changed the documentation accordingly (only if applicable).

Contributor License Agreement
By submitting this pull request, I confirm that my contribution is made under the terms of project's license.

Thanks @jhgalino for adding the lazy quotes option.


Update index.me<EMAIL_ADDRESS>

Why:
Closes:

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline.

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

https://www.dropbox.com/scl/fi/xch7fj7v0rp2rlvdqxra6/2023-08-07-23.39.29.jpg?rlkey=qpdxk0lctfgtol4g72l6up5ru&dl=0

<EMAIL_ADDRESS>


Move powershell code block monicker to PlatyPS

Because PlatyPS does not add the powershell syntax highlighting language to code blocks we are currently adding the monicker ourselves during the markdown-to-mdx transformation, see https://github.com/alt3/Docusaurus.Powershell/blob/master/Source/Private/UpdateContentCodeBlocks.ps1
Ideally... a PR should be made to update PlatyPS so we can drop this step. Green light given by the repo owner, just needs to be done (see https://github.com/PowerShell/platyPS/issues/475#issuecomment-542586573). Additional background info at https://github.com/PowerShell/platyPS/issues/294

Additional info:

https://github.com/PowerShell/platyPS/issues/294
https://github.com/PowerShell/platyPS/issues/475#issuecomment-542586573


rsa message receiver example

This example loads a public key from a JSON file and serves it to the front end in a cookie. Front end uses the JSEncrypt library to encrypt a message with the public key and POST it to the back end. Server then loads the matching private key from another json file and decrypts the message that was received.
My testing was on feather ESP32S3 TFT

Maybe it is only me, but in my opinion it would be better to make a article about it like with this.
I am not sure but 11 files for a single example seems like a bit too much. Also, currently each example show a general use case of the lib itself, while this is very specific use case, down to even particular JS lib.


[top/pinmux/pads] Pull the IE signals into the pinmux and disable for unused inputs

Following the discussions about unused input signals in #9046 and #9059, this pulls the input buffer enable signals from the padring down into the pinmux so that the input buffers can be turned off if the pad input is not used in order to save power.
For muxed pads the input buffer is only enabled if the pad is either selected via an INSEL CSR configuration in the pinmux matrix, or a wakeup detector is configured to listen on that MIO.
For dedicated pads, the input buffer is statically enabled if the DIO is configured as an input or input. The input buffer is also enabled if a wakeup detector is configured to listen on that DIO.
For the USB pad pairs, the first pad in a pair is always connected to the signal comming from the pinmux.
The input buffer of the second pad in a pair is permanently disabled.
Note that long-term, the IE signals should be pulled all the way into the peripherals for even more granular control - but this change would be too invasive right now, so it is deferred for later (see #9134).
We should also discuss how this affects pad2ast signals, and whether the associated input buffers need to be constantly enabled (@arnonsha).

Converted back to draft PR until it is clear that we really need this in terms of static power during sleep.

Our IO leakage simulations show that as long as the PAD is at logic '1' or '0' (not in intermediate level), the leakage diff between active and inactive input enable is small (in the order of 10% diff)

thanks for the feedback Ziv, that's very helpful.
On Sun, Nov 14, 2021 at 4:08 PM zi-v @.***> wrote:

Our IO leakage simulations show that as long as the PAD is at logic '1' or
'0' (not in intermediate level), the leakage diff between active and
inactive input enable is small (in the order of 10% diff)
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/pull/9136#issuecomment-968363376,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSX4HVT2BFAMMHUIW3TUMAQNTANCNFSM5HWZCJWQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@tjaychen and I decided to table this change for the time being as it is not high priority. Created issue #9706 to track this.


Hyperion-ng light toggle not functioning as required

Bug report
When pressing the HA light toggle for Hyperion-NG (2.0.12) the LED array switches off as intended without changing any of the other states (eg. the used capture methods in this case)
However when you click on the light toggle again, it will toggle the LED array back on but will disable the opposite capture mode of the one active.
Eg. When Screen Capture is enabled and the LED array is switched on from HA it toggles off the USB Capture and vice versa.
Steps to reproduce

Put Hyperion in default state for my setup (ie. Smoothing, Black bar detection, Screen capture, USB capture and LED output in ON state
Press Hyperion button on light card off and on again

What is expected?
Both capture methods should remain unchanged regardless of the LED output state
What is actually happening?
The non-active capture method will be toggled into the OFF state
System
Home Assistant Server

Virtual machine (Synology VMM)
Home Assistant OS 6.6
Home Assistant Supervisor: 2021.10.8
Home Assistant Core: 2021.11.5

Hyperion Server:

Build:           (HEAD detached at df149583) (GitHub-dc6aa4dd/df149583-1637501177)
Build time:      Nov 21 2021 16:50:38
Git Remote:      https://github.com/hyperion-project/hyperion.ng
Version:         2.0.12
UI Lang:         en (BrowserLang: en-US)
UI Access:       expert
Avail Capt:      v4l2,qt,dx
Config path:     C:/Users/forkless/.hyperion
Database:        read/write

Hyperion Server OS:

Distribution:   Windows 10 Version 2009
Architecture:   x86_64
Kernel:         winnt (10.0.19044 (WS: 64))
Root/Admin:     true
Qt Version:     5.15.0
Python Version: 3.10.0
Browser:        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36

Please close this issue report. I realize this is not the repository for the Hyperion-NG integration.


FIX: create unique working dir configs if a sole participant label is…

A test fix for #2137. Also ran black on fmriprep/cli/run.py.
@ariekahn if you have the time and would like to pilot this, please do 😄

Definitely, giving it a test right now.

Why not just tag with the run UUID?

@mgxd That eliminated the problem I was running into, just fyi


Apply gofmt fixes

Align the code with gofmt.
We carry many gofmt issues, and now is the time to fix them all.
We should make sure every Ubiquity developer set automatic gofmt in its IDE to prevent pushing formatting issues in the future.
We should keep go report in high score as much as possible.

This change is

Coverage increased (+0.01%) to 52.769% when pulling 4ec6be13fdbaf4ab398e99c6efc4d197e2092d69 on fix/gofmt_alignment into f05aee3b505045aacb447c637a8ade80af7e016d on dev.

Reviewed 57 of 57 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from Reviewable


⚠ Minecraft has degraded performance

In eda1a10, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 1116 ms

Resolved: Minecraft performance has improved in c54cbe1.


Add Getting Started Guide with Helm Chart (Scalar DL)

This PR add the getting started guide with helm charts of Scalar DL.
There are two documents.

Getting Started with Helm Charts (Scalar DL Ledger)

Create Ledger environment on the minikube.

Getting Started with Helm Charts (Scalar DL Auditor)

Add the Auditor environment on the same minikube as Ledger.
The minikube is same, but I use two Cassandra (for Ledger and Auditor).

I created this document with priority on reproducibility in user's environment.
So, I describe concrete commands in all steps.
Also, to avoid issues depending on each environment as much as possible, this guide runs all component (include the client that runs Scalar DL sample contract) as docker container.
Also, there are some redundancy in the Run Scalar DL sample contract section between two document.
However, there are some differences. For example, property files, regstering cert files, and result of Request (Contract Execution/Validation).
So, I describe details of all steps in that section in both document.
Please take a look!

@kota2and3kan san,
Do I need to test this document on Mac?

@scalar-boney

Do I need to test this document on Mac?

No, you don't need it. Thank you.
Because, this guide uses the same tools as Getting Started with Scalar DB.
And, we was able to confirm about those tools works well on Mac in the review of Getting Started Guide with Scalar DB.
(This guide use the cfssl in adition, but I think it works on Mac.)
Sorry for I didn't describe cleary.
So, could you please review this guide in the perspective of documentation (e.g. some errors in the sentence)?

@feeblefakie @scalar-boney @jnmt
Thank you for your review!
I fixed some grammatical errors in a2e1c6bf4e9c564d8a10efb03e7138801f97c695.
Also, I left some answers in each comment.
Please take a look.

@feeblefakie
Thank you for your review!
I reflected the changes based on the comments on the other guide in a0f6c5249827a2c069f1f2486b3311d70b89e8b0.
Please take a look!

I removed the prompt from each code snippet (command) in 6623f0e5dd57d09f1108ce41e260a067f52a9efb and 1864a73979519f483f671616ba7d8b8142a4a149.
After this fixing, users can copy command from button in the top of right in each code snippet, and paste directly.
Also, I separated the execution result in the code snippet, because we don't need copy it.

@supl PTAL!

@supl
Thank you for your review!

Is it possible that we also use Helm to start Cassandra containers?
For example (when both of Ledger and Auditor need their C*)

Yes. This document also works with Cassandra on minikube using Helm Charts.
I tried to use the following command instead of docker run ... to start Cassandra.
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install cassandra-ledger bitnami/cassandra --version 7.7.3 --set dbUser.password=cassandra
helm install cassandra-auditor bitnami/cassandra --version 7.7.3 --set dbUser.password=cassandra

In the result, it worked well and I was able to run sample contracts with Scalar DL Auditor mode.
However, it seems that there is very heavy load when I run Cassandra on minikube using Helm Charts...
In my local environment, when I deployed Ledger and Auditor pods with replica count 3, the Cassandra periodically hung up (kubectl get pod returns not ready as status of Cassandra).
And, I cannot run sample contract with storage error (it seems that Cassandra does not response to request from Ledger and Auditor.)
Also, I tried to scale in each pod to 1, Cassandra's status was stabilized a little.
After scaling in each pod to 1, I was able to run the sample contracts without storage error.

@kota2and3kan
Thank you for the confirmation.
Understood.
Let's make it simpler!


Bookinfo with ISTIO ingress API gateway - example

@eric978 , can you please provide bit more details, I can pick this up.


Allow developers to pass their own implementation of updateColumns

Currently there is no way to have a separate resizing for the entire table, because the updateColumns method is used everywhere. The goal of this PR is to add the ability for developers to pass their own implementation of the updateColumns method to the columnResizing plugin. If there is no function passed it defaults to updateColumns.

@eshvedai Hello, does this look OK to you?


Update the schema generation docs

Description
Updated the schema generation doc according to Patrick's changes (see DOC-1093).
Primary reviewers
@padhansell
@ElleEss
LMK if you'd like a docs preview for this (although I don't actually know how to do them).

@padhansell @ElleEss I've just made some more updates based on your feedback - PTAL.
Please look super carefully for comments that you're tagged in, so that you don't miss any! Some might be collapsed/"out of date" because GitHub :(


6 september

Add some paddings in the about me mobile version design. it will greatly help with the design.

Great work on making the page look just like the template on figma 👍 . I noticed that when I hover over the buttons the dimensions of the other parts of your page shift out of position a little bit.

Thanks for your feedback.


Regression for groovy routes

When I try to run the example I get:
[1] Monitoring pod routes-cfb6655dc-zvf7r[1] Starting the Java application using /opt/run-java/run-java.sh ...
[1] exec java -javaagent:/opt/prometheus/jmx_prometheus_javaagent.jar=9779:/opt/prometheus/prometheus-config.yml -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:+ExitOnOutOfMemoryError -cp .:/deployments/dependencies/org.apache.camel.k/camel-k-runtime-jvm-0.0.3-SNAPSHOT.jar:/deployments/dependencies/org.slf4j/slf4j-api-1.7.25.jar:/deployments/dependencies/org.apache.logging.log4j/log4j-slf4j-impl-2.11.0.jar:/deployments/dependencies/org.apache.logging.log4j/log4j-api-2.11.0.jar:/deployments/dependencies/org.apache.logging.log4j/log4j-core-2.11.0.jar:/deployments/dependencies/org.jooq/joor-java-8-0.9.9.jar:/deployments/dependencies/commons-io/commons-io-2.6.jar:/deployments/dependencies/org.apache.commons/commons-lang3-3.8.jar:/deployments/dependencies/org.apache.camel/camel-core-2.22.1.jar:/deployments/dependencies/com.sun.xml.bind/jaxb-core-<IP_ADDRESS>.jar:/deployments/dependencies/com.sun.xml.bind/jaxb-impl-<IP_ADDRESS>.jar org.apache.camel.k.jvm.Application
[1] [INFO ] 2018-09-24 16:58:57.113 [main] Application - Routes: file:/etc/camel/conf/routes.groovy
[1] [INFO ] 2018-09-24 16:58:57.115 [main] Application - Language: groovy
[1] [INFO ] 2018-09-24 16:58:57.115 [main] Application - Locations: file:/etc/camel/conf/application.properties
[1] Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilerConfiguration
[1]     at org.apache.camel.k.jvm.RoutesLoaders$4$1.configure(RoutesLoaders.java:138)
[1]     at org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:462)
[1]     at org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:402)
[1]     at org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:383)
[1]     at org.apache.camel.impl.DefaultCamelContext$1.call(DefaultCamelContext.java:1029)
[1]     at org.apache.camel.impl.DefaultCamelContext$1.call(DefaultCamelContext.java:1026)
[1]     at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:3272)
[1]     at org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:1026)
[1]     at org.apache.camel.main.MainSupport.postProcessCamelContext(MainSupport.java:612)
[1]     at org.apache.camel.main.MainSupport.postProcessContext(MainSupport.java:550)
[1]     at org.apache.camel.main.Main.doStart(Main.java:136)
[1]     at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
[1]     at org.apache.camel.main.MainSupport.run(MainSupport.java:170)
[1]     at org.apache.camel.k.jvm.Application.main(Application.java:68)
[1] Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilerConfiguration
[1]     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
[1]     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
[1]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
[1]     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[1]     ... 14 more

@oscerd , @zregvart do you think we have any chance to run a dev instance of Openshift in Apache CI?
Currently PR builds are disabled because there was a issue with dependencies, but I think it's easy to overcome that problem by checking-in the vendor dir... What about minishift / oc cluster up to avoid breaking things?

Looks like the algorithm to automatically detect the dependencies does no work for this case so you need to explicit require the camel-groovy dependency within kamel run or we need to add the groovy dependency if the files ends with .groovy or the language is set to groovy.
Will send a pr

@oscerd , @zregvart do you think we have any chance to run a dev instance of Openshift in Apache CI?

Not sure, I've created a build to see if the Docker is installed, from what I know is that some changes need to be made to the Docker and firewall configuration to get the oc cluster up to work, so it might be a stretch.

We could ask for a VM from INFRA.

CI nodes have Docker version 17.05.0-ce, build 89658be installed, we can experiment with that to some extent but if I'm not mistaking for oc cluster up the Docker/firewall configuration needs to be modified.


Click events on some modules

I was thinking that every modules were clickable. It seems not.
Is there a way to add vars to be able to scroll and click for some modules ?
[module/backlight]
scroll-up = light -A 5
scroll-down = light -U 5

[module/volume]
scroll-up = amixer set Master 5%+
scroll-down = amixer set Master 5%-

[module/wlan]
click-left = connman-gtk

Yeah this will be added. For backlight you can use the internal/xbacklight module instead (if your driver supports it) that implements scroll handlers to adjust the value. And the volume one is already supported using internal/volume

ah, it works with volume, didn't see it :)
xbacklight dont work for me, that's why i use "light" instead of xbacklight tool.
cool if this will be added.
Great work BTW, i come from conky cli bar, it's just amazingly cool and easy to understand/configure, thx a lot

For now, i use
label-connected = "%{A1:connman-gtk:} %essid%%{A}"

huge +1 for the ability to overwrite all click/scroll events on a per module level.
e.g. I'd rather have pavucontrol open when left clicking on volume and mute by mid-clicking.
I do have quite a lot of applications that'd require overwriting default click behavior (no reason to list all of them, that one should suffice :) )

@Tadly until it's been implemented I'd recommend using a custom script module since it can be configured however you want.

@jaagr will do (or try at least), just wanted to highlight the need for said feature and as neither the initial issue nor a comment specified details one could upvote (nice for github to finally have such a feature) I just went ahead and commented it :)

Note sure if this is the right issue, but would it be possible to define a module that changes appearance when you click it, like the date module? e.g. if the bar had icons only and clicking on an icon reveals some related text.

@munyari sure, using the ipc module. See the example on the wiki

eek, thank you @jaagr!

Is this planned to be worked on in the near future? I would find it interesting to be able to show a popup listing the estimated current battery life time when left clicking the battery module, for example.

Near future: No? Most of the functionality that this would bring can already be emulated by wrapping the module format or label key with %{A1:your-cmd:}...%{A} or any other action tag (See Wiki).
But this is something that I want to have be part of all modules by default because currently it's a bit messy with every module implementing the click-handlers itself, but as I said it's not our top priority right now because it's not a bug and there is a workaround. We're more focused on fixing bugs and other issues at the moment.

Would be nice if the internal/github module had click actions something like "left click > $BROWSER https://github.com/notifications" and "right click > recheck number of notifications"

@patrick96 For your workaround, it's not possible to replicate *-alt (e.g. date vs. date-alt in the date module), right?
For example, I want to have the battery module show the battery percentage, and left click toggle to  expand that to show the remaining time left (%time%).

@rieje No this is not possible for the battery module. There has been a proposal to implement similar functionality in more modules but it added a lot of bloat to our code so we didn't merge it.

Is it still not supported to have a left click to open gsimplecal when clicking on date? Tried quite a while but not sure how to get it.

Is it still not supported to have a left click to open gsimplecal when clicking on date? Tried quite a while but not sure how to get it.

@thepenguinthatwants You can use action tags: https://github.com/polybar/polybar/issues/273#issuecomment-389150884

@thepenguinthatwants You can use action tags: https://github.com/polybar/polybar/issues/273#issuecomment-389150884

Closing in favor of #1524


Add the ability of disable threadlocal on PooledByteBufAllocator, to better support virtual thread

Motivation:
Add the ability to disable threadLocal on PooledByteBufAllocator, this gives the users an option to better deal with virtual thread by using PooledByteBufAllocator. For example: https://github.com/netty/netty/issues/12848.
Simply way to use:
Use PooledByteBufAllocator.DEFAULT_NO_TL, it will return a non-threadLocal PooledByteBufAllocator using default settings.
For PooledByteBufAllocator, there are mainly two places heavily used threadLocal:

Bind current thread to specific arena.

Allocate byteBuf by using RECYCLER.

In this PR, when threadLocal been disabled:
For 1: We bind the arena by using thread-id hashing, it is feasible when threadLocal is not available, which has also been stated in Jemalloc doc:

Non-PIC code and some architectures do not support TLS, so in those cases, the allocator uses thread identifier hashing.

For 2: We use a mpmcQueue for every arena to recycle the byteBuf.

@laosijikaichele  As I understand it, Netty's plan is to support virtual threads through AdaptiveByteBufAllocator. Do we still need to change PooledByteBufAllocator to adapt it to virtual threads?

@laosijikaichele As I understand it, Netty's plan is to support virtual threads through AdaptiveByteBufAllocator. Do we still need to change PooledByteBufAllocator to adapt it to virtual threads?

Well, I think it offers one more option for the users. Based on previous benchmarks, the PooledByteBufAllocator has less memory consumption and a more steady performance. It also did a lot memory-reusing and fragment-reduction internally based on Jemalloc.

Some thoughts on this topic:

The adaptive allocator is a 'sequential allocator (bump allocator)', which commonly requires moving-collectors algorithm to deal with defragmentation and memory-reusing, such as Mark-Compact, Copying-GC, Generational-GC, that's why the OpenJDK is more suitable to use the 'sequential allocator'.
But for ByteBuf in Netty, which uses 'manual/explicit memory management(reference counting collectors)', so the 'sequential allocator (bump allocator)' becomes less suitable because it's hard to do defragmentation and memory-reusing without a suitable GC collector.
The default PooledByteBufAllocator is a 'free-list allocator' similar with Jemalloc, which is commonly used with non-moving-collectors such as 'reference counting collectors'. For ByteBuf in Netty use case, especially for the Non-thread-local use case, the 'free-list allocator' is more suitable than the 'sequential allocator (bump allocator)', IMHO.

Following quoted from the book The Garbage Collection Handbook, 2nd Edition
Chapter 7.1:

It(sequential allocation) may be less suitable than free-list allocation for non-moving collectors, if uncollected objects break up larger chunks of space into smaller ones, resulting in many small sequential allocation chunks as opposed to one or a small number of large ones.

Chapter 7.8:

There are some particular issues to consider when designing an allocator for a garbage collected system: Allocation cannot be considered independently of the collection algorithm. In particular, non-moving collectors such as mark-sweep more or less demand a free-list approach as opposed to sequential allocation — but see Section 10.3 for contrary views on this, and some local allocation buffer approaches also use sequential allocation in conjunction with mark-sweep collection. Conversely, sequential allocation makes the most sense for copying and compacting collectors, because it is fast and simple. It is not necessarily much faster than segregated-fits free-list allocation, but its simplicity may offer better overall reliability.

@franz1981 @normanmaurer @linking12

I am not fully on the same page re fragmentation, because it depends by the size of the buffers + OS virtual machines machinery (contiguity of physical pages is the only thing we could trust, really).
And for the latter, unless the allocator is aware of the physical mapping, allocators can just try hard to be as sequential as it could based on page size and virtual mapping contiguity, which latter, is not the real thing - although provides some performance benefits on TLBs and other caching layers (i.e. depending if cache hierarchy is virtual or physically tagged, or both).
Said that, let's create a benchmark or report some soak test numbers which show this; I am not of the idea of maintaining two allocators, long term, but maybe @normanmaurer got a different idea

the adaptive allocators bump up mechanism is tied to how Netty usually work, especially in the happy path i.e.

connections served from the same event loop threads
buffers are acquired/released over the same event loop duty cycle (aka short living)
buffers not transferred across event loop threads
thread id is a guarantee of locality (in virtual threads, it is not), which can be used to estimates the allocator rate, over time
event loops tends to be busy

Those constraints make the adaptive allocator to be a very specific/biased use case oriented allocator, which I think it further enhance the rationality for the default  PooledByteBufAllocator.
Even for all of those constraints, they are actually not unique for Netty, for example, the envoyproxy shares most of those constraints too, but it still use a default free-list allocator(TCMalloc), which serves pretty well.

In general, there should be a trade-off between allocation speed and 'defragmentation / memory-reusing'.
Either for event-loop / non-event-loop use cases, the memory consumption perspective both need to be well considered.


Copy current filename from context menu on current editor tab.

Essentially, this should be built in:
https://marketplace.visualstudio.com/items?itemName=bradzacher.vscode-copy-filename

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


creature upgrades for pixel scaling and anchor point setting

creature upgrades for pixel scaling and anchor point setting

Can you add a note to https://github.com/photonstorm/phaser-ce/blob/master/README.md#change-log too?

Hi @andrewjb123 can you open a new PR that moves all these additions to src/gameobjects/Creature.js only?

hi samme, do you still need me to do the above comments done?
The changes which are in the phaser-creature.js / creature.js files shouldn't be moved to the src/gameobjects/Creature.js as these additions are part of the kestrel moon creature runtimes and are committed as part of this runtimes project - all i've done is ported the changes from these issues into your build of creature in the CE branch. Please advise if this is not the right process for committing changes from the kestrel moon runtimes.
please see change sets of the kestrel moon creature runtimes here which i ported over:
https://github.com/kestrelm/Creature_WebGL/commit/c7bf6199ed33328dbe260811f13871d3185e79a4
https://github.com/kestrelm/Creature_WebGL/commit/e870c00d7b096a13903aa77d0ce8d172be6dd289
https://github.com/kestrelm/Creature_WebGL/commit/184cb4d89c88cb5bd2310ed6afef6d66d9c22c78

Yes, please, all the Creature changes should go in any of
src/animation/creature/CreatureMeshBone.js
src/animation/creature/gl-matrix.js
src/gameobjects/Creature.js

Anything in build/creature.js will get lost with a new build. Thanks.

ok thats been done, pull request is in https://github.com/photonstorm/phaser-ce/pull/202


Fix an off-by-one causing a buffer overflow in mirb.

If MRuby is built without libreadline, then a buffer overflow occurs in mirb when a line 1023 characters or longer is read:
$ ruby -e 'puts "0"*1023' | bin/mirb
mirb - Embeddable Interactive Ruby Shell

> Segmentation fault (core dumped)

This happens because mirb reads into a 1024-byte buffer, but doesn't leave enough space for the \n and \0 that will be appended to the input. This PR fixes the off-by one.
This issue was reported by https://hackerone.com/geeknik

To reproduce this without removing the libreadline headers, you can just add && false to this line and rebuild: https://github.com/mruby/mruby/blob/045e78c844289694cf36415261644d362ff2fd21/mrbgems/mruby-bin-mirb/mrbgem.rake#L6


Update README to reference the correct plugin/module name

I was running into the same issue as @makearts–and with @snmishra suggestion–this change fixed the issue I was running into.
Fixes #16
It might also address, #15, but not sure if people are running into other issues in that one.

@wardoost  please merge


Make graph color independent from legend and legend display configurable

Currently the graph color can only be conifgured as part of the legend. Having a simple data set like:
{
  "dataItems":[
    {
      "group": "",
      "data": [
        {
          "label": "",
          "data": [
            {
              "timeRange": [
                "2021-12-18T08:00:00",
                "2021-12-18T12:00:00"
              ],
              "val": "30"
            },
            {
              "timeRange": [
                "2021-12-18T16:00:00",
                "2021-12-18T20:00:00"
              ],
              "val": "5"
            },
            {
              "timeRange": [
                "2021-12-19T12:00:00",
                "2021-12-19T13:00:00"
              ],
              "val": "15"
            }
          ]
        }
      ]
    }
  ],
  "settings": {
    "xAxis": {
      "startDateTime": "2021-12-18T00:00:00",
      "endDateTime": "2021-12-19T23:59:00"
    }
  }
}

with only color configured (by setting it in the legend configuration) results in this:

The legend is pretty useless in this case but cannot be disabled. It would be nice to habe a settings parameter to disable it.
However it should still be possible to configure the graph color.

The legend can be hidden if topMargin: 0 which is currently hard-coded set to 60.
I created a PR in order to make topMargin configurable: https://github.com/sanlike0911/node-red-contrib-ui-timelines-chart/pull/13

Thanks for the great suggestions
v0.15 has been released.
When top Margin: 0 is set, there is a problem that hides reset zoom.
This issue will be resolved in the next release.


Don't use service locator pattern where it's not required

Roslyn makes extensive use of the "service locator pattern" for their DI systems. That seems to work well for them (and has reportedly had significant performance benefits), but it is not recommended in general.
When I moved Razor to CLaSP fresh off my work in the Roslyn repo I proliferated this pattern in many placed I touched. Let's remove those usages which aren't required (say for a self-destructing service or one which is not available when the class is constructed). They should all be off of either requestContext.GetRequiredService or requestContext.LspServices. Then we can consider adding a deprecated attribute to these properties to avoid their over-use.

💯
AFAIK roslyn only does this for scoped services (ie, services specific to a workspace instance, or language for the C#/VB split). For us, where everything (I think) is singleton, I much prefer being declarative about it, and using constructors.

Moving to backlog. I audited the usages of this, and whilst it's still good to do, the debt is all in areas that will be removed eventually with cohosting anyway.


Refactor ChangeFamily to use a common Codec abstraction

Description
This refactors the change family encoding logic in a couple ways that I expect to be more compatible with upcoming concrete guidelines. Notably:

Replaces ChangeEncoder with a more generic concept of a codec (IJsonCodec, IBinaryCodec, IMultiFormatCodec) which should apply to any other persisted format we want to write
Refactors "subencoders" to also use this codec abstraction (previous references to childEncoder / childDecoder for the recursive tree representation of a change)
Removes the "formatVersion" argument from direct encoder responsibility, instead currying it into a "ICodecFamily" concept. This should allow more efficient encoders, since any branching on formatVersion conditionals can occur at encoder selection time rather than encoding time--the former being a much more rare codepath than the latter.

I did some light refactoring of some types of encoders and encoder test to leverage currying of formatVersion, and refactored the common "encoding test" pattern into a test helper in utils.ts.

I think there might still be room to iterate on/tweak these abstractions, but getting them in is great progress, so I'm approving.


Move away from Heroku

Consider services like:
https://bit.io/
https://onlinewebtutorblog.com/how-to-install-laravel-9-on-ubuntu-step-by-step-tutorial/

https://railway.app

https://www.youtube.com/watch?v=MusIvEKjqsc

https://www.youtube.com/watch?v=prjMJtXCR-g


Update README.md

Fixing #322

This is not the way to do it. Instead, the compatibility should be fixed.


Adding build tools as a prerequisite

The current top-level build command fails in a new environment
 mvn -f pom.client.xml -Dgpg.skip -DskipTests clean install
 . . .
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check (default) on project azure-client-sdk-parent: Execution default of goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check failed: Plugin org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0 or one of its dependencies could not be resolved: Could not find artifact com.azure:sdk-build-tools:jar:1.0.0 in ossrh (https://oss.sonatype.org/content/repositories/snapshots/) -> [Help 1]

Turns out, this command is dependent on the SDK built tools module being already present in the local maven repository. Hence, until/unless it ends up managed as a built-time dependency, I'm adding it to prerequisites.

@sima-zhu since you worked on https://github.com/Azure/azure-sdk-for-java/issues/8110, can you please review this PR?

It is already addressed by my recent changes. Will come up further solution to reduce the pain.

@yevster Please review the comments. We have checked in the changes. Will close the PR if no other request.

Closing old PR with no updates in 4 months.


Ability to configure serviceAccountName on core & replicant pods

Is your feature request related to a problem? Please describe.
We use emqx with postgres on cloud-sql. At the moment the cloudsql service account key file is mounted to the pods that require it and it works. However, we would very much like to switch to workload identity and it requires defining a service account on pods.
Describe the solution you'd like
The coreTemplateSpec and replicantTemplateSpec should have the possbility of defining serviceAccountName.
Describe alternatives you've considered
Not sure there is any with the current operator API v2alpha1.
Additional context

Good idea！We will finish it，thanks

EMQX Operator 2.2.0 is released, close this issue

great news, thanks


Update AXP2101 PMU

Added setAdcState/getVBUSVoltage/getInternalTemperature functions to AXP2101 PMU.

hello, @SalloCs
Thank you for sending in a pull request!
We appreciate your help!


Modified the JSON friendly util to tun NaNs into Nones into nulls

Pairs with https://github.com/wandb/core/pull/6277 (this should be merged first)

Closing as duplicate

Closing as duplicate


Remove the GM Screen text from the open button (idea, minor)

Is your feature request related to a problem? Please describe.
Just a minor request, I feel some times the UI is too cluttered in general Foundry, when I want to focus on the scenery, I'd like to shrink the GM Screen to a simple button instead.
Describe the solution you'd like
Something like this would suffice:

I like this idea, it can be optional.

Done with #70


Feat/sushi connector

Implement sushi connector. [close #89]

[x] Review and approve connector @pradyuman-verma
[ ] Deploy the contracts and comment the addresses @pradyuman-verma
[x] Created resolver - here
[ ] Add to the dsa-connect - link the PR
[ ] Add to the docs - link the PR
[ ] integrate on main app - link PR