feat: Ion tabs without history

Type: feat
Platform: all
Now iontabs controll history of Your app which is great for tabbased app.
But I want to use iontabs on specific views (I have normal side menu for navigation). Problem is that iontabs messes with history. Can You add option to turn off history handling by iontabs?
PS. I know You can use tab classes but iontabs have few great options like os positioning or transcluded views...

how do i go to dash from a click on a popup window from another tab?

Hey @piernik, we're not going to be adding new features like this to Ionic while we work towards a stable 1.0 release. I'm not sure there's enough demand for something in between ion-tabs as is, and just using CSS classes directly, but I'm happy to be proven wrong.  I've added this to our feature request Trello board.  If it gets enough upvotes we'll consider it for post 1.0.

for me this is some kind of mandatory since I don't even know when you really wanted to have navigation history of tabbing rather than not having it. history inside the tab yes but I'd guess for many people the history of the tabbing is more annoying than if you would not have any history of the tab browsing.
or in other words: i think it's more annoying for many people that tab browsing creates history than they would miss it if you couldn't have this. Since I guess most of you or really many are apple people, you won't even have noticed this issue because of the lack of a back button on apple devices and because ionic hides the back button in the nav bar and unfortunately gives no option to show it again.
So for apple it just doesn't matter because you cannot use it or in other words don't have to worry about it but in android the wohle navigation stack is very annoying some times (had trouble that you can't go back to login again after login or to the app overview after login through the hw back button)


Add docker image for test tooling

Is your feature request related to a problem? Please describe.
Currently it is hard to populate the test environment with development data because the prod image that is used there does not provide the necessary Python dependency lorem (which is not needed in production). The dev app image cannot be used because it does not have support for the fully locked down Vault of the test environment.
Describe the solution you'd like
I would like to have a tool image for the test environment that populates the database. Ideally the image would start up, run the migrate and devdata management commands and stop.
Describe alternatives you've considered
I tried the dev app image -> Vault problems
I tried the prod app image -> no lorem dependency
Additional context

Maybe this could be integrated with the docker-compose.tools.yml containing the backup service which is currently not fit for production either because it uses the hard coded local development password

I decided to just include lorem in the prod image after a short chat with Stefan.


It's unfortunate that Turbo overloads the concept of "action", is it too late to rename "Turbo actions"?

Multiple times now as I'm helping a Rails developer make sense of Hotwire, I've seen them get tripped up on the "update" and "replace" actions of Turbo. One of the core reasons is because these are called "actions" but they have nothing to do with controller actions, this is referring to how the browser history is changing. But in the same view you can have <form action="..." right near a <a link=".." data-turbo-action="... so we're referring to actions quite a lot.
As we are discussing and reasoning about an application, it's unfortunate that the word "action" now means two very different things. We end up using this word a lot. What is another concept which subsumes the three Turbo advance, replace, restore? We already use method to refer to get vs post. Maybe "Turbo transitions" so data-turbo-transition="replace". Possible other words: Turbo behavior, Turbo procedure, Turbo operation, ...
It's probably too late to change this, but I thought it was at least worth bringing up before Rails 8 if finished. It's unfortunate how much confusion I see this causing with new developers.

Yeah, some words like that, same with object or record, is used for many different things. But the ship has sailed on naming. Not going to change this now.


Remove vulnerable package

🎉 Snyk hasn't found any issues so far.
✅ security/snyk check is completed. No issues were found. (View Details)
✅ license/snyk check is completed. No issues were found. (View Details)


Multiple CollisionShapes pass through HeightMapShape

Jolt 0.13
Terrain3D 0.9.3
Godot 4.3, 4.4dev3
I just tried the latest version of Jolt w/ Terrain3D and found that our player configuration with two collision shapes doesn't work reliably. It works fine with Godot physics and older versions of Jolt. I've had two others confirm this on their systems.
Player construction has a SeparationRay to allow the character to smoothly float over the ground bumps. The chest is a capsule to prevent the player from passing through walls.

With this configuration in Jolt, the player has no issue with the ground and cannot push through it. However, it takes only a minor amount of speed to punch through a wall of the HeightMapShape. The capsule shape is supposed to prevent that but is failing with minor resistance. If the Separation ray is disabled, so only the capsule shape is active, it works properly and I can't get it to pass through the HeightMapShape.

Here is the player code:
https://github.com/TokisanGames/Terrain3D/blob/main/project/demo/src/Player.gd
To Reproduce:

Install Jolt 0.13.
Install Terrain3D from the asset lib.
Run the demo.
In the first valley run from one side to the other and the player will pop through. There are other walls throughout the demo the player can run through with only moderate speed.
Edit the player and disable CollisionShapeRay, and repeat the experiment.

To see debug collision, enable it in the godot menu, and enable Terrain3D / Collision / Collision Mode = Full / Editor.

This looks to be a duplicate of #945, which was fixed in #949, but I haven't cut a new release with the fix yet.
You can work around this for the time being by disabling the physics/jolt_3d/collisions/use_enhanced_internal_edge_removal project setting.
This manifestation of the issue looks pretty bad though. I'll see if I can finally take the time this weekend to cut a new release. I've been pushing it in front of me for way too long now.

The fix for this can now be found in the newly released 0.14.0-stable.
Note that the release on Godot Asset Library is still pending approval, so you might need to download it from GitHub for the time being.

Thanks!


✨ Improve heart animation

📜 Description
It takes a few seconds to display the heart animation after the icon is clicked
👟 Reproduction steps

Log in to your AltCamp account
Click on the heart icon for a post/question/comment

👍 Expected behavior
The expected behaviour is for the icon to immediately toggle. Go from outline to filled or filled to outline.
👎 Actual Behavior with Screenshots
hearting-and-unhearting-posts
📃 Provide any additional context for the issue
Clicking the icon sends a request to the backend. It seems like the icon changes only after a successful response is received from the backend.
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find a similar issue

🏢 Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

Are you willing to submit PR?
None

Thank you for this well-detailed issue @tobisupreme. I'd love to work on this.


Merge to live

Docs Build status updates of commit edb9125:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/images/sample-data-validation.png
:white_check_mark:Succeeded
View

docs/resources/excel-samples.md
:white_check_mark:Succeeded
View

docs/testing/platform-limits.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


NIFI-4059: Introduce LdapUserGroupProvider

NIFI-4059:

Introducing the LdapUserGroupProvider.
Updating documentation accordingly.
Moving the IdentityMapping utilities so they were accessible.

Reviewing - first remark:
[WARNING] src/main/java/org/apache/nifi/ldap/tenants/LdapUserGroupProvider.java[586] (sizes) LineLength: Line is longer than 200 characters (found 202).

;)

Hey @mcgilman, I played a bit with it and that's really great. It's going to be super useful. It also gave me the occasion to have a look at the Managed Authorizer stuff - it's neat!
Tested using Apache Directory Studio and tried multiple scenarios: users first, groups first, both users and groups. All is working as expected. I've just one remark: when using users only search, but also setting the group name attribute, the full DN of the group is used. Would be nice to also take into account the group name attribute in that case (Note: the other way is working - if searching for groups and defining the user name attribute, we don't have the full DN for users).
Overall LGTM.

Thanks @pvillard31 for having a look at this PR! I've addressed the two issues above and I think resolving the group name when searching users only and detecting group membership is supported. Check out this unit test here [1]. Please let me know if I misunderstood. Thanks again!
[1] https://github.com/mcgilman/nifi/blob/4dd7aaae8de2ea2e2000510e5501f6e6b71d7f4b/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/test/java/org/apache/nifi/ldap/tenants/LdapUserGroupProviderTest.java#L213

Hey @mcgilman, just tried again and it's working... I guess I made a typo when I tried the first time. Thanks for the corrections. Will wait for travis build and will merge by eod. Thanks!

+1, squashed and merged, thanks!


Run syncdb on deploy

Currently, when we make changes to the database schema, the database is not updated until syncdb is manually run. We should run syncdb on deploy in order to update the database.

Duplicate of #155.


auto-healing should generate locator based on locator-gen.js function

[ ] LV1 auto-healing should generate locator based on locator-gen.js
[ ] LV1 auto-healing should refresh backup locator as well

no active request... descope


images/presto: Switch to using presto base image

I like it. So much cleaner than we had before.
for PR context, the new base image is https://github.com/operator-framework/presto/blob/metering-0.212/Dockerfile


Reset tap slot after disconnect

This change allows a client to perform more than 10 taps over the lifetime of the memcached server.  There's still a limit of 10 concurrent taps, but previously we wouldn't forget a tap once it had finished (the TCP connection drops).
I initially thought this code was in place to allow recovery of taps, but the previous line destroys the engine's record of the tap so there's no chance of a recovery (and the pointer is left dangling).

I'm officially giving up on the engine-pu branch :( Thanks and sorry.


Prompt for python path

Fixes https://github.com/Microsoft/vscode-azurefunctions/issues/594

I decided not to validate after the user enters a custom path. I figure we let them use what they want to use and they will get error message down the line if it doesn't work.

If you're trading an error now for an error later, do you have examples of what the errors could be? Just wondering if they're descriptive enough about requiring the right python version.

@PrashanthCorp I decided it was more work to get the error messages to show you than to just implement more validation logic


ERROR: return-type NUMBER(38,0) not recognised

Provider Version
0.29.0
Terraform Version
0.13.0
Describe the bug
Using this provider to create a Snowflake External Function with 'integer' as the return_type:
Error: return_type NUMBER(38,0) not recognized.
Strangely, the Snowflake External Function DOES get deployed and also Snowflake External Functions DO allow return_type NUMBER(38,0) when created directly in Snowflake as seen below.
Expected behaviour
No false-flag error is returned, especially as the External Function does actually get deployed. However, that error is now preventing fix-forward or roll-back.
Code samples and commands

Problematic resource:
resource "snowflake_external_function" "resource_name"
blah
return_type               = "integer"   --<-- maps to Snowflake NUMBER(38,0)

Create External Function directly using Snowflake UI (succeeds);

CREATE EXTERNAL FUNCTION MYDATABASE.MYSCHEMA."MyExternalFunction"(
PAYLOAD OBJECT
)
RETURNS NUMBER(38,0)  --<-- Allows Number!!
Additional context
I believe this error returned by the Provider is a false-flag.
FIX: Dropping the created External Function, manually updating the Terraform statefile to remove all External Function artefacts and then attempting again with different return_type value, succeeds.

We are closing this issue as part of a cleanup described in announcement. If you believe that the issue is still valid in v0.89.0, please open a new ticket.


Edward gonzalez branch

Description
The following changes were made to the home page:

A footer section was added.
Modals were created for the create quiz, login, and sign up buttons.
Color Scheme changed was changed to a type of blue.
Class names for CSS styles to follow clear naming conventions.

Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[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 Has This Been Tested?
Used Chrome to display the landing page. All HTML code and CSS styles display as expected.
Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] My code has been reviewed by at least one peer
[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
[X] 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

Looks great, thanks for fixing those warnings.

No problem!
On Wed, Sep 12, 2018 at 11:38 AM Brandon Benefield<EMAIL_ADDRESS>wrote:

Looks great, thanks for fixing those warnings.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Lambda-School-Labs/CS10-quizzer/pull/7#issuecomment-420694666,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ah1OPhiAgKZqbWM7tPoGPr_DUwcCvsbFks5uaSpsgaJpZM4WkcS5
.

Naming conventions look good.  Warnings resolved.  Merging pull request.

Closed in error.  Merging pull request.


The skill responded with 500 HTTP status Code

I get this error message as soon as I ask Echo for my skill. "There was a problem with the requested skill's response".  I see the following error on my Alexa App: The skill responded with 500 HTTP status Code
The error response is so fast that it seems like it is not even hitting my external web service end point.
please help
Sajjad

Are you getting this response running the sample skill or your own skill?
HTTP Status Code 500 is a "catch all" error code returned by IIS and ASP.NET Web API whenever there is an unhandled exception or incorrect configuration. Most likely it's unrelated to AlexaSkillsKit.NET and it's related to problems either in your own IIS configuration or in your skill's code.

it's my own skill.  What would be the best way to debug it?

If it's a bug in your code you'll see it when you run in debug mode from Visual Studio (it will break on unhandled exceptions). You can learn more about troubleshooting techniques for ASP.NET Web API at http://www.asp.net/web-api/overview/error-handling and http://www.asp.net/web-api/overview/testing-and-debugging.
I'll close this issue because it's not a problem with AlexaSkillsKit.NET and unfortunately we don't have the resources to provide developer support for your own skills.

I just tested the sample skill and got the same exact response.  Could it be my end point?  I am hosting my end point at a shared hosting service.  It has an SSL cert from an authority that Amazon recognizes.  Is there anyway to tell if the end is not accessible to Amazon

I don't need dev support.. but thanks for pointing those site out.  I don't have any errors in my code. I might just be the end point

Well, how are you testing your skill right now?

in my skill's settings, I have the end point pointing to my published code on the share hosting IIS server.  I have setup the interaction model and utterances for sample session and the skill is enabled for testing.  I enabled the skill on my Alexa App and then asked Alexa on my Echo: "Alexa Ask" + my skill name

And how are you determining that the skill endpoint is returning 500?

that's what I am wondering.  As soon as I ask Alexa, I hear the message and the Alexa App shows a error card with 500 HTTP status code.

My suspicion is that there's a problem with how the IIS is configured in your shared hosting environment or how Web.Api routes are mapped to. Use the techniques described in the tutorials. Good luck!

A 500 error can be all sorts of things.  For example, I wanted to add images to a standard card, and it seems like you can do that like this:
        card.Image.SmallImageUrl = @"https://mydomain.com/small_img.jpg";
        card.Image.LargeImageUrl = @"https://mydomain.com/large_img.jpg";

But you will get an http status 500 error with no debugging information.  Instead, the Amazon documentation shows that Image is an object, not a string, and then it clicks that you need to add images to a standard card like this:
        Image img = new Image();
        img.SmallImageUrl = @"https://mydomain.com/small_img.jpg";
        img.LargeImageUrl = @"https://mydomain.com/large_img.jpg";

        StandardCard card = new StandardCard();
        card.Title = "Title";
        card.Text = "Some text...";
        card.Image = img;

So I would look at things like the card, reprompt, etc.  Just FYI
Steve


Console log is generated on every frame when run on android simulator

Hello.
Has anyone encountered the issue similar to mine?
I run map on android simulator and recently it generate too many log on every new-data frame loaded:
 LOG  Mapbox [info] Request failed due to a permanent error: Canceled  {"level": "warning", "message": "Request failed due to a permanent error: Canceled ", "tag": "Mbgl-HttpRequest"}
 LOG  Mapbox [info] Request failed due to a permanent error: Canceled  {"level": "warning", "message": "Request failed due to a permanent error: Canceled ", "tag": "Mbgl-HttpRequest"}
 LOG  Mapbox [info] Request failed due to a permanent error: Canceled  {"level": "warning", "message": "Request failed due to a permanent error: Canceled ", "tag": "Mbgl-HttpRequest"}
 LOG  Mapbox [info] Request failed due to a permanent error: Canceled  {"level": "warning", "message": "Request failed due to a permanent error: Canceled ", "tag": "Mbgl-HttpRequest"}
 LOG  Mapbox [info] Request failed due to a permanent error: Canceled  {"level": "warning", "message": "Request failed due to a permanent error: Canceled ", "tag": "Mbgl-HttpRequest"}
 LOG  Mapbox [info] Request failed due to a permanent error: Canceled  {"level": "warning", "message": "Request failed due to a permanent error: Canceled ", "tag": "Mbgl-HttpRequest"}
 LOG  Mapbox [info] Request failed due to a permanent error: Canceled  {"level": "warning", "message": "Request failed due to a permanent error: Canceled ", "tag": "Mbgl-HttpRequest"}

temporarily solved by this code
   import { Logger } from "@maplibre/maplibre-react-native";
    Logger.setLogCallback(log => {
        const { message } = log;

          if (  message.match('Request failed due to a permanent error: Canceled')  ) {
             return true;
          }
            return false;
      });

But i cannot determine what cause it

As this is a fork of mabbox and therefore related to https://github.com/rnmapbox/maps, you can often also look there if you find a solution for your problem. Check out this issue for more info.


chore: replace production url with container

Description
Kleiner Fix, der unser Prod UI mit dem direkten API-Container reden lässt.
Type of change

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.

[ ] Locally tested the according endpoints
[ ] Ran E2E-Tests

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

Ich bin mal so frei und merge ohne UI-Approval. ;)


5.0.0-beta.0 - normalization incomplete

I have a model with a cloudDrive status fragment that in turn has two more fragments. called context and failure.
Over a webstomp connection I receive updates to my models via store.pushPayload(payload). The model correctly updates except if it does not exists in the store. When it does exist in the store all properties are correctly updated except for the nested fragments... (note the state property is correctly updated.
"status" : {
"state": "checked-out",
"context": {
"adapter": "dropbox",
"identity_id": "xxx-xxx-xxx-xxx-xxx",
"order_number": "2.4",
"order_status": "cad",
"checkout_time": "2020-08-19T11:51:26.000Z"
},
"failure": {
"message_code": null,
"message": null,
"details": []
}
}
So. a button instructs the backend to perform a 'check-in'... This might fail due to some reason and the whole model is transmitted via webstomp as a json API payload. Pushing that payload does not update the failure fragment.
Any ideas where to look/debug. I have confirmed the received payload is correct.
"data": {
    "type": "dossier/order",
    "id": "xxx-xxx-xxx-xxx-xxx",
    "attributes": {
      // redacted
      "cloud-drive": {
        "state": "checked-out",
        "context": {
          "checkout_time": "2020-08-19T11:51:26+00:00",
          "identity_id": "xxx-xxx-xxx-xxx-xxx",
          "adapter": "dropbox",
          "order_status": "cad",
          "order_number": "2.4"
        },
        "failure": {
          "message_code": "dossier.checkInFailure.noMutationsDetected",
          "message": "No changes where detected. Has the cloud drive been fully synchronized?",
          "details": []
        }
      }
    },
  }
}

setting a fragment to null on a model seems to be the culprit here. I would guess the fragment is then either deleted or recreated from the defaultValue. Is that indeed what I may expect to happen?

@basz I think I'm seeing a similar issue to you. While it's not exactly the same it has the same characteristic where the fragment isn't populated after being null initially.
In our case we are creating a record which is only sparsely populated but the rest of the attributes are filled in by the response from the backend.
I've created a failing test in https://github.com/lytics/ember-data-model-fragments/pull/384 to replicate it and have confirmed it did work before the 5.0 refactor (my tests passed).

@basz I'm not sure if you're issue was exactly the same as mine but could you try out https://github.com/adopted-ember-addons/ember-data-model-fragments/releases/tag/v5.0.0-beta.3 where I shipped my fix to make sure null fragments are updated from the server?


Third-party plugins cleanup: Upstream HTTP Basic Authentication plugin

Description
Removing the Upstream HTTP Basic Authentication plugin by Revolution Systems as part of the third-party plugin cleanup initiative.
Testing instructions
Netlify link:
Checklist

[x] Review label added
[x] PR pointed to correct branch (main for immediate publishing, or a release branch: e.g. release/gateway-3.2, release/deck-1.17)

@pauldaustin Thank you for your support and contributions to the Kong Plugin Hub. At this time, Kong will only be maintaining plugin listings for verified partners. This means we will no longer maintain entries of custom plugins from community or individual contributors.
We are removing the Upstream HTTP Basic Authentication plugin listing as it is not currently part of any technical partnership agreement with Kong.
If you would like to have your plugin featured on the Kong Plugin Hub in the future, we encourage you to become a Kong Partner.


  This also happens with -Force params which can be pretty destructive.

Dupe of https://github.com/adamdriscoll/poshtools/issues/120 ?  Given the lack of prompt for these types of, I think we should bump up the priority :)


Arrow-prev trouble

I am having a big trouble with arrow-prev, I installed the component in the correct way, but when I use in my project I get this error :
[Vue warn]: Error in render: "TypeError: Cannot create property 'arrow-prev' on boolean 'true'"

Hi @CristiansSans, did you install the latest Vue Cal with the latest Vue? or at least Vue 2.6.1?
If yes please share your code so I can help.

Hi @CristiansSans,
You have to upgrade your Vue to 2.6.7 at least, I will update the documentation where it says Vue 2.6.1.
Demo: https://codepen.io/antoniandre/pen/PoqQBeK

Many thanks it resolved my trouble, I updated my vue version to vue 2.6.11 and it fixed it

Hi. We're using 2.24.0 (fixed it to that version since we weren't ready to upgrade to 3) and this has just started happening in new builds today. I can't determine what has been changed to cause this - except is it possible that fixing the versions of all other modules in our project could have caused this? If not, what else could it be, do you think?


Question : did you use any tool when exporting unmanaged dlls

i found these tools like UnmanagedExports  or dllexports , did you use any one of these tools or when creating the vba_tools.dll or similar tools, im trying to make use of other languages for performant code execution, unit testing,portable code across projects which is very difficult to make with vba to say the least.
any help would be appreciated, thanks in advance.

HI Linety, yes i'm using unmanagedExports. hope this helps


docs(driver-utils): Add explicit release tags to exported API members and add missing package exports

AB#5899
Description
This PR adds the @public explicit release tag for all exported interfaces in the driver-utils package. Existing exports transitively reference these interfaces and therefore must be exported for API completeness.

Looks like you added the "and add missing package exports" part to the PR title, but I also think it should start with refactor instead of docs, since this PR actually makes code changes.


dark theme

:white_check_mark: Build TheIdServer 7.1.3-ci1-0057 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/687cfd9f41 by @aguacongas)

:white_check_mark: Build TheIdServer 7.1.3-ci1-0059 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/2cfe40d5a0 by @aguacongas)

:white_check_mark: Build TheIdServer 7.1.3-ci1-0061 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/583f4a28d2 by @aguacongas)

:white_check_mark: Build TheIdServer 7.1.3-ci1-0063 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/c466a612f8 by @aguacongas)


txt2img and other tabs besides Upscaling doesn't show up

I've installed SD.Next through StabilityMatrix, basically an SD installation manager. Installed https://github.com/poipoi300/auto-sd-krita-ext-xl in the extensions tab. Relinked/repasted the krita_diff/desktop to the Krita directory. Rechecked if Stable Diffusion plugin is checked in the Python Plugin Manager but the other tabs still don't show up.

OS: [e.g. Windows, Linux]
22:16:45-642718 INFO     Starting SD.Next
22:16:45-646722 INFO     Python 3.10.11 on Windows
22:16:45-689265 INFO     Version: d45e6a04 Wed Aug 30 08:49:27 2023 -0400
22:16:45-936031 INFO     Latest published version:  df65df3f367862117dd0e0fc1dc76dd54707276d
Extension commit revision
5cb84e89

These show up when I open Krita. The first one I pasted its entirety, the other two is just screenshot with the end of its log.
TypeError
Python 3.10.7: C:\Program Files\Krita (x64)\bin\krita.exe
Wed Aug 30 22:51:52 2023

A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.

 C:\Program Files\Krita (x64)\lib\krita-python-libs\krita\dockwidgetfactory.py in createDockWidget(self=<krita.dockwidgetfactory.DockWidgetFactory object>)
   14         super(DockWidgetFactory, self).__init__(_id, _dockPosition)
   15         self.klass = _klass
   16
   17     def createDockWidget(self):
   18         return self.klass()
self = <krita.dockwidgetfactory.DockWidgetFactory object>
self.klass = <class 'krita_diff.docker.create_docker.<locals>.Docker'>

 C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\docker.py in __init__(self=<krita_diff.docker.create_docker.<locals>.Docker object>, *args=(), **kwargs={})
   11             self.setWindowTitle(page.name)
   12             self.create_interface()
   13             self.update_interface()
   14             self.connect_interface()
   15             self.setWidget(self.widget)
self = <krita_diff.docker.create_docker.<locals>.Docker object>
self.update_interface = <bound method create_docker.<locals>.Docker.upda...iff.docker.create_docker.<locals>.Docker object>>

 C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\docker.py in update_interface(self=<krita_diff.docker.create_docker.<locals>.Docker object>)
   23
   24         def update_interface(self):
   25             self.page_widget.cfg_init()
   26
   27         def connect_interface(self):
self = <krita_diff.docker.create_docker.<locals>.Docker object>
self.page_widget = <krita_diff.pages.txt2img.Txt2ImgPage object>
self.page_widget.cfg_init = <bound method Txt2ImgPage.cfg_init of <krita_diff.pages.txt2img.Txt2ImgPage object>>

 C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\pages\txt2img.py in cfg_init(self=<krita_diff.pages.txt2img.Txt2ImgPage object>)
   30
   31     def cfg_init(self):
   32         super(Txt2ImgPage, self).cfg_init()
   33         self.highres.cfg_init()
   34
builtinsuper = <class 'super'>
global Txt2ImgPage = <class 'krita_diff.pages.txt2img.Txt2ImgPage'>
self = <krita_diff.pages.txt2img.Txt2ImgPage object>
).cfg_init = <bound method Txt2ImgPage.cfg_init of <krita_diff.pages.txt2img.Txt2ImgPage object>>

 C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\pages\img_base.py in cfg_init(self=<krita_diff.pages.txt2img.Txt2ImgPage object>)
   71
   72     def cfg_init(self):
   73         self.ext_layout.cfg_init()
   74         self.prompt_layout.cfg_init()
   75         self.seed_layout.cfg_init()
self = <krita_diff.pages.txt2img.Txt2ImgPage object>
self.ext_layout = <krita_diff.pages.extension.ExtSectionLayout object>
self.ext_layout.cfg_init = <bound method ExtSectionLayout.cfg_init of <krita_diff.pages.extension.ExtSectionLayout object>>

 C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\pages\extension.py in cfg_init(self=<krita_diff.pages.extension.ExtSectionLayout object>)
  118             self._init_ext_widgets()
  119         for widget in self.ext_widgets.values():
  120             widget.cfg_init()
  121
  122     def cfg_connect(self):
widget = <krita_diff.pages.extension.ExtWidget object>
widget.cfg_init = <bound method ExtWidget.cfg_init of <krita_diff.pages.extension.ExtWidget object>>

 C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\pages\extension.py in cfg_init(self=<krita_diff.pages.extension.ExtWidget object>)
   69     def cfg_init(self):
   70         for w in self.widgets:
   71             w.cfg_init()
   72
   73     def cfg_connect(self):
w = <krita_diff.widgets.combo_box.QComboBoxLayout object>
w.cfg_init = <bound method QComboBoxLayout.cfg_init of <krita_diff.widgets.combo_box.QComboBoxLayout object>>

 C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\widgets\combo_box.py in cfg_init(self=<krita_diff.widgets.combo_box.QComboBoxLayout object>)
   68     def cfg_init(self):
   69         opts = sorted(
   70             set(
   71                 self.cfg(self.options_cfg, "QStringList")
   72                 if isinstance(self.options_cfg, str)
builtinset = <class 'set'>
self = <krita_diff.widgets.combo_box.QComboBoxLayout object>
self.cfg = <krita_diff.config.Config object>
self.options_cfg = [['positive', 'positive'], ['negative', 'negative']]
builtinisinstance = <built-in function isinstance>
builtinstr = <class 'str'>
TypeError: unhashable type: 'list'
    __cause__ = None
    __class__ = <class 'TypeError'>
    __context__ = None
    __delattr__ = <method-wrapper '__delattr__' of TypeError object>
    __dict__ = {}
    __dir__ = <built-in method __dir__ of TypeError object>
    __doc__ = 'Inappropriate argument type.'
    __eq__ = <method-wrapper '__eq__' of TypeError object>
    __format__ = <built-in method __format__ of TypeError object>
    __ge__ = <method-wrapper '__ge__' of TypeError object>
    __getattribute__ = <method-wrapper '__getattribute__' of TypeError object>
    __gt__ = <method-wrapper '__gt__' of TypeError object>
    __hash__ = <method-wrapper '__hash__' of TypeError object>
    __init__ = <method-wrapper '__init__' of TypeError object>
    __init_subclass__ = <built-in method __init_subclass__ of type object>
    __le__ = <method-wrapper '__le__' of TypeError object>
    __lt__ = <method-wrapper '__lt__' of TypeError object>
    __ne__ = <method-wrapper '__ne__' of TypeError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of TypeError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of TypeError object>
    __repr__ = <method-wrapper '__repr__' of TypeError object>
    __setattr__ = <method-wrapper '__setattr__' of TypeError object>
    __setstate__ = <built-in method __setstate__ of TypeError object>
    __sizeof__ = <built-in method __sizeof__ of TypeError object>
    __str__ = <method-wrapper '__str__' of TypeError object>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __suppress_context__ = False
    __traceback__ = <traceback object>
    args = ("unhashable type: 'list'",)
    with_traceback = <built-in method with_traceback of TypeError object>

The above is a description of an error in a Python program.  Here is
the original traceback:

Traceback (most recent call last):
  File "C:\Program Files\Krita (x64)\lib\krita-python-libs\krita\dockwidgetfactory.py", line 18, in createDockWidget
    return self.klass()
  File "C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\docker.py", line 13, in __init__
    self.update_interface()
  File "C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\docker.py", line 25, in update_interface
    self.page_widget.cfg_init()
  File "C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\pages\txt2img.py", line 32, in cfg_init
    super(Txt2ImgPage, self).cfg_init()
  File "C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\pages\img_base.py", line 73, in cfg_init
    self.ext_layout.cfg_init()
  File "C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\pages\extension.py", line 120, in cfg_init
    widget.cfg_init()
  File "C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\pages\extension.py", line 71, in cfg_init
    w.cfg_init()
  File "C:\Program Files\Krita (x64)\share\krita\pykrita\krita_diff\widgets\combo_box.py", line 70, in cfg_init
    set(
TypeError: unhashable type: 'list'

upon checking, reverting to auto-sd's krita_diff brought the same krita errors, so it might be because of StabilityMatrix's reinstallation of my Python

Thanks for opening a detailed issue. I think what StabilityMatrix is doing is likely the cause of the problem like you suspect, however fixing it is desirable nonetheless. I will test this myself to see if I can recreate the issue first. I can't give you a time estimate, but considering this is the only issue right now it's the priority haha.
If in the meantime you find a fix, more information, or some update from StabilityMatrix fixes it, please share that here.

So I reverted back successfully to Interpause/auto-sd + A1111 but not really sure what fixed it. Did lots of things but I think the events that happened before it worked was:
Thought it was a Python issue so I reinstalled/upgraded my Python 3.10.7 to 3.10.11 (which isn't recommended because I think A1111's Python recommends installing 3.10.7) but Krita startup errors still shows up
I went back to the auto-sd-guide Installation tab to see how to do a fresh install, after fiddling I found out that turning off Stable Diffusion Plugin in the Python Plugin Manager in the Krita settings then closing Krita, then opening it again, would make the Krita startup errors disappear. Enabling the plugin, then closing, then opening Krita again would make the errors appear again if I remember correctly.
I realized after testing that, I haven't completely closed/terminated both my running A1111 instance and Krita simultaneously. One was always open when I was troubleshooting the other. So I did just that:
I disabled the plugin, closed Krita. Closed A1111. Opened Krita, no errors so far, then enabled the plugin, closed Krita. I opened Krita again, but this time no errors and I think this was the point the tabs showed up again. Opened A1111 and the plugin was working as normal.
So I think it's better to just delete the symlinks or the copy of krita_diff files in the Krita directory at the start OR disable the plugin while updating/replacing the extension. That way the plugin disappears (as well as the errors) from the Python Plugin Manager and you'd have to reenable it again as part of the installation process. Haven't encountered this issue when updating Interpause's before but I rarely updated that anyway (since it always broke w every A1111 update lol)
I'll report back once I have more time to have another go at poipoi300/auto-sd + SD.Next :)

After a round of troubleshooting again, disabling and enabling doesn't seem to be the one that fixed it.
The three Krita start up errors mainly show up if there's no running instance of SD that it can connect to. Once theres a running SD instance, some errors pop up but the tabs still show up but at first Krita doesn't show the img2img tab. Just restart Krita once again and all the tabs show up fine with no errors popping up.
It seems to consistently show those Krita errors if I use StabilityMatrix, then the tabs don't show up either. It works fine if I use a normal installation of SD.Next though.

I spent a little time debugging this issue and found a possible cause. It seems that a common field options_cfg takes in either a single string or a list of strings. Somehow in the case of QComboBoxLayout and QMultiCheckBoxLayout options_cfg sometimes gets set as a list of list of strings (list[list[str],...])
So i just made sure that if options_cfg is a list, we flatten it first. These values get set in the constructor so you can probably move the flattening there to be safer but im not even sure where these parameters get set in the first place so theres definitely an earlier place to do this. But i believe you should be able to get past the errors from there.  I'm currently working on merging these fixes with the controlnet  version of sd-krita and i dont remember if this fixed all the issues exactly but i think it should.
So in my QComboBoxLayout.init looks like:
 def __init__(
        self,
        cfg: Config,
        options_cfg: list,
        selected_cfg: str,
        label: str = None,
        *args,
        **kwargs
    ):
        """Layout for labelled multi-select CheckBox.

        Args:
            cfg (Config): Config to connect to.
            options_cfg (list): List of options.
            selected_cfg (str): Config key to read/write selected options to.
            label (str, optional): Label, uses `selected_cfg` if None. Defaults to None.
        """
        super(QMultiCheckBoxLayout, self).__init__(*args, **kwargs)

        self.cfg = cfg
        self.options_cfg = options_cfg
        self.selected_cfg = selected_cfg

        self.qlabel = QLabel(self.selected_cfg if label is None else label)

        # TODO: flexbox-like row breaking
        self.row = QHBoxLayout()
        self.qcheckboxes = []
        if isinstance(self.options_cfg, list):
            self.options_cfg = [item for row in self.options_cfg for item in row]
        for opt in self.options_cfg:
            checkbox = _QCheckBox(opt)
            self.qcheckboxes.append(checkbox)
            self.row.addWidget(checkbox)

        self.addWidget(self.qlabel)
        self.addLayout(self.row)

and the start of  QMultiCheckBoxLayout.cfg_init looks like:
def cfg_init(self):
        if isinstance(self.options_cfg, list):
            self.options_cfg = [item for row in self.options_cfg for item in row]

Hey thanks for that, that helped me out.
I've currently tracked down the problem further down to frontends/krita/krita_diff/client.py:278-289. This file is where the frontend queries the backend for config options and sets them in the frontend config. The lines I mentioned are where the frontend sets values for script options like outpainting direction for instance.
Speaking of that, I've found that some of the data is duplicated. Here's a snippet from the json received from the A41 WebUI (I assume it's the raw data, but I would need to investigate more to be certain).
{
        "type": "multiselect",
        "label": "Outpainting direction",
        "val": [
            "left",
            "right",
            "up",
            "down"
        ],
        "is_index": false,
        "opts": [
            [
                "left",
                "left"
            ],
            [
                "right",
                "right"
            ],
            [
                "up",
                "up"
            ],
            [
                "down",
                "down"
            ]
        ]
    }

This is probably where our list of lists is coming from? Currently trying to resolve it there and probing around that area, although this may be all the time I have for today. Will have more tomorrow for sure.

This is now fixed and the implementation should not break with older webUI versions. I also fixed an unrelated bug which would've prevented the extension to work. I'm not sure that I implemented the fix as deep as it could go, but my quick attempt at going a level deeper did not work. I hate the debugging (or lack of) for this.
Feel free to update WebUI to 1.6.0 and the extension using git pull. Release coming tomorrow.


Decode a created token if needed

If a return value of jwt.encode is bytes not str, decoding has to be done.
Because the return value is used for an authorization header value.

This PR will resolve https://github.com/genesluder/python-apns/issues/28


Enhancement to TabSwitcher to allow navigation using arrow keys w…

Client requested this, based on previous behavior in a Sencha App.  Seemed like a nice pickup to me.
(Note that enhancement to activateNext/Prev() -- think that's generally what we want, and should be considered an additional bug fix)
Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[X] Caught up with develop branch as of last change.
[X] Added CHANGELOG entry, or determined not required.
[X] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[X] Updated doc comments / prop-types, or determined not required.
[X] Reviewed and tested on Mobile, or determined not required.
[X] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Thanks Lee!


domain link accessible on my system but not on colleague

Note: Intermediate in Front-end development but Noobie in Domain setup and DB setup

Describe the bug
When using amplify without custom domain, my link is genrated as "https://production.*********.amplifyapp.com" and works fine as expected. However, Setting up third-party domain is painful. I agree with the level of frustration mentioned in this isse but not the language.
Where I am stuck? well, I added my domain to amplify, click on "Actions - > View DNS records" and copy-pasted everything in DNS record at Google domain except the "@ ANAME" in Google domain's DNS setting.
The link sudhirkaushk.com opens fine on my system but not on my friends'.
Screenshots
If applicable, add screenshots to help explain your problem.

@SudhirKaushik sorry to hear about your experience. 3rd party domains such as Google do not support ANAME records. While we provide docs with workarounds for things such as the root domain, we recommend migrating your DNS to Route53 for the smoothest experience: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html

Google said I can move/transfer to Route53 after 60 days of domain registration, so I think I will wait till then.


aspirate generate -ct v1 or aspirate build -ct v2 doesn't override the fallback tag from aspirate init -ct latest

🔥 Bug Description
Related to #127
When I initialise the Aspire project with the command, aspirate init -ct latest, it generates aspirate.json and latest is set as the fallback tag.
However, if I run the command, aspirate generate -ct v1 or aspirate build -ct v2 doesn't take precedence over latest. The Kustomization files are still pointing to the fallback tag, latest in this example.
🔍 Steps to Reproduce the Bug

Run the init command, aspirate init -ct latest ...
Run the generate command, aspirate generate -ct v1 ... or build command, aspirate build -ct v2 ...
Check the deployment.yml files under the aspirate-output/* directory that point to the latest tag

Thanks - just fixed, will be going out in the release which also fixes #127 in the next hour :)


job scanning clock in / clock out feature

Implement new menu for job ticket scanning to track operator clock in / clock out for specific operation of job ticket.    Job tickets to be expanded to include barcode of concatenated job ticket number and operation number to define specific operation of clock in / out for operator.   Information can be used to track production times and quantities produced of various operations.   This new feature can be particularly useful with machining operations in various job shops.

created template menu with JPanel class JobScanIO.java.

this has been released with version 6.8.0.  Closing.


Make graph node shadow, related instruction highlight theme-able colors

Available as graphNodeShadowColor and relatedInstructionHighlightColor in builds ≥ 3507.


adding notes from hackmd

It was great having TGIK back. Hope this helps a bit.

Thanks for this! I just missed it.  I created an index and just committed them. Sorry!

Thanks for this! I just missed it.  I created an index and just committed them. Sorry!


A rebase after an interactive rebase swaps the commits

I first created a feature branch with two commits and swapped those two commits in order with an interactive rebase. Afterwards I wanted to perform a rebase on the main branch. After the rebase the (swapped) commits were in their original order.

Already commented issue #977 is similar to this. I close the issue with a reference to that.


Add a flag for dedupping to be exact match only

See
https://groups.google.com/d/topic/3d-genomics/7AxXyBOxa0U/discussion
https://groups.google.com/d/topic/3d-genomics/XI-jFADHh08/discussion

Done, flag is -j
Flag -j for "just exact matches"; this will only eliminate exact match duplicates. Overall this flag is not recommended. However, if you find your jobs are often getting stuck at the dedup phase, it can be because of low complexity or low mapping quality and this flag will allow the jobs to finish much faster. You will still be left with near-duplicates in your library - so use caution when interpreting results. In particular note that near-duplicates are usually machine errors, not true biological results, and thus ought to be removed.


[deps] Updated django-filter range: >=2.2.0<2.4.0

Coverage remained the same at 99.735% when pulling bd055b8263170dc9a5bfaa54a48099d44f37c770 on django-filter into 1d89e93eabd6cecd5a328f8b57757788afe4ffd3 on master.


[Exam] Code-Editor Bugfixes

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Client: I documented the TypeScript code using JSDoc style.

Motivation and Context
Notes from Test Session:

[x] On Startup, the Submission's isSynced flag was set to false. We use true at the start of the conduction.
[x] Worker Issue: Refused to create a worker from '...' because it violates the following Content Security Policy directive...

[x] Results of a submission were loaded into the wrong exercise. Possible fix in: 162965666e3ddbb8d25d720e15d46fdb05792b3d
[x] When you push your changes locally and afterwards press "refresh files" in the online code editor, the wrong exercise files are loaded Possible fix in: 162965666e3ddbb8d25d720e15d46fdb05792b3d
[x] TypeError: this.fileSession[this.selectedFile] is undefined (refresh files)

Description

Set the isSynced to true and submitted to false for the initial ProgrammingSubmission.
Track the submitted status using the onCommitStateChange event.
Add additional guards against undefined, see point 5 above.
Fix navigation issue from 162965666e3ddbb8d25d720e15d46fdb05792b3d solved point 3 & 4 above.
Every component now has its own service, thereby effectively eliminating the potential overlaps.

Steps for Testing

Log in to Artemis
Create an exam with multiple programming exercises.
Open the console & check the network tab.
Interact with the exam, switch between exercises, create submissions, edit files etc.
All exercises should load correctly, and the correct id should be displayed in the console.
No errors should be seen in the console & network tab

Screenshots

If you open the exercise for the first time and no file is selected and you then click on refresh files you'll get this error:

This could happen if you clone directly, change something and decide afterwards you now want to continue online.
In addition: What is the behaviour here? Does only the currently selected file get reloaded? If so I think that's bad behaviour. If I click on a button called "Refresh files" I expect all to be reloaded.
Besides that everything is working as intended. The ids are differend and show up consistently.
I assume to plan to remove the Console logs before merging?

The refresh function is working as expected, however, initEditorAfterFileChange is called by the components ngOnChanges, which is triggered it seems when you do the refresh. It's not only refreshing the selected file, its just that this code is intended to track changes of the selected file.
I added a guard here too so that we skip this step, if there is no selectedFile, in the fileSession.

@JonasPetry  @julian-christl, of course, the logs should not be in develop, however they are a very helpful tool right now to really test that everything is working as expected.  Imo, we should keep these as long as this PR is not merged.

@JonasPetry @julian-christl, of course, the logs should not be in production, however they are a very helpful tool right now to really test that everything is working as expected. Imo, we should keep these as long as this PR is not merged.

Yes, that's a good idea!


Image with ground truth bounding box doesn't visually match the input params

I've been trying to get my setup fully working, and have now gotten everything to finally seem like it's matching up the annotations & images. However when I try to draw the bounding boxes that I am passing in as ground truth, the boxes don't match what I'd expect. I've verified that my annotations' bounding boxes are defined correctly in the JSON I'm importing and when exploring the data after I have added the annotation, the coordinates match what I'd expect. Every bounding box is drawn ~50% of it's width/height to the left/above the spot it should be as you can seen in the photo below. Is this something I'm doing wrong here?

import turicreate as tc

data = tc.image_analysis.load_images('test/image', with_path=True)
annotations = tc.SFrame.read_json('test/test.json', orient='records')
data = data.join(annotations, on={'path':'path'}, how='outer')

data.print_rows(num_rows=10, num_columns=40, max_column_width=80, max_row_width=800, output_file=None)

data['image_with_ground_truth'] = \
    tc.object_detector.util.draw_bounding_boxes(data['image'], data['annotations'])
data.explore()

The JSON:
[
  {
    "annotations" : [
      {
        "label" : "egg",
        "type" : "rectangle",
        "coordinates" : {
          "height" : 155,
          "x" : 196,
          "y" : 91,
          "width" : 203
        }
      }
    ],
    "path" : "\/Users\/amayers\/Desktop\/test\/image\/6657348_7d41427993.jpg"
  }
]

I've attached the JSON annotations file as well as one of the images so if you want to try this. You'd just need to change the path inside the JSON to match your path.
Archive.zip

Hi @amayers, thanks for the elaborate input!
Please note that the (x, y) coordinates in the annotations dictionary indicate the center of the object, and not the top-left corner, as indicated in the User Guide and API doc.
Looking at your example - the annotation seem to be indicating the top left corner, and not the center of the egg.
Can you please set the the annotations to indicate the center by changing all annotations' x and y coordinates to:
x = x + width/2
y = y + height/2

Then try to plot the bounding boxes again. You would probably need to recreate your model.

Ah, totally missed that. Seems like they shouldn't be called just X & Y then, but centerX & centerY since X & Y typically refer to the top left corner in most systems I've worked with. ¯_(ツ)_/¯. Works great now. Thanks for the prompt response.


[Snyk] Security upgrade @angular/compiler-cli from 12.2.7 to 18.2.8

Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

pkg/new-ui/v1beta1/frontend/package.json
pkg/new-ui/v1beta1/frontend/package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

696/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 7.5
Uncontrolled resource consumption SNYK-JS-BRACES-6838727
Yes
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Uncontrolled resource consumption

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 72.974%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
3116

Relevant Lines:
4270

💛  - Coveralls


This is a feature request test

What is your feature idea?
I have a lot of idea, one would be to have a CLI command to receive 1 million USD in my bank account.
Why is it needed?
Because I would be able to save money to kubefirst by not requiring a paycheck anymore :)
adoption

[ ] Is this missing feature preventing you from using kubefirst?

Code of Conduct

[X] I agree to follow this project's Code of Conduct

This was a test


[Improvement] Remove spring-boot-starter-cache dependency

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
This is not used anymore.
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

I am interested in solving this issue.

I am interested in solving this issue.

I've assigned to you. Looking forward to your contribution.

I am interested in solving this issue.

I've assigned to you. Looking forward to your contribution.

Hi, I have started working on this contributions.
This applications is not running in my system due to spotless plugin error. I tried upgrading but it says it is missing some class file i.e com/sun/source/tree/Tree
I have JDK 17 installed.

I have checked the docs and i have installed the required OS and particular installation.  Let me work from now on. I will keep you posted.

After careful observation about dependency spring-boot-starter-cache depedency and apllication.properties it has already been removed and i did some more few work understanding the code base and removed other extra dependencies that includes annotations like cacheable and cacheconfig. I removed and i ran the standalone server. It was running without any error. I am ready to do pull request.


Yoga federation driver support

Hi @MichalLytek, I'm writing you because I'm currently splitting my monolith graph into microservices but I encountered an issue.
My stack is composed by Nestjs (v10.0.0) + typegraphql-nestjs (v0.6.0) + Yoga GraphQL (v5.0.0).
To achieve the migration to microservices I'm going to use the Federation V2 with the YogaFederationDriver.
Here's my main module after the migration:
import * as path from 'path';
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { MongooseModule } from '@nestjs/mongoose';
import { YogaFederationDriver } from '@graphql-yoga/nestjs-federation';
import { TypeGraphQLModule } from 'typegraphql-nestjs';
import { UserModule } from './user/user.module';
import { SubGraphRequest } from './dto/types/request.type';

@Module({
 imports: [
   ConfigModule.forRoot(),
   MongooseModule.forRoot(process.env.MONGODB_URL, {
     maxPoolSize: 10,
   }),

   TypeGraphQLModule.forRootAsync({
     driver: YogaFederationDriver,
     useFactory: () => ({
       federationVersion: 2,
       emitSchemaFile: path.join(__dirname, '..', 'schema.graphQL'),
       context: async ({ req }: { req: SubGraphRequest }) => {
         return {
           email: req.get('x-user-email')
         };
       }
     }),
   }),

   // my modules
   UserModule,
 ],
})
export class AppModule {}

Unfortunately this generates the graphql schema error:
/user-subgraph/node_modules/@apollo/federation-internals/src/error.ts:36
  err: (message: string, options?: GraphQLErrorOptions) => new GraphQLError(
                                                           ^
GraphQLError: Type User must define one or more fields.

After a deep investigation I found the issue is caused by the following line and I noticed that for the federation part the supported driver is ApolloFederationDriver from @nestjs/apollo
https://github.com/MichalLytek/typegraphql-nestjs/blob/8f9bc06e443321b0187437f7d1aef7ce17bd92c5/src/typegraphql-options.factory.ts#L39
I tried to change this line with this one
const isFederatedModule = driver === ApolloFederationDriver || driver === YogaFederatedDrivers;
and it seems to work.
Is this the expected behaviour? Is it possible to extend the support to Yoga Federated Drivers and the other available drivers?
And also maybe it could be useful to check the federation version instead of the drivers types, for example
const isFederatedModule = federationVersion === 1 | federationVersion === 2;

Yeah, you're right 😉 Can you check in NestJS source code how do they handle the differentiation?

Seems they are using the federation version param from the .forRootAsync config AutoSchemaFileValue
GraphQLModule.forRootAsync<YogaFederationDriverConfig>({
      driver: YogaFederationDriver,
      useFactory: () => {
        return {
          autoSchemaFile: {
            federation: 2,
          },
          context: async ({ req }: { req: SubGraphRequest }) => {
            return {
              email: req.get('x-user-email'),
            };
          }
        }
      },
    }),

and they are using it to generate the schema later on GraphQLFederationFactory
private getFederationVersionAndConfig(
    autoSchemaFile: AutoSchemaFileValue,
  ): [FederationVersion, FederationConfig?] {
    if (!autoSchemaFile || typeof autoSchemaFile !== 'object') {
      return [DEFAULT_FEDERATION_VERSION];
    }
    if (typeof autoSchemaFile.federation !== 'object') {
      return [autoSchemaFile.federation ?? DEFAULT_FEDERATION_VERSION];
    }
    return [
      autoSchemaFile.federation?.version ?? DEFAULT_FEDERATION_VERSION,
      autoSchemaFile.federation,
    ];
  }

and
const [federationVersion, federationOptions] =
      this.getFederationVersionAndConfig(options.autoSchemaFile);

    const typeDefsDecorator = this.typeDefsDecoratorFactory.create(
      federationVersion,
      apolloSubgraphMajorVersion,
    );
    if (typeDefsDecorator) {
      typeDefs = typeDefsDecorator.decorate(typeDefs, federationOptions);
    }

    let executableSchema: GraphQLSchema = buildFederatedSchema({
      typeDefs: gql(typeDefs),
      resolvers: this.getResolvers(options.resolvers),
    });

    executableSchema = this.overrideOrExtendResolvers(
      executableSchema,
      autoGeneratedSchema,
      printSubgraphSchema,
    );

    const schema = options.schema
      ? mergeSchemas({
          schemas: [options.schema, executableSchema],
        })
      : executableSchema;
    return schema;

@Fedepnt Implemented in 148bc99 🔒


surface -> self.surface

This is a bug, surface is not defined, should be self.surface but probably this branch is not executed too frequently.

Thanks!


@orta -> always use desktop web urls when sharing

fixes https://github.com/artsy/eigen/issues/161
I guess another solution would be to add meta tags on m.artsy.net, but personally I think it's weird and ugly when people tweet/post mobile links. If somebody happens to visit a force link on a phone as a result of a share, they'll just get redirected to mobile anyway.

Perfect, thank you @1aurabrown
can you please add a changelog to the BETA_CHANGELOG

Tests look much nicer too :dancers:

( mergable when CHANGELOG'd )

@orta i just added a bunch of things to the changelog and included it in https://github.com/artsy/eigen/pull/228. ok?

yep. Merging.


dev: integrate tokio-console

Describe the enhancement request
Integrate tokio-console in the repository via the console-subscriber. Follow instructions from https://github.com/tokio-rs/console

Can I work on this

hey @ooochoche, sure, are you familiar with tokio-console?

I will get to work, thanks.

@greged93 please; I left a message within the PR. If you could take a look, any help would be appreciated.


Sized deallocation support

Sized Deallocation Support
High performance memory allocators such as jemalloc and TCMalloc provide a non-standard sdallocx  API which improves performance on the deallocation path. For jemalloc, sized deallocation is approximately ~30% cheaper in terms of CPU compared to unsized deallocations.
I'm opening this issue to discuss adding sized deallocation support in OpenSSL. Sized deallocation is supported in BoringSSL, and I believe this would also be useful in OpenSSL as well.
Possible implementation strategies include:

Prepending the size of the allocation to each object. Each OPENSSL_malloc or OPENSSL_zalloc of N bytes is actually an allocation of N + sizeof(size_t) bytes. OPENSSL_free reads the length prefix and invokes sdallocx(p, *(size_t*)(p-1)) bytes. This is the approach taken by BoringSSL. The advantage is that this approach minimizes code changes (this can be done almost entirely in crypto/mem.c). The disadvantages include the additional wasted space overhead and potential complexity of dealing with non-aligned objects (when interfacing with assembly routines).
Changing OPENSSL_free(p) calls throughout the codebase to OPENSSL_free_sized(p, sizeof(``*p))* or OPENSSL_free_sized(p, p->len). This can be done with the assistance of a refactoring tool, or done incrementally, as there are diminishing returns. The hottest deallocations paths we measured in the Facebook fleet are primarily in SSL3_BUFFER (due to SSL_MODE_RELEASE_BUFFERS) and in WPACKET_close., so we would start with those.

After these changes to the internals of OpenSSL so that deallocation is accompanied with a potential size hint, we would need to wire up the sdallocx calls somehow.

You can use some linking tricks with weak symbols, and rely on ELF symbol interposition to find the sdallocx API. BoringSSL takes this approach. The advantage is that this allows sized allocation support to be detected at runtime transparently. The disadvantage is that not all platforms support this, and there are situations where this cannot work.
Explicitly having the user supply a sized deallocation function, via something like CRYPTO_set_mem_funcs. If a sized deallocator is not set, fall back to using the traditional unsized free.
a. Changing the signature of CRYPTO_free_fn from void(void``, const char, int) to void(void``, size_t, const char*, int) or adding an additional argument to CRYPTO_set_mem_funcs would be ABI and API breaking.
b. Consequently, I'm inclined to add a separate setter for a sized deallocation func (e.g. CRYPTO_set_mem_func_sized(...)). If no sized deallocation function is set, then existing behavior is preserved.
Or this can be purely a compile time option. However, all of the major Linux distributions use glibc's allocator, which does not support sdallocx. Since OpenSSL is typically packaged as a dynamically linked library compiled against the glibc headers, this would limit the usability of this change.

If this feature request is reasonable, is there a preferred implementation approach before we start sending PRs?

Why shouldn't the high performance memory allocator maintain the size as a prefix (or elsewhere), if that path is so much faster?  I.e. I don't see that this is something OpenSSL should do.

Why shouldn't the high performance memory allocator maintain the size as a prefix (or elsewhere), if that path is so much faster?  I.e. I don't see that this is something OpenSSL should do.

@mingtaoy asked me to comment here for some background as a jemalloc developer.
I think there's a few reasons why most modern perf-sensitive allocators employ out-of-band metadata

Most of the heap in most real programs is occupied by small allocations. Storing size as a prefix would require adding (at least) _Alignof(max_align_t) bytes to every allocation, increasing memory consumption. Out-of-band metadata lets these allocations share space.
Thread-local caching as a lock-contention-avoidance strategy has better cache locality during fills and flushes if the metadata it has to access is more centralized.

I think I agree with @paulidale that the suggested strategy 1 probably doesn't make sense; e.g. having OpenSSL redundantly track sizes would hit the same problems as above. Rather, I think using the sized deallocation APIs makes more sense in those cases where the size of the deallocation is known anyways to the application, which in practice tends to be most of the time (the only common exception being NULL-terminated C-strings). I think strategy 2 makes more sense; in the common case where the user is already tracking allocation sizes anyways, letting the implementation know is free on the application side, and helps the malloc side out quite a bit.

@mingtaoy asked me to comment here for some background as a jemalloc developer.
I think there's a few reasons why most modern perf-sensitive allocators employ out-of-band metadata

Most of the heap in most real programs is occupied by small allocations. Storing size as a prefix would require adding (at least) _Alignof(max_align_t) bytes to every allocation, increasing memory consumption. Out-of-band metadata lets these allocations share space.
Thread-local caching as a lock-contention-avoidance strategy has better cache locality during fills and flushes if the metadata it has to access is more centralized.

I think I agree with @paulidale that the suggested strategy 1 probably doesn't make sense; e.g. having OpenSSL redundantly track sizes would hit the same problems as above. Rather, I think using the sized deallocation APIs makes more sense in those cases where the size of the deallocation is known anyways to the application, which in practice tends to be most of the time (the only common exception being NULL-terminated C-strings). I think strategy 2 makes more sense; in the common case where the user is already tracking allocation sizes anyways, letting the implementation know is free on the application side, and helps the malloc side out quite a bit.

OpenSSL uses sized deallocations when the data needs to be zeroed.  There is no reason to not pass sizes to other deallocations (where they are known), but I still suspect it would be better for the memory allocation library to track this.

OpenSSL uses sized deallocations when the data needs to be zeroed.  There is no reason to not pass sizes to other deallocations (where they are known), but I still suspect it would be better for the memory allocation library to track this.

It's worth mentioning that the size passed into CRYPTO_clear_free seems to be, in at least some cases, the /used/ portion of the buffer, and not the original allocated size.  Passing that size directly into sdallocx() resulted in heap corruption in our experiments.

It's worth mentioning that the size passed into CRYPTO_clear_free seems to be, in at least some cases, the /used/ portion of the buffer, and not the original allocated size.  Passing that size directly into sdallocx() resulted in heap corruption in our experiments.

I'd like to mention one other thing.  AFAIK, the C-style sdallocx() is not standard, but for what it's worth, C++14 did standardize its moral equivalent "sized delete": http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3536.html
TL;DR: sized deallocation is an increasingly common feature of high-performance allocators.

I'd like to mention one other thing.  AFAIK, the C-style sdallocx() is not standard, but for what it's worth, C++14 did standardize its moral equivalent "sized delete": http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3536.html
TL;DR: sized deallocation is an increasingly common feature of high-performance allocators.

It's worth mentioning that the size passed into CRYPTO_clear_free seems to be, in at least some cases, the /used/ portion of the buffer, and not the original allocated size. Passing that size directly into sdallocx() resulted in heap corruption in our experiments.

The secure heap rounds things up to a power of two size, so if you ask for 14bytes you'll get 16.  The actual_size function in crypto/mem_sec.c handles this.

It's worth mentioning that the size passed into CRYPTO_clear_free seems to be, in at least some cases, the /used/ portion of the buffer, and not the original allocated size. Passing that size directly into sdallocx() resulted in heap corruption in our experiments.

The secure heap rounds things up to a power of two size, so if you ask for 14bytes you'll get 16.  The actual_size function in crypto/mem_sec.c handles this.

The secure heap rounds things up to a power of two size, so if you ask for 14bytes you'll get 16. The actual_size function in crypto/mem_sec.c handles this.

Oh I see.  In that case it should be easy to integrate sized deallocation into CRYPTO_secure_free and CRYPTO_secure_clear_free.  Thanks!

The secure heap rounds things up to a power of two size, so if you ask for 14bytes you'll get 16. The actual_size function in crypto/mem_sec.c handles this.

Oh I see.  In that case it should be easy to integrate sized deallocation into CRYPTO_secure_free and CRYPTO_secure_clear_free.  Thanks!

Just a note: the secure heap always clears the memory: there is no difference between CRYPTO_secure_free and CRYPTO_secure_clear_free.
I'm also not sure how suitable the secure memory is for conversion to use sized deallocation.  In the case where it is not used, the calls could go through to specialised library calls.  Where it is being used, it manages memory itself and never frees anything.

Just a note: the secure heap always clears the memory: there is no difference between CRYPTO_secure_free and CRYPTO_secure_clear_free.
I'm also not sure how suitable the secure memory is for conversion to use sized deallocation.  In the case where it is not used, the calls could go through to specialised library calls.  Where it is being used, it manages memory itself and never frees anything.

marking as inactive, to be closed at the end of the 3.4 dev cycle barring further input

It might be worth reconsidering this now that we have standard support in the C language as of C23:
https://en.cppreference.com/w/c/memory/free_sized

openssl standardizes on C89, so any use of c23 features would have to at least be opt-in


chore: Corrected typos in Features.md

The FEATURES.md file contained Bike Allowed whereas the right string is Bikes Allowance
Other typos related to uppercase - lowercase confusion
In-station traversal time replaced by Traversal Time

@emmambd  Is this already fixed as part of the latest feature flags enhancements?

@davidgamez Yes! This would override new changes. Can be closed.


Get policies working on main based peer pods

As a peer pods workload owner
I want to have be able to block certain endpoints
so that I can restrict the interactions that users can have with my workloads
Description
In https://github.com/confidential-containers/cloud-api-adaptor/pull/1607 Pradipta added policy based on the CCv0 stream, however after some testing that @snir911 and I have done, we've found it doesn't work with the changed implementation on kata-containers main branch.
We should investigate this, try and get it working and ideally add the e2e test that were supposed to come following that PR.
Acceptance Criteria
Scenario: Block exec command
Given a peer pods set-up including the "latest" kata-containers main codebase and a pod created, which includes the annotation io.katacontainers.config.agent.policy: which is set to the base64 versions of allow-all-except-exec-process.rego
When we run kubectl exec <pod_name> -- <command>
Then The request is blocked with an error that includes: failed to exec in container and Validation failed for data.policy.ExecProcess
Scenario: Fully permission policy
Given a peer pods set-up including the "latest" kata-containers main codebase and a pod created, which includes the annotation io.katacontainers.config.agent.policy: which is set to the base64 versions of allow-all.rego
When we run kubectl exec <pod_name> -- <command>
Then The request is successful
Scenario: Check default policy is permissive
Given a peer pods set-up including the "latest" kata-containers main codebase and a pod created, with no io.katacontainers.config.agent.policy: annotation
When we run kubectl exec <pod_name> -- <command>
Then The request is successful

Note: This is implicitly tested by several other tests that use kubectl exec

In our initial investigation it looks like there are potentially two problems:

It looks like the policy stuff should be set in https://github.com/kata-containers/kata-containers/blob/b218c4bc1096f56b62830f892ff516cea44a60b2/src/runtime/pkg/oci/utils.go#L952
and read from the ociSpec annotations, but there doesn't seem to be anything in the logs to show that is going through and we end up with no policy in the AgentConfig:
AgentConfig:{KernelModules:[] ContainerPipeSize:0 DialTimeout:0 LongLiveConn:true Debug:false Trace:false EnableDebugConsole:false Policy:}. We probably need some more logging here to debug
The SetPolicy command isn't invoked on the remote hypervisor: https://github.com/kata-containers/kata-containers/blob/cf372f41bf5a6e75b2f8aeb15038c2b68077e50c/src/runtime/virtcontainers/kata_agent.go#L767-L780 we will need a kata-containers change for this.

OK, I create a local branch which fixed part 2 and even though Policy wasn't logged in the AgentConfig that worked, so maybe it's missing for security reasons or something? I'll create the kata-containers PR and hopefully resolve this soon.

9881 has been merged now, so I've created https://github.com/confidential-containers/cloud-api-adaptor/pull/1876 to add the e2e tests for this

How can we test that the policy works again? is it sufficient to deploy the kata-runtime using a recent version of the operator:
kubectl apply -k "github.com/confidential-containers/operator/config/release?ref=main"
kubectl apply -k "github.com/confidential-containers/operator/config/samples/ccruntime/peer-pods?ref=main"

How can we test that the policy works again? is it sufficient to deploy the kata-runtime using a recent version of the operator:
kubectl apply -k "github.com/confidential-containers/operator/config/release?ref=main"
kubectl apply -k "github.com/confidential-containers/operator/config/samples/ccruntime/peer-pods?ref=main"

Unfortunately I think not - the kata-container PR got merged on 20th June, but unfortunately we haven't had a successful kata-containers deployment payload since the day before. Unfortunately there is a problem with the arm runners :(
The way I tested it was to log in to the worker and rebuild and install the kata shim manually, which isn't too bad, so I can give you a snippet if that helps?

The way I tested it was to log in to the worker and rebuild and install the kata shim manually, which isn't too bad, so I can give you a snippet if that helps?

yeah that would help, thx.

@mkulke IIRC i could deploy latest by using kata-deploy-ci amd64 specific image which i found in the registry (the multiarch indeed wasn't there):
for example:
quay.io/kata-containers/kata-deploy-ci:kata-containers-e3e38738576682b35eafce7ecc5bb524884d4e21-amd64
(BTW agent policy tested and worked perfectly :+1: )

Yeah, Snir's approach works if you don't mind tweaking the operator code. Otherwise the approach I did pre-merge to test it is to log into the worker node and then run:
# Install dependencies
sudo apt install make
sudo snap install go --classic
# Pull in the version of code you need, `main` should be fine now it has merged
git clone https://github.com/kata-containers/kata-containers.git
cd kata-containers/src/runtime
# Build and install shim
make $PWD/containerd-shim-kata-v2
sudo install containerd-shim-kata-v2 /usr/local/bin/containerd-shim-kata-remote-v2

So it's not too bad once you've worked out the command and pre-reqs

Working and tested in https://github.com/confidential-containers/cloud-api-adaptor/pull/1876


Remove obsolete shim for atom.workspace.getCenter()

Now that the stable release of Atom includes atom/atom#13977, we no longer need this shim.

xref: https://github.com/atom/fuzzy-finder/pull/283 (which introduced this shim)

lgtm (:


⚠ Bofrost.de has degraded performance

In 67590f3, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1194 ms

Resolved: Bofrost.de performance has improved in 8741bcd after 20 minutes.


RDK-34344 - Screen capture to shared memory

https://jenkins.code.rdkcentral.com/job/github-triggered/15784/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/51147/ started.

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/10541/ started

Smoke tests for ['build-rpi-hybrid-refapp2-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/118078/

Smoke tests for ['build-rpi-hybrid-wpe-rdk-next'/'build-rpi-mc-wpe-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/118079/

Smoke tests for ['build-brcm-refboard'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/118084/

'['build-rpi-hybrid-wpe-rdk-next'/'build-rpi-mc-wpe-rdk-next']' Smoke test FAILURE, investigation pending.
Flash MC [SUCCESS]
Flash HYB [SUCCESS]
MC - Video Test [FAILURE]
Video HLS gst-launch [SUCCESS]
Video Streaming using aamp-cli [SUCCESS]
Video local using gst-play-1.0 [SUCCESS]
Video Streaming using rmfApp [FAILURE]
RDKShell CI Tests [FAILURE]
checking thunder security
Thunder security is disabled
getClients : Failed - [clients:[residentapp],success:true]
getZOrder : Failed - [clients:[residentapp],success:true]
getClients : Failed - [clients:[testapp2,testapp1,testapp,residentapp],success:true]
getZOrder : Failed - [clients:[testapp2,testapp1,testapp,residentapp],success:true]
add key intercept test failed
add key listener test failed
getClientsAfterKill : Failed - [clients:[residentapp],success:true]
Number of success test - 33
Number of failed test - 7
Video Streaming using rmfApp [SUCCESS]
HYB - Video Test [FAILURE]
Video HLS gst-launch [SUCCESS]
Video Streaming using aamp-cli [SUCCESS]
Video local using gst-play-1.0 [SUCCESS]
RDKShell CI Tests [FAILURE]
checking thunder security
Thunder security is disabled
getClients : Failed - [clients:[residentapp],success:true]
getZOrder : Failed - [clients:[residentapp],success:true]
getClients : Failed - [clients:[testapp2,testapp1,testapp,residentapp],success:true]
getZOrder : Failed - [clients:[testapp2,testapp1,testapp,residentapp],success:true]
add key intercept test failed
add key listener test failed
getClientsAfterKill : Failed - [clients:[residentapp],success:true]
Number of success test - 33
Number of failed test - 7
https://jenkins.cmf.code.rdkcentral.com/job/test-rdkv-raspberrypi-flow/34879/

Closed due to inactivity, please restore if still needed.


Redesign the CUPS Admin Webpage

Every time I need to use the CUPS admin Page. I feel like back in the year 2000.
It should be possible to Manage Printers and Classes and their rights from the Web more easy.
A dynamic help per Page would also be nice.
I would like to have a paper manager where i could setup the Paper with all parameters globally, and then add them to the Printers. And If a Print job is setup only the set-up paper could be chosen.

While I appreciate what you are asking for, the web interface is currently in maintenance mode and we have no plans of enhancing it.
In particular, the move towards "driverless" printing with IPP Everywhere and AirPrint puts the management of such things on the printer and not on the server, since the Client gets the list of supported media from the printer and not the printing system.

In my opinion a printer should have no authority about paper except the max./min. width and maybe some paper settings. But not what format between max./min. width or the length.
What Paper I have is my only authority.
I do not like to transfer the whole Management to the Printer.

All current printers report what media is loaded and typically provide their own web interface for configuring what additional media should be reported as "available" (which is therefore under your control...)
Moreover, CUPS has NEVER provided ways to limit media - we've always shown the full list reported by the driver. The kind of control you are asking for is typically provided by managed printing services.


[opt](inverted index) Optimize sequential phrase query logic

Proposed changes

Set enable_phrase_query_sequential_opt = true to optimize conjunction matching in sequential phrase queries.
For example, match_phrase "赵丽颖 中国 ~20+" ensures that "赵丽颖" appears consecutively, and "中国" also appears consecutively, while maintaining the semantics of sequential phrase queries.

run buildall

run buildall

run buildall


Bug in for loop

Description
What steps will reproduce the problem?

for t in range(1, 5):
print(t)
t=1
while(t<6):
t=t+1
print(t)
    I get for both whie and for  the following errors

File "", line 1
while(t<6):
if __name__ == "__main__":

File "", line 1
if name == "main":
^
SyntaxError: unexpected EOF while parsing
^
SyntaxError: unexpected EOF while parsing
Versions

Spyder version: 4.0.1
Python version: 3.7.6
Qt version: 5.9.6
PyQt5 version: 5.9.2
Operating System: Windows 10

Dependencies
atomicwrites >=1.2.0         :  1.3.0 (OK)
chardet >=2.0.0              :  3.0.4 (OK)
cloudpickle >=0.5.0          :  1.3.0 (OK)
diff_match_patch >=20181111  :  20181111 (OK)
intervaltree                 :  None (OK)
IPython >=4.0                :  7.12.0 (OK)
jedi =0.14.1                 :  0.14.1 (OK)
nbconvert >=4.0              :  5.6.1 (OK)
numpydoc >=0.6.0             :  0.9.2 (OK)
pexpect >=4.4.0              :  4.8.0 (OK)
pickleshare >=0.4            :  0.7.5 (OK)
psutil >=0.3                 :  5.6.7 (OK)
pygments >=2.0               :  2.5.2 (OK)
pylint >=0.25                :  2.4.4 (OK)
pyls >=0.31.2;<0.32.0        :  0.31.7 (OK)
zmq >=17                     :  18.1.1 (OK)
qdarkstyle >=2.7             :  2.8 (OK)
qtawesome >=0.5.7            :  0.6.1 (OK)
qtconsole >=4.6.0            :  4.6.0 (OK)
qtpy >=1.5.0                 :  1.9.0 (OK)
rtree >=0.8.3                :  0.9.3 (OK)
sphinx >=0.6.6               :  2.4.0 (OK)
spyder_kernels >=1.8.1;<2.0.0:  1.8.1 (OK)
watchdog                     :  None (OK)
cython >=0.21                :  0.29.15 (OK)
matplotlib >=2.0.0           :  3.1.3 (OK)
numpy >=1.7                  :  1.18.1 (OK)
pandas >=0.13.1              :  1.0.1 (OK)
scipy >=0.17.0               :  1.4.1 (OK)
sympy >=0.7.3                :  1.5.1 (OK)

@amird6 I think what is happening is that Python complains that you are running only a single line, like:
for t in range(1, 5):

This is not valid Python by itself, you need to run the whole loop in its entirety.
I do not know how you are actually running the code, but if you use "Run selection or current line" (F9), this normally runs only a single line and so it would give an error like what you are seeing. You need to select the whole for loop and then press "Run selection or current line". Alternatively, you can press "Run file" (F5) to run the entire file.
I hope this helps you solve your issue. Please let us know how you are getting on.

Closing due to lack of response


Query model has no version stamp information

There is no version stamp information on the stored query objects!

This was fixed in cw48 with an interim solution using java8 api imports, simple variables for creation and change localdatetime on the query model class and spring data converters in the spring boot project to allow conversion to legacy date (rather than blob) in backend mariadb table.


Error importing PPO

Hi,
I was using machin until today, but I think it there was a super recent update and now my code stopped working (only for PPO, DQN still works).
With version 0.4.0 I get the error (when importing "from machin.frame.algorithms import PPO"):
ModuleNotFoundError: No module named 'machin.frame.helpers'
And if I install version 0.3.4 I get the error (when updating PPO):
AttributeError: 'PPO' object has no attribute 'grad_max'
Joao

For the grad_max problem, this is because I just changed it to "gradient_max" so users can access the same name as they have passed in init.
For the helpers import problem, I am not sure what could cause that, could you please show the import section of your code?

Here is the error I get when running "import machin"

This was working until this morning.

Hi, the fix is very simple, I will upload it later. Currently, I am fixing my testing infrastructure so such import errors will be detected in the future.
As a temporary fix, you can clone this repository and install it in editable mode with pip install -e ., this installation method will link to the machin code directory, so "frame.helpers" can be found (which is not present in __all__ when installing from pypi or setup.py)

Fixed with 8841c618e2a5eb184085da11d3d35c56cf820a88


Musixmatch returns 404 while fetching lyrics

tested these changes on my local branch and was able to download files (originally this would crash on any file attempt)
Note: noticed that the following error output exists (happens at the end of the download, so the file still exists and works fine):
Unhandled exception. System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at Spotisharp.Client.Services.MusixmatchService.SearchLyricsFromText(String query) in E:\Coding\Repos\Spotisharp.Client\Services\MusixmatchService.cs:line 14
   at Program.<>c__DisplayClass0_0.<<<Main>$>b__0>d.MoveNext() in E:\Coding\Repos\Spotisharp.Client\Program.cs:line 280
--- End of stack trace from previous location ---
   at Program.<Main>$(String[] args) in E:\Coding\Repos\Spotisharp.Client\Program.cs:line 132
   at Program.<Main>(String[] args)

Originally posted by @narutoshocker in https://github.com/L0um15/Spotisharp/issues/45#issuecomment-2023751482

Due to recent changes in musixmatch website layout, scraping data became much more challenging. Website seems to be rendered by using javascript making parsing raw html data via HTMLAgilityPack near impossible without any sort of JS engine. It was inevitable and solution needs to be found.

I fixed this in my fork.  However, build test is failing because I replaced the SpotifyAPI nuget with git clone of the SpotifyAPI repository. Therefore, I am not going to submit a pull request.  Also, a few customizations (check for dups, batch runner, etc.) that I am too lazy to branch and remove.
Here is the solution:
Edit File: Spotisharp.Client/Services/MusixmatchService.cs
Replace Line 14:
string response = await client.GetStringAsync(searchQuery);
with
 var responseMessage = await client.GetAsync(searchQuery);
            if (!responseMessage.IsSuccessStatusCode)
                return string.Empty;

            var response = await responseMessage.Content.ReadAsStringAsync();

A second solution.  Remove the lyrics task.
I don't have the line numbers because my Program.cs is modified.
In Program.cs:
Comment out:
Task<string> lyricsTask = MusixmatchService.SearchLyricsFromText(fullName);
and
file.Tag.Lyrics = await lyricsTask;

I got around this by temporarily disabling the musixmatch service. Thanks. Closing.


Bump version to <IP_ADDRESS> and add release notes

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@f13317f). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #20   +/-   ##
=======================================
  Coverage        ?   95.30%
=======================================
  Files           ?        5
  Lines           ?      149
  Branches        ?       45
=======================================
  Hits            ?      142
  Misses          ?        7
  Partials        ?        0

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 f13317f...076d662. Read the comment docs.


chore: bdd-sbhg-1578359475 to 0.0.1

chore: Promote bdd-sbhg-1578359475 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Upgrade dependencies & tools

[x] Gradle
[ ] Kotlin
[ ] JavaFX
[x] JFoenix
[ ] ...

Gradle can be updated again.


[0.2.x-preview] no exception is raised when parsing a set with duplicated values

When unique_to_set is true and a repeated field has the constraint (validate.rules).repeated.unique = true, no exception is raised when parsing duplicated values.
Demo in
https://github.com/gontard/scalapb-validate-demo/commit/dab86bdec8e056517b612995809f32abe5ee19db

Yes, this has also been noted in [https://github.com/scalapb/ScalaPB/commit/4e1fa59970c8c7df707f0accab577a6d8f0160b5#diff-6149aa8f05e4ed90504f7f76bd58033f3c045f5dc21f53dda4dbc2a63e1a15b0R227-R233 should certainly be fixed. This was noted in [https://scalapb.github.io/docs/validation](the documentation) and should certainly be fixed.

Validation is performed only after a message is instantiated. Therefore, when you use a Set or a NonEmptySet instead of list, duplicate elements are deduped during parsing time, when ScalaPB adds them to the collections' builder. As a result, uniqueness validation will always succeed, even when the original message had duplicate elements.

Yes, this has also been noted in [https://github.com/scalapb/ScalaPB/commit/4e1fa59970c8c7df707f0accab577a6d8f0160b5#diff-6149aa8f05e4ed90504f7f76bd58033f3c045f5dc21f53dda4dbc2a63e1a15b0R227-R233 should certainly be fixed. This was noted in [https://scalapb.github.io/docs/validation](the documentation) and should certainly be fixed.

Validation is performed only after a message is instantiated. Therefore, when you use a Set or a NonEmptySet instead of list, duplicate elements are deduped during parsing time, when ScalaPB adds them to the collections' builder. As a result, uniqueness validation will always succeed, even when the original message had duplicate elements.

This should be addressed in 0.2.0-preview4. The change also requires updating ScalaPB's compilerplugin to 0.2.0-preview4 and regenerating all code.

This should be addressed in 0.2.0-preview4. The change also requires updating ScalaPB's compilerplugin to 0.2.0-preview4 and regenerating all code.

Closing as this is implemented in the preview. Feel free to open another issue if there are any gaps found.

Closing as this is implemented in the preview. Feel free to open another issue if there are any gaps found.