Standardize formatting of manifests/c/ChefSoftware/Workstation/22.7.1006.1

Microsoft Reviewers: Open in CodeFlow

@wingetbot run

@wingetbot run


How to setup when using IntelliJ IDEA with Maven?

This page shows how to setup IntelliJ IDEA to support Databricks Connect. Problem occurs when the project is set as a Maven project. Every time the project is "rebuilt" with Maven, the jars added through IntelliJ project structure dialog are lost.
How do we go about adding these on Maven?

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

ID: 3642022f-a58f-6290-ecf1-3c551a9bfc96
Version Independent ID: cf117e4e-c261-858c-517e-04d67e44c35e
Content: Databricks Connect - Azure Databricks
Content Source: databricks/dev-tools/databricks-connect.md
Service: azure-databricks
GitHub Login: @mamccrea
Microsoft Alias: mamccrea

@eparizzi Thank you for reaching out. At this time we are reviewing the ask and will provide an update as appropriate.

@eparizzi At this time we have assigned the issue to the content author. They will evaluate and provide an update as appropriate.
Hi @mamccrea, Could you please have a look at the feedback from @eparizzi ? - Thanks.


fix: suppress modulemap target via swift interop

rules_swift will create a modulemap automatically unless the SwiftInteropInfo is suppressed. Since the generate_modulemap rule itself is a modulemap it should not have a modulemap generated for it.

Had to upgrade rules_swift to 2.2.0

I presume that this is fixing a problem for a specific Swift package. If so, could we add it to an example?

It doesn't fix an issue, it just removes an unneeded invalid modulemap.


More default info

We've new fields available for list_payments response, useful specially to general payments info (without params):
https://github.com/ecomclub/modules-api/commit/2ca9fa8c8bee7414fcc446461743b5239c490da0
Those new fields should be available on app configuration and well returned when set by merchant.

Refactor:
https://github.com/ecomclub/modules-api/commit/e5d3f821f203cf66748716c303a8d1a9ebc503e8

installment_min_value, discount_min_amount removed (new, not released);
interest_free_installments deprecated, should use installments_option instead;
discount_option with new field min_amout;

I think you can leave discount_option as is for now, must important is to start using installments_option and provide configuration for min_installment (not only for max installments number as before).


Choose between Google Maps and OpenStreetMap

Idea from "Syon" on GoingElectric forum how to change from Google Maps to OpenStreetMap.
I will maybe include an option for choosing either Google Maps or OpenStreetMap for the Ph2-link.

I like it! +1

https://github.com/db-EV/ZoePHP/commit/209b49194e6e7b1c4ec09a18ff1c14583a8978af

See commits https://github.com/db-EV/ZoePHP/commit/209b49194e6e7b1c4ec09a18ff1c14583a8978af and https://github.com/db-EV/ZoePHP/commit/430823b8d69b5709811844ef646f1be5c28a59ca.

Added in https://github.com/db-EV/ZoePHP/releases/tag/20220316


ProvidePlugin does not support named exports, only default

ProvidePlugin can only be used for default exports, the example in the doc is jQuery.
new webpack.ProvidePlugin({
    $: "jquery"
})

However if you're using libraries with named exports, like preact you're out of luck
Hello world with preact:
import { h, render } from 'preact';

render(
    Hello, world!,
    document.body
);

The variable h is never used in the source file but it's needed because babel transpiles jsx into h() calls.
Ideally one would only write import { render } from 'preact'; and then use ProvidePlugin to inject the import for h.
Maybe something like
new webpack.ProvidePlugin({
    h: ["preact", "h"]   // <- module name becomes an array
})

The preact-boilerplate imports h in every file and then defines an eslint rule to disable the unused error "no-unused-vars": [0, { "varsIgnorePattern": "^h$" }].
rollup-plugin-inject allows named exports

There is an open PR adding this feature.

@sokra thanks, I didn't notice that. I think however you refer to the merged PR #3597 which makes this issue a duplicate of #2864
I guess it just needs to be released, will probably be fixed in whatever version comes after 2.2.0-rc.3, maybe rc.4 or maybe 2.2.1


Add option to encrypt/decrypt state files

If a user does not want to store the layout files in plaintext, then there should be an option to encrypt and decrypt the stored state

Age encryption could be a good option for this. The downside is that it introduces a dependency, but it would allow encryption/decryption of json state files since age can be run as a child process and its results piped to stdout. The json file could then be encrypted/decrypted on demand when necessary, but would stay encrypted at rest as default.json.age.
In the plugin config, the user could supply something like:
resurrect.encrypt = {
      identity = "path/to/key.txt",
      recipient = "longpublickey",
}

This approach would also avoid plain text private keys being part of wezterm configs.
I use chezmoi to manage my dotfiles, and it incorporates age encryption pretty seamlessly using this approach.

I have not used age myself, but it looks cool.
It would however be a nice user experience if it was possible to opt into the encryption and if a user would be able to an encryption method of their liking.
I think a good middleground is to have a function call which takes the lines like so:
---@param file_path string
---@param state table
---@param encryption_func fun(lines: string[]): string[]
local function write_state(file_path, state, encryption_func)
	local file = assert(io.open(file_path, "w"))
	local lines = wezterm.json_encode(json_table)
	if encryption_func then
             lines = encryption_func(lines)
	end
	file:write(lines)
	file:close()
end

Then the plugin can provide a default function, which uses age such that the dependency is not strictly nessisary. Then if the user wants to use another encryption, then we provide a way to use some other means of encryption.
What do you think about this approach?

Thinking about it more, I think it would be a good idea to have the encryption process write the files, as that is supported by most external encryption programs, like age with the -o flag.

This looks fantastic. I'll give it a test when I have some time. Rage encryption is a Rust implementation of the age protocol and is a drop-in replacement, so we could support both implementation with the same encryption/decryption functions. This implementation would also allow someone to provide their own functions if they prefer another encryption method (e.g GPG or others) which is nice.
I saw in the wezterm issues that encryption of state files was a major reason for not including state saving within wezterm core, so this plugin and feature could fill in a major gap that is being requested by the community.

I think that if other encryption implementations should be supported by the plugin, then they should be lazily loaded or only included as a documentation, as some users like to keep their plugins very minimal.
Either way I would like another document which describes how to setup the encryption for users and maybe a sub module which can optionally be required by the user (making it not loaded by default) and which contains easy encryption setups for other providers like GPG, openssl... and also setups for different operating systems like windows.


Agency Admin and Global Admin top nav #221

Updated Dashboard to Dashboards in Navigation

@pranshumaheshwari Thanks for submitting this PR! Much appreciated. It has been merged - congratulations on being a contributor to the O-FISH application!


Update to Develocity Maven Extension

@tisonkun - these are the changes you would need to make to migrate to the Develocity Maven Extension. This is functionally equivalent to what you have before, but using the new Develocity name rather than the deprecated Gradle Enterprise naming.

Thank you!


fixed error when using OffsetFilePath in consumer.File

The purpose of this pull request
fix bug when using OffsetFilePath option for consumer.File
Config to verify
"Fileinput":
  Type: "consumer.File"
  Files: /tmp/portal2Service.log
  OffsetFilePath: "/tmp"
  DefaultOffset: "oldest"
  Delimiter: '^\d{4}-\d{2}-\d{2}T'
  Streams:
    - elastic
  Modulators:
    - format.GrokToJSON:
        Patterns:
          - '%{TIMESTAMP_ISO8601:timestamp} %{IP:client_ip}?\s*\[%{USERNAME:thread_id}\] %{DATA:uid} %{LOGLEVEL:log_level} \s*?%{USERNAME:service_name} -\s*(?s)%{GREEDYDATA:rest}'

"producer.Console":
  Type: producer.Console
  Streams:
    - "elastic"
  Modulators:
    - format.Envelope:
        Prefix: "\n"
        Postfix: "\n"

Checklist

[ ] make test executed successfully
'make test' not running successfully on master branch of main repo
[ ] unit test provided
[ ] integration test provided
[ ] docs updated

Coverage increased (+0.02%) to 71.691% when pulling de1b2bbd65c45fe16c4b2df13c2385c53344311f on serii833:fix_OffsetFilePath into 30a7891a579880f230b63db9f3c2ba696dfd9981 on trivago:master.

Thank you for contributing 👍


Create module for PyTube

Create the set of functions for using Pytube.
This library is used for downloading a video directly from Youtube.

Add package to repository
Add unit tests
Initial implementation of PyTube.

Closing this issue since this was addressed in MR #22


[BUG][BACKPORT][v1.2.4] Instance manager pods are recreated immediately when the node draining evicts the old pods

https://github.com/longhorn/longhorn/issues/3459

Validated on v1.2.x 02/02/2022
Validation - Pass


Add new questions page to API

Hey @berekuk, could you add a new questions page to the API? Not extremely urgent, but good to have in the next few days

It's already available! All pages are implemented on top of GraphQL API.
Here's an example: https://metaforecast.org/api/graphql?query=fragment+Question+on+Question+{
++id
++url
++title
++description
++timestamp
++options+{
++++name
++++probability
++}
++platform+{
++++id
++++label
++}
++qualityIndicators+{
++++stars
++++numForecasts
++++numForecasters
++++volume
++++spread
++++sharesVolume
++++openInterest
++++liquidity
++++tradeVolume
++}
++visualization
}

fragment+QuestionWithHistory+on+Question+{
++...Question
++history+{
++++timestamp
++++options+{
++++++name
++++++probability
++++}
++}
}

query+QuestionPage(%24id%3A+ID!)+{
++result%3A+question(id%3A+%24id)+{
++++...QuestionWithHistory
++}
}

You'll have to enter variables in the bottom box, e.g. {"id": "rootclaim-did-pakistan-know-that-osama-bin-laden-was-hiding-in-abbottabad-18034"} (Yoga playground doesn't allow links with variables).

Here's how to trace the graphql call(s) for any metaforecast page:

find a page component and its getServerSideProps; in this case, this one
check the arguments for the client.query call; in this case, QuestionPageDocument
QuestionPageDocument comes from queries.graphql.generated file, so you'll need a matching queries.graphql file
queries.graphql file can include fragments; in this case, it includes QuestionWithHistory fragment, which is defined in src/web/fragments.graphql; you can find it with search, or, if you have your graphql plugin for vscode set up properly, you could just "go to definition"
then you glue all these graphql bits together, pass variables, and it should give you the same data which is used on the webpage

It's already available!

Are you sure? I specifically mean new questions added in the last 24h. And I'm not sure we have any pages which fetch that.

Oh, I read this wrong! I thought you meant (new (question page)), the one with charts.

Right now we store a timestamp field on Question and History (and on dashboards, but that's not relevant here).
This field usually means "last time we fetched/stored this question", except for guesstimate, for which we use the timestamp from the guesstimate API. But we can ignore the guesstimate case for this task, since it's used for search only, and this task is for querying the postgres database directly, which doesn't have guesstimate data yet.
Anyway.
I think we need more timestamp fields with different semantics.

fetched or lastFetched or maybe lastSeen (with semantics  ~identical to current timestamp)
firstSeen (by metaforecast; this field is necessary for solving this issue)
created (on platform; this might be different from firstSeen since metaforecast can fetch the question with some delay)
updated (by platform; this one is less necessary and is too vague; while many platforms provide something like this, their semantics differ, and we could approximately restore this from our history data)
resolved (important for #10)

There are a lot of details to consider for each of these, but for now I'll just implement (1) and (2) and keep in mind (3) and (5) for the future database & API changes.

Awesome!


Revamping the hydrostatic mass profile product

Work has already begun on this - it should be quite simple, I wish to revamp the HydrostaticMass profile class so that it reaches feature parity with the entropy profile class (which was reworked some months ago).
That means that you'll be able to create hydrostatic mass profiles from data points as well as fitted models, those data points can be interpolated if desired, and we'll also allow for projected temperature profiles to be passed as an approximation (we already allowed the projected temperature profiles to be fit with the temperature  models if the user desires).
All these changes should make this class much more flexible and useful.
We'll also add some mass profile models to fit to the data driven hydrostatic mass profiles that will be possible (probably just simple NFW to begin with).

NOTE that now the actual mass data points in the profile will have the radius uncertainty included in them - the trouble is that the radius 'uncertainty' for the profile points is set by the width of the bins of the input profiles, and whether that is really an 'uncertainty' in this respect I don't know.
May have to revisit

Figuring out the right way to include the radius errors in data is doing my head in:

For model based measurements it is fine, we'll do it the exact same way we already do in the existing HydrostaticMass class.
For data based profiles without interpolation turned on, I don't know that I can really do include the radius error in the density/temperature realisations - maybe I can in the gradient calculations though?
For data with interpolation turned on, I think it should be possible.
When it comes to the actual final mass calculation, there is a radius term in the actual equation, so will always be able to have the radius errors accounted for.

But yes it is a bit of a bloody mess

Note to self - maybe force a refit of models to the temperature and density profiles (if the user goes that route) if the number of parameter samples and the number of samples specified on Hydrostatic mass profile declaration are not the same.

Initial attempt to include the radii distribution in the density interpolation mode has ended in a HUGE failure, as I killed the kernel. Suspect the current setup is attempting to interpolate 'num_samples'$\times$'num_samples'**$\times$**number of radii. Which I think might cause some issues...

I'm not actually sure I can include the radius distribution in the interpolation stage in the way I'm thinking - aaaargh

Same deal with the derivatives, don't really think that I can include radius uncertainty, or that it would actually be valid to

I have suggestions for you. The radial bins aren’t errors so treating them as errors might lead to conceptual disconnect?
Megan
Sent from my iPhone
On Nov 19, 2024, at 1:21 PM, David Turner @.***> wrote:

Figuring out the right way to include the radius errors in data is doing my head in:

For model based measurements it is fine, we'll do it the exact same way we already do in the existing HydrostaticMass class.
For data based profiles without interpolation turned on, I don't know that I can really do include the radius error in the density/temperature realisations - maybe I can in the gradient calculations though?
For data with interpolation turned on, I think it should be possible.
When it comes to the actual final mass calculation, there is a radius term in the actual equation, so will always be able to have the radius errors accounted for.

But yes it is a bit of a bloody mess
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/DavidT3/XGA/issues/1260*issuecomment-2486436872__;Iw!!HXCxUKc!28NzGVQYyO63ESX2ARQXf-LvrRPPkMRuK9WGW_dgemJ_E7qGgTj61buMhDa78I9Ez7AyRezqlOij_as5Y0GFgRy41Q$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ASKK4P4EBFTWX7G2FKF3SHL2BN6T7AVCNFSM6AAAAABSCQPH6GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBWGQZTMOBXGI__;!!HXCxUKc!28NzGVQYyO63ESX2ARQXf-LvrRPPkMRuK9WGW_dgemJ_E7qGgTj61buMhDa78I9Ez7AyRezqlOij_as5Y0GokncCdA$.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

For entropy and mass profiles, I will add a flag that allows them to contain unphysical values (i.e. negative masses) without erroring, though the default behaviour will still be to throw an error when it detects that.

Things are beginning to work in principle:

This is the comparison of the previous (orange) calculation and the new class calculation (blue) of hydrostatic mass from SMOOTH MODELS. So they should be identical, the only difference should be the radii at which they are sampled.

Now for interpolating from data points, again comparing to the original measurement from the smooth models:

Same plot but 'joined points' plotting mode:

Broadly similar, which makes me more confident that the numerical differentiation is doing broadly what I thought it was (the documentation wasn't completely clear whether it wanted some coordinate analogue (i.e. radius - this is what I tried here) for the points, or if it wanted the separations between points (I think I'll try that as well to be safe).
Obviously the data-pointed derived profile is not as smooth, which was always going to happen - I do wonder however if there is a better way to handle interpolation, especially for the derivatives, I am currently interpolating the density/temperature AND THEN finding the gradient - I wonder if I should find the gradients of the original points and then interpolate that? That feels less valid somehow.

Implemented an integrated-NFW profile to allow hydro mass profiles to be fit (now that there is a possibility they'll be derived from something other than smooth models). Not going to lie the first fit wasn't a roaring success :joy:

Might replace any negative mass distribution values with NaN

Not a good fit, but the fits do actually work as intended now:

New version of the mass calculation function cannot produce results for individual input radii when using anything but smooth model mode.

Things are working now - I need to stop the user if they are trying to extrapolate with data points, that clearly won't work

Issue #1271 is sort of related to this and left outstanding, but I am happy with the state of the new mass class, and am closing this issue.


Installation / Compilation issue on Ubuntu 16.04

I am trying to install carla from source (e2c4dc1312fe04c99147cf7403b39eba910271ba) on Ubuntu 16.04. I have followed the instructions and it's a partial success. The Unreal Engine installation worked (4.22.3), and a "make launch" successfully launches the Unreal Editor. My issue is that "make package" and "make PythonAPI" do not work due to the "#include ", which from what I understand is c++17 exclusive. See make-package.log
make-package.log
I am not sure if all the preliminaries are installed correctly. Please note the "selecting <> for regex 'g++-7'" parts when installing the prerequisites:
$ sudo apt-get install build-essential clang-7 lld-7 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng16-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'python-clang-7' for regex 'g++-7'
Note, selecting 'clang-7-examples' for regex 'g++-7'
Note, selecting 'clang-7' for regex 'g++-7'
Note, selecting 'libclang-7-dev' for regex 'g++-7'
Note, selecting 'clang-7-doc' for regex 'g++-7'
autoconf is already the newest version (2.69-9).
build-essential is already the newest version (12.1ubuntu2).
cmake is already the newest version (3.5.1-1ubuntu3).
curl is already the newest version (7.47.0-1ubuntu2.13).
libjpeg-dev is already the newest version (8c-2ubuntu8).
libpng16-dev is already the newest version (1.6.20-2).
libtiff5-dev is already the newest version (4.0.6-1ubuntu0.6).
libtool is already the newest version (2.4.6-0.1).
libvulkan1 is already the newest version (<IP_ADDRESS>+dfsg1-1ubuntu1~16.04.1).
ninja-build is already the newest version (1.5.1-0.1ubuntu1).
python is already the newest version (2.7.12-1~16.04).
python-dev is already the newest version (2.7.12-1~16.04).
python-pip is already the newest version (8.1.1-2ubuntu0.4).
python3-dev is already the newest version (3.5.1-3).
python3-pip is already the newest version (8.1.1-2ubuntu0.4).
rsync is already the newest version (3.1.1-3ubuntu1.2).
sed is already the newest version (4.2.2-7).
tzdata is already the newest version (2019a-0ubuntu0.16.04).
unzip is already the newest version (6.0-20ubuntu1).
clang-7-doc is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
libclang-7-dev is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
clang-7 is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
python-clang-7 is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
clang-7-examples is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
lld-7 is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Is the ppa (for the ubuntu toolchain) working correctly? Is this supposed to install a gcc-7 based toolchain for my system? Because there are apparently no packages in the ppa (after an sudo apt-get update):
$ grep "Package:" /var/lib/apt/lists/ppa.launchpad.net_ubuntu-toolchain-r_test_ubuntu_dists_xenial_*
$

Meaning there is no output to this command. Which I find odd, if it does not provide any packages, why is it added as part of the installation instructions? Can someone please provide some insight into what is supposed to happen here?

So. From what I gathered the Ubuntu ppa for gcc7 installed by sudo add-apt-repository ppa:ubuntu-toolchain-r/test might simply be broken:
$ sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
gpg: keyring `/tmp/tmpcdknzkn4/secring.gpg' created
gpg: keyring `/tmp/tmpcdknzkn4/pubring.gpg' created
gpg: requesting key BA9EF27F from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpcdknzkn4/trustdb.gpg: trustdb created
gpg: key BA9EF27F: public key "Launchpad Toolchain builds" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

$ sudo apt-get update
Get:1 file:/var/cuda-repo-10-1-local-10.1.168-418.67  InRelease
Ign:1 file:/var/cuda-repo-10-1-local-10.1.168-418.67  InRelease
Get:2 file:/var/cuda-repo-10-1-local-10.1.168-418.67  Release [574 B]
Get:2 file:/var/cuda-repo-10-1-local-10.1.168-418.67  Release [574 B]
Hit:3 http://aptly.conti.de xenial InRelease
Get:5 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial InRelease [17.5 kB]
Get:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main amd64 Packages [86.8 kB]
Get:7 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main i386 Packages [85.1 kB]
Fetched 189 kB in 1s (186 kB/s)
Reading package lists... Done

$ sudo apt-get install g++-7
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'python-clang-7' for regex 'g++-7'
Note, selecting 'clang-7-examples' for regex 'g++-7'
Note, selecting 'clang-7' for regex 'g++-7'
Note, selecting 'libclang-7-dev' for regex 'g++-7'
Note, selecting 'clang-7-doc' for regex 'g++-7'
clang-7-doc is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
libclang-7-dev is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
clang-7 is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
python-clang-7 is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
clang-7-examples is already the newest version (1:7.1.0~svn353565-1~exp1~20190408084827.60).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ sudo apt-get install gcc-7
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gcc-7

Carla needs a gcc-7 based toolchain, right? Specifically a C++17 capable glibc? Or what am I missing here?

To wrap this up: yes, carla needs gcc-7. And yes, the repo didn't work for a time. It does now and compilation worked.
Things to mention as a reference: Using a custom toolchain to build carla (compiled gcc in a different directory) is difficult because carla's build system is complex and does not deal well with toolchains in other directories. It is also easy to mess things up in Ubuntu if you start adding symlinks in say /usr/include/c++ to a compiled toolchain and then install the g++-7 package which provides files there. Running debsums -cs can help clear that up, as it checks for missing or modified files compared to package manifests.


Update to Polkadot-SDK 1.6.0

Current dependencies on/for this PR:

main

PR #203   👈

PR #201

This stack of pull requests is managed by Graphite.

please kindly rebase.


python27Packages.colorlog: 4.0.2 -> 4.1.0

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python2.7-colorlog/versions.
meta.description for python27Packages.colorlog is: "Log formatting with colors"
meta.homepage for python27Packages.colorlog is: "https://github.com/borntyping/python-colorlog"
Updates performed:

Version update
Quoted meta.homepage for RFC 45

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 4.1.0 with grep in /nix/store/11sd5smp0afy0zq09m8fpl30z58g7xsv-python2.7-colorlog-4.1.0

directory tree listing: https://gist.github.com/22059e1a99b102f03e2acc806ff041d5

du listing: https://gist.github.com/9972e36da98e731ae6b8847859a5db4a

Rebuild report (if merged into master) (click to expand)

34 total rebuild path(s)
10 package rebuild(s)
10 x86_64-linux rebuild(s)
9 i686-linux rebuild(s)
7 x86_64-darwin rebuild(s)
8 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
apache-airflow
errbot
esphome
python27Packages.colorlog
python37Packages.apache-airflow
python37Packages.colorlog
python37Packages.optuna
python38Packages.apache-airflow
python38Packages.colorlog
rapid-photo-downloader

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/11sd5smp0afy0zq09m8fpl30z58g7xsv-python2.7-colorlog-4.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python27Packages.colorlog https://github.com/r-ryantm/nixpkgs/archive/87599a1b8263e83919a187a778f2cf445b7c9557.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/11sd5smp0afy0zq09m8fpl30z58g7xsv-python2.7-colorlog-4.1.0
ls -la /nix/store/11sd5smp0afy0zq09m8fpl30z58g7xsv-python2.7-colorlog-4.1.0/bin

cc @dotlambda for testing.

Also regression in esphome and python37Packages.optuna. I have a working patch (well, "working" b/c the original package is untested) for esphome, how should I submit it?
I also spent far too long on airflow-airstream, but decided to give up. It requires too many out-of-tree dependencies. CC @costrouc @ingenieroariel (apache-airflow maintainers)

cc @costrouc

``python37Packages.optuna`` test failures

============================= test session starts ==============================
platform linux -- Python 3.7.6, pytest-5.3.5, py-1.8.1, pluggy-0.13.1
rootdir: /build/source
collecting 223 items                                                           Fatal Python error: Illegal instruction

Current thread 0x00007ffff7890f40 (most recent call first):
  File "/nix/store/xb1mp0f16lv23rwhfdc1665v5r20jfmm-python3-3.7.6/lib/python3.7/ctypes/__init__.py", line 364 in __init__
  File "/nix/store/fixfg6li3ngh0g30hy97408q2q24zz1b-python3.7-mxnet-1.4.1/lib/python3.7/site-packages/mxnet/base.py", line 204 in _load_lib
  File "/nix/store/fixfg6li3ngh0g30hy97408q2q24zz1b-python3.7-mxnet-1.4.1/lib/python3.7/site-packages/mxnet/base.py", line 213 in <module>

Attempts to fix issues can be found at https://github.com/drewrisinger/nixpkgs/commits/dr-pr-python-colorlog-fix

@GrahamcOfBorg build apache-airflow
@GrahamcOfBorg build esphome


NXP UCANS32K PWM support continued

Continuation of https://github.com/PX4/Firmware/pull/14978
@jarivanewijk - Thank you for doing all the heavy lifting on this! I have rebased and continued the PR here.

fyi @igalloway , @jarivanewijk

FYI - I've pinged internally to request review

Thanks David!
I'm trying to reproduce your test with the same command, but I'm unable to get any PWM output. Which FlexTimer and channel were you using? And what pin did you use as output? I tried with FTM0, channel 7, pin E9 (labeled SPI_INT_N pin in the schematics). That's also what is already in timer_config.cpp. I had to set the pin multiplexing manually with a debugger.
Note that at some point we will have to put in the right FlexTimer, channel and pin, as this was just done for testing with an older revision of the board. We're still waiting to receive the production version of the board here in the Netherlands. On the production version I think it should be FTM2, CH1, pin PTA0.

Thanks David!
I'm trying to reproduce your test with the same command, but I'm unable to get any PWM output. Which FlexTimer and channel were you using? And what pin did you use as output? I tried with FTM0, channel 7, pin E9 (labeled SPI_INT_N pin in the schematics). That's also what is already in timer_config.cpp. I had to set the pin multiplexing manually with a debugger. Is there anything else that I need to configure first?
Note that at some point we will have to put in the right FlexTimer, channel and pin, as this was just done for testing with an older revision of the board. We're still waiting to receive the production version of the board here in the Netherlands. On the production version I think it should be FTM2, CH1, pin PTA0.

Sorry , you need?
pwm arm

Note that at some point we will have to put in the right FlexTimer, channel and pin, as this was just done for testing with an older revision of the board. We're still waiting to receive the production version of the board here in the Netherlands. On the production version I think it should be FTM2, CH1, pin PTA0.

That would will just be a two line change in timer_config,
No other changes should be needed.

Sorry , you need.
pwm arm

Connected to P1-6

... Of course... Works now. Thank you. ;)

@jarivanewijk - There is a CI failure on the K66, not related to this PR. Looks like we are out of RAM (or it is corrupted) it is on my to-do list. We are probably going to take another update from Upstream Nuttx to resolve some of the issues,

@igalloway @jarivanewijk I have added the PWM LED support and rebased on current master.

@igalloway @jarivanewijk I have added the PWM LED support and rebased on current master.

Thanks. Landon Haugh is checking this. We expect it to be fine.

The RGB PWM was tested and is working.


Apache reboot fails with 2 ssl websites sharing the same ipaddress and using SNI

What steps will reproduce the problem?
1.Two virtualhosts sharing the same ipaddress but with different ServerName
value (basically, just using SNI in an SSL environment)
2.Reboot Apache
3.

What is the expected output? What do you see instead?

What version of the product are you using (please check X-Mod-Pagespeed
header)?
<IP_ADDRESS>-4307

On what operating system?
Debian 7

Which version of Apache?
Apache/2.2.22

Which MPM?
prefork

Thanks

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 12 Dec 2014 at 1:19

As @morlovich says, this isn't a fatal error, so it shouldn't be keeping apache from restarting.
Are you sure Apache didn't restart?  Is it possible the restart was fine and it just printed an error you thought meant it had failed?

Feel free to reopen if this is still a problem.


Add a Dockerfile for development

Close as duplicate of https://github.com/gbdev/pandocs/issues/437?

Yup, thanks for noticing.


[SPARK-29148][CORE][FOLLOWUP] Fix warning message to show a correct executor id

What changes were proposed in this pull request?
This aims to replace executorIdsToBeRemoved with executorIdToBeRemoved.
Why are the changes needed?
Since a wrong variable is used currently, ArrayBuffer() is always displayed.
20/06/16 19:33:31 WARN ExecutorAllocationManager: Not removing executor ArrayBuffer() because the ResourceProfile was UNKNOWN!

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manual.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28767/
Test PASSed.

cc @tgravescs

Test build #124151 has started for PR 28847 at commit c195a7f.

Thank you, @HyukjinKwon .

Merged to master.

Test build #124151 has finished for PR 28847 at commit c195a7f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124151/
Test PASSed.

thanks for fixing


cant download tomcat throwing error

script is not executing properly tomcat is not downloading from the providing link

Update the install_dependencies file in the scripts folder.
See which version is available on the mirror and update the script file with that version number. At this time,  it's only v7.0.86, so update the TOMCAT_VERSION variable to:
TOMCAT_VERSION=7.0.86


Question about supporting inherited_from

Frustrating problem: can't locally replicate Hound's reported violations
Why? Because it's impossible to setup .rubocop.yml in such a way that both Hound and rubocop end up with the same configs.
Cause: Hound doesn't support Rubocop's 'inherited_from' (it's never processed)
Root cause: obviously, Hound doesn't use RuboCop's ConfigLoader.load_file because Hound doesn't work on physical files (since they are downloaded from github).
My question: what changes (if any) can I expect in the near future related to this? What kind of pull requests/workarounds would be acceptable (performance vs complexity vs effort)?
Here are some solutions I considered:

BEST SOLUTION - just show an error (somehow) when an inherited_from section is found in the custom rubycop.yml. The fact that Hound silently ignores 'inherited_from' (by avoiding any API which touches the FS) is not obvious, while having results different from bundle exec rubocop with no hint is just frustrating.

decent solution - custom implementation of 'inherited_from', which would pull missing files and properly load and merge them. (Also, this could help manage any style changes more predictably with version-specific defaults and/or overrides).

hacky solution - stubbing File.* and Dir.* calls (FakeFs?) and pulling files from GitHub when necessary - and using the configuration_from_file method.

unacceptable solution - pulling the files into a temporary directory - too messy, too slow and against Hound security policy

And the workaround for locally simulating a Hound check: "gluing" together the custom Rubocop for Hound from the custom Rubocop files.
While I doubt there is any major development planned for Hound, I do think it's wrong to silently ignore configuration options in a web app run triggered by a web hook.

@e2, couldn't you move Ruby settings for Hound into another file, such as .ruby-style.yml, and inherit those settings from rubocop.yml?
As long as you update .hound.yml to use ruby-style.yml Hound should work and RuboCop should share Hound's settings for Ruby.
I could be missing something, let me know.

@salbertson - the issue here is that inheritance is silently ignored by hound (which you can't debug without digging up and customizing code in Hound).
Hound is a hack to get RuboCop working without a filesystem - most users don't realize that (so it's not obvious that inheritance wouldn't be supported).
Inheritance is needed when using: https://github.com/bbatsov/rubocop#automatically-generated-configuration.
You need inheritance to support BOTH RuboCop's generated .rubocop_todo.yml and the style.
Please do checkout the functionality of: https://github.com/e2/hound-tools - which is basically a huge workaround around the lack of support for inheritance in Hound.

@salbertson My team (specifically, @jsyeo) was bitten by this for a few weeks and could not figure out why. I had to try various rounds of modifying my local rubocop.yml and pushing via a pull request until Hound seemed to respect my configuration. I had no clue why the settings I put in my config were ignored.
The root root problem of this is that the defaults that Hound starts out with is different from Rubocop's default (which is once again another gotcha). The problem I had was that I had a separate Rubocop config which does nothing except by undoing Hound's defaults (restoring Rubocop's), and that was included by the Hound config (which contains project-specific settings)
At least some warning or message when this situation is found will be useful.

@lowjoel - had the exact same frustration.
I've been bitten by Hound (no pun intended) many times -  it's become less useful since it's stuck at RuboCop 0.25.0 (mostly because the parser silently crashes in Hound, and some false offenses are detected due to bugs in that RuboCop version).
Honestly, I wouldn't have used Hound if I knew the surprises I was in for - the extra time invested wasn't worth it (too much developer time spent trying to debug Hound by trial-and-error).
I'm not saying Hound needs to improve - I wouldn't know how to do a better job given the complications and restrictions. Everything is fine if you don't try and customize thing.

@lowjoel @e2 I'm happy to announce that Hound now supports inherit_from, thanks to @jakecraige.
https://github.com/thoughtbot/hound/pull/717

@e2 we are on RuboCop 0.29.1 now.

I totally agree, not supporting inherit_from and not making it clear was not ideal and sorry it caused frustration. Thanks for all the feedback, we appreciate it and it really helps make Hound better.

@lowjoel, do you think starting with nothing enabled in Hound by default, allowing you to enable what you needed would have helped in your case?

@salbertson That's great to know! I wasn't expecting inherits_from to be implemented. :+1:
I think Hound is a useful thing to have. Going back to Rubocop's defaults would make it a clear migration path from Rubocop (to Hound), but maybe the defaults specified in Hound's config could be enabled with a config parameter (in hound.yml, perhaps) and remove our need for inherits_from.
Maybe there might be a need for inherits_from still, because Rubocop inherits configuration settings up the directory tree, and I can imagine situations where that might be useful. For example, one might disable some cops for the db/migrations directory, and placing a Rubocop config file that inherits from parent directories just seem like the natural thing to do.
Once again, I'm not entirely sure this might be something that must be implemented, but at least some warning (maybe in the docs?) mentioning this gotcha might be useful
Thanks for Hound! It's reduced the level of noise from build failures.


 To sum up: Chrome bug with cursor repaired for no-framework and material-design-frame-work.

Does this pull request fix this issue?
https://github.com/dschnelldavis/angular2-json-schema-form/issues/58
with lazy loading?

It does for me.


Fix filtering by AllLike operator behaved like AnyLike

Summary of the changes / Why this improves CrateDB
The first commit is a preparation work for AllLike operators to be able to generate optimized lucene query. The second commit adds supports for AllLike variants ported and adjusted from any. The second commit also fixes:
cr> create table t (a text[]);
insert into CREATE OK, 1 row affected (1.600 sec)
cr> insert into t values (['a','b']);
INSERT OK, 1 row affected (0.178 sec)
cr> select * from t where 'a' like all(a);
+------------+
| a          |
+------------+
| ["a", "b"] | <-- this row should not be returned since 'b' is not like 'a'
+------------+
SELECT 1 row in set (0.135 sec)

Checklist

[x] Added an entry in the latest docs/appendices/release-notes/<x.y.0>.rst for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in the latest docs/appendices/release-notes/<x.y.0>.rst
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

NOTE: Optimize lucene query generation is not handled by this PR, I would consider it as a separate task.

retest this please, looks like some sort of env issue..


Links within "Finetuning" section pointing to wrong sites

Version Information

Model Version: granite-code-models
Operating System: N/A

What is the expected behavior?
Links to Dolomite Engine has moved:
from "https://github.com/ibm-granite/dolomite-engine/"
to "https://github.com/IBM/dolomite-engine/"
Need to also update the git clone repository reference
What is the actual behavior?
see above (update readme)
Please provide a unit test or code example to demonstrate the problem.
N/A
Other notes on how to reproduce the issue? Screenshots of your output are also helpful.
N/A
Any possible solutions?
Update URL's
If the bug is confirmed, would you be willing to submit a PR?
YES

fixed


helm chart doesn't support enough control over the api ingress tls settings

Hello, as a consumer of the helm chart I would like to have more control over the ingress. More specifically, currently the api ingress tls settings are derived from a number of other values, and not fully configurable.
Inside of charts/kargo/templates/api/ingress.yaml we can see that the tls settings for the ingress are derived exclusively from the .Values.api.host, and .Values.api.ingress.tls.enabled. This restriction means that I need to disable the ingress, and manually create my own.
  {{- if .Values.api.ingress.tls.enabled }}
  tls:
  - hosts:
    - {{ .Values.api.host }}
    secretName: kargo-api-ingress-cert
  {{- end }}

Ideally though the ingress would support the same level of configuration that the helm chart for argocd supports
source: https://github.com/argoproj/argo-helm/blob/main/charts/argo-cd/templates/argocd-server/ingress.yaml
  {{- with .Values.server.ingress.tls }}
  tls:
    {{- toYaml . | nindent 4 }}
  {{- end -}}

EDIT:
another good example of ingress settings can be found here:
https://github.com/bitnami/charts/tree/main/bitnami/elasticsearch#traffic-exposure-parameters

Hi @robbert229! Happy to entertain this idea, but I have some curiosity about what you want to do differently with that TLS section. Checking the reference docs, it seems the only two things you could do differently in that spot are add additional hostnames or reference a different secret.

@robbert229 just noting that I'm still curious about what you want to do differently with that TLS section.

We never got clarification on the use case for this.

I want to be able to use a different certificate for sure.  I am having to do some slightly weird things to get it up and running.  But mostly its because the way you have it is a bit black box and not very standard.

@mmclane can you explain what is preventing you from using a cert of your choosing?


fix(AxelarAuthVerifier): simplified initializer

[x] AxelarAuthVerifier: refactoring initialize to take params in plain format

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

Please upload report for BASE (main@edfbb84). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #18   +/-   ##
=======================================
  Coverage        ?   98.46%
=======================================
  Files           ?       32
  Lines           ?     2025
  Branches        ?        0
=======================================
  Hits            ?     1994
  Misses          ?       31
  Partials        ?        0

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

Closing this PR as I was able to encode nested struct for the original implementation:
https://github.com/axelarnetwork/axelar-contract-deployments/pull/280


MaterialApp ThemeData iconTheme color is ignored

MaterialApp
-theme: ThemeData
--iconTheme: IconThemeData
---color <- is being ignored
---opacity <- works
---size <- works

Could you provide an example that demonstrates this problem?

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        iconTheme: new IconThemeData(
            color: Colors.blue,
            opacity: 1.0,
            size: 50.0
        ),
        primarySwatch: Colors.blue,
      ),
      home: new MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
      drawer: new Drawer(
        child: new ListView(
          children: <Widget>[
            new ListTile(
              title: new Text('Some text'),
              trailing: new Icon(Icons.search),
              onTap: () => null,
            )
          ],
        ),
      ),
      body: new Center(
        child: new ListView(
          children: <Widget>[
            new ListTile(
              leading: new Icon(Icons.search),
              title: new Text('Some Text'),
              trailing: new Icon(Icons.print),
              onTap: () => null,
            ),
            new Icon(Icons.cancel),
          ],
        ),
      ),
    );
  }
}

The iconTheme color is inherited in the ListView, but not in the rest of the classes, however opacity and size are inherited in all classes

Most of the ListTile visual defaults are configured with the inherited ListTileTheme.
The default IconTheme iconColor is black, but in ListTiles the default is supposed to be grey (Colors.black45). So if a ListTileTheme.iconColor isn't specified we don't default to the IconTheme's iconColor, we default to grey.
You can get the effect you want by wrapping the Scaffold and the Drawer with:
new ListTileTheme(
  iconColor: Colors.blue,
  child: ..
)

I assume the problem is solved by HansMullers comment.

Most of the ListTile visual defaults are configured with the inherited ListTileTheme.
The default IconTheme iconColor is black, but in ListTiles the default is supposed to be grey (Colors.black45). So if a ListTileTheme.iconColor isn't specified we don't default to the IconTheme's iconColor, we default to grey.
You can get the effect you want by wrapping the Scaffold and the Drawer with:
new ListTileTheme(
  iconColor: Colors.blue,
  child: ..
)

Is there anyway, we can get such inherited information via Dart DevTools?


Consider hooks for Array templatedness

https://github.com/tc39/proposal-array-is-template-object introduces Array(.prototype?).isTemplateObject. Compartments may need a hook in order to enable virtualizing the isTemplateObject brand check.
Originally posted by @koto in https://github.com/tc39/proposal-array-is-template-object/issues/10#issuecomment-845844509

From @erights:

The compartments hooks are plausible. Let's work on what Compartment hooks would look like to address these concerns. It would not be an internal slot though, as that would not enable a per-compartment difference.

To my understanding, you just need a distinguisher. Wouldn't it be sufficient to store a compartment in the [[TemplateObjectCompartment]] slot of the Array object when creating the template object and then call the compartment hook like so:
isTemplateHook(array maybeTemplateObject, boolean fromSameCompartment)?
FWIW, it's not entirely clear that templatedness needs a compartments hook, as Compartments seem to be about enabling virtualization of host behavior (which Array.isTemplateObject is not).

This is a good direction.
Why the boolean flag? A compartment should be able to detect the templatedness of its own templates. It should not be able to detect the templatedness of other templates.
As a templatedness test, I wouldn't name it *Hook. Just compartment.isTemplate(maybeTemplate) is a good predicate for checking compartment-relative templatedness.
Why the internal slot? The spec already has the semantic state we need --- each realm's internal set of its own template object. Without any compatibility risk, we can make that a per-compartment set rather than a per-realm set. Then, the query would just be checking membership in that compartment's internal set.
Progress!

hmm is there a summary of why this is needed? 👀

@erights

Why the boolean flag? A compartment should be able to detect the templatedness of its own templates. It should not be able to detect the templatedness of other templates.

The templatedness check (without compartments) is realm-agnostic (https://github.com/tc39/proposal-array-is-template-object/issues/10) i.e. another Realm templates pass it, hence the new [[TemplateObject]] instead of reusing [[TemplateMap]] for the check.  I agree moving the [[TemplateMap]] to the compartments from realms makes sense, but the regular (i.e. not compartmentalized) isTemplateObjectis not checking the [[TemplateMap]], so it doesn't change much?
I wanted to preserve this semantic for code running inside a Compartment. If this is not a requirement (and the code running inside a compartment will always be more restricted), then the signature could be changed. What is the expected behavior we're looking for in the following cases (for the Array.[prototype].isTemplateObject running inside a compartment)?

a cross-realm template
same-realm template
a. created outside of compartment
b. created in a different compartment
c. created in the same compartment

IIUC 1, 2a and 2b should fail unconditionally, and 2c should look in the compartment-relative[[TemplateMap]], and additionally consult the configurable isTemplate? Do I get it right, that compartment.isTemplate is called implicitly for 2c?
If this is the case, we would need to know that the code executes in a compartment. It's not currently spelled out, but I guess compartments will store that in a running execution context so we could branch on that?

is there a summary of why this is needed?

@Jack-Works, see https://github.com/tc39/proposal-array-is-template-object/issues/10#issuecomment-771274276 and the rest of that issue. The summary is: to be able to virtualize isTemplateObject check in a compartment.

@erights, what do you think about the above? Rereading https://github.com/tc39/proposal-compartments/issues/42#issuecomment-859973047 it seems like you propose to have a compartment-relative method for checking templatedness (that consults a [[TemplateMap]] that would move to Compartments), but I'm not sure how this solves the problem if Array.isTemplateObject exists, and can be called from within the compartment. Hence the idea to enrich the compartment with a hook to be invoked that might add extra steps to the templatedness check. It could be user-controllable, or could just be boolean to fail on templates from outside the compartment (based on [[TemplateMap]])
I would rather not block isTemplateObject on compartments, the scope of these proposals are different.

I don't understand. If the API remains Array.isTemplateObject, how can it be compartment-relative? The only options I see is that the API be rooted in something which is itself compartment relative. The only such objects are

The eval function
The Function constructor
The compartment's globalThis, i.e., the compartment's global object.
The Compartment constructor
The compartment instance that represents the current compartment

The API possibilities would be, respectively, something like

eval.isTemplateObject which I've suggested before. This would not need to wait on compartments themselves advancing
Function.isTemplateObject which is technically similar, but would be bizarrely surprising.
isTemplateObject i.e., globalThis.isTemplateObject
Compartment.isTemplateObject seems to be about the wrong compartments, in that the Compartment constructor is about making compartments relative to this compartment
compartment.isTemplateObject where compartment is the compartment instance representing the compartment of interest.

How is the Function constructor compartment-relative in a way that Array is not?

There is one per compartment
On Fri, Jul 2, 2021 at 2:02 PM Jordan Harband @.***>
wrote:

How is the Function constructor compartment-relative in a way that Array
is not?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tc39/proposal-compartments/issues/42#issuecomment-873254757,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACC3TCIE2F4HTANE4LA4ZTTVYSO3ANCNFSM46JWWZ4A
.

--
Cheers,
--MarkM

Why couldn't there also be one Array per compartment? since function () {}.constructor and [].constructor and function () {} instanceof Function and [] instanceof Array all share similar syntax-derived challenges, it seems like they'd both be in the same bucket.

@ljharb I believe there could be a per-compartment Array, but there has been no need so far. It’s generally better to have very few per-Compartment specializations to keep them cheap.

That makes sense, but that doesn't seem like a strong argument to me against putting isTemplateObject on an unideal object.

@ljharb No argument intentionally implied.

The price of having a Function constructor per compartment is that Function.prototype.constructor has to point at a dummy function constructor. For the evaluators we have no other choice. Having Array.prototype.constructor point at a dummy array constructor, just so each compartment can have its own Array constructor, seems way too complicated.

Those statements don’t mesh for me - i understand there’s no other choice for Function, but i don’t think it’s “way too complicated” for Array to do the thing Function is already doing - and since the solution for compartments is thus straightforward, even if not ideal, I’m not hearing a compelling argument to put isTemplateObject on “not Array”.

I think we should strive to defining a shape that is most understandable for the developers, and it does sound like Array is the most idiomatic container for the check. Per-compartment Array allows the compartments to avoid forgery across the boundaries they enact - and it looks like a simple solution (from the user's perspective).
Regarding the complexity: The compartments design introduces complexity to address their use cases. If that use case also covers virtualizing the templatedness checks, isn't it expected that there is some non-zero spec overhead to it? In this case, the proposed resolution doesn't appear to be that complex - what am I missing?

What you're missing is that this would be a substantial complexity cost to Compartments in order to support an esoteric feature that I'm not convinced is worth the complexity cost regardless. Right now Compartments treat a very small number of global constructors in this manner. Adding one more is a huge percentage increase. And it would establish a bad precedent, leading to more pollution of this namespace.

To be clear, the complexity cost is not on the difficulty of implementing or speccing compartments. It is on the understanding burden of using them correctly. Complexity as experienced by our users. Every deviation of Compartments from normal JS that they need to be aware of is an additional burden.

The whole purpose of this ticket is to figure out how to support per-compartment templatedness checks, which you argued are required for isTemplateObject (or at least that's how I understand https://github.com/tc39/proposal-array-is-template-object/issues/10#issuecomment-771274276). We've explored how this could be achieved. It you believe that, for compartment users, there is not enough value in compartment-granularity of templatedness, do I get correctly that this concern goes away and is no longer blocking https://github.com/tc39/proposal-array-is-template-object/issues/10, especially in the light of https://github.com/tc39/proposal-array-is-template-object/issues/10#issuecomment-856788268?

No of course not. I don't know what you misunderstood. Let's arrange a verbal conversation by email.

This proposal is now removing all other host hooks to focus on the module loaders, and I believe all compartments within a Realm share the same Array instance so they don't have to suffer from identity discontinuity.


python311Packages.kiss-headers: fix format to pyproject

Description of changes
Changed python format from setuptools to pyproject to fix build errors.
Closes https://github.com/NixOS/nixpkgs/issues/285482

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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

[x] 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/)
24.05 Release Notes (or backporting 23.05 and 23.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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Commit message still wrong.

Apologies, have corrected the commit message.

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

6 packages built:

cobang
cobang.dist
python311Packages.kiss-headers
python311Packages.kiss-headers.dist
python312Packages.kiss-headers
python312Packages.kiss-headers.dist


Audit usage of Any throughout the code base

Currently there are a couple of places that we use Any when we should instead use a more accurate type or just fallback to object. For example, the DataError class, https://github.com/RobertCraigie/prisma-client-py/blob/5fe90fa3e09918f289aab573cdce79985c21d1ad/src/prisma/errors.py#L59
Other places for improvement:

QueryBuilder.method_format should use a Literal type

Testing webhook


Backend refactor arg handling

This modifies how we accept input into the backend-refactor. Args should be in the same order that they are currently inputted, with the addition of a (currently unused) color target option (NGT, etc). This also displays help info if someone doesn't input data correctly.

 15 class Parser(argparse.ArgumentParser):
 16     """ Custom parser to allow for a custom error message """
 17
 18     def error(self, message):
 19         print(USAGE_STATEMENT)
 20         print('\033[91m' + 'error: %s\033[00m' % message)
 21         sys.exit(2)


Test psutil

This reverts commit 3a5d2a30d414cbf7332fe467293ef6592d7738ff.
What does this PR do?

Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Closing since this was only a test.


SSL enabled database Connectivity Option:  For connecting Google CloudSQL(postgres) using SSL

As of now, there is no support for connecting to SSL enabled Google Cloudsql(Postgres)  database. Request to enhance / add SSLenabled cloudsql database connectivity by adding 2 more optional parameters "ssl-cert", "ssl-key" to connection command of DVT.

Reference links for further implementation

Connect to Postgres using ssl keys, sqlalchemy+psycopg2: https://gist.github.com/tomaszjonak/c3b6ef788b4c6b0e2142d01879fac6b9

psycopg2 Cheatsheet: https://gist.github.com/pfigue/3440e2bc986550a6b8ec#connect

https://docs.sqlalchemy.org/en/20/dialects/postgresql.html#ssl-connections

Hi @nkonangi! Thanks a lot for opening this issue, is this currently blocking your DVT usage?

Hi @nkonangi! Thanks a lot for opening this issue, is this currently blocking your DVT usage?

Hi @helensilva14 , Thanks for your response. Yes, this is currently a blocker for me to adopt DVT.  What you shared earlier are the generic python code solutions. But I am looking for a way to pass these additional SSL parameters to data-validations connection command. Where DVT will take care of internally passing SSL details to establish connectivity. Please let me know if that clarifes your question.

Hi @nkonangi, your answer did provide more context, thanks a lot! We'll keep analyzing this feature request.
For our developer team: @nj1973 and @nehanene15 could you PTAL at this issue and add your thoughts?

thank you for looking into it.

Also running into this issue when data-validating with mutual SSL authentication on both ends.
Happy to contribute to make this happen! 🚀

@GabrieleCalarota if you are able to contribute that would be great! It will be easier since you have a SSL enabled DB to test on.
This is where we build the SQLalchemy URL to connect. Seems like we should be able to add SSL connection parameters as shown here.
This is where you would add the --ssl-cert and --ssl-key flags for the PG connection command.

Change of plan, we've decided it would be better to implement this via documenting existing PostgreSQL support of environment variables and not the addition of new options.


Development Questions

Hi what I still miss is bulb shooting to start with the EnterKey.
Play with it now for two days but it does not get to run.
With the touchlessRemote it seem to trigger the s2Key
public int pushedS2Key()
  {
    ExecutorCreator.getInstance().getSequence().inquireKey(518);
    return 1;
  }

BaseShootingExecutor
public abstract void inquireKey(int paramInt);
but that inquireKey() is not implemented and just an abstract stub.
So i tryed to inject keys with Instrumentation() and Activity.dispatchKeyEvent() but non works.
The injected event gets called inside the activity, but does not lock the s2 key down.
Maybe you have an idea.
greets

I finaly understood. with bulb active, the onShutter callback is repeating called . i had there a cancelTakePicture() inside wich stopped it.

Sorry, hadn't tried bulb shooting yet. I think you must call cancelTakePicture for "normal" shutter speeds, though.

Yes cancelTakePicture must be called after each capture. And for Bulb only when it should finish.
Thx for your work sofar.

I see you're working on some much-needed refactoring and code cleanup :)

Yes the code has it urgently necessary 👍
But with adb the development flow has total changed. @ma1co is a hero
I'm just hanging out at the ImagePreview. Direct loading of bitmaps is slow.
Sony uses the OptimizedImageView and OptimizedImageFactory to load it.
The _data collumn from ContentProvider seems to be the wrong one. Its return an empty OptimizedImage. But works with the BitmapFactory....
The AvIndexStore contains a Folder Object, maybe that returns the direct path.
No idea why they have made this so complicated.
path from _data:
avindex://1000/00000001-default/00000001-00000925
end in:
I/StillPlayHAL: decodeImage() target:0x0036bcf0 imageType:2 uri:1000/00000001-default/00000001-00000925 colorType:1
I/StillPlayHAL: decodeImage() ticket:0xf0000000 errCd:0x00001004

have it working. the camera need to get closed...^^

Stupid question, but where did you find that TextView Image Strings?

("\uE4CD to set timelapse interval, \uE04C to confirm");

Found them inside framework-res.

The default font is Sony_DI_Icons.ttf, I used a font viewer to look for useful characters.
Didn't realize adb was working now, I'll have to take a look at that once I have some time to spare.

With opening the Camera in Background a new problem happened.
All Callbacks from Camera run now in that Thread.
Due that, after a Capture the AvIndexUpdate seems to stuck somehow, and the red light turn only off with closing the app.
Then you see in Log that it get updated.....
01-01 00:22:59.746 497-848/? I/_AvindexOsalReceiver_: onReceiveOsal# start
01-01 00:22:59.746 497-848/? I/_AvindexOsalReceiver_: RecvObjMsg messageId = 0x20003
01-01 00:22:59.746 497-848/? I/_AvindexOsalReceiver_:   send cond_signal.
01-01 00:22:59.746 497-848/? I/_AvindexOsalReceiver_: onReceiveOsal# end
01-01 00:22:59.746 497-847/? I/_AvindexOsalReceiver_:   waitEventAndCallJavaMethod() received cond signal.
01-01 00:22:59.746 497-847/? I/_AvindexOsalReceiver_:   Call InfraScalarMprEventReceiver.onEvent().
01-01 00:22:59.748 497-847/? I/_AvindexOsalReceiver_:   waitEventAndCallJavaMethod() start waiting...
01-01 00:22:59.767 497-848/? I/_AvindexOsalReceiver_: onReceiveOsal# start
01-01 00:22:59.768 497-848/? I/_AvindexOsalReceiver_: RecvObjMsg messageId = 0x20001
01-01 00:22:59.768 497-848/? I/_AvindexOsalReceiver_:   send cond_signal.
01-01 00:22:59.768 497-848/? I/_AvindexOsalReceiver_: onReceiveOsal# end
01-01 00:22:59.768 497-848/? I/_AvindexOsalReceiver_: onReceiveOsal# start
01-01 00:22:59.768 497-848/? I/_AvindexOsalReceiver_: RecvObjMsg messageId = 0x20003
01-01 00:22:59.768 497-848/? I/_AvindexOsalReceiver_:   send cond_signal.
01-01 00:22:59.768 497-848/? I/_AvindexOsalReceiver_: onReceiveOsal# end
01-01 00:22:59.768 497-847/? I/_AvindexOsalReceiver_:   waitEventAndCallJavaMethod() received cond signal.
01-01 00:22:59.768 497-847/? I/_AvindexOsalReceiver_:   Call InfraScalarMprEventReceiver.onEvent().
01-01 00:22:59.773 497-497/? D/AvindexProvider: onReceive()# action = com.sony.scalar.database.avindex.action.AVINDEX_DATABASE_UPDATED
01-01 00:22:59.830 497-847/? I/_AvindexOsalReceiver_:   Call InfraScalarMprEventReceiver.onEvent().
01-01 00:22:59.832 497-847/? I/_AvindexOsalReceiver_:   waitEventAndCallJavaMethod() start waiting...

That dont happen with camera opening in MainLooper. In log you see that it gets updated direct after a capture. And red light turn off.
Funny is that you can capture one by one without problems. But it freez the app when you open the imageviewer.
But the viewer opens fine aslong you dont capture and the red light is on.
Its crazy 🐰

I wouldn't be surprised if some things can only be done on the main thread.
You're looking at the Sony apps as well, right? If I'm reading the code correctly, they're always opening the camera on the main thread (ExecutorCreator).

hm you're right, thx.
yes i look into sony apps too. well then i have to rework some stuff.

I created now a small app wich just opens the camera and handel the onShutter callback,
Code runs on MainThread and have same behavior as running in Background. So threading seems not to be a problem. Im out of ideas, that's not the behavior i expected.
https://github.com/KillerInk/OpenMemoriesCam/blob/master/app/src/main/java/openmemories/com/opencamera/MainActivity.java

The test app seems to work fine, can you add code to reproduce the bad behavior there?

Thats the code that cause it. maybe its a problem with the a6000.
When i commit out all stuff from a BetterManual, that only the camera get open and the onShutter gets set, it works. Using the sample app, red light keep on till i close the app. It makes no sense.
I also tryed to update the avindex manual without success. database gets updated but red light keep on.
I thought that the support lib is causing it. but after removing it, its the same behavior.

I recently upgraded to an A6000 myself and used it to run the test app, the red light turned off shortly after taking a picture. Maybe the problem is caused by a particular camera setting?

I have no idea what it cause. Looks like mine is special. But good to know that it works for you. It stopped working for me after i added the fragment stuff. When i switch to your last commit its working. Its total crazy.

Looks like the problem occurs when image quality is set to RAW & JPEG. I usually shoot RAW only, so it didn't happen before.

I'm not at home and don't remember what picture format is set. Check it tomorrow.

With raw only it works. But with jpeg or raw/jpeg not. Big thx. Now i have something i can work with.

Have small questions about the application. How app turns red AF illumination, I didn't find anything in the code. Why this feature is used, and do you know how to avoid it?

That's a camera setting, you can turn it off in the menu (Camera Settings / AF Illuminator)

I thought about this, but it's turned off on my camera all the time. Double checked - it turned off in the menu. Happens only in timelapse and bracketing mode. Something different here. Using on A7M2.

Looks like the problem occurs when image quality is set to RAW & JPEG. I usually shoot RAW only, so it didn't happen before.

With raw only it works. But with jpeg or raw/jpeg not. Big thx. Now i have something i can work with.

Hi, I've been debugging an issue with cameraEx.cancelTakePicture(); on a5000 and I found your comments helpful... however, it's the other way around for me. It works only with JPG and RAW+JPG. Just RAW crashes the app. Just FYI.

Hi, I've been debugging an issue with cameraEx.cancelTakePicture(); on a5000 and I found your comments helpful... however, it's the other way around for me. It works only with JPG and RAW+JPG. Just RAW crashes the app I've been debugging. App uses takePicture and cancelTakePicture to capture long exposures (bulb). Just FYI.

that problem went away on a6000 with updating the fw to 3.21

My a5000 fw is 1.10 (I think it's the newest). I also have a7ii and no issue there.
It is mentioned in this thread that it worked for a5100 in the past. That's how I made the logical jump that it should probably work similarly for my a5000. Not sure if it still works for a5100 or not.
In any case, should I just assume that "only RAW" not working is a firmware issue?

My a5000 fw is 1.10 (I think it's the newest). I also have a7ii and no issue there.
It is mentioned in this thread that it worked for a5100 in the past. That's how I made the logical jump that it should probably work similarly for my a5000. Not sure if it still works for a5100 or not.
In any case, should I just assume that "only RAW" not working is a firmware issue?

you should not assume that.
on orginal code it worked, with my changes not. i was not able to figure out whats causing it.
still think its somekind of settings combination wich breaks it.

on orginal code it worked, with my changes not.(..) still think its somekind of settings combination wich breaks it.

I assume you mean settings set by your code then? I set RAW+JPG outside of the app I'm testing (so, manually). Note, I'm not a user of BetterManual, so I'm not familiar with how it works.
Because JPG and RAW+JPG work, I have a suspicion it has something to do with previews.. Maybe a5000 does something weird when trying to prepare/show preview when ony RAW is available, but prefers JPG or something.
In the app I'm debugging there is the following snippet:
            cameraEx.cancelTakePicture();
            cameraEx.getNormalCamera().stopPreview();

but commenting out stopPreview() doesn't affect the application, so it's not the fault of showing the preview.
I think the app crashes inside cameraEx.cancelTakePicture(). Shutter close sound is heard, but then it crashes. I'm not familiar with internals of cancelTakePicture though.

stopping preview is not needed. at least on a6000
something locked up the avosal. but i dont know what it caused.
https://github.com/obs1dium/BetterManual/issues/8#issuecomment-331713511

I wouldn't be surprised if some things can only be done on the main thread.

Maybe this is the culprit. TakePicture and CancelTakePicture are both called in different Runnables, outside of main thread.

It was fixed by calling TakePicture and CancelTakePicture in the same Runnable (not even in any of the activity handlers).
Why does it work? No idea. I didn't see any race conditions in previous code. Anyways, thanks for help.

great you found it^^
think the race condition happen on native side and the native camera is threaded.

I get the hang with JPEG+RAW even if I put takePicture and cancelTakePicture in the same Runnable, works fine with just RAW though... Same thing if I use @KillerInk's fork. (A7R)
I really wish I could figure this out

Ahh it was hanging because I was setting the aspect ratio to 1:1, works fine with 3:2!

Did anybody figure out how to import custom images into the AvIndexManager? I'd like to add JPEGs I've custom-generated myself to the playback library.

Well, I got it to successfully import it into what must be the Android camera directory at /mnt/sdcard/DCIM/Camera by adapting the code of Android's MediaStore.Images.Media::insertImage() function to avoid loading the picture into memory (otherwise it killed the process due to being out of RAM):
private static void copyStream(InputStream source, OutputStream target) throws IOException {
    byte[] buf = new byte[8192];
    int length;

    while ((length = source.read(buf)) > 0) {
        target.write(buf, 0, length);
    }
}

public static String importImage(ContentResolver contentResolver, File filename) {
    ContentValues values = new ContentValues();
    values.put(MediaStore.Images.Media.TITLE, "");
    values.put(MediaStore.Images.Media.DESCRIPTION, "");
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");

    Uri url = null;
    String stringUrl = null;

    try {
        url = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

        OutputStream imageOut = contentResolver.openOutputStream(url);

        try {
            copyStream(new FileInputStream(filename), imageOut);
        } finally {
            imageOut.close();
        }

        long id = ContentUris.parseId(url);
        // Wait until MINI_KIND thumbnail is generated.
        Bitmap miniThumb = MediaStore.Images.Thumbnails.getThumbnail(contentResolver, id,
                MediaStore.Images.Thumbnails.MINI_KIND, null);
    } catch (Exception e) {
        Log.e(TAG, "Failed to insert image", e);
        if (url != null) {
            contentResolver.delete(url, null, null);
            url = null;
        }
    }

    if (url != null) {
        stringUrl = url.toString();
    }

    return stringUrl;
}

But it's not visible in the camera playback, and if I change the external content URI to what should be the correct one for Sony camera images AvindexStore.Images.Media.EXTERNAL_CONTENT_URI, I hit the same old UnsupportedOperationException again:
E/DatabaseUtils(  502): java.lang.UnsupportedOperationException
E/DatabaseUtils(  502): 	at com.sony.scalar.providers.avindex.AvindexProvider.insert(AvindexProvider.java:207)
E/DatabaseUtils(  502): 	at android.content.ContentProvider$Transport.insert(ContentProvider.java:198)
E/DatabaseUtils(  502): 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:146)
E/DatabaseUtils(  502): 	at android.os.Binder.execTransact(Binder.java:320)
E/DatabaseUtils(  502): 	at dalvik.system.NativeStart.run(Native Method)

hm when i remember correct not all devices can use MediaStore.Images.Thumbnails.getThumbnail.
on A6000 that method returns NULL.
had to use the OptimizedImageFactory
also i dont see that you set the DATA flag
values.put(MediaStore.Images.Media.DATA, file.getAbsolutePath());

It seems to fail to write the thumbnails to disk at all, it first complains about being unable to create the /mnt/sdcard/DCIM/.thumbnails directory, but even if I create it for it it still fails to write any thumbnails to that directory:
E/DatabaseUtils( 2428): java.lang.IllegalStateException: Unable to create new file: /mnt/sdcard/DCIM/.thumbnails/2718288.jpg
E/DatabaseUtils( 2428): 	at com.android.providers.media.MediaProvider.ensureFile(MediaProvider.java:1718)
E/DatabaseUtils( 2428): 	at com.android.providers.media.MediaProvider.insertInternal(MediaProvider.java:1849)
E/DatabaseUtils( 2428): 	at com.android.providers.media.MediaProvider.insert(MediaProvider.java:1759)
E/DatabaseUtils( 2428): 	at android.content.ContentProvider$Transport.insert(ContentProvider.java:198)
E/DatabaseUtils( 2428): 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:146)
E/DatabaseUtils( 2428): 	at android.os.Binder.execTransact(Binder.java:320)
E/DatabaseUtils( 2428): 	at dalvik.system.NativeStart.run(Native Method)

This seems like it must be an Android permissions problem.
I can't set DATA as my image doesn't exist on disk at this point and so doesn't have a filename yet. I'm assuming it gets set for me internally, since a numbered filename gets allocated for me automatically.
Good tip on those dates!

Apparently the issue is that the filesystem implementation only supports 8 character long names, so Android fails to create a ".thumbnails" directory. Even if you create one using a PC, Android still can't use it, any attempt to cd into it, remove it, or create files below it fails:

I guess this limitation comes from the fuse driver that mounts the SDCard:
FuFsys /mnt/sdcard fuse.FuFsys rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other 0 0

This is unfortunate since the Android thumbnail store hardcodes the /DCIM/.thumbnails directory name.


Creating an API that takes in a project file (.aia file) and outputs an APK file.

I am working on a project that requires me to generate APK files from MIT App Inventor Project files (my_project.aia, for example).
I am aware that I can do this by uploading the aia file to the App Inventor Server, building the project, and downloading the apk. I have run the app inventor server locally and can hence perform this step offline as well.
I would like to make an end-to-end API where I can pass an aia as input and get the corresponding APK file, getting rid of the uploading aia and downloading apk steps.
I think this can possibly be done using MIT App Inventor’s codebase (from GitHub) by using the right source code files and calling the appropriate functions. I am very new to App Inventor and might be wrong though. Is there a way to do this?

Yes, you are right, you can programmatically export AI2 projects as APK by providing the AIA file. Actually, that is how the Companion is generated: you generate it from command line using ant PlayApp, and not from the "standard web UI". See this ant build target with the code that triggers the AIA to APK method.
To export apps as APK, you can run java with the Main class in the buildserver, and provide the AIA file with the argument --inputZipFile (as a ZIP file with the keystore). It will then build the APK and place it in the directory specified with --outputDir.

@barreeeiroo Thank you so much!
I am getting a lot of compilation errors. Here's what I have tried:
I have built the project using ant from the appinventor folder. I have then tried compiling the Main.java file from the terminal using the javac command. The main error is caused by the absence of the package org.kohsuke.args4j. (package org.kohsuke.args4j does not exist)
I have also run the buildserver using ant, and tried compiling the Main.java from another terminal. I get the same errors. I was hoping that when I build the projects, the dependencies (packages) would automatically be taken care of.
What am I missing here? And thanks again for taking the time!

@barreeeiroo
Should this ant build target do what you have just mentioned?
I have tried running this with an input zip file (tried both .aia and .zip file). I get an error - "[java] SEVERE: Problem opening inout zip file: test.zip"

@barreeeiroo
Should this ant build target do what you have just mentioned?
I have tried running this with an input zip file (tried both .aia and .zip file). I get an error - "[java] SEVERE: Problem opening inout zip file: test.zip"

As mentioned this functionality already exists in the sources, so I'm going to close this issue as it is redundant. If you have further issues getting it to work in your environment please ask clarification questions in the open source community.

As mentioned this functionality already exists in the sources, so I'm going to close this issue as it is redundant. If you have further issues getting it to work in your environment please ask clarification questions in the open source community.


database-relation-broken hook fails when mysql primary unit is removed after relating with application charm

Bug Description
In a charmed mysql cluster (after relating to the test application charm), if primary unit is removed, database-relation-broken hook gets triggered and fails with the following exception.
unit-mysql-1: 11:52:13 ERROR unit.mysql/1.juju-log database:2: Uncaught exception while in charm code:
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-mysql-1/charm/src/mysqlsh_helpers.py", line 172, in _run_mysqlsh_script
return subprocess.check_output(command, stderr=subprocess.PIPE).decode("utf-8")
File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/snap/bin/mysqlsh', '--no-wizard', '--python', '-f', '/root/snap/mysql-shell/common/tmpirx2nv08']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-mysql-1/charm/lib/charms/mysql/v0/mysql.py", line 858, in get_cluster_primary_address
output = self._run_mysqlsh_script("\n".join(get_cluster_primary_commands))
File "/var/lib/juju/agents/unit-mysql-1/charm/src/mysqlsh_helpers.py", line 174, in _run_mysqlsh_script
raise MySQLClientError(e.stderr)
charms.mysql.v0.mysql.MySQLClientError: b'Cannot set LC_ALL to locale en_US.UTF-8: No such file or directory\nTraceback (most recent call last):\n  File "", line 2, in \nRuntimeError: Dba.get_cluster: This function is not available through a session to a standalone instance (metadata exists, instance does not belong to that metadata, and GR is not active)\n\n'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./src/charm.py", line 301, in
main(MySQLOperatorCharm)
File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/main.py", line 431, in main
_emit_charm_event(charm, dispatcher.event_name)
File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/main.py", line 142, in _emit_charm_event
event_to_emit.emit(*args, **kwargs)
File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/framework.py", line 316, in emit
framework._emit(event)
File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/framework.py", line 784, in _emit
self._reemit(event_path)
File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/framework.py", line 857, in _reemit
custom_handler(event)
File "/var/lib/juju/agents/unit-mysql-1/charm/src/relations/database.py", line 126, in _on_database_broken
self.charm._mysql.delete_user_for_relation(relation_id)
File "/var/lib/juju/agents/unit-mysql-1/charm/lib/charms/mysql/v0/mysql.py", line 441, in delete_user_for_relation
primary_address = self.get_cluster_primary_address()
File "/var/lib/juju/agents/unit-mysql-1/charm/lib/charms/mysql/v0/mysql.py", line 861, in get_cluster_primary_address
raise MysqlGetClusterPrimaryAddressError(e.message)
charms.mysql.v0.mysql.MysqlGetClusterPrimaryAddressError: b'Cannot set LC_ALL to locale en_US.UTF-8: No such file or directory\nTraceback (most recent call last):\n  File "", line 2, in \nRuntimeError: Dba.get_cluster: This function is not available through a session to a standalone instance (metadata exists, instance does not belong to that metadata, and GR is not active)\n\n'
unit-mysql-1: 11:52:14 ERROR juju.worker.uniter.operation hook "database-relation-broken" (via hook dispatching script: dispatch) failed: exit status 1
To Reproduce

juju deploy ./mysql_ubuntu-20.04-amd64.charm -n 2
juju deploy ./application_ubuntu-20.04-amd64.charm
juju relate application:database mysql:database
juju status                                                                              # to check the primary, assuming mysql/0 is the primary
juju remove-unit mysql/0                                                       # assuming mysql/0 is primary
juju status
juju debug-log

Environment

charm built from source code
model on lxd controller (in a multipass sandbox)
Ubuntu 20.04.4 LTS, focal

Relevant log output
unit-mysql-1: 11:55:09 INFO juju.worker.uniter awaiting error resolution for "relation-broken" hook
unit-application-0: 11:56:17 INFO juju.worker.uniter.operation ran "update-status" hook (via hook dispatching script: dispatch)
unit-mysql-0: 11:58:22 INFO juju.worker.uniter.operation ran "update-status" hook (via hook dispatching script: dispatch)
unit-mysql-1: 11:59:21 INFO juju.worker.uniter awaiting error resolution for "relation-broken" hook
unit-mysql-1: 12:00:09 INFO juju.worker.uniter awaiting error resolution for "relation-broken" hook
unit-mysql-1: 12:00:09 WARNING unit.mysql/1.juju-log database:2: Failed to get cluster primary addresses
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-mysql-1/charm/src/mysqlsh_helpers.py", line 172, in _run_mysqlsh_script
    return subprocess.check_output(command, stderr=subprocess.PIPE).decode("utf-8")
  File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/snap/bin/mysqlsh', '--no-wizard', '--python', '-f', '/root/snap/mysql-shell/common/tmpu2zwb0fb']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-mysql-1/charm/lib/charms/mysql/v0/mysql.py", line 858, in get_cluster_primary_address
    output = self._run_mysqlsh_script("\n".join(get_cluster_primary_commands))
  File "/var/lib/juju/agents/unit-mysql-1/charm/src/mysqlsh_helpers.py", line 174, in _run_mysqlsh_script
    raise MySQLClientError(e.stderr)
charms.mysql.v0.mysql.MySQLClientError: b'Cannot set LC_ALL to locale en_US.UTF-8: No such file or directory\nTraceback (most recent call last):\n  File "<string>", line 2, in <module>\nRuntimeError: Dba.get_cluster: This function is not available through a session to a standalone instance (metadata exists, instance does not belong to that metadata, and GR is not active)\n\n'
unit-mysql-1: 12:00:09 ERROR unit.mysql/1.juju-log database:2: Uncaught exception while in charm code:
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-mysql-1/charm/src/mysqlsh_helpers.py", line 172, in _run_mysqlsh_script
    return subprocess.check_output(command, stderr=subprocess.PIPE).decode("utf-8")
  File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/snap/bin/mysqlsh', '--no-wizard', '--python', '-f', '/root/snap/mysql-shell/common/tmpu2zwb0fb']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-mysql-1/charm/lib/charms/mysql/v0/mysql.py", line 858, in get_cluster_primary_address
    output = self._run_mysqlsh_script("\n".join(get_cluster_primary_commands))
  File "/var/lib/juju/agents/unit-mysql-1/charm/src/mysqlsh_helpers.py", line 174, in _run_mysqlsh_script
    raise MySQLClientError(e.stderr)
charms.mysql.v0.mysql.MySQLClientError: b'Cannot set LC_ALL to locale en_US.UTF-8: No such file or directory\nTraceback (most recent call last):\n  File "<string>", line 2, in <module>\nRuntimeError: Dba.get_cluster: This function is not available through a session to a standalone instance (metadata exists, instance does not belong to that metadata, and GR is not active)\n\n'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./src/charm.py", line 301, in <module>
    main(MySQLOperatorCharm)
  File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/main.py", line 431, in main
    _emit_charm_event(charm, dispatcher.event_name)
  File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/main.py", line 142, in _emit_charm_event
    event_to_emit.emit(*args, **kwargs)
  File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/framework.py", line 316, in emit
    framework._emit(event)
  File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/framework.py", line 784, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-mysql-1/charm/venv/ops/framework.py", line 857, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-mysql-1/charm/src/relations/database.py", line 126, in _on_database_broken
    self.charm._mysql.delete_user_for_relation(relation_id)
  File "/var/lib/juju/agents/unit-mysql-1/charm/lib/charms/mysql/v0/mysql.py", line 441, in delete_user_for_relation
    primary_address = self.get_cluster_primary_address()
  File "/var/lib/juju/agents/unit-mysql-1/charm/lib/charms/mysql/v0/mysql.py", line 861, in get_cluster_primary_address
    raise MysqlGetClusterPrimaryAddressError(e.message)
charms.mysql.v0.mysql.MysqlGetClusterPrimaryAddressError: b'Cannot set LC_ALL to locale en_US.UTF-8: No such file or directory\nTraceback (most recent call last):\n  File "<string>", line 2, in <module>\nRuntimeError: Dba.get_cluster: This function is not available through a session to a standalone instance (metadata exists, instance does not belong to that metadata, and GR is not active)\n\n'

Additional context
No response

This is related to this juju bug.

Workaround implemented on PR #40


Deleted project visible bug

Notion card
Summary
https://www.loom.com/share/6f20757600f5423dbe1b89e880f46a38
Preview

Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to
not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?

Checklist:

[x] I have manually tested all workflows
[x] I have performed a self-review of my own code
[ ] I have added automated tests for my code

@apoorv1316 Please test this @sudeeptarlekar Please review .

@abinashpa Lets work on the review comments on priority and close this PR.


Stack Hub on GHE

This is a follow up to https://github.com/kabanero-io/kabanero-collection/issues/60. Because of the SAML issues with GHE, we came up with a solution that builds a nginx container with Stack Hub assets that is hosted in OpenShift cluster. We should consider other possible solutions to this issue including support for SAML authentication.
The basic problem was the Stack Hub assets were attached a release in GitHub. Under, GHE those endpoints are SAML protected.
We explored using GHE API to retrieve them but that required 1) authentication, and 2) translating filenames into API requests - i.e. it wasn't a simple curl request.

@jgawor I am not sure why this is open against Kabanero collections. The collections repository is no longer under active development and is in maintenance mode.
I also don't believe the SAML issue is related to the stack hub, it is an issue for the clients that connect to the stack hub. The original issue was discovered when using the Appsody cli and the feature opened to support GHE specifically references Appsody.

I am going to claim ignorance on the SAML part, I'm not sure I understand the different ways that GHE could be secured.  But from the Kabanero perspective, we shipped:
https://github.com/kabanero-io/kabanero-operator/issues/253
and the CLI service shipped: https://github.com/kabanero-io/kabanero-command-line-services/issues/112
and the landing page shipped:
https://github.com/kabanero-io/kabanero-landing/issues/176
Is that the majority of what is required to access the assets in GitHub?  If so, are there still use cases for using a secured nginx?  I'm guessing that the Appsody CLI may still be a problem in either case, I don't know if it supports authenticating to GHE yet.

This was opened per request from the security team to re-look at the SAML authentication part. I'll let them figure out what they want to do with it.

@chunlongliang-ibm @jtmulvey Can you please articulate what you believe is required from Kabanero collections with regard to this issue or transfer it to a more appropriate repository. I will leave it open for a few days before closing.

There are no requirements on the collections repository for security. All security requirements need to be raised on individual tools. Closing this issue.