Swagger fail response for some api's

Describe the bug
Just changed my local branch from 0.0.5-rc to main branch. In Swagger I am now experiencing an issue where the tenantId cannot be resolved for some api's.
Example Fail: get /api/audit-logs
Example Fail: get /api/users
Example Successful: get /api/brands/search with body {"pageNumber": 0,  "pageSize": 10}
To Reproduce
Steps to reproduce the behavior:

Go to /swagger
Create a token for "root"<EMAIL_ADDRESS>"password":"123Pa$$word!"}
Copy and add generated token to bearer authorization and click Authorize
Execute Git /api/audit-logs
Error: response status is 401 Authorization Failed.

Expected behavior
200 with a valid response
Desktop (please complete the following information):

OS: Ubuntu 20.04
Browser Chrome
Version Main branch

The reason is apparently because there's no "MustHavePermission" or "Authorize" attribute on that action... the same goes for GetProfileDetails... There probably used to be a default "authorize" that was added somewhere for all controllers which must have been removed in some way?

It's in UseInfrastructure:
                endpoints.MapControllers().RequireAuthorization();

Not sure why it doesn't seem to get picked up though...

It does get picked up by aspnetcore, as the token is actually validated when passed... It's just that swagger doesn't seem to know about it...
I guess we're gonna have to do something like this:
https://stackoverflow.com/questions/62432556/requireauthorization-and-swashbuckle-ioperationfilter
but then for NSwag (using IOperationProcessor iso IOperationFilter).

I see that there is no Bearer token itself in the header. Strange. will check on this

This is fixed for now. But whenever a new controller method doesn't have a [MustHavePermissions] attribute set, the tokens are no longer passed via Swagger.

This is what we have to do to fix it permanently:
https://stackoverflow.com/questions/62432556/requireauthorization-and-swashbuckle-ioperationfilter

See also https://github.com/RicoSuter/NSwag/issues/2817
where this is apparently a known issue on the NSwag repo...


New Release

Hi, it would be great if we could get a new release cut please! Lots of dep updates have happened since 3.5.0. Thanks.

https://github.com/typelevel/vault/releases/tag/v3.6.0


THREAD WARNING ['SafariViewController'] Plugin should use a background thread

I have a Ionic3 app, that when I build the app in XCode I get a warning that SafarViewController should use a background thread.
OAuth login redirect cannot get back to my app, if the app has been launched from within another app (App Store, Test Flight etc...)
I suspect the background thread warning has a relation to this issue.
Any thoughts is appreciated

Turns out the issue was not connected to the SafariViewController plugin


CD

Add CD:

After pull request / push to main branch, fetch changes on server and recreate Docker images: PostgreSQL, postamt-bot.

Moved to #60 with another idea.


[CircleGraph] Fix node color for backend assignment

Backend assignment color for graph nodes are fixed for fast end-to-end development.
Let's fix this to follow values from partition editor extension.

from #822

done


1740 configuration batch deletion

Fixes #1740

Codecov Report
Base: 63.55% // Head: 8.75% // Decreases project coverage by -54.79% :warning:

Coverage data is based on head (e080f96) compared to base (3782bdf).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #1750       +/-   ##
==========================================
- Coverage   63.55%   8.75%   -54.80%
==========================================
  Files         170      87       -83
  Lines       12892    8851     -4041
==========================================
- Hits         8193     775     -7418
- Misses       3676    8028     +4352
+ Partials     1023      48      -975

Flag
Coverage Δ

acceptance-api
?

acceptance-apps
?

acceptance-cli
?

unittests
8.75% <0.00%> (-0.02%)
:arrow_down:

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

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Inference for joint probability distributions

The current implementation of inference supports inferences from joint probability distributions only when all the variables occur in the same junction tree clique.   This limitation stems from the fact that only posterior clique potentials are generated during message passing.     Caching joint distributions in the inference engine could lead to an exponential growth in storage .  I propose extending the "IInferenceEngine" interface with three new methods:

"getMarginalDistribution" - return the marginal distribution for a given variable
"getMarginalDistributions" - return an array of the marginal distributions for all the variables
"getJointDistribution" - return the joint distribution for a given collection of variables

Each of these functions would return a potential function that could be queried to make probabilistic inferences independent of the Inference engine.    This would eliminate the need to cache joint distributions in the inference engine.   Furthermore it would allow users to create and reuse probability distributions for different sets of evidence.    Each potential function would need to support (at a minimum) the machinery to infer the probability of an event.

I have fully implemented this new feature https://github.com/dlewissandy/bayesjs/tree/feature/arbitrary-joint-distributions
it depends upon the inference engine pull request that is currently outstanding.


[ALLUXIO-2307]Update LeaderSelectorClient.java

https://alluxio.atlassian.net/browse/ALLUXIO-2307

Can one of the admins verify this patch?

ok to test

Jenkins, add to whitelist

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/11758/
Test PASSed.

Merged build finished. Test PASSed.

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/Alluxio-Pull-Request-Builder/11755/
Test PASSed.

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/Alluxio-Pull-Request-Builder/11801/
Test PASSed.


[cargo]: cargo/build pipeline improvements

This issue tracks improving our cargo/build pipeline to be more flexible and allow more wide usage of this pipeline across our package repositories.
We've certain limitations when we use cargo/build pipeline and below are the notes about the same.

As of now, the pipeline fails if we define a different modroot other than .

  - name: build linkerd-network-validator
    uses: cargo/build
    with:
      modroot: ./validator
      output: linkerd-network-validator
      install-dir: lib/linkerd

The reason for failure here is that cargo stores the binary root of the tree under target directory.
      cd "${{inputs.modroot}}"

In here, we change the directory to a different one and binary is stored at root.
After build, When we are invoking the install command in the pipeline it's not able to find the directory.
        install -Dm755 "${OUTPUT_PATH}/${{inputs.output}}" "${INSTALL_PATH}/${{inputs.output}}"

The solution here is to use CARGO_TARGET_DIR environment variable but maybe there's also a simpler way to do this.

custom binary name
unlike go -o flag, cargo doesn't have a similar flag but there's an experimental feature in cargo to specify custom binary name in there.
https://doc.rust-lang.org/cargo/reference/unstable.html#different-binary-name

cargo new foo
cd foo
cargo run
cargo build

In above case, the binary name is always foo
If we want to change the binary name then we'll have to specify it something like this.
[[bin]]
name = "sammy"
path = "src/main.rs"

and then when we invoke cargo build or cargo run the binary name is sammy

Are these fixes related to #1582 ?

@ckoehler I didn't had a chance to look at the issue in detail, I quickly skimmed over it.
but this fixes are in general for every package that relies on cargo/build.
In wolfi-dev/os repository, you can do the following to test it out.
make dev-container
make package/geckodriver

If you add your config in there and build it then you should be able to proceed ahead. In general, I always use the dev-container environment for building purpose.
If you still want to build without docker then maybe this command is more accurate than a simple melange build
./melange build foo.yaml --arch=x86_64 --repository-append /home/user/second-os/packages --keyring-append /home/user/second-os/local-melange.rsa.pub -k https://packages.wolfi.dev/os/wolfi-signing.rsa.pub -r https://packages.wolfi.dev/os

it requires more args than you're using in your command.

Thanks for that. I updated the issue with the same run using the (latest) Docker image, the same error happens.


Will block_size 64/128/156 be supported in paged attention?

When I try to use paged attention. I met RuntimeError: Unsupported block size: 64.
From source code we can know paged attention does not support block_size = 1/2/4/64/128/256 to reduce the compilation time (attention_kernels.cu#L663~L664).
So:

Will those block_size numbers be supported in the further?
Or users can instance kernel and compile manually? Will the correctness and performance be guaranteed?

Maybe you can add two lines and recompile the code.
#define CALL_V1_LAUNCHER_BLOCK_SIZE(T)                              \
  switch (block_size) {                                             \
    case 8:                                                         \
      CALL_V1_LAUNCHER(T, 8);                                       \
      break;                                                        \
    case 16:                                                        \
      CALL_V1_LAUNCHER(T, 16);                                      \
      break;                                                        \
    case 32:                                                        \
      CALL_V1_LAUNCHER(T, 32);                                      \
      break;                                                        \
    case 64:
      CALL_V1_LAUNCHER(T, 64);                                      \
    default:                                                        \
      TORCH_CHECK(false, "Unsupported block size: ", block_size);   \
      break;                                                        \
  }

Maybe you can add two lines and recompile the code.
#define CALL_V1_LAUNCHER_BLOCK_SIZE(T)                              \
  switch (block_size) {                                             \
    case 8:                                                         \
      CALL_V1_LAUNCHER(T, 8);                                       \
      break;                                                        \
    case 16:                                                        \
      CALL_V1_LAUNCHER(T, 16);                                      \
      break;                                                        \
    case 32:                                                        \
      CALL_V1_LAUNCHER(T, 32);                                      \
      break;                                                        \
    case 64:
      CALL_V1_LAUNCHER(T, 64);                                      \
    default:                                                        \
      TORCH_CHECK(false, "Unsupported block size: ", block_size);   \
      break;                                                        \
  }

Fine. Thanks for your quick reply. I will try it.


Remove reliance on Composite.iterComponents

Potentially hot take here but I'll explain my motivation
Claim
There are a collection of places in ARMI where a composite does something like
def thing(self):
    return sum([c.thing() for c in self.iterComponents()])

when they really should do
def thing(self):
    return sum((c.thing() for c in self))

(minor tweak to use a generator over a list but that's not the point of this ticket)
This works well and good with the current ARMI tree of Assembly -> Block -> Component. The problem comes when something comes between blocks and components that acts a little different to how ARMI expects despite still trying to be good Composite children.
Motivation
I found these cases working on the particle fuel related issues (#1055 #1134). There, we have the following design pattern

Parent Compact that resides on a Block and inherits from Composite

Matrix child Component (e.g., Circle for cylindrical compact)
New ParticleFuel composite - #1055

A Sphere Component for each layer in one particle fuel specification

With the understanding of mult to be the number of a thing in it's parent, the multiplicity of one of the spherical components in the particle fuel is one. There is one kernel in a standard TRISO. But the ParticleFuel has a multiplicity equal to the number of particles in the matrix (on order of thousands). The matrix child has a multiplicity of 1 - packingFraction to adjust it's mass correctly by accounting for the region occupied by particle fuel. And finally, the multiplicity of the Compact is the number of compacts in the block.
When we do various summation routines, like Block.getHmMass for a Block that also contains a Compact, the mass of the kernel is counted as just the mass of a single layer in one particle because we jump straight down to the spherical components with Block.iterComponents. We don't capture Sphere.getHmMass() * nParticlesPerCompact * nCompactsPerBlock
However, if Compact and ParticleFuel provide their own getters that account for their multiplicity, and Composite methods act more like aggregators of child.thing, we can correct hit masses and volumes and densities.
Occurrences
We've developed the compact feature fairly completely and it's able to do mass accounting etc. after we made changes to the following locations. In order to get this compact in, we had to remove calls to iterComponents in the following places
Block.completeInitialLoading
https://github.com/terrapower/armi/blob/e08b9002d9f2c93290d8d2618812fedb7f8b90f7/armi/reactor/blocks.py#L814
Block.getLargestComponent
https://github.com/terrapower/armi/blob/e08b9002d9f2c93290d8d2618812fedb7f8b90f7/armi/reactor/blocks.py#L1253
Might need a new name? But also Composite.getDimension isn't abstract so it's not required that composites implement it
Composite.getMass
https://github.com/terrapower/armi/blob/e08b9002d9f2c93290d8d2618812fedb7f8b90f7/armi/reactor/composites.py#L888
Composite.getNuclideNumberDensities
https://github.com/terrapower/armi/blob/e08b9002d9f2c93290d8d2618812fedb7f8b90f7/armi/reactor/composites.py#L1235-L1256
Little more complex because of the need for volumes but we've got a solution that might be acceptable
Composite.getFuelMass
https://github.com/terrapower/armi/blob/e08b9002d9f2c93290d8d2618812fedb7f8b90f7/armi/reactor/composites.py#L2130
Would require Component.getFuelMass to be defined, but it's essentially trivial
def getFuelMass(self) -> float:
    if self.hasFlags(Flags.FUEL):
        return self.getMass()

Composite.getBoundingCircleOuterDiameter
https://github.com/terrapower/armi/blob/e08b9002d9f2c93290d8d2618812fedb7f8b90f7/armi/reactor/composites.py#L3205-L3216
Other
There are more places where Composite.itercomponents is called, and in some places it's probably okay. Calls like Composite.getComponentNames. These are just the cases we found needed to be changed to get a non-Component child of a block to play nice with mass reporting and the run sequence.
Thankfully, because many of the most important actions are funneled through basically getMass and getNuclideNumberDensities, a lot of other great functionality is provided for free
Follow on
My hope is that we can send the Compact up for review end of next week. I can also send the patches we've made to places listed in a separate PR before putting the Compact PR up.

Related find in crossSectionGroupManager : expecting all children of Block to be Component or at least have a numberDensities parameter
https://github.com/terrapower/armi/blob/5e808270f31504895559897c7112259c56fc035d/armi/physics/neutronics/crossSectionGroupManager.py#L351-L367
In the Compact design, there is no need to have number densities stored directly on the Compact. Rather, there are aggregated from the child matrix Component and "grandchildren" spheres in the ParticleFuel class
Here it's a little trickier because you'd want to pick up temperatures of nuclides in each of those components. Otherwise if you just used the matrix temperature when finding the volume-weighted temperature, it would likely be lower for U235 as matrix temperature is usually less than fuel temperature

@john-science @jakehader @opotowsky @ntouran your feedbacks would be appreciated here. I have some patches ready to send off if you buy in to this design change


various profile.py fixes for new okcupid.com ui

fixes for profile.id, profile.location, profile.age, profile.contacted, profile.liked, profile.match_percentage, profile.enemy_percentage.
Findings:
*logged-in user's profile still uses the old UI layout; therefore existing profile.location, profile.age will work when calling those functions on your own profile (as well as when search retrieves the logged-in user's location)
*non logged-in users' profiles uses the new UI layout, which requires updated html references
Implementation:
*for profile.age and profile.location, first try the new UI selectors, and upon exception, attempt the old UI selectors, under the assumption that the logged-in user's profile is being called

Re: the failed checks, the tests appear to be running checks against usernames (see in log) that are no longer active.
I was not able to figure out whether live requests are being sent to and received from okcupid.com for these tests, or if dummy requests are saved in the vcr_cassettes yaml files.
If these tests are updated to retrieve data on active users, with current website data, those IndexError's and AssertionErrors on the profile tests should go away.

Actually, now that I think about it, those tests must not be live:
*i don't think okcupid.com would return inactive users in search results
*regardless of how those user names were retrieved, live tests would also cause those checks to fail a) using the old html selectors and b) because the elements don't exist on a "User not found" page

Oh, lastly, as you'll see here  (https://github.com/kfred/okcupyd/commit/6679f7251c6927013ba63cd9c97e40a57da74ca5#commitcomment-15639792)
Profile.contacted, when true, returns the date format string as shown by okcupid. For purposes of a boolean, this works as it should, but if date comparisons were to be performed on what is returned in True conditions, they will fail.
I am planning to update this to properly parse it. I saw reference to a series of date format parsers in helpers.py, which hopefully may be able to be applied here.
I am hopeful that they might be re-usable, since the last-contacted date format mirrors that of the date shown in the messages inbox. However, I do not know if that messages-inbox date format is also a new addition in the redesign or if it previously existed as that "fancydate"

Made two more updates--one to update parse_date_updated helper function to properly handle okcupid html dates prior to current year, and another to let profile.contacted return neatly formatted date structures using parse_date_updated helper function.

Thanks! This looks great. There are invoke tasks to update the cassettes recorded for tests in tasks.py .
There is code that handles scrubbing login information already in place, but you will need to fill out a credentials file to make it work so that it can actually log in to okc

Alrighty, so I rerecorded the cassettes for those tests. As you can imagine, many of them now fail due to the UI changes. I am going to review further the results of tests associated with my recent commits tonight, make any needed changes, and push those cassettes to my fork.
I'm not sure the scrubbing process worked completely. I grep'ed the directory and found matches for my test username in pycache/test_credentials.cpython-27-PYTEST.pyc.
Are there any other places I should check that my test credentials have been scrubbed before pushing?

I'm not sure the scrubbing process worked completely. I grep'ed the directory and found matches for my test username in pycache/test_credentials.cpython-27-PYTEST.pyc.

the pyc is a compiled python file. The scrubbing is just for the test cassette. I don't think the credentials or any pyc files will get checked in so everything should be all good. you should do a git grep, or ignore gitignored files

Ah, gotcha--that makes sense. Cool, I'll check out those arguments.

Just pushed some new commits, including stylistic improvements, better xpb precision and more elegant implementations of some of the functions I edited in my previous commits.
I was trying to keep profile.py and helpers.py updates in separate commits, but accidentally let and old helpers.py edit into https://github.com/kfred/okcupyd/commit/da49f95d1fdeddd57f96d82ced2050cd32c29bcb
Also, still reviewing the new cassettes' test results. I force-exited the first rerecord I did, and think I might re-rerecord and review before adding a commit for them.

@kfred hey sorry I never got a chance to look at this. Whats the status of everything here?

I've merged this into master

@IvanMalison @kingyakshaver hey, I just saw this. I haven't used this in a while because okcupid suspended my account (oddly during a period of complete inactivity) :( and I haven't yet gotten back into the swing of things. But everything was working last I checked.
Good to see movement again on this project. Would love to see the essays working again; I previously started looking into them but I'll revisit them soon.


High Memory Usage Issue

My issue is that i need to generate an Excel file of around 230000 rows, which with the gem Axlsx consumed a large amount of memory, roughly 4 GB. I tried to change my app to use RubyXL Version 3.4.6 expecting to improve memory performance but it remained almost the same.
Am I using the a wrong version or this high memory usage is an expected performance?
Thanks in advance

I have the same issue. Did you find out a way to decrease memory consumption?

Same here, for about 4000 rows. Is there a workaround by batch writing rows?

consider to use this guys https://github.com/Paxa/fast_excel
its backend using C so it should be fast

consider to use this guys https://github.com/Paxa/fast_excel
its backend using C so it should be fast

Note that fast_excel is a write-only library.
Reading is not supported :(


Installation issue with Ubuntu 20.04.1 LTS

I tried installing the shogun ml package on Ubuntu, was following the steps instructed on install.md and on the website.
I wanted to install and start working on the codebase, thought I could contribute. But it won't go past the installation step.
It says Shogun does not have a stable release for Ubuntu focal (i.e 20.04 LTS) I'll add a screenshot for assistance.

Hi, there's currently no release for Ubuntu focal. You could either install shogun with anaconda (I think you can install the last release that way) or compile from source.

Hello @gf712, I tried building it from the source using the commands as it is
The cmake ../ does not build the, stops with errors.
Then I tried building it from the repository itself but again cmake seems to have some issue.
Also, does shogun have any community forum for interaction with peers I tried communicating on IRC channel but it seems to be inactive?

You'll have to see what the error is that cmake is returning. You are likely missing some dependency. The IRC channel is a bit quiet at the moment because all the devs (including myself) are busy with other projects and jobs. If you cannot resolve your issue feel free to open an issue/explain your problem here and someone will have a look and help :)

Hey, @gf712 @siddhantjain07 , could you find a workaround for that?
I was able to download it via anaconda, but am still not able to compile it from source, am not able to compile make.

Hey @pandeyanuradha,
maybe you could try installing the dependencies that are pointed out when the cmake or make fails.

Thanks for the quick reply.
@siddhantjain07 were you able to resolve it that way? I am still getting cmake errors. Also, I have installed shogun through anaconda, so is that enough?

Hi @gf712,
This is the error that I am getting.
-- verifying file...        file='/home/ubuntu/shogun/third_party/Eigen3/3.3.4.tar.bz2' -- MD5 hash of     /home/ubuntu/shogun/third_party/Eigen3/3.3.4.tar.bz2   does not match expected value     expected: 'a7aab9f758249b86c93221ad417fbe18'       actual: 'd41d8cd98f00b204e9800998ecf8427e' -- File already exists but hash mismatch. Removing... -- Downloading...    dst='/home/ubuntu/shogun/third_party/Eigen3/3.3.4.tar.bz2'    timeout='none' -- Using src='https://bitbucket.org/eigen/eigen/get/3.3.4.tar.bz2'
Then it tries to connect with : https://bitbucket.org/eigen/eigen/get/3.3.4.tar.bz2, but this website doesn't exist.
And then, in the end,
make[2]: *** [src/shogun/CMakeFiles/Eigen3.dir/build.make:91: Eigen3/src/Eigen3-stamp/Eigen3-download] Error 1 make[1]: *** [CMakeFiles/Makefile2:750: s
Any workaround for this?

Hmm I thought I had fixed that error. Is that using the latest commit from the develop branch?

@gf712 Yes. Is this some problem with the version of eigen?

Hi @gf712 ,
I managed to compile shogun, and run the make command. Now, while running the make/ make install command, this is the error that I am getting:
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) (Required is at least version "1.8.6")
CMake Warning at CMakeLists.txt:411 (MESSAGE):
Doxygen based documentation generation is enabled, but couldn't find
doxygen.
In order to turn off this warning either disable doxygen documentation
generation with -DENABLE_DOXYGEN=OFF cmake option or install doxygen.
-- dir='/home/ubuntu/shogun/src'
-- dir='/home/ubuntu/shogun/build/src'
-- dir='/home/ubuntu/shogun/src/gpl'
-- Using system's malloc
-- Could NOT find ViennaCL (missing: VIENNACL_INCLUDE_DIR VIENNACL_ENCODED_VERSION) (Required is at least version "1.5.0")
-- Could NOT find rxcpp (missing: rxcpp_INCLUDE_DIR)
-- Could NOT find TFLogger (missing: TFLogger_DIR)
-- Could NOT find BLAS (missing: BLAS_LIBRARIES)
-- LAPACK requires BLAS
-- Could NOT find GLPK (missing: GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_PROPER_VERSION_FOUND)
-- Could NOT find LibArchive (missing: LibArchive_LIBRARY LibArchive_INCLUDE_DIR)
-- Could NOT find CPLEX (missing: CPLEX_LIBRARY CPLEX_INCLUDE_DIR)
-- Could NOT find MOSEK (missing: MOSEK_DIR MOSEK_INCLUDE_DIR MOSEK_LIBRARY MOSEK_LIBRARIES)
-- Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR)
-- Unable to determine HDF5 C flags from HDF5 wrapper.
-- Unable to determine HDF5 C version from HDF5 wrapper.
-- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS) (found version "")
-- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
-- Could NOT find LibLZMA (missing: LIBLZMA_LIBRARY LIBLZMA_INCLUDE_DIR LIBLZMA_HAS_AUTO_DECODER LIBLZMA_HAS_EASY_ENCODER LIBLZMA_HAS_LZMA_PRESET)
-- Could NOT find SNAPPY (missing: SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR)
-- Lzo includes and libraries NOT found.
-- Could NOT find NLOPT (missing: NLOPT_LIBRARY NLOPT_INCLUDE_DIR)
-- Could NOT find LPSOLVE (missing: LPSOLVE_LIBRARIES LPSOLVE_INCLUDE_DIR)
-- Could NOT find ColPack (missing: COLPACK_LIBRARIES COLPACK_LIBRARY_DIR COLPACK_INCLUDE_DIR)
-- Could NOT find ARPREC (missing: ARPREC_LIBRARIES ARPREC_INCLUDE_DIR)
-- Linker: GNU gold
CMake Warning (dev) at src/interfaces/python/CMakeLists.txt:3 (FIND_PACKAGE):
Ignoring EXACT since no version is requested.
This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Error at cmake/FindNumPy.cmake:62 (message):
NumPy import failure:
Call Stack (most recent call first):
src/interfaces/python/CMakeLists.txt:4 (FIND_PACKAGE)
-- Configuring incomplete, errors occurred!
See also "/home/ubuntu/shogun/build/CMakeFiles/CMakeOutput.log".
See also "/home/ubuntu/shogun/build/CMakeFiles/CMakeError.log".
make: *** [Makefile:3860: cmake_check_build_system] Error 1
Out of which, I believe, only the bold lines are problematic. I am able to import NumPy perfectly fine, but there's still this error. I tried googling it, but with no success. Can you please help me?

Hi @gf712 ,
I managed to compile shogun, and run the make command. Now, while running the make/ make install command, this is the error that I am getting:
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) (Required is at least version "1.8.6")
CMake Warning at CMakeLists.txt:411 (MESSAGE):
Doxygen based documentation generation is enabled, but couldn't find
doxygen.
In order to turn off this warning either disable doxygen documentation
generation with -DENABLE_DOXYGEN=OFF cmake option or install doxygen.
-- dir='/home/ubuntu/shogun/src'
-- dir='/home/ubuntu/shogun/build/src'
-- dir='/home/ubuntu/shogun/src/gpl'
-- Using system's malloc
-- Could NOT find ViennaCL (missing: VIENNACL_INCLUDE_DIR VIENNACL_ENCODED_VERSION) (Required is at least version "1.5.0")
-- Could NOT find rxcpp (missing: rxcpp_INCLUDE_DIR)
-- Could NOT find TFLogger (missing: TFLogger_DIR)
-- Could NOT find BLAS (missing: BLAS_LIBRARIES)
-- LAPACK requires BLAS
-- Could NOT find GLPK (missing: GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_PROPER_VERSION_FOUND)
-- Could NOT find LibArchive (missing: LibArchive_LIBRARY LibArchive_INCLUDE_DIR)
-- Could NOT find CPLEX (missing: CPLEX_LIBRARY CPLEX_INCLUDE_DIR)
-- Could NOT find MOSEK (missing: MOSEK_DIR MOSEK_INCLUDE_DIR MOSEK_LIBRARY MOSEK_LIBRARIES)
-- Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR)
-- Unable to determine HDF5 C flags from HDF5 wrapper.
-- Unable to determine HDF5 C version from HDF5 wrapper.
-- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS) (found version "")
-- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
-- Could NOT find LibLZMA (missing: LIBLZMA_LIBRARY LIBLZMA_INCLUDE_DIR LIBLZMA_HAS_AUTO_DECODER LIBLZMA_HAS_EASY_ENCODER LIBLZMA_HAS_LZMA_PRESET)
-- Could NOT find SNAPPY (missing: SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR)
-- Lzo includes and libraries NOT found.
-- Could NOT find NLOPT (missing: NLOPT_LIBRARY NLOPT_INCLUDE_DIR)
-- Could NOT find LPSOLVE (missing: LPSOLVE_LIBRARIES LPSOLVE_INCLUDE_DIR)
-- Could NOT find ColPack (missing: COLPACK_LIBRARIES COLPACK_LIBRARY_DIR COLPACK_INCLUDE_DIR)
-- Could NOT find ARPREC (missing: ARPREC_LIBRARIES ARPREC_INCLUDE_DIR)
-- Linker: GNU gold
CMake Warning (dev) at src/interfaces/python/CMakeLists.txt:3 (FIND_PACKAGE):
Ignoring EXACT since no version is requested.
This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Error at cmake/FindNumPy.cmake:62 (message):
NumPy import failure:
Call Stack (most recent call first):
src/interfaces/python/CMakeLists.txt:4 (FIND_PACKAGE)
-- Configuring incomplete, errors occurred!
See also "/home/ubuntu/shogun/build/CMakeFiles/CMakeOutput.log".
See also "/home/ubuntu/shogun/build/CMakeFiles/CMakeError.log".
make: *** [Makefile:3860: cmake_check_build_system] Error 1
Out of which, I believe, only the bold lines are problematic. I am able to import NumPy perfectly fine, but there's still this error. I tried googling it, but with no success. Can you please help me?

@pandeyanuradha If you need python interfaces, you need the python-dev python-numpy packages on Debian/Ubuntu.

@pandeyanuradha If you need python interfaces, you need the python-dev python-numpy packages on Debian/Ubuntu.

Hey @UmarJ , there was a problem with the anaconda environment that I was using, and I was able to fix that issue. But now when I am trying to compile the .py files, this is the error that I am getting:
AttributeError: module 'shogun' has no attribute 'read_csv'
Any idea what's wrong?

Hey @UmarJ , there was a problem with the anaconda environment that I was using, and I was able to fix that issue. But now when I am trying to compile the .py files, this is the error that I am getting:
AttributeError: module 'shogun' has no attribute 'read_csv'
Any idea what's wrong?

@pandeyanuradha No idea, I only built the C++ interface.

@pandeyanuradha No idea, I only built the C++ interface.

@pandeyanuradha how did you get it to build?  I'm running into the same issue with the file from eigen bitbucket not existing.

@deto Nope, I couldn't fix it. Unfortunately, this thread became very inactive. You can try degrading your version of Ubuntu from 20.04 to 18.04, that seems like the only feasible option to me.

I don't know how the Ubuntu version would fix this, though, as the file that the build script tries to download just doesn't exist at that bitbucket location anymore.
I ended up using a conda environment to get it to build.  Had to make a separate environment as there are only conda packages for python 3.6 or lower but then it worked fine.


Lightpack + Hyperion Not Powering LED's

Hi,
I've recently setup Hyperion on my Raspberry Pi Model B+, everything appears to be set up correctly, the Lightpack is plugged in to the Pi, and the blue strip on the box is lit up.
If I try to run the comand:
/storage/hyperion//bin/hyperion-remote.sh --priority 50 --color red --duration 5000

I get the following output:
Connected to localhost:19444
Set color to 255 0 0

This is my config:
"device" :
	{
		"name"       : "MyPi",
		"type"       : "lightpack",
		"output"     : "95330313939351B0B1A1",
		"rate"       : 250000,
		"colorOrder" : "rgb"
	},

However, none of the LED's actually light up. Just wondering if anyone else has had this problem?

how did you install ?
The install script downloads a really old build.

I installed by running:
curl -L --output install_hyperion.sh --get https://raw.githubusercontent.com/tvdzwan/hyperion/master/bin/install_hyperion.sh
sh ./install_hyperion.sh

However, I've just formatted my device and installed Rasbian. What would be the best method to install?

#436

Should be solved. If not just open a new one.
Thank you
Closed


Migrating SwiftClient sample to Swift4

It was pretty straight forward...

Thanks @zaxy78 - this is super awesome! 💪 🚀
I'm going to have @michaelperel and @anderm take a look at this and we'll work to get this merged in!

Looks great to me -- tested on iPhone X!

Awesome, thanks for validating @michaelperel
Let's get this merged - thanks again @zaxy78! :shipit: 🚀 🥇


Add #[flatten] directive for derivation of nested structs

Given the structs like:
struct Common {
  field_a: String,
  field_b: String,
  field_c: String
}

#[derive(Encode)]
struct Metric1 {
  unique_field: String
  #[flatten]
  common: Common
}

#[derive(Encode)]
struct Metric2 {
  unique_field_2: String
  #[serde(flatten)]
  common: Common
}

I want the resulting metrics:
metric1{field_a="foo", field_b="bar", field_c="baz",unique_field="something"}
metric2{field_a="foo", field_b="bar", field_c="baz",unique_field_2="something_else"}

(Note: in real world Common and the number of metrics are  much larger)
This would match the semantics of serde(flatten)
See https://github.com/prometheus/client_rust/pull/105#issuecomment-1340337044 for more discussion

I have had that same use-case in rust-libp2p before. I am in favor of adding this to prometheus-client-derive-encode.
I foresee having the capacity to implement this any time soon. Focusing all my capacity on #74. @howardjohn are you interested in making the contribution?

@mxinden I sent a PR in https://github.com/prometheus/client_rust/pull/118. it might need some improvements but it works in the basic case right now, at least.


Security analysis

Could you add security analysis feature?
I mean
1 group the apps with the same public key (for example, the f-droid one) and show warnings if large amount of apps have the same pk
2 show warnings about the apps whoose signature is weak due either weak hash function (for example, md5 or sha1) or weak trapdoor function (for example rsa-1024)
3 heuristically detect overpermissioned apps
4 check packages on virustotal

This is not the purpose of the app, sorry.


Overlap between traffic signs and detected objects

Description
Mapillary detected objects overlap with detected objects
Screenshots

Version
2.4.0-pre.0
What browser are you seeing the problem on? What version are you running?
Chrome v128.0
The OS you're using
mac
Steps to reproduce

go to 37.578070, -122.047300
turn on both detected objects and traffic signs
toggle traffic signs

The browser URL at the time you encountered the bug
https://rapideditor.org/canary#map=21.45/37.57804/-122.04730&background=Bing&datasets=fbRoads,msBuildings&disable_features=boundaries&photo_overlay=mapillary,mapillary-signs
The auto-detected useragent string for your browser (leave blank if you're manually filling this form out)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

thanks!  yes this is also #1538


Supporting Intellij 2022.2

supporting intellij version 2022.2
running gradle intellij plugin with platform version 2022.2

Thanks a lot for the PR @markusmueller! I rebased your branch to capture changes made by @chachako and removed your edits to the changelog -- that should be automatically published when the new version is released. Let's let this go through CI and I'll test locally to make sure things still work as expected, then we can roll this out.

Thanks for merging @ragurney and sorry for the duplicate PR, should have checked open PRs beforehand. Looking forward to the new release :-)


ERROR	controller.provisioning	Could not launch node, launching instances, creating fleet UnauthorizedOperation: You are not authorized to perform this operation. Encoded authorization failure message

Version

Karpenter: v0.7.1

Kubernetes: v1.20.11-eks
Expected Behavior
Karpeneter Provisioner needs to launch the nodes
Actual Behavior
Nodes are not getting launched and throwing below error
ERROR	controller.provisioning	Could not launch node, launching instances, creating fleet UnauthorizedOperation: You are not authorized to perform this operation. Encoded authorization failure message
Steps to Reproduce the Problem
Followed Below Documentation
https://karpenter.sh/v0.7.1/getting-started/getting-started-with-eksctl/
Resource Specs and Logs
2022-03-17T20:10:26.710Z	DEBUG	controller.provisioning	Excluding instance type m6gd.medium because there are not enough resources for daemons	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.711Z	DEBUG	controller.provisioning	Excluding instance type t3.micro because there are not enough resources for daemons	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.712Z	DEBUG	controller.provisioning	Excluding instance type t3a.micro because there are not enough resources for daemons	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.713Z	DEBUG	controller.provisioning	Excluding instance type m6g.medium because there are not enough resources for daemons	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.714Z	DEBUG	controller.provisioning	Excluding instance type r6g.medium because there are not enough resources for daemons	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.727Z	DEBUG	controller.provisioning	Excluding instance type t4g.nano because there are not enough resources for kubelet and system overhead	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.729Z	DEBUG	controller.provisioning	Excluding instance type t3.nano because there are not enough resources for kubelet and system overhead	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.732Z	DEBUG	controller.provisioning	Excluding instance type g4ad.2xlarge because there are not enough resources for daemons	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.734Z	DEBUG	controller.provisioning	Excluding instance type g4ad.xlarge because there are not enough resources for daemons	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.734Z	DEBUG	controller.provisioning	Excluding instance type a1.medium because there are not enough resources for daemons	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:26.734Z	DEBUG	controller.provisioning	Excluding instance type c6gd.medium because there are not enough resources for daemons	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:27.006Z	INFO	controller.provisioning	Computed packing of 7 node(s) for 889 pod(s) with instance type option(s) [c6i.32xlarge m6i.32xlarge r6i.32xlarge]	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:27.006Z	INFO	controller.provisioning	Computed packing of 1 node(s) for 57 pod(s) with instance type option(s) [c6gd.16xlarge c6gn.16xlarge c6g.16xlarge c5a.16xlarge c6i.16xlarge c5ad.16xlarge m5ad.16xlarge m5a.16xlarge m5d.16xlarge m5dn.16xlarge m6gd.16xlarge m5.16xlarge m6i.16xlarge m6g.16xlarge m5n.16xlarge g3.16xlarge r4.16xlarge]	{"commit": "4b14787", "provisioner": "default"}
2022-03-17T20:10:27.156Z	ERROR	controller.provisioning	Could not launch node, launching instances, creating fleet UnauthorizedOperation: You are not authorized to perform this operation. Encoded authorization failure message:

Seems like an access issue, is there following encoded message you can paste?
Let's verify that Creating the IAM step was done successfully. If it ran successfully you should have a CloudFormation Stack named "Karpenter-${CLUSTER_NAME}". Find that CL In the AWS console. Under its resources you should be able to see the IAM role, IAM Policy and IAM InstanceProfile, verify that they exist.
You can also verify that they exist by re-running the same step, you should expect an error if they do exist.

IAM Steps looks fine and can see both Role and Policy and also looks fine on Aws Auth ConfigMap.Here is the encoded Message.
0l-KPWQJ8q5z3YatP3Ybgb5lf0dibDhN6KaE3jQ5Bu4hNkP1BxfK_Ou0od0P3xrofimLgvlM48imjT5fahAkH-Yxaqlb-vKvW88NfrdIqV95DlZXwL1pbJpxtlXuLINfxlcTcSaBgzySPOrxL8gIFPT9gUsHGCdOOrO9rF2lOADanf9PZmDFcccfGnbVui9G-E0R1_BFSxmgS36ieP67YbFsf65PD9ihfPeEzyCyWSIsZ9CZNk8FFzJoSgMQFjDrC5zMc8nMdc0Reop5uLoYDa0TytZJaRjNVZmYOvwxQOBrrIAB4MYzrVCaTZzNapaqhZDhx-4pgKtnZuYvh5PdARl3h6T07eKmfaVrJoWCsraYtjLds6Qty6E1SjLmTNYqJMwwwcCKEOf7IWLrLgbVmvol80lNgfoQ5wCObx4_UEQfckOlj4CXNXygR8tN4pSeRVHFA3FySV014Drn-T86ls3vBKmU8PDjNf3wlS6oYvaqSGT33f_Aw_IAi_rySjQ-eCEGNWEL1DBkHrc61QDyLBHZA3Ngs_u6AGr932A-MSm5O9t2L-GV8uuk3WV-T5SiL0ds125SsiIzahh6wJ1LaFhC-aGEowiw50QhqMH-F9xSirbjowoi_U-q6-SV-bLOZwtLYEw52Z5Dx6iX0hGzTp2_KUO2yhmHViYrKhecC5MJoFDD9Vm0OOtep06fClxXsgYlRipFOcSxd5SEj5A5QT0nHei36oKhfwUe5ZAv_Iyo4yLE0Uo6yONieEGzW4PyJxmLTHcDOGErjULd4lZqL_s6hjL0QbSBcFWRY11tMB4RvDj4mT2OGJGus0JYYtcKv-705M9_dFeOGJ411SSlEPWIDx1oMNTkuJ_X-hSOIecF1Wx0o_nihy5qIHQ2dfcxeY1Yba4NWGyM_0X7_8cTR1mex7h2Uyd5lLAMBLd4ifcwiuBxNChnS3jRF1CWEM6dJi-BQvvoXDBzKbtNpHvC6goc_zTe1dDQtL-uR2vxZXg799ZoyYhJ6ks2Ef6XxHIOEGDGG_zQQiBzdBrtY10DPn5mQ9bij48IRFGMJebalFSOMr6DqUu1gPuX3uQ2q_gevUx2-UYEUCDQV_KBnc8pObweLrTtRl-vVSdRIjne8On6wfDUCJqznfDQ1QMERqOCfivhwcAR7dzVZ3eOb3JQ4DEM8YiNVADtDAdiFOo7p3nEsf1ppF_VITWdT5A4V70avtQ7DQTEDhlz9xiqcLN-i-6Vo8U7cu7vVUqSiK7hs72LR1ZfFWkMmOnaGcyU4rvkhLMdfT53yDa3Df2KizIW-LzbOS7piTKvdpCEWR3eWyy7V8gn5iCisWmD0GKnnSH6cvRTB6xw8I0rMAozi_STSDMTp40Kq4wHzHo4zLHRThWEVpc6ndKLvXJK_IgtzN5U4AJDIAw7UaJtnNGXKwZSM_AMvvo5pW3gA6MXWDxd_SyUQ86ogMCwKmIaEAZEAKI-kqjhckRyGl5hMLjqP7ZAXmCjZOyRT-8S_PdUs5F6KmUpj_BZCRwKlgViMldVESh2Q53Ft4YiukL5tubsCEcIsOMLYFrF6oh8gylxpLw-bVDUS4azbol1MEAddOiUMRRiWaCmiFk9pM-ZI8p1-Yg7kolAvtbNknwvsCJsnf3RUMbkQk-emYyjBbFHMBF_kn_EzZmIGAiAKWw9QsKYNiovU0Br11r7a0-Ks5N2m6qhY1ed-0MzrMqUt7BT8OQpByqB8g_Lexa3mBZYjSWkGOAWUCsQRN5jM9t595VQ9ACZAPe8paiMSy0Un_L6bGc2AYW26-dCS9Omt4XMlyXyT0_5eR2J4xVKJobbQW9FKp39jXAXvA0l-reDPgtTuRFPwCbVynjoW7AYA6YAuAcIDI80um8jKQCMmoXlqnS5bWef5ehlEGZ5BQ_g9H8DCG1NawE2H5sXs8UjP5oEZfQD2eNMNv0uIEtxbxrHKokWSh3UmTTqvaoon9ixJgue69UTtCQNYzFsq0MnugCp6YaPzbbTzfpDAU3V7w8YTUOqqAYoAIcH50lQkpZX_ubvO1lSaxSNnoImDvAwlSa4PjtRi4fNFG3QcClgWn-AEU6eF2pLx25yHhljRo1kLROQaJa9ypVTwpR5qImYQTOhRUH6pf8MqSocfCyFpokPcPZNGjXrwSDjPLRgSGSJjyEm5MMA-yTvGUlZKgqgsnsRO5y4xGtERCgh6wJrlzgh3ofT1wr64s6_QhBtZOWeA-QPfmKP7nU6X7VnKHbV6PjNLvktsQ6Vu35Zsu6w9gcitWRysqDflMu6N7pCWJzxPGOC4-TYRruQbWvyWHwYGy9vqZQ_Ws1TFGCStKrOD1TucXIBfqxN2yJ3oGIFLUQOlsWKGNIfhTgokVAgIJHvuUhghrZO2Tl7SR438gbJr4lreafBjKffj13DcLtRkpOvthALmELlW8laQbRf81Ofpe394gnqzK9Ms9nravOSOdlAfC3rABauvvbJEjPNJcc2qbZC3MxKcZwJnyZbTSAzQyehNxTricy8eHTjui9IBmg2X5po9w
status code: 403

@UmamaheswarKalagotla you should be able to decode that message like described here: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-not-auth-launch/

Hello @UmamaheswarKalagotla ,
Per the note from @spring1843, would you be willing to share the IAM policy assigned to the role created in this step:  create-the-karpentercontroller-iam-role?
We should be able to take a look and determine what actions are missing, etc.
Thanks!

Just adding the Actions part.
"Action": [
"ec2:CreateLaunchTemplate",
"ec2:CreateFleet",
"ec2:RunInstances",
"ec2:CreateTags",
"iam:PassRole",
"ec2:TerminateInstances",
"ec2:DeleteLaunchTemplate",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeInstances",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeInstanceTypes",
"ec2:DescribeInstanceTypeOfferings",
"ec2:DescribeAvailabilityZones",
"ssm:GetParameter"
],

OK.  One thing I noticed in the decoded authorization message is "explicitDeny":true.  Is there a policy that could be denying access to execute any of these actions or on specific resources?

No i dont think any of the explicit deny policy was attached.I was confused with the same and was trying to figure out exactly what action was getting denied in creating those nodes.

That is strange.  None of the policies we create have explicit deny statements either, so there must a policy with a deny somewhere. Is it possible a Service Control Policy is denying permissions to the ec2:CreateFleet action, maybe?

@UmamaheswarKalagotla ,
Any updates on this issue?

Closing this out as there have been no updates for several days.  Please feel free to reopen!


issue #129 solved

Type of change
https://github.com/user-attachments/assets/c51bf482-e9d9-4b6b-9a17-e11272025331

[ ]  Bug fix (non-breaking change which fixes an issue)
[ ] Chore (refactoring code, technical debt, workflow improvements)
[X]  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 should this be tested?

[ ] Test A
[ ] Test B

Mandatory Tasks

[X] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.

@YadavAkhileshh

Do you think it's level3 worth?
I have reviewed his pull request and noticed that this is not level 3 task so please remove the level label. Please add labels fairly.
Best regards,
Leaderboard sepcialist,
Kalyani - GSSOC CORE TEAM.

@UppuluriKalyani there seems to be a problem , the code had even js involved im not sure if i pushed a wrong code or some other, issue ,if i get to know ill inform you.,

@UppuluriKalyani as you can see from the video above , the logic for the name to appear after signup can not be added with 2 extra empty spaces.  I am new to using git and when there were many conflicts i tried resolving them, maybe there i had messed up smtg.
2 blank spaces is surely not the code i pushed.


Threlte in REPL not working?

This simple RepL seems to get stuck. Is there a way to run Threlte in the svelte REPL?
https://svelte.dev/repl/eda0e887f854400a9644db541645f887?version=4.1.2

Could be related: https://github.com/sveltejs/sites/issues/354

I'm sorry @michealparks I had a stab at it after a Discord chat 😬 It was in fact a circular import in core (fixed in #518), I didn't check the other packages though.

Looks like all except @threlte/theatre work: https://svelte.dev/repl/56ccf50c458c45c993d496e2f0588aff?version=4.2.0


Add support for reverse proxying sites and apps

I've been playing around with syncthing as a replacement for file changes and wanted to throw it under a reverse proxy for my needs. Also can use it for mailhog.

Can you make this work under Apache too? I don't want to have to maintain a feature that only works under one of the supported servers.

I was starting on this but after getting it to work it looks like this is already in a pull request here: https://github.com/geerlingguy/ansible-role-apache/pull/84
I committed some changes to make it so that the scripts don't freak out in case you ONLY have a proxy. It also looks like the upstream for the apache role is allowing multiple proxies per vhost.
Is there a reason why this vagrant repo has custom nginx files but not custom apache vhosts? Just wanted to be sure since the nginx work is only in this repo at the moment.

Closing for now, as there are some conflicts, and I also want to maybe work on getting better vhost support in the upstream Nginx role instead of adding specific behaviors in here.
For now, it is possible to do some modifications to add in the proxy support manually through post-provision scripts and/or Ansible task files.


Seperate RoBERTa from BERT

Since the tokenization procedures of BERT and RoBERTa are very different (BERT applies wordpiece, while RoBERTa applies BPE), we decide to separate RoBERTa from BERT.
As a result, we have RoBERTaTokenizer for RoBERTa models and BERTTokenizer for BERT model.

But I guess the classifier & encoder implementations are basically the same? Can we somehow unify those interfaces so we don't need to write the same code twice?

But I guess the classifier & encoder implementations are basically the same? Can we somehow unify those interfaces so we don't need to write the same code twice?

If we want to reuse that part of the code, we probably should merge PretrainedBERTMixin and PretrainedRoBERTaMixin (?) Please let me know if there is a cleaner way to do this.

I'm thinking we can create RoBERTaClassifier by subclassing PretrainedRoBERTaMixin and BERTClassifier, this way the RoBERTa mixin class appears before BERT mixin in the MRO. I'm not sure if this would work, could you test?

MRO Order for RoBERTaEncoder: RoBERTaEncoder -> PretrainedRoBERTaMixin -> BERTEncoder -> EncoderBase -> PretrainedBERTMixin -> PretrainedMixin -> ModuleBase -> ABC

MRO Order for RoBERTaClassifier: RoBERTaClassifier -> PretrainedRoBERTaMixin -> BERTClassifier -> ClassifierBase -> PretrainedBERTMixin -> PretrainedMixin -> ModuleBase -> ABC

I'm thinking we can create RoBERTaClassifier by subclassing (in this order) PretrainedRoBERTaMixin and BERTClassifier, this way the RoBERTa mixin class appears before BERT mixin in the MRO. I'm not sure if this would work, could you test?

Thanks for the help!


Setup Sitemap and robots.txt

Discussed with customer today, we will create a new sitemap for /help, the entry for it goes into the original robots.txt which exists for https://www.macquarie.com.au/ and will be shared with the customer.

Sitemap added as part of commit : https://github.com/hlxsites/macquarie-help-centre/commit/b896eb05d33dc64320303f347394abafc0910f99


syntax fix. triple quoted backticks are valid markdown, but not valid python

Nice catch! Goes to show I need to set up integration testing (CI/CD), as well as use a proper IDE with PEP8 deeply integrated...
The imputation results have given me such headaches I can't resist bitching about them everywhere, so excuse the upcoming rant...
See:
https://github.com/richarddurbin/pbwt/issues/52
https://github.com/richarddurbin/pbwt/issues/51
https://github.com/brentp/cyvcf2/issues/235
https://bioinformatics.stackexchange.com/questions/18728/confusing-result-from-sanger-imputation-service-eagle-v2-4-for-phasing-pbwt-v3


Support Cross Namespace External Metrics

Context:
When retrieving metrics from namespace B and intending to scale with HPA Object in namespace A, the metrics will have a namespace label selector appended with Namespace A. This breaks the ability to scale based on metrics in a different namespace.
This PR adds support for this by adding an options field for a DiscoveryRule, allowing an operator to opt-in to this functionality, defaulting to the existing behaviour.
This PR also adds logic to avoid any 64-bit Integer overflow issues when metrics retrieved from Prometheus are of the form +Inf. When there is an overflow, the value would return math.MinInt64, which is negative. Observations are that when scaling needs to happen (Prometheus returns with an +Inf metric value) scaling would not occur as the metrics value was a negative Integer.
To provide a more deterministic outcome for when a metric value of -Inf is retrieved from Prometheus, the value math.MinInt64 will be used, rather than relying on an overflow.
Validations:
Unit tests have been added to assert that setting the DetatchFromNamespace in the options object results in the correct functionality. This has also been through reasonable acceptance testing by myself.
I have not been able to replicate a scenario where Prometheus returns with an -Inf metric value, but have been able to replicate the +Inf metric value scenario successfully.
Links:

The following link is a point of reference to the issue that this PR solves: https://github.com/DirectXMan12/k8s-prometheus-adapter/issues/195

Hi @DirectXMan12 ,
How are we looking to get this guy into master in the next couple weeks?
This feature opens up a world of possibilities from my perspective.
Regards,
Ashley

@AshMenhennett thanks a lot for the contribution. @DirectXMan12 is not working on this project any more and I took over maintenance. Please give me some time for a review.

Sure! Thanks for your work :)

Hey @s-urbaniak,
Any update on this one?
Would be a good one to get in.
Regards,
Ashley

Hi @s-urbaniak , @brancz
Can we please have your review here?

It might have been hidden, but requested another change here: https://github.com/DirectXMan12/k8s-prometheus-adapter/pull/252#discussion_r370548735


mediapipe: js current version(31st march ) required minor fix.

I can see lot of people facing this issue in recent release,
even mediapipe-dev demo also not working.
https://mediapipe.dev/demo/hands
actual problem is :
a function defined in hands_solution_wasm_bin.wasm was remapped from 393919 to 401815.
but developers forget to remap it  in hands_solution_wasm_bin.js file.

Simple Solution:

if you are using staged files( locally not from CDN), ignore this step,
replace
const hands = new Hands({locateFile: (file) => {
return https://cdn.jsdelivr.net/npm/@mediapipe/hands/${file};
}});
const hands = new Hands({locateFile: (file) => {
return ./mediapipe/hands/${file}; //your own custom path.( download all 6 files, and serves from local.)
}});

replace: ASM_CONSTS={393919  var ASM_CONSTS={401815: in file hands_solution_wasm_bin.js

I Hope mediapipe will fix this bug soon

@mhays-google  please let internal know about this.

I'm having a similar issue with @mediapipe/pose, even after upgrading to the newly released 0.2.1617147663:
core.js:6140 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'apply' of undefined
TypeError: Cannot read property 'apply' of undefined
    at _emscripten_asm_const_int (pose_solution_wasm_bin.js:9)
    at cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[7064]:0x31551c
    at cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[7063]:0x3152e2
    at cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[7062]:0x31517c
    at cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6531]:0x2e244a
    at cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6278]:0x2d2f82
    at cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6275]:0x2d1537
    at cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[6273]:0x2d105c
    at cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[514]:0xe647
    at cdn.jsdelivr.net/npm/@mediapipe/pose/pose_solution_wasm_bin.wasm:wasm-function[501]:0xd67c
    at resolvePromise (zone-evergreen.js:1213)
    at zone-evergreen.js:1120
    at e (pose.js:22)
    at ZoneDelegate.invoke (zone-evergreen.js:372)
    at Object.onInvoke (core.js:28513)
    at ZoneDelegate.invoke (zone-evergreen.js:371)
    at Zone.run (zone-evergreen.js:134)
    at zone-evergreen.js:1276
    at ZoneDelegate.invokeTask (zone-evergreen.js:406)
    at Object.onInvokeTask (core.js:28500)

Simple solution is to change Mediapipe's suggested code for loading in the files to this:
this.model = new blazepose.Pose({
      locateFile: (file: string) => {
        return `https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>      },
    });

This explicitly loads in the .wasm files from the previous version of @mediapipe/pose, which is not broken.

Simple solution is to change Mediapipe's suggested code for loading in the files to this (notice the hardcoded version number):
this.model = new blazepose.Pose({
      locateFile: (file: string) => {
        return `https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>      },
    });

This explicitly loads in the .wasm files from the previous version of @mediapipe/pose, which is not broken.

but this will switch your code to an old version of media-pipe. for latest version find var ASM_CONSTS={ in the corresponding js file, and remap it.

Simple solution is to change Mediapipe's suggested code for loading in the files to this (notice the hardcoded version number):
this.model = new blazepose.Pose({
      locateFile: (file: string) => {
        return `https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>      },
    });

This explicitly loads in the .wasm files from the previous version of @mediapipe/pose, which is not broken.

but this will switch your code to an old version of media-pipe. for latest version find var ASM_CONSTS={ in the corresponding js file, and remap it.

It will indeed use the older files, I presented it more as a temporary solution for userss whose application bricked overnight due to Google deploying the new files.

Hi @vKrypto , It's just a  caching issue. Working fine for all of us. We will let you know soon about it with any fix.

Hi @vKrypto, Could you please check the above issue as it is resolved.

As we see lack of activity on this ticket from the reporter. We are closing it. Thanks!


RFE - Log runtime-init success/failure externally

When running in AWS via a CFT or similar pipeline there is no way to know the status/failures of runtime-init, either during the boot up or if it fails. It a minimum it would be great to have the output of the runtimelog in the CFT failure.

Actually the runtime init is logged in AWS instance system log. It would be great if a snapshot of those logs could be sent to CFT if there is a failure.

Thanks for submitting this request. We are now tracking this enhancement internally with ID ESECLDTPLT-3077.

Closing due to age. Enabling this is not trivial and the Runtime-Init documentation has a good troubleshooting section.


Pointer corruption during decoding

While testing goccy/go-json (v0.4.8) as easyjson replacement with a larger project, tests in our test suite would fail unpredictably. Goccy/go-json was used only for unmarshaling. It looks like pointers get mixed up / corrupted sometimes, resulting in either invalid data, panics or errors when the GC detects pointers to released memory.
For one case I managed to write a test to reproduce the behaviour.
package main

import (
	"fmt"

	"github.com/goccy/go-json"
)

type B struct{ Int int32 }

type A struct{ B *B }

type X struct{ A []*A }

func main() {

	w1 := &X{}
	w2 := &X{}

	json.Unmarshal([]byte(`{"a": [ {"b":{"int": 42} } ] }`), w1)
	fmt.Printf("%p => %d\n", &w1.A[0].B.Int, w1.A[0].B.Int)

	json.Unmarshal([]byte(`{"a": [ {"b":{"int": 112} } ] }`), w2)
	fmt.Printf("%p => %d\n", &w1.A[0].B.Int, w1.A[0].B.Int)
	fmt.Printf("%p => %d\n", &w2.A[0].B.Int, w2.A[0].B.Int)

}

Output
x1 0xc0000ae084 => 42
x1 0xc0000ae084 => 112
x2 0xc0000ae084 => 112

All Bs seem to point to the same address but they should not. Unmarshalling the second JSON string into x2 overrides data in x1

Thank you for the great report !!! I fixed this issue with #167 .


Editor raising "unknown error" instead of excess quota error

Scenario:
1 Table with 1,2M rows
2 Quota was: 500.2 MB out of 500 used
3 Query: update solution_house_prices_full set the_geom = null
It raised: unknown error in the UI, and a Guru meditation error in Varnish, as the request was done with POST
By querying with GET, we obtained the expected error, both with v1 and v2: {"error":["Quota exceeded by 12KB"]}
-> Although the error raised, the column was indeed set to null.

Did all the rows get the column set to null or almost all of them?

I'd have to test again. I'd say that all of them, but I run the process a couple times, so maybe the first time I did it only a part of them was nulled.
Anyway, when all was already nulled, if we applied the query this was still happening.

Sorry, I clicked the wrong button :/

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Make it possible to execute LoadTest by schedule via CronJob

let's add new field in spec, like
spec:
schedule: "*/1 * * * *"

on second thought it seems like CronJob is not the best approach. Let's try to implement this feature via #17


Optimize Bundle Size and Fix issues with pnpm migration

[ ] Optimize bundle size to 5kb or max 10kb minified for each packages.
[x] Fix issues with pnpm migration.

pnpm migration completed #65


Custom Prizes Clears .yml...

Ok so I made all these custom prizes in the Galactic.yml but whenever I go to reload the plugin and open the GUI it clears all the text. So I deleted the folder, reloaded my server and customized the Galactic.yml in the creates folder. This time I saved the .yml to a different place and didn't include the custom prizes and it worked fine. But as soon as I added the custom prizes it cleared the Galactic.yml again. Great plugin btw. ;)

Here is the Galactic.yml that I modified (I want it sort of like cosmic):
Crate:
CrateType: Cosmic #Type of crate.
CrateName: 'Mythic'
StartingKeys: 1 #Starting amount of keys when the player 1st joins.
InGUI: true #If the crate shows in the /cc GUI.
Slot: 14 #Slot the item is in the GUI.
OpeningBroadCast: False #Enables/Disables the Broadcasts message when they open a crate.
BroadCast: '' #Message that is broadcasted when opening the crate.
Item: '130' #Item the crate is in the GUI
Name: '&d&lGalactic Chest' #Name of the item in the GUI.
Lore: #The lore of the item in the GUI.
- '&7This crate contains strange objects,'
- '&7from somewhere beyond this planet.'
- '&7You have &6%Keys% keys &7to open this crate with.'
- '&7&l(&e&l!&7&l) Right click to view rewards.'
PhysicalKey:
Name: '&d&lGalactic Crate &b&lKey' #Name of the Key.
Lore:
- '&7A special Key' #Lore of the Key.
- '&7For a special Crate.'
Item: '131' #The item the key is.
Glowing: True
Tiers: #The tiers in the Crate
T1:
Name: '&7T1'
Color: 7
Chance: 40
MaxRange: 100
T2:
Name: '&bT2'
Color: 3
Chance: 30
MaxRange: 100
T3:
Name: '&aT3'
Color: 5
Chance: 15
MaxRange: 100
T4:
Name: '&eT4'
Color: 4
Chance: 10
MaxRange: 100
T5:
Name: '&eT5'
Color: 1
Chance: 5
MaxRange: 100
Prizes: #All the prizes that can be gotten in the Crate.
1:
DisplayName: '&d&lGalactic Grass' #Name of the item shown by the crate.
DisplayItem: '2' #Item that is shown by the crate.
Lore: #Lore will be shown in rewards GUI.
- '&7Win some grass for your fields.'
- '&6&lChance: &c&l40%'
MaxRange: 100 #The max range that the chance will go though.
Chance: 40 #Chance of that item getting picked. It would be 40/100 chance because MaxRange is 100.
Firework: false #Firework when it is won.
Tiers: #The Tiers the rewards can be found in.
- 'Basic'
- 'UnCommon'
- 'Rare'
#Items that the player wins if this prize is picked. (If you wish not to give an Item in the prize just delete the Items Section)
#Please use these to make the item.
#Item: to decide the kind of item it is.
#Amount: the amount of that item they get.
#Name: a custom name for that item (ColorCode dose work).
#Lore: a custom lore for the item (ColorCode does work) and to make a new line in the lore use a , to split the lines.
Items:
- 'Item:2, Amount:32, Name:&d&lGalactic Grass'
#Commands are the commands that are run when this prize is won. (If you wish not to use a CMD in the prize just delete the Commands Section)
#You can use %Player% to get the player that won the prize.
Commands:
- 'broadcast &6&l%Player% &7has just won some Basic Grass.'
1T1:
DisplayName: '&e&l$100'
DisplayItem: '339'
Lore:
- '&eGood job. You got &6&l&n$100'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance: 25
Firework: True
Tiers:
- 'T1'
Commands:
- 'eco give %player% 100'
2T1:
DisplayName: '&e&l100XP'
DisplayItem: '384'
Lore:
- '&eEnchant stuff now with your &6&l&n100XP&7!'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance: 25
Firework: True
Tiers:
- 'T1'
Commands:
- 'xp give %player% 100'
3T1:
DisplayName: '&e&lDiamonds'
DisplayItem: '264'
Lore:
- '&eYou got diamonds! Congrats'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance: 25
Firework: True
Tiers:
- 'T1'
Commands:
- 'give %player% 264 3'
4T1:
DisplayName: '&e&lLost Book'
DisplayItem: '340'
Lore:
- '&eA lost book! well... now you found it!'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance: 25
Firework: True
Tiers:
- 'T1'
Commands:
- 'ce lostbook T1 1 %player%'
1T2:
DisplayName: '&e&l$500'
DisplayItem: '339'
Lore:
- '&eGood job. You got &6&l&n$500'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance: 25
Firework: True
Tiers:
- 'T2'
Commands:
- 'eco give %player% 500'
2T2:
DisplayName: '&e&l500XP'
DisplayItem: '384'
Lore:
- '&eEnchant stuff now with your &6&l&n500XP&7!'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance: 25
Firework: True
Tiers:
- 'T2'
Commands:
- 'xp give %player% 500'
3T2:
DisplayName: '&e&lDiamonds'
DisplayItem: '264'
Lore:
- '&eYou got diamonds! Congrats'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance: 20
Firework: True
Tiers:
- 'T2'
Commands:
- 'give %player% 264 5'
4T2:
DisplayName: '&e&lLost Book'
DisplayItem: '284'
Lore:
- '&eA lost book! well... now you found it!'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance: 15
Firework: True
Tiers:
- 'T2'
Commands:
- 'ce lostbook T2 1 %player%'
5T2:
DisplayName: '&e&lZombie Spawner'
DisplayItem: '284'
Lore:
- '&eA zombie spawner!'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance:5
Firework: True
Tiers:
- 'T2'
Commands:
- 'give %player% 52:54'
6T2:
DisplayName: '&e&lSkeleton Spawner'
DisplayItem: '284'
Lore:
- '&eA Skeleton Spawner!'
- '&6&lChance: &c&l20%'
MaxRange: 100
Chance: 10
Firework: True
Tiers:
- 'T2'
Commands:
- 'give %player% 52:51'

Please pastebin this. So I can check it for spacing errors.

pastebin:  http://pastebin.com/Np0gnnat

http://wiki.ess3.net/yaml/261534
U cant have the 5 up next to the :

Thanks sooooo much!


Add support for pop()

As this design mimics priority queue we need to support pop() to remove the (key,val) pair with highest or lowest val.

Done


Refactored required elements for audit logs Page

Refactored required elements for audit logs Page

Pull Request Template
Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request.

Description

Please include a summary of the changes and which issue has been fixed. Please also include relevant motivation
and context. List any dependencies that are required for this change.

Fixes #589

if no issue exists, please create an issue and ask the maintainers about this first

Type of change

Please delete options that are not relevant.

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

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

resolved  conflicts


[Feature]: Rename incognito browser contexts

Feature description
We need to remove mentions of incognito because it makes little sense in a cross-browser setting.
We have options how to name it:

keep it named BrowserContext and only remove incognito in few APIs.
rename everything to Context
rename everything to UserContext to align with WebDriver BiDi

I agree with (3), to better align with ongoing efforts and distinguish it from the old API.
@Lightning00Blade WDYT?

I agree (3) sounds like the best options considering cross-browser.

Closing as completed by the by the linked PRs.


Create a documentation item to cover "Personalising an assistant for demos"

Evolve the deployment instructions to create a new page guiding someone through cloning the repo, changing FAQ items to personalise to a customer, change intro card JSON, resource files

[ ] Clone the Repo
[ ] Change FAQ
[x] Change Intro JSON, image
[ ] Deployment
[ ] WebChat / Test Script

Is this an extension of https://github.com/Microsoft/AI/blob/master/solutions/Virtual-Assistant/docs/virtualassistant-createvirtualassistant.md? Added remote branch  rylengel/174_personalisingassistantfordemos with new documentation, maybe just link those references for cloning & deployment?


[BUG] latest lnbits v0.12.5 » lnbits-reverse-proxy.conf doesn't allow topup and restart

inspecting with browser, console:
Request URL:
https://<IP_ADDRESS>:4003/admin/api/v1/restart/
Request Method:
GET
Status Code:
307 Temporary Redirect
Referrer Policy:
strict-origin-when-cross-origin

same goes for topup function
Request URL:
https://<IP_ADDRESS>:4003/admin/api/v1/topup/
Request Method:
PUT
Status Code:
307 Temporary Redirect
Referrer Policy:
strict-origin-when-cross-origin

my research tells me it has something to do with nginx reverse proxy, I already reinstalled nginx and reused the default conf from your guide, but I have no luck getting LNbits to work, everything lese is working with the reverse proxy setup.
if I open up LNbits :5000 port and use it directly through this port, I can topup and restart and control LNbits without issues.
any help is very much appreciated

xhr, strict-origin-when-cross-origin, 307 Temporary Redirect, (blocked:mixed-content)
bundle.min.js?v=1715611579:42
https://<IP_ADDRESS>:4003/admin/api/v1/topup/

finally I fixed it, had to remove lnbits.conf from stream-enabled
and created lnbits.conf inside sites-enabled with the following content
`
server {
server_name lnbits.org;
location / {
    proxy_pass http://<IP_ADDRESS>:5000;

# Simple requests
if ($request_method ~* "(GET|POST)") {
  add_header "Access-Control-Allow-Origin"  *;
}

# Preflighted requests
if ($request_method = OPTIONS ) {
  add_header "Access-Control-Allow-Origin"  *;
  add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS, HEAD";
  add_header "Access-Control-Allow-Headers" "Authorization, Origin, X-Requested-With, Content-Type, Accept";
  return 200;
}

}
listen [::]:4003 ssl;
listen 4003 ssl;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
ssl_session_timeout 4h;
ssl_protocols TLSv1.3;
ssl_prefer_server_ciphers on;

}
`

to connect from outside this is maybe also a nice addon: https://github.com/raspibolt/raspibolt/issues/1433


Adding a relation between shapes

Hi, thanks for the great python-pptx library, good work!
I'm wondering how to add a relation between shapes.
I'm doing a basic slide.shapes.add_chart() and it works nice, and I needed to add a caption in this chart, so I added a slide.shapes.add_textbox() and it works nice too.  But I'd like the text box to be included in the chart, ie add a relation from chart to textbox.  This is achieved with rel files AFAICT but can't find an API for that.  I also couldn't find a group feature, apart from the refused PR.
It seems odd that a chart caption is left unrelated to the chart itself.  Customer need to be able to copy/paste the chart and move it around as a whole.
Any idea?

This is not possible as far as I know, but a good test is to work out how to do what you want using the PowerPoint UI. If you can do it from there, it can be done with the XML (although there might not be python-pptx API support for it yet). If you can't do it from the UI, it still may be possible, but that's rare. I just don't think PowerPoint supports that particular operation.
I'm going to close this, but feel free to reopen if you need to.

Hi @scanny thanks for your answer.  I cannot reopen the issue, but would like to do so.  In fact, this issue requests to add support for relations.  I already did the manua modification in Excel and reverse-engineered the XML files.  The only difference AFAICT is the .rels file.  Can you please tell if it is technically possible to add support for this in the python-pptx library.  Any input would be appreciated, I'd be willing to implement it with some guidance.

Please describe in more detail what you did from the UI to get what you're looking for and where you are so far in replicating that in code, and I'll see if I can help explain things.

So, in PowerPoint 2010, when a chart is selected in the slide, in the Insert menu it is possible to add a text box.  This text box will be put in a file called drawings/drawing1.xml, and this file will be referenced in charts/_rels/chart1.xml.rels:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  ...
  <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes" Target="../drawings/drawing1.xml"/>
</Relationships>

The file drawings/drawing1.xml looks like this:
<?xml version="1.0"?>
<c:userShapes xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart">
  <cdr:relSizeAnchor xmlns:cdr="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing">
    <cdr:from>
      <cdr:x>0.06145</cdr:x>
      <cdr:y>0.06258</cdr:y>
    </cdr:from>
    <cdr:to>
      <cdr:x>0.31487</cdr:x>
      <cdr:y>0.23488</cdr:y>
    </cdr:to>
    <cdr:sp macro="" textlink="">
      ...
    </cdr:sp>
  </cdr:relSizeAnchor>
</c:userShapes>

AFAICT the python-pptx library has no support for those so-called chart user shapes.  I will rename the title to better reflect this.


Fix alignment of text boxes that have icons

Changing this line seems to fix #577 on firefox and not significantly disrupt it on chromium; other browsers should perhaps be tested, since the results of vertical-align seems to vary by browser.

This line didn't modify Chrome for me, but broke Firefox. Adding the vertical-align: middle; that I did seems to make it work fine in Firefox.


Error in interpolate_text when value contains 0[

Rasa version:
1.3.4
Rasa X version (if used & relevant):
Python version:
3.7
Operating system (windows, osx, ...):
Windows
Issue:
Rasa fails to interpolate a template when one of the values contains a 0[. The code that triggers the error is here:
https://github.com/RasaHQ/rasa/blob/master/rasa/core/nlg/interpolator.py#L19
My response contains an a string np0[0...n] in one of the values (the {result} placeholder in the traceback below). All values are inserted correctly into the template, so the additional template.format({}) fails and triggers the except. Even the error message is wrong, as Rasa complains a missing value but inserted all values happily before. So the traceback below shows a wrong error, but at least the correct line.
Error (including full traceback):
2019-10-02 10:26:32 ERROR    rasa.core.nlg.interpolator  - Failed to fill utterance template 'Top {number_of_results} {documents} zum Thema {topic}:
{result}'. Tried to replace 'number_of_results' but could not find a value for it. There is no slot with this name nor did you pass the value explicitly when calling the template. Return template without filling the template.
Traceback (most recent call last):
  File "c:\users\z003y0rv\projects\code.siemens\ai4am-chatbot\venv\lib\site-packages\rasa\core\nlg\interpolator.py", line 25, in interpolate_text
    return template.format({})
KeyError: 'number_of_results'

Thanks for raising this issue, @msamogh will get back to you about it soon✨
Please also check out the docs and the forum in case your issue was raised there too 🤗

I ran this and didn't get any errors.
>>> template = 'Top {number_of_results} {documents} zum Thema {topic}: {result}'
>>> template = re.sub(r"{([^\n{}]+?)}", r"{0[\1]}", template)
>>> template
'Top {0[number_of_results]} {0[documents]} zum Thema {0[topic]}: {0[result]}'
>>> text = template.format({'number_of_results': 2, 'documents': 'x', 'topic': 'y', 'result': 'np0[0...n]'})
>>> text
'Top 2 x zum Thema y: np0[0...n]'
>>> text.format({})
'Top 2 x zum Thema y: np0[0...n]'

Could you also post the values of the others slots?

Oh interesting... I have to check on another computer, I have no access atm, will get back to you next week.

@pbouda were you able to get past this issue?

At the moment I do not have access to the code of the project unfortunately. Before I got passed the issue by replacing all 0[ in my texts, though. I will get back to the project later this month and try to reproduce, then I can compare check all the slots and see why the error occurs exactly.

@msamogh I could reproduce, and the code in interpolator.py triggers the KeyError because it calls template.format({}) not text.format({}) as in your example:
>>> template = 'Top {number_of_results} {documents} zum Thema {topic}: {result}'
>>> template.format({})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'number_of_results'

So as soon as there is a 0[ in the filled in template the error occurs.

Got it, would you be able to create a PR for the fix?

I could do, but I am not sure what the best behaviour would be here. There will be a trade-off, as soon as there is for example double curly braces in the template and 0[ in some value that was replaced. As a quick fix I would just remove the full if block which makes the problem with double curly braces at least visible and does not throw an error with [0 values. But that would result in non-backwards-compatible behaviour, so it's not just a fix...


Error: No useable method found in ["native","idb","localstorage"]

Hi, I'm using React Native (0.68.0), when I tried to create an instance of NhostClient I got the following error:
Error: No useable method found in ["native","idb","localstorage"]
  const nhost = new NhostClient({
    backendUrl: 'https://test.nhost.run',
    clientStorageType: "react-native",
    clientStorage: AsyncStorage,
  });

I have this same issue and error message.  In App.jsx of my RN app passing AsyncStorage

I have tried in react native 0.66.2 and 0.68.1 and i also have this problem.

Hello,
I couldn't reproduce with the latest @nhost/nhost-js version when using ExpoJs and RN 0.66.2. Could you tell more about your environment?
Here is a repo that works, would you mind having a look at it and tell what is different in your setup?
Thanks

Hi! I have tried to update all the nhost dependencies and this problem was gone. You can close this issue.


Layers unable to handle multiple click when using Popup

Description
Layers were not interactive properly when using React-map-gl's Popup by MapContext. It unable to handle multiple click on deck's layer.
Repro Steps
With out MapContext I able to gather number of click though layer interactive's ev > tabCount object, but it does not work when I apply MapContext into deck component.
export default class MapWithContext extends Component {
  render() {
    const layer = [
      new GridCellLayer({
        id: 'grid-layer',
        data,
        pickable: true,
        extruded: false,
        cellSize: 250,
        coverage: 0.95,
        opacity: 0.1,
        getPosition: d => d.coordinates,
        onClick: (info, ev) => console.log(ev),
      })
    ]

    return (
      <DeckGL
        ContextProvider={MapContext.Provider}
        initialViewState={initialViewState}
        controller={{doubleClickZoom: false}}
        layers={layer}
      >
        <StaticMap
          key="baseMap"
          mapboxApiAccessToken={MAPBOX_TOKEN}
        />
        <Popup
          key="popup"
          longitude={-122.3985}
          latitude={37.702}
        >
          popup
        </Popup>
      </DeckGL>
    );
  }
}

Environment (please complete the following information):

Framework Version<EMAIL_ADDRESS>Browser Version: Chrome 79.0
OS: OSX

Logs

This should be fixed in the latest react-map-gl. You need to remove your yarn.lock and reinstall dependencies.

@Pessimistress It is working now, thank you for your help.


You already looked up this name recently

This seems like nonsense, why is it so when looking up usernames?

its because of the hypixel API ratelimit thing on username, a simple fix would be by implementing the mojang API and then taking the UUID from their and then using the hypixel api.

i dont even see a username lookup in https://api.hypixel.net

instead of doing &uuid={uuid} when checking a player's stats, do &player=

wait I just checked, it used to support checking stats by player names, but now it doesnt?


Add Fixture usage for Tufts

I have  created a simple fixture repo with uploaded data.
As we discussed it has xml files from tufts service and a simple Class for additional convertions for xml to be similiar as window.fetch or axios do.
https://github.com/alpheios-project/fixtures
And I have made less changes to ClientAdapters - if we pass sourceData to Adapter - then it would use it instead of request to remote service.
And I updated tests to use fixture (where it is possible by its sense)
@balmas and @kirlat , I would be glad to get your feedback to my approach.
If you approve it - I could

update tests in inflections and go further with refactor inflections
or
continue with adding fixtures to other adapters

@balmas, what should I do next (if you approve it of course :) )
@kirlat, plz tell me when I could merge it to master (if it would be approved of course), should I wait for the moment you will finish with chinese?

Pull Request Test Coverage Report for Build 276

9 of 10 (90.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.08%) to 84.991%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/adapters/tufts/adapter.js
9
10
90.0%

Files with Coverage Reduction
New Missed Lines
%

src/adapters/lexicons/adapter.js
1
89.6%

Totals

Change from base Build 269:
-0.08%

Covered Lines:
2754

Relevant Lines:
3102

💛  - Coveralls

plz tell me when I could merge it to master (if it would be approved of course), should I wait for the moment you will finish with chinese?

@irina060981 please merge it whenever you like; it will create no problem for me.

ok - then I will go ahead and merge it


Starting COTA refinement with only one concept is not prohibited

As seen in the title. If a user tries to run the cota refinement process with only one concept, the pipeline fails in the finetune_st and throws an index out of bounds. For the refinement at least two concepts are needed. The user should be aware of this and stopped from starting a refinement job with only one concept.

fixed here https://github.com/uhh-lt/dats/commit/f7615d057e2cc4e0883c68c547eb83b545003215


Formatter

Codecov Report

Merging #856 (d58cc75) into main (ae735ad) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #856      +/-   ##
==========================================
+ Coverage   81.77%   81.78%   +0.01%
==========================================
  Files         363      364       +1
  Lines       34150    34156       +6
==========================================
+ Hits        27925    27934       +9
+ Misses       6225     6222       -3

Impacted Files
Coverage Δ

lib/format/src/lib.rs
100.00% <100.00%> (ø)

lib/hir/src/analysis/try_operation_validator.rs
85.20% <0.00%> (+0.76%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ae735ad...d58cc75. Read the comment docs.


SuppressUseValidationProblemDetailsForInvalidModelStateResponses not working

Describe the bug
I am unsure if defaulting to Problem Details is a safe choice right now. After upgrading to 2.2, some of my tests failed because my http client was unable to handle "application/problem+json" (it works fine with "application/json" responses). It is trivial to fix my client, but this made me think if it's wise to change this behavior now since it may cause troubles to existing clients out in the wild (Bonus Question: any considerations on this?).
So I've tried to disable the behavior but keep 2.2 features in this way:
services.AddMvc()
	.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
	.ConfigureApiBehaviorOptions(options =>
	{
		options.SuppressUseValidationProblemDetailsForInvalidModelStateResponses = true;
	})
	.AddJsonOptions(options =>
	{
		options.SerializerSettings.ContractResolver = new DefaultContractResolver();
		options.SerializerSettings.Converters.Add(new StringEnumConverter());
	});

This is also explained in the official documentation here, but nothing changes. Setting the flag does nothing regarding handling of 4xx responses.
To Reproduce

Create a new default ASP NET Core 2.2 API project from VS2017
In startup.cs add to AddMvc():

	.ConfigureApiBehaviorOptions(options =>
	{
		options.SuppressUseValidationProblemDetailsForInvalidModelStateResponses = true;
	})

Make a POST request to /api/values endpoint with some invalid json

Expected behavior
Should return a the old json validation error format with "application/json" as content type.
Additional context
.NET Core SDK (reflecting any global.json):
 Version:   2.2.100
 Commit:    b9f2fa0ca8

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.2.100\

Host (useful for support):
  Version: 2.2.0
  Commit:  1249f08fed

.NET Core SDKs installed:
  1.1.10 [C:\Program Files\dotnet\sdk]
  1.1.11 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.302 [C:\Program Files\dotnet\sdk]
  2.1.400 [C:\Program Files\dotnet\sdk]
  2.1.401 [C:\Program Files\dotnet\sdk]
  2.1.402 [C:\Program Files\dotnet\sdk]
  2.1.403 [C:\Program Files\dotnet\sdk]
  2.1.500 [C:\Program Files\dotnet\sdk]
  2.1.502 [C:\Program Files\dotnet\sdk]
  2.2.100 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.0.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.3-servicing-26724-03 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

Thanks for contacting us, @bragma.
@pranavkm, can you please look into this when you'll get time? Thanks!

@bragma, looks like a bug. The actual switch is incorrectly mapped to SuppressMapClientErrors. Changing to it should get you the expected behavior, but would also turn off the filter that converts error status codes to problem details.
@mkArtakMSFT  the flag is no longer present in 3.0, so we need to determine if this meets the 2.2 patch bar.

@pranavkm And about json javascript camelcase json keys?

context

may I know where does that context came from ? I trying to fix this problem also in my .Net Core 2.2 webapi

may I know where does that context came from ? I trying to fix this problem also in my .Net Core 2.2 webapi

A bit late but for anyone else that might read this post like I did, that's the ActionContext parameter, you could also make the response body even less chatty if that's preferred.
services.AddMvc()
    .SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
    .ConfigureApiBehaviorOptions(options =>
    {
        options.InvalidModelStateResponseFactory = context =>
        {
            var result = new BadRequestObjectResult(context.ModelState
                .SelectMany(m => m.Value.Errors)
                .Select(m => m.ErrorMessage)
                .ToList());

            result.ContentTypes.Add(MediaTypeNames.Application.Json);

            return result;
        };
    });

The LINQ stuff could be put in an extension public static List<string> GetErrorMessages(this ModelStateDictionary modelStateDictionary) to just do context.ModelState.GetErrorMessages();


System.MissingMethodException: Methode nicht gefunden: "Void Community.VisualStudio.Toolkit.BaseCommand`1..ctor()"

Last week I had to repair my VS2019 to fix some issues, now I reinstalled some extension from what I thought I had installed and now I get an error with your extension:
SetSite failed for package [TweaksterPackage]Source: 'mscorlib' Description: Exception has been thrown by the target of an invocation.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: Methode nicht gefunden: "Void Community.VisualStudio.Toolkit.BaseCommand`1..ctor()".
at Tweakster.ResetZoomLevel..ctor() --- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance[T]() at Community.VisualStudio.Toolkit.BaseCommand`1.<InitializeAsync>d__12.MoveNext() --- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Tweakster.TweaksterPackage.<InitializeAsync>d__0.MoveNext() in C:\projects\tweakster\src\TweaksterPackage.cs:line 33 --- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Shell.AsyncPackage.<>c__DisplayClass20_0.<<Microsoft-VisualStudio-Shell-Interop-IAsyncLoadablePackageInitialize-Initialize>b__1>d.MoveNext() --- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.JoinableTask.<JoinAsync>d__70.MoveNext() --- End of stack trace from previous location where exception was thrown ---
at Microsoft.VisualStudio.Services.VsTask.RethrowException(AggregateException e)
at Microsoft.VisualStudio.Services.VsTask.InternalGetResult(Boolean ignoreUIThreadCheck)
at Microsoft.VisualStudio.Services.VsTask.GetResult()System.MissingMethodException: Methode nicht gefunden: "Void Community.VisualStudio.Toolkit.BaseCommand`1..ctor()". at Tweakster.ResetZoomLevel..ctor()

Ok, I can see that I have 3 different file versions of Community.VisualStudio.Toolkit.dll used by 3 different extensions.

1 is from your KnownMonikers Explorer (.71), 1 from Tweakster (.75.25) and 1 from Extensibility Logs (.75.5) made by @yannduran .
Welcome to DLL hell

ok, the linked issue is marked as closed. Can you please release a new version so that I can test it?


The minSdkVersion bump to 26 is not needed, it restricts plugin usage

The commit responsible for this https://github.com/tjarvstrand/flutter_timezone/commit/53e8462a23fc8bc5a644ecb33594738cd8c77826 references a page https://developer.android.com/reference/java/time/ZoneId. I see that ZoneId is added in SDK 26, but the usage of it should be optional. 26 min SDK level is too high.

I think the version bump is a mistake! If you look at the FlutterTimezonePlugin.kt then both calls to ZoneId are properly guarded by if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O):

https://github.com/tjarvstrand/flutter_timezone/blob/c46b11cda9d9a444ad47142745e4789da4c9fd30/android/src/main/kotlin/net/wolverinebeach/flutter_timezone/FlutterTimezonePlugin.kt#L48
https://github.com/tjarvstrand/flutter_timezone/blob/c46b11cda9d9a444ad47142745e4789da4c9fd30/android/src/main/kotlin/net/wolverinebeach/flutter_timezone/FlutterTimezonePlugin.kt#L56

I understand that some build tools may complain about either deprecated API calls or some other API calls (haven't remember seeing the latter) but it's not uncommon with native feature plugins to branch based on SDK level. I have users with devices with less than SDK level 26, and excluding them unnecessarily is not good (this is why the SD level based branch is there the first place).

Ah, yes. You're totally right. I jumped too fast on that one.

1.0.4 is out now


Added BookNodeModel support for advancedTests

SUPPORTED IN JSON but not currently tested for pass/fail during testing e.g. below - see DJG doc suggestion
{
"name": "Hello world",
"tests": [
{
"in": "",
"out": "hello world"
}
],
"advancedTests": [
{
"in": ["hello", "5"],
"out":[
{"typ":"+", "match":"hello", "ignore":"c", "multi":"5"},
{"typ":"-", "match":"hello", "ignore":"c", "multi":"6"}
]
}
]
}

cherry picked changes to https://github.com/gdenes355/python-frontend/pull/23
Closing this PR in favour of the union type implementation


reloc: increment relocatable package version

This is needed for moving unified package contents to sub-directory.
This package itself has no change.

@syuu1228 is this still needed ?


Options Menu Invert Y Toggles V-Sync

The signal is hooked up to v sync

Nice catch, gonna fix that with the next version.

Fixed in 202402.02.


webhooks: fix AdmissionReview responses

What this PR does / why we need it:
AdmissionReview responses from Validating/Mutating webhooks are not well-formed as they do not include apiVersion and Kind, this commit fixes it.
For reference:

https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#response
https://github.com/kubernetes/kubernetes/issues/85681

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/retest

/retest

@acardace the build results indicate that you should run make and commit the diff. Nice catch. Did you see this failing somewhere?

@rmohr sorry I kinda assumed it was the CI failing because on the first 2 runs I got memory allocation errors..I'll fix it, thanks!
About the PR itself yes I did see the failure while working on https://github.com/kubevirt/kubevirt/pull/5240, in the Kubevirt downgrade func test if you post the webhook as a v1 but still accept v1beta1 as a response ('AdmissionReviewVersions` field) k8s fails in calling the webhook because it at least expects an APIVersion to be specified, that should not happen of course.

@rmohr sorry I kinda assumed it was the CI failing because on the first 2 runs I got memory allocation errors..I'll fix it, thanks!

Ah. That one should be resolved now.

About the PR itself yes I did see the failure while working on #5240, in the Kubevirt downgrade func test if you post the webhook as a v1 but still accept v1beta1 as a response ('AdmissionReviewVersions` field) k8s fails in calling the webhook because it at least expects an APIVersion to be specified, that should not happen of course.

Makes sense. Thanks.

/approve

/test pull-kubevirt-e2e-k8s-1.17-rook-ceph

/approve


[1.16] Enchantment Applicator enchant level

When applying an enchant from a book and the book is over level III it applies a level III version of the enchant.  I've tried applying a second III enchant to see if it would level up but it also applied a level III enchant.
Applying these enchants with an anvil will apply the books normally.
This happened in my Enigmatica 6 (0.5.11, world crashes if i try start it to check the IF version) world maybe 3 weeks ago  but that world is a little glitchy so thought it was that but its also happening in my Ragnamod VI world now too.
IF Version: <IP_ADDRESS> (Ragnamod VI 6.0.22)
Titanium: <IP_ADDRESS>

That is a config that E6 enabled