Enhancement/notification system/exam pop ups for other exercise types

Checklist

[x] I tested all changes and all related features with different users (student, tutor, editor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Server: I followed the coding and design guidelines.
[x] Server: I added multiple integration tests (Spring) related to the features (with a high test coverage)
[x] Server: I implemented the changes with a good performance and prevented too many database calls
[x] Server: I documented the Java code using JavaDoc style.
[x] Client: I followed the coding and design guidelines.
[x] Client: I added multiple integration tests (Jest) related to the features (with a high test coverage)
[x] Client: I documented the TypeScript code using JSDoc style.
[x] Client: I added multiple screenshots/screencasts of my UI changes
[x] Client: I translated all newly inserted strings into English and German.

Motivation and Context

This is the first follow-up to the initial PR that introduces live exam problem statement updates for text exercises.
This PR expands this feature to other exercise types : FileUpload & Modeling
It also refactors the previous implementation slightly by decoupling the Updater&Highlighter from the text exercise into its own component.
Why no support for Quiz / Programming (yet)?

Quiz : It is not intended for quiz exercises to be changed after the start of the exam ( I discussed this with Stephan)
Programming : The structure (server & client) for programming exercises differs strongly from the other ones (text, file, modeling). Therefore this can be looked as a separate issue/(follow-up) PR.

Description
Here are a couple of .gifs to demonstrate the use cases and the functionality. (Might be especially helpful for reviewers that see this feature for the first time / have not tested it before)
A quick reminder of the core functionality :

When the instructor updates (edits) a problem statement of an exercise a notification is sent with this updated problem statement as a payload. (This is needed because otherwise the problem statement would not be updated live for the student but only after a reload of the page)
If the instructor provided the optional notification text a pop-up is created that informs the student about the change. If the user clicks on it, it will save the current progress and navigate to the updated exercise.
If no notification text was provided a "hidden/silent" update is done. (The difference can still be toggled with the newly added highlighter button)
There are filters in place that ensure that only those students get notified that actually have this exercise as part of their student exam.

👁Gifs : (visual examples) (Douple click the gif to open it in a new tab to see it in more detail and higher resolution)

✅Normal behavior : simple problem statement update with pop up and redirect + highlighter

🐱👤Silent update example (no pop-up)

✂Filters in action : different exercises from the same exercise group

Implementation Details (Helpful for Code Reviewers 🔍)

I decoupled the individual exercise types (all of them were already located in the same folder (.../webapp/app/exam/participate/exercises) from the actual problem statement updater/highlighter (exam-exercise-update-highlighter.component).
(highlighter == updater)
The connection between exercise type and highlighter looks as follows :
Inside the exercise type html (e.g. file-upload-exam-submission.component.html) I inserted
// problem statement update & difference highlighter
    "<"jhi-exam-exercise-update-highlighter *ngIf="exercise" [exercise]="exercise"  (problemStatementUpdateEvent)="updateProblemStatement($event)"">"
    "<"/jhi-exam-exercise-update-highlighter">"
I.e. Every exercise type has this highlighter added into its own html template.
The exercise component transmits its currently loaded exam (thus problem statement) via @Input() into the highlighter.
The highlighter handles the subscription to the problem statement update popup notification.
Once the highlighter receives such a notification (with an updated problem statement) it updates the problem statement and highlights the differences. Afterwards, it pushes these changes back to the exercise component via an @Output() event.
This event is handled in the exercise component via a new updateProblemStatement method. Here I also trigger manual change detection (this is an important part especially for modeling exercises to make sure not to waste performance. This was also the prime reason why I decided to add an output event and method.)
The location for this template addition is also critical because the highlighter creates and shows a "diff" button (after an update). This button has to be in the Problem Statement header (right window). (Discussed this with Stephan)
The "only" access to these headers (i.e. where the title "problem statement" is located) is via the *-exam-submission.component.html.

Steps for Testing

Try to play around with the feature, start with reenacting the gifs.
For written steps look at my original feature PR (above)
The goal is to test if the feature works for file upload and modelling exercises, but also that the text exercises still work as before (due to the refactoring I did).
⚠To make it easier to test this feature for you I again prepared an active exam on TS3 (just like last time but with the other exercise types).
Course = MalyukA
Exam = Tiger Test Exam TS3 🐯
Students : (I removed the passworts, because this PR can be seen by outsiders)
artemis_test_user_30
artemis_test_user_50
artemis_test_user_51
artemis_test_user_55
Thank you very much in advance!
Test Coverage
(Do not worry, most of the LOC changed are due to new tests (especially for the group notification factory, which had no dedicated test class file until now).

Client :
exam-participation.service.ts ~ 86%
exam-exercise-update-highlighter.component.ts ~ 94%
file-upload-exam-submission.component.ts ~ 93%
modeling-exam-submission.component.ts ~ 97%
text-exam-submission.component.ts = 100%
notification-popup.component.ts ~ 95%
Server :
GroupNotificationFactory.java > 80%
StudentExamResource.java > 90%

Concerning the Codacy issues (duplications) & why I added a new REST call to get the exercise IDs

Most of the duplications were already present before this PR (especially the structure of the exercise types)
I added one new REST method getStudentExamExerciseId which is highly based on getStudentExamForSummary.
Previously the notification-popup.component while adding a new exam notification called getStudentExamForSummary, but I found out during debugging that this call is actually forbidden for students during an ongoing exam. But I still received the necessary information (this is due to the implementation of this REST call, at first it loads the basic student exam with exercises and later on after the "forbidden" check it loads the submission, etc. So it returned in the middle but delivered to me the necessary information (exercises & their IDs).
I decided to replace this call with something that does not return an error message.
I tried to look for a suitable method but I could not find anything that would give a student the possibility to get his current student exam or at least the relevant exercises (or simply IDs).
Thus I decided to create a new method that was similar to getStudentExamForSummary but that did not return a student exam but only the respective exercise ids (that I needed in the first place to check if the notification regarding a changed exam exercise even affects the current student. (By only sending the IDs no critical information could be "leaked" to a student about the exam).
Sadly this method reuses a lot of the other "forbidden" method. I really tried to reuse similar function calls and logic but it only gets more complicated. (You have to differentiate between StudentExams, Optional"<"StudentExams">", ResponseEntity"<"StudentExam">" and even Optional"<"ResponseEntity"<"StudentExams">>" all in more or less one auxiliary method, so this became way more confusing really fast.
I also discussed this code duplication with @SimonEntholzer. At first, it seems to be doable but after you try to decouple it you quickly notice the problems of different return types and optional failure calls (again of differing types).
This is my reasoning for duplicating code here. I hope it makes sense. If you have a good idea how to avoid duplication here feel free to tell me 👍

Code Review

[x] Review 1
[x] Review 2

Manual Tests

[x] Test 1
[x] Test 2

Quick comment from my side concerning the found issues and the state of this PR.
This PR itself does not introduce new issues and was thoroughly tested (code and functionality). Therefore ready to merge.
But the found issues are critical. They are based on an agreement to send the updated problem statement directly via the notification. These notifications get saved to the database before sending them out to the client. The problem statement is now also saved in the database and due to its big size breaks the size limit of VARCHAR 255.
I currently see 3 ways of fixing this:
1)
Not save exam notifications at all
pro: very easy to implement
contra: it might be crucial to archive exam notifications due to legal reasons (e.g. to prove that there was such a notification)
2)
Safe the notification but without the problem statement
pro: still quite easy to implement and there is proof that such a notification was created
contra: the actually updated problem statement is no longer saved, so the proof is only partially usefull
3)
Refactor the core transmission of the problem statement. I.e. remove it from the notification and replace it with a simple exercise id. So when the client receives such a notification he can manually pull/ask the server for this exercise (or even just the problem statement)
pro: Strong decoupling between notifications and problem statements.
contra: "most complex" implementation needed. The similar proof problem as with 2) (but I think the change of the problem statement should be saved already as well therefore it should be fine, this goes for all mentioned scenarios)


Send cartInsight on when cart totals is updated via ajax

Update cart insight when changing cart contents via ajax.

@KristoferN Apologies - we missed your PRs! I'm happy to approve this, but first is it possible to redo your PR into latest develop? We have some commits included here that we don't need.


[LAB] Week 1_Problem 1_김민찬

Problem
Week 1_Problem 1
Source Code
import torch
from random import random
from typing import Callable

##                        Problem 1                           ##
##                                                            ##
##         Arbitrary quadratic function will be given.        ##
## Return the optimal point(global minimum) of given function ##
##          Condition: highest order term is positive         ##
##                  Made by @jangyoujin0917                   ##
##                                                            ##

def solution(func: Callable, start_point: float) -> float: # DO NOT MODIFY FUNCTION NAME
    lr = 0.001
    epoch = 10000
    beta = 0.9

    x = start_point
    v = 0

    for i in range(epoch):
        x_tensor = torch.tensor([x + beta * v], requires_grad=True)
        y = func(x_tensor)
        y.backward()

        v = beta * v - lr * x_tensor.grad.data.item()
        x += v

    return x

if __name__ == '__main__':
    def test_func(x): # function for testing;function for evaluation will be different.
        return x ** 2
    t = 10*random()
    print(solution(test_func, t))

Description
ㅁㄴㅇㄹ
Output (Optional)
No response

RuntimeError: a leaf Variable that requires grad is being used in an in-place operation.


Form validation "required number" not working

Describe the bug
In the form the input validation data-validate="required number" is not working as expected.
To Reproduce
I checked even the example code given at https://docs.metroui.org.ua/validator.html.

    Input age
    <input type="text" data-validate="required number" name="age">
     Please give only numbers

Expected behavior
It should accept numbers, and "invalid_feedback" should invoke only when input is not a number. But, it invokes it for every input, even when we input a valid number.
Screenshots

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Metro Version [e.g. 4.3.4]

Smartphone (please complete the following information):

Device: Laptop
OS:  Windows 10
Chrome
Metro Version : "https://cdn.metroui.org.ua/current/metro.css"

Additional context
None

Please check it in latest version

How to check in latest version? I am using the CDN using this link https://cdn.metroui.org.ua/current/metro.css
Is this not the latest?

Thank you. This is a bug in Guardian library. Now fixed in dev, tomorrow I merge this fix into master.

fixed in master


Serious lag when creating a select2 multiple with hundreds preselected options

I have heavily annotated the code in the following bin to illustrate and explain my problem. It made more sense to explain it from within the code than from here so please check it out:
https://jsbin.com/teyujikaka/edit?js,output

This looks like an issue and the description given within the jsbin was helpful. I'm open to reviewing a pull request about this, since I am aware that the listeners we have at the moment are very broad.

I took a look at @hhoweson  jsbin and it was appending each option individually. I modified the script to store the options in an array and pass them all at once. It improved it to where it would handle 1200 records, and the performance on 100 was drastically improved.
Here is the modified jsbin
https://jsbin.com/yivefom/edit?js,output

Hi there, sorry for not ever following up on this.
Nice spot @gorrilla10101, that was one of the solutions I tried however it still won't work with 2000+ records and will cause the whole page to hang.
I didn't have time to create a fix so I created the following rather hacky workaround with the intention of coming back to this when I have time. The following will execute almost instantly with 2000 records and has worked for me thus far. I just copied this straight in from my code base so you may have to play around with it to get it to behave how you like.
function createSelect2Options($select, options) {

	// This function is a workaround for an issue with the select2 library: https://github.com/select2/select2/issues/5657
	// Options should be an array of option objects: option = {id: 'optionId', text: 'Option Name'}
	// $select should be the jquery object for the select box

	options.forEach(function (option) {

		var optionElement = new Option(option.text, option.id); // Do not make the option selected here
		$select.append(optionElement);

		// Due to a bug in select2 it will cause severe lag if the options are selected during creation
		// See the githib issue here: https://github.com/select2/select2/issues/5657
		window.setTimeout(function () {
			// This will delay the selection process until after select2 has viewed the dom change
			// select the option after the dom event for creation has been viewed by select2
			$(optionElement).prop('selected', true);
		}, 0);

	});

	// inform select 2 of the change after the options have been selected later on
	window.setTimeout(function () {
		$select.trigger('change');
	}, 1);

}


[Bug]: Command from cmdk not working even with Combobox

Describe the bug
I used the "Combobox" with "Command" to my previous project and it does indeed work but the thing now is the "Command" with "Combobox" won't work as expected anymore.
Affected component/components
Command, Popover, Combobox
How to reproduce
Here's the solutions I made:

Re-install the "Popover" and "Command" (cause I think I am using the old version --- but I am using the latest) so clearly this is not the problem.
Try to use only the "Popover" without "Command" --- it works just fine. So Popover is not the problem here.
I used only the "Command" and I am right the command has the bug --- I checked the current version of my "cmdk" and I am using the latest one.

Now we know the problem, I checked my previous project version of "cmdk" which is "0.2.0". So the solution that make this works was by removing the current "cmdk" for me I used pnpm uninstall cmdk and reinstall it but I specify the version my of previous project "cmdk" which happens to be pnpm install<EMAIL_ADDRESS>and now I try to use the "Command" and it works now!
Can you guys fix this? The other devs might encounter this issue like me (this bug actually consumes my 2 hours) Thank you guys!
Codesandbox/StackBlitz link
No response
Logs
No response
System Info
Processor	Intel(R) Core(TM) i3-1005G1 CPU @ 1.20GHz   1.20 GHz
Installed RAM	8.00 GB (7.75 GB usable)
System type	64-bit operating system, x64-based processor
Pen and touch	No pen or touch input is available for this display
Google Chrome   Latest
React           18.2.0

Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues

please have a look at this issue, it solves the problem. https://github.com/shadcn-ui/ui/issues/2944
you basically need <CommandList> wrapper after your <CommandInput>, this has happened due to cmdk releasing 1.0 with these breaking changes.
also you would need to replace data-[disabled] with data-[disabled='true'] in the className for whichever element uses that class relating to cmdk, to avoid having cmdk be disabled.

please have a look at this issue, it solves the problem. https://github.com/shadcn-ui/ui/issues/2944
you basically need a <CommandList> wrapper after your <CommandInput>. this has happened due to cmdk releasing 1.0 with these breaking changes.
also you would need to replace data-[disabled] with data-[disabled='true'] in the className for whichever element uses that class attribute relating to cmdk, to avoid having cmdk be disabled.

Thank you sir! It makes sense now to me.

This should be fixed by #2945 :)

Command list not being updated cmdk
<CommandList>
            {/* <CommandGroup> */}
            {options?.map((row) => (
              <CommandItem
                key={row.value}
                value={row.value}
                onSelect={(currentValue) => {
                  text.value = currentValue === text.value ? "" : currentValue;
                  setOpen(false);
                }}
              >
                <Check
                  className={cn(
                    "mr-2 h-4 w-4",
                    text.value === row.value ? "opacity-100" : "opacity-0"
                  )}
                />
                {row.label}
              </CommandItem>
            ))}
            {/* </CommandGroup> */}
          </CommandList>

const [options, setOptions] = React.useState(
    [] as { label: string; value: string }[]
  );

  const search = (text: string) => {
    axios
      .get(`/api/list?table=clients&query=${text}`)
      .then(({ data }) => {
        // consolez.log(data.clients);
        setOptions(
          data.clients.map((e: any) => ({
            value: e.id,
            label: e.name,
          }))
        );
      })
      .catch((e) => notify.error("Erro ao buscar clientes."));
  };

when I close and open again it has the new options, but why does not updates reacivelly ?

@sostenesapollo did you find a solution? im also suffering from same problem

@kasvith @sostenesapollo can one of you post an example of the fix?


SHLVL for PowerShell - How many PowerShells deep am I?

Summary of the new feature/enhancement
Some POSIX shells have a variable called SHLVL that tracks how nested your shell session is. This SO question goes into good depth on the topic.
I tend to find I need to know if I'm in a nested PowerShell session or not, particularly because:

Developing binary modules, I often use a nested PS process to deal with type unloading
Things like $env:PSModulePath can be twisted by nesting PowerShell sessions

I currently have a function in my profile to get information on this:
function Get-PSParentProcesses
{
    $ps = [System.Collections.Stack]::new()
    $p = Get-Process -Id $pid
    do
    {
        if ($p.ProcessName -in "pwsh","pwsh-preview","powershell")
        {
            $ps.Push($p)
        }
        $p = $p.Parent
    }
    while ($p)

    return $ps
}

But given that bash already has functionality built-in to track this concept, it seemed worth opening a feature proposal for.
Some things to consider:

Do we track other shells or other PowerShells? Environment variables aren't suited to this, but it's useful information
Perhaps this variable is better off not as an environment variable but an automatic variable with real object information, or even as a cmdlet?

This already exists, doesn't it? Check the default prompt function; it uses nesting information, right?

@vexx32 no, it doesn't exist.  the issue is about nested process when the prompt display nested pipeline/runspace/choosetheappropriateword.

I have the same issue, I will be happy to see that in the prompt by default. If not, I could set a custom prompt.

It seems rarely used feature. So I believe it is better implement it as external community module.
I would always first of all see if PowerShell could make smarter things than existing analogues before adding new code in PowerShell. I mean that we could think more about problems with nested shells (processes) and maybe find a smart and magic solution(s).

I do find this extremely useful. As a result, I've been using an environment variable __ShellDepth since the beginning of PowerShell. It gets set in my profile
$ENV:__ShellDepth = [int] $ENV:__ShellDepth + 1

and echoed in my prompt. But, given how easy it is to implement externally and the fact that it probably isn't necessary for the average user, I'm not sure we'd want to implement in PowerShell itself.

I do find this extremely useful.

Not clear why. What is scenarios which need this? New PowerShell subprocess inherits nothing (except envs). I guess the work style comes from single windows console in Unix-s. I would suggest that most developers in the modern world prefer a multi-window interface which greatly improves developer productivity.

Not clear why. What is scenarios which need this?

Personally I live on the keyboard and don't like using the mouse or interacting with GUIs (why I love terminal editors and why it's frustrating that Windows terminals don't play so well with them). I also tend to work and think in a stack-like way, pushing and popping contexts (and I feel like this is fairly common).
So when I need to get a clean PowerShell process to push a new context I don't want to do any more than type pwsh<Enter>. But unlike a computer I don't always remember how many stack frames deep I am.
GUIs cross-platform don't really have a convenient, fast, common, keyboard-native way to:

Open a new PowerShell window from PowerShell
Switch to that Window
Execute things
Close the Window
Go back to the original PowerShell process

But even if they did, the fact that the GUI can do it has never really been a good argument that PowerShell shouldn't (quite the opposite I would say).
None of these are arguments this should be in PowerShell though! Me opening an issue is based on:

I have a need,
bash has a builtin concept to serve that need,
Do others have that need?
Is it worth emulating bash and making it a builtin, should it take a different form, should it be part of a module somewhere, or should it just be left up to individuals to implement themselves?

@rjmholt Thanks for great comment!
It should be in the issue description as motivation.
I like to improve single console experience too. (But I do not like primitive copy-paste features and want to see power and magic thing in PowerShell)

I also tend to work and think in a stack-like way

Since PowerShell processes is independent what do you think about that we could generalize from stack-like "structure" to others? I mean for example that you could switch context by Tab (or Alt-Arrow) in circular or something else; get IntelliSense; get named contexts.

@iSazonov A simple example for where this is useful: I'm a developer creating cmdlets. I don't want to load the cmdlet into the current shell because I can't unload it so I spawn a new shell and do my testing. Now after some time , i want to go back to my original shell but I can't remember if I've already done that or not. So having the shell depth in my prompt is very useful.

because I can't unload it--------remove-module.
I can't remember if I've already done that or not. ------open two ps windows on win or two terminal.
The variables common to the two powershell processes can only be environment variables.
For powershell, we should give higher priority to important enhancements,
eg: sftp drive ,
eg: give powershell release to eol Linux distribution one more year.

Now after some time , i want to go back to my original shell but I can't remember if I've already done that or not. So having the shell depth in my prompt is very useful.

I don't think a day goes by where I don't accidental type exit one time too many and sigh as I watch my perfectly set up window... disappear.  Obviously it's not that hard to open a new one, it's just strangely irritating.
+1

Very frustrating, especially in Windows when PS Core hangs on application cleanup for some reason

Curiously, there's also $NestedPromptLevel, which is incremented by $Host.EnterNestedPrompt(). It's not a subshell, but it is something you can exit from. It's a bit more useful combined with Push-Location/Pop-Location.
(libra) ~ % gc function:/enter-subshell

        Param (
                [string]$Path
        )
        Push-Location -StackName:"SubshellStack" -Path:$Path -ErrorAction:Stop > $Null
        $Host.EnterNestedPrompt()
        Pop-Location -StackName:"SubshellStack" > $Null

(libra) ~ % enter-subshell
(libra) ~ <1> % exit
(libra) ~ %

I see a conflict - how would we distinguish between nested prompt and nested subshell?
Another thought is about smart exit which prevents from accidental exit.

I see a conflict - how would we distinguish between nested prompt and nested subshell?

Should be pretty easy, nested prompts are controlled by the PSHost.  It's an entirely PowerShell concept.
@bpayette's environment variable method would do the trick, you'd just have to put it in UnmanagedPSEntry or ConsoleHost.

My solution to this is fairly straight forward. I just add the line below to my $profile.CurrentUserAllHosts file. It's useful for Starship's SHLVL module.
$env:SHLVL = [int]$env:SHLVL + 1

This approach plays nice whether the environment already has SHLVL defined, or not.

@damianpowell Perfect! It even interacts with bash as expected:
$ echo $SHLVL
1
$ pwsh
> $env:SHLVL
2
> bash
$ echo $SHLVL
3
$ pwsh
> $env:SHLVL
4


Deleting and recreating a topic for an index result in retries on a non-recoverable scenario

Describe the bug
If you delete and recreate the topic backing a Kafka source after reading data through it the server goes into a non-recoverable retry loop due to missing offsets.
2022-06-02T21:21:54.244Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=2}::{msg_id=148}: quickwit_indexing::actors::indexing_pipeline: Error while spawning indexing pipeline, retrying after some time. error=Failed to create source `quickwit-kafka-test` of type `kafka`. Cause: Last checkpointed offset `99999` is greater or equal to high watermark `0`.

Caused by:
    Last checkpointed offset `99999` is greater or equal to high watermark `0`. retry_count=5 retry_delay=64s

If you then use this topic and push more data through it I would expect this might start working again after getting to 100,000 records but it will result in the loss of the first 100,000 records since offsets will restart from 0.
Steps to reproduce (if applicable)
Steps to reproduce the behavior:

setup a kafka source
push some data through it so you have committed offsets
delete the topic
recreate the topic
restart the server and you get a continually retrying error

Expected behavior
This isn't really a recoverable scenario without using offset reset logic like the Kafka high level consumer uses.  In this case the correct scenario is likely to detect the missing offset and reset to the low watermark for the topic.
You're also going to have a similar problem if a topic has retention configured and the data expires before Quickwit reads it. The low watermark  on the topic in that case will be higher than the committed offset and the offset will need to be moved forward.

You're also going to have a similar problem if a topic has retention configured and the data expires before Quickwit reads it. The low watermark on the topic in that case will be higher than the committed offset and the offset will need to be moved forward.

I think the current spec takes this in account.
In this situtation we accept the checkpoint delta and log a warning.
In other words I think the current spec is
pos=4 | delta=4.,23 -> pos =23
pos=4 | delta=10.,23 -> logs a warning + pos =23
pos=4 | delta=4..,23 -> logs an error + refuses the delta.
We do not have a special case on this error, so the indexing pipeline will restart and retry to several times before throwing the towel.

One interesting thing to note is that the error is coming from the kafka client.
This is an extra clue that what happens is really that while the targetted topic has the same name, it is probably
not the same topic (delete/recreate OR some weird "I imported my config from another cluster without caring about checkpoints").
My 50c we should confirm and fix #1606 super rapidly (0.3.1).
At least people will be able to workaround this by removing / readding the source.
We should also add a reset checkpoint operation, a little bit later, and if possible give pointers in the error message maybe.
(maybe add a url to the doc?)

What do you think @kstaken ?

In this case the correct scenario is likely to detect the missing offset and reset to the low watermark for the topic.

I'm wary of implicitly resuming from the low watermark. IMO, this behavior should be at least opt-in via a configuration parameter for the source. In production, as an operator, you probably want to take the time to understand why the committed offsets are no longer within the bounds of the topic and only then take the appropriate actions.
Did you recreate the topic to "start fresh" as you were testing the Kafka source?

You're also going to have a similar problem if a topic has retention configured and the data expires before Quickwit reads it. The low watermark on the topic in that case will be higher than the committed offset and the offset will need to be moved forward.

We have taken this corner case into account. The checkpoint API allows "ingestion gaps", and the Kafka source starts ingesting from the low watermark when that happens (source code).

Finally, regarding checkpoint management, I realize that, as of today, it is particularly painful to update a checkpoint manually, we should at least improve that.

You beat me to it @fulmicoton  :)

Created #1631 ,  closing this issue.


feat(api): Added error_sampler option

Now, it is possible for Python SDK users to dynamically sample errors using the error_sampler option, similar how they are able to sample transactions dynamically with the traces_sampler option.
In other words, the new error_sampler is to the sample_rate as the existing traces_sampler is to the traces_sample_rate.
Fixes #2440

An issue in Sentry represents N events, so calling it issue_sampler isn't the best way forward. IMO, this option should sample everything that ends up in capture_event.

@szokeasaurusrex Is it only errors passing through issues_sampler or also other event types?
If it's only errors, calling the option error_sampler might be better for clarity.

The _should_sample_error function that I have modified here is called in the capture_event functions, so I believe all events will be sampled. In light of @cleptric's comment, though, we might consider renaming issues_sampler to events_sampler. What do you think?

More importantly, are the events from the original issue errors (as opposed to e.g. messages) and would they pass through the issues_sampler?

I am unsure given the information I see in the original issue. @saippuakauppias, could you please provide the code where these errors/messages originate from, or provide us more detail with how these are being generated, so we can answer this question?

The _should_sample_error function that I have modified here is called in the capture_event functions, so I believe all events will be sampled. In light of @cleptric's comment, though, we might consider renaming issues_sampler to something like events_sampler. What do you think?

Yes, looks like it's everything but transactions and checkins: https://github.com/getsentry/sentry-python/blob/4d10edfe7233d5adc2ceeeb984d8f93dfa3a29eb/sentry_sdk/client.py#L556-L560
In that case events_sampler/event_sampler sounds good! And it also means that it can be used to set the sample rate for any event, so that answers my second question.

IMO, this option should sample everything that ends up in capture_event.

@cleptric Checkins and transactions also end up in capture_event but wouldn't be run through the sampler, which is ok I think. For transactions there is traces_sampler/traces_sample_rate and I assume there's currently no demand for being able to set checkin sample rates. And if there is, before_send is still a thing.

Once we've settled on the API please don't forget to update the docs @szokeasaurusrex 📖

I discussed with @cleptric, and we now think we should pick a different name than event_sampler, since transactions are also technically events.
The best idea we came up with was to just call the new sampler sampler. This name would also fit the pattern where our sampler corresponds to the sample_rate the same way the traces_sampler corresponds to the traces_sample_rate. Do you have any other ideas @sentrivana, or are you okay with us proceeding naming the sampler sampler.

I am unsure given the information I see in the original issue. @saippuakauppias, could you please provide the code where these errors/messages originate from, or provide us more detail with how these are being generated, so we can answer this question?

I'm using django, so it's going to be a bit of a specific example here, but I think it's reproducible.
# settings/production.py

LOGGING = {
  'version': 1,
  'formatters': {
    'simple': {
        'format': '[%(asctime)s] %(levelname)s %(module)s %(message)s',
        'datefmt': '%Y-%m-%d %H:%M:%S'
    },
  },

  'handlers': {
    'sentry': {
      'level': 'WARNING',
      'class': 'base.sentry.SentryHandler',
    },
    'streamlogger': {
      'level': 'DEBUG',
      'class': 'logging.StreamHandler',
      'formatter': 'simple'
    },
  },

  'loggers': {
    'warn.logger': {
      'handlers': ['sentry', 'streamlogger'],
      'level': 'WARNING',
      'propagate': False
    },
  },

  'root': {
    'level': 'INFO',
    'handlers': ['streamlogger'],
  },
}

# base/sentry.py
from sentry_sdk.integrations.atexit import AtexitIntegration
from sentry_sdk.integrations.dedupe import DedupeIntegration
from sentry_sdk.integrations.django import DjangoIntegration
from sentry_sdk.integrations.excepthook import ExcepthookIntegration
from sentry_sdk.integrations.logging import EventHandler, LoggingIntegration
from sentry_sdk.integrations.modules import ModulesIntegration
from sentry_sdk.integrations.stdlib import StdlibIntegration

class SentryHandler(EventHandler):
    ...

def initialize(dsn, service, release, branch, debug: bool, breadcrumb_filters: list[dict] = None):
    from django.conf import settings

    sample_events_by_path = {
        f'{settings.PROJECT_ROOT}/some/module.py': 0.0001,
    }

    def prepare_event(event, hint):
        request_data = get_request_data()
        tags = event.setdefault('tags', {})

        # my hack for filtration here
        is_sampled = False
        if isinstance(hint, dict) and 'log_record' in hint:
            pathname = getattr(hint['log_record'], 'pathname', '')
            is_sampled = pathname in sample_events_by_path
            sample_rate = sample_events_by_path.get(pathname, 1)

            if sample_rate < 1.0 and random.random() < sample_rate:
                return None

        tags['is_sampled'] = is_sampled

        return event

    sentry_sdk.init(
        dsn=dsn,
        release=release or None,
        before_send=prepare_event,
        default_integrations=False,
        integrations=[
            StdlibIntegration(),
            ExcepthookIntegration(),
            DedupeIntegration(),
            AtexitIntegration(),
            ModulesIntegration(),
            DjangoIntegration(),
            LoggingIntegration(level=None, event_level=None),
        ],
    )

# some/module.py
import logging
import requests

logger = logging.getLogger('warn.logger')

def some_fun():
    try:
        resp = requsts.get('http://some.service.name')
        resp.raise_for_status()
    except Exception as e:
        logger.warning('Error get value from service', exc_info=True)

I discussed with @cleptric, and we now think we should pick a different name than event_sampler, since transactions are also technically events.
The best idea we came up with was to just call the new sampler sampler. This name would also fit the pattern where our sampler corresponds to the sample_rate the same way the traces_sampler corresponds to the traces_sample_rate. Do you have any other ideas @sentrivana, or are you okay with us proceeding naming the sampler sampler?

I'm not opposed to calling it sampler per se, but I don't follow the reasoning. If the issue with event_sampler is that it's too broad, then sampler sounds even broader? 😄
FWIW I don't think there's an ideal solution here. But if I saw sampler as a user without reading the docs, I would assume it samples everything and is a generalization of/supersedes traces_sampler. On the other hand, event_sampler suggests some sort of dichotomy to traces_sampler -- i.e., those two probably sample different things.

I discussed with @antonpirker this morning about naming the sampler as sampler versus events_sampler, he also was leaning towards events_sampler. Since the majority consensus here seems to be to go with events_sampler, let's go with events_sampler for now.

Thank you so much for implementing this idea!
Can you please tell me if I can hope that soon you will release a new version of the package so that I can install it from PyPI?

@saippuakauppias We typically release new versions of the Python SDK every few weeks, so hopefully you will be able to install it from PyPI soon


Java/jetty kills the app 5 seconds after SIGTERM

A customer is is having problems with the Java runtime stopping the process 5 seconds after we send SIGTERM. The lifecycle PRD specifies that apps should have 30 seconds at least.
Our Jetty.xml has
<Set name="stopTimeout">5000</Set>

I think we should do the change in the 2 images (master and async)

Annoyingly 5000 is hard coded in jetty.xml, which makes it difficult to change.  I have opened https://github.com/eclipse/jetty.project/issues/774 to fix this, but will prepare a PR to work around it for now.

We also need a fix in master

I guess, we would also need that in the pure jetty9 runtimes (master and async?)

@ludoch Commit ef87bbaa86b31609059c6f1576f5b69fd30a8a65 did apply the longer time to the pure jetty9 runtime in async.       While there is a gke-jetty in master, it doesn't really have a base directory like we do in async, so a different approach will be needed.   Is that image used?

Someone told me this:
"ah crap, signals are not forwarded in by the jetty_run.sh script
but it seems doable though
http://unix.stackexchange.com/questions/146756/forward-sigterm-to-child-in-bash"
???

OK, I will update in both master and async; pure and compat.   Shall I use this issue and PR?

sure.

I guess it can be tested via sshing to the docker container?

@ludoch that's how I'm testing... standby...


Trouble rendering fonts in IntelliJ when using OpenJDK from nixpkgs

I initially posted this on StackOverflow in case it was something I was doing wrong, but as I wrote and tested I became convinced that the issue wasn't with Docker or using X in some way special, but with nixpkgs, most likely the openjdk.
Issue description
I have not tested in NixOS, but only using nixpkgs in Ubuntu 16.04. Characters in IntelliJ appear to randomly render - sometimes they do, sometimes they don't.
Steps to reproduce
Using Docker

Clone this repo
source build.sh
./idea.sh  This will start the container
idea-ultimate This should be run inside the container

Compare to https://github.com/kurron/docker-intellij which has a similar setup that this is based on, including an Ubuntu 16.04 base image but no nixpkgs, and works.
Note that idea.sh runs xhost + and performs some volume mounts, so please inspect before running if you are concerned.
Technical details

System: (NixOS: nixos-version, Ubuntu/Fedora: lsb_release -a, ...)

[nix-shell:~]$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

Nix version: (run nix-env --version)

[nix-shell:~]$ nix-env --version
nix-env (Nix) 1.11.14

Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion)

[nix-shell:~]$ nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion
"18.03pre114739.d0d905668c"

Sandboxing enabled: (run grep build-use-sandbox /etc/nix/nix.conf)

[nix-shell:~]$ grep build-use-sandbox /etc/nix/nix.conf
grep: /etc/nix/nix.conf: No such file or directory

@domenkozar @NeQuissimus @obadz (sorry if I'm pinging the wrong guys) I tried a different OpenJDK build than the one packaged with nix in the same environment, and it resolved the issue, further leading support to the idea that something in the OpenJDK build included in nixpkgs is causing the problem.
Steps to reproduce "fix":

Download Zulu JDK .deb file linked above and install (e.g. in docker as root)
Make sure idea.sh (e.g.  /nix/store/cdrsg5p3nv7ybp1xn50z61fyp76kyc2n-idea-ultimate-2017.2.2/idea-ultimate-2017.2.2/bin/idea.sh) has JDK set to the new JDK correctly - I hacked idea.sh in the container to guarantee this, setting JDK=/usr/lib/jvm/zulu-8-amd64.
run idea-ultimate as the normal user from nix-shell as above. Run ps -ga from another terminal to verify the right java is being used.

I'll plan to move ahead with my work using this workaround for now, but will note the commit that describes this issue in the above repo is 2302d4cf0a7d78c46c891548467bf8e03c9956a7.

Regarding step 2 in my last post, you can run idea.sh directly (same directory as idea-ultimate but not linked into path), which will run with the specified IDEA_JDK in the environment -  idea-ultimate doesn't work because it overwrites these variables

Related: https://github.com/NixOS/nixpkgs/issues/23115

So, I know the IDEA guys have an OpenJDK fork. I wonder if they do things they rely on. I don't have a lot of time for this right now, unfortunately...

Not sure - but I'm sure I've used various flavors of the OpenJDK (including Zulu but also just standard Ubuntu builds) previously with the -noJDK version of IntelliJ without this issue. At least the linked issue above proposes some nix-oriented workarounds as well.
Getting a bit off topic, but I sort of like the idea of not depending on hardcoded version values for IntelliJ anyway - though they can be updated, the 'update.pl' script is not run regularly or in an automated fashion as might be desired by a CI/CD system, so one is at the mercy of both JetBrains not keeping old versions up, and of nixpkgs not necessarily keeping up with the latest versions. Is there any sort of CI system for nixpkgs that could automatically run update.pl and generate a PR using the github hub command?

So, I know the IDEA guys have an OpenJDK fork. I wonder if they do things they rely on. I don't have a lot of time for this right now, unfortunately...

Confirmed, font rendering on Linux is one of the reasons behind JetBrains JDK existence.

I'm getting what seems to be this exact same issue on 22.05 channel, and I am using the jetbrains.jdk package for IDEA 😕 appears to mostly happen with italic font or bold+italic font, but sometimes other things too. Like in this breakpoint condition text box when you expand it the rendering becomes bugged even though it's fine when not expanded.
Not expanded:

Expanded:


Fix: Handle .git extensions in repository URLs

Fixing an error reported https://github.com/nushell/awesome-nu/pull/32#issuecomment-2067715335
The main issue was that one of the plugins in the config file had a .git extension at the end of the repository URL.
https://github.com/nushell/awesome-nu/blob/65af689a1ba7ea97d105be0ccb45ae0f68072b73/config.yaml#L235
To address this issue, we implemented two steps:

The script will now replace .git extensions with an empty string in URLs, ensuring that the script can correctly locate the Cargo.toml file.
If this issue arises again in the future, the script will handle it more robustly by omitting the affected plugin's data instead of crashing entirely.

Awe, I wondered if the data was corrupt. I looked but didn't see that. Thanks for fixing it.


gallery module: enable title image for category

add image upload to gallery category and update category view

add description field [i18n]


Create Motor+Controller

This is the code that represents the controller connected to the motor, just need to connect the wiring correctly.

This is the code that represents the controller connected to the motor, just need to connect the wiring correctly.


Setup CI

N.B.: This PR depends on #14 which comprises the 1st 3 commits here. Just look at 3b0295d which is based off the GH Actions setup over in Pex that is known-working.

CI won't run until this hits master for the 1st time IIRC.


Resource Pack not working

my server is using resource pack and i am trying to use multiversion plugin to my server and successfully join server using MC 1.17.30 but not loading resource pack data.
Can u help me?

Estou com o mesmo problema.

playfabid is the reason

playfabid is the reason

PlayFabId is part of SkinData

Fixed https://github.com/AkmalFairuz/MultiVersion/commit/810bd3b721abe5e9321a6d136491c050d002391c


Way of the Kensei fixes

Core:
Agile Parry:
Missing an Icon, I chose: icons/skills/melee/swords-parry-block-blue.webp
Kensei Shot:
Missing an Icon, I chose: icons/weapons/thrown/dagger-ringed-engraved-green.webp
Auto Effects:
Flurry of Blows:
Remove Damage Formula
Remove Action Type
Reason: Midi requires targets, and this item expends resources twice if the user has to press it twice
Deflect Missiles:
First tab of the effect should have the two self checkboxes unchecked
Reason: I actually already submitted this as another issue sorry, can probably read that one.
Patient Defense:
Suggestion: Change the key to just macro.CE Custom Dodge(ce)  this could play better with high automation
Agile Parry:
Missing an Icon, I chose: icons/skills/melee/swords-parry-block-blue.webp
I automated this by putting an active effect on the action Unarmed Strike(its shared in the link below in discord)
Kensei Shot:
Missing an Icon, I chose: icons/weapons/thrown/dagger-ringed-engraved-green.webp
I automated this and its in the link below
If you want to see the changes I made directly, I shared 5 features in tposney's discord here, but I'm using effect macro which I'm not sure is included in the auto effects suite:  https://discord.com/channels/915186263609454632/1113409378230489088/1113409378230489088

Flurry of Blows and Patient Defense I don't actually provide effects (yet).
I don't (yet) include Effect Macros as a required module.

Ah, it was the dfreds CE that was providing the keys, I can't believe I let that slip by.  lol.


Sui Code Bug or Feature Request

Steps to Reproduce Issue
Fill this in with the concrete steps needed to reproduce the bug. When providing code in the reproduction steps, use the smallest snippet of code that demonstrates the issue, removing any extraneous details.
e.g.

Call function .
Use return value and call .

Expected Result
Specify what outcome you expected should have resulted, but didn't.
e.g.
Expected  to return 42.
Actual Result
Specify what the actual unexpected outcome was.
e.g.
 returned 41.
System Information

OS:
Compiler:

nicw

Hi,
I assume you were trying out the issue creation process here?
Thanks for deleting or closing this issue if it's not required anymore.
If you'd like a faster response when you have a challenge, I'd recommend the [Sui Discord](https://discord.gg/sui). It has helped me a lot.
,KR GCB


Indieshuffle scrobbling broken

Looks like scrobbling for Indieshuffle.com is broken. The extension says "Play some music to get started" while it is in fact playing. Indieshuffle is checked in the options. Just thought I'd let you know.

This is known issue. Will be fixed in next release.

@nassia the new version is released. Can you please check if scrobbling works fine?

Hi Alexey! It works again for me. Thanks for fixing!


[Bug] --early-stop should be declared differently

Hello Prof. Tramer (@ftramer ),
One of the flags in cnns.py should be declared differently.
Right now it's like
 parser.add_argument('--early_stop', type=bool, default=True)

But when passing the command line argument like python cnns.py --early-stop=False it would take the value as True since False is a non-empty string.
I would suggest doing it like
  parser.add_argument("--early_stop", action="store_false")

I can make a PR for the issue since I already have it in my forked version of the repo.
I've been using this repo for a few weeks now and I've also included methods to resume training and strore best_model and store checkpoints every Nth EPOCH.
If the development on this repo is still active I'd like to contribute to that.
Thank you for your work, it has been really helpful so far.

Thank you for the prompt response @ftramer
PR Done!
Do you think this repo needs other features like the ones I suggested above?
I'll be happy to create PRs for those as well

The repo isn't being developed further at the moment so I'd rather leave it in the original state which I know reproduces the results from the paper.
If there's interest in new features in the future, definitely!


[Add] ISRO API

Site URL
https://isro.vercel.app/
Description of the above provided site
Open Source API for Launched Spacecrafts & Rockets data of ISRO
Category
Backend
Sub Category
API's
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

Please assign it to me so that i can open a PR

@Priyanshu1035 I have already stated that i was going to make pull request i was just waiting for me to be assigned then why did you opened a pull request even though it has linting errors


Update snapshot version to keep main branch latest

Description
This PR updates the product versions in the main branch.
We released the first version (v1.0.0) helm chart of ScalarDB Analytics with PostgreSQL and Scalar Admin for Kubernetes
To keep the versions of these products latest in the main branch, I updated those versions.
Related issues and/or PRs
N/A
Changes made

Update chart and product versions.

Checklist

[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have updated the documentation to reflect the changes.
[x] Any remaining open issues linked to this PR are documented and up-to-date (Jira, GitHub, etc.).
[x] Tests (unit, integration, etc.) have been added for the changes.
[x] My changes generate no new warnings.
[x] Any dependent changes in other PRs have been merged and published.

Additional notes (optional)
N/A
Release notes
N/A

@choplin @supl @kota2and3kan Sorry, I accidentally merged it. PTAL and leave comments if any. 🙇

No problem.
LGTM!


Try MsgModify with invalid tokenIndex, does not blocking.

Summary of Bug

lbm.collection.v1.MsgModify
AS-IS :  Request MsgModify to Invalid TokenIndex with valid NFT TokenIndex, but response not correct event type_name's value <lbm.collection.v1.FTClass>
request ex) MsgModify.fromPartial({
    "contractId": "contractId",
    "owner": "owner",
    "tokenType": "10000001",
    "tokenIndex": "00000000",
    "changes": "changes"
})

response ex)
{
    "events":
    [
        {
            "type": "lbm.collection.v1.EventModifiedTokenClass",
            "attributes":
            [
                {
                    "key": "changes",
                    "value": "[{key:name,value:nFrameworkFT2}]"
                },
                {
                    "key": "contract_id",
                    "value": "3ee3e2f6"
                },
                {
                    "key": "operator",
                    "value": "tlink1fpgj0gg6w4f2f642qsrkgrswj9jdmeer8s9ffx"
                },
                {
                    "key": "token_type",
                    "value": "10000001"
                },
                {
                    "key": "type_name",
                    "value": "lbm.collection.v1.FTClass"
                }
            ]
        },
        {
            "type": "message",
            "attributes":
            [
                {
                    "key": "action",
                    "value": "/lbm.collection.v1.MsgModify"
                }
            ]
        }
    ]
}

TO-BE :
Blocking Invalid NFT Token Index MsgModify
Version
v0.47.1-rc2
v0.47.3-0.20230817110929-1df6411c6429
Steps to Reproduce

Create Collection and Issue NFT token and Mint NFT
Make MsgModify with tokenType = 10000001, tokenIndex=00000000
Send Tx and Check Tx Response

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Thank you for the report. The chain must reject the request, including a tokentype of nft class and token index of "00000000". The specification would be of daphne, hence the current implementation is not compatible with the old spec.

The linked PR should have fixed the bug. You may reopen this issue if you come up with any relevant problem. Thank you @hyenjong-yoo.


source file of multibody.hpp?

Hello,
I created a planar monoped robot model using Pinocchio.robotwrapper, i.e.,  robot = RobotWrapper.BuildFromURDF(         start_path+URDF_PATH, model_path, pin.JointModelPlanar()). The planar floating base needs three variables to specify its configuration, i.e., two translations (x,y) and one rotation (theta), whereas in the robot model, robot.q0 needs four variables, i.e., x,y,sin(theta),cos(theta). However, when we create action models using 'robot', the state dimension should be 6 rather than 8. I see this is dealt with using state =crocoddyl.StateMultibody(robot.model) to get the correct state. Could you please point me to where I could find the implementation details of multibody? Currently I could only find the header file multibody.hpp but not the

Thank you for being interests in our project.
If you have questions about Pinocchio, please post it there.
If you need to find any source file of our project, you can use the search engine of github.


Missing train_finqa.py file required for dev_train_beam target in Makefile

Description
I am trying to execute the dev_train_beam target from the Makefile, but it seems like the train_finqa.py file, which is supposed to be located in the ./tools directory, is missing from the repository.
Steps to Reproduce

Navigate to the training_pipeline directory.
Run the command make dev_train_beam.

Expected Behavior
The make dev_train_beam command should execute successfully by running the Beam training pipeline using the train_finqa.py script.
Actual Behavior
An error is thrown indicating that the train_finqa.py file is not found:
Additional Information

I have searched through the repository to find the train_finqa.py file but was unable to locate it.
There is no documentation explaining the absence of the train_finqa.py file or how to generate or locate it.

Questions

Should the train_finqa.py file be included in the repository?
Are there any steps or commands that need to be executed to generate or locate the train_finqa.py file?
Is there any additional documentation available that explains how to set up and execute the dev_train_beam target?

Thank you for your assistance!

Hello,
Just change it with train_run.py. We changed the file name and forgot to update all Makefile commands.
Thanks for letting us know.

I fixed this in this PR: https://github.com/iusztinpaul/hands-on-llms/pull/34
It is not merged as it is still a WIP, but you can take a look and inspire.

I feel dumb, it was that simple, i should've look more carefully, thank you so much! next time i will come up with something better. I love the work you guys have done. thanks again.

I feel dumb, it was that simple, i should've look more carefully, thank you so much! next time i will come up with something better. I love the work you guys have done. thanks again.

@bardbardd0lm55 No worries, it happens.
I am happy you take our course 🔥

I am facing one issue, make dev_train_beam , copying whole environment and taking too much time


weird blockchain error

When trying to update an offer, I received the following error:

Then wallet crashed.
debug.zip
Reopened wallet no problem, tried editing offer again with the SYS_RATES peg and get:

-tried also creating a new offer with same wallet and getting same Invalid alias peg error (as soon as I click "new offer")
-tried creating an offer with my second node and got the same "runaway exception" with node 1 and wallet crash
-same with node 3 and 4.

I blame MR.DANO for all of this.

I think I caused this error and I believe it started with this set of steps:

create offer using peg1 via walletA at block 1, wait for next block (edited)
accept offer via walletB using escrow (arbiter name doesn’t matter), wait for next block
(not sure which order this has to happen in, these next 3 steps) update peg1 via walletC making sure to impact a currency offer in #1 uses
release escrow via wallet B, wait for next block (edited)
release escrow via wallet A

i think it was 4-3-5,  but the order of those last 3 is the important thing and the block occuring between 2/3 of those steps. After i did this 2 of my nodes went down with the error seb added (two involved in tx). Also had this error in log:
2016-03-29 05:25:09 GUI: PaymentServer::LoadRootCAs: Loaded  163  root certificates 2016-03-29 05:25:09 GUI: TransactionTablePriv::refreshWallet 2016-03-29 05:25:09 ERROR: GetTxOfEscrow() : could not read tx from disk 2016-03-29 05:25:09 ERROR: GetTxOfEscrow() : could not read tx from disk 2016-03-29 05:25:09 ERROR: GetTxOfEscrow() : could not read tx from disk 2016-03-29 05:25:09 ERROR: GetTxOfEscrow() : could not read tx from disk 2016-03-29 05:25:09 ERROR: GetTxOfEscrow() : could not read tx from disk 2016-03-29 05:25:09 ERROR: GetTxOfEscrow() : could not read tx from disk 2016-03-29 05:25:09 ERROR: GetTxOfEscrow() : could not read tx from disk 2016-03-29 05:25:09 ERROR: GetTxOfEscrow() : could not read tx from disk

those messages of escrow are normal.... i dont see an actual error.

Exact steps:

create an alias
as soon as the alias creation dialog closes, attempt to create (or update) and offer
crash

Note: once crash occurs, after relaunching client will crash every time user attempts to create offer

I think this was a bad alias value int he form of the alias peg USD rate not being able to be parsed properly... I think its fixed now @sebastien1234 to confirm

yup, closes #51


[20.03] motion: fix CVE-2020-26566

https://nvd.nist.gov/vuln/detail/CVE-2020-26566

Motivation for this change
Closes #102807
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I think cherry-picking the 4.3.1 update would be preferential.


Issue starting up Minecraft instance with Functional storage.

Failed to create mod instance. ModID: functionalstorage, class com.buuz135.functionalstorage.FunctionalStorage
Currently trying to build a 1.18.2 pack with functional storage in it and I keep getting this error. Hope somebody can help!
latest.log

Try updating titanium


Add TryFrom<JsValue> for [iu](64|128)

Adds a way to convert JsValue or a BigInt to i64/u64/i128/u128 with type and range checks, returning the original JsValue otherwise.
This could be optimised a little bit further via more intrinsics, but it's good enough for the initial implementation, so leaving any optimisations for the future.
Fixes #2350.

Rebased.

Any chance for a release sometime soon? I want to release new version of serde-wasm-bindgen that would depend on this PR + #3049.

v0.2.83 already includes those changes. (It doesn't seem to have been added as a proper GitHub release.)

(It doesn't seem to have been added as a proper GitHub release.)

Ahh yeah that's what I was tracking / checking regularly, so missed a release.

Why not also adding [iu](8|16|32) to the pack?, I just needed for my application those implementations

Why not also adding [iu](8|16|32) to the pack?, I just needed for my application those implementations

They are more complicated / would make a bit less sense because they're all represented by a generic number (Rust's f64) on the JS side, while bigints are all exact integers with separate type.
You can always convert from f64 to specific integer type yourself though.


Suggestion/Improvment

Currently:
Binding with a string name value is relevant if you have multiple cascading values of the same type and need to differentiate them within the same subtree.
better (imo):
If you have multiple cascading values of the same type, which have to be differentiated within the same subtree, a Name attribute with a unique value should be applied to each CascadingValue and CascadingParameter in order to distinguish each of them.
See example below:

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

ID: be4c4d0c-149c-bde1-c7fa-f082916390ca
Version Independent ID: 9d945996-ad02-bd4b-58ea-c465cc5cc74c
Content: Create and use ASP.NET Core Razor components
Content Source: aspnetcore/blazor/components.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

..and corresponding CascadingParameter

So, I am not a native, but something like this would more appeal to me.
Dump it, if you don't like it, otherwise feel free to polish it, to sound grammatically correct.


saved state with fragments

the save state does not work with fragments

hi @IlanVokov ! What Fragment lifecycle call backs were you trying??

onSaveInstanceState to save as you do, and there is no onRestoreInstanceState in fragment so i try inside onCreateView

I know I'm a little late but today I managed to sort this problem out so thought it would be good to share the solution.
So basically the idea is in onCreate method to either load items list from a saved instance between rotation changes OR  if app was launched first time, savedInstance will be null so fragment needs to retrieve items ist from network.
in onCreate method:
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
itemsList = (SmartmeterResponse) savedInstanceState.getSerializable("ITEMS");
adapter = new Adapter(itemsList);
adapter.onRestoreInstanceState(savedInstanceState);
} else {
//Do your network calls, retrieve items list and instantiate adapter
}

In onCreateView you bind your adapter to recyclerView.
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//Inflate view, create recyclerView/Adapter references
//Create adapter by using itemsList (either retrieved from network or from your savedInstance)
//Bind adapter to recyclerView
}

Then in onViewStateRestored method:
    @Override
    public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
        super.onViewStateRestored(savedInstanceState);
        if (savedInstanceState != null)
            adapter.onRestoreInstanceState(savedInstanceState);
    }

in onSaveInstance method:
    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        adapter.onSaveInstanceState(outState);
        outState.putSerializable("ITEMS", itemsList);
    }

And that's about it.

Sorry, Can you question ?
About lost state when ExpandableRecycleview scrolls then All it`values will be wrong.
Example
When 1 item VISIBLE or GONE . when I scroll . VISIBLE AND  GONE wrong.
Thankyou

@haiminhtran810  Sorry I dont understand. Ask your friend who speaks english to clarify.

@eurbon Sorry you
I encountered a case that when I scroll down/up it loses state
For example :
I have a List (1: visible , 2 visible,3 visible, 4 visible, 5 visible, 6 invisible)
I have a layout_item_parent
Include :
ImageView ( invisible or visible ) and TextView.
But when I dont scroll, Imageview is visible . Then I scroll down then i scroll up. Show ImageView wrong
It change to visible to Invisible
Sorry you. My weak English


Github Actions Compliance

Thanks @felipemouradev 👍 I haven't used github actions, but it looks clear to me. Hope others find it helpful.


fix(connector-corda): samples-java AddTokenValueFlow does not work

Describe the bug
https://github.com/corda/samples-java/blob/master/Basic/flow-database-access/workflows/src/main/java/net/corda/samples/flowdb/AddTokenValueFlow.java
To Reproduce
Try to invoke the add token value flow and see it crash.
Expected behavior
Does not crash.
Logs/Stack traces
N/A
Cloud provider or hardware configuration:
Dev machine
Operating system name, version, build:
Ubuntu-20.04
Hyperledger Cactus release version or commit (git rev-parse --short HEAD):
1.0.0-rc.1
Hyperledger Cactus Plugins/Connectors Used

Corda

Copy/pasted from rocket chat:

KaranKulwal
3:54 AM
The error for the issue which was missed
2021-11-08 11:53:08.534 INFO 9 --- [io-23000-exec-5] ApiPluginLedgerConnectorCordaServiceImpl : Progress(0)=[]
2021-11-08 11:53:08.534 INFO 9 --- [io-23000-exec-5] ApiPluginLedgerConnectorCordaServiceImpl : ReturnValue=kotlin.Unit
2021-11-08 11:53:08.535 INFO 9 --- [io-23000-exec-5] ApiPluginLedgerConnectorCordaServiceImpl : Id=[ba2d1e6d-8bca-4d17-a6f9-760089a31a40]
2021-11-08 11:53:08.536 ERROR 9 --- [io-23000-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: kotlin.Unit cannot be cast to net.corda.core.transactions.SignedTransaction] with root cause

java.lang.ClassCastException: kotlin.Unit cannot be cast to net.corda.core.transactions.SignedTransaction

Hey team! Please add your planning poker estimate with ZenHub @AzaharaC @elenaizaguirre


Even slower slowGC

As reported in #32 Windows seems to sometimes hang on to files, even after GC has completed. I'm hoping just a longer pause will help
It's worth saying that this package is in need of love. It was put together quite quickly and saw wide use, but it's sorely in need of a refactor and review of the tests done
cc. @PetrKryslUCSD

I changed the wait to 1 second, and the test completed successfully.

I changed the wait to 1 second, and the test completed successfully.


☂ Transformer Milestone 1

Call for help
This is a call for help; we need assistance from experts who are proficient in Babel and Rust to help us achieve the fastest and most feature-complete JavaScript transformer. The contributor need to adhere to the project rules outlined at https://oxc-project.github.io/docs/contribute/rules.html.
Background
When I prototyped and created the current transformer (https://github.com/oxc-project/oxc/tree/main/crates/oxc_transformer), I was working alone and porting Babel without planning ahead. The result was a dead end - @Dunqing and I became stuck and burned out.
Fortunately, @milesj and @rzvxa showed up and offered help. After some consideration and discussion, we (@Boshen, @Dunqing, @milesj, and @rzvxa) formed a working group to tackle the transformer together.
Restart from scratch
Although we have a significant amount of code in https://github.com/oxc-project/oxc/tree/main/crates/oxc_transformer, with 320 out of 1415 tests passing (as indicated in https://github.com/oxc-project/oxc/blob/main/tasks/transform_conformance/babel.snap.md), let's proceed as if none of this code exists. This will allow us to restart with shared knowledge within the working group.

Milestone 1
The first milestone is to complete @babel/preset-react and @babel/preset-typescript so that tools can transform .jsx and .ts(x) files to the latest ECMAScript version.
Here's the plan:

Completely discard the current transformer implementation.
Begin anew to avoid carrying any technical debt.
Lay out the architecture with placeholders.
Proceed from both ends:

One group will focus on porting all APIs (@Boshen and @Dunqing).
Another group will work on laying out all the foundational code - AST, symbols, scope mutations, etc. See https://github.com/oxc-project/oxc/discussions/2704 (@rzvxa and @milesj).

Ensure that all code is reviewed by at least two people to facilitate knowledge sharing and enable concurrent progress towards the next milestones.

The result was a dead end - @Dunqing and I became stuck and burned out.

What happened? What is the present workflow and any obstacles faced?

What happened? What is the present workflow and any obstacles faced?

Since we currently have no way to access/mutate the ancestor node, this makes it very difficult for us to implement some complex cases. Some cases rely on scopes, and with the current implementation, we don't have access to the scope corresponding to the current AST. Furthermore, any mutations we currently do are not sync semantic. That is, even if we somehow did get access to the scope, its data would be incorrect.
Here we are discussing and solving the problems we are facing https://github.com/oxc-project/oxc/discussions/2704

There wasn't a clear scope and milestone, so we ended up trying everything all at once, which was exhausting.

Will it be possible to serialize transformed code back to the TypeScript?
It would be very helpful for the new version of my TypeScript runtime reflection I'm building.
(Old version tst-reflect. New version is currently closed alpha, but you can see demo on StackBlitz.)
To support as much build/bundle tools as possible I have to do TS to TS transforms so I don't have to implement whole system for each of them. Performance is critical so I'd like to use OXC bcs you do good job guys. 👍

@Hookyns Please could you open a separate issue for this? If we are able to support such a feature, it won't be part of this milestone - the content of which is listed above.

Milestone 1 is done. Will brainstorm for milestone 2 when we have gathered the requirements.

@Hookyns I don't know if you did open another issue in the end, but just to let you know, oxc_codegen does now output TS.


ceph-mgr tasks should not be run when deploying jewel

With the merge of #1487 any testing scenario that deploys jewel and includes a mgr node fails because we are trying to do ceph mgr operations and mgr does not exist on jewel.
See: https://jenkins.ceph.com/job/ceph-ansible-prs-jewel-ansible2.2-xenial_cluster/163/consoleFull
In particular:
TASK [ceph-mon : create ceph mgr keyring(s) when mon is not containerized] *****
task path: /home/jenkins-build/build/workspace/ceph-ansible-prs-jewel-ansible2.2-xenial_cluster/roles/ceph-mon/tasks/ceph_keys.yml:46
skipping: [mon0] => (item=mgr0)  => {
    "changed": false,
    "item": "mgr0",
    "skip_reason": "Conditional check failed",
    "skipped": true
}
skipping: [mon1] => (item=mgr0)  => {
    "changed": false,
    "item": "mgr0",
    "skip_reason": "Conditional check failed",
    "skipped": true
}
failed: [mon2] (item=mgr0) => {
    "changed": false,
    "cmd": [
        "ceph",
        "--cluster",
        "test",
        "auth",
        "get-or-create",
        "mgr.ceph-mgr0",
        "mon",
        "allow profile mgr",
        "osd",
        "allow *",
        "mds",
        "allow *",
        "-o",
        "/etc/ceph/test.mgr.ceph-mgr0.keyring"
    ],
    "delta": "0:00:00.217039",
    "end": "2017-05-02 22:25:51.270600",
    "failed": true,
    "item": "mgr0",
    "rc": 22,
    "start": "2017-05-02 22:25:51.053561",
    "warnings": []
}

STDERR:

Error EINVAL: bad entity name

I believe this task should just be skipped for jewel, and any like it that use commands meant for a mgr node.
Affected testing scenarios are:
jewel-ansible2.2-centos7_cluster
jewel-ansible2.2-purge_cluster
jewel-ansible2.2-update_cluster
jewel-ansible2.2-xenial_cluster
This scenarios are expected to fail until this is fixed.

I think this might be related (or the same issue) as https://github.com/ceph/ceph-ansible/issues/1480

It seems the jewel-ansible2.2-docker_cluster scenario is also affected by this issue.


Add linting of CHANGELOG.md file

currently fails some checks in the linting process, namely:
2020-05-24T18:49:19.5465815Z ./CHANGELOG.md:8 CHANGELOG-RULE-001 Version header format [Allowed formats: 'vX.X.X(-pre.release)' or 'vX.X.X(-pre.release) - YYYY-MM-DD' or 'UNRELEASED'] [Context: "## [Unreleased]"]
2020-05-24T18:49:19.5490328Z ./CHANGELOG.md:16 CHANGELOG-RULE-003 Lists items without punctuation at the end ['.', ';' or ',' at the end of list entry] [Context: "- Changed filename pattern to `.preamble.en.tex`, meaning: first comes the category, then the language, then the real file extension."]
2020-05-24T18:49:19.5491019Z ./CHANGELOG.md:18 CHANGELOG-RULE-001 Version header format [Allowed formats: 'vX.X.X(-pre.release)' or 'vX.X.X(-pre.release) - YYYY-MM-DD' or 'UNRELEASED'] [Context: "## [0.1.2] – 2020-04-29"]
2020-05-24T18:49:19.5491678Z ./CHANGELOG.md:24 CHANGELOG-RULE-001 Version header format [Allowed formats: 'vX.X.X(-pre.release)' or 'vX.X.X(-pre.release) - YYYY-MM-DD' or 'UNRELEASED'] [Context: "## [0.1.1] – 2020-04-29"]
2020-05-24T18:49:19.5492239Z ./CHANGELOG.md:30 CHANGELOG-RULE-001 Version header format [Allowed formats: 'vX.X.X(-pre.release)' or 'vX.X.X(-pre.release) - YYYY-MM-DD' or 'UNRELEASED'] [Context: "## [0.1.0] – 2019-10-20"]

OMG. I submitted a PR at https://github.com/avto-dev/markdown-lint/pull/2

I want to have the . at sentence end. Thus, I told markdown-lint to ignore the new rule. See https://github.com/latextemplates/generator-latex-template/pull/18/commits/96cee02288afe543c83a222d12e3bac6260955ed.


Converted two macros to use proper prototype data

Updated the form-field-with-button and email-signup to use proper prototyped data and remove extra conditional markup.
Additions

Added prototype data to the form-field-with-button molecule
Added prototype data to the email-signup organism
Added the email-signup organism to landing-page template

Testing

gulp build and navigate to /landing-page/

Review

@kave
@kurtw
@KimberlyMunoz
@sebworks
@anselmbradford

Screenshots

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

If you want to test the default prototype date in the form-field-with-button, temporarily remove L:43 in the email-signup

Squashed and updated the CHANGELOG. Ready for final review.

:+1:

:+1:


Idea: use IPython kernel for execution

I made a tiny proof-of-concept for how I would like the GUI to work: a dictionary (or perhaps more elaborate object, we can think about it) maps buttons / menu items / keyboard shortcuts to functions. These functions, together with the workspace (in the example it's just globals() but probably we want to change this), can be used to generate code as we run things.
Now, in the example, I'm using exec and print to handle both the execution and logging. This is good enough in that the same code is run as is written, which is exactly what we want. However, how about the following: we launch an IPython kernel to run things. For every GUI interaction, we generate code to be run by the kernel, send it, and execute it.
Key advantages of this approach:

every interaction is correctly mapped to Python code by necessity.
we can reuse IPython's logging machinery
(maybe) we can launch Napari and point it to a remote kernel running e.g. on Amazon EC2 or a cluster, and then have that cluster at our disposal.
we can trivially create a console by launching an IPython client and pointing it at the kernel we are using.
this includes e.g. debugging capabilities

Basically in this vision, Napari would be an imaging-focused IDE.
Key challenges with the approach:

code generation is easy for very simple cases. In the general case, I'm not so sure. @stefanv said that they tried to do it for Cesium and gave up. I haven't yet had an in-depth conversation about it with him, just a brief mention.
things like undo / rename can be done, but will result in messy code. Example code for rename: image_gaussian = output_23eaf31; del output_23eaf31

@kne42 when you're back from holidays, please comment on this? =)

@jni I like this idea a lot! Especially since a lot of machinery is done for us in an interface that most people already know how to use. This has the bonus of allowing us to convert workflows into Jupyter Notebooks and vice versa.
I don't have much experience dealing with the internals of IPyKernels but I'd imagine they're pretty easily modifiable to be compatible with the IPython plugin system. This enables us the possibility of directly implementing the object tracking/layer system we were talking about without much hacking (by creating our own IPython plugin effectively).
However, I'm not quite sure what challenges you are talking about with regards to non-trivial code generation. Could you please give some examples?

I'm hoping @stefanv can describe some of the issues they ran into. =) @stefanv do you have a dead branch in your git history somewhere that might be informative? =)
I presume once you start doing for-loops, function definitions, and conditional logic, it's not that easy to get nice-looking code automatically. But honestly I haven't tried anything beyond my tiny demo above.

But @kne42 part of the purpose of this is that I want to dramatically simplify #13 before merging. Specifically, I don't want a complicated set of different function classes. Rather, every plugin is one or more Python functions annotated with types, and we have a workspace which includes everything in the global scope at a given time, and we provide a way see anything in the workspace either in an existing viewer window or a new one. (And within each viewer we decide on the order/transparency/visibility of each workspace item on that stack).

@jni Ah, I see. How do you think we should go about organizing the callbacks then? Since special function groups would typically be called in special places/with special ways (i.e. io plugins will be accessible via File > Open...).

The challenge is in cleanly mapping the UI to function calls.  How do
you do that?  When one option is selected, others may change, etc.  For
a color image you may want to execute over multiple layers, or first
convert to Lab.  So, how do you store all these potential code paths
cleanly?
Traits used to be one such an avenue, and perhaps Traitlets allows you
to do the same now?
W.r.t. the IPython kernel execution, how will you extract results from
the kernel rapidly enough for real-time display of larger datasets?
Having the GUI and computing process in the same memory allows direct,
rapid access.

The challenge is in cleanly mapping the UI to function calls.

After much thought, realistically, I don’t think that we can always have a 1-1 mapping between scikit-image or numpy functions and the menu entries…

No. The idea is to have 1-1 mapping between menu items and some functions, be it scikit-image, numpy, or a "naparilib" function that composes many external functions.

When one option is selected, others may change, etc. For a color image you may want to execute over multiple layers, or first convert to Lab. So, how do you store all these potential code paths cleanly?

There should be no dependency of output on some state set by another menu item. For example, I hate that in Fiji "regionprops", you first have to go set options in Analyze > Set Measurements, then you can do Analyze > Analyze Particles. This is just insane design and I want to do everything possible to avoid it in Napari.
So, to answer your question, either the option is there to apply to LAB as a keyword argument (and thus pop-up option) for the processing operation, or the user needs to do it themselves using scikit-image > color > rgb2lab.

Not much of an escape from this. I think the current plan is very simple: function decorations that vary with the plugin type. It will be very straight forward for those that implement plugins...

Can you enumerate the plugin types you are thinking of? My list:

function that takes stuff from the workspace and (optionally) produces new stuff on the workspace, maybe with some side effects, such as launching a completely different kind of viewer, or writing stuff to disk.

how will you extract results from the kernel rapidly enough for real-time display of larger datasets?

Yeah this is certainly a concern. I wonder if there is a way have a kernel running as a thread within the same process...? However Jupyter has to deal with this stuff and you can have some pretty impressive performance with e.g. IPyVolume. But, @royerloic has optimal performance as a top-level goal, so this is true, unless we can run it in-process then that idea is out. But my point about having the written out code exactly match the executed code stands. We can replace ipykernel calls with exec calls.


op - made lists specific to households

Made it so that households have a grocery list. User can pick which household's grocery list that they want to display in the "Shopping List" tab.
closes #60

LGTM!


[Service Bus] Fix test failures - Errors with non existing Namespace

Following is the summary of related test failures as noted on CI from about 2 weeks to until 6/14

Failed runs count
Total runs Count
Test title

2
6
Errors with non existing Namespace #RunInBrowser throws error when receving batch data via 2 queueClient from a non existing namespace

2
6
Errors with non existing Namespace #RunInBrowser throws error when receving batch data via 2 subscriptionClient from a non existing namespace

2
6
Errors with non existing Namespace #RunInBrowser throws error when receving streaming data via a queueClient from a non existing namespace

2
6
Errors with non existing Namespace #RunInBrowser throws error when sending batch data via a queueClient to a non existing namespace

2
6
Errors with non existing Namespace #RunInBrowser throws error when sending batch data via a topicClient to a non existing namespace

2
6
Errors with non existing Namespace #RunInBrowser throws error when sending data via a queueClient to a non existing namespace

2
6
Errors with non existing Namespace #RunInBrowser throws error when sending data via a topicClient to a non existing namespace

This issue is to track root cause analysis and deploying fix for the tests to pass

These failures occur only in browser. This was addressed earlier at time of adding browser tests and is fixed by https://github.com/Azure/azure-sdk-for-js/pull/2936
Looks like the current version of amqp-common dependency does not have these changes pulled in.
The latest version 'core-amqp' does have the changes required to fix this and all we'd need is a dependency update.
@ramya-rao-a

So, the version 1.0.0-preview.5 of amqp-common didnt have this fix?
We can't update Service Bus to core-amqp until we decide to release Track 2 for Service Bus.
The alternative we have is to

create a branch of the repo from the commit where the fix was made
Update version to 1.0.0-preview.6 for amqp-common and release it
Update service bus to use 1.0.0-preview.6

This is the first time we will be attempting to ship from a non master branch, so we should sync up with @KarishmaGhiya about the same

Another alternative is to not run these tests in the browser until we work on Track 2 for Service Bus, by which time we can use core-amqp

Another alternative is to not run these tests in the browser until we work on Track 2 for Service Bus, by which time we can use core-amqp

Got it, updated at https://github.com/Azure/azure-sdk-for-js/pull/3930

Closed with #3930


Stabilize --crate-type flag for cargo rustc

What does this PR try to resolve?
Stabilize --crate-type flag for cargo rustc, as https://github.com/rust-lang/cargo/issues/10083#issuecomment-1175333482 concluded.
Don't merge until FCP ends.
Close #10083

r? @ehuss
(rust-highfive has picked a reviewer for you, use r? to override)

:umbrella: The latest upstream changes (presumably #10868) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably #10766) made this pull request unmergeable. Please resolve the merge conflicts.

Thanks!
@bors r+

:pushpin: Commit cde8f6f692fbf1223a925ad246c381bf0a07efaa has been approved by ehuss
It is now in the queue for this repository.

:hourglass: Testing commit cde8f6f692fbf1223a925ad246c381bf0a07efaa with merge 3959f87158ea4f8733e2fcbe032b8a50ae0b6834...

:sunny: Test successful - checks-actions
Approved by: ehuss
Pushing 3959f87158ea4f8733e2fcbe032b8a50ae0b6834 to master...


Revert "Container-jersey2: Scala code replaced with Java"

Reverts vespa-engine/vespa#6020
@ollivir or @hmusum or @bjorncs or @gjoranv
It broke system test, probably some missing export package.

👍


Add heizungssteuerung 1.7.0 to stable

RE-CHECK!

RE-CHECK!

@jbeenenga
Your adapter https://github.com/jbeenenga/ioBroker.heizungssteuerung does not use standard iobroker testing or standard testing does not succeed
Please see requirements https://github.com/ioBroker/ioBroker.repositories#requirements-for-adapter-to-get-added-to-the-latest-repository
Adapter needs to have at least Adapter basic testing (installing, running) using GitHub actions. More information in forum from apollon77 (Just take from other adapters the samples)

You may copy the test-and-release.yml workflow from the example adapter or newly created adapter. If you need help, please let uas know.
Your current workflow tries to test using node 14 and fails of course. Node 14 is no longer supported by ioBroker since some time and must be removed from tests. Tests must use node 16 / 18 / 20. Node 16 is optional if your adapter requies node 18 or higher.
Please feel free if you need any help setting up standard testing and / or if you prefer a PR to fix this.
Please add a comment when you have reviewed and fixed the suggestion or at least commented the suggestions and you think the adapter is ready for a re-review

Hi @mcm1957,
I've corrected the node version. Can you please check if everything is fine now?
Thanks


ibverbs-tests: Add basic peer-direct API tests

Added test set ensuring that peer-direct functionality present and
conform API requirements.
Signed-off-by: Kovalyov Artemy<EMAIL_ADDRESS>

Test PASSed.
See http://bgate.mellanox.com/jenkins/job/gh-ibverbs-tests-pr/16/ for details. (Mellanox internal link)

Test PASSed.
See http://bgate.mellanox.com/jenkins/job/gh-ibverbs-tests-pr/17/ for details. (Mellanox internal link)

Test PASSed.
See http://bgate.mellanox.com/jenkins/job/gh-ibverbs-tests-pr/18/ for details. (Mellanox internal link)

:+1:


VMExport: add status Ready, remove token required

Short description:

Add VirtualMachineExport.Status.READY
Remove token_secret_ref as the required field (devs changed it to be optional)

!verified

Remove token_secret_ref as the required field (devs changed it to be optional)
Is this changed for 4.12 or 4.13?

Remove token_secret_ref as the required field (devs changed it to be optional) Is this changed for 4.12 or 4.13?
For both 4.12 and 4.13

!verified

!cherry-pick v4.12


minor amendments to pipeline_testing.py documentation

nosetests are passing locally but travis failed tests are expected until pysam is updated. Will merge this now.


keybasesf causes lightroom cc 2015 to beachball

When I have keybasefs running, lightroom will beachball after some random amount of time. My guess is that it's related somehow to the latency to pull directory listings but I have no evidence to back it up.

Yes, you're likely right, though I would guess it's more the write latency than the read latency.  Sorry about that. We're internally testing improvements to write latency.  If you want to test them before we turn them on by default, let me know and I'll update you when they're ready.

@vijayp We've recently implemented some big performance improvements, on both the read and write side. Could you check if Lightroom works correctly now?


bug(fmt): multiline_func_header = all does not multiline a single function parameter

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (2044fae 2024-10-23T00:22:09.499287069Z)
What command(s) is the bug in?
forge fmt
Operating System
Linux
Describe the bug
Functions with a single paramater that need to be multilined does not have the parameter multilined.
The config example
# ...

[fmt]
line_length = 120
multiline_func_header = 'all'

Bug
forge fmt behaves differently for functions with single and multiple params:
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.20;

contract A {
    function a(uint256 param1)
        external
        pure
        returns (uint256 firstReturnValue, uint256 secondReturnValue, uint256 thirdReturnValue)
    {
        firstReturnValue = param1 + 1;
        secondReturnValue = param1 + 2;
        thirdReturnValue = param1 + 3;
    }

    function b(
        uint256 param1,
        uint256 param2
    )
        external
        pure
        returns (uint256 firstReturnValue, uint256 secondReturnValue)
    {
        firstReturnValue = param1 + 1;
        secondReturnValue = param2 + 2;
    }
}

Expected behavior
I am expecting the following behaviour (which was enforced in one of the previous forge versions):
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.20;

contract A {
    function a(
        uint256 param1
    )
        external
        pure
        returns (uint256 firstReturnValue, uint256 secondReturnValue, uint256 thirdReturnValue)
    {
        firstReturnValue = param1 + 1;
        secondReturnValue = param1 + 2;
        thirdReturnValue = param1 + 3;
    }

    function b(
        uint256 param1,
        uint256 param2
    )
        external
        pure
        returns (uint256 firstReturnValue, uint256 secondReturnValue)
    {
        firstReturnValue = param1 + 1;
        secondReturnValue = param2 + 2;
    }
}

Possibly related

#8637
#8761
#8762

This change in formatting affects one of our repos, where the already deployed contracts are getting changed by forge fmt. Having the option to restore the original formatting behavior would be much appreciated.

hey @ChiTimesChi indeed, the prev behavior was reverted because people were already using fmt with the old style (no split on mulitline if single param) see https://github.com/foundry-rs/foundry/issues/8761
I don't think will be changing the behavior again, would be a biggie for you to just use new way of formatting?
(There's multiline_func_header="params_first" too but will format on new line only fns with single params)

Hey @grandizzy , thanks for the swift response!
This is a kind of a biggie, as we really need to preserve the existing formatting. Some of the contracts are already deployed on a subset of chains, changing them will change the metadata hash. Which will not only lead to more workaround for verification, but also affect the create2 address derivation. Which in turn leads to the same contract residing on different addresses on old/new chains, and the whole create2 pipeline was designed for the consistent address in the first place.
I understand that the single param multilining might seem counter intuitive for a lot of users, so perhaps it could be a different config setting (similar to params_first vs params_first_multi)?

I see, will look into providing an all_multi for this


feat(icons): adds pin icon to ardrive_ui

adds pin icon to ardrive_ui

We actually have two different icons. One with a circle and one with no circle. I'll talk to you privately :)

The updated icons are at #58


Doesnt work

Tried on my 3ds and i still had to pay for apps

its a joke :/

it works ...we made it in collaboration with nintendo. get real kid


chore(package): update sinon to version 2.1.0

Closes #127
https://greenkeeper.io/

Coverage remained the same at 97.308% when pulling 2c9343cb7b757fbc8aafcb14d4cbf8e9e42c11e5 on greenkeeper/sinon-2.1.0 into aaf4a2f544257248bc87232449be6d11363cb64f on master.


Option for case-insensitive extension check?

When we use list of extensions to validate uploaded files, EmberDroplet marks files with valid but upper-case extension as invalid. For example, "1.jpg" passes, but "2.JPG" failes.
There should probably be an option for case-insensitive extension check.

I'd argue that the case-insensitivity should be the default behaviour – please try v0.10.0 – I'll add the conditional as part of the refactor when moving to Ember.Component.

Thank you! It works fine now.


Error handling for --config-dir YAMLs

When running YAMLs from a config directory, we should catch and handle errors so that users can pinpoint which config failed.
Since each YAML runs as a separate validation, we should log the name of the YAML file that is currently being processed and if there was a failure.

PR: https://github.com/GoogleCloudPlatform/professional-services-data-validator/pull/663


Use explicit nesting

Use explicit nesting, otherwise exceptions will not work, please check https://rubystyle.guide/#namespace-definition for more information.

Thanks for your suggestion, applied this in #4


Not able to get the result in tabular form as it is shown in cobolCopybookExample1 under Spark-Cobol project

Yes, I guess so. If you have a suggestion of a parser feature that would help your use case, let me know. Ideas are welcome.

Yes, I guess so. If you have a suggestion of a parser feature that would help your use case, let me know. Ideas are welcome.

I am trying to achieve this with the help of RegEx but the result is not 100% correct. Meanwhile i came to a new requirement where i I have 2 dataframes I have to pull the value from one df and put that into another df. Any idea how this can be done?
//XML Data Reader
"val dataDF = (new XmlReader()).withRowTag(booksFileTag1).xmlFile(sqlContext, supplyData).toDF()"
//this is reading each item from the df
val valuesdf = dataDF.collect().foreach {row => row.mkString(",") }
//XML Schema Reader
val schemaDf = (new XmlReader()).withRowTag(booksFileTag).xmlFile(sqlContext, suppySchema).toDF()
For example: I need to create 1 final df after the transformation and merging of 2 dfs.
In my case out of many fields one field is like
schemaDf .CorporationId  [In schemaDf ] == valuesdf .ROW.CLTCORP  [In valuesdf ]
Now i need to pull values of each cell items from valuesdf and push it to the schemaDf is it possible? if so then may be you can give an example


Binaries installed by npm don't seem to work on Windows

I'm not exactly sure what the problem is here, I'll try and figure it out when I can, but wanted to make a note so I don't forget. Attempting to use any of the tasks results in this:
events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn Unknown system errno 193
    at errnoException (child_process.js:998:11)
    at Process.ChildProcess._handle.onexit (child_process.js:789:34)

Thanks for the heads up.
I don't have a convenient way to test on windows, but would you be able to try modifying this line to be something like:
child_process.spawn('Full\Windows\Path\To\node.exe ' + bin, args)
I am guessing the issue has something to do with windows not understanding the shabang line.

Ah yep, that looks like it. I had push bin into args, but that works, and in fact, just spawning "node" works:
child_process.spawn('node', [bin].concat(args))

Thanks for the test and confirmation. I will push a patch tonight or tomorrow.

@garyb would you please be able to confirm if the fix is working as expected? I've released it in 0.3.1
Thanks!

Will do! I don't have access to my Windows machine right now but can test this evening.

Great, thanks!

:ok_hand:

Thanks!


New functions

function setHatRemoveRecipient( uint256 hatId, address[] recipient, address defaultAddress) {
 // 1. call getHatById()

 // 2. remove the recipient(s) and sum their allocations allocationAmountRemoved

 // 3. Add allocationAmountRemoved to defaultAddress.
 // If the defaultAddress is not present in recipients, then add it

 // 4. return the new hat: address[] recipients, uint32[] allocation
}

function setHatAddRecipient( uint256 hatId, address[] recipient, uint32[] allocation) {
 // 1. call getHatById()
 // 2. append the new recipient(s) and allocation(s)
 // 3. return the new hat: address[] recipients, uint32[] allocation
}

function setHatById( uint256 hatId ){
 // returns [address recipient], [uint32 allocation]
}

function setTributeByHat( uint256 hatId ){
// If you know the hat ID, you can set it directly. This simply calls changeHat() on the rDAI contract
}

are these on tribute.js or a contract that we deploy?

Just preliminary functions i thought wed need in Tribute.js

#15