[WIP] Chemical Environment Sampler

I have made an updated version of sampler.py called sampler_smirky.py.
Instead of using string manipulations to sample atomtypes it uses chemical environment to sample Atoms, Bonds, Angles, Torsions, or Impropers.
This is still very much as a WIP stage, but it does run and now @cbayly13 can work on how to make moves.
I imagine some things will change in this set up, but here is an example of how to used the sampler, there are a few examples also in examples/smirky_sampler/
from smarty.sampler_smirky import *
from smarty.utils import *
temperature = 0.0001
ORdecorators = ['X1', 'X2', 'X3', 'X4', 'H0', 'H1', 'H2', 'H3','+0', '+1', '-1', 'a', 'A']
ANDdecorators = ['X1', 'X2', 'X3', 'X4', 'H0', 'H1', 'H2', 'H3','+0', '+1', '-1', 'a', 'A']
SMIRFF = "forcefield/Frosst_AlkEtOH.ffxml"
verbose = True
replacements = ['$halogen', '#9,#17,#35,#53']
elements = ['#%i' % i for i in range(1, 119)]
typetag = 'Angle'
mol2file = 'test_filt1_tripos.mol2'
molecules = read_molecules(mol2file, verbose = verbose)
initialTypes = None

sampler = TypeSampler(molecules, typetag, elements, ORdecorators, ANDdecorators, replacements, initialTypes, SMIRFF, temperature, verbose)

niterations = 100
traj_file = "trajectory.csv"
sampler.run(niterations, traj_file)

This primarily addresses issue #97 , but I've made a few other changes while working on this that will address other issues.
#93 Chemical Environments now have a function getType() which, per @cbayly13 's request returns
'VdW', 'Bond', 'Angle', 'Torsion', 'Improper' or None (if there are 0 or more than 4 labeled atoms)
#96 I think needs to be discussed a little, I have included in the sampler checks that smirks are parseable when making moves, I'm not sure if this is a check we should include inside the chemical environments also or instead.
#98 I fixed smirksEnvDepict.ipynb in examples/chemicalEnvironments/ to copy the molecule so the original isn't flattened
#99  I updated the addAtom function in chemicalEnvironments to optionally check if the atom is "empty." We are currently thinking of empty atoms as those with only 1 ORtype decorator and 0 ANDtype decorators. @cbayly13 and I have discussed this a little offline and we don't think it makes sense to add empty atoms. @jchodera our understanding is that as long as our moves are reversible they should be allowed? So when we add atoms we will initiate them with 1 ORtype and removing can't happen unless there is only that one ORtype.
That being said the removeAtom also removes the associated bond, currently removeAtom doesn't look at the associated bond.
#110 This is not a creation of the ChemicalEnvironmentProposalEngine, but I think a lot of the frame work will end up in this sampler.

Also, I haven't written any tests for the sampler_smirky.py yet. My plan is to mimic the ones we have for the current sampler, but if anyone thinks there is something different it should check, please let me know.

This is great!
Looking ahead, we'll want to divorce the sampler from the set of molecules so that we can incorporate this into a real parameter sampling scheme. You will want several separate components, rather than one monolithic component (roughly following this thread):

A sampler that you can run that makes proposals, rejects unsuitable ones, and accepts/rejects with respect to some posterior model. This takes as input initial types (initialTypes)
A posterior probability (or score) model that takes the molecules as a dataset. This holds the temperature
A ProposalEngine that takes only the current set of types and proposes a new set of types (and log probability). This takes as input information on how to generate new types (elements, ORdecorators, ANDdecorators, replacements)

You will want several separate components, rather than one monolithic component.

For now this will give @cbayly13 and me somewhere to figure out how to make moves in this space in a way that will reach the level of complexity we need. I guess we could have written the separate tools and used them here, but it was a bit easier working in the framework we already had for atomtypes.
@cbayly13 I imagine you will work primarily in the create_new_environment function. I think pretty immediately we are going to need to fix the way it chooses which move to make, currently it wastes A LOT of time decorating and un-decorating bonds.

I guess we could have written the separate tools and used them here, but it was a bit easier working in the framework we already had for atomtypes.

You don't need separate tools, but you will need to refactor the class into several different classes so we can keep things isolated in a way that allows us to experiment with different strategies for atom type proposals without breaking everything or duplicating a ton of code.

I agree with both of you here, @bannanc and @jchodera . We're heading in the direction @jchodera mentions, but this allows us to proceed with testing out the move proposals Christopher is working on with the chemical environment objects while John finalizes the PropertyCalculator initial implementation and we proceed to finalizing what the API will be for move proposals, etc.
@bannanc has been working on this for a while, since long before we started discussing the parameter sampling API over here (https://github.com/open-forcefield-group/smarty/issues/110#issuecomment-238745012); as we've discussed in prior calls, we headed this direction since (a) we need a descendant of smarty which allows us to test sampling of more than just vdW types, and (b) it wasn't time to figure out the general parameter sampling API until we had the ability to calculate properties. In other words, this allows us to continue to make forward progress on figuring out how to do reasonable SMIRKS sampling for other parameter types (and test the results) so that we will know what to put into the API once we sort out what it looks like. Otherwise, Christopher and Caitlin would just end up sitting on their hands waiting...

Oh, it's fine for now. I'm just saying you're going to need to refactor it soon (probably over the next ~2 weeks).

@jchodera 👍 . We're totally expecting to have to refactor, yes. We're on the same page. :)

@bannanc - I'm going over this a bit. It's actually looking really great!
I have a few notes/questions. These sort of started off as questions, but as my understanding developed they became more of notes. They're probably still useful for the record, however -- just realize that most of the questions actually get answered:

Can you explain what this SMIRKS means? [*:1]~;!@[*:2]~;!@[*:3]. For example, I'm seeing things like: 1873: [*:1]~;!@[*:2]~;!@[*:3]                                    matches                                    a0002: [#1:1]-[#6X4:2]-[#1:3] ..., but I'm just not understanding the decoration with ;!@ for the middle atom. What does the "and" here join? Oh, wait -- these are decorating the bond, right? So it's saying any bond that's not a ring bond?
The results are odd but perhaps correct; here for the startEmpty_Angle.py example, the first three angles we discover end up being discriminated only by whether they involve rings (if my interpretation in point 1 is correct) -- i.e. in my run I find [*:1]~[*:2]~[*:3] (matches [#6X4:1]-[#6X4:2]-[#6X4:3]), then [*:1]~;!@[*:2]~[*:3] (same but the 1-2 bond can't be in a ring; matches [a,A:1]-[#6X4:2]-[a,A:3]) and then [*:1]~;!@[*:2]~;!@[*:3] (same but 1-2 and 1-3 bonds can't be in a ring; matches [#1:1]-[#6X4:2]-[#1:3]) and then [*:1]~[#8:2]~[*:3] (matches [#6X4:1]-[#8X2:2]-[#1:3]). Do you think these are reasonable? How much relative effort are you spending sampling bonds versus sampling atoms? It's interesting to me that we're doing more discrimination here based on bonds than atoms but maybe this is because it is easier to find bond decorators that do something relative to atom decorators/definitions? (UPDATE: After looking closer, I see you're running 119 elements in your test, which dramatically impacts this. With only elements 1-9, bond decorators go almost entirely out the window (presumably because it's now much easier to get the atom decorating to do something useful) and you start recovering sensible things, like [*:1]~[#8:2]~[*;X1:3] as a more specialized version of [*:1]~[#8:2]~[*:3] (the latter matches CT-OS-CT and the former matches CT-OS-H*).

For the record, in this set there are currently six angle patterns, and above we got four when looking at 119 elements. The other two are [#6X4:1]-[#8X2:2]-[#6X4:3] and [#8X2:1]-[#6X4:2]-[#8X2:3], I believe. Presumably those will only be found by appropriate atom definitions, not just by decorating bonds. (Update: As noted above this works better when we search fewer elements.)
Tests-wise, you'll definitely want tests which correspond to your correctAtoms.py, correctBonds.py, etc. examples, as an important test (as for smarty) is whether, if you start with the "right answer", if you get 100%.

Next, @bannanc , comments/answers/partial answers on some of your questions:

#96 I think needs to be discussed a little, I have included in the sampler checks that smirks are parseable when making moves, I'm not sure if this is a check we should include inside the chemical environments also or instead.

It looks like currently you raise an exception if a SMIRKS isn't parseable. I think this is the right thing to do (as if we're doing this correctly, our smirks should all be parseable) and I would put it inside the chemical environment objects so that the user of the environment object doesn't have to remember to check. In other words, have your code check itself for bugs rather than having the user check... :)

So when we add atoms we will initiate them with 1 ORtype and removing can't happen unless there is only that one ORtype.

This sounds reasonable to me.
I'd like to hear a little more on your rationale for not adding empty atoms, though:

We are currently thinking of empty atoms as those with only 1 ORtype decorator and 0 ANDtype decorators. @cbayly13 and I have discussed this a little offline and we don't think it makes sense to add empty atoms.

At first I agreed completely, as I thought adding another atom doesn't provide any more information if it is empty. But then I thought through an example. If we're looking at an angle, for example, which has three labeled atoms, and we add a fourth atom, it initially didn't seem like it would add value to add a fourth atom if that atom is empty (since the only case where this could matter would be if it ended up clarifying the number of bonds an atom involved can make - for example if we have [*:1]~[*:2]~[*:3] and go to [*:1](~[*])~[*:2]~[*:3], then the first atom can no longer be hydrogen or [#8X2] or a halogen or...). But then when I got to this point, I suddenly realized, "but wait, that's actually a LOT of information we gained by just adding an empty atom."
Now, I realize that a more "traditional" way of saying that the first atom can't be a halogen or an oxygen that already has two bonds or (etc.) would be to decorate it with all those things, and maybe that will typically make more sense. So I don't necessarily have a problem with initiating atoms with one ORtype and allowing deletion of atoms with one ORtype, if you and Christopher are convinced that the information we gain by adding/deleting empty atoms isn't useful. I also note that there are disadvantages to adding/deleting only empty atoms, one of which is then that it takes more work (and more moves) to get to the type of decoration we often expect to be most useful, which is where we SPECIFY an alpha or beta substituent. Maybe this is enough reason to use the approach you mention.

That being said the removeAtom also removes the associated bond, currently removeAtom doesn't look at the associated bond.

Can you clarify this point? I don't actually understand what you're saying. Why would removeAtom need to look at the bond? Or are you saying that after the atom was added, the bond might have become decorated, and it doesn't check this before allowing atom removal? If the latter, this will need fixing. Remember, you have to have reversibility (Gaetano just gave a group meeting talk on this while you were gone and you should get a recap when you come back!) so if you have a can make moves from the state where you have an atom with one ORtype and a decorated bond to the state where you have deleted that atom and its bond, but you CAN'T make moves from the state where you have no atom/bond to the state where you have an atom with one ORtype and a decorated bond, then the whole machinery is no longer guaranteed to converge to a steady state in the limit of enough sampling.
Hopefully I hit all the major points. I haven't done that much code review, but functionally it looks good. Let me know when you're ready for more detailed code review.

OK, I am slowly parsing through your comments @davidlmobley I'll try to quote something you said so it's clear which one I'm answering below:
1 and 2 in your first comment:
I think we are going to need to refine how frequently we make changes to atoms verses bonds. Right now every time a decision is made it's an equal choice for each change. I was under the assumption this is the part @cbayly13 is supposed to be working on so I just outlined how to make each of the moves so he could update it.

Choose create or destroy a chemical environment type in the list with a 50:50 chance
If Create: choose a chemical environment from the list and chose create_new_environment(env) with equal probability for each environment in the envList
choose edit an atom or a bond with equal probability:
for an atom one of the following is chosen with equal probability:

remove atom,
add an atom bonded to it,
add ORtype
remove ORtype
add ANDtype
remove ANDtype

for a bond one of the following is chosen with equal probability:

add ORtype
remove ORtype
add ANDtype
remove ANDtype
(there are only two ANDtypes for bonds @ or !@ basically in a ring or not in a ring)

UPDATE: After looking closer, I see you're running 119 elements in your test

No I'm not actually, when a sampler is initialized it looks for which things in the elements list is present in the set of molecules, it only keeps the relevant "elements" (which could be a list of elements OR'd together) so in the AlkEthOH set it doesn't matter how big your list of elements is the sampler will only keep carbon, oxygen, and hydrogen

Tests-wise, you'll definitely want tests which correspond to your correctAtoms.py, correctBonds.py, etc. examples, as an important test (as for smarty) is whether, if you start with the "right answer", if you get 100%.

I am planning to basically copy all of those into a test script for the sampler

In other words, have your code check itself for bugs rather than having the user check

I agree this makes the most sense, I will work on adding this everywhere this check needs to be included, it will need to be a part of the atom, bond, and chemical environment code separately I think.

I also note that there are disadvantages to adding/deleting only empty atoms, one of which is then that it takes more work (and more moves) to get to the type of decoration we often expect to be most useful, which is where we SPECIFY an alpha or beta substituent. Maybe this is enough reason to use the approach you mention.

This was pretty much the reasoning we were thinking of that, we are going to need decorated alpha and beta atoms especially when it comes to specifying torsions. The idea behind adding and removing empty atoms came from a phone call with John, the idea being that every move you make needs to be reversible, if you always add empty atoms then you can only remove empty atoms.
The last time Christopher and I talked we were concerned in both directions, that adding empty atoms makes it take longer to get to a reasonably decorated atom in that place (and that maybe it wouldn't keep it because it doesn't add enough information), but also that it would make removing atoms hard which might be necessary if you've gotten into some kind of "local minima" that you need to get out of (like with the making HO instead of HC with the atomtypes).

Or are you saying that after the atom was added, the bond might have become decorated, and it doesn't check this before allowing atom removal? If the latter, this will need fixing.

This is exactly what I was saying, I wasn't very clear about that. It was mostly a statement that I need to add a check. When removing an atom the bond attaching it to the rest of the molecule is also removed, and we should be checking if that bond is decorated.

so if you have a can make moves from the state where you have an atom with one ORtype and a decorated bond to the state where you have deleted that atom and its bond, but you CAN'T make moves from the state where you have no atom/bond to the state where you have an atom with one ORtype and a decorated bond, then the whole machinery is no longer guaranteed to converge to a steady state in the limit of enough sampling.

 However, I think it is going to need a little more discussion with @cbayly13 to make sure that we are adding atoms in the most logical way. Right now I only add atoms where the atom has 1 ORtype, no ANDtypes and a bond that is completely empty, i.e. the bond is always ~.
I'm going to wait to update the removeAtom method until we are completely clear on how one is allowed to addAtoms.

Also, I saw the update for the labeler in pull request #113 I'll update the sampler in the next commit

@bannanc - responses in bits:

No I'm not actually, when a sampler is initialized it looks for which things in the elements list is present in the set of molecules, it only keeps the relevant "elements" (which could be a list of elements OR'd together) so in the AlkEthOH set it doesn't matter how big your list of elements is the sampler will only keep carbon, oxygen, and hydrogen

Well, this is odd then. I end up with VERY DIFFERENT behavior if I tell it to sample only elements 1-9 versus sampling elements 1-1xx. Check for bugs, please? Specifically, sampling 1-1xx for angles on AlkEthOH tends to end up with SMIRKS which tend to use bonds more than atoms to discriminate angles. Sampling 1-9 goes the other way.
Relating to making moves - yes, I pointed Christopher to your code, and he is working on that part.

Or are you saying that after the atom was added, the bond might have become decorated, and it doesn't check this before allowing atom removal? If the latter, this will need fixing.

This is exactly what I was saying, I wasn't very clear about that. It was mostly a statement that I need to add a check. When removing an atom the bond attaching it to the rest of the molecule is also removed, and we should be checking if that bond is decorated.

Yes, we'll need to do that.

Well, this is odd then. I end up with VERY DIFFERENT behavior if I tell it to sample only elements 1-9 versus sampling elements 1-1xx. Check for bugs, please? Specifically, sampling 1-1xx for angles on AlkEthOH tends to end up with SMIRKS which tend to use bonds more than atoms to discriminate angles. Sampling 1-9 goes the other way.

That's strange... I'll have to check how it is removing unused elements, there is probably something wrong there. I'll take a look later today.

Also, the tests are passing on my computer so I think there might be a file or update I forgot to add. I'll get it sorted out.

Looks like it might have just had a sporadic failure when testing via Travis as it looks like it's hanging retrieving things...

@bannanc - tests are failing because of an issue with importing OpenEye toolkits. I don't think your modifications have caused this, but it's possible there is already a fix in master that you haven't pulled into this? Otherwise I may need to investigate as maybe Travis is failing at installing them.

@davidlmobley I haven't pulled from master in a while, so it's possible I missed a change there, I'll do that now.

I was testing some things this morning, the plan was just to import environments and create some with smirks and make sure the getTypes() method was working correctly. When I imported smarty.environments I got the following warning:
In [49]: from smarty.environment import *
'module' object has no attribute '_vendor'
Warning: Cannot import openeye toolkit; not all functionality will be available.

I'm guessing that whatever is causing this warning could also be causing the checks to fail. Any ideas?

@bannanc - I'm not seeing vendor anywhere super obvious in the code. What about trying your experiment again with verbosity, i.e. python -v?

However, it looks like the "Cannot import..." message is coming from __init__.py so you might poke around there and see if you can tell what's going on, @bannanc .

Thanks for the direction @davidlmobley , I couldn't find vendor anywhere either, I will poke around and post anything I find.

Now it looks like python 2 tests are passing, but not 3? I probably accidentally added something that isn't python3 compatible accidentally, I'll investigate.

@davidlmobley I found it, there was an issue with how the smarty tools were being imported and a few issues with print statements. It looks like everything is passing now.

Nice work, @bannanc . But this is still [WIP], yes? Or is at the point where you can finalize a reasonable addition/modularization of this and get it merged and bring in other things later?

@davidlmobley I think there are going to be a lot of changes in the format of chemical environments and the sampler as I import @cbayly13 's moves so I don't think we should merge into master until I get those combined.

@bannanc - would it make sense to bring this one in as a functional unit before you do that, since it will involve a ton of other modifications/extensions/changes? Just asking.

@davidlmobley
that actually might make sense before I start making changes maybe we should pull this in. It addressed a bunch of smaller issues early on. Why don't you merge this and I'll write up a new issue to explain my plan to merge Christopher's moves into the sampler and make a new pull request.

OK, let's do that. Merging.


Support sorting by created time

Support sorting library by item's created time.

Code looks great! I'll test locally and merge in shortly 🤝 🙇 👍

Thank you @CrendKing for this great addition 🙇


Update DApps query filtering

Summary
We change the backend to handle the case of inputs targeting DApps that were not yet "instantiated", more details here. So the changes are to improve the filtering to avoid listing non-existing DApps. Also did a small clean-up of unused properties in the query.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 71.011%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
2536

Relevant Lines:
3404

💛  - Coveralls


Multiple update statements with one round trip to database

This code:
 foreach (var item in model)
                await this.context.Carts.Where(t => t.Id == item.id).UpdateAsync(t => new DbCart() { Order = item.order });

is much slower then this:
 var items = await this.context.Carts.Where(t => model.Select(t2 => t2.id).Contains(t.Id)).ToDictionaryAsync(t => t.Id, t => t);
            foreach (var item in model)
                items[item.id].Order = item.order;
            await this.context.SaveChangesAsync();

Is it possible to use update with only one round trip to database? Maybe future update or something like that.

Hello @MaklaCof ,
Yes, it's normal that SaveChanges is faster due to how Batch Update SQL is executed. You normally use it when you have several items to update at once.
I have added this request in the roadmap. That will certainly be done when we will start to re-write our library for the v2.x version.
Best Regards,
Jonathan

Thanks. Feel free to close the issue.

@MaklaCof how is that even possible, since when does EF support multiple async request from the same context is this new?

@granthoff1107
I was not talking about multiple request (at the same time - parallel), but a possible way to prepare data and then post all changes with single request which is possible. EF does that when for example you add several new entities to DbSet and then call SaveChanges. Same applies for BulkOperations.

@MaklaCof  Yes, I'm aware of the original issue.  I'm just confused because you stated the original query is much slower than the later,  which implies that the original query was able to run in the first place.
I'm confused on how you got EntityFramework to run parallel Queries from the Same context.

First query runs one query for every update (inside for), that's why it is much slower then second which runs once (on save changes). No parallel execution. As far as I know, this can no be done on same context. A new context must be created. Link1, Link2.


As a power user I should be able to change the library catalogue used for search

so that I can customise the application.

Depends on: #26


Effect don't work when use reactive to proxy a Map which has reactive object as member's key.

Version
3.0.0-alpha.11
Reproduction link
https://jsfiddle.net/xieyu/psavz576/51/
Steps to reproduce
With devtools opened, it obvious that the 'trigger' should be printed twice, however it just printed once.
What is expected?
The function wrap by effcet should rerun.
What is actually happening?
It lose responsiveness.

We only track the rawObj here (line 30):
https://github.com/vuejs/vue-next/blob/7402951d945b4e49474661594992a95f878de3f0/packages/reactivity/src/collectionHandlers.ts#L23-L37
I think this was specifically done to address another side effect when mixing original objects and their proxies in map keys:
https://github.com/vuejs/vue-next/commit/cc69fd72e3f9ef3572d2be40af71d22232e1b9af

Why would you even add both the original and the observed version of the same object as keys in the same map?
The basic rule of thumb when using v3's reactivity system is if you intend to make an object reactive you should avoid using its original value, because they are not the same.

The expected behavior is fixed, but you should still avoid having both the raw and observed versions of the same object as keys in the same map. It can lead to ambiguous behavior with deletion and has checks.

Why would you even add both the original and the observed version of the same object as keys in the same map?
The basic rule of thumb when using v3's reactivity system is if you intend to make something reactive, create the reactive version directly and work only with the reactive version. Forget about the original.

You should not keep a reference to originObj, always work with observedObj.
You should not first mutate originMap and then observe it. Create the observed map directly and then work with it.

If you somehow ran into this situation when writing normal component code, then it would better to investigate how this happened in the original scenario.

Thanks for your reply, and I agree with you. It is a better way to add warning to avoid this.

Deal with 5dcc645f

If collections contains both the raw and reactive versions of the same object as keys, get will track both of them when user code just want to invoke value by reactive key.
It will lead to the collections[[raw object]] also subscribe the effect which is on the top of stack. It means the effect also need to rerun whencollections[[raw object]] change. But we don't know if the user code want to do this.
https://github.com/vuejs/vue-next/blob/4d196366c8d436553d1339a2417f22beee979c41/packages/reactivity/src/collectionHandlers.ts#L29-L46
If the action has a plan to do something instead of a bug, you can close this issue at any time.😄


Issue with build command override when running "sst deploy"

My sst.config.ts:
/// <reference path="./.sst/platform/config.d.ts" />
const environments = ["production", "development", "staging", "qa", "qa2"];

export default $config({
  app(input) {
    return {
      name: "ananas-new-customer-app ",
      removal: environments.includes(input?.stage) ? "retain" : "remove",
      protect: environments.includes(input?.stage),
      region: "eu-central-1",
      home: "aws",
      edge: false
    };
  },
  async run() {
    new sst.aws.Nextjs("MyWeb", {
      domain: {
        name: String(process.env.OPENNEXT_NEW_PUBLIC_APP_DOMAIN_NAME),
        dns: sst.aws.dns({zone: process.env.OPENNEXT_NEW_PUBLIC_APP_DOMAIN_ZONE_ID }),
        redirects: ["www." + process.env.OPENNEXT_NEW_PUBLIC_APP_DOMAIN_NAME],
      },
      //TODO There seems that there is some issue with the buildCommand where anything except first build is failing
      // buildCommand: "npm run build:" + process.env.NEXT_PUBLIC_ENVIRONMENT
    });
  },
});

When I uncomment buildCommand first deploy is successful, but if I clear temp files or try to run in on another machine all subsequent deploys are failing. We are getting this error:
time=2024-12-25T12:42:16.526Z level=INFO msg="done running stack command"

✕  Failed
   Failed to load open-next.output.json from ".open-next/open-next.output.json".

time=2024-12-25T12:42:16.529Z level=INFO msg="INFO unlocking app=ananas-new-customer-app stage=development"
time=2024-12-25T12:42:16.847Z level=INFO msg="shutting down server"
time=2024-12-25T12:42:16.847Z level=INFO msg="server done"
time=2024-12-25T12:42:16.847Z level=ERROR msg="exited with error" err="failed to run update: exit status 255\ncode: 255\nstdout: Updating (development):\nDownloading plugin vercel-1.11.0: starting\nDownloading plugin cloudflare-5.37.1: starting\nDownloading plugin docker-build-0.0.6: starting\nDownloading plugin vercel-1.11.0: done\nDownloading plugin tls-5.0.1: starting\nInstalling plugin vercel-1.11.0: starting\nDownloading plugin tls-5.0.1: done\nInstalling plugin tls-5.0.1: starting\nDownloading plugin cloudflare-5.37.1: done\nInstalling plugin vercel-1.11.0: done\nDownloading plugin docker-build-0.0.6: done\nInstalling plugin cloudflare-5.37.1: starting\n@ updating....\nInstalling plugin docker-build-0.0.6: starting\nInstalling plugin tls-5.0.1: done\n@ updating....\nInstalling plugin cloudflare-5.37.1: done\nInstalling plugin docker-build-0.0.6: done\n\n    pulumi:pulumi:Stack ananas-new-customer-app-development running \n@ updating......\n ~  pulumi-nodejs:dynamic:Resource MyWebBuild.sst.Run updating (0s) [diff: ~env,version]\n@ updating.............................................................\n ~  pulumi-nodejs:dynamic:Resource MyWebBuild.sst.Run updated (57s) [diff: ~env,version]\n    pulumi:pulumi:Stack ananas-new-customer-app-development running error: Running program '/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/.sst/platform/sst.config.1735130467854.mjs' failed with an unhandled exception:\n    pulumi:pulumi:Stack ananas-new-customer-app-development **failed** 1 error\nDiagnostics:\n  pulumi:pulumi:Stack (ananas-new-customer-app-development):\n    error: Running program '/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/.sst/platform/sst.config.1735130467854.mjs' failed with an unhandled exception:\n    \x1b[36m<ref *1>\x1b[39m VisibleError: Failed to load open-next.output.json from \".open-next/open-next.output.json\".\n        at \x1b[90mfile:///home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/src/components/aws/nextjs.ts:618:17\n        at \x1b[90m/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/output.ts:490:31\n        at Generator.next (<anonymous>)\n        at \x1b[90m/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/pulumi/output.js:21:71\n        at new Promise (<anonymous>)\n        at __awaiter \x1b[90m(/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/pulumi/output.js:17:12\x1b[90m)\x1b[39m\n        at applyHelperAsync \x1b[90m(/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/pulumi/output.js:298:12\x1b[90m)\x1b[39m\n        at \x1b[90m/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/output.ts:352:13\n    \x1b[90m    at processTicksAndRejections (node:internal/process/task_queues:95:5)\x1b[39m {\n      promise: Promise { \x1b[36m<rejected>\x1b[39m \x1b[36m[Circular *1]\x1b[39m }\n    }\n\nOutputs:\n    _protect: true\n\nResources:\n    ~ 1 updated\n    10 unchanged\n\nDuration: 1m1s\n\n\nstderr: \n"
✕  Unexpected error occurred. Please run with --print-logs or check .sst/log/sst.log if available.

So this is the error Failed to load open-next.output.json from \".open-next/open-next.output.json\"
It sounds like your build command is not running the OpenNext build?

Hi, so I'm running "npx sst deploy --stage development", and If you print whole error with "--print-logs" arg there is whole log.
time=2024-12-25T12:42:16.847Z level=ERROR msg="exited with error" err="failed to run update: exit status 255\ncode: 255\nstdout: Updating (development):\nDownloading plugin vercel-1.11.0: starting\nDownloading plugin cloudflare-5.37.1: starting\nDownloading plugin docker-build-0.0.6: starting\nDownloading plugin vercel-1.11.0: done\nDownloading plugin tls-5.0.1: starting\nInstalling plugin vercel-1.11.0: starting\nDownloading plugin tls-5.0.1: done\nInstalling plugin tls-5.0.1: starting\nDownloading plugin cloudflare-5.37.1: done\nInstalling plugin vercel-1.11.0: done\nDownloading plugin docker-build-0.0.6: done\nInstalling plugin cloudflare-5.37.1: starting\n@ updating....\nInstalling plugin docker-build-0.0.6: starting\nInstalling plugin tls-5.0.1: done\n@ updating....\nInstalling plugin cloudflare-5.37.1: done\nInstalling plugin docker-build-0.0.6: done\n\n    pulumi:pulumi:Stack ananas-new-customer-app-development running \n@ updating......\n ~  pulumi-nodejs:dynamic:Resource MyWebBuild.sst.Run updating (0s) [diff: ~env,version]\n@ updating.............................................................\n ~  pulumi-nodejs:dynamic:Resource MyWebBuild.sst.Run updated (57s) [diff: ~env,version]\n    pulumi:pulumi:Stack ananas-new-customer-app-development running error: Running program '/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/.sst/platform/sst.config.1735130467854.mjs' failed with an unhandled exception:\n    pulumi:pulumi:Stack ananas-new-customer-app-development **failed** 1 error\nDiagnostics:\n  pulumi:pulumi:Stack (ananas-new-customer-app-development):\n    error: Running program '/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/.sst/platform/sst.config.1735130467854.mjs' failed with an unhandled exception:\n    \x1b[36m<ref *1>\x1b[39m VisibleError: Failed to load open-next.output.json from \".open-next/open-next.output.json\".\n        at \x1b[90mfile:///home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/src/components/aws/nextjs.ts:618:17\n        at \x1b[90m/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/output.ts:490:31\n        at Generator.next (<anonymous>)\n        at \x1b[90m/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/pulumi/output.js:21:71\n        at new Promise (<anonymous>)\n        at __awaiter \x1b[90m(/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/pulumi/output.js:17:12\x1b[90m)\x1b[39m\n        at applyHelperAsync \x1b[90m(/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/pulumi/output.js:298:12\x1b[90m)\x1b[39m\n        at \x1b[90m/home/runner/work/ananas-new-customer-app/ananas-new-customer-app/\x1b[39m.sst/platform/node_modules/\x1b[4m@pulumi\x1b[24m/output.ts:352:13\n    \x1b[90m    at processTicksAndRejections (node:internal/process/task_queues:95:5)\x1b[39m {\n      promise: Promise { \x1b[36m<rejected>\x1b[39m \x1b[36m[Circular *1]\x1b[39m }\n    }\n\nOutputs:\n    _protect: true\n\nResources:\n    ~ 1 updated\n    10 unchanged\n\nDuration: 1m1s\n\n\nstderr: \n"
My wild guess is that there is some circular dependency that is stored locally and without this Generator fails.


client: headless Chrome high CPU usage using AJAX Spider

Describe the bug
The client add-on can cause high CPU usage in headless Chrome, the spider does not progress and client information is not sent to ZAP.
Steps to reproduce the behavior
Please note this example is for a public site with a bug bounty program. In the future the program may not be in effect.
Desktop:

Install 'client' and 'selenium' add-ons
Create a new context
Ensure "In Scope" is ticked
Add to "Include in Context" "https://www.humblebundle.com.*"
Save the context
Click Tools > AJAX Spider
Set the starting URL to "https://www.humblebundle.com"
Set browser to "Chrome Headless"
Set the number of concurrent browsers to "1"
Open "Client History" panel
Run the spider and within 3-5 minutes the spider will not continue and the chrome process will have high CPU usage, spider will not progress, client history stops receiving data.

Automation:
# example demonstrating client side integration causing high CPU usage in chrome headless
# ZAP Weekly 2023-10-09
# Add-ons:
#   ascanrulesAlpha-alpha-44.zap
#   attacksurfacedetector-alpha-1.1.4.zap
#   authstats-alpha-2.zap
#   callgraph-alpha-5.zap
#   client-0.3.0.zap (git commit hash b624ca0a065c016234a01ff7f9b214247ff2bc19)
#   communityScripts-alpha-17.zap
#   custompayloads-alpha-0.12.0.zap
#   directorylistv2_3-release-4.zap
#   evalvillain-alpha-0.3.0.zap
#   fileupload-alpha-1.1.0.zap
#   fuzzdb-release-9.zap
#   fuzzdboffensive-release-4.zap
#   highlighter-alpha-8.zap
#   imagelocationscanner-beta-4.zap
#   jsonview-alpha-3.zap
#   jwt-alpha-1.0.3.zap
#   jython-beta-13.zap
#   levoai-zap-addon-alpha-0.2.0.zap
#   neonmarker-alpha-1.6.0.zap
#   network-beta-0.11.2.zap
#   packpentester-alpha-0.1.0.zap
#   paramdigger-alpha-0.2.0.zap
#   postman-alpha-0.1.0.zap
#   pscanrulesAlpha-alpha-41.zap
#   quickstart-release-42.zap
#   reflect-alpha-0.0.11.zap
#   revisit-alpha-4.zap
#   saml-alpha-10.zap
#   selenium-release-15.15.0.zap
#   sqliplugin-beta-15.zap
#   sse-alpha-12.zap
#   svndigger-release-4.zap
#   tokengen-beta-15.zap
#   treetools-beta-8.zap
#   viewstate-alpha-3.zap
#   wappalyzer-release-21.24.0.zap
#   webdriverlinux-release-63.zap
#   webdrivermacos-release-63.zap
#   webdriverwindows-release-63.zap
#
#   OS:
#     Distributor ID: Kali
#     Description:    Kali GNU/Linux Rolling
#     Release:        2023.3
#     Codename:       kali-rolling
#     Linux kali 6.3.0-kali1-amd64 zaproxy/zaproxy#1 SMP PREEMPT_DYNAMIC Debian 6.3.7-1kali1 (2023-06-29) x86_64 GNU/Linux

env:
  contexts :
    - name: context 1
      urls:
        - https://www.humblebundle.com/
      includePaths:
        - https://www.humblebundle.com.*
      sessionManagement:
        method: cookie
  parameters:
    failOnError: true
    failOnWarning: false
    progressToStdout: true

jobs:

  - type: passiveScan-config
    name: passiveScan-config
    parameters:
      maxAlertsPerRule: 0
      maxBodySizeInBytesToScan: 0
      scanOnlyInScope: false

  - type: spiderAjax
    name: spiderAjax
    parameters:
      browserId: chrome-headless
      clickDefaultElems: true
      clickElemsOnce: true
      context:
      eventWait: 1000
      maxCrawlDepth: 10
      maxCrawlStates: 0
      maxDuration: 60
      numberOfBrowsers: 1
      randomInputs: true
      reloadWait: 1000
      runOnlyIfModern: false
      url: https://www.humblebundle.com/
      user:

  - type: delay
    name: delay
    parameters:

  - type: passiveScan-wait
    name: passiveScan-wait
    parameters:
      maxDuration: 0

  - type: report
    name: report
    parameters:
      displayReport: false
      reportDescription:
      reportDir: /home/vagrant
      reportFile: null
      reportTitle: ZAP Scanning Report
      template: risk-confidence-html
      theme: null

Expected behavior

AJAX spider progresses as without the client add-on installed.
The chrome process uses CPU usage consistent without client add-on installed.
Client information is received per plugin intent.

Software versions
# ZAP Weekly 2023-10-09
# Add-ons:
#   ascanrulesAlpha-alpha-44.zap
#   attacksurfacedetector-alpha-1.1.4.zap
#   authstats-alpha-2.zap
#   callgraph-alpha-5.zap
#   client-0.3.0.zap (git commit hash b624ca0a065c016234a01ff7f9b214247ff2bc19)
#   communityScripts-alpha-17.zap
#   custompayloads-alpha-0.12.0.zap
#   directorylistv2_3-release-4.zap
#   evalvillain-alpha-0.3.0.zap
#   fileupload-alpha-1.1.0.zap
#   fuzzdb-release-9.zap
#   fuzzdboffensive-release-4.zap
#   highlighter-alpha-8.zap
#   imagelocationscanner-beta-4.zap
#   jsonview-alpha-3.zap
#   jwt-alpha-1.0.3.zap
#   jython-beta-13.zap
#   levoai-zap-addon-alpha-0.2.0.zap
#   neonmarker-alpha-1.6.0.zap
#   network-beta-0.11.2.zap
#   packpentester-alpha-0.1.0.zap
#   paramdigger-alpha-0.2.0.zap
#   postman-alpha-0.1.0.zap
#   pscanrulesAlpha-alpha-41.zap
#   quickstart-release-42.zap
#   reflect-alpha-0.0.11.zap
#   revisit-alpha-4.zap
#   saml-alpha-10.zap
#   selenium-release-15.15.0.zap
#   sqliplugin-beta-15.zap
#   sse-alpha-12.zap
#   svndigger-release-4.zap
#   tokengen-beta-15.zap
#   treetools-beta-8.zap
#   viewstate-alpha-3.zap
#   wappalyzer-release-21.24.0.zap
#   webdriverlinux-release-63.zap
#   webdrivermacos-release-63.zap
#   webdriverwindows-release-63.zap
#
#   OS:
#     Distributor ID: Kali
#     Description:    Kali GNU/Linux Rolling
#     Release:        2023.3
#     Codename:       kali-rolling
#     Linux kali 6.3.0-kali1-amd64 zaproxy/zaproxy#1 SMP PREEMPT_DYNAMIC Debian 6.3.7-1kali1 (2023-06-29) x86_64 GNU/Linux

Screenshots
No response
Errors from the zap.log file
No response
Additional context
No response
Would you like to help fix this issue?

[ ] Yes

For info I've just run the AJAX SPider against https://www.humblebundle.com/ with the latest version of the ZAP extension and it ran to completion!
It also found a lot of URLs that the AJAX Spider "missed"

The new version is added in https://github.com/zaproxy/zap-extensions/pull/5027


Cannot edit Visibility Rect on Particles2D

Godot version:
master - commit 1c17c2b9b39d9c6e7440d25251ac8b1a1fede5bb
OS/device including version:
macOS High Sierra
Issue description:
Cannot edit Visibility Rect on Particles2D

Steps to reproduce:

add Particles2D
try to change Visiblity Rect via Inspector
fail to see change

Minimal reproduction project:
New Game Project.zip

tested on windows ( 68676c7 ) and its not working too


Failed to load the scripture card after login-in back

Login to the app, open a new book and make some edits and save.
Logout
Log back in and Note that the scripture card added in step 1 shows blank. See the errors in the console:

@larsgson I think this case is the best reason to consider exposing actions via the pk cache context. In this case, we need a way to remove everything in the cache when the user logs out.
Apparently, things are "sticking" around. This symptom is now probably the root cause of several bugs right now:

#67 (gT)
#40 (uw-editor)
#78 (gT)
#44 (uw-editor)

Not seeing this problem in v0.0.18 build cc1f350. After logging back in, users can see their edited and saved Book Cards.

Testing with v0.9.0-rc.2 build 29a2450 QA. Looks good


AVRO-3120: Support Next Java LTS (Java 17)

Disable Spotless' removeUnusedImports
(https://github.com/diffplug/spotless/issues/834). It will be re-enabled
once Avro is updated to JDK 11+. Then we can add .mvn/jvm.config (see
https://github.com/diffplug/spotless/issues/834#issuecomment-817524058)

Replace Easymock with Mockito.

Jira

[X] My PR addresses the following AVRO-3120 issue

Tests

[X] My PR updates several unit tests to use Mockito instead of Easymock

Commits

[X] My commits all reference Jira issues in their subject lines.

Documentation

[] TODO: Probably I should update the website and/or README

This PR fixes https://issues.apache.org/jira/browse/AVRO-3122

This PR changed only test related code, so I don't see a reason to backport it to branch-1.11

Nice, well done @martin-g ! I wonder if we can argueable say then that Avro 1.11.0 was already Java 17 compatible, we were just not testing it :)

Right! It looks safe to say this! :-)
But don't mention JDK 18/19 EAs yet!
Here we still have few problems:
[ERROR] Failures:
[ERROR]   TestSpecificCompiler.testInvalidParameterCounts:212->assertCompilesWithJavaCompiler:86->assertCompilesWithJavaCompiler:129 Warnings produced when compiling generated code with -Xlint:all expected:<0> but was:<100>
[ERROR]   TestSpecificCompiler.testLogicalTypesWithMultipleFieldsDateTime:746->assertCompilesWithJavaCompiler:86->assertCompilesWithJavaCompiler:129 Warnings produced when compiling generated code with -Xlint:all expected:<0> but was:<3>
[ERROR]   TestSpecificCompiler.testMaxValidParameterCounts:200->assertCompilesWithJavaCompiler:86->assertCompilesWithJavaCompiler:129 Warnings produced when compiling generated code with -Xlint:all expected:<0> but was:<100>
[ERROR]   TestSpecificCompiler.testUnionAndFixedFields:738->assertCompilesWithJavaCompiler:86->assertCompilesWithJavaCompiler:129 Warnings produced when compiling generated code with -Xlint:all expected:<0> but was:<2>

I think we should cherry pick it, for 1.11.1 because it is safe enough, and also to avoid eventual cherry pick conflicts. WDYT? Would you mind to open a cherry pick PR?

Do we need a PR for cherry-picks ? I'd just cherry-pick it and update fixVersion in JIRA.

About JDK 18+: https://github.com/apache/avro/pull/1459

Cherry-picked the changes to branch-1.11!


added WhoisFreaks API

[x] My submission is formatted according to the guidelines in the contributing guide
[x] My addition is ordered alphabetically
[x] My submission has a useful description
[x] The description does not have more than 100 characters
[x] The description does not end with punctuation
[x] Each table column is padded with one space on either side
[x] I have searched the repository for any relevant issues or pull requests
[x] Any category I am creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Hi there,
Thanks for reaching out. I just wanted to let you know that I don't want to
proceed with the submission.
Thanks,
[Your Name]
On Mon, 15 Jan 2024 at 18:09, Fahad Anyit @.***> wrote:

My submission is formatted according to the guidelines in the contributing
guide http:///CONTRIBUTING.md
My addition is ordered alphabetically
My submission has a useful description
The description does not have more than 100 characters
The description does not end with punctuation
Each table column is padded with one space on either side
I have searched the repository for any relevant issues or pull
requests
Any category I am creating has the minimum requirement of 3 items
All changes have been squashed
https://github.com/todotxt/todo.txt-android/wiki/Squash-All-Commits-Related-to-a-Single-Issue-into-a-Single-Commit
into a single commit

You can view, comment on, or merge this pull request online at:
https://github.com/public-apis/public-apis/pull/3739
Commit Summary

838da0c
https://github.com/public-apis/public-apis/pull/3739/commits/838da0c4ce4f23b27a73b732cb7d387bf1a19499
added whoisfreaks api

File Changes
(1 file https://github.com/public-apis/public-apis/pull/3739/files)

M README.md
https://github.com/public-apis/public-apis/pull/3739/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
(1)

Patch Links:

https://github.com/public-apis/public-apis/pull/3739.patch
https://github.com/public-apis/public-apis/pull/3739.diff

—
Reply to this email directly, view it on GitHub
https://github.com/public-apis/public-apis/pull/3739, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXJT2WIF7S7UWK6ADN26WSLYOUPQ3AVCNFSM6AAAAABB3GMML2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGA4DCOJUGQYDMNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hi,
is there any issue which i should resolve? By the way, thanks for quick response.


create a dockerfile to build static assets and copy static pages to docker image Nginx server

create a dockerfile to build static assets and copy static pages to docker image Nginx server

the image copied manually  to  anywayteam/anyway-report

looks good, but this seems to only include a dockerfile, not the items in the PR description

@OriHoch I changed the description and subject, let me know if that Ok
Thanks


Use dockercompose

hello guys i think it is also important to notice that the use of docker compose instead of docker-compose is valid just for new version of docker. there are maybe some dev that are always using the docker compose v1 out there even though it is deprecated. docker compose is just valid for the v2..
@sidikfaha @elhmn

Hey @Zaker237
Then I think the right thing to do now is to specify maybe inside the Readme that to run the project, the developers should have a version of docker witch already embed the compose plugin. What do you think about that ?


Assets section: clickable area

When the assets section is opened all the title line is clickable. When closed only the text and icon area is clickable.
Need to make all the title line always clickable:

checked

checked


WIP: Adds X-Tidepool-Trace-Session header to all API requests

What it says on the tin, and also switches to the uuid node package instead of the deprecated node-uuid package.
Update of #426.

Note
depends on

[ ] https://github.com/tidepool-org/platform-client/pull/78 and
[ ] https://github.com/tidepool-org/platform-client/pull/79 being merged and then
[ ] tidepool-platform-client in package.json should be pointed at the new build.

 [uploader] Add platform X-Tidepool-Trace-Session header to all API requests for improved tracking of errors


User not authorized to access this resource

Describe The Bug:
Recently installed the plugin and when starting Homebridge, I'm getting the following error below.
To Reproduce:
Restart HomeBridge
Expected behavior:
[10/29/2024, 10:34:29 AM] [blueair-purifier] Error getting initial device states: Error: API call failed after 3 retries with error: Error: API call error with status 403: Forbidden, {"Message":"User is not authorized to access this resource"}
at BlueAirAwsApi.apiCall (/usr/local/lib/node_modules/homebridge-blueair-purifier/src/api/BlueAirAwsApi.ts:252:17)
at processTicksAndRejections (node:internal/process/task_queues:105:5)
at BlueAirAwsApi.getDeviceStatus (/usr/local/lib/node_modules/homebridge-blueair-purifier/src/api/BlueAirAwsApi.ts:148:18)
at BlueAirPlatform.getInitialDeviceStates (/usr/local/lib/node_modules/homebridge-blueair-purifier/src/platform.ts:84:23)
at HomebridgeAPI. (/usr/local/lib/node_modules/homebridge-blueair-purifier/src/platform.ts:45:7)
[10/29/2024, 10:34:30 AM] [blueair-purifier] Error getting valid devices status, reason:API call failed after 3 retries with error: Error: API call error with status 403: Forbidden, {"Message":"User is not authorized to access this resource"}. Retrying in 5 seconds...
[10/29/2024, 10:34:47 AM] [blueair-purifier] Error getting valid devices status, reason:API call failed after 3 retries with error: Error: API call error with status 403: Forbidden, {"Message":"User is not authorized to access this resource"}. Retrying in 5 seconds...
[10/29/2024, 10:35:04 AM] [blueair-purifier] Error getting valid devices status, reason:API call failed after 3 retries with error: Error: API call error with status 403: Forbidden, {"Message":"User is not authorized to access this resource"}. Retrying in 5 seconds...
Plugin Config:
{
"username": "removed",
"password": "removed",
"region": "USA",
"accountUuid": "17e4eca2-a4e6-42a5-a919-ff2400ed2446",
"verboseLogging": true,
"uiDebug": true,
"devices": [
{
"id": "1",
"name": "Master Blueair",
"model": "Blue Pure 511i Max",
"serialNumber": "111117800201111210028217",
"filterChangeLevel": 10,
"led": true,
"nightMode": true
}
],
"platform": "blueair-purifier"
}
Environment:

Plugin Version: 1.0.12
Homebridge Version: 1.8.5
Node.js Version: v22.11.0
NPM Version: 10.9.0
Operating System: macOS Sequoia

You might have misstyped your username/password or you have to select another region.

Or maybe your devices are attached to a different account?

@kovapatrik I'm a bonehead, when I discovered the device, I never clicked "Add", I just added the UUID and added it manually. Sorry for the false alarm.
I did want to confirm everything is working great on the Blue Pure 511i Max, which is not on your supported devices list, so not sure if this gives you enough confidence to add that to the list.

Oh:D no worries!
Absolutely, thanks for the feedback!


Allow clippy::pedantic for star import

To fix:
warning: usage of wildcard import
   --> src/models/schema_gen.rs:174:9
    |
174 |     use diesel::sql_types::*;
    |         ^^^^^^^^^^^^^^^^^^^^ help: try: `diesel::sql_types::{Nullable, Text, Timestamptz, Uuid, Varchar}`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_imports

For now, I added a patch_file to my diesel.toml configuration, but I figured it'd be nicer for all if it's added automatically.
Or perhaps there's a better way that a reviewer will recommend :)
EDIT: I was able to find a fix without a patch file:
-#[allow(clippy::all)]
+#[allow(clippy::all, clippy::pedantic)]
 pub mod schema_gen;

So a patch_file is no longer necessary for my needs, although leaving this up in case it's useful for others

Thanks for opening this PR.
Rather than adding this #[allow()] to each generated instance of the table! macro, I would go and allow it here: https://github.com/diesel-rs/diesel/blob/0377c258db72a31058f93d6c16c5175f5f08e139/diesel_derives/src/table.rs#L184 instead (so in the macro itself)


Test with jacoco failing after merging latest changes

Only happens when jacoco instrumentation is turned on, see travis-ci builds.

Was caused by insufficient memory increasing to 1gb helped. Fixed in commit f43d916378f7f41867f47e44ea1ff3452610b7d7


Dropdown list is clipped inside bootstrap grid?

When autocomplete-alt is inside bootstrap list, dropdown list is clipped to the size of the grid (e.g. md-2). property overflow-x: visible in angucomplete-dropdown nor   z-index do not help. Any idea?

https://github.com/ghiden/angucomplete-alt/issues/388


Fixes Design update - secondary button with icon

Styled Secondary buttons with icons to match Wagtail Design System.
This fixes #9198
Before

After

The screenshots look good. Thanks @Seremba
I'll flag this for a review but in the meantime can you remove the changes to package lock and also see what failed on the CI. This code may need some formatting fixes.

Thanks a lot, @lb-, GitHub keeps tracking the package-lock file looks like I should remove it from git and GitHub.

Thanks a lot, @lb-, GitHub keeps tracking the package-lock file looks like I should remove it from git and GitHub.

Please do not remove it. Having it checked in is important to ensuring that our dependency installations are predictable at any given time. It's OK that it changes on your computer when you run npm install, just do not add it to your commits.

I understand. Thanks

Thanks a lot, @lb-, GitHub keeps tracking the package-lock file looks like I should remove it from git and GitHub.

Please do not remove it. Having it checked in is important to ensuring that our dependency installations are predictable at any given time. It's OK that it changes on your computer when you run npm install, just do not add it to your commits.

I understand. Do you think I should run JavaScript linting for all CI tests to pass?

I understand. Do you think I should run JavaScript linting for all CI tests to pass?

I'm not sure why the frontend CI is failing. It doesn't appear to have anything to do with your changes. Perhaps if you fetch the latest upstream main branch and rebase your branch on that, it will go away?

I understand. Do you think I should run JavaScript linting for all CI tests to pass?

I'm not sure why the frontend CI is failing. It doesn't appear to have anything to do with your changes. Perhaps if you fetch the latest upstream main branch and rebase your branch on that, it will go away?

Okay fine. Let me try that

Hi @Scotchester I have tried your suggestion several times. I seem not to see any visible change, any more tips?

@Scotchester thank you, maybe I should walk you through what I have done

git remote -v
git fetch upstream
git checkout styleguide/#9198-design-update-secondary-button-with-icon
git rebase --autostash styleguide/#9198-design-update-secondary-button-with-icon
git checkout main
git merge --ff-only styleguide/#9198-design-update-secondary-button-with-icon
git push --force
Anything I have done wrong?

Thanks for the steps, that is helpful. It looks like your rebase command would have had no effect.
You should try running:
git rebase styleguide/#9198-design-update-secondary-button-with-icon upstream/main

The addition of upstream/main at the end is what tells it to rebase your branch on top of main. (And you don't need the autostash option unless you have made other changes that you haven't yet committed.)
After running that, then try git push --force again.

Oops, quick correction: Make sure you have checked out your styleguide/#9198-design-update-secondary-button-with-icon branch before running the rebase command I suggested.

Okay, please!

See what I get

@Seremba Did you merge in upstream/main instead of rebasing on it? Your PR now includes a lot of changes that are already merged into main.

I have shared the screenshot, git has humbled me today.

Don't be discouraged, @Seremba. Git is a finicky beast.
At this point, I would probably suggest that you close this PR, create a fresh branch off of upstream/main, reapply your changes there, and open a new PR. It's annoying, but sometimes when branches get too messy, it's the easiest solution.


Prevent divide-by-zero errors for QC checks on low coverage SMRT Cells

Scripts for coverage-based QC errored if coverage was very low (such that the denominator was 0.00).  Expanded the checks to catch this.

Good catch.  To be explicit about ambiguity in floating point equality checks, you might use
math.isclose(0.0, float(df[df.chrom == chrom2]['mean']), abs_tol=1e-9)

instead of:
float(df[df.chrom == chrom2]['mean']) == 0.00


Release Camunda Modeler v5.4.2

What's inside?

General

https://github.com/camunda/camunda-modeler/pull/3242

BPMN

https://github.com/camunda/camunda-bpmn-js-behaviors/pull/15
https://github.com/bpmn-io/bpmn-js-properties-panel/pull/802

Forms

https://github.com/bpmn-io/form-js/pull/355

Release Checklist
To be done immediately after creating this issue.

[x] add Slack role to release manager (@modeling-release-manager)

To be done to prepare and build the release.

[x] make sure changes in upstream libraries are merged and released

bpmn-js, dmn-js, *-properties-panel, *-moddle, camunda-bpmn-js, form-js, ...

[x] make sure dependencies to upstream libraries are updated and can be installed (rm -rf node_modules && npm i && npm run all works)
[x] close all issues which are solved by dependency updates
[x] smoke test to verify all diagrams can be created
[x] update Release Info
[x] update CHANGELOG
[x] create release (npm run release), cf. release schema

[x] wait for release build to create the artifacts

[x] prepare a list of what was changed or needs to be tested
[x] execute integration test, verifying fixed things are actually fixed
[x] optionally trigger QA for testing

To be done to make the release publicly available.

[x] publish release on Github Releases
[x] trigger mirroring of release to Camunda Download Center via Jenkins
[x] request marketing to update the downloads page via request form
[x] add new version to update server releases
[x] publish release via update server (push to live)

Camunda Modeler 5.4.2 is ready to be downloaded at https://camunda.com/download/modeler/.


v1.1.2: Cannot start aesm_service

I just upgraded from 1.0.9 to sgx-rust:1804-1.1.2 and I can no longer start the aesm_service in the docker container.
root@7216fc5a8208:~# /opt/intel/sgx-aesm-service/aesm/aesm_service
/opt/intel/sgx-aesm-service/aesm/aesm_service: error while loading shared libraries: libCppMicroServices.so.4.0.0: cannot open shared object file: No such file or directory
root@7216fc5a8208:~# ls /dev/isgx
/dev/isgx

About my sgx driver:
~ modinfo isgx
filename:       /lib/modules/5.4.41-1-lts/kernel/drivers/intel/sgx/isgx.ko.xz
license:        Dual BSD/GPL
version:        2.6.0
author:         Jarkko Sakkinen<EMAIL_ADDRESS>description:    Intel SGX Driver
srcversion:     F725A4ECA4194E2D2470F56
alias:          acpi*:INT0E0C:*
depends:
retpoline:      Y
name:           isgx
vermagic:       5.4.41-1-lts SMP mod_unload

Please set LD_LIBRARY_PATH=/opt/intel/sgx-aesm-service/aesm before runing the aesm-service.
More see: https://github.com/intel/linux-sgx/blob/master/psw/ae/aesm_service/config/aesmd_service/aesmd.service#L10

I did that. I also included it in my Dockerfile.
FROM baiduxlab/sgx-rust:1804-1.0.9

RUN echo 'LD_LIBRARY_PATH=/opt/intel/sgx-aesm-service/aesm /opt/intel/sgx-aesm-service/aesm/aesm_service &' >> /root/.bashrc

Any other guesses?

I can start it without any issue:
docker run  --rm -it baiduxlab/sgx-rust:1804-1.1.2 /bin/bash -c "LD_LIBRARY_PATH=/opt/intel/sgx-aesm-service/aesm /opt/intel/sgx-aesm-service/aesm/aesm_service && ps x"
  PID TTY      STAT   TIME COMMAND
    1 pts/0    Rs+    0:00 ps x
    7 ?        Rsl    0:00 /opt/intel/sgx-aesm-service/aesm/aesm_service

Note that .bashrc will only be source when you start bash in the docker image.

Thanks for looking into this. I still get this error when I start it "manually" in the shell. But it is running.
root@75dbac795724:~/sgx/samplecode/hello-rust/bin# /opt/intel/sgx-aesm-service/aesm/aesm_service/opt/intel/sgx-aesm-service/aesm/aesm_service: error while loading shared libraries: libCppMicroServices.so.4.0.0: cannot open shared object file: No such file or directory
root@75dbac795724:~/sgx/samplecode/hello-rust/bin# ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 02:27 pts/0    00:00:00 /bin/bash
root          16       1  0 02:27 ?        00:00:00 /opt/intel/sgx-aesm-service/aesm/aesm_servic
root        7613       1  0 02:47 pts/0    00:00:00 ps -ef

My original issue is gone now, so I guess I must have been doing something incorrectly and misdiagnosed the issue.


Using filters

Thanks for such a good work, This is not a issue i just want to ask one thing that how  can i use libavfilter, actually i am getting linker error  undefined reference for filter methods

Actually I do not know - If you will have some knowledge about filters - you can continue to post on this issue


Update meta.yaml

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@conda-forge-admin please rerender

As of now, I am blocking the merge until all conversations are resolved

As of now, I am blocking the merge until all conversations are resolved

I am hereby renouncing my role as Code Owner for all files in this repository and will remain an observer/contributor


[Menu] Fluid item in horizontal menu

Currently we couldn't find any way to have a fluid item in a horizontal menu. For example : If we want a search bar to span the entire width. Probably this can be a good addition to the framework.

I just wanted to do this as well.
On the forums, there is a hack involving .right.menu that allows someone to do this manually, but this would be a great addition in my opinion.

Any news on this? Such a pity!

+1

Man, this is a such an important bit missing from the framework.

+1


Added support for DND and INVISIBLE

Note: bots can't use dnd but can use invisible/idle/online (idle only if 'afk' is true)

I'm thinking maybe it would be better to combine setStatus and setIdle in one method or at least provide an overload with both parameters. I would change it myself if I could.


Genbil - substring replace?

Hi All,
Is it currently possible to make substring replace in the Genbil?
E.G.
Imagine you have objects like dim_prod, fact_sales etc..
Each environemnt (TST, PRD.) has its own suffix on objects like: dim_prod_tst, dim_prod_prd
I would like to get list of "general" object name like dim_prod, fat_sales and then apply this to template.
https://www.nbi.io/automation/column-replace/
Is it possible to replace just suffix/prefix/substring somehow?
If not, could it be added please or is it too much effort?
Cheers,
Michal.

Using substitute you should be able to substitute the dim_ of dim_product by dim_prod which should end into dim_prod_product.

Ah cool, thanks Cedric.
I haven't noticed it in the documentation.


langchain chroma vectorstore calls ChromaDB API incorrectly when ChromaDB is running in Docker

System Info
langchain==0.0.168
chromadb==0.3.22

Who can help?
No response
Information

[ ] The official example notebooks/scripts
[X] My own modified scripts

Related Components

[ ] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[X] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
Clone official ChromaDB repository and run their docker-compose environment.
git clone git@github.com:chroma-core/chroma.git
docker-compose up

Create a folder called my_data and create a test.txt file into it with some random text.
mkdir my_data
cd my_data
echo "testingtestingtesting" > test.txt

Script to reproduce issue:
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from chromadb.config import Settings

with open('my_data/test.txt', 'r', encoding="utf-8") as file:
    raw_text = file.read()

text_splitter = RecursiveCharacterTextSplitter(
    chunk_size = 1000,
    chunk_overlap  = 0,
    length_function = len,
)
texts = text_splitter.split_text(raw_text)

embeddings = OpenAIEmbeddings()

client_settings = Settings(
        chroma_api_impl="rest",
        chroma_server_host="localhost",
        chroma_server_http_port="8000"
    )

collection_name = "chroma_test"

vectorstore = Chroma.from_texts(embedding=embeddings, texts=texts, client_settings=client_settings, collection_name=collection_name)

Set necessary OPENAI_API_KEY environment variables and run the script.
This will result in an error:
Exception: {"error":"InvalidUUID","message":"Could not parse chroma_test as a UUID"}
The same issue will not happen if you run ChromaDB locally like this. Only when calling the actual API you then run in to the issue.
vectorstore = Chroma.from_texts(embedding=embeddings, texts=texts, persist_directory="db")

Expected behavior
The expected behaviour would be that Langchain would call the ChromaDB API correctly with the UUID instead of the plaintext name of the collection.
See chromaDB sourcecode and their API chromadb\server\fastapi\__init__.py
Line 105
self.router.add_api_route(
            "/api/v1/collections/{collection_id}/add",
            self.add,
            methods=["POST"],
            status_code=status.HTTP_201_CREATED,
        )

Line 196
def add(self, collection_id: str, add: AddEmbedding) -> None:
        try:
            result = self._api._add(
                collection_id=_uuid(collection_id),
                embeddings=add.embeddings,
                metadatas=add.metadatas,
                documents=add.documents,
                ids=add.ids,
                increment_index=add.increment_index,
            )
        except InvalidDimensionException as e:
            raise HTTPException(status_code=500, detail=str(e))
        return result

Line 67
def _uuid(uuid_str: str) -> UUID:
    try:
        return UUID(uuid_str)
    except ValueError:
        raise InvalidUUIDError(f"Could not parse {uuid_str} as a UUID")

Was having the same issue, this seems to happen if you are using the latest version of the docker image/server, but an older python module.
pip install -U chromadb
And going to chromadb-0.3.23 fixed this issue.
For good measure I also created my own UUID

import uuid

# Generate a random UUID
random_uuid = uuid.uuid4()
print(random_uuid)

and used that with collection_name=
ie:

vectordb = Chroma.from_documents(collection_name="******-********-******-*****", ....)

Was having the same issue, this seems to happen if you are using the latest version of the docker image/server, but an older python module.
pip install -U chromadb
And going to chromadb-0.3.23 fixed this issue.
For good measure I also created my own UUID
import uuid
Generate a random UUID
random_uuid = uuid.uuid4()
print(random_uuid)
and used that with collection_name=
ie:
vectordb = Chroma.from_documents(collection_name="---*", ....)

run "pip install -U chromadb" in the container or a venv?

i saw the chromadb's version is 0.3.26

Remember:
when update your ChromaDB reload the Fastapi file at http://localhost:8000/openapi.json because there are small difference that can give you problem!


componentDidMount wrong syntax

Hey, currently You're using arrow syntax:
cwm→ | componentWillMount = () => { } DEPRECATED!!!
cdm→ | componentDidMount = () => { }
cwr→ | componentWillReceiveProps = (nextProps) => { } DEPRECATED!!!
scu→ | shouldComponentUpdate = (nextProps, nextState) => { }
cwup→ | componentWillUpdate = (nextProps, nextState) => { } DEPRECATED!!!
cdup→ | componentDidUpdate = (prevProps, prevState) => { }
cwun→ | componentWillUnmount = () => { }

But all these methods using simple function declaration syntax like so:
componentDidMount(){}
Please fix this issue.

@monastyrskiiden Why is this problem for you actually? It does not cause an error.

@monastyrskiiden Why is this problem for you actually? It does not cause an error.

Actually it does. Maybe it's just my webpack configuration, but in my opinion, the better way is to follow the default syntax. In this particular case i've used componentDidMount = () => {}

@monastyrskiiden Yes, it's problem with your webpack config. I won't change this syntax as I like to keep things consistent with the rest of package.
Closing for now.


[FLINK-21333][coordination] Add StopWithSavepoint state to declarative scheduler

What is the purpose of the change
Introduce StopWithSavepoint state to declarative scheduler.
This PR is based on https://github.com/apache/flink/pull/14921.

Verifying this change
IT and Unit tests.

@tillrohrmann  if you happen to have some time, it would be nice if you could take a quick look at the StopWithSavepoint state from the last commit: https://github.com/apache/flink/pull/14948/commits/93af9b697282e16a264142d38a7557a54cb6fb31#diff-9ad4a55dacb2aeda64e2158e01eba31a73b7a89a1cf6b428499f87d7dd63423f
and maybe as well at the first unit test for it: https://github.com/apache/flink/pull/14948/commits/93af9b697282e16a264142d38a7557a54cb6fb31#diff-831a3025bb46e84e3d0244712a0548d8f1fb426ee944bffdf6ba36d6bd1c5201
If time permits, I'll continue working on the tests tonight / tomorrow morning

@XComp I pushed a new version of this change, it is still work in progress because some tests are missing.

@tillrohrmann I reworked this change. It is now based on FLINK-21030.
Tests for the StopWithSavepoint state are still missing (that's why this PR is still marked as a draft). I want to collect feedback on the approach before guarding the behavior with unit tests. (note to self: I should try to write the unit tests first to validate my assumptions)

@tillrohrmann Thanks a lot for your review. I haven't responded to all comments, but they were definitely helpful pushing my thinking into the right direction. I'm sorry that we have to go through so many iterations with this.
The latest version is introducing an intermediate layer between StopWithSavepoint and StopWithSavepointOperationHandlerImpl, called StopWithSavepointOperationManagerForAdaptiveScheduler.
We could move this handler into the StopWithSavepoint class (except for the handleGlobalFailure method), as you can see from the dependencies and methods. I didn't do it yet to first collect some feedback on the overall approach.
I am aware that the test coverage is not 100% yet, but I first want approval on the approach.
I'm 90% happy with wrapping the stop with savepoint logic of SchedulerBase. There are some cases now that we need to cover that wouldn't exist if we wouldn't reuse the logic. Maybe your happiness-ratio is lower, or you prefer 100% happiness, then I'm happy to reimplement a stop with savepoint logic for the StopWithSavepoint state.

Here is a branch with a simple StopWithSavepoint implementation. Let me know what you think. This can definitely be more beautified and I might have overlooked some cases.

Thanks a lot for your draft! It's impressive how concise you've expressed the problem! I didn't find a lot of opportunities to beautify your code, but I extended the tests a bit more and massively reduced the number of changes on this PR.
Looking forward to your feedback!

Thanks a lot for your feedback! I hope I addressed all your comments.
I also cleaned up the history (only the last round of review is in a separate commit)

Thanks a lot for your review & approval. I'll merge this PR with your last comments addressed once CI has passed.


docker layer optimization

Consider condensing your RUN commands to just 1 or 2, each RUN entry adds an additional layer, the consequence being that on line 26 your cleanup apk del build-dependencies doesn't actually do any cleaning because it cannot edit the previous layers.
consider something like this
FROM python:3-alpine

LABEL maintainer "Greg Keys<EMAIL_ADDRESS>
ENV HOME /node
ENV DEBIAN_FRONTEND noninteractive
ENV PYTHONUNBUFFERED 1
ENV PATH /usr/local/bin:$PATH
ENV CROSSBAR_VERSION 16.10.1

# install deps
RUN    apk --update upgrade \
    && apk add libffi jq curl \
    && apk add --virtual build-dependencies \
               build-base \
               python3-dev \
               libffi-dev \
               openssl-dev \
               linux-headers \

    # install Crossbar.io
    && pip install -U pip \
    && pip install crossbar==${CROSSBAR_VERSION} \

	# clean up and shrink the image size
    && apk del build-dependencies \
    && rm -rf /var/cache/* \
              /tmp/* \
              /etc/ssl \
              /usr/share/man \
              /var/cache/apk/* \
              /root/.npm \
              /root/.node-gyp \
              /root/.gnupg \
              /usr/lib/node_modules/npm/man \
              /usr/lib/node_modules/npm/doc \
              /usr/lib/node_modules/npm/html \

    # test if everything installed properly
    && crossbar version \

    # add our user and group
    && addgroup crossbar \
    && adduser -D -h /node -G crossbar -g "Crossbar.io Service" crossbar

# initialize a Crossbar.io node
COPY ./node/ /node/

RUN chmod +x /node/entrypoint.sh \
    && chown -R crossbar:crossbar /node

# make /node a volume to allow external configuration
VOLUME /node

# set the Crossbar.io node directory as working directory
WORKDIR /node

# run under this user, and expose default port
USER crossbar
EXPOSE 8080 8000

# entrypoint for the Docker image is the Crossbar.io executable
ENTRYPOINT ["/node/entrypoint.sh"]

CMD ["crossbar", "start", "--cbdir", "/node/.crossbar"]

Our Dockerfile contains the setup for an entrypoint.sh file which connects to our vault to download credentials prior to starting the crossbar server you can just remove chmod +x /node/entrypoint.sh and the ENTRYPOINT directive if you dont need to do anything prior to starting the server.
p.s. this also adds jq and curl which are used in our entrypoint.sh you can remove those as well if they aren't needed

We've optimized the images at various places - I wouldn't call it complete, but as general as this issue is scoped, I'd say fixed.


Rename the onSubscribe group to onSubscription

It is invoked when the subscription event is received, and it's the only on group using a verb.

Agreed

Preparing a PR

Sorry about being picky on wording ;o) https://quarkusio.zulipchat.com/#narrow/stream/187030-users/topic/onSubscribe.28.29.20or.20onSubscription.<IP_ADDRESS>F

@agoncal that actually makes sense 😉

See https://github.com/smallrye/smallrye-mutiny/pull/563


Specific Issues with Address Entity Extraction

What are some specific cases where entity extraction for addresses has failed / given unexpected behavior?

In my case, entity extraction for addresses was different depending on capitalization


Fans and Temperatures Module

I wonder how future proof the 'one column per sensor' is.

It's fairly future restive. Apple reuses the more standard ones like battery, CPU, and hard drive ones. As new machines are released with new unique sensors, they can be added on as a new column. At the very least, a new machine that has new sensors will still have the basic temperatures listed


Any ideas for making go-interface-annotations to work with vscode-neovim?

go-interface-annotations
Since go-interface-annotations uses vscode's editors, it does not work with vscode-neovim at present.

I think it should work out of the box?

I think it should work out of the box?

yeah, the builtin command "codelens.showLensesInCurrentLine" fits my need.
thx anyway.


[epic] v1.0.0 Documentation

Documentation is necessary in order to properly release a project, announce it to the world, and drive adoption. Good documentation is also very helpful for users and maintainers to understand design intent, which can sometimes help explain to users why they see certain behaviors or to maintainers, provide context around questions in code.
As part of a v1.0 release, we need to have documentation that covers the following:

[ ] General/Product Documentation

What is OLMv1?
Why are we building it?

[ ] Quickstart Guide

Prerequisites
Install
Create a ClusterCatalog
Create a ServiceAccount used to install a ClusterExtension
Create a ClusterExtension
Check installation status
Upgrade
Uninstall

[ ] Reference

Overall architecture diagram
[ ] Catalogd API reference
[ ] Operator-Controller API reference
[ ] Howto

Pin to a specific version
Accept automatic upgrades within a specific z-stream
Accept automatic upgrades within a specific channel
Derive minimal service account needed to install a bundle

[ ] #984

I just created #984 about OLMv1 limitations which we might want to include into this epic as well.

/assign

/assign @perdasilva   as discussed with @michaelryanpeter

Closing this epic as all tasks are marked done.


Document configuration settings

Describe the values in guac.yml and how/why people may want to change them.

Hey @funnelfiasco, I'd like to work on this please

Can I work on this issue?

Welcome, both of you! If you have any questions, please join us in Slack or in our regular office hours. The community page has all of the details.
@iblameRishi since you were here first, go ahead. @Atharva1723, if there are other issues you'd like to work on, please do. If they're quick, you can just submit a PR without commenting on the issue first.

Is anyone still working on this one or  I should take up ?


Only fetch videos with CC

I think yt-dlp fetches all the videos in a channel, then fetches the stats of each video (checking to see if there are captions).
Large channels with single-digit number number of videos with captions are slow to download (and hit api limits).
The (paid and official) YouTube API allows you to retrieve the video IDs with captions in a specific channel.
curl
curl \
  'https://youtube.googleapis.com/youtube/v3/search?channelId=[ChannelID]&part=id&type=video&videoCaption=closedCaption&key=[KEY]' \
  --header 'Accept: application/json' \
  --compressed

response
{
  "kind": "youtube#searchListResponse",
  "etag": "995jyKTI3Q_SpXkNvcBCDR77qP0",
  "nextPageToken": "CAUQAA",
  "regionCode": "",
  "pageInfo": {
    "totalResults": 141,
    "resultsPerPage": 5
  },
  "items": [
    {
      "kind": "youtube#searchResult",
      "etag": "",
      "id": {
        "kind": "youtube#video",
        "videoId": ""
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "",
      "id": {
        "kind": "youtube#video",
        "videoId": ""
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "",
      "id": {
        "kind": "youtube#video",
        "videoId": ""
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "",
      "id": {
        "kind": "youtube#video",
        "videoId": ""
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "",
      "id": {
        "kind": "youtube#video",
        "videoId": ""
      }
    }
  ]
}

Have you tried multi threaded downloading? It substantially decreases the time it takes to download a channel
yt-fts download --number-of-jobs 5 "https://www.youtube.com/@3blue1brown"

@NotJoeMartinez I have not tried it, but I worry about hitting rate limits. I only tested a few channels, but I found at least one channel with over 1,000 videos with none of them having captions. Even with 5 jobs, that is still a lot of requests to waste time on.

I just hit hard rate limits without increasing number of jobs. The channel isn't that big or relevant.


It is possible to pass other libraries for loading images

For example, I want to change the navita library of react native to download the images and be able to pass a library like:
https://github.com/DylanVann/react-native-fast-image
and to be able to put a preload:
https://github.com/oblador/react-native-image-progress
For if not lose the effect of interpolation of the image when it is mobilized.
since the properties to be able to make a custom headerRender are not exported or propagated to the renderHeader function.

it would be like adding a new property
import FastImage from 'react-native-fast-image';

<HeaderImageScrollView customImage={FastImage} />


About training accuracy

Hi，
I use Alexnet.py in /example/imagenet to training with the configure unchanged,but after 20 rounds ,the accuracy is only 0.438870,much worse than the result shown in the docs(81%).
the dataset is from imagenet.
I wonder where this difference comes from.
Any help?
Thx.

The script is not a full script to train an AlexNet, because to train an AlexNet you need to reduce learning rate after several round
Please note 81% is top-5 accurate, and 43.8 is top-1 accurate. In my memory, when top-1 accuracy reach 55%, it is almost 81%.
What you need to do is stop current training now, load params from current checkpoint, then start train with learning rate of 0.001. After accuracy stops growing, switch to 0.0001

Thanks,I will try it.


Samples/Heatmap Layers/Heatmap_Features.html doesn't display a heatmap

I tried running the heatmap at https://bingmapsv8samples.azurewebsites.net/#Heatmap_Features, when you press update  heatmap , nothing happens. I tried setting the options in many ways but nothing changes. It seems that the heatmap layer isn't dynamically updating neither the locations array nor the heatmapOptions object. Is is possible to dynamically update?

There is an error with the selector function.  I fixed that error and instead of using 0 location points upon start I used 5000 and the heatmap displayed. But changing the options has no affect what so ever. Can a heatmap be dynamically updated.
VM425:117 Uncaught TypeError: Failed to execute 'item' on 'NodeList': 1 argument required, but only 0 present.
at getSelectedValue (:117:52)
at UpdateHeatMap (:63:20)
at HTMLInputElement.onclick ((index):1)

I thought i had fixed the above error. I revisited the issue, fixed it and now heatmap updates correctly. It wasn't pulling the values from the selectors so hence no updating.

Thanks for following up!

Thanks for following up!


HHH-17030 Followup: move schema check from the engine into a listener

This is only related to the JUnit change from the PR related to the JIRA mentioned in the title (https://github.com/hibernate/hibernate-orm/pull/8413)
We'd want to reuse this engine/extension in Hibernate Search, and this check BaseUnitTestCase.checkClearSchema(); leads to failure there 😔.
Here, I've added a listener and referenced it in the core module so that it is not automatically picked up by those who just want to use the testing jar.
Alternatively, if you think that the listener isn't a good idea, we could try to use engine config parameters and make this check optional through them ...

https://hibernate.atlassian.net/browse/HHH-17030

Will this listener run before bytecode enhancement happened? This is vital, otherwise bytecode tests might fail in a very hard to debug way.

Will this listener run before bytecode enhancement happened? This is vital, otherwise bytecode tests might fail in a very hard to debug way.

Ok, config parameter then 🙈 😃. That listener would kick in after the tests are discovered, so that would be after the bytecode enhancement step 😔... any preference on the naming of such parameters?

I'd be happy to move the DatabaseCleaner.clearSchemas(); call into something that is executed before all tests instead if that helps. It's kind of a pain to have this call be part of a static initializer anyway.

This is great! Could you please copy the service file into the test resources of all submodules that also contain entities?

Could you please copy the service file into the test resources of all submodules that also contain entities?

ok will do 😃 👍🏻


Clickhouse v<IP_ADDRESS>

What's this PR about
Update ClickHouse to v<IP_ADDRESS>
Known build problems and traps
None.
TODO's:

[x] Run perfecto check on your spec file
[x] Write bibop tests
[x] Enable "Allow edits from maintainers" for this PR
[x] Update the messages below

Did you try to build the package with this spec?: Yes
Is this ready for review?: Yes

@gongled Thanks for your contribution! I'll review this PR in a couple of hours.

@gongled Thanks for your contribution! I'll review this PR in a couple of hours.

Looks good, merged. Thanks!

Looks good, merged. Thanks!

Package was built and added to kaos-testing repository.

Package was built and added to kaos-testing repository.


Notify delegate when a notification was presented

In our app we'd like to limit frequency of how often we can show Mixpanel's notification to the user. We'd like to keep track when a notification (takeover notification) has been presented the last time. Depending on it we are going to call Mixpanel#showNotification less frequently.
In order to do this we need to know when a notification when actually presented the last time. Looking into the source I see that we can add a method to MixpanelDelegate and then notify the delegate from Mixpanel#showNotificationWithObject: when needed.
Does it make sense for you? Would you be interested in having a pull request with this? Or maybe do you have something similar in plans or already working on it?
Thanks in advance!

Would be interested in a PR for this @yas375

Mixpanel is deprecating Messaging and Mobile A/B testing features, please contact our support if you need to continue the conversation. Sorry for the inconvenience.


Update test data

This PR fixes #149.
Test data is fetched from Skatteverket in FetchPinTestData.fsx and FetchCoordinationTestData.fsx. This PR adds additional urls for new test data that has been released since we last updated the nuget.
These scripts were previously run using the dotnet tool 'fake-cli', but since dotnet-fsi (F# interactive) now has built in support for nuget-references this is no longer required, and the scripts, and the instruction on how to run them could be simplified.
I have the run the two scripts which result in new numbers added to the generated files: AllPins.fs and AllCoordNums.fs.

Looks good to me, thanks!


[TF] Refactor gradients computation with expandingShape

Follow-up after #24191 to clean up the code added in #24164. @rxwei I didn't find the corresponding files in the deep learning library, it seems like you are putting the move on hold?
This is just cosmetic so non-urgent and can repost after you have moved the operators if that makes your life easier.

@rxwei I didn't find the corresponding files in the deep learning library, it seems like you are putting the move on hold?

Ah yes, the move is on hold because it'll involve some larger infrastructure changes.

@swift-ci please test tensorflow

@swift-ci please test tensorflow


ci(actions): add CI for build checking with CMake on GitHub Actions

Just a simple workflow to check builds that hopefully works.

@ADawesomeguy Did your build work with these changes on Windows & Linux? or just Linux

@ADawesomeguy Did your build work with these changes on Windows & Linux? or just Linux

In actions it only worked on Linux but this branch is based off of master so I'm not sure why. Take a look at the errors.

Yeah I saw the error. It's fine for now, but I'll fix this for windows in the main branch after I merge it.


Consider a larger peer ID

Currently the peer ID is limited to a u64. To avoid peer ID collisions with a large number of peers (or needing some kind of central coordination for peer IDs), I would like to use UUIDs as peer IDs. Please consider increasing the size of the peer ID to u128 or [u8; 16].

Emm I think by using u64, the possibility of collision for a single CRDT document is low enough. The possibility of collision should be negligible even if there are 1M peers.


Updating wiki

The custom portion of the wiki may need to be updated
Libs libs = Libs.getInstance(getActivity(), R.string.class.getFields());
no longer exists and seems to be done with
Libs(context)

@AllanWang you should be able to simply update it :). The wiki is very old. Maybe I just delete it otherwise :D

Updated


Connection.close() is incompatible with Java EE Container Managed Transactions (CMT)

Automatic rollback on Connection.close() is handy, but makes the method unusable in the context of Java EE Container Managed Transaction (CMT). In CMT, commit() and rollback() are forbidden in application code, since they are supposed to be issued by the container.
It would be great if there is a way to tell the Connection object not to issue rollback() on close().

Fixed with pull request #225


Can't build with ghc4-4

Likely caused by ghc-lib-parser not compiling, but is impacting hlint which is what I'm trying to build. (@shayne-fletcher)
$ cabal new-install hlint
Resolving dependencies...
Build profile: -w ghc-9.4.4 -O1
In order, the following will be built (use -v for more details):
 - uuid-types-1.0.5 (lib) (requires build)
 - data-fix-0.3.2 (lib) (requires build)
 - ghc-lib-parser-<IP_ADDRESS>21225 (lib) (requires build)
 - indexed-traversable-instances-<IP_ADDRESS> (lib) (requires build)
 - semigroupoids-5.3.7 (lib) (requires build)
 - assoc-1.0.2 (lib) (requires build)
 - attoparsec-0.14.4 (lib) (requires build)
 - vector-algorithms-<IP_ADDRESS> (lib) (requires build)
 - ghc-lib-parser-ex-<IP_ADDRESS> (lib) (requires build)
 - witherable-0.4.2 (lib) (requires build)
 - these-<IP_ADDRESS> (lib) (requires build)
 - mono-traversable-<IP_ADDRESS> (lib) (requires build)
 - strict-<IP_ADDRESS> (lib) (requires build)
 - semialign-<IP_ADDRESS> (lib) (requires build)
 - conduit-<IP_ADDRESS> (lib) (requires build)
 - aeson-<IP_ADDRESS> (lib) (requires build)
 - libyaml-0.1.2 (lib) (requires build)
 - deriving-aeson-0.2.9 (lib) (requires download & build)
 - yaml-<IP_ADDRESS> (lib) (requires build)
 - hlint-3.5 (lib) (requires build)
 - hlint-3.5 (exe:hlint) (requires build)
Downloading  deriving-aeson-0.2.9
Starting     indexed-traversable-instances-<IP_ADDRESS> (lib)
Starting     assoc-1.0.2 (lib)
Starting     data-fix-0.3.2 (lib)
Starting     uuid-types-1.0.5 (lib)
Starting     semigroupoids-5.3.7 (lib)
Downloaded   deriving-aeson-0.2.9
Starting     ghc-lib-parser-<IP_ADDRESS>21225 (lib)
Building     semigroupoids-5.3.7 (lib)
Building     data-fix-0.3.2 (lib)
Building     uuid-types-1.0.5 (lib)
Building     indexed-traversable-instances-<IP_ADDRESS> (lib)
Building     assoc-1.0.2 (lib)
Building     ghc-lib-parser-<IP_ADDRESS>21225 (lib)
Installing   assoc-1.0.2 (lib)
Installing   data-fix-0.3.2 (lib)
Installing   indexed-traversable-instances-<IP_ADDRESS> (lib)
Completed    assoc-1.0.2 (lib)
Starting     attoparsec-0.14.4 (lib)
Completed    data-fix-0.3.2 (lib)
Starting     vector-algorithms-<IP_ADDRESS> (lib)
Completed    indexed-traversable-instances-<IP_ADDRESS> (lib)
Starting     these-<IP_ADDRESS> (lib)
Building     attoparsec-0.14.4 (lib)
Building     vector-algorithms-<IP_ADDRESS> (lib)
Building     these-<IP_ADDRESS> (lib)
Installing   uuid-types-1.0.5 (lib)
Completed    uuid-types-1.0.5 (lib)
Starting     witherable-0.4.2 (lib)
Building     witherable-0.4.2 (lib)
Installing   these-<IP_ADDRESS> (lib)
Completed    these-<IP_ADDRESS> (lib)
Starting     strict-<IP_ADDRESS> (lib)
Building     strict-<IP_ADDRESS> (lib)
Installing   witherable-0.4.2 (lib)
Completed    witherable-0.4.2 (lib)
Installing   semigroupoids-5.3.7 (lib)
Completed    semigroupoids-5.3.7 (lib)
Installing   strict-<IP_ADDRESS> (lib)
Completed    strict-<IP_ADDRESS> (lib)
Installing   attoparsec-0.14.4 (lib)
Installing   vector-algorithms-<IP_ADDRESS> (lib)
Completed    attoparsec-0.14.4 (lib)
Completed    vector-algorithms-<IP_ADDRESS> (lib)

Failed to build ghc-lib-parser-<IP_ADDRESS>21225.
Build log (
/Users/leventerkok/.cabal/logs/ghc-9.4.4/ghc-lb-prsr-<IP_ADDRESS>21225-2ce7d9b5.log
):
Configuring library for ghc-lib-parser-<IP_ADDRESS>21225..
Preprocessing library for ghc-lib-parser-<IP_ADDRESS>21225..
compiling dist/build/GHCi/FFI_hsc_make.c failed (exit code 1)
rsp file was: "dist/build/GHCi/hsc2hscall56920-0.rsp"
command was: /usr/bin/gcc -c dist/build/GHCi/FFI_hsc_make.c -o dist/build/GHCi/FFI_hsc_make.o --target=x86_64-apple-darwin --target=x86_64-apple-darwin -D__GLASGOW_HASKELL__=904 -Ddarwin_BUILD_OS=1 -Dx86_64_BUILD_ARCH=1 -Ddarwin_HOST_OS=1 -Dx86_64_HOST_ARCH=1 -Irts/include -Ighc-lib/stage0/lib -Ighc-lib/stage0/compiler/build -Icompiler -Idist/build/rts/include -Idist/build/ghc-lib/stage0/lib -Idist/build/ghc-lib/stage0/compiler/build -Idist/build/compiler -DTHREADED_RTS -DTHREADED_RTS -Idist/build/autogen -Idist/build/global-autogen -include dist/build/autogen/cabal_macros.h -I/Users/leventerkok/.ghcup/ghc/9.4.4/lib/ghc-9.4.4/lib/../lib/x86_64-osx-ghc-9.4.4/process-<IP_ADDRESS>/include -I/Users/leventerkok/.ghcup/ghc/9.4.4/lib/ghc-9.4.4/lib/../lib/x86_64-osx-ghc-9.4.4/unix-2.7.3/include -I/Users/leventerkok/.ghcup/ghc/9.4.4/lib/ghc-9.4.4/lib/../lib/x86_64-osx-ghc-9.4.4/time-1.12.2/include -I/Users/leventerkok/.ghcup/ghc/9.4.4/lib/ghc-9.4.4/lib/../lib/x86_64-osx-ghc-9.4.4/bytestring-<IP_ADDRESS>/include -I/Users/leventerkok/.ghcup/ghc/9.4.4/lib/ghc-9.4.4/lib/../lib/x86_64-osx-ghc-9.4.4/base-<IP_ADDRESS>/include -I/Users/leventerkok/.ghcup/ghc/9.4.4/lib/ghc-9.4.4/lib/../lib/x86_64-osx-ghc-9.4.4/ghc-bignum-1.3/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi -I/Users/leventerkok/.ghcup/ghc/9.4.4/lib/ghc-9.4.4/lib/../lib/x86_64-osx-ghc-9.4.4/rts-1.0.2/include -I/Users/leventerkok/.ghcup/ghc/9.4.4/include/
error: FFI.hsc:9:10: fatal error: 'ffi.h' file not found
#include <ffi.h>
         ^~~~~~~
1 error generated.

Error: cabal: Failed to build ghc-lib-parser-<IP_ADDRESS>21225 (which is required
by exe:hlint from hlint-3.5). See the build log above for details.

cabal new-install hlint  114.91s user 17.87s system 267% cpu 49.605 total

@LeventErkok looks very much like you've hit this digital-asset/ghc-lib#352.
if so, it's known to be a GHC macOS/hadrian issue (e.g. https://gitlab.haskell.org/ghc/ghc/-/issues/21211 & https://gitlab.haskell.org/ghc/ghc/-/issues/20592). very surprised to see it manifesting with build compiler ghc-9.4.4 (that's the build compiler you are exercising right?). it's thought to have been fixed since ghc-9.2.3. assuming this is macOS, does something like C_INCLUDE_PATH="$(xcrun --show-sdk-path)"/usr/include/ffi cabal new-install hlint help?

hmmm. looking more closely i don't expect it will. i see -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi on the command line. if i do an ls of that directory on my machine,
❯ ls -l /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi
total 72
-rw-r--r--  1 root  wheel  16597 Nov 12 15:57 ffi.h
-rw-r--r--  1 root  wheel    185 Nov  4 21:21 ffitarget.h
-rw-r--r--  1 root  wheel   2808 Nov  4 21:21 ffitarget_arm64.h
-rw-r--r--  1 root  wheel   2793 Nov  4 21:21 ffitarget_armv7.h
-rw-r--r--  1 root  wheel   4437 Nov  4 21:21 ffitarget_x86.h
-rw-r--r--  1 root  wheel     82 Nov  4 21:21 module.modulemap
-rw-r--r--  1 root  wheel   1667 Nov  4 21:21 tramp.h

what do you see?

I don't have that specific directory:
$ ls -l /Library/Developer/CommandLineTools/SDKs
total 0
drwxr-xr-x  7 root  wheel  224 Nov 12  2019 MacOSX10.14.sdk/
drwxr-xr-x  8 root  wheel  256 Aug  4  2020 MacOSX10.15.sdk/
drwxr-xr-x  7 root  wheel  224 Aug  4  2020 MacOSX11.0.sdk/
drwxr-xr-x  7 root  wheel  224 Sep 20 11:05 MacOSX12.1.sdk/

what does $(xcrun --show-sdk-path) say?

i'm not sure what the effect of xcode-select --install is exactly but i'd try running that. i suspect it will create the missing symlink.

i think i am beginning to get a glimmer of what the issue is. perhaps this relates to using a professional XCode installation? the sdk is in a different location than where it's expected to be. the above workaround C_INCLUDE_PATH="$(xcrun --show-sdk-path)"/usr/include/ffi cabal new-install hlint should workaround this at least while we don't have anything better.

I'm trying the xcode-select --install (it's taking its time.) I'll see if it fixes the directories.
I don't have a "professional Xcode" installation. (I'm not even sure what that means!)

ok, then i'd say that's the resolution. i reckon you'll be ok after that

Yes! xcode-select --install did the trick. Thanks, and sorry for the noise.. Had nothing to do with hlint/ghc-lib-parser after all.


Add support for downstream extras for Mesos EnvironmentFiles.

I removed the Marathon and Metronome extras and will handle them in separate PRs.
@cmaloney PTAL

🚢