SAK-31677 Allow admin users to add themselves to site in any role

Allow admin to add self to any site in any role, even if the role does not have site.upd.site.mbrshp

LGTM

I'm not sure why the checkCurrentUserRoleChange() code is there at all, as if you're already a member of the site you can't use the SiteAddParticipantHandler code because if you try to re-add yourself to the site you get an error saying

I've dug into this and I think that we can simplify it all a bit and have a PR in #3422

Closed as I think #3422 is the way to go.


Following the documentation results in an error

I'm learning how to set up and use deno and I'm currently reading this page:
<EMAIL_ADDRESS>But when I run the command
deno run --allow-net http_server.ts

As instructed here:
https://github.com/denoland/manual/blob/v1.31.2/getting_started/first_steps.md?plain=1#L178
I run into this error:
error: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'port')
  port = (server.addrs[0] as Deno.NetAddr).port;
                                           ^
    at serve (https://deno.land/std@0.179.0/http/server.ts:606:44)
    at file:///Users/evert/Sites/deno-chat-nvc/http_server.ts:22:1

I'd like to know how to fix this and the documentation should probably also be updated to include this answer.

I can't reproduce the above issue. What is your OS & Deno versions?

macOS 13.2.1
deno 1.31.2 (release, aarch64-apple-darwin)
v8 <IP_ADDRESS>
typescript 4.9.4

Is your script the same as the below?:
import { serve } from<EMAIL_ADDRESS>
const handler = async (_request: Request): Promise<Response> => {
  const resp = await fetch("https://api.github.com/users/denoland", {
    // The init object here has an headers object containing a
    // header that indicates what type of response we accept.
    // We're not specifying the method field since by default
    // fetch makes a GET request.
    headers: {
      accept: "application/json",
    },
  });

  return new Response(resp.body, {
    status: resp.status,
    headers: {
      "content-type": "application/json",
    },
  });
};

serve(handler);


Amend arith-oflo with  wrapping_neg in the WrappingOps trait

The tracking issue for RFC #560 , namely https://github.com/rust-lang/rust/issues/22020, mentions implementing a wrapping_neg method, but no such method is part of the trait as defined in the RFC.
(Presumably just an oversight.)

(or oh, maybe that line item was a relatively recent addition...)
((also, @glaebhoerl already suggested potentially removing unary negation on unsigned integers as part of this, shown here: https://github.com/rust-lang/rfcs/pull/560#issuecomment-69453104  ... it certainly feels a little strange to keep it with all of these other checks going in to ensure that you are doing "good" arithmetic.))


Could you please provide js imported cdn like tailwindcss3 to reduce the file size?

Hello, the file full.css introduced by cdn is too big, about 1.47MB+. Could you please provide js imported cdn like tailwindcss3 to reduce the file size?
My project requires all components, and npm on-demand import isn't for me to use.
Thanks a lot.

Currently I have no plans for creating that because CDN files (even Tailwind's CDN script) are not for production.
Even if you're using every possible daisyUI class name (which I doubt), it still costs less to ship a CSS file to the browser than a JS file.
1MB of JS is not equal to 1MB of CSS.
Both CSS and JS have a network cost: the time it takes to download a file
But JS, on top of a network cost also has parse and compile cost + execution cost + memory cost
That's why Tailwind's team also wouldn't recommend using their CDN file for production even though the JS file size is just ~100kb
I would suggest to build both Tailwind CSS and daisyUI on build time. If you want to make sure a specific list of class names are included, whitelist them
And if you really need all class names, you can either whitelist all daisyUI class names (read https://github.com/saadeghi/daisyui/issues/1383) or you can simply import daisyui/dist/full.css file to your project from your node_modules
Let me know if you have any questions.


Technical specifications of the server

Hey guys!
I need some advice on the technical specifications for the server.
We have a team with about 20-30 annotators planned at the same time.
Automatic annotation tools will not be used.
All work will consist of manual annotation of videos and images.
Can you advise how much RAM will be needed and what is the optimal processor for this task?
Thanks!

Hi @outforz
We do not have "official" recommendations. And actually these recommendations very depend on tasks you are going to do. I would suggest 32 Gb of RAM and 8-core 16-threads CPU 2018 year+.


First Milestone

@MustansarCheema
Coursera Course
Javascritp Book
Success
Angular
Typescript
D3
Advance designing with CSS (Human Computer Interaction)

oook


Parser Class Refactoring

Parser class could potentially be split up to make the code more legible.

Hey @decanus! I totally get where you're coming from - a 3K line file should certainly make one go "huh?", but I don't think we're going to split it up into multiple classes or files any time soon. Having worked on the project for a few months (and also having read through both the TypeScript and Roslyn source code), I've found having the parser logic contained within a single file to be much easier to both read and work with because it really helps with code navigation.
Additionally, it depends on what specifically what refactorings you were thinking, but in addition to readability, there are also some performance considerations to keep in mind - e.g. we might decide to sacrifice some readability in order to reduce the number of function calls.
That said, I'm open to hearing about other ways you think readability could be improved - e.g. change the ordering/structure of the code, add some more comments, improved method/property-naming, or interfaces between the lexer/parser (which we'll definitely need to do when we get to incremental parsing), etc.
Closing this issue because it feels like the general topic of refactoring might be a little too "broad", but very much open to any other suggestions you might have to increase readability, either in the form of an issue or PR :smiley:.

I feel like a lot of optimisations could be done to try and clean up the code. There seems to be a lot of functions that are excessively long. Sticking to a code style could also help, some of the current code looks like it didn't conform to any style.

Agreed, definitely needs some cleanup - ultimately it was a balance between ironing out all the loose ends and releasing earlier so we get it in the hands of awesome people like you :wink:. re: code style - see #46 for thoughts. The biggest things I'm attached to are single file lexer/parser and open-braces on same line. For most everything else, going with standard PHP best practices seems appropriate.

@mousetraps Sounds good, in that case I'll open some refactoring PR's

@decanus not sure I understand - could you give an example?

Oh, I get it now - you mean you feel
function a () : int
{
}

is more readable than
function a () : int {

}

Yeah exactly

Ultimately it comes down to:

I really dislike the inconsistency in braces on same line vs. not same line within the same file (e.g. ifs vs. functions).
as mentioned in #46, keeping the code tighter helps a lot with readability/scannability, especially in the case of this project, because you can see more on a single screen
re: return type declarations - I actually prefer the second version, perhaps partly because I'm used to TypeScript

Having worked on the project for a few months (and also having read through both the TypeScript and Roslyn source code), I've found having the parser logic contained within a single file to be much easier to both read and work with because it really helps with code navigation.

Well at least there's 1 other person out there that knows the pain of trying to read Lexer.cs/Lexer_StringLiteral.cs, and LanguageParser.cs/LanguageParser_InterpolatedString.cs.
After going through scanner.ts, anything reasonable to keep the line count down gets a +1 from me.


Error after upgrade to TabMon 1.2

Hi TabMon team,
I contact you regarding an issue that I observed after the upgrade to TabMon 1.2
Platform: 1 primary and 2 worker.
Primary is runing only licensing, controler, gateway and "browse and search"
TabMon installed in the primary
Postgre install on the primary as well.
I see 2 issue:

TabMon is polling metrics correctly from Primary and worker 2 but not pulling PerfMon from worker 1
unable to delete rows from countersamples

Please could you give me some direction on how to debug ?
I double check the user run as services is properly setup on all 3 nodes.
Find below the log:
2017-10-23 14:25:47,490 [3] INFO TabMon.Sampler.CounterSampler - Polling..
2017-10-23 14:25:47,490 [3] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loading ephemeral performance counters from E:\TabMon\Config\Counters.config..
2017-10-23 14:25:47,490 [3] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loading Perfmon counters..
2017-10-23 14:25:47,490 [3] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loaded 14 ephemeral Perfmon counters on wcw31237.
2017-10-23 14:25:47,506 [3] WARN TabMon.Counters.Perfmon.PerfmonCounterLoader - PerfMon counter category 'Process' on host 'wcw31235' does not exist.
2017-10-23 14:25:47,506 [3] WARN TabMon.Counters.Perfmon.PerfmonCounterLoader - PerfMon counter category 'Process' on host 'wcw31235' does not exist.
2017-10-23 14:25:47,693 [3] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loaded 40 ephemeral Perfmon counters on wcw31236.
2017-10-23 14:25:47,693 [3] DEBUG TabMon.CounterConfig.CounterConfigLoader - Loading MBean counters..
2017-10-23 14:25:47,693 [3] DEBUG TabMon.CounterConfig.CounterConfigLoader - Successfully loaded 54 counters from configuration file.
2017-10-23 14:25:47,693 [3] DEBUG TabMon.Sampler.CounterSampler - Dynamically built result schema 'countersamples'. [44 columns]
2017-10-23 14:25:49,272 [3] INFO TabMon.Sampler.CounterSampler - Finished polling 299 counters. [0 failures]
2017-10-23 14:25:49,334 [3] DEBUG TabMon.Sampler.CounterSamplerResultHelper - Compressed 259 rows into 117 unique rows..
2017-10-23 14:25:49,350 [3] DEBUG DataTableWriter.Writers.DataTableDbWriter - Writing 117 records to database..
2017-10-23 14:25:49,490 [3] DEBUG DataTableWriter.Writers.DataTableDbWriter - Finished writing 117 records!
2017-10-23 14:25:49,490 [3] DEBUG DataTableWriter.Adapters.DbAdapter - Dropping rows from table 'countersamples' older than 92 days..
2017-10-23 14:26:09,491 [3] ERROR DataTableWriter.Adapters.DbAdapter - Unable to drop rows from table 'countersamples': ERROR: 57014: canceling statement due to statement timeout
2017-10-23 14:26:09,491 [3] ERROR DataTableWriter.Writers.DataTableDbWriter - Unable to delete rows: ERROR: 57014: canceling statement due to statement timeout
thanks for the helps,
M

Hi @mbossanwest,
One quick thing to check... on the worker where PerfMon is failing to be polled (wcw31235), please verify that the "Remote Registry" and "Performance Logs & Alerts" Windows services are both running in Services.msc.  If those are both running, you could try troubleshooting by manually remotely connecting to PerfMon from the host where TabMon is running by opening PerfMon and selecting "Action | Connect to another computer | Enter 'wcw31235'" and see if it works.
Regarding the timeouts when dropping rows -- that is interesting.  I believe the default statement timeout here is 30 seconds.  This seems to indicate that it's taking longer than 30 seconds to delete the expired data.  Can you verify if the Timestamp table in your Postgres database is indexed?

Thanks for your feedback.
So the counter Process was not even showing on the local PerfMon worker.
After deeper investigation, I figure out that Process was missing because Performance counters were disable in the regedit.
here is the procedure to fix it:
https://docs.newrelic.com/docs/servers/new-relic-servers-windows/troubleshooting/missing-process-performance-counters
For the issue on the delete, I don't see a Timestamp table but I see in the countersamples an index on timestamps, here is the screenshot:

any idea on the Delete error ?
thanks
M

Hello,
There shouldn't be a timestamp table. Timestamp is a column in the countersamples table. The highlighted selection above, "countersamples_timestam_idx", is the index on that column.
It looks like the delete error you are running into is due to a query timeout. Try running the query below manually and let me know what happens.
DELETE FROM {0} WHERE timestamp < NOW() - INTERVAL '90 days';

-Dan

Thanks for the reply, I have been side tracked by another issue, back in this one:
Executing this statement from DBeaver took almost 3 min and 28s
deleting more than 25 million rows
is that normal ?
It is true I changed the record history setting, so maybe it is why it was not able to do the full delete.
I ill do it manually and then monitor.
One last error message, on 4 counters:
2017-11-10 09:25:48,010 [7] DEBUG TabMon.Counters.Perfmon.PerfmonCounter - Error sampling counter Primary\wcw31235\wcw31235\Perfmon\Process% Processor Time\tdeserver64#6: Instance 'tdeserver64#6' does not exist in the specified Category.
2017-11-10 09:25:48,213 [7] DEBUG TabMon.Counters.Perfmon.PerfmonCounter - Error sampling counter Primary\wcw31235\wcw31235\Perfmon\Process% Processor Time\tdeserver64#7: Instance 'tdeserver64#7' does not exist in the specified Category.
2017-11-10 09:25:48,369 [7] DEBUG TabMon.Counters.Perfmon.PerfmonCounter - Error sampling counter Primary\wcw31235\wcw31235\Perfmon\Process\Private Bytes\tdeserver64#6: Instance 'tdeserver64#6' does not exist in the specified Category.
2017-11-10 09:25:48,557 [7] DEBUG TabMon.Counters.Perfmon.PerfmonCounter - Error sampling counter Primary\wcw31235\wcw31235\Perfmon\Process\Private Bytes\tdeserver64#7: Instance 'tdeserver64#7' does not exist in the specified Category.
I don't get this error message on the worker WCW31236 ? only WCW31235
Thanks for your help,
M

Depending on how long and aggressively TabMon is run, 25 million rows is not too surprising. Now that there is less data in Postgres, the delete should work more efficiently. If it doesn't work, I can update the query limit the number of rows deleted at once.
It is likely that at one point there were two extra tdeservers on that worker but they were removed at some point. Does this occur after TabMon is restarted?

No more issue on the delete, thank you.
for the tdeserver64, we did not change the Tableau services allocation across node, and yes even after restart it is showing this error. Should I matter ? is it capturing all info anyway ?
thanks,
M

Even with the tdeserver64 issues, the rest of the counters should be pulling properly.

I am now closing this. Please let me know if there are any other questions.


Duplicated response type caused by long $ref

Description
Thank you all for this fantastic project that has greatly improved my coding experience
Recently I created two classes with similar names: WebApi.Dto.Response.PageRespWrapper``1[[A......]] and WebApi.Dto.Response.PageRespWrapper``1[[B......]].
Both are convert to WebApi_Dto_Response_PageRespWrapper_1 which cause the different api refer to the same response type.

Any help will be appreciated!
Reproducible example or configuration
https://stackblitz.com/edit/hey-api-client-fetch-example-vn31nb?file=services%2Ftypes.gen.ts
OpenAPI specification (optional)
https://stackblitz.com/edit/hey-api-client-fetch-example-vn31nb?file=swagger.json

System information (optional)
No response

Heh, funny how the issues always seem to come in bulk. I believe this one reported yesterday is the same underlying problem https://github.com/hey-api/openapi-ts/issues/765

@mrlubos Thanks. Is there workaround or plan to fix it?

Also, should i close this ticket?

Feel free to keep it, I don't mind. Of course it would be good to fix, it's only a question of priority. I am open to a pull request too, will see if I have time to look at this

Not exactly, the first thing I'd look at is why the parser seems to be discarding the generic from names. It's possible this will be fixed simply by resolving names better

If you do work on this, I highly suspect it has something to do with the brackets [ and ]. That is where both my and your variables get cut off. Maybe a regex that isn't including that or something like that.

@finas what would be the expected result for you?

In unrelated news, I found the matcher responsible for this issue, but waiting for your response before prioritising this


Update URLs and README style change

I changed README style to Markdown-only (removed HTML tags and changed them to the equivalent Markdown ones). This is a personal preference, so feel free to undo it if you do not agree with it.
I also updated links, such as references to the previous URL, and altered the issue link to open directly to the new issue creation page. The last change was also a personal preference that you can (ask me to) change if you'd prefer redirection to issue view.
I don't think I've missed something, but if I did feel free to point it out.

A question: Is the choice to display the screenshot from an external provider (Imgur), instead of having it in the repository and displaying from there, intentional to not clutter the repository? I think that having the screenshot inside the repo is better so that any potential issues with external providers, such as downtimes, are avoided, but I understand it may be another unneccesary file addition.

@4yx thanks for the PR :) I don't remember why I uploaded it to Imgur. I'll now upload it to the repository instead.


feat: change logging backend to grafana pt i

This brings in most of the changes required to replace frontail with grafana as the logging platform.
Note: The logging is not yet fully functional. There is still some configuration to finish up, mounting of config files, and tying into the front-end.
This PR adds the ImageType definitions for Loki, Promtail and
grafana.
The configuration files for grafana are included in the launchpad assets
folder. These will be mounted so that the containers can access them,
but will be in the host file system so that advanced users can tweak
things.
I've also tidied up the mount definitions to allow arbitrary mount
bindings, which grafana is going to need (coming soon).
The front-end should be updated to derive the image list using the
image_list command rather than hard-coding the list, so that these
changes can be picked up. The FE still reports fronttail.
Builds a lightweight builder pattern to provide the blockchain and
/var/tari mount points, as well as a way to easily mount arbitrary
folders on the host, akin to -v /my/path:/your/path.

Tidying up code, and will resubmit


No. of references

The number of references shown in the Code is not always correct. For example if I have a field on a table and have this field on some page it is not shown as a reference.
Also in some cases (no clear repro, sorry...) showing the reference works just fine and sometimes it shows blank.

The number of references are updated async. That can be situations were there is a delay before count is updated. We are very interested in repros for incorrect counting.
In general, if hover over a references shows information of a symbol it will be counted. We recently found that fields included in keys didn't get counted.

I will try to repro on our current project as much as I can. Anyway, Your explanation made me thnk this might be related to the issue with performance. Maybe the update You mention is slower and slower until I think it does not work. Might also explain why my colleague who brought this up said he felt it works sometimes and sometimes not without an apparent logic.

I think this issue can be closed. No more repro and I still think it might be connected to the issue with Performance.

Closing under the assumption that issue #135 is the root cause.


supports learning the combination weights of pre-trained LoRA modules

Based on #1655
Adds a use_wlora config to LoraLayer that allows learning the combination weights (i.e. `wlora_weights) of pre-trained LoRAs.

Thanks for the PR. For me to be able to review it, could you provide an example of how it should be used?

@BenjaminBossan Yes, for sure.
The code implements the learned composition in  Does Combining Parameter-efficient Modules Improve Few-shot Transfer Accuracy? (Asadi et al., 2024). More specifically, it learns the $v$ for the weighted sum of LoRA modules as follows.
\hat{\mathbf{W}} = \mathbf{W}_{base} + \sum_{n=1}^{N} \hat{v}_n \left( \frac{\alpha_n}{r_n} \mathbf{A}_n \mathbf{B}_n\right),

\sum_{n=1}^{N}\hat{v}_n=1,

where $\hat{v}$ is the softmax operation applied on the weighting vector $v$, i.e.,
\hat{v}_n=e^{v_n}/\left(\sum_{j=1}^{N}e^{v_j}\right)

We named the parameter $v$ as wlora_weights in the model parameters.
Usage example
The following script is an example of how to load two pre-trained LoRA modules and learn the combination weights for LLMs.
First, we load the base model
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftConfig

# Load base model
base_model = "facebook/opt-350m"
tokenizer = AutoTokenizer.from_pretrained(base_model)
model = AutoModelForCausalLM.from_pretrained(base_model)

Then, we add the two LoRAs and make their weight trainable.
# Add the first LoRA with learnable weight to the base model
lora_1 = "varun-v-rao/opt-350m-lora-1.57M-squad-model3"
lora_1_config = PeftConfig.from_pretrained(lora_1)
lora_1_config.use_wlora =True
model.add_adapter(adapter_config=lora_1_config, adapter_name='lora_1')

# Add the second LoRA
lora_2 = "varun-v-rao/opt-350m-lora-1.57M-squad-model3"
lora_2_config = PeftConfig.from_pretrained(lora_2)
lora_2_config.use_wlora =True
model.add_adapter(adapter_config=lora_2_config, adapter_name='lora_2')

# Activate LoRA modules as trainable
model.set_adapter(['lora_1', 'lora_2'])

Modules are successfully loaded and you can treat the model as any HuggingFace or torch.nn.Module and use any training method. Following is an example of using the HuggingFace Trainer.
# Train the wights of LoRA modules
from transformers import TrainingArguments, Trainer

training_args = TrainingArguments(
    output_dir="wlora-model",
    evaluation_strategy="epoch",
    learning_rate=1e-4,
    weight_decay=0.01,
    push_to_hub=False,
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=lm_dataset["train"],
    eval_dataset=lm_dataset["test"],
    data_collator=data_collator,
)

trainer.train()

Thanks for working on this PR and for providing an example. I also see now that you're one of the paper authors :)
I left a couple of comments on this PR. On top of that, we should probably also add a section to the docs (here) because it is not quite trivial to figure out for a user how to use this.
Moreover, I tried to come up with a test for this method. When I tried something based on the example you provided, I ran into an error though. Could you please check?
import torch

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftConfig, LoraConfig, get_peft_model, PeftModel

torch.manual_seed(0)
base_model_id = "facebook/opt-125m"
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
model = AutoModelForCausalLM.from_pretrained(base_model_id)

config = LoraConfig(init_lora_weights=False, use_wlora=True)
model = get_peft_model(model, config)
model.add_adapter("other", config)
model.base_model.set_adapter(['lora_1', 'lora_2'])

optimizer = torch.optim.SGD(model.parameters(), lr=0.1)
optimizer.zero_grad()
output = model(torch.arange(10).reshape(-1, 1))
loss = output.logits.sum()
loss.backward()
# this causes: RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn

Maybe this is related to the comment about how to set requires_grad, not sure.

Thanks for taking the time to read the PR. Yes, I am one of the authors. I was hoping to create an easy method for the community to combine pre-trained LoRAs :)
This is a great test script. Yes, there was an issue regarding the require grad and I changed the method as you mentioned. Also, model.base_model.set_adapter(['lora_1', 'lora_2'])
should contain the names of the layers so it should be :
model.base_model.set_adapter(['default', 'other'])

Hi @BenjaminBossan, sorry I was busy in the last three weeks. I will apply your comments and push it this week.


Fixes for issues #394 and #400

The command to run the container is the same except if you want the logs on the host machine you have to use the -v flag.
Ex: docker run --rm -it --link sonata-db:postgres -v path/to/the/logfile/:/code/log/ -p 5000:5000 bernardomrf/sonata
The swagger documentation has not been updated yet.

test this please

test this please


Slack Workflow

Has anyone ran into issues in getting this to work with Slack Workflows?
I've created as per the docs but the workflow just reports Received a webhook request that was missing a required field. No indication of what it received. If I call the workflow via its webhook via curl and the following input it works fine.
curl -X POST https://hooks.slack.com/workflows/<redacted> -H 'Content-Type: application/json' -d '{"text":"test","account":"1234","resources":"my_resource","service":"my_service","region":"my_region","status":"my_status","start_time":"start_time","event_arn":"my_arn","updates":"none"}'
Wondering if anyone had ran into this at all before?

I have it working as a Slack workflow. I wonder if maybe the lambda logs show anything about what it's sending to your webhook? I was looking at my deployment's logs in CloudWatch and saw that it does output the JSON that comes from the Health API to the logs. It still doesn't quite show what's being shunted over to the Slack webhook, but maybe the lambda code could be adjusted to output that to logs too.

Cheers @mbc3k . I switched to a webhook and it worked straight away.
Also pinched the code from your fork for filtering events as well, cheers for that! :)


Add mpijobs.kubeflow.org CRD

This PR adds a CRD which may not get created during training-operator's upgrade process. The issue is described here.
It needs to be stored somewhere in our repo to be referenced in upgrade docs, in known post-upgrade issues part. I'm open to suggestions if you think it should live elsewhere.

Hi @natalian98, thanks for filing canonical/training-operator#44 and proposing a fix for it here. I think that we probably want to move away from patch and create and instead use apply in our charms. We have defined some patterns in chisme that move away from an imperative approach, and I think we could use some of that logic in training-operator, without needing to migrate it, though we want to do it soon.
That being said, I would say a better approach for ensuring a smoother upgrade would be to change what we do on config change:
        try:
            ...
            self.unit.status = MaintenanceStatus("Patching CRDs")
            self._apply_resource(resource_type="crds")

Which would imply a change in patch_resources to use client.apply instead.
What do you think? Would this approach work for upgrades?

Thanks a lot for checking this @dnplas.
It's a great idea to use apply instead of create and patch, especially on upgrade.
What worries me is the install part: currently when this charm is re-deployed, the CRD should be created on install event. In these logs in line 177 we can see that the install hook was run, but the CRD was still not created.


Update link format for editing moment

Description
Update link format that will only support @ and article link when editting moment.

There's no further discussion on this, so close it now.


Following the documentation leads to invalid state.

Following the documentation for "Build and deploy to Azure Kubernetes Service" leaves me in an invalid state in section 'Create the pipeline'. The instructions in section "Create a container registry" instruct me to Create a container registry az acr create --resource-group myapp-rg --name myContainerRegistry --sku Basic. In section "Create the pipeline" at step 4 - Select the name of your container registry, the registry does not populate in the dropdown (I did change the name). I have refreshed multiple times and validated the registry is in the Azure subscription.

@TimO2221 - Thanks for your question. It looks like you're working through an issue with your scenario or implementation, rather than an issue with the documentation. Please consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow

@TimShererWithAquent,
I was followed the instructions which lead me to an invalid state. I don't think that is environmental issues because the instructions instructed me on creating the Azure resource Azure Devops is trying to connect to as well as the Azure Devops account. Where you able to following the instructions through from start to finish during your testing without encountering issues?
The other documentation you referred me to is Azure root level documentation and another board for asking end users questions regarding the documentation you support.


Revert "Run messaging handlings in parallel"

Reverts 0xPolygon/go-ibft#57

Codecov Report

Merging #66 (cdf8757) into main (b1a0900) will increase coverage by 0.21%.
The diff coverage is 96.46%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #66      +/-   ##
==========================================
+ Coverage   91.43%   91.64%   +0.21%
==========================================
  Files           6        6
  Lines        1424     1412      -12
==========================================
- Hits         1302     1294       -8
+ Misses         98       92       -6
- Partials       24       26       +2

Impacted Files
Coverage Δ

messages/helpers.go
90.44% <ø> (+8.44%)
:arrow_up:

core/ibft.go
90.35% <96.29%> (-1.17%)
:arrow_down:

core/state.go
98.48% <96.87%> (-0.69%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Custom handling setter is not called when deserialising from JSON String or NSDictionary

Hi,
I have a class like:
@interface Response : JSONModel
@property (nonatomic, strong) NSString *dataType;
@property (strong, nonatomic) JSONModel *data;
and implement custom setters for the data property (which can be any subclass of JSONModel):

(void) setDataWithNSString:(NSString )string
{
JSONModelError error = nil;
self.data = [[[self dataTypeClass] alloc] initWithString:string error:&error];
}

(NSString *)JSONObjectForData
{
return self.data.toJSONString;
}

But these custom setters get never called. Do I miss something or is this a bug?
My current workaround is implementing

(instancetype)initWithDictionary:(NSDictionary *)dict error:(NSError **)error

which gets called and might work in the intended way, but I liked the custom setter thing more.
Would be happy to get it working this way.
ciao Matthias

If you have a structure like this:
[
  { "type": "person", "name": "James", "sex": "M" },
  { "type": "company", "name": "Cuvva", "employees": 5 }
]

Then we'd generally recommend implementing a class cluster and automatically returning the correct type from initWithDictionary (see https://github.com/icanzilb/JSONModel/issues/229#issuecomment-52556421)

The above might not be relevant for you though. Could you please provide the JSON you're trying to deserialize?
With regards to potential bugs - it might be that the setter is not called for JSONModel subclasses.

Hi,
I already read #229 before raising this issue. It is working and it is the way I did implement it now, but I just wanted to report that the setters aren't called.
My JSON is a JSONObject as the most outer Structure: corresponding to the class 'Response'
{
data : { ... some serialized JSONModel subclass ...},
dataType : "MySubclass"
}
What I wanted to do first is to write the custom setter for the field data, which is a @property of class 'Response' with the type JSONModel (das data could be any subclass of JSONModel class)
Hence I wrote the (void) setDataWithNSString:(NSString )string
where I used the Property dataType in order to get the class and calling initWithString: on it.
The could could have worked if the process of deserializing the 'Response' object would have triggered the call of setDataWithNSString.
If needed I could provide a small test project to let you see the issue. If the custom setters are deprecated please let me know.
ciao Matthias

Oke, so yeah the structure you have is a bit different from the one I mentioned above.
An issue I see with this is that there is no guarantee that dataType is set before the custom setter is called. So when your custom setter receives the data, you might not be able to create the correct object for it anyway.
Regardless, I believe the reason your custom setter isn't working is because the type isn't NSString - it's actually NSDictionary (since JSONModel deserializes into NSDictionary/NSArray objects before mapping data into the model classes).
So you should implement setDataWithNSDictionary:. Could you make this change and see if it works?

Hi,
thanks I will try this and will let you know about the results. Your answer makes sense, I thought I would receive the JSON substring which is describing my JSONModel *data object but if the setter receives it already as a dictionary this is fine as well.
As you mentioned it, is there a deterministic order in which the properties get set on which I could rely? Best/easiest to understand would be in the order of declaration but as a bad workaround e.g. a alphabetical order would still be acceptable.
Anyway this may be also a use case for the lazy initialization of a JSONModel subclass instead of just supporting it for collection types, do you agree?
ciao Matthias

Let me know if it works using setDataWithNSDictionary:.
With regards to order of setting, I think we would probably strongly suggest not relying on it being consistent. This is because in the future, we may well make changes which remove any determinism - for example, calling setters concurrently, or making optimizations which could cause inconsistent ordering.
That being said, I think there are possibly other things we could do to allow for this, but I don't currently see any really obvious solutions.

Hi,
implementation of

(void)setDataWithNSDictionary:(NSDictionary*)dict {

gets called, so this is true. I think the examples are a bit to simple, as I was thinking one gets the JSONObject as a JSONString and not already parsed into a NSDictionary.
Anyway it is better the way as it is implemented now.
BUT: you are right: as I cannot rely on the order of deserialisation, indeed my dataType member is still nil when the setDataWithNSDictionary gets called.
So finally the solution for such a scenario of dependencies among the properties can only be solved by implementing - (instancetype)initWithDictionary:(NSDictionary *)dict error:(NSError **)error
Concerning this I found other issues which I will raise separately from this.


Runtime improvements to survey pipelines

Description
Runtime improvements to survey API and contingency pipelines. Minor memory improvements (unmeasured).
Changelog

Simplify contingency pipeline.

Drop support for custom aggs (#977). No longer doing custom aggs.
Drop support for running weekly and monthly pipelines at the same time.
Drop derived field processing based on multiple choice name prefix "mc_". No longer using that naming convention.

Make is_selected faster. Implemented C++ version and faster R version that operates on only unique answer sets. Create/update a lot of associated files to support use of C++ code.
Switch summarize_indicators_day to store initial output in list of lists instead of tibble/dataframe to avoid copy-on-modify inefficiency. Only generate indicator list once. Create dfs_out in single step instead of modifying in a loop.
Switch summarize_aggregations_group to only generate indicator tibble once and create dfs_out in single step instead of modifying in a loop.
Read weight files in with fread.

Result
API pipeline is faster: 24 min vs 32 min single threaded, generating all signals for a single day from a late-June Wave 11 input file (on my personal computer, so actual times here won't transfer).
Contingency pipeline is faster: 1h45m vs 4h25m generating tables for the week of Aug 22.

also I should add that "1h45m vs 4h25m generating tables" is super nice; excellent optimization result


Pop Up Titled View

Created a titled PopUpView
Requires a specified messageView for content as well as title

@kgrgreer Is this good to merge?

Added two comments.


Errors have been written by someone who has never developed or used software

I don't know who wrote your errors but:
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.

Is completely useless. Which feature is not installed? How do I fix it? Do you seriously want your users only option to search for an error identification string? Do you do that because you can't be bothered to write your own documentation and are instead waiting for the community to rank their own support pages? I can't see why you would do such beginner stuff.
It would be great if you took the time to write meaningful error messages so that users know what to do when they encounter them.

/dupe #5921

The twitter thread may be  helpful for diagnosing the problem:
https://twitter.com/BruceDawson0xB/status/1304656073312202752
In my case the problem was that I needed to enable virtualization. YMMV.


Merging the dataset with CPC codes from Google Patents

This issue concerns merging the dataset with CPC codes (sectors) from Google Patents (when available).
Is there a fast way to do this? Preferably using Python?

Hello Gaia,
Forewords
A bit of context: the overall goal is to add technological classes (CPC) to the patentCity database
Current state of 'patentCity X technological classes': currently, the patentCity database does not embody the CPC classes. These data are easy to access from publicly available datasets such as the google patents public dataset as well as widely used datasets such as PATSTAT. Plus, we did not extract these classes (for the aforementioned reasons). All in all, we did not see any point in supercharging the dataset with tech classes so far, this might change for the sake of user-friendliness .
Interoperability: The interoperability between patentCity and these datasets goes through the publication number.
Patch
There are many ways to add CPC codes to the patentCity database depending on the tools and workflows you are familiar with. Below I'll sketch workflow using the Google Patents Public dataset which is publicly available on Big Query
What you need

[ ] a Google Cloud Platform account. Nb: there is a 200USD free credit offer for newcomers - this will be more the enough for this simple operation
[ ] a very basic understanding of Big Query (the GCP serverless SQL service) and Google Cloud Storage (the GCP storage service). If new to these tools, take 10 minutes to follow the tutorial, this will make everything much easier.

Step by step

Create a Google cloud storage bucket, name it patentcity and upload the patentcity database (jsonl format strongly recommended) to a Google storage bucket. See upload tutorial here. Nb: if you are a beginner, favor the "console" way. Otherwise, you can use gsutil (CLI).
Create a bigquery dataset, name it patentcity
Load the database from your GC storage bucket to BigQuery and name it patentcity_beta. See tutorial here for the CSV flavor and there for the JSONL flavor (recommended). Same, if you are a beginner, use the console, if more advanced, you can use bq (CLI). If you are using the jsonl flavor, then you can use the schema here to make sure that the database is loaded exactly as expected. Otherwise, you can let BigQuery infer the schema.
There you are, you have the patentcity database on BigQuery and you can join it with the patents-public-data:patents.publications table which contains the CPC classes and much more.
Enter the following query in the BQ editor and run it (should take 10 secs)

SELECT
  pc.publication_number,
  STRING_AGG(cpc.code) AS cpc_code
FROM
  `<your-project>.patencity.patentcity_beta` AS pc,
  `patents-public-data.patents.publications` AS p,
  UNNEST(cpc) AS cpc
WHERE
  pc.publication_number = p.publication_number
GROUP BY
 pc.publication_number

Nb: replace the values inside <> by the relevant values in your case

Export the resulting table to Google Drive, GC storage etc. Just click the button save results below the BQ query editor.

Fix
Future versions of the database might include standard fields such as the CPC codes as a way to improve user-friendliness. Express your needs on that at #21.
Cheers

The v100rc7 and above do include the CPC codes.
Closing this issue, feel free to re-open if needed.


Probably an EFL issue - can't specify size of bitmapped fonts.

eovim <IP_ADDRESS>-5a69a50:
NVIM v0.3.1-53-g37675c6a8:
edje_cc: Version: <IP_ADDRESS>156:

Although I'm fairly confident that this is probably an problem with EFL itself and not eovim, I thought I'd point it out anyway. It seems to be impossible to specify the font size of any bitmapped fonts. They always default to the largest size that font supports and nothing I've tried will change that. Sliding the font size bar around does nothing whatsoever, and even hacking up the source to hardcode the font name and size into the binary also does nothing.
I have noticed this issue with other EFL projects as well which is why I suspect the issue lies with it, but in the off chance that it does not it would be nice if there were some way this could be fixed. I hacked around with the source a little but quickly learned that this problem is way out of my league. All I accomplished was to produce a diagnostic message proving that internally the editor was updating the supposed font size correctly, but still not displaying that size.
A related problem that might also be worth noting is that there is apparently no way to specify the "linespace" of the font (ie adding additional pixels between lines). I rather like this option, especially at ~4am when the lines start to blurr together a bit.

Mh.. I never really thought about bitmap fonts. I don't really know how to handle these.
Linespace seems to be an interesting parameter to have, but I'm not sure the EFL widget I'm using supports this. I'll investigate that.


Gracefully handle operator termination

In particular, depending on how the operator exits, it could leave behind orphaned plugin processes. While this situation should be rare in normal operations, it's quite frequent during development so, ideally, we would gracefully handle terminations to make sure the plugin processes are properly terminated as well.

Possible options:

https://gobyexample.com/signals
https://medium.com/@matryer/make-ctrl-c-cancel-the-context-context-bd006a8ad6ff
https://golangcode.com/handle-ctrl-c-exit-in-terminal/


Gradient Noise

Add gradient noise to optimizers based on this paper: http://arxiv.org/abs/1511.06807

How about GaussianNoise, see https://keras.io/layers/noise/ ? Have you tried that? Seems to me that you have to add a noise-layer instead of changing the optimizer to achieve the effect you desire.

@jnphilipp I was also curious to try it out. Here's my implementation. I just tried it and it seems to  improve training as expected:
import keras
from keras import backend as K

class NoisySGD(keras.optimizers.SGD):
    def __init__(self, noise_eta=0.01, noise_gamma=0.55, **kwargs):
        super(NoisySGD, self).__init__(**kwargs)
        with K.name_scope(self.__class__.__name__):
            self.noise_eta = K.variable(noise_eta, name='noise_eta')
            self.noise_gamma = K.variable(noise_gamma, name='noise_gamma')

    def get_gradients(self, loss, params):
        grads = K.gradients(loss, params)

        # Gradient clipping
        if hasattr(self, 'clipnorm') and self.clipnorm > 0:
            norm = K.sqrt(sum([K.sum(K.square(g)) for g in grads]))
            grads = [clip_norm(g, self.clipnorm, norm) for g in grads]
        if hasattr(self, 'clipvalue') and self.clipvalue > 0:
            grads = [K.clip(g, -self.clipvalue, self.clipvalue) for g in grads]

        # Add gradient noise
        t = K.cast(self.iterations, K.dtype(grads[0]))
        variance = self.noise_eta / ((1 + t) ** self.noise_gamma)

        grads = [
            grad + K.random_normal(
                grad.shape,
                mean=0.0,
                stddev=variance,
                dtype=K.dtype(grads[0])
            )
            for grad in grads
        ]

        return grads

    def get_config(self):
        config = {'noise_eta': float(K.get_value(self.noise_eta)),
                  'noise_gamma': float(K.get_value(self.noise_gamma))}
        base_config = super(NoisySGD, self).get_config()
        return dict(list(base_config.items()) + list(config.items()))

Put this somewhere and use it as your optimizer. If you want to combine it with another optimizer, e.g. Adam, just subclass it and add the gradient noise part to get_gradients()

Thanks @cpury but I can't use it, does it work if I do
model.compile(loss='mse', optimizer=NoisySGD) ?
And if I want to use Nadam with it I just need to change to
class NoisySGD(keras.optimizers.Nadam): ?
To finish, I also wanted to know is there was a way to change the quantity of noise ?

@edmondja

does it work if I do ... ?

I believe you forgot the brackets after NoisySGD. Try this:
model.compile(loss='mse', optimizer=NoisySGD())

And if I want to use Nadam with it I just need to change to class NoisySGD(keras.optimizers.Nadam): ?

I looked at the Nadam code and it doesn't seem to overwrite the get_gradients function, so it would probably work as you proposed. Feel free to try and report back.

a way to change the quantity of noise

My NoisySGD implementation takes two additional keyword args: noise_eta and noise_gamma. They correspond to η and γ from figure 1 in the paper. By default, they are set to 0.01 and 0.55 respectively. You can experiment with them, e.g. by setting:
model.compile(loss='mse', optimizer=NoisySGD(noise_eta=0.3, noise_gamma=0.8))

This works @cpury , thank you, I am testing it while tuning eta.

@edmondja I had an error in my code, I just fixed it. Please update your get_gradients method accordingly. Sorry for the trouble!

I improved and released my code to a separate package: https://github.com/cpury/keras_gradient_noise .
With this you can add Gradient Noise to any Optimizer class.
Install via pip install keras_gradient_noise. Usage example:
from keras.optimizers import Adam
from keras_gradient_noise import add_gradient_noise

# ...

NoisyAdam = add_gradient_noise(Adam)

model.compile(optimizer=NoisyAdam(noise_eta=0.1, noise_gamma=0.4))

@fchollet if you're interested, I could convert this into a PR.

@cpury
I tried your package, but when running Keras with Tensorflow backend, there was error:
keras_gradient_noise/gradient_noise.py", line 43, in get_gradients
  for grad in grads
AttributeError: 'IndexedSlices' object has no attribute 'shape'

Is this a known issue?

@yoquankara I've never seen that before. But let's continue this elsewhere. Could you create an issue on my repository with some more details?

@cpury Thanks, I will post to your repo.


Add presentation template under Template section

Description
Fixes DG-400

Codecov Report

Merging #188 into develop will increase coverage by <.01%.
The diff coverage is 94.44%.

@@             Coverage Diff             @@
##           develop     #188      +/-   ##
===========================================
+ Coverage     91.5%   91.51%   +<.01%
===========================================
  Files          131      134       +3
  Lines         2130     2144      +14
===========================================
+ Hits          1949     1962      +13
- Misses         181      182       +1

Impacted Files
Coverage Δ

src/App/AppHeader/index.js
75% <ø> (ø)
:arrow_up:

src/App/Home/index.js
75% <ø> (ø)
:arrow_up:

src/App/index.js
73.68% <ø> (ø)
:arrow_up:

src/App/routes/templates.js
100% <100%> (ø)

src/App/components/ActionLink/index.js
100% <100%> (ø)
:arrow_up:

...pp/Templates/getting-started/Introduction/index.js
100% <100%> (ø)

src/App/Templates/templates/presentations/index.js
100% <100%> (ø)

src/App/Templates/index.js
75% <75%> (-25%)
:arrow_down:

... and 1 more

Continue to review full report at Codecov.

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


Added Inertia Values To URDF

Updated all forque and camera components in the URDF with moment of inertia tensors.
Fixed the center of mass values for some new components.
Center of mass and moment of inertia values were calculated by Fusion 360's internal analysis tool. Since inertia is proportional to mass, the inertia values were scaled by dividing by the mass assumed in Fusion 360 and multiplying by the real mass found with a scale.
The values were verified by using the inertia visualizer in rviz to check that the inertia box approximation closely matched the size and shape of the component.

Done!


DataViewer: Display list of single element as Raw, and not Plot1D

That's something which can be done for more dimensions

An image of 1xn can be see as a curve
A cube of 1xnxm  can be see as an image
...

I guess in PyMca I will offer raw as default unless the "interpretation" attribute is set, but it is just a guess.

I really have no idea. I will only fix this case. I guess it is quite fine to display image.


Add destroyOnCancel argument for destroying process on job cancel

IDEA reformatted code on commit, relevant changes are in lines 18-19 and 68-71

@KamilKurde thank you for your proposal.
Sadly it's clearly not enough as discussed in #7
Also the formatting issue is not helping, so let's move discussion to this latest PR.


#5450 adding explore options

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[ ] Feature
[x] Refactoring

Context

[x] Closes #5450
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[ ] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address:
Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[ ] My fix has changed something on UI; a screenshot is best to understand changes for others.

I ad to remove slice(0,3) , but it ended up in all the chains getting visible not prod envs

so I was wondering if we should remove this check so that the chains can be filtered the same in all the environments?

can you please replace snek with rmrk2

on prod there would be kusama, bsx, rmrk2 then
on beta the same as on prod

Please fix the functionality of this dropdown as well, as it has somehow changed to become the network switch once again.

it should not be a network switch
it should redirect you to explore/network
nothing bold
just shortcut links

done

on prod there would be kusama, bsx, rmrk2 then
on beta the same as on prod

prod and beta = kusama, bsx, rmrk2
how about for the others (canary, deploy previews)? currently on previews only shows this up

yeah currently filtering is same for all, should it be different?

yeah currently filtering is same for all, should it be different?

oops, sorry I sent the wrong screenshot. I mean your code will affect chain selector on these area

this is what we had previously

so should we separate beta prod vs others?

@preschian @exezbcz check now

wfm

are there any big changes that i should check?

I see someone's email 🤯

@prachi00 let's resolve conflicts 🤜🤛

I see someone's email 🤯

Can we remove co-author thing from reviewpad? Or any idea what should I do on my side?

Or any idea what should I do on my side?

@roiLeo
git config user.email<EMAIL_ADDRESS>https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address#setting-your-email-address-for-a-single-repository

works

same here

😍 Perfect, I’ve sent the payout
💵 $20 @ 32.95 USD/KSM ~ 0.607 $KSM
🧗 EzGc4s9PgCPx1YnF3fqzhLzVHpHMTL4LWPScwpDrR8JKgSU
🔗 0xd187699688da947d760b8e7a8eb216cf134d09a0b1f4712dd7ac8d1d1d4147c5
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Wiki - Replace With dotnet Interactive Notebook

I see there are lots of examples in the repo, but for learning the basics I don't see a lot in the landing page or the wiki.  I see you have done very well with giving lectures using dotnet Interactive Notebooks.  Looks like a lot of thought was put into creating those.  Would it be possible to pipe those refined notebooks into the Wiki and let it take roots there?
Feedback from the community would then pay into the notebook sort of like a living FAQ.

Interesting. Not sure which repo you mean. I do demos about things like ImportExcel and use notebooks to do that. I don't think I have and demos etc on learning the basics.
I have thought about doing that.


Projects / Import file / Choose File may be using an incorrect mime type on iOS

iOS console message is "Passed in type public.item doesn't conform to either public.content or public.data. If you are exporting a new type, please ensure that it conforms to an appropriate parent type."
I guess this means public.data should be used.

I am not sure what you are referring to...

Using iOS Safari, choose "Projects", then "Import file", then "Choose File". At this point the iOS console shows the quoted message, which seems to suggest there's a problem. Maybe the links below help explain the console message...
In the first link Apple says "A UTI in a functional hierarchy should conform through inheritance to a base UTI that is not public.item. For example, public.content, public.executable and public.archive are all examples of functional base UTIs."
The top answer in the second link says "You need to specify both a UTI for the functional as well as the physical hierarchy. For all files (but excluding bundles) you can use public.data + public.content. For really everything (including symlinks and folders) you would use public.item + public.content."
Uniform Type Identifier Concepts
https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html
iOS Document/File type associations - wildcard UTI?
http://stackoverflow.com/questions/8017468/ios-document-file-type-associations-wildcard-uti
System-Declared Uniform Type Identifiers
https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html

Closing this old issue. If the issue still persists please reopen in pxt-microbit repo


python312Packages.tldextract: 5.1.1 -> 5.1.2

Changelog: https://github.com/john-kurkowski/tldextract/blob/5.1.2/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

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

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

2 packages failed to build:

python312Packages.scrapy-deltafetch
python312Packages.scrapy-deltafetch.dist

74 packages built:

certbot-full
cloudhunter
corsair (python311Packages.corsair-scan)
corsair.dist (python311Packages.corsair-scan.dist)
decode-spam-headers
decode-spam-headers.doc
ghauri
ghauri.dist
ioccheck
ioccheck.dist
lexicon (python311Packages.dns-lexicon)
lexicon.dist (python311Packages.dns-lexicon.dist)
mov-cli
mov-cli.dist
packj
packj.dist
prowler
prowler.dist
python311Packages.asyncwhois
python311Packages.asyncwhois.dist
python311Packages.certauth
python311Packages.certauth.dist
python311Packages.certbot-dns-ovh
python311Packages.certbot-dns-ovh.dist
python311Packages.scrapy
python311Packages.scrapy-deltafetch
python311Packages.scrapy-deltafetch.dist
python311Packages.scrapy-fake-useragent
python311Packages.scrapy-fake-useragent.dist
python311Packages.scrapy-splash
python311Packages.scrapy-splash.dist
python311Packages.scrapy.dist
python311Packages.shodan
python311Packages.shodan.dist
python311Packages.surt
python311Packages.surt.dist
python311Packages.tldextract
python311Packages.tldextract.dist
python311Packages.warcio
python311Packages.warcio.dist
python311Packages.wsgiprox
python311Packages.wsgiprox.dist
python312Packages.asyncwhois
python312Packages.asyncwhois.dist
python312Packages.certauth
python312Packages.certauth.dist
python312Packages.corsair-scan
python312Packages.corsair-scan.dist
python312Packages.scrapy
python312Packages.scrapy-fake-useragent
python312Packages.scrapy-fake-useragent.dist
python312Packages.scrapy-splash
python312Packages.scrapy-splash.dist
python312Packages.scrapy.dist
python312Packages.shodan
python312Packages.shodan.dist
python312Packages.surt
python312Packages.surt.dist
python312Packages.tldextract
python312Packages.tldextract.dist
python312Packages.warcio
python312Packages.warcio.dist
python312Packages.wsgiprox
python312Packages.wsgiprox.dist
qutebrowser
qutebrowser-qt5
qutebrowser-qt5.dist
qutebrowser.dist
sewer
sewer.dist
theharvester
theharvester.dist
wtfis
wtfis.dist

bsddb3 still uses distutils.


CAMEL-12041 Introduce ConcurrentMapIdempotentRepository and MapIdempotentRepository

Introduce AbstractIdempotentRepositoryTest

Rebased, tested and checkstyle'd.
The new tests duplicate and obselete a great number of the existing Idempotent* and FileIdempotent* tests but I have NOT deleted the pre-existing ones. I can update this PR with those deletions if requested.

Hold on I asked question on JIRA

See JIRA


Parameter hints doesing work in native editor

Tested versions
Reproducible in Godot Engine v4.1.1.stable.mono.official and Godot Engine v4.2.1.stable.official
System information
windows 11 professional 23H2- Godot Engine v4.2.1.stable.official- Forwards+
Issue description
Lsp is running correctly.

Function autocomplete works fine.

But the parameter hint just wont came out.

And the vscode-godot-tools plugin is always initilizating when I turned on the outer editor option.

Steps to reproduce
Open the godot engine.
Start a project.
Create a script.
It happens
Minimal reproduction project (MRP)
N/A

You need to turn them on, setting text_editor/completion/add_type_hints

Works perfectly for me? Can't confirm any problems.

Is there any way to see the engine log? It may help find out where the problem is.

Don't think this would print, I can't tell what doesn't work here, as it works perfectly for me, so I'd suspect you are failing to configure this correctly, or some other user error
Also are you sure this is supported at all in 3.x?

I`ve deleted all the data\config file and completly reinstalled the engine. Now it works fine. Still dont know the cause though. Thanks for your attention anyway.


Error: Uncaught (in promise): TypeError: Cannot read property 'events' of null

Immediately on load of the components that use this directive, the console report this error.
Details:

Angular 6.0.5
jquery 3.3.1
trumbowyg 2.11.1
ngx-trumbowyg 6.0.5

Sorry, had to move fast and choosen a different wyswyg.


Add xtask to publish crates to crates.io

Also fix typo in the compare URL in xtask bump.

bors r+


trufflehog: 3.25.2 -> 3.25.3

Diff: https://github.com/trufflesecurity/trufflehog/compare/refs/tags/v3.25.2...v3.25.3
Changelog: https://github.com/trufflesecurity/trufflehog/releases/tag/v3.25.3
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

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

1 package built:

trufflehog


EnderIO Everything Crash

[In this post i use EnderIO v<IP_ADDRESS>9, Thermal Expansion v4.0.0, and Thermal Foundation v1.0.0]
I seem to have found a problem where EnderIO energy conduits will crash and corrupt the world, if connected to any non-EnderIO device. Any fixes?
This is the crash I got from connecting a EnderIO Ender Energy Conduit to a fully powered Leadstone Energy cell:
---- Minecraft Crash Report ----
// My bad.
Time: 3/1/15 1:29 PM
Description: Exception in server tick loop
java.lang.IncompatibleClassChangeError: Class thermalexpansion.block.cell.TileCell does not implement the requested interface cofh.api.energy.IEnergyReceiver
at crazypants.enderio.power.EnergyReceiverPI.canConduitConnect(EnergyReceiverPI.java:22)
at crazypants.enderio.conduit.power.PowerConduit.canConnectToExternal(PowerConduit.java:424)
at crazypants.enderio.conduit.AbstractConduit.onAddedToBundle(AbstractConduit.java:463)
at crazypants.enderio.conduit.TileConduitBundle.addConduit(TileConduitBundle.java:354)
at crazypants.enderio.conduit.AbstractItemConduit.func_77648_a(AbstractItemConduit.java:64)
at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:454)
at net.minecraft.item.ItemStack.func_77943_a(ItemStack.java:128)
at net.minecraft.server.management.ItemInWorldManager.func_73078_a(ItemInWorldManager.java:389)
at net.minecraft.network.NetHandlerPlayServer.func_147346_a(NetHandlerPlayServer.java:556)
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:60)
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:9)
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212)
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
A detailed walkthrough of the error, its code path and all known details is as follows:
-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 7 (x86) version 6.1
Java Version: 1.8.0_25, Oracle Corporation
Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
Memory: 114058712 bytes (108 MB) / 523501568 bytes (499 MB) up to 523501568 bytes (499 MB)
Mod Pack: Unknown / None
LiteLoader Mods: none
LaunchWrapper: 40 active transformer(s)
- Transformer: cpw.mods.fml.common.asm.transformers.PatchingTransformer
- Transformer: cpw.mods.fml.common.asm.transformers.MarkerTransformer
- Transformer: cpw.mods.fml.common.asm.transformers.SideTransformer
- Transformer: cpw.mods.fml.common.asm.transformers.EventSubscriptionTransformer
- Transformer: appeng.transformer.asm.ASMIntegration
- Transformer: codechicken.lib.asm.ClassHeirachyManager
- Transformer: codechicken.core.asm.InterfaceDependancyTransformer
- Transformer: codechicken.core.asm.TweakTransformer
- Transformer: codechicken.core.asm.DelegatedTransformer
- Transformer: codechicken.core.asm.DefaultImplementationTransformer
- Transformer: cofh.asm.TransformerCore
- Transformer: cofh.asm.PCCASMTransformer
- Transformer: invtweaks.forge.asm.ContainerTransformer
- Transformer: codechicken.nei.asm.NEITransformer
- Transformer: portablejim.veinminer.asm.ItemInWorldManagerTransformer
- Transformer: com.mumfrey.liteloader.transformers.event.EventProxyTransformer
- Transformer: com.mumfrey.liteloader.launch.LiteLoaderTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.CrashReportTransformer
- Transformer: cpw.mods.fml.common.asm.transformers.DeobfuscationTransformer
- Transformer: cpw.mods.fml.common.asm.transformers.AccessTransformer
- Transformer: net.minecraftforge.transformers.ForgeAccessTransformer
- Transformer: appeng.transformer.asm.ASMTweaker
- Transformer: codechicken.core.asm.CodeChickenAccessTransformer
- Transformer: cofh.asm.PCCAccessTransformer
- Transformer: invtweaks.forge.asm.ITAccessTransformer
- Transformer: cpw.mods.fml.common.asm.transformers.ModAccessTransformer
- Transformer: cpw.mods.fml.common.asm.transformers.ItemStackTransformer
- Transformer: lumien.randomthings.Transformer.RTClassTransformer
- Transformer: cpw.mods.fml.common.asm.transformers.TerminalTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.JoinGamePacketTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.ServerChatPacketTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.LiteLoaderEventInjectionTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.LiteLoaderCallbackInjectionTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.MinecraftOverlayTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.LoginSuccessPacketTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.CustomPayloadPacketTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.ServerCustomPayloadPacketTransformer
- Transformer: com.mumfrey.liteloader.client.transformers.ChatPacketTransformer
- Transformer: cpw.mods.fml.common.asm.transformers.ModAPITransformer
- Transformer: com.rwtema.extrautils.command.CommandASMCore
JVM Flags: 6 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx512M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
FML: MCP v9.05 FML v<IP_ADDRESS>0 Minecraft Forge <IP_ADDRESS>0 39 mods loaded, 39 mods active
mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML{<IP_ADDRESS>0} [Forge Mod Loader] (forge-1.7.10-<IP_ADDRESS>0.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge{<IP_ADDRESS>0} [Minecraft Forge] (forge-1.7.10-<IP_ADDRESS>0.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
appliedenergistics2-core{rv1-stable-1} [AppliedEnergistics2 Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
CodeChickenCore{<IP_ADDRESS>} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
{000} [CoFH ASM Data Initialization] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NotEnoughItems{<IP_ADDRESS>} [Not Enough Items] (NotEnoughItems-1.7.10-<IP_ADDRESS>-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
VeinMiner_coremod{null_build-null} [Core mod] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
bspkrsCore{6.15} [bspkrsCore] ([1.7.10]bspkrsCore-universal-6.15.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
DamageIndicatorsMod{3.2.0} [Damage Indicators] ([1.7.10]DamageIndicatorsMod-3.2.0.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
appliedenergistics2{rv1-stable-1} [Applied Energistics 2] (appliedenergistics2-rv1-stable-1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
CarpentersBlocks{<IP_ADDRESS>} [Carpenter's Blocks] (Carpenter's Blocks v<IP_ADDRESS> - MC 1.7.10.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ChickenChunks{<IP_ADDRESS>} [ChickenChunks] (ChickenChunks-1.7.10-<IP_ADDRESS>-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
CoFHCore{1.7.10R3.0.0B6} [CoFH Core] (CoFHCore-[1.7.10]3.0.0B6-32.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
EnderIO{1.7.10-<IP_ADDRESS>9} [Ender IO] (EnderIO-1.7.10-<IP_ADDRESS>9.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
EnderStorage{<IP_ADDRESS>} [EnderStorage] (EnderStorage-1.7.10-<IP_ADDRESS>-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ThermalFoundation{1.7.10R1.0.0B3} [Thermal Foundation] (ThermalFoundation-[1.7.10]1.0.0B3-8.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Baubles{<IP_ADDRESS>} [Baubles] (Baubles-1.7.10-<IP_ADDRESS>.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ForgeMultipart{<IP_ADDRESS>4} [Forge Multipart] (ForgeMultipart-1.7.10-<IP_ADDRESS>4-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ExtraUtilities{1.2.1} [Extra Utilities] (extrautilities-1.2.1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
inventorytweaks{1.58-147-645ca10} [Inventory Tweaks] (InventoryTweaks-1.58-147.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Waila{1.5.8} [Waila] (Waila-1.5.9_1.7.10.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
JABBA{1.2.0a} [JABBA] (Jabba-1.2.0a_1.7.10.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Mantle{1.7.10-0.3.2.jenkins184} [Mantle] (Mantle-1.7.10-0.3.2.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Mekanism{7.1.1} [Mekanism] (Mekanism-1.7.10-<IP_ADDRESS>.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
MekanismGenerators{7.1.1} [MekanismGenerators] (MekanismGenerators-1.7.10-<IP_ADDRESS>.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
MekanismTools{7.1.1} [MekanismTools] (MekanismTools-1.7.10-<IP_ADDRESS>.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
neiintegration{1.0.4} [NEI Integration] (NEIIntegration-MC1.7.10-1.0.4.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
RandomThings{2.2.4} [Random Things] (RandomThings-2.2.4.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
libsandstone{1.0.0} [libsandstone] (LibSandstone-1.0.0.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
xreliquary{1.2.DEV} [Reliquary] (Reliquary-Mod-1.7.10.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ThermalExpansion{1.7.10R4.0.0B5} [Thermal Expansion] (ThermalExpansion-[1.7.10]4.0.0B5-13.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
simplyjetpacks{1.3.2} [Simply Jetpacks] (SimplyJetpacks-MC1.7.10-1.3.2.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
TConstruct{1.7.10-1.8.2.build858} [Tinkers' Construct] (TConstruct-1.7.10-1.8.2a.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Thaumcraft{<IP_ADDRESS>} [Thaumcraft] (Thaumcraft-1.7.10-<IP_ADDRESS>.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
VeinMiner{0.16.1} [Vein Miner] (VeinMiner-1.7.10_<IP_ADDRESS>.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
VeinMinerModSupport{0.16.1} [Mod Support] (VeinMiner-1.7.10_<IP_ADDRESS>.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
McMultipart{<IP_ADDRESS>4} [Minecraft Multipart Plugin] (ForgeMultipart-1.7.10-<IP_ADDRESS>4-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ForgeMicroblock{<IP_ADDRESS>4} [Forge Microblocks] (ForgeMultipart-1.7.10-<IP_ADDRESS>4-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
AE2 Version: stable rv1-stable-1 for Forge <IP_ADDRESS>7
Mantle Environment: Environment healthy.
TConstruct Environment: Environment healthy.
AE2 Integration: IC2:OFF, RotaryCraft:OFF, RC:OFF, BC:OFF, MJ6:OFF, MJ5:OFF, RF:ON, RFItem:ON, MFR:OFF, DSU:ON, FZ:OFF, FMP:ON, RB:OFF, CLApi:OFF, Waila:ON, InvTweaks:ON, NEI:ON, CraftGuide:OFF, Mekanism:ON, ImmibisMicroblocks:OFF, BetterStorage:OFF
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Player Count: 1 / 8; [EntityPlayerMP['SCORPIO_055'/37, l='qwerty', x=-65.34, y=68.00, z=-39.54]]
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'fml,forge'

UPDATE!!!!
It seems to be the Energy Conduits that are crashing it

UPDATE!!!
I can confirm that the crashes are caused by the connector that connects to blocks

FINAL UPDATE!!
I figured it out, it has to do with a error with the api
http://minecraft.curseforge.com/mc-mods/64578-ender-io/files/2222045


Does tesseract 4.0 can be used offline?

Hi,
I see "network" in some your description, i'm witting an app running offline, there is no network. Does tesseract 4.0 can be used offline?

use tesseract user forum forum for asking questions.


Add logs to smartcontracts/wasm.rs

As @appetrosyan mentioned here we should consider adding some logs in this file

@appetrosyan, what kind of behavior we want to log with debug?
If we are talking about errors during smartcontract execution, then we already log them inside functions that uses this module.

already fixed by @appetrosyan


Hope flexboxLayoutManager can have the same function like "scrollToPositionWithOffset"

Is there any way to scroll like scrollToPositionWithOffset ? I can't find a way to make it.

I need it, too


JTransformsSupport.tempToDenseVector is slow

as is CanPadLeft's stuff

Hello dlwh, what ended up being the problem here?

for loops and DenseVector.fill and tabulate are fairly slow in the grand scheme of things.


Use @webref/idl to maintain IDL files

Motivation
Automate the maintenance of IDL files used to generate WASM bindings by using the fragments maintained at the source in the webref project.
Proposed Solution
@tidoust and I maintain a list of automatically extracted IDL fragments from browser specifications as part of the webref project:
https://github.com/w3c/webref/tree/curated/ed/idl
(also available as an NPM package)
This list is already used e.g. in the Web Platform Tests project to maintain the authoritative list of IDL fragments to test browser against, and in TypeScript to maintain the relevant TypeScript class declarations.
Automating its use to populate https://github.com/rustwasm/wasm-bindgen/tree/main/crates/web-sys/webidls would simplify the maintenance of these files in the project (which seems entirely manual at this stage?)

They won't work as they are, because web-sys relies on some non-standard attributes and things which aren't there in the original WebIDL files. For instance, [Throws] is used to mark whether a function is throwing and has to return Result<T, JsValue>.
If that issue could be solved, though, this seems like a good idea to me.

Ah, right, I see a number of such attributes in the IDL definitions, including [Throws], [SetterThrows], [NeedsSubjectPrincipal], [BinaryName], [Pure], [Cached], [ChromeOnly], [Pref]. Many of them I don't understand. Some of them could perhaps be interesting to track in the specs themselves (I see that the possibility to add [Throws] in Web IDL was raised in https://github.com/whatwg/webidl/issues/603) or in Webref but we're somewhat reluctant to introduce more places in Webref that require manual maintenance...

I took a look at the webidl-parsing code and a lot of those attributes aren't actually used. They're there because the webidls were initially imported from Firefox, and so we've inherited all their internal attributes.
These are all of the attributes that are actually used:

[ChromeOnly]: The API is only exposed to Firefox-internal code, and so APIs with this attribute are ignored. Those APIs shouldn't be in webref's copy of the webidls anyway, so we don't have to worry about it.
[NoInterfaceObject]: Old name for [LegacyNoIntefaceObject].
[RustDeprecated]: Internal attribute to mark APIs with a Rust #[deprecated]. This is only used in BaseAudioContext.webidl and AudioScheduledSourceNode.webidl, which are deprecated saying that they don't exist in Safari; it looks like they've since been added, though, so I think it should be fine to un-deprecate those and remove this attribute.
[Constructor]: Replaced by first-class constructor operations.
[NamedConstructor]: Seems to have been replaced by [LegacyFactoryFunction].
[Unforgeable]: Old name for [LegacyUnforgeable].
[Throws]: Marks whether a function should return a Result in Rust.

So, it looks like [Throws] is the only one that can't be removed/replaced with a newer webidl feature.
It seems somewhat feasible to auto-generate [Throws] from the spec text. I think that a function should probably return a Result if the spec explicitly includes ways that it can throw, so we can add a [Throws] attribute if that's the case. The simplest way to do that would be to just straight-up check for the word 'throw' in the function's steps (or the steps of any other operations they reference), although that could be a bit flaky.


Error occurred when analysing a TP-Link firmware

Recently I use vxhunter to auto-analyse a binary file extracted from a TP-Link firmware. During the auto-rebase procedure, an error occurred.
Failed while executing plugin_t.run():
Traceback (most recent call last):
  File "D:/Program Files/IDA 7.0/plugins/vxhunter_ida.py", line 962, in run
    self.handler_auto_fix_idb()
  File "D:/Program Files/IDA 7.0/plugins/vxhunter_ida.py", line 820, in handler_auto_fix_idb
    self.fix_vxworks_idb(load_address, vx_version, symbol_table_start, symbol_table_end)
  File "D:/Program Files/IDA 7.0/plugins/vxhunter_ida.py", line 848, in fix_vxworks_idb
    symbol_table_end += load_address
TypeError: unsupported operand type(s) for +=: 'NoneType' and 'long'

It seems due to the lack of symbol table.
Any advice would be appreciated! Thanks in advance.
PS: the related firmware is as follows.
firmware.zip

Please Try 4e2c83b0fab2bad2f460df5a163d5808c49777a3 this commit, it support load VxWorks symbol file from firmware.
Step1: Using binwalk to extract firmware, find VxWorks image and Symbol file.
➜  tp-link binwalk -e TL-WDR7660_V1.0_2.0.16_Build_190325_Rel.71480n.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
512           0x200           uImage header, header size: 64 bytes, header CRC: 0xDEFB3DA, created: 2018-09-05 07:32:57, image size: 48928 bytes, Data Address: 0x41C00000, Entry Point: 0x41C00000, data CRC: 0x2A36A3AD, OS: Firmware, CPU: ARM, image type: Standalone Program, compression type: lzma, image name: "U-Boot 2014.04-rc1-gdbb6e75-dirt]"
576           0x240           LZMA compressed data, properties: 0x5D, dictionary size: 67108864 bytes, uncompressed size: -1 bytes
66560         0x10400         LZMA compressed data, properties: 0x6E, dictionary size: 8388608 bytes, uncompressed size: 3580296 bytes

Goto extracted folder, file 10400 is VxWorks image, and file 140B96 is VxWorks symbol file.
Step2: Load VxWorks image at address 0x00, then load symbol file. VxHunter will rebase image to correct loading address and load the symbols from VxWorks symbol file.

Chose extracted VxWorks symbol file 140B96

Wait VxHunter finish analyze, and have fun ^ ^

@dark-lbp Thanks! It works for me.

Can you give me the vxhunter file for ida？
I have fixed some errors of the python script，but no results with long running。
For example，is it necessary to add base value like “known_address = [0x40205000,0x80002000, 0x10000, 0x1000, 0xf2003fe4, 0x100000, 0x107fe0]”？
However，i cannot find 0x40205000 base address mannully.

Can you give me the vxhunter file for ida？ I have fixed some errors of the python script，but no results with long running。 For example，is it necessary to add base value like “known_address = [0x40205000,0x80002000, 0x10000, 0x1000, 0xf2003fe4, 0x100000, 0x107fe0]”？ However，i cannot find 0x40205000 base address mannully.

You mean the firmware @cq674350529 used?


Problem / Bug: LightGBMError: Multiclass objective and metrics don't match

Environment info

Operating System: Ubuntu 18.04.3 LTS (bionic)
CPU/GPU model: not using GPU
C++/Python/R version: Python 3.6
LightGBM version or commit hash: lightgbm 2.3.1 (from pip)

Error message
---------------------------------------------------------------------------
LightGBMError                             Traceback (most recent call last)
<ipython-input-18-3244fbab7e4b> in <module>
     25         #feval=mltb.lightgbm.multi_class_accuracy_score_factory(num_classes),
     26         evals_result=evals_result,
---> 27         num_boost_round  = 10000,
     28         )
     29

~/miniconda3/envs/homl/lib/python3.6/site-packages/lightgbm/engine.py in train(params, train_set, num_boost_round, valid_sets, valid_names, fobj, feval, init_model, feature_name, categorical_feature, early_stopping_rounds, evals_result, verbose_eval, learning_rates, keep_training_booster, callbacks)
    226     # construct booster
    227     try:
--> 228         booster = Booster(params=params, train_set=train_set)
    229         if is_valid_contain_train:
    230             booster.set_train_data_name(train_data_name)

~/miniconda3/envs/homl/lib/python3.6/site-packages/lightgbm/basic.py in __init__(self, params, train_set, model_file, model_str, silent)
   1712             self.handle = ctypes.c_void_p()
   1713             _safe_call(_LIB.LGBM_BoosterCreate(
-> 1714                 train_set.construct().handle,
   1715                 c_str(params_str),
   1716                 ctypes.byref(self.handle)))

~/miniconda3/envs/homl/lib/python3.6/site-packages/lightgbm/basic.py in construct(self)
   1083                                 init_score=self.init_score, predictor=self._predictor,
   1084                                 silent=self.silent, feature_name=self.feature_name,
-> 1085                                 categorical_feature=self.categorical_feature, params=self.params)
   1086             if self.free_raw_data:
   1087                 self.data = None

~/miniconda3/envs/homl/lib/python3.6/site-packages/lightgbm/basic.py in _lazy_init(self, data, label, reference, weight, group, init_score, predictor, silent, feature_name, categorical_feature, params)
    885             self.__init_from_csc(data, params_str, ref_dataset)
    886         elif isinstance(data, np.ndarray):
--> 887             self.__init_from_np2d(data, params_str, ref_dataset)
    888         elif isinstance(data, list) and len(data) > 0 and all(isinstance(x, np.ndarray) for x in data):
    889             self.__init_from_list_np2d(data, params_str, ref_dataset)

~/miniconda3/envs/homl/lib/python3.6/site-packages/lightgbm/basic.py in __init_from_np2d(self, mat, params_str, ref_dataset)
    935             c_str(params_str),
    936             ref_dataset,
--> 937             ctypes.byref(self.handle)))
    938         return self
    939

~/miniconda3/envs/homl/lib/python3.6/site-packages/lightgbm/basic.py in _safe_call(ret)
     43     """
     44     if ret != 0:
---> 45         raise LightGBMError(decode_string(_LIB.LGBM_GetLastError()))
     46
     47

LightGBMError: Multiclass objective and metrics don't match

Reproducible examples
Before the training even starts I get the error.
param = {
        'objective': 'multiclass',
        'metric': 'auc_mu',
        'num_class': 100,
        }

train_data = lgb.Dataset(x_train, label=y_train)
val_data = lgb.Dataset(x_val, label=y_val)

evals_result = {}

bst = lgb.train(
        param,
        train_data,
        valid_sets=[val_data],
        early_stopping_rounds=5,
        evals_result=evals_result,
        num_boost_round  = 100,
        )

What's the problem here?

Well I guess it is because auc_mu is not releases in the current PIP package.
Closing again.

Hi Philip
I came across the same error. I was hoping to make use of auc_mu - is this currently not available?

@bernarde01 Yes. It is in the master branch but not yet released.

Thanks Phillip. I'm very eager to take a look at this metric. I have taken a look at the article that describes this and it looks very promising as a performance metric for multi-class classification.

@bernarde01 Yes. You could try to compile LightGBM from the sources: https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html
For multi class problems with LightGBM I use F1 (mostly micro). Thats why I wrote a small util to plug SkLearn F1 into LightGBM. See here:

https://github.com/PhilipMay/mltb#module-lightgbm
https://github.com/PhilipMay/mltb/blob/master/mltb/lightgbm.py#L7

PS: Feedback is very welcome.

@PhilipMay Thanks, I checked the util you generated. To confirm, the feval parameter allows for a custom evaluation function. I am curious: if a 'metric' is defined in the parameters, like:
params = {
'objective' : 'multiclass',
'metric' : {'multi_logloss'},
}
will this metric be overwritten by the custom evaluation function defined in feval? As I understand the 'metric' defined in the parameters is used for evaluation (from the lgbm documentation, description of 'metric': "metric(s) to be evaluated on the evaluation set(s)" )

In LightGBM you can provide more then just 1 metric that is evaluated after each boosting round. So if you provide one by metric and one by feval both should be evaluated. But for early stopping lightGBM checks the metric provided by metric.

But for early stopping lightGBM checks the metric provided by metric.

LightGBM checks all metrics: from metric and from feval params. Also, you can use first_metric_only param to overwrite that behavior.


Merge pull request #9352 from shajrawi/fix_class_large_types

Cherry-pick of master's PR https://github.com/apple/swift/pull/9352
Radars rdar://problem/31997747 and rdar://problem/31957448
• Explanation: Fixes an issue in the large loadable types module pass: given a class which contains an optional function type which got a big loadable type as one of its parameters: the class initialization misbehaved and the use of said class variable was loaded incorrectly. Any optional function types inside (and outside) of classes should be resolved by this.
• Scope of Issue: This is a Mandatory pass. Can affect any user of Swift 4.0 if their code contains this pattern.
• Risk: Low
• Reviewed By: Arnold Schwaighofer

@swift-ci Please clean test


PGWatch3 does not respect source DB version for metric queries

Describe the bug
PGWatch3 does not seem to use PG13 queries and uses PG15 or PG16 queries for PG14 source.
To Reproduce
Steps to reproduce the behavior:

Add PG14 Source
Collect pg_stat_statements and table_stats
Check error log

Expected behavior
I expect no errors in log.
Versions:
pgwatch3:
Version:      master
DB Schema:    00179
Git Commit:   742775e04f626792bf6906065f6c58bf68bb2e4a
Built:        2024-07-23T17:27:23+02:00
postgres
SELECT dbname, data->>'major_version' as major_version, data->>'server_version' as server_version, data->>'server_version_num' as server_version_num FROM settings LIMIT 1;
   dbname   | major_version | server_version | server_version_num
------------+---------------+----------------+--------------------
 Lab_zabbix | 14            | 14.12          | 140012

Additional context
Log entries since it uses PG 15 queries.
2024-07-24 09:56:42.933 [ERROR] [source:Lab_zabbix] [metric:stat_statements] [error:ERROR: column "temp_blk_read_time" does not exist (SQLSTATE 42703)] failed to fetch metric data
2024-07-24 09:56:42.962 [ERROR] [source:Lab_zabbix] [metric:table_stats] [error:ERROR: column "last_seq_scan" does not exist (SQLSTATE 42703)] failed to fetch metric data

Thanks! Looks like a bug!


SSH PublicKeys authentication requires importing two ssh packages

In order to authenticate to a repo via ssh using public/private keys, one must import both the golang.org/x/crypto/ssh and the gopkg.in/src-d/go-git.v4/plumbing/transport/ssh, which are both named ssh by default.
package main

import (
	"os"

	"golang.org/x/crypto/ssh"
	git "gopkg.in/src-d/go-git.v4"
	gitssh "gopkg.in/src-d/go-git.v4/plumbing/transport/ssh"
)

func main() {
	sshPrivateKey := os.Getenv("SSH_KEY")
	signer, _ := ssh.ParsePrivateKey([]byte(sshPrivateKey))
	git.PlainClone("example", false, &git.CloneOptions{
		URL:      "ssh://github.com/example/example.git",
		Auth:     &gitssh.PublicKeys{User: "git", Signer: signer},
		Progress: os.Stdout,
	})
}

This necessitates renaming one of the imports, and is a bit confusing.  A more ideal situation would be to provide a function within the git package to create a new auth from a name/private key, such as:
func NewSSHPublicKeyAuth(user string, pemPrivateKey []byte) (*PublicKeys, error)

An even better solution would be to include "New" auth functions (HTTP, SSH) in the main git package, so that sub-packages (plumbing) do not need to be imported for basic authentication functionality.

This really confused me. I was really surprised
	git.PlainClone("example", false, &git.CloneOptions{
		URL:      "ssh://github.com/example/example.git",
	})

didn't just work.

Why not:
Auth: ssh.NewSSHAgentAuth("git")

@jdoklovic I can't rely on a good key being installed on my server.
That may work while running on somebody's personal machine, or on a persistent server, but when deployed to an ephemeral container, or following 12factor best practices, I can't rely on the ssh key being installed on the server.

what I found in https://github.com/golang/crypto/blob/master/ssh/example_test.go
I'm not quite sure, does this need to consider the decryption.
        // A public key may be used to authenticate against the remote
	// server by using an unencrypted PEM-encoded private key file.
	//
	// If you have an encrypted private key, the crypto/x509 package
	// can be used to decrypt it.
	key, err := ioutil.ReadFile("/home/user/.ssh/id_rsa")
	if err != nil {
		log.Fatalf("unable to read private key: %v", err)
	}

	// Create the Signer for this private key.
	signer, err := ssh.ParsePrivateKey(key)
	if err != nil {
		log.Fatalf("unable to parse private key: %v", err)
        }


Fix bad limit in poll loop.  jtest -c1 now works again.

Note: for poll() we must scan the entire array passed in
because, unlink epoll() poll() does not populate the output
with only the ready fds, instead it sets event bits over the
entire array which was passed in.
Also fix port endian-ness in verbose message.
Signed-off-by: John Plevyak<EMAIL_ADDRESS>

Cherry-picked to v9.0.x branch.