Refs #1106, #1629, #1617, #1614 - JAX-RS Root and Subresources identification, scanning and reading

@fehguy Refs #1106, #1629, #1617, #1614
As discussed, changes JAX-RS root and subresources identification, scanning and reading to be compliant with JAX-RS specs: Root resources are identified by @Path annotation at class level, and sub resources are identified by @Path annotation at method level, along with no @HttpMethod annotation.
It integrates changes from #1617, changing BeanConfig scanning to only consider @Path annotations, and #1629, used as base for further implementation.
Classes not annotated with @Path are only read in case config.scanAllResources is true, maintaining anyway @Api.hidden processing (@Api.hidden classes are never processed).
Tests have been adapted by setting always scanAllResources = true to be able to handle current test root resources classes which are not always annotated with @Path. A further enhancement would be comprehensively adjusting current test resources/classes to fully adhere to JAX-RS specs, possibly in scope of a different ticket.
Code has been tested via project tests and running swagger-samples projects.

@Helmsdown can you please comment if this addresses your use case?

@fehguy I think it will. When a snapshot is built and deployed let me know so I can give it a spin.

So you want me to merge, push, then undo if you don't like it?

Well if you are offering. :-)

@mtraynham @fehguy
I am not sure to get exactly what you mean by duplicates the function in swagger-ui (under it's own API section and it's parents);
I guess you refer to tags, but here behaviour haven't changed if I am not mistaken; it basically adds parent tags to operation only if existing, can you detail what you mean?
Actually I had some additional thoughts about the overall issue, basically root and child JAX-RS resources identification; the scenarios below should include possible options, in acending order of "Jax-rs compliance", eventually IMO option 5. would be the best, but all but Option 1. involve change in behaviour, which I am not sure if it is ok in same minor version, etc.
Please let me know what you think
In regards to subresource identification,  in scenario 1. subresources are considered when any method, even not annotated with @Path returned a class with @Api; in all other scenarios subresources are only considered when method annotated with @Path and not annotated with any @HttpMethod, regardless of scanAllResources.
1. PREVIOUS BEHAVIOUR
reads also root resources if not annotated with @Path. if not annotated with @Path and not with @Api also it reads if isScanAllResources is true
|@Api|reads|
|@Path|doesn't read|
|scanAllResources|reads|
|@Api hidden|doesn't read|
|@Api @Path hidden|doesn't read|
|@Api hidden scanAllResources|doesn't read|
|@Api scanAllResources|reads|
|@Api @Path|reads|
|@Api hidden scanAllResources|doesn't read|
|@Path scanAllResources|reads|
|subresource|doesn't read|
|@Api subresource|reads|
2.CURRENT BEHAVIOUR WITHOUT FIX ON SUBRESOURCE (if (readable || (api == null && config.isScanAllResources()) || isSubresource) {
Current PR https://github.com/swagger-api/swagger-core/pull/1636
reads root resources only if annotated with @Path. if not annotated with @Path and not with @Api also it reads if isScanAllResources is true
|@Api|doesn't read|
|@Path|doesn't read|
|scanAllResources|reads|
|@Api hidden|doesn't read|
|@Api @Path hidden|doesn't read|
|@Api hidden scanAllResources|doesn't read|
|@Api scanAllResources|reads|
|@Api @Path|reads|
|@Api hidden scanAllResources|doesn't read|
|@Path scanAllResources|reads|
|subresource|doesn't read|
|@Api subresource|reads|
3.CURRENT BEHAVIOUR WITH FIX ON SUBRESOURCE (if (readable || (api == null && config.isScanAllResources()) || isSubresource))
Current PR https://github.com/swagger-api/swagger-core/pull/1636 with change to be applied
Same as 2. but resources are always read.
|@Api|doesn't read|
|@Path|doesn't read|
|scanAllResources|reads|
|@Api hidden|doesn't read|
|@Api @Path hidden|doesn't read|
|@Api hidden scanAllResources|doesn't read|
|@Api scanAllResources|reads|
|@Api @Path|reads|
|@Api hidden scanAllResources|doesn't read|
|@Path scanAllResources|reads|
|subresource|reads|
|@Api subresource|reads|
4.MORE JAX-RS COMPLIANT BEHAVIOUR
Code at https://github.com/frantuma/swagger-core/tree/issue-1614-enhanced/
reads root resources only if annotated with (@Path and @Api) or (@Path and scanAllResources). if not annotated with @Path classes are never read.
|@Api|doesn't read|
|@Path|doesn't read|
|scanAllResources|doesn't read|
|@Api hidden|doesn't read|
|@Api @Path hidden|doesn't read|
|@Api hidden scanAllResources|doesn't read|
|@Api scanAllResources|doesn't read|
|@Api @Path|reads|
|@Api hidden scanAllResources|doesn't read|
|@Path scanAllResources|reads|
|subresource|reads|
|@Api subresource|reads|
5.FULLY JAX-RS COMPLIANT BEHAVIOUR
Code to be updated at https://github.com/frantuma/swagger-core/tree/issue-1614-enhanced/
|@Api|doesn't read|
|@Path|reads|
|scanAllResources|reads|
|@Api hidden|doesn't read|
|@Api @Path hidden|doesn't read|
|@Api hidden scanAllResources|doesn't read|
|@Api scanAllResources|doesn't read|
|@Api @Path|reads|
|@Api hidden scanAllResources|doesn't read|
|@Path scanAllResources|reads|
|subresource|reads|
|@Api subresource|reads|

@frantuma
As long as the subresource @Api annotation doesn't actually have a value set then it works as you intended because no tags were extracted on the subresource.  When I raised the question yesterday, I thought it would generate an empty Tag, but that's not the case.
This does leave room for user error though, when we could just skip Tag generation for subResources.  For instance, in the case I did set a value on the @Api annotation for a subresource, the operation would get two Tags.  Albeit, it's a pretty minor issue, I just mistook the code path as always generating a Tag for the subresource.
@Path("/pets")
@Api("Operations on Pets")
public class Pets {
    public Pets() {
    }

    @GET
    public List<String> getAll() {
        return new ArrayList<>();
    }

    @Path("/{id}")
    public Pet get(@PathParam("id") String id) {
        return new Pet(id);
    }

    @Api("Operations on Pet")
    public static class Pet {
        private final String id;

        public Pet(String id) {
            this.id = id;
        }

        @GET
        public String get() {
            return this.id;
        }
    }
}

@frantuma thank you for the detailed response.  I certainly prefer to be fully JaxRS compliant in our solution.  I do believe this will cause some breakage to users though so the impact of this change should be well documented and covered in the release notes.  It has been our intent to follow JAXRS for this feature.
@mtraynham regarding tags, the behavior in the code is to extract them when they're not explicitly set.  So the best way to "avoid user error" is to programmatically configure the tags like such:
@Api(value = "/pet", tags = {"pets", "animals"})


hyprland-qtutils not installed and in conflict with hyprutils

When running latest updates to my system which runs hyprland, after the reboot, there is notification that pops up saying, "hyprland-qtutils  is not installed please consider installing" or something like that.
When I do install it, it apparently is in conflict with hyprutils and yay will ask to remove hyprutils
What is the best course of action here as I do not want to break anything but the notifications always pops up every time I boot to linux and it is annoying.

Are you using Arch Linux?
It seems like hyprland-qtutils-git (pkg) has a dependency on hyprland-utils-git (pkg, AUR) which conflicts with hyprland-utils (pkg).
And an equivalent "hyprland-qtutils" (pkg) hasn't been published yet to extra. Ideally hyprland-qtutils (this project) should also be published to extra.

i'm on tumbleweed and I cannot resolve this. ive build and installed from source and it still shows up. on the hyprland wiki  there is a variable for disable_hyprland_qtutils_check but I cannot get this to work in my hyprland.conf file either.

Are you using Arch Linux?
It seems like hyprland-qtutils-git (pkg) has a dependency on hyprland-utils-git (pkg, AUR) which conflicts with hyprland-utils (pkg).
And an equivalent "hyprland-qtutils" (pkg) hasn't been published yet to extra. Ideally hyprland-qtutils (this project) should also be published to extra.
I also agree that the popup would be quite annoying and preferably there should be an option to disable it if it's just an optional dependency.

@seangenabe  Yes I am on arch. and Yes, this is the conflict seems to look like that the pkg is in conflict with the AUR/pkg.

On Arch, managed to disable the message by adding the below to my hyprland.conf in the misc section under "look and feel" as per https://wiki.hyprland.org/Configuring/Variables/
disable_hyprland_qtutils_check = true
misc {
    disable_hyprland_qtutils_check = true
}

On Arch, managed to disable the message by adding the below to my hyprland.conf in the misc section under "look and feel" as per https://wiki.hyprland.org/Configuring/Variables/
disable_hyprland_qtutils_check = true
misc {
    disable_hyprland_qtutils_check = true
}

Does this only work after the update? because I am trying to add it right now before updating and it days, "it does not exist"


Could not find a version that satisfies the requirement pkg-resources==0.0.0

Open requirements.txt and remove pkg-resources==0.0.0.


[6.x] Is dirty giving false negative when null value changed to false

I stumbled into this today and created a test to make sure I was not going crazy...
So basically it looks like Laravel does a loose comparison when checking if objects are equal each other, meaning if you change a json object from having a null value to a false value, it will not save it, because isDirty is not detecting any changes.
If anyone else have this issue, then the new AsArrayObject cast seems to fix it as it uses strict comparison.

sorry... forgot to target to 6.x

Btw, you can adjust the target branch by clicking "edit"

@driesvints Yeah, but apparently the button is not showing up for me on this PR.
It does it on the new one I created, pretty weird.

@olivernybroe probably because the PR was closed. I believe it'll show if the PR is still open.


Update defender-for-container-registries-cicd.md

@kunchawla : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@kunchawla : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@Court72 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Public website: playground to setup endpoints

[ ] Being able to generate fake data to preview
[ ] Being able to switch between themes
[ ] Form to send email
[ ] Send email + token

@IvanGuardado do you think is worth exploring the option of "Login with GitHub" as the default method? Or twitter? Or Google? Instead of email?


Test and optimise NodeODM deployment

Test resource allocations for NodeODM and try it with some larger image sets.
Build upon the example we have here. Ask Sindre to help as he knows the setup better than anyone else in SeaBee.
It would be interesting to eventually try a more rigorous comparison with Pix4D. If necessary, we could also consider deploying Pix4D Engine.

I have made a sample deployment of nodeodm using kustomize in nodeodm-deployment, but agree that it would be nice to have it as its own chart in this repo.


Note about iframe embed.

This is important when working with CSMes, where <script> tags will be purged from the page's contents due to security considerations.

Hi @sickill ,
The idea of a fit=both param sounds good to me. Would you like to make the change or do you want me to crack at it?

You can have a crack at it if you want, although I won't be able to review it for at least few weeks.


ErGw3Az supports 10Gbit

@derdanu : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

@duongau For review
Thanks!

@derdanu The testing PG did here is with a 1Gbps circuit to keep it the same for all gateway SKUs. #please-close


Use virtual env - [merged]

In GitLab by @arisilon on May 25, 2023, 22:06
Merges feature/virtualenv -> master

In GitLab by @arisilon on May 25, 2023, 22:09
mentioned in commit f8f711e79b6eca6d375f703d93191156874f5a97


Build/push docker artifacts via GHA, with matching tags in GH and Docker Hub

[ ] making the ghcr.io package repository public (needs @datopian support)
[ ] acquiring Docker login credentials to push to Docker Hub (or is there another docker hub we can push to?)
[ ] ...

@demenech any idea if we do have access to docker hub?

hi @rufuspollock
I have access. I'm working on adding deprecation warnings before pushing the latest version. Or would we want to keep docker hub support?

hello @rufuspollock
Merry Christimas.
I raised this PR with the deprecation warning and pushed 0.6.2 to dockerhub. I'll wait for some input before pushing to latest.


if we put the claendar box in div of smaller size div then its not showing on top

if we put the claendar box in div of smaller size div then its not showing on top

Hi,
Please can you provide more details ?

For example, I have created a div with 150px height and inside i have created a button that triggers calender. As the div siz is smaller calender should show on top of that div but is not


With multiple rules in effect, when first rule check fails due to internal transient error, the rest of rules are skipped

Which could be an issue, when e.g. the first rule is FixedWindow with ShouldThrowOnFailures = false and the second rule is Semaphore (which should be enforced in any case).

fixed in v7.1.2


DHL Express tracking doesn't work

Ditched ideas of hacking public tracking interface and used unified api instead with requested api key.


Add Preview button to edit page

Relates to DEC-1146

Coverage remained the same at 95.588% when pulling da348cce4b456912800e2bbbc042bec22b3f38a5 on DEC-1146-add-a-preview-button-on-honeycomb-pages into 8557d31f06e203b5aebdcef5634903256e94d669 on master.

👍


Solve Vim system() related issues.

Replace ncurses with tputs and termios.
Add an -X option to disable use of the alternate screen.

Hopefully solves #4, #18, #19 and #20.
@Keithbsmiley, @mike-burns, @teoljungberg  and @ggilder, could you guys help test this on your machines?

I have some refactoring to do but wanted to get this tested as soon as possible.

I'll give it a whirl for the next few days, I can already confirm that it doesn't fuckup the arrow-keys

Cool progress. Some general code cleanup will be nice (more vertical spacing/newlines), but it's certainly off to a fun start.

After some testing, I realize that this breaks using arrow keys in pick. This is due to the fact that getc reads a character where as ncurses getch when using keypad(stdscr, TRUE); reads multiple characters in the case of function keys. I will look into how we can replicate this functionality.

I have pushed a solution to the arrow key issue. I have no idea how portable it is.

@calleerlandsson The arrow keys work in the shell now, but not from vim

Damn. I can reproduce it too.

If someone wants to tackle this, I think the solution is in logging read characters when pressing arrow keys while running within Vim. If not, I'll do it on Thursday.

It's now working and I can build and run successfully on Yosemite and Arch. I want to do a lot of refactoring in general but would prefer to do this in a separate PR.

Works on Debian Jessie, in and outside of vim, including arrow keys.
Works on OpenBSD 5.6-RELEASE (inside a VM), in and outside of vim, including arrow keys.
Works on FreeBSD 10.1-RELEASE (inside a VM), in and outside of vim, including arrow keys.

LGTM!

Awesome! Thanks for testing this so thoroughly, @mike-burns! Merging.


Restructure image resource directories

Purpose
Restructuring image resource directories.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Make graph.Delta zero state invalid for use

Previously, an incorrectly initialised Delta (omission of Action) would
result in an Add operation. Make that detectable and return an error.

Merging this with #202.


Parsing error: The keyword 'export' is reserved

That's the error I got from Eslint whenever the keyword "export" or "import" is used.
I've tried restarting my code editor (VSCode), to adding parseOptions to Eslint Config, to no avail:
{
  "env": {
    "jest": true,
    "es6": true
  },
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": 2018,
    "sourceType": "module"
  }
}

The only thing I haven't tried is to use babel-eslint as a parser 😅. What do you recommend?

When you have this error? running what command?

You didn't have this error? I just opened any .js file, for example dev-example/pages/index.js and got the error. Opening .tsx files didn't cause the error.

Thanks for solving that, i really appreciate it 💖 i have removed eslint because i wanted to configure it again and i dont notice that, solved in v3.10.1
Install it with:
npm i @9gustin/react-notion-render@latest


support once error

Change-Id: Icde9abdaede8b8bff60a4a3865b4d4f757661cce

Previously this code retried fn until success. Now it is executed once, stores the error, and returns that error on each call. I think go-pg wants previous behavior.

once meaning only executed  one time, store error in local instance, and each call will get a Idempotent error when fn call again.

https://github.com/go4org/go4/blob/master/syncutil/once.go#L28 disagrees with you, but anyway - go-redis relies on existing behavior.


Prisma db pull failed due to unrecognized column

Hi Prisma Team! Prisma Migrate just crashed.
Command
db pull
Versions

Name
Version

Platform
debian-openssl-1.1.x

Node
v16.17.0

Prisma CLI
4.1.0

Engine
8d8414deb360336e4698a65aa45a1fbaf1ce13d8

Error
Error: [libs/datamodel/connectors/dml/src/model.rs:494:29] Hi there! We've been seeing this error in our error reporting backend, but cannot reproduce it in our own tests. The problem is that we have a primary key in the model `Contact` that uses the column `HourGroup` which we for some reason don't have in our internal representation. If you see this, could you please file an issue to https://github.com/prisma/prisma so we can discuss about fixing this. -- Your friendly prisma developers.

Update:
Closing this issue. After updating to Prisma CLI 4.4.0 I was able to execute the command successfully


Add macosicons extension

Description

Extension for browsing and applying icons from macOSicons.com
Screencast

Icons Browser

The process of updating an icon for the app is very easy:

When you find an icon you like, select it, press return (or select the first item from "Actions" menu)

Select the application you want to change the icon for

And viola, your new icon is immediately applied system-wide!

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

hmm. I really was looking forward to this extension. (did you possibly forget to click the request re-review button?)

Is there any chance for this to get reviewed?

Yeah, just request rereview by clicking that button 🙏🏼  🙏🏼  🙏🏼  🙏🏼  dude I seriously need this extension

It's still awaiting @shldk to make the corrections, and we have to figure out some things. Nothing has changed since my last review, as far as I can see.


What does unsubscribe need to do and what are the requirements?

What?

CASL is a thing https://www.fightspam.gc.ca/eic/site/030.nsf/eng/home
Does it apply?
How does it apply?
What do we need to be compliant?
Do people need to Opt-in? or can Senders still upload people?

Why?

We don't want to break CASL laws

After talking with Australia, @maxneuvians, and @sboots we have decided to not do this now.
CASL doesn't apply
CSV list uploads are instanced and not stored so there is nothing to unsub from.


Updated 2 new design tools

Supernova Studio in "Design to Code Tools" and evolt in "User Research Tools". Updated the tools in the Readme.md file alone.
Follow up PR for https://github.com/LisaDziuba/Awesome-Design-Tools/pull/211
Checklist

[x] I made something good today 💐.
[x] I put links in the correct format: [Tool](link) — description.
[x] My description starts with the lower-case letter and ends with the full stop.
[x] I put the tool in the alphabetical order.

Optional

[x] I added the appropriate labels: free, open-source or mac.
[x] I put the tool only to one category.
[x] I followed Contribution Guidelines.

Thank you again for adding awesome tools!


should not lock gopg_migrations table if table does not exist

error ERROR #42P01 relation "gopg_migrations" does not exist. when running migrations for the first time.
It should be check that the table exists before locking

Why? What does it fix?

Is this a bug? I got the same issue.

You need to initialize the tool via go run *.go init


ConfigMgr - Deployment Issues

Hello,
I need to simulate applications deployments with devtestlabs COnfigMgr Scenario to validate my package/Applications.
But the content can't be deployed to the client computer (on the same Vnet with NSG (Allow All Any=Any)
Do you have the same issue?
Thanks,
Yoann

Hi Yoann
I didnt understand your question at all. Is this related to Azure DevTest Labs service : https://azure.microsoft.com/en-us/services/devtest-lab/
If yes, can you please explain what you are doing in detail.

Hi,
I have troubleshooted my issue and it came from Artefact "Create new Domain".
Now, the issue is resolved.
Thanks for your help,
Yoann


Add a business day function to help with date math

Should use the holidays Python module as well as accounting for Saturday and Sunday

For very short time periods, the math can be more complicated. E.g., in many jurisdictions, if it's less than 7 days, you only count the business days. If it's more than 7 days, you just worry about the ending day.
This will be a wrapper around an existing module--something like https://github.com/gocardless/business-python or http://wilsonfreitas.github.io/python-bizdays/.
Investigate whether we really need a wrapper

Can you give an example of how this function should work?

@purplesky2016 it would be something like this:
get_business_day(date, days=14, country_code=US, state=MA) and then it would tell you the next business day that is at least 14 days later. The special wrinkle is that in many states, there is a minimum number of days where every day needs to be a business day instead of just the ending day. I think it would make sense for that to be a parameter too.
This should also incorporate state holidays, and the holidays Python package is a good solution for that. I used that code in MADE which is here: https://github.com/GBLS/docassemble-MAEvictionDefense/blob/057d0178c83e964ce9e9361c702653a9d1b81049/docassemble/MAEvictionDefense/data/questions/eviction.code.yml#L398
The one funny thing about the holidays package is that it calls Evacuation Day a holiday, but that's no longer a day courts or businesses are closed in MA.


Error in Electrical.Digital when running Dymola2014 Beta in pedantic mode

Reported by clauss on 12 Mar 2013 14:16 UTC
On 03/ 8/13 03:47 PM, Martin Otter wrote:
Dear MAP-LIB partners,
I just ran MSL on the trunk with Dymola 2014 Beta 1 with my script (= translating all models that have a StopTime annotation with pedantic = true). Now only two models of MSL give an error:
Modelica.Electrical.Digital.Examples.Adder4
"The variable Adder1.Adder2.AND.G1.auxiliary[1] has fixed = true, but it was deduced to be calculated from a parameter equation
Adder1.Adder2.AND.G1.auxiliary[1] = Set.y;
The variable Adder1.Adder2.XOR.G1.auxiliary[1] has fixed = true, but it was deduced to be calculated from a parameter equation
Adder1.Adder2.XOR.G1.auxiliary[1] = Set.y;

Migrated-From: https://trac.modelica.org/Modelica/ticket/1016

Comment by clauss on 12 Mar 2013 14:22 UTC
In 5e90dafe2ef01eeb088cc3e99cb90e5871447b39 fixed by introducing an auxiliary variable in the Set source.

Comment by dietmarw on 12 Mar 2013 14:49 UTC
5e90dafe2ef01eeb088cc3e99cb90e5871447b39 added a new commented out line which is useless. Also it looks very much the nature of the model now has changed because the output is now delayed by one output.
The whole construct looks like a bad tool workaround hack and should be reverted. If some tools can not cope with legal Modelica code then those tools should be fixed and not the MSL hacked!

Comment by clauss on 13 Mar 2013 07:37 UTC
I also do not like my new text. But I was forced to fix that error, nobody else.
I do not disagree to revert the text. Dietmar, do you know who should overtake the
responsibility?

Comment by dietmarw on 13 Mar 2013 08:02 UTC
What really needs clarification is if it was really a bug in your code (which I in this case doubt) or simply something that is broken in Dymola 2014 Beta1's (note the beta status) pedantic mode.

Comment by hansolsson on 13 Mar 2013 08:37 UTC
As far as I can see it is an overdetermined initialization problem; which is not good style.
The issue seems to be the Set constant source which is connected as one input to the Adder1.Adder2; and the adder has variables with fixed=true.
A simpler variant of the same idea would be:
model U
  parameter Boolean b=true;
  Boolean x[10](each start=true, each fixed=true);
equation
  x[1]=b;
  for i in 2:size(x,1) loop
    x[i]=x[i-1];
  end for;
end U;

Comment by clauss on 13 Mar 2013 09:22 UTC
It seems not to be the same as model U: If in model U fixed=true is omitted then Dymola2014 works without errors.
If in the original case the above mentioned hack is reversed to
block Set "Digital Set Source"
  import D = Modelica.Electrical.Digital;
  import L = Modelica.Electrical.Digital.Interfaces.Logic;
  parameter D.Interfaces.Logic x(start=L.'1') "Logic value to be set";
  D.Interfaces.DigitalOutput y;
algorithm
  y := x;
end Set;

and whithin And the
Dymola offers:
The variable Adder1.Adder2.AND.G1.auxiliary[1] has fixed = true, but it was deduced to be calculated from a parameter equation
Adder1.Adder2.AND.G1.auxiliary[1] = Set.y;
If furthermore the overdetermination you mention is deleted to
model And "And logic component with multiple input and one output"
  import D = Modelica.Electrical.Digital;
  import L = Modelica.Electrical.Digital.Interfaces.Logic;
  extends D.Interfaces.MISO;
protected
  D.Interfaces.Logic auxiliary[n](each start=L.'U');
equation
  auxiliary[1] = x[1];
  for i in 1:n - 1 loop
    auxiliary[i + 1] =Modelica.Electrical.Digital.Tables.AndTable[
  auxiliary[i], x[i + 1]];
  end for;
  y = pre(auxiliary[n]);
end And;

then the result is:
The initial conditions are not fully specified.
Dymola has selected default initial conditions.
That means, there seems not to be an overdetermination.

Comment by clauss on 14 Mar 2013 11:47 UTC
fixed in 8cf7b87f7e2501a8ad5ec914c6bc7591c7489c50: According of proposal from S. E. Mattsson
model And "And logic component with multiple input and one output"
  import D = Modelica.Electrical.Digital;
  import L = Modelica.Electrical.Digital.Interfaces.Logic;
  extends D.Interfaces.MISO;
protected
  D.Interfaces.Logic auxiliary[n](each start=L.'U');
  D.Interfaces.Logic auxiliary_n(start=L.'U', each fixed=true);
equation
  auxiliary[1] = x[1];
  for i in 1:n - 1 loop
    auxiliary[i + 1] =Modelica.Electrical.Digital.Tables.AndTable[
  auxiliary[i], x[i + 1]];
  end for;
auxiliary_n = auxiliary[n];
  y = pre(auxiliary_n);
end And;

auxiliary_n introduced in the Basic components.
Dietmar, could you check the new version to be acceptable?

Comment by otter on 26 Mar 2013 16:05 UTC
Closing ticket, since the committed version compiles and translates with pedantic flag in latest Dymola version.

Modified by majetta on 5 Apr 2013 11:50 UTC

Changelog modified by majetta on 5 Apr 2013 11:50 UTC
Errors changed in Electrical.Digital in order to make models work if pedantic flac is set

Modified by majetta on 10 Apr 2013 08:47 UTC

Changelog modified by majetta on 10 Apr 2013 08:47 UTC
Setting of initial values revised. Only that array component [n] of the array auxiliary gets an initial value by setting   D.Interfaces.Logic auxiliary_n(start=L.'U', each fixed=true); instead of giving the whole array an inital value. This avoids overspecifying of inital value setting.

Modified by beutlich on 28 Jan 2016 19:38 UTC

Changelog modified by beutlich on 28 Jan 2016 19:38 UTC
Setting of initial values revised. Only that array component [n] of the array auxiliary gets an initial value by setting   D.Interfaces.Logic auxiliary_n(start=L.'U', each fixed=true); instead of giving the whole array an initial value. This avoids overspecifying of initial value setting.


[full-ci] stable 5 - bump reva to f246d1b82fd6

pull in reva backport of https://github.com/cs3org/reva/pull/4850 / https://github.com/cs3org/reva/pull/4853

ok this failure
Scenario: download old versions of a file                                                 # /drone/src/tests/acceptance/features/coreApiVersions/fileVersions.feature:158

    Given user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt" # FeatureContext::userHasUploadedAFileWithContentTo()

    And user "Alice" has uploaded file with content "version 1" to "textfile0.txt"          # FeatureContext::userHasUploadedAFileWithContentTo()

    And user "Alice" has uploaded file with content "version 2" to "textfile0.txt"          # FeatureContext::userHasUploadedAFileWithContentTo()

    When user "Alice" downloads the version of file "textfile0.txt" with the index "1"      # FilesVersionsContext::userDownloadsVersion()

    Then the HTTP status code should be "200"                                               # FeatureContext::thenTheHTTPStatusCodeShouldBe()

    And the following headers should be set                                                 # FeatureContext::theFollowingHeadersShouldBeSet()

      | header              | value                                                                  |

      | Content-Disposition | attachment; filename*=UTF-8''"textfile0.txt"; filename="textfile0.txt" |

      WebDav::theFollowingHeadersShouldBeSet Expected value for header 'Content-Disposition' was 'attachment; filename*=UTF-8''"textfile0.txt"; filename="textfile0.txt"', but got 'attachment; filename*=UTF-8''textfile0.txt; filename="textfile0.txt"' instead.

      Failed asserting that two strings are equal.

      --- Expected

      +++ Actual

      @@ @@

      -'attachment; filename*=UTF-8''"textfile0.txt"; filename="textfile0.txt"'

      +'attachment; filename*=UTF-8''textfile0.txt; filename="textfile0.txt"'

    And the downloaded content should be "version 1"                                        # FeatureContext::downloadedContentShouldBe()

    When user "Alice" downloads the version of file "textfile0.txt" with the index "2"      # FilesVersionsContext::userDownloadsVersion()

    Then the HTTP status code should be "200"                                               # FeatureContext::thenTheHTTPStatusCodeShouldBe()

    And the following headers should be set                                                 # FeatureContext::theFollowingHeadersShouldBeSet()

      | header              | value                                                                  |

      | Content-Disposition | attachment; filename*=UTF-8''"textfile0.txt"; filename="textfile0.txt" |

    And the downloaded content should be "uploaded content"                                 # FeatureContext::downloadedContentShouldBe()

is caused by https://github.com/owncloud/ocis/pull/10103/files#diff-ff7e7b46cabe5595fb1efccc95b14cfbf7f5b38fd436b48991f55da4c58bb929R31
I need to check how that cam into the stable branch

ok @JammingBen added the failing tests to the testsuite in https://github.com/cs3org/reva/commit/0e84ed8127ecf805e3b39310b3cd54785529b317
I am a little worried about leaving out the " ... AFAICT it is at least part off fixing https://github.com/owncloud/web/issues/11169
@ScharfViktor did we updated the expected test cases in reva edge?

https://github.com/owncloud/web/pull/11187/files onl seems to be part of the problem

Ok, here is the full chan of related bnpf for the filename* param:
   content-disposition = "Content-Disposition" ":"
                        disposition-type *( ";" disposition-parm )

    disposition-parm    = filename-parm | disp-ext-parm

    filename-parm       = "filename" "=" value
                        | "filename*" "=" ext-value

    Defined in [RFC5987]:

    ext-value   = <ext-value, defined in [RFC5987], Section 3.2>

    ext-value     = charset  "'" [ language ] "'" value-chars
        ; like RFC 2231's <extended-initial-value>
        ; (see [RFC2231], Section 7)

    charset       = "UTF-8" / "ISO-8859-1" / mime-charset

    value-chars   = *( pct-encoded / attr-char )

    pct-encoded   = "%" HEXDIG HEXDIG
                ; see [RFC3986], Section 2.1

    attr-char     = ALPHA / DIGIT
                / "!" / "#" / "$" / "&" / "+" / "-" / "."
                / "^" / "_" / "`" / "|" / "~"
                ; token except ( "*" / "'" / "%" )

so I updated the tests to expect a non quoted string for filename* in https://github.com/owncloud/ocis/pull/10103/commits/8fde928b389f2ed86b770b47a46be71bdc673fe7
however ... there is also filename, which is still broken . But we can fix that in a followup PR. Tracked in https://github.com/owncloud/ocis/issues/10110

ok, the sonarcloud error is caused because it seems to use a cache:
12:56:42.264 DEBUG 'services/auth-basic/pkg/config/config.go' generated metadata with charset 'UTF-8'
12:56:42.264 DEBUG Checking that previous results can be reused for input file owncloud_ocis:services/auth-basic/pkg/config/config.go.
12:56:42.264 DEBUG Looking up cached CPD tokens for owncloud_ocis:services/auth-basic/pkg/config/config.go ...
12:56:42.264 DEBUG Found cached CPD tokens for owncloud_ocis:services/auth-basic/pkg/config/config.go.
12:56:42.264 DEBUG Loading cached CPD tokens for owncloud_ocis:services/auth-basic/pkg/config/config.go ...
12:56:42.264 DEBUG Loaded cached CPD tokens for owncloud_ocis:services/auth-basic/pkg/config/config.go.
12:56:42.271 ERROR Error during SonarScanner Engine execution
java.lang.IllegalArgumentException: 181 is not a valid line offset for pointer. File services/auth-basic/pkg/config/config.go has 162 character(s) at line 51

ok, let me try this https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/analysis-parameters/#multibranch
sonar.newCode.referenceBranch=stable-5.0

running in https://drone.owncloud.com/owncloud/ocis/39112

hm. no use. I'll revert the sonar.newCode.referenceBranch=stable-5.0 line ...
@micbar how do we continue. I'm a little hesitant to just merge the PR because I don't know if there are dragons when docker containers are not built.

I think this is a cache that is maintained on sonarcloud https://docs.sonarsource.com/sonarcloud/advanced-setup/incremental-analysis-mechanisms/#caching-process


hacked

[Enter feedback here]

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

ID: c0d1a52c-1c9d-0745-8afa-ade8c0d1d110
Version Independent ID: c7843002-b880-b931-d2e4-6d927bd59223
Content: Integrating custom apps and third party services with VSTS and Team Foundation Server
Content Source: docs/integrate/index.md
Product: devops
GitHub Login: @elbatk
Microsoft Alias: elbatk

Closing this issue due to lack of information.


Put final notation where applicable.

Just some cleanup of setting final variables.

lol i didnt even know this pr existed alr

lol yeah, super old.


TimestampType.str doesn't honor timezone offset

When parsing a timestamp (e.g., timestamp("2020-10-20T12:00:00-05:00")), the provided timezone offset is stored but not output by __str__ or __repr__ which are hard coded to output the Z UTC abbreviation.
I think this is just a display issue, as the offset does appear to be used in comparisons. But it can be confusing when playing around in a repl shell. Example:
In [155]: utc = celtypes.TimestampType('2020-10-20T12:00:00Z')

In [156]: not_utc = celtypes.TimestampType('2020-10-20T12:00:00-05:00')

In [157]: utc
Out[157]: TimestampType('2020-10-20T12:00:00Z')

In [158]: not_utc
Out[158]: TimestampType('2020-10-20T12:00:00Z')

In [159]: utc == not_utc
Out[159]: False

In [160]: str(utc) == str(not_utc)
Out[160]: True

This does seem wrong to ignore an actual timezone and treat it as UTC ("Z")


Add scripts and assets for publishing Blazor companion extension

Summary of the changes

Add missing contents to extension manifest
Add script for bundling and publishing extension

Fixes: https://github.com/dotnet/aspnetcore/issues/22587

Merging this now with the following changes:

Consolidated version detection and VSIX packaging into a single Powershell task
Removed scripts directory from extension output
Bumped version number to v1.0.0

Thanks all!


docs: enrich the document

update the content to make it more clear and clean.

airdrop typo farmer. please do not merge

airdrop typo farmer. please do not merge

It can be postponed or discarded. ZKP and ZKVM is one research routine of my project this year.


fix(netlify): Support Netlify Functions

Support netlify functions. This may also result in AWS to work but will need additional testing

:tada: This PR is included in version 1.2.38 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Refactor/property

Reference Issues/PRs
#34
What does this implement/fix? Explain your changes.
Any other comments?

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

Project coverage is 88.52%. Comparing base (3a4c8f0) to head (fbb5d3a).

Additional details and impacted files
@@            Coverage Diff             @@
##              dev      #35      +/-   ##
==========================================
+ Coverage   85.09%   88.52%   +3.44%
==========================================
  Files           5        5
  Lines         181      148      -33
  Branches       21       21
==========================================
- Hits          154      131      -23
+ Misses         17        7      -10
  Partials       10       10

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


Is Vagrant 1.7 supported?

As of today, the last version of Vagrant is 1.7.2, and according to the README the plugin is supported only over Vagrant 1.5 and 1.6.
Is this a real constrain or is the README outdated?
Anyone using this plugin with Vagrant 1.7?
Thanks

I'm running vagrant-libvirt with Vagrant 1.7.2 on multiple Debian Wheezy machines. So far I did not encounter any issues, hth.

Thanks for the report @tkrille !


[BUG]: Error with Ollama AI provider "unmarshal: invalid character 'p' after top-level value"

Checklist

[X] I've searched for similar issues and couldn't find anything matching
[X] I've included steps to reproduce the behavior

Affected Components

[X] K8sGPT (CLI)
[ ] K8sGPT Operator

K8sGPT Version
v0.3.40
Kubernetes Version
v1.26.3
Host OS and its Version
Fedora 40
Steps to reproduce
I configured an Ollama backend by following documentation here https://docs.k8sgpt.ai/reference/providers/backend/ and running ...
k8sgpt auth add --backend ollama --model llama3.1 --baseurl http://localhost:11434/v1

(I tried with llama2 as well but the model should not matter here)
The I just followed the Getting Started guide by creating the broken pod but the analyze by using the ollama backend returns the following error:
k8sgpt analyze --explain --backend ollama
   0% |                                                                                | (0/1, 0 it/hr) [0s:0s]
Error: failed while calling AI provider ollama: unmarshal: invalid character 'p' after top-level value

Tried the same by using Azure OpenAI and everything works as expected:
k8sgpt analyze --explain --backend azureopenai
 100% |████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| (1/1, 35 it/min)
AI Provider: azureopenai

0: Pod default/broken-pod()
- Error: Back-off pulling image "nginx:1.a.b.c"
Error: The error indicates Kubernetes is unable to pull the image "nginx:1.a.b.c" because the specified tag is invalid.

Solution:
1. Check the image tag for typos.
2. Use a valid version tag, e.g., "nginx:1.21.6".
3. Update your deployment configuration with the correct image tag.
4. Redeploy the application.

Expected behaviour
Using ollama as backend doesn't return any unmarshal error but just an explanation about the broken pod.
Actual behaviour
No response
Additional Information
No response

Hi! Have you tried calling the backend directly at http://localhost:11434/v1 without using k8sgpt? The error might indicate that your backend isn't responding correctly.

@matthisholleville I have actually found the issue. The baseurl has to be http://localhost:11434 (without the /v1) and it's working fine with k8sgpt this way. It's also because if I try ollama to be called directly via cURL, you can do something like the following (from ollama doc) and as you can see, there is no /v1 in the url.
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.1",
  "prompt":"Why is the sky blue?"
}'

FYI I am using ollama 0.3.0.
Maybe I can contribute to the just fixing the doc if you want?

Great! We could indeed validate the URL during the configuration or before calling the AI.

@matthisholleville FYI I opened a PR on the docs here https://github.com/k8sgpt-ai/docs/pull/119

k8sgpt auth remove --backends ollama
k8sgpt auth add --backend ollama --model llama3.1:latest --baseurl http://localhost:11434


fix make file of nurbs-interp-dev [nurbs-interp-fix-make]

This PR fixes the makefile, as I forgot to update the makefile, from #3232.  It also contains other fixes from the checklist and fixes a memleack in miniapps/nurbs/curve_int.cpp which came to light after adding testing of miniapps/nurbs/curve_int.
Checklist updates:

.gitignore files genrated by the miniapp
miniapps/nurbs/CMakeLists.txt added tests
miniapps/nurbs/makefile added compilation of the miniapp and testing

Small update to miniapps/nurbs/curve_int.cpp:

Fixes a memleak (
Added two output options to enable testing. One for disabling glvis output and one for disabling VisIt output.

Small issue:
In order to make testing in miniapps/nurbs/makefile work I have to create the option to disable glvis testing. I do not use glvis in this miniapp so the option has become a dummy option.

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#3659
@JacobLotz
@tzanio
@dylan-copeland + @tzanio
6/11/23
⌛due 6/25/23
⌛due 7/2/23

PR Checklist

[ ] Code builds.
[ ] Code passes make style.
[ ] Update CHANGELOG:

[ ] Is this a new feature users need to be aware of? New or updated example or miniapp?
[ ] Does it make sense to create a new section in the CHANGELOG to group with other related features?

[ ] Update INSTALL:

[ ] Had a new optional library been added? If so, what range of versions of this library are required? (Make sure the external library is compatible with our BSD license, e.g. it is not licensed under GPL!)
[ ] Have the version ranges for any required or optional libraries changed?
[ ] Does make or cmake have a new target?
[ ] Did the requirements or the installation process change? (rare)

[ ] Update continuous integration server configurations if necessary (e.g. with new version requirements for each of MFEM's dependencies)

[ ] .github
[ ] .appveyor.yml

[ ] Update .gitignore:

[ ] Check if make distclean; git status shows any files that were generated from the source by the project (not an IDE) but we don't want to track in the repository.
[ ] Add new patterns (just for the new files above) and re-run the above test.

[ ] New examples:

[ ] All sample runs at the top of the example source file work.
[ ] Update examples/makefile:

[ ] Add the example code to the appropriate SEQ_EXAMPLES and PAR_EXAMPLES variables.
[ ] Add any files generated by it to the clean target.
[ ] Add the example binary and any files generated by it to the top-level .gitignore file.

[ ] Update examples/CMakeLists.txt:

[ ] Add the example code to the ALL_EXE_SRCS variable.
[ ] Make sure THIS_TEST_OPTIONS is set correctly for the new example.

[ ] List the new example in doc/CodeDocumentation.dox.
[ ] If new examples directory (e.g.examples/pumi), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add example-specific documentation, see e.g. the src/examples.md.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] In examples.md, list the example under the appropriate categories, add new categories if necessary.
[ ] Add a short description of the example in the "Extensive Examples" section of features.md.

[ ] New miniapps:

[ ] All sample runs at the top of the miniapp source file work.
[ ] Update top-level makefile and makefile in corresponding miniapp directory.
[ ] Add the miniapp binary and any files generated by it to the top-level .gitignore file.
[ ] Update CMake build system:

[ ] Update the CMakeLists.txt file in the miniapps directory, if the new miniapp is in a new directory.
[ ] Add/update the CMakeLists.txt file in the new miniapp directory.
[ ] Consider adding a new test for the new miniapp.

[ ] List the new miniapp in doc/CodeDocumentation.dox
[ ] If new miniapps directory (e.g.miniapps/nurbs), add it to MINIAPP_SUBDIRS in the makefile.
[ ] If new miniapps directory (e.g.miniapps/nurbs), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add miniapp-specific documentation, see e.g. the src/meshing.md and src/electromagnetics.md files.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] The miniapps go at the end of the page, and are usually listed only under a specific "Application (PDE)" category.
[ ] Add a short description of the miniapp in the "Extensive Examples" section of features.md.

[ ] New capability:

[ ] All new public, protected, and private classes, methods, data members, and functions have full Doxygen-style documentation in source comments. Documentation should include descriptions of member data, function arguments and return values, template parameters, and prerequisites for calling new functions.
[ ] Pointer arguments and return values must specify whether ownership is being transferred or lent with the call.
[ ] Any new functions should include descriptions of their intended use e.g. for internal use only, user-facing, etc., along with references to example code whenever possible/appropriate.
[ ] Consider adding new sample runs in existing examples to highlight the new capability.
[ ] Consider saving cool simulation pictures with the new capability in the Confluence gallery (LLNL only) or submitting them, via pull request, to the gallery section of the mfem/web repo.
[ ] If this is a major new feature, consider mentioning it in the short summary inside README (rare).
[ ] List major new classes in doc/CodeDocumentation.dox (rare).

[ ] Update this checklist, if the new pull request affects it.
[ ] Run make unittest to make sure all unit tests pass.
[ ] Run the tests in tests/scripts.
[ ] (LLNL only) After merging:

[ ] Update internal tests to include the new features.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

@dylan-copeland Thank you! These should not have been there. I am currently away on a break and it will have first priority when I get back!

Merged in next for testing...


Add additional files to Appveyor skip list

There's no reason to run an Appveyor CI run for any of
these files changing.
Note according to Appveyor folks
**/*.md should match ANY .md files. We should verify that
turns out to be true. I'll keep an eye out for that. Same for
**/*.txt
Resolves #1707

Isn't a bunch of our documentation in, or going to be in, markdown files?
Also, IMHO, to simplify releases I'd be happier if CHANGELOG.MD wasn't on the skip list.

What documentation that is in Markdown files needs to trigger a CI?
The standard library docs etc is markdown that generated so it would have no impact on Appveyor needing to run. AFAIK, there is zero markdown or text files that when they are changed, a CI run should be done.

Can you clarify the "CHANGELOG.MD wasn't on the skip list" wasn't on the list. What reason is there to do an appveyor run if CHANGELOG.md changes?

As far as docs go, well, in the future we may revisit this.  (Particularly interesting: systems which compile and test embedded examples in docs.)

If we revisit in the future for a new doc system it would make sense to adjust accordingly but we don't have a non-generated doc system at this point.

As far as changelogs, I observed that extra rebuilds happened when merging branches around during a release, but those rebuilds were not on the commits I expected them to be on.  So I felt the need to be specific in my GitHub ticket and list the, like, three different commits for which there were builds.  I'd much rather have the last commit on each architecture all be the same one, the one where the changelog was updated.

Excluding the changelog from this wildcard pattern is easy: !/CHANGELOG.md.
I need to think it through some more and be specific about which builds surprised me and which made sense, though.

I'm not sure understand what you are referring to with "extra rebuilds" when merging branches during release. But, if you are referring to what I think, we already committed changes to release.sh to use [skip ci] where appropriate so that merging update CHANGELOG.md and VERSION back to master doesn't result in a CI run being done.
see https://github.com/ponylang/ponyc/blob/master/release.sh#L89
and
https://github.com/ponylang/ponyc/blob/master/release.sh#L114

So the version / names of all the binaries and documentation match up!!
But this is really a big tangent from your change here, so I'm gonna merge this.

Still don't understand but we can pick up another time.
Minor note, you merge and change that was on a branch in this repo, make sure to delete the branch. That's our convention.

Oh, I assumed it was your own branch in your own fork.


testlauncher.py overwrites sys.path

Environment data

VS Code version: 1.44.2
Extension version (available under the Extensions sidebar): 2020.4.74986
OS and version: Win 10
Python version (& distribution if applicable, e.g. Anaconda): 3.8
Type of virtual environment used: venv

Expected behaviour
sys.path is not modified
Actual behaviour
line 26: sys.path[0] = os.getcwd()
overwrites top entry in the sys.path during unit test debugging (pytest in this case). This leads to errors to find modules that were available on that path. It is not obvious why this behavior as there are no comments, but it seems the intention was to insert cwd at the top of sys.path
Steps to reproduce:

Place a module to be tested in a directory that is not workspace directory or any other standard module search path
Add .env to the project and include PYTHONPATH with the directory of the module being tested like ./src (PYTHONPATH=./src)
Write unit test with pytest. Make sure unit test module imports module being tested
Place breakpoint in the unit test.
Observe breakpoint never reached and debug console shows error pointing to the import statement

Workaround
Edit testLauncher.py and comment out the offending line or replace with sys.path.insert(0, os.getcwd())

This broke my test debugging this morning. The workaround fixes it.

Thanks for identifying the fix, we can the confirm that it's bug.

I also have this issue and the workaround did work for me as well!

For n00bs like me working in a dev container, the default location of testlauncher.py is one of ~/.vscode-server-insiders/extensions/ms-python.python-2020.5.78807/pythonFiles/testlauncher.py or ~/.vscode-server/extensions/ms-python.python-2020.5.78807/pythonFiles/testlauncher.py (substitute the version you have installed)

Hello! We have just finished our testing rewrite and are beginning the roll out to users. If you are able, it would be very helpful to know if your issue still exists on the rewrite! To try it yourself, add this setting to your users settings.json "python.experiments.optInto": ["pythonTestAdapter"].
You can confirm you have the rewrite enabled by setting  "python.analysis.logLevel": "Trace", in your user settings then check for Experiment 'pythonTestAdapter' is active in your python logs.
Let me know if the rewrite fixes your issue. Thanks!


set the model to gpt4 instead of gpt4 turbo (gpt-4-1106-preview)?

Describe the issue
When the model field is filled in as gpt4, the default is gpt4 turbo (gpt-4-1106-preview)，
how to set the model to gpt4 instead of gpt4 turbo (gpt-4-1106-preview)?
Suggest an improvement to documentation
The documentation need to explain how to set up the different gpt versions.

gpt4-legacy
full list here: https://github.com/princeton-nlp/SWE-agent/blob/5fd722bc8f586ff59ecbc5f0a89817ed40bec3b9/sweagent/agent/models.py#L212


[Feature Request]

Feature Request
What's the feature you think Backpack should have?
I don't know if this is possible, but I couldn't find it's documentation anywhere, nor it's code implementation. But it seems that it's not possible to make the "actions" column be the first column of the table?
I've tried using operations from the Cheat sheet to achieve this but none of them worked.
Is there any way as of today to easily achieve this?

Hello @enefeka
Atm there is no built-in solution to provide the actions column as the first column.
We have plans for the next version regarding that functionality. We are not sure yet how we are going to implement it, but something along the lines:

Allow the actions column to be placed as first.
Allow the actions to be a float container that scrolls along the table (so allways visible)
some other feature the we see fit.

Please bare in mind that this could take up some time to achieve, if in the meanwhile you happen to come up with a solution, or have some suggestions that you would like to share with us, please write them down here, I am sure anything will help our future us.
Best,
Pedro


Add Backup Job - Backup Windows table

Is your feature request related to a problem? Please describe.
Backup Windows table

Backup Windows:


exclude "extra" fields from [document] field-set

@vekterli if you could add a unit test with position type on this branch?

@arnej27959 done, PTAL


[Bug] Sankey chart - after using setOption in mouseover event handler, node highlight stops working

Version
5.5.0
Link to Minimal Reproduction
https://codesandbox.io/s/basic-sankey-forked-c8dvs5?file=/index.js
Steps to Reproduce
i'm trying to update the node labels on hover, try setoption in mouseover event handler
Current Behavior
after using setoption in mouseover event handler, it stops highlighting the nodes and related links
Expected Behavior
highlight should work
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

It seems node highlight is the default mouseover behavior. If you overwrite mouseover then the default functionality is lost.

@helgasoft
it is working fine if we do overwrite the mouseover behaviour, but after adding the setoption , it stops working


Artifact support for WandB Media Objects (Image, Table, JoinedTable)

This PR introduces the following functionality:
This is a branch from Shawn's original PR here: https://github.com/wandb/client/pull/1425

wandb.Classes & wandb.JoinedTable as new wandb.Media objects
artifact.add(, <TARGET_NAME>) - Adds a media object to an artifact. If the object is from another artifact, it will build the reference.
artifact.get(<MEDIA_NAME>) - the logic inverse of add(obj, name). if media_name corresponds to a Media object which has been added to the artifact, it will instantiate such Python object. This is done generically and can easily be expanded to all types, and I implemented functionality for Image, Table, and JoinedTable.
artifact.add_reference("wandb-artifact://<UPSTREAM_ARTIFACT_ID>/RESOURCE_PATH", "TARGET_PATH") will add a reference to the UPSTREAM_ARTIFACT_ID's RESOURCE PATH, and make it available at the current artifact’s TARGET_PATH. Upon calling artifact.download(), the associated artifact will be downloaded and resources appropriately symlinked. This works recursively as well across multiple artifacts.
artifact.add_reference(other_artifact.get_path(<ASSET_NAME>), )  - This will do the same thing as the first bullet point above, but using a more friendly API so the user does not need to construct the URL.

@tssweeney, your change did fix the failure that was reported.  A new regression suite was started for this branch:
https://wandb.ai/jeffr/regression/groups/20201103-0.10.9.dev1-tim_artifact-media_path-based-d1a0725-f0zqhw
FYI: https://github.com/wandb/wandb-testing


Add a debug config option, which runs some contextual checks on finalized blocks

TODO

[ ] remove the config option and just make it run unconditionally
[ ] Rebase on main after PR #1500 merges
[ ] Rename FinalizedState::chain (#1354) to ancestor_blocks
[ ] Work out how to handle the PreparedBlock / FinalizedBlock type mismatch in block_is_contextually_valid.

Motivation
Zebra's contextual validation checks are difficult to test, because we only run contextual validation on post-Sapling blocks.
Some checks aren't implemented for pre-Sapling blocks, but others work just fine. We can test these checks on finalized blocks, as long as we respect the preconditions for each check.
This code helped me test contextual verification. But we might not want to merge and maintain it. Or we might want to use it temporarily, then replace it with a better solution like configurable network upgrade heights (#1135).
Solution
Add a debug_contextual_verify option to the finalized state, which is off by default.
When debug_contextual_verify is true:

run the contextual validity checks before each CommitFinalized block is added to the finalized state
skip contextual verification if the finalized state is empty - the height check requires at least one previous block

(We don't run this extra contextual verification on blocks from the non-finalized state, because they've already been contextually verified.)
The code in this pull request has:

[x] Documentation Comments
[x] Unit Tests and Property Tests

Review
@yaahc  is familiar with contextual verification and the chain iterator abstraction.
@hdevalence can help us decide if we want to merge this code.
Related Issues
Difficulty contextual verification implementation PR #1355

I don't think that we should have any codepaths that perform contextual validation on finalized blocks.  We don't want to do that, and the contextual validation checks are designed on the assumption that they work on post-Sapling blocks, not pre-Sapling blocks, so testing them on the blocks they are designed not to validate could lead to unexpected and bad results.  If we want to run data through those checks, we should run the data they are supposed to check.

This task is a lower priority, so I might not come back to it for a week or two.
I think I might need to expand on this part of the motivation:

Some checks aren't implemented for pre-Sapling blocks, but others work just fine. We can test these checks on finalized blocks, as long as we respect the preconditions for each check.

Goal
I want a way to quickly test new contextual validation code on a large number of blocks, without having to wait for Zebra to sync past Sapling. (And without having to set up complex state snapshotting infrastructure.)
Experiences
I found this PR useful when developing difficulty adjustment contextual validation. At the moment, the debug mode runs the difficulty and block height contextual validation checks on pre-Sapling blocks. And it works fine, because we respect the preconditions for these checks.
This debug mode won't work for some of the transaction contextual validation checks, but that's ok. Those checks don't run as part of the state's contextual validation function. And even if they did, we could just skip them in this debug mode.
Alternatives

When we refactor the network consensus rules in #1135, we'll be able to create chains that start at Sapling. That's helpful, but it doesn't achieve the goal of quickly running contextual validation on Mainnet or Testnet blocks.

We could create a mode that treats the Sapling activation block as a "genesis block". But that's even more likely to suffer from the kinds of issues you identified. We'd have to disable validation of all contextual checks that depend on any data from pre-Sapling blocks.

Rather than running all the checks in block_is_contextually_valid, we could write a new function that only calls the checks which we know will work in this debug mode. The disadvantage is that we need to do extra work to pick up new checks as they are added to block_is_contextually_valid - but that's ok, because we need to check their preconditions anyway.

My intuition is that this is a useful and pragmatic change for increasing test coverage of some of our consensus critical checks, which are the most important parts of the code base to test thoroughly. I do however feel like it's early to be merging this, this will be far more useful once we have infra in place to run full sync tests. For now I think just being able to cherry pick this when you want quick access to testing pre-sapling blocks should be sufficient.
Also, I don't think this should be gated by a configuration option. If we're going to enable this we should enable completely rather than introducing extra code paths to audit and risk that we're testing code that is different from the code we actually run with.

Also, I don't think this should be gated by a configuration option. If we're going to enable this we should enable completely rather than introducing extra code paths to audit and risk that we're testing code that is different from the code we actually run with.

I think it's ok to have it on by default, as long as the checks don't take a lot of RAM or CPU.

I think it's ok to have it on by default, as long as the checks don't take a lot of RAM or CPU.

Yea, and my guess is that they won't.

I've rebased this branch to avoid a conflict with #1355.

I'm not in favor of this change for the reason I mentioned above, but if we do it, I feel that we should not have a configuration option that controls it, because adding extra modes is even more complexity -- it should be either on or off.

We need to decide if we want to merge this PR.
If we merge, Zebra will:

do contextual checks on pre-checkpoint blocks
have better testing and validation on a wider range of blocks
risk panics if the checks don't work on old blocks - but this set of blocks is fixed
break the abstraction between checkpointing and contextual validation, leading to potential confusion or future design problems

Or we could close this PR without merging.
As an alternative, we could try merging this change, and back it out if we see any unresolvable panics or design issues.

We need to decide if we want to merge this PR.
If we merge, Zebra will:

do contextual checks on pre-checkpoint blocks
have better testing and validation on a wider range of blocks
risk panics if the checks don't work on old blocks - but this set of blocks is fixed
break the abstraction between checkpointing and contextual validation, leading to potential confusion or future design problems

Or we could close this PR without merging.
As an alternative, we could try merging this change, and back it out if we see any unresolvable panics or design issues.

This is a lot more work than I expected, so we'll close the PR, and turn it into a ticket. See ticket #2025.


sort projects by category

it would be easier for people to find a relevant project if they were sorted by purpose. For example, git tools, social media and RSS, games, etc.

Agreed. I'd sort roughly by category and then note Charm libs used. In other words, I don't think categorizing by library makes sensed (i.e. Bubble Tea) since many projects use multiple libraries.


Local file sorce

Source name
Local files
Source link
None
Language
All
Other details
Please add local files option like tachiyomi
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a title with source name.
[X] I have checked that the extension does not already exist by searching the GitHub repository and verified it does not appear in the code base.
[X] I will fill out all of the requested information in this form.

Duplicate of LNReader/lnreader#38


Building OR-Tools in a project that uses Google logging

What language and solver does this apply to?
C++
Describe the problem you are trying to solve.
I work in a project that I'm trying to import OR-Tools into, but which uses the Google logging framework extensively. This works fine with OR-Tools release 8.0, but fails in 8.1 AFAICT since the new OR-Tools logging library introduced in 8.1 has symbol/macro names that conflict with glog.
Describe the solution you'd like
I'm not sure...
Describe alternatives you've considered
We're using 8.0 for now!
Additional context
Add any other context or screenshots about the feature request here.

Tough question.
Can you use the logging re-implementation for or-tools in your project ? It uses the flags v2 API (absl::SetFlag, ABSL_FLAG...) API.
I have no time frame until abseil actually implements it and I can remove my patch.
And protecting by some prefix/namespace is complex because of the actual parsing of the command line parameters.
I am sorry, you are stuck with 8.0 for the near future.

Few questions:

On which platform are you working ?
Did you use OR-Tools from source ?
Which build system are you using ?

Interesting, thanks for the ideas -- that gives me a sense of what the path forward looks like. I'll probably use 8.0 for now and revisit as necessary.

Linux
Yes, from source via Bazel WORKSPACE rule
Bazel

Thanks for the quick responses!

For me, above questions would be answered with:

Linux
Yes, from source via cmake + add_subdirectory
cmake

Something like (sry for some noise):
# all provided by vcpkg (as most are used by non or-tools part of code) -> cmake toolchain script
# -----------------------------------------------
find_package(ZLIB REQUIRED)
find_package(absl CONFIG REQUIRED)
find_package(benchmark CONFIG REQUIRED)
find_package(Boost REQUIRED)
find_package(gflags CONFIG REQUIRED)
find_package(glog CONFIG REQUIRED)
find_package(GTest CONFIG REQUIRED)
find_package(protobuf CONFIG REQUIRED)

# Eigen               -> Git Submodule
add_subdirectory(third_party/eigen)

# ortools             -> Git Submodule
# ------------------------------------
set(BUILD_FLATZINC OFF)
set(USE_COINOR OFF)
set(USE_SCIP OFF)
set(BUILD_SAMPLES OFF)
set(BUILD_EXAMPLES OFF)
add_subdirectory(third_party/or-tools)

Above isn't the first iteration but something hacked together (after observing alloc errors in protoc when compiled as part of or-tool dependency which i don't need externally). In general, or-tools cmake config seems to work well / pick up all those vcpkg-provided dependencies (abseil, protobuf, ...).

Some news.
I pushed on main the code that uses the newly released absl::log library.
I have just kept the vlog code, as it is not part of the current absl::log code.
At this point, the only official google logging code is the abseil one. So I will close this issue.
Thanks


Error on load after change the world

Hello,
I noticed in the debug mode that the inventory was not reloaded after some world change.
Console Debug:
1.05 19:37:25 [Server] INFO [PerWorldInventory] [DEBUG] Checking cache for player data for 'newambroise' with key: ProfileKey{uuid='7c889d47-2e4c-35a6-a607-9b521ae59d39', group='default', gameMode='creative'}
11.05 19:37:25 [Server] INFO [PerWorldInventory] [DEBUG] Player 'newambroise' not in cache, loading from disk
11.05 19:37:25 [Server] INFO [PerWorldInventory] [DEBUG] Saving data for player 'newambroise' in file 'plugins/PerWorldInventory/data/7c889d47-2e4c-35a6-a607-9b521ae59d39/viste_creative.json'
11.05 19:37:25 [Server] INFO [PerWorldInventory] [DEBUG] Writing player data for player 'newambroise' to file
11.05 19:37:25 [Server] INFO [PerWorldInventory] [DEBUG] [SERIALIZER] Serializing player 'newambroise'
11.05 19:37:25 [Server] INFO [PerWorldInventory] [DEBUG] [SERIALIZER] Done serializing player 'newambroise'

Config:
https://pastebin.com/KcPejGXn

Currently there are no messages set to print to the console for de-serializing player information; it just happens. One can be added, I just have to decide where.
You mention an error in the title, what is it?

@Spartan9802 can you clarify based on my comment above?

Yeah, excuse me, I didn't have time to answer.
I don't get mistakes just when my players move from a default group world to a visit group world all goes well but when he returns to a visit group world, the inventory is deleted and he stays in fly

Are there any errors in the console/logs when this happens? Also can you post the contents of your worlds.yml file so I know what I'm looking at?

No, i dont have error in the console ^^
My worlds.yml
https://pastebin.com/KcPejGXn

So to make sure I have this right, players go from default to visite correctly, but things are lost when they go back to the default group?

Yeah, that's right.
Here is the additional information
# The gamemode set is configured in the worlds.yml file
manage-gamemodes: false
# If true, players will have different inventories for each gamemode
separate-gamemode-inventories: false

Okay, I hope you can fix this problem :)

Fixed in latest release. Thanks for the report!


Can not take the ACL settings for current accessing user by Propfind method

Problem
Can not take the ACL settings of files for current accessing user by Propfind method

Solution
Support DAV:read-current-user-privilege-set privilege defined in WebDAV ACL.

This will be a solution for #93


Change abbreviation guideline

Currently we have separate rules for abbreviations and acronyms. This proposal brings those together into single rules. The existing rules do not match which what most code does with well-known abbreviations such as: ID (Identifier), Company abbreviations, DB (Database), TM (Trademark), Cert (Certificate), Sig (Signature), etc.
Proposal: Change the following guidelines:
:x: DO NOT use abbreviations or contractions within identifier names.
:x: DO NOT use any acronyms unless they are widely accepted, and even then use them consistently.
:heavy_check_mark: DO capitalize both characters in two-character acronyms, except for the first word of a camelCased identifier.
:heavy_check_mark: DO capitalize only the first character in acronyms with three or more characters, except for the first word of a camelCased identifier.
:x: DO NOT capitalize any of the characters in acronyms at the beginning of a camelCased identifier.
To be:
:x: DO NOT use contractions within identifier names.
:no_entry: AVOID use any acronyms or abbreviations unless they are widely accepted, and even then, use them consistently.
:heavy_check_mark: DO capitalize only the first character in acronyms or abbreviations with two or more characters, except for the first word of a camelCased identifier.
:x: DO NOT capitalize any of the characters in acronyms or abbreviations at the beginning of a camelCased identifier.

I approve after discussion with @Keboo and @adamskt 👍

@joeriddles @adamskt After discussion with @MarkMichaelis there is a suggestion to change the severity of the second rule to a DO NOT
So:
:x: DO NOT use contractions within identifier names.
~:no_entry: AVOID use any acronyms or abbreviations unless they are widely accepted, and even then, use them consistently.~
:x: DO NOT use any acronyms or abbreviations unless they are widely accepted, and even then, use them consistently.
:heavy_check_mark: DO capitalize only the first character in acronyms or abbreviations with two or more characters, except for the first word of a camelCased identifier.
:x: DO NOT capitalize any of the characters in acronyms or abbreviations at the beginning of a camelCased identifier.
The rational for this change is there should be no exceptions where an acronym or abbreviation is used that is not widely accepted. Or to put it another way, in general things should be spelled out, and if an abbreviation is to be used, the case must be made that it is widely accepted.

LGTM.


Misbehavior of ToValue() on map type with methods

I found an issue while trying to enumerate the keys of an object that I created with ToValue() from a map type having helper methods.
As an example, let's use http.Header type which is a Go map type with methods.
When converting a http.Header value using ToValue(), this line of code in ToValue() https://github.com/dop251/goja/blob/master/runtime.go#L1067 prevents from making it a objectGoMapReflect and ends up as a objectGoReflect.
But the its key enumeration only happens on methods and not on the map keys.
Here is a test example that demonstrates the issue:
	func TestMapTypeBinding(t *testing.T) {
		headers := http.Header{
			"k0": []string{},
			"k1": []string{"v1"},
			"k2": []string{"v21", "v22"},
			"k3": []string{"v3"},
		}
		vm := goja.New()
		vm.Set("headers", headers)
		v, err := vm.RunString(`Object.keys(headers)`)
		require.NoError(t, err)
		result := v.Export()
		require.Equal(t, []interface{}{"k0", "k1", "k2", "k3"}, result)
	})

Failing with:

Expected :[]interface {}{"k0", "k1", "k2", "k3"}
Actual   :[]interface {}{"Add", "Del", "Get", "Set", "Write", "WriteSubset"}

I'd be happy to provide a fix, but I'd like to understand first in which case it should be methods only as suggested by the current implementation.

Otherwise it would create an ambiguity between the methods and the map keys. For example, if headers contained "Add", in Javascript there would be no way to distinguish it from the method.
There are only two solutions to avoid such ambiguity: to hide the methods or to hide the keys. I chose the latter because a) if you define methods on a map it's usually because you want to use them and b) if you need to use both in this case, you still can by wrapping it in a custom struct and adding Set() and Get() methods, like this:
type M map[string]interface{}

func (m M) Test() bool {
	return true
}

type Wrapper struct {
	M
}

func (w Wrapper) Set(k string, v interface{}) {
	w.M[k] = v
}

func (w Wrapper) Get(k string) interface{} {
	return w.M[k]
}

func main() {
	m := make(M)
	wrapper := Wrapper{m}
	wrapper.Set("a", true)
	fmt.Println(wrapper.Test(), wrapper.Get("a"))
}

... whereas in the opposite scenario there would be no way to access the methods.
I understand this is not super intuitive, if you have a better solution let me know.

I just tried with
type myWrapper struct{ http.Header }

func (w myWrapper) Get(k string) interface{} {
	return w.Header.Get(k)
}

func (w myWrapper) Set(k string, v interface{}) {
	w.Header.Set(k, v.(string))
}

But still got:
[]interface {}{"Header", "Add", "Del", "Get", "Set", "Write", "WriteSubset"}

I understand this is not super intuitive, if you have a better solution let me know.
What about having the union of both?

But still got:
[]interface {}{"Header", "Add", "Del", "Get", "Set", "Write", "WriteSubset"}

Doesn't that solve your problem? You can access the headers using Get() and Set() methods and also use other methods, like Add() and Del().

I understand this is not super intuitive, if you have a better solution let me know.

What about having the union of both?

This is not possible without creating a very confusing and potentially dangerous behaviour.

Sorry, I didn't realise http.Header already had Get() and Set(). I was thinking about adding the missing ones, for example Values() which was also added in Go 1.14 but was not available before.

I am running third-party js I cannot modify and they are using Object.keys as I showed you in order to walk an object I provide though the go/js bindings.
Btw, this is working when using otto's Value.Call method but I didn't find the underlying implementation allowing it :thinking:
I unfortunately cannot use goja until I solve this, and ideally without having to copy the value to another one.
The other solution I can imagine would be checking if the go value implements a specific interface to let ToValue() or the enumeration function know that we want to use the map keys and not the methods.

You can convert http.Header to its underlying map type and pass this value to the runtime:
	vm := New()
	m := http.Header{}
	m.Set("Test", "42")
	vm.Set("h", map[string][]string(m))
	v, err := vm.RunString(`
	var keys = Object.keys(h);
	keys.length === 1 && keys[0] === "Test";
	`)
	if err != nil {
		t.Fatal(err)
	}
	if v != valueTrue {
		t.Fatalf("v: %v", v)
	}

The http.Header type is example to keep it simple here.
In my precise case, I have nested map types with methods each: type RequestParams map[string]url.Values where RequestParams and url.Values both have methods. Converting the root type only solves part of the issue :sweat_smile:

Sounds like a solid case for using ES6 proxy. Fancy giving it a try? I need testers 😄  https://github.com/dop251/goja/tree/proxy

I ran the previous test with github.com/dop251/goja@proxy but got the same result.
Should I change something in the Go implementation?

You need to implement a Proxy (either in JS or in Go). See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy and https://github.com/dop251/goja/blob/proxy/proxy.go#L267

Sorry, I didn't find the solution.
Here is what I tried with the http.Header example:
	t.Run("map type binding", func(t *testing.T) {
		headers := http.Header{
			"k0": []string{},
			"k1": []string{"v1"},
			"k2": []string{"v21", "v22"},
			"k3": []string{"v3"},
		}
		vm := goja.New()
		jsVal := vm.ToValue(headers)
		vm.Set("headers", jsVal)
		vm.NewProxy(jsVal.ToObject(vm), &goja.ProxyTrapConfig{
			Get: func(target *goja.Object, property string, receiver *goja.Object) (value goja.Value) {
				return vm.ToValue(headers[property])
			},
			OwnKeys: func(target *goja.Object) (object *goja.Object) {
				keys := make([]interface{}, 0, len(headers))
				for k := range headers {
					keys = append(keys, k)
				}
				return vm.ToValue(keys).ToObject(vm)
			},
		})
		v, err := vm.RunString(`Object.keys(headers)`)
		require.NoError(t, err)
		result := v.Export()
		require.Equal(t, []interface{}{"k0", "k1", "k2", "k3"}, result)
	})

I adapted the previous http headers test this way:
	t.Run("map type binding", func(t *testing.T) {
		headers := http.Header{
			"k0": []string{},
			"k1": []string{"v1"},
			"k2": []string{"v21", "v22"},
			"k3": []string{"v3"},
		}
		vm := goja.New()
		jsVal := vm.ToValue(headers)
		proxy := vm.NewProxy(jsVal.ToObject(vm), &goja.ProxyTrapConfig{
			OwnKeys: func(target *goja.Object) (object *goja.Object) {
				keys := make([]interface{}, 0, len(headers))
				for k := range headers {
					keys = append(keys, k)
				}
				return vm.ToValue(keys).ToObject(vm)
			},
		})
		vm.Set("headers", proxy)
		v, err := vm.RunString(`Object.keys(headers)`)
		require.NoError(t, err)
		result := v.Export()
		require.Equal(t, []interface{}{"k0", "k1", "k2", "k3"}, result)
	})

Resulting in:

TypeError: 'ownKeys' on proxy: trap result did not include non-configurable 'Add' at keys (native)

But anyway, now that I see how proxy works, I think we still have the issue with nested types: how could a sub-value be also proxied?
 But this is not super elegant :cry: I think I will go this way for now as I would really love to use goja instead of otto asap...
PS: other than that, the branch worked fine on the js code (a SQLi detection written in js).

In order for it to work you need to specify an empty object as the proxy target and you also need  to implement at least the getOwnPropertyDescriptor trap. Do a pull and have a look at TestProxy_Object_native_proxy_ownKeys()

As for nested types, just wrap them in another proxy on get and getOwnPropertyDescriptor.

Thanks a lot for your help @dop251 but I'll keep my last resort solution because it is from far the simplest and less complex even if I lower the code quality ^^
I let you decide what you want to do with this issue.
Feel free to ping me for any VM tests. Your VM is very helpful for us (Sqreen). I will push my change to goja in the next few days.


isRouteOnBackStack always returns false if no recomposition

The sample code shows:
@Composable
fun BottomBar(
    navController: NavHostController
) {
    BottomNavigation {
        BottomBarItem.values().forEach { destination ->
            val isCurrentDestOnBackStack = navController.isRouteOnBackStack(destination.direction)
            ...

However, if I don't add an unused variable to trigger recomposition as follows:
val unused: Destination = navController.appCurrentDestinationAsState().value
        ?: NavGraphs.root.startAppDestination

isCurrentDestOnBackStack will always be false since it is calculated at start and never changes in the future.
I think it is a better way to provide a isRouteOnBackStackAsState method.

I see, reason my sample app is working is that I'm using a "SampleScaffold" which is just like the official one (it calls it) but then listens for Destination changes and recomposes things like BottomBar and TopBar passing in the current destination.
And so whenever the destination changes, my bottom bar gets naturally recomposed.
I will look into providing a isRouteOnBackStackAsState . Until then, you may use your own, do it like this:
@Composable
fun NavController.isRouteOnBackStackAsState(route: Route): State<Boolean> {
    return currentBackStackEntryFlow.map {
        isRouteOnBackStack(route)
    }.collectAsState(initial = isRouteOnBackStack(route))
}


Support for Python 3.12

This PR drops testing with py3.8 and starts testing with py3.12

ConfigSpace seems not quite ready for Python 3.12. This PR depends on https://github.com/automl/ConfigSpace/pull/346 and a subsequent release of ConfigSpace.


Support arm64 CPU architecture for Apple Silicon (M1) compatibility

First of all, thank you for this great piece of software. Our tests have witnessed a significant boost in speed, surpassing all expectations by orders of magnitude!
But currently, IntegreSQL does not have builds the arm64 CPU architecture, which prevents it from running on Apple Silicon (M1) machines. To make IntegreSQL more inclusive and compatible with a wider range of hardware, we should add support for the arm64 architecture.
A Go build for arm54 and Apple M1 can be done with:
GOOS=darwin GOARCH=arm64 go build

Supporting arm64 architecture is important to ensure our project is accessible to a broader user base, especially those with Apple Silicon (M1) devices.
Building a Docker container image that can target multiple platforms, including arm64, would also enhance the versatility of IntegreSQL. Docker's multi-platform build documentation can be found here: Docker Multi-platform Build.

Seconded. We use IntegreSQL locally and all our devs work from M1 macs. That would benefit all macOS devs a lot.

Closed via https://github.com/allaboutapps/integresql/pull/16


Quickstart earth analytics environment on Colab

Environment users would like to be able to use the earth-analytics-python-env on Google Colab without having to wait for more than a minute or two each time.
This will be accomplished using conda constructor. Constructor generates a shell script that can be used to quickly duplicate a conda environment (it saves the environment solution). Using the condacolab package, users will be able to install the environment from a github download url.

@nkorinek I've been working on this and I think I got it to work. However, I need the file hosted somewhere to check...so I'll do that after I submit a PR

I'm a little concerned there may be security issues here since we're posting an executable. But I don't know what those would be exactly...


setup: configure neutron external interface

Use ipaddr filters to render brq interface config
Backport ipaddr filter from Ansible -master

Only one comment. Tests are failing. Otherwise looks good.

:+1:

@paulczar Good point, moved to openstack-network role targeting network nodes rather than controllers.

Still LGTM.

Still good.


Config api integration

Right now, it only works when Allocator is constructed using shared memory (constructor taking SharedMemNew or SharedMemAttach)
TODO:

enable more tests

This change is

cachelib/allocator/tests/BaseAllocatorTest.h, line 1153 at r4 (raw file):
Previously, igchor (Igor Chorążewicz) wrote…
Right, this is the question - do we want to allow passing empty vector to configure? I think not. Ideally we would have one additional MemoryTierCacheConfig which would correspond to legacy behavior (posix/sysv) and we could use that as a default parameter. What do you think?

Yes, I like the idea of default parameter to support legacy mode. As for the check, originally I was thinking that we could quietly return from configure on an empty vector, but after thinking more, I suggest throwing an exception in this case because an empty vector may be passed by mistake. What do you think?

cachelib/allocator/CacheAllocator-inl.h, line 166 at r4 (raw file):
Previously, igchor (Igor Chorążewicz) wrote…
Done.
Actually I tihnk we should implement it in this way(in later PR perhaps):

introduce MemoryTierCacheConfig::fromPosixSysV(bool posix)
initialize memoryTierConfigs in AllocatorConfig to contain this posix/sysv MemoryTierCacheConfig

This would allow us to remove this check for size and hide everything inside config.
@victoria-mcgrath what do you think?

Yes, let's do this.

cachelib/allocator/CacheAllocatorConfig.h, line 584 at r6 (raw file):
Previously, igchor (Igor Chorążewicz) wrote…
But if user defined all tiers with ratio then it's OK to call setCacheSize, right?

Yeah, if you check all of them and they are all ratios then it should be fine. What do you think about setting size for the default tier here?

cachelib/allocator/CacheAllocatorConfig.h, line 849 at r6 (raw file):

setUsePosixForShm
Why do you need to synchronize with setUsePosixForShm?

All tests (which we run on CI) have passed: https://github.com/pmem/CacheLib/pull/8


fix: swappable tokens should have usd price

Description
Currently we are showing all supported swap tokens in the swap flow, but the original intention was to exclude the tokens we don't have a usd price for. We should be referencing swappableTokens rather than supportedTokens in the swap screen.
Test plan
https://github.com/valora-inc/wallet/assets/20150449/00faad28-c42b-4a9e-bc3d-aea1719cca23
Related issues
n/a
Backwards compatibility
Y

LGTM!!
Now that we are showing the warning message using the estimated price impact, maybe it's ok to swap tokens even if we don't have a price for it. However, I must say that, if we don't have a price for a token, probably it's a junk token.
Maybe we can allow users to swap this weird token in some "advanced" feature.

Yes exactly - if we can't determine a price for a token, then it's probably not one that we should facilitate our users acquiring more of. Having said that, if our pricing service is down then swaps will also be down but we shouldn't optimise for that scneario 😅


[Suggestion] Golems Maintenance Seal (Unclogging Flux Condenser Lattices)

I'm a big fan of the golems and what you can do with them. I just wish, they would get involved in more things, I actively work on.
It is possible to put a "Use" seal on every lattice, but realistically, the poor golems will be stuck, trying to unclog clean lattices. (It's most efficient to use it on the lattice directly attached to the Flux Condenser, so it at least doesn't get completely clogged)
While it's fun and all, having to maintain your contraptions to clean the aura/keep the aura clean, I've found myself spending about 20-30% of the time melting down essentia, looking for clogged lattices, instead of doing more fun things.
The most logical way of unlocking such a seal, would be after learning the "Control Seal: Use" and "Flux Cleanup"
I love Thaumcraft. I always did. And this is really the only thing, I could wish to see in Thaumcraft 6 :)
Thank you for hearing me out.

I actually really love this idea, and at one point I thought it was necessary. However, you just have to realize that the flux condenser is not actually meant to be your permanent flux-counter. It works as a void jar, deleting unwanted essentia while giving you some juicy vitium in return. The real end-game end-all counter to flux is a stabilized flux rift. Flux rifts drain flux at a wonderful rate, and when stabilized, will not create any nasty byproducts.
EDIT: Unless Beta26 stabilizers changed this...


VM deployment from template : rename disks

Hello,
I'd like to be able to rename the disks filenames when I deploy a VM from a template. I guess that the right parameter to modify is backing.fileName (when I add a disk on a VM, that's what I change and it works) but I don't know how to modify it at vm creation.
I tried two approches:

A relocate spec task
A config spec task

Here, disks_platform_name is a list of strings which are the names I want to give to my disks.
...
        # Renaming disks
        list_template_disks = []

        for dev in template.config.hardware.device:
            if isinstance(dev, vim.vm.device.VirtualDisk):
                list_template_disks.append(dev)

        if len(list_template_disks) != len(disks_platform_name):
            print("Error with the disk naming")
            return {"task": constants.ERROR}

        list_locators = []
        for index, disk in enumerate(list_template_disks):
            locator = vim.vm.RelocateSpec.DiskLocator()
            locator.diskId = int(disk.key)
            locator.datastore = datastore
            locator.diskBackingInfo = disk.backing
            locator.diskBackingInfo.fileName = disks_platform_name[index]
            list_locators.append(locator)
        relospec.disk = list_locators
...

...
        # Renaming disks
        list_template_disks = []

        for dev in template.config.hardware.device:
            if isinstance(dev, vim.vm.device.VirtualDisk):
                list_template_disks.append(dev)

        if len(list_template_disks) != len(disks_platform_name):
            print("Error with the disk naming")
            return {"task": constants.ERROR}

        list_virtualdisk_spec = []

        for index, disk in enumerate(list_template_disks):
            disk_spec = vim.vm.device.VirtualDeviceSpec()
            disk_spec.fileOperation = "replace"
            disk_spec.operation = vim.vm.device.VirtualDeviceSpec.Operation.edit
            disk_spec.device = disk
            disk_spec.device.backing = vim.vm.device.VirtualDisk.FlatVer2BackingInfo()
            disk_spec.device.backing.fileName = disks_platform_name[index]
            list_virtualdisk_spec.append(disk_spec)

        relospec.deviceChange = list_virtualdisk_spec
...

In both cases, I get no error from VMWare, it's just that disks are not renamed. Did I miss something ? Is there a recommended way to specify the disks name at VM deployment ?
Thank you,
Regards,
Grégoire

Hi Grégoire,
Currently I don't think there is a way to rename the disks (neither through the relocateSpec, nor the configSpec).
Can I ask you what use-case you have for wanting to rename the disks from what they get named after deploying?

Hello,
I developped a vCenter controller and I use the name (whether it's VM name for VMs, disk name for disks, ...) as id for synchronization between the controller and vCenter. I'd like my controller to be the "source of truth" and make it decide alone of the name of each objects.
Should I use another parameter for that, like a settable id or something ?
Thank you,
Regards,
Grégoire

I'm not sure of a direct replacement for the filename in the context of tracking the files.
In vSphere 6.5, there is a vDiskid, but I haven't checked how exactly it works.
There is uuid property that you can set for disks, but if you have a disk chain, they will all have the same uuid.
There is a contentId, but you can't set it, and it changes whenever the disk content changes, so it wouldn't be something your controller could manage.

On the topic of VM, you should use config.instanceId as VM names can easily be duplicated, so it could become harder to track which is which.

Unfortunately, I am still using vSphere 6.0.
What do you mean a disk chain ? Several disks on the same VM ?
Thank you,
Regards,
Grégoire

Disk chain meaning the disk as the same object, most likely due to snapshots of the VM.
So you might have:
[datastore] samplevm/samplevm.vmdk
[datastore] samplevm/samplevm-000001.vmdk (parent is samplevm.vmdk)
[datastore] samplevm/samplevm-000002.vmdk (parent is samplevm-000001.vmdk)
All 3 disks are the same object, just with different contents (the children only containing newly written data from parent), so 'uuid' will be the same, but you might want to track the files separately.

Hello,
Well, chain disks won't be an issue for now, it's not a big deal if uuid are the same.
However, I don't find how to set the uuid at the vm deployment from template. Should it be in the backing attribute of a RelocateSpec or in ConfigSpec.deviceChanges ?
Regards,
Grégoire

It should go into the backing attribute of ConfigSpec.deviceChange.
[Slight disclaimer is that CloneSpec.config is deprecated with the recommendation to do a reconfigure operation after the clone, but at the moment it should work]


Merge remote-tracking branch 'refs/remotes/CoCoCompany/develop' into 2nd-feature

last button functioning

Merge rejected, no changes.


Disable API Key Signup page

I want to restrict key creation by removing key signup page and only leave the admin page to do it. How can I do this?.

+1. Although this can be achieved by configuring the web server, I propose it's made a configurable feature. I suggest the following options:

to disable the page completely
to enable the page with free signup as it is now
to enable the page with free signup, pending admin approval
to enable the page with free signup and captcha
to enable the page with free signup and captcha, pending admin approval

@puntofisso how is this possible? Where can I limit all the signups?

+1

@syedhassan sorry, it's too long ago that I used umbrella-api :)

Hi I just started using API Umbrella yesterday and managed to configure the api (i.e. the part /signup/)
What I did was to create an api "backend" with "signup" and then under global request setting I added the role "admin" which I have added for a user. Hence if a person without the api key visits the page, it would should the page with "api key missing". Hope this helps :)
Thank you.
Best regards
Ashar

Hi I just started using API Umbrella yesterday and managed to configure the api (i.e. the part /signup/)
What I did was to create an api "backend" with "signup" and then under global request setting I added the role "admin" which I have added for a user. Hence if a person without the api key visits the page, it would should the page with "api key missing". Hope this helps :)
Thank you.
Best regards
Ashar

This is a great solution! Get's the job done. Just implemented it!


if isinstance(py_value, Collection) returns true for strings

Thanks to @ctrueden for finding this.
The bug is here
@ctrueden thinks that ij.py.from_java is recursive, so we probably don't even need this check.
I blame @elevans for this bug as he told me it wasn't recursive 😜

I believe it's fixed with 33b7c3a02c7a8263e8ce07f4fb63854be251bf95 (on ctr-hacking branch as of this writing).

I'm not sure why this didn't get closed with #33. :man_shrugging:


📝(readme) add setup documentation

This provides the most basic explainations to use the library with
the Django integration.

@lunika & @sampaccoud This is the last step before trying to make the first release.


ENHANCEMENT provide method for website url manipulation

resolves #214

Merging as failure is not from tests but rather a travis configuration


Add an optional skip_taskbar field to eframe's NativeOptions for hide taskbar icon under windows

Add support for skip_taskbar of winit to hide taskbar icon under windows.

Any chance to have that for MacOS?

Yes, you can refer to Rust Clock

@hoothin which part? I don't see any such option there for os = MacOS


Add support for setting IP addresses/subnets

Currently, tappers provides no way to set or change IPv4/IPv6 addresses assigned to TUN/TAP interfaces. Ideally there should be some way to add these programmatically rather than having to resort to system commands like ifconfig.

Resolved by #26


Dashboard consuming quite a lot of memory

Hi,
the dashboard is consuming a quite high amount of memory, see attached screenshot.

This is the machine of the cluster where I ran the init-discovery, the "first" machine of the cluster.
The second node has also a quite high amount of memory reserved to the dashboard, here arround 25%.
The third node is just fine.
Is there a way to get it down? Or might it be a leak? Or is it expected?

See #1776

Ah, nice. :)
Duplicate then.


[WIP] Documentation and misc updates

Made changes corresponding to issue #15 with commit 72ba45cc0a2853c9cfc10ecd8db70acf30082703.

Does this PR do anything other than documentation?

Could we separate out the documentation updates from the code?

This also needs to be merged onto develop, not master

@Mike-FoMoCo This is the workflow we are using on this repo https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow
Your branch also needs to be under feature/[branchname] instead of feature_[branchname]

This is closed because to make it off a new branch, you will have to create a new PR