-match operation is skipped when cast to void in the RHS of a variable assignment

Steps to reproduce
Apologies for the title gore.
The compiler will skip emitting ParserOps.MatchOperator entirely when the expression is cast to [void] specifically when in the RHS of a variable assignment. It'll work as expected if there's no assignment or if the assignment is to $null.
Also if the LHS is a member expression the compiler will throw, breaking any script that contains it somewhere, but I'll make a separate issue for that.
Expected behavior
PS> $a = [void]('123' -match 1); $matches

Name                           Value
----                           -----
0                              1

Actual behavior
PS> $a = [void]('123' -match 1); $matches

# Nothing, $matches isn't set

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.2.0
PSEdition                      Core
GitCommitId                    7.2.0
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
Looking at the expression tree generated by the compiler, you can see the match operation is omitted entirely.
Without assignment (correct)
// From { [void]('123' -match 1) } | Get-ScriptBlockDisassembly
funcContext._currentSequencePointIndex = 1;

if (context._debuggingMode > 0)
{
    context._debugger.OnSequencePointHit(funcContext);
}
ParserOps.MatchOperator(
    context,
    Fake.Const<InternalScriptExtent>("-match"),
    "123",
    1,
    false,
    true);
context.QuestionMarkVariableValue = true;

With assignment (not correct)
// From { $a = [void]('123' -match 1) } | Get-ScriptBlockDisassembly
funcContext._currentSequencePointIndex = 1;

if (context._debuggingMode > 0)
{
    context._debugger.OnSequencePointHit(funcContext);
}

// Basically equivalent of `$a = $null`
locals.Item009 = Fake.Dynamic<Func<CallSite, object, object>>(PSConvertBinder.Get(typeof(object)))(null);
context.QuestionMarkVariableValue = true;

If it is a broken code path are there other statement examples where compiler creates broken code?

Is there an actual use case of assigning a [void] casted -match result to a variable?

If it is a broken code path are there other statement examples where compiler creates broken code?

Yeah. I haven't made an issue for this yet but $something.Value = [void]$anyExpressionHere straight up fails to compile. Casting to void in general probably needs a closer look.

Is there an actual use case of assigning a [void] casted -match result to a variable?

Not really, but the compiler omitting code on accident is still problematic. This was found by @JustinGrote on accident while testing some changes in the PowerShell extension for VSCode.

Also for the fix, instead of replacing the converted expression with a constant $null it should emit an Expression.Block with the RHS expression and $null.

Just to add some more test cases, it seems like most things are omitted when cast to void on the RHS of a variable assignment:
$a = [void][PowerShell]::Create()

$a = [void]($ps = [PowerShell]::Create())

$a = [void][Environment]::CurrentDirectory

$a = [void]$anything.Something()

$a = [void]$(
    anything here
	including multiple statements
)

All of these things emit the exact same code gen of:
locals.Item009 = Fake.Dynamic<Func<CallSite, object, object>>(PSConvertBinder.Get(typeof(object)))(null);


Revert deletion of historic appointment styles

What/Why
re-adds historic appointments scss, partially reverting https://github.com/alphagov/whitehall/pull/6264/files, in order to fix a broken David Cameron page.
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

@owenatgov Is this PR still needed?  I think the issue was fixed by https://github.com/alphagov/whitehall/pull/6292.


Add tlspolicy affected status

fixes #577
Add TLSPolicyAffected condition to target gateway
Adds the TLSPolicyAffected condition to the target gateway status
following the same logic that is currently implemented for DNSPolicy.
Update DNSPolicy
Updates the DNSPolicy reconciliation flow to update/remove (annotations)
and then update status as the last step during delete.

/approve

/lgtm


Update to Vagrant 1.8.5; version bump cookbook

Fixes #63 (but actually even better!)

Looks good.


[1/2] Allow for previewing an operator with custom parameters

@vsreekanti to watch the demo and comment on any API changes
Describe your changes and why you are making these changes
The point of this PR is to allow for a user more easily try out different parameters for an operator that has multiple outputs. Whereas before we could only do artifact.get(parameters={...}), now you can simply pass in the value of the new parameter directly, eg. foo(123).
This change in itself isn't that hard, but the naming ramifications are significant.

An implicit parameter is named with "<op_name>:<param_name>"
Implicit parameters can overwrite each other, as long as they are consumed by the same operator. Otherwise, we will error.

def foo(param):
    ....

foo(222) # This creates an input parameter named `foo:param`.
foo(333) # This overwrites the previously created `foo_param` with the new value.

Moreover, as I was building this, I discovered some bugs in our naming policy that are now fixed:

We decided to use (1) to deduplicate instead of just "1". Moreover, this index suffix is now only appended
if there is a collision.
Default artifact names derived from operator names can now collide with other artifacts that were renamed! We used to rely on operator name uniqueness to enforce this, but since https://github.com/aqueducthq/aqueduct/pull/953, that is no longer the case.

Related issue number (if any)
ENG-2343
Also solves ENG-2399 as part of the naming collision fix
Loom demo (if any)
https://www.loom.com/share/badd37d94227417db2df5aa11f9d5254 (This is out of date now. @cw75 has the context)
Checklist before requesting a review

[ ] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[ ] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[ ] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[ ] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

@cw75 I've updated the PR to reflect our latest discussion.

@kenxu95, I see you said the demo is out of date — is there a new video I should watch?


Fix: Update goes into endless Destroy/Start

Overview
Speech recognition does not work at all because at adding the first keyword, the Update method goes in to an endless Destroy/Start loop because keywordListChanged never gets set to false
Changes
Set keywordListChanged to false before starting the Destroy/Start sequence

Nice catch @LocalJoost , guessing that was a tricky one to spot

Thanks for finding the issue and submitting a fix @LocalJoost! We are currently transitioning to this repository and will review this fix as soon as the process is complete.
We anticipate that the transition should be complete by next Friday (6/17/2022).
Thanks for your understanding.

/azp run


⚠ Processors has degraded performance

In 5181315, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 52 ms

Resolved: Processors performance has improved in 4b03429.


Add system / resource usage to status reports.

Explain your changes:
Add information on resource usage to node status:

uptime
load
total RAM
free RAM
total swap
free swap
number of running processes.

Explain how you tested your changes:

Run an ITN node, connecting to a testing status service instance.
CI

Checklist:

[x] Dependency versions are unchanged

Notify Velocity team if dependencies must change in CI

[x] Modified the current draft of release notes with details on what is completed or incomplete within this project
[x] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[x] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[x] All tests pass (CI will check this if you didn't)
[x] Serialized types are in stable-versioned modules

!ci-build-me

!ci-build-me

!ci-nightly-me

!ci-build-me

!ci-build-me

!ci-build-me

!approved-for-mainnet


Not sure how to call MapWindowPoints / MapWindowPoints missing RECT overload

Actual behavior
MapWindowPoints can also accept a Foundation.RECT type as its third argument:

/// A pointer to an array of POINT structures that contain the set of points to be converted. The points are in device units. This parameter can also point to a RECT structure, in which case the cPoints parameter should be set to 2.

However, this overload is not generated. See example calling methods here.
Expected behavior
Overload which accepts a ref RECT to be included.
I also don't know how to construct a Span<System.Drawing.Point> to pass in otherwise...
Repro steps

NativeMethods.txt content:

MapWindowPoints

Context

CsWin32 version: 0.2.104-beta
Target Framework: net6.0-windows10.0.19041.0

Related: https://github.com/microsoft/CsWin32/issues/790

There is no RECT overload of MapWindowPoints. The pinvoke.net declarations you point to are being clever with the fact that RECT happens to match the memory footprint of two POINTs in a row. CsWin32 will never generate something like that. It generates the original definition from the win32 header files, and then often a friendly overload that can make calling it simpler (e.g. use a ref instead of a pointer type). But it doesn't generally do anything super insightful like a trick like that.
The docs I link to (the official docs for this or any other API) should tell you what you need to call it. For example the last code sample there shows this:
POINT pt[2];
MapWindowPoints(hWnd1, hWnd2, &pt[0], 1);
MapWindowPoints(hWnd1, hWnd2, &pt[1], 1);

But just by reading the docs it seems likely that you could do this in just one step:
MapWindowPoints(hWnd1, hWnd2, &pt[0], 2);

You can literally do this in C#:
using System.Drawing;
using Windows.Win32.Foundation;
using static Windows.Win32.PInvoke;

HWND from, to;
Point[] pts = new Point[2];
unsafe
{
    fixed (Point* p = pts)
    {
        MapWindowPoints(from, to, p, 2);
    }
}

But thanks to the friendly overload, you can skip the unsafe and fixed blocks in this case:
HWND from, to;
Point[] pts = new Point[2];
MapWindowPoints(from, to, pts);

Thanks @AArnott for the quick response. I guess it's confusing as the argument generated is listed that it can take a Span, but I haven't worked with them too much yet. So I don't think I realized I could just pass in an array directly and have it be cast to the proper type.
The C++ based Win32 docs aren't really friendly to a C# focused developer on how to construct proper input since there's no CsWin32 based example in the docs (even if it ends up being very similar in structure, I know that's part of the point of CsWin32). This ties into the other issue I opened with #790.
That and a better getting started guide/docs for CsWin32 with some common examples for these types of type cases could be really helpful.

Span<T> is relatively new, and quite capable. It opens up whole new possibilities that can reduce GC pressure in high performance applications, but many of the common types like arrays and strings that you already use can 'fit' into them. CsWin32 does its best to generate the most modern C# declarations from the native headers possible both for ease of use and perf, but if you're not yet familiar with them, it'll be worth your time to learn about these new .NET types, both for CsWin32 interactions and in the rest of your application.


Report on missing or incomplete tags in modernisation platform apps

As an engineer I would like to see a list of missing tags and inform users that these should be updated.
At present there may be tags missing from systems as per the required ones we need (see modernisation-platform-terraform-baselines resource "aws_config_config_rule" "required-tags" which lists the 4 required tags.
We need the Business Unit one, in particular, to ensure systems are billed to the correct customer and group.
The plan is to take the data above and report on it in a spreadsheet. This can then be sent to customers asking them to correct their systems to add the 4 required tags as a minimum. The code for producing the spreadsheet is in modernisation-platform/scripts/internal/get-security-hub-findings/main.go. At present the code just sends high priority alarms to a spreadsheet and the new one would need to sent the medium or lower priority ones to a new spreadsheet.
The spreadsheet can be set up with different tabs, if required.
Follow up from #128
Definition of done

[ ] readme has been updated
[ ] another team member has reviewed
[ ] tests are green
[ ] users to be provided with the spreadsheet
[ ] users are reminded to amend missing tags

The process was changed to add a tab to the spreadsheet to list the missing tags. This lists all instances (including ones where users do not appear to have access to add tags) so we might need to filter on this. Looking to see if this can be done in the Go code but initial attempts appear to list a lot more than we need.


provides way to receive last token

see #901

@tmatsuo PTAL

@bshaffer
So I took a look at this last night, it works great!
I can easily get access to the access_token and expiry time now if the API is forced to refresh the access_token because the one I supplied has expired etc.
However, I'm left wondering how best to use this. As far as I can see there's no event system (or any observation pattern) in the API, so I'm struggling to come up for the best way to know when to call the getLastReceivedToken method so I can save/update the new access_token
When I make more than one request, the getLastReceivedToken method always seems to return NULL. I'm not sure why...
Here's some pseudo code of what I mean:
Imagine my saved access_token in the database is now a day old...

    $client = new Google_Client(['myconfigvalues']);
    $client->setAccessToken('OldaccessTokenRetrievedFromDatabase');

    $cal = new Google_Service_Calendar($client);

    //This will show the expired token that was taken from the database
    var_dump($client->getAccessToken());

    //We make a request and the API magically asks and receives a NEW access_token. Brilliant.
    $request1 =  $cal->calendarList->listCalendarList();
    var_dump($client->getLastReceivedToken()); //New access_token

   //So far so good. I could technically save this data right now. But say I wanted to do a number of
   //requests....checking after EVERY request is very tedious.

    //Let's fire off another request:
    $request2 = $cal->calendarList->get('myemailaddress@gmail.com');
    var_dump($client->getLastReceivedToken());  //Null returned

    //MMMm. Now getLastReceivedToken() is showing NULL

I'm sure this is something to do with the cache, but I'm not sure.
As it stands this is a great start. However, my work flow has me making multiple requests to the google_service rather than just one. Unless I'm coded something badly, it appears that the getLastReceivedToken method only works after the 1st request.
What I was hoping to do was override the __destruct method on the Google_Client and when it was being destroyed I was going to check for any new tokens and save them to the database for that user for the next time.
Have I picked this up wrong?

So tracing through the code, I think this is where the issue
So it all works well for the 1st request, but if there is a second request, in Google_Client the authorize method gets called and this code is used:

On line 353, $this->getAccessToken is called again, but because the Google_client has never been updated with the new access_token that it managed to get in the last request, it still retrieves the old stale one that was set when Google_Client was created.
That means that the lastCredentials gets reset to just the refresh token...wiping away the previous new access_token.
Now in the AuthTokenMiddleware:

The cache gets set, and uses the last new access_token to make the second request which will work perfectly.
However at no stage is this passed back to the Google_Client.
I have no idea what to do to fix that, I'm struggling getting my head around the architecture here, but I hope that helps to explain what the issue is.
Thank you!

Hi,
I had similar issue as yours (saving and refreshing the token). Why do you bother with detecting a refreshed token, whereas you could just ask the library whether the token is expired or not ? If so, you commit it to your database (for future use). If not, you continue to use it.
Here is a piece of code I'm using :
// read token from the API or from your database, if it has been saved
$t = $client->getAccessToken();
print_r($t); // should output several fields (including expires_in and refresh_token)

// if token is expired
if ( $client->isAccessTokenExpired() )
{
   // fetch refreshed token, but this one is short-lived (one hour validity) ; you CAN'T save it to your
   // database for future use !
   $short_lived_token = $client->fetchAccessTokenWithRefreshToken($t['refresh_token']);

   // for future calls in the API and the script lifetime, set the refresh token just obtained
   $client->setAccessToken($short_lived_token);

   $t['access_token'] = $short_lived_token['access_token'];
   $t['created'] = $short_lived_token['created'];
   $t['expires_in'] = $short_lived_token['expires_in'];

   // do some stuff to save the token in your database, for future use
}

Hope this helps a bit !

Are you sure you are using the last RC ? As your issue reminds me of mine described here (and addressed by a pull request)
#https://github.com/google/google-api-php-client/issues/849

HI @am63 Thanks for replying.
I'm definitely using RC6. From my composer.lock file:

I'm currently using something very similar to your code at the moment, testing the access_token when I set it with the Users saved one.
If it's expired/stale I get a new one and save it, then set that one in the Google_Client.
However all that work is done already in the API! It checks if it's expired. It checks if its invalid. It fetches a new one using the refresh token. It uses the new one for any requests (via the cache it seems).
Just trying to see why we need to write that boilerplate code to do all that when all I need is to grab the tokens that were used by the library when it's shutting down.
There's one line in your code that surprises me:

// fetch refreshed token, but this one is short-lived (one hour validity) ; you CAN'T save it to your
// database for future use !

Why do you say that?
I have plenty of requests that will be done within an hour of the last one, and so using the token again is fine. Just curious.
Thanks though!

I say that because the token obtained by fetchAccessTokenWithRefreshToken does not contain any refresh_token field ; the expires_in field is set to expire the token 1 hour later. If you save the fetchAccessTokenWithRefreshToken in the database, you are loosing the refresh_token part !
This is what I learnt some weeks ago, I don't think it has changed.

@am63 Ah ok.
I'm working with Laravel, luckily it's smart enough to know that if I send an update command to the database with an array that only has an access_token and expires_in field, it will update only those fields and not remove the refresh_token etc for that user.
But as a warning for others, that's fair enough :)

I'm sorry for high-jacking this PR conversation, but things just keep jumping out at me.
So @am63  you said earlier on:

Why do you bother with detecting a refreshed token, whereas you could just ask the library whether the token is expired or not ?

And you followed it up with this code:
$t = $client->getAccessToken();
// if token is expired
if ( $client->isAccessTokenExpired() ){
[...]
}

This is actually pretty worthless IMHO.
When we have a look at the isAccessTokenExpired() method, you find that it's nothing more that a time checker.
The code looks like this (comments removed):
  public function isAccessTokenExpired()
  {
    if (!$this->token) {
      return true;
    }

    $created = 0;
    if (isset($this->token['created'])) {
      $created = $this->token['created'];
    } elseif (isset($this->token['id_token'])) {
      $idToken = $this->token['id_token'];
      if (substr_count($idToken, '.') == 2) {
        $parts = explode('.', $idToken);
        $payload = json_decode(base64_decode($parts[1]), true);
        if ($payload && isset($payload['iat'])) {
          $created = $payload['iat'];
        }
      }
    }
    // If the token is set to expire in the next 30 seconds.
    $expired = ($created
            + ($this->token['expires_in'] - 30)) < time();
    return $expired;
  }

As you can see, it literally only checks to see if the time left on the token is more than 30 secs otherwise it just says the token has expired.
This does no checking to see if the token has been revoked, if it's actually a valid token (ie, the string of characters hasn't be tampered with)  etc.
If you really wanted to check is the token valid, you need to check with Google. Something like this:
    protected function isAccessTokenInvalid($token)
    {
        $http = $this->client->authorize();

        $result = json_decode(
            $http->get('https://www.googleapis.com/oauth2/v1/tokeninfo?access_token='.$token)->getBody()
        );

        if (isset($result->error)) {
            //Bad Token - invalid, corrupt etc.
            return true;
        }

        return false;
    }

Basically it seems the work flow should be simple:

Create Google_Client and add a token. (It might be old and invalid, it might be new and valid).
Make requests. Api detects what needs to happen if token is old. Gets new token and uses it. (Currently the API does this).
When finished all requests, return the tokens used. They can be saved if needed for the next time.

Wouldn't that bypass all the checks and bolierplate code we have to do at the moment?

Guys thanks for the discussion.
@bshaffer Does it make sense to create the UserRefreshCredentials only when

the original access token is expired
isset($token['refresh_token'])
the credential is not UserRefreshCredentials
?

@tmatsuo yes, but that is the current behavior. I'm not quite sure what you mean by the last point, though.

Now the if clause is
      if ($this->isAccessTokenExpired() && isset($token['refresh_token'])) {
        $credentials = $this->createUserRefreshCredentials(
            $scopes,
            $token['refresh_token']
        );
      }

It causes the $credentials will be cleared when you call the 2nd API call.
So I'm thinking something like:
      if ($this->isAccessTokenExpired() && isset($token['refresh_token'])
          && ! $credentials instanceof UserRefreshCredentials) {
        $credentials = $this->createUserRefreshCredentials(
            $scopes,
            $token['refresh_token']
        );
      }

so that if you call the API again, the $credentials will keep the same object. I think this will solve the issue described in https://github.com/google/google-api-php-client/pull/905#issuecomment-202046445

@tmatsuo the code never allows for $credentials to be set at that point. The only other place it's set is at line e47.

@bshaffer Oh I got it. Somehow I thought $credentials is an instance variable.
Well, then how about to have an instance variable that holds the UserRefreshCredentials and do the same check?
    /**
     * @var UserRefreshCredentials $userRefreshCredentials
     */
    private $userRefreshCredentials;
    ...
    ...
    if ($this->isAccessTokenExpired() && isset($token['refresh_token'])) {
        if (!isset($this->userRefreshCredentials)) {
            $this->userRefreshCredentials = $this->createUserRefreshCredentials(
                $scopes,
                $token['refresh_token']
            );
        }
        $credentials = $this->userRefreshCredentials;
    }

Oh, we already has $this->lastCredentials, then we can check
    if ($this->isAccessTokenExpired() && isset($token['refresh_token'])) {
        if (! $this->lastCredentials instanceof UserRefreshCredentials) {
            $credentials = $this->createUserRefreshCredentials(
                $scopes,
                $token['refresh_token']
            );
        } else {
          $credentials = $this->lastCredentials;
        }
    }

What do you think?

Here are two options which may provide a better solution to this problem:

The Google_Client class could provide a callback function to AuthHandlerFactory, which would be called when a brand new access token is fetched. We would need to add support to set a callback function in the AuthTokenSubscriber and AuthTokenMiddleware classes.

A CacheInterface class called CallbackCache could be added. The callback cache essentially takes a callback function and an optional CacheInterface class as constructor arguments, and calls both of them when a new value is set. The auth library would not require modification for this.

Sure, if we can set the brand new access token to the client object, that's better.

I'm fine with both of them

I would love to be able to say which of those two options seems better, but I'm not sure I'm up to speed with the entire API code base to give a constructive opinion.
I am happy to give way to your better judgement.
Thank you for reading though my long rants above :)

Does anyone on this thread think implementing PSR-6 (#943), and in doing so supporting stash, is sufficient to solve this use-case? I can add something like setTokenCallback as a catch-all for any usecase (similar to #925), but this seems hackish and I am wondering if exposing this using a cache interface isn't the better way to handle it.
All thoughts are welcome!

Again apologies, but the question is above my skill level to answer!


Update style.css

added css of track point of user

Please add image / video for your project @sanketkalekar


Checboxes do not toggle

Describe the bug
Checboxes to not toggle
To Reproduce
Steps to reproduce the behavior:

Make sure the toggle checkbox command is added to the keymap
{ "keys": ["enter"],             "command": "orgmode_toggle_checkbox",         "context": [{ "key": "selector", "operator": "equal", "operand": "orgmode.checkbox" }]}
Create an item with a checkbox * List
   - [ ] Blah

With the cursor inside the checbox, hit enter
Nothing happens

Expected behavior
The checkbox should toggle
Screenshots
If applicable, add screenshots to help explain your problem.
Platform:

Windows 10, Sublime Text  Build 4107

Sublime debug console output
Nothing is output.

Will it toggle if you add the toggle command to Default (Windows).sublime-keymap file?

I cannot edit that file

I rechecked the repo state, there is no Default (Windows).sublime-keymap file, you should create it yourself. Can you create it? (It should be next to Default.sublime-keymap in orgextended's root)
I did this on my Linux machine (Default (Linux).sublime-keymap in my case) to make the checkboxes toggle.

Apologies, I had already done this, and it does not work. Here is my Default (Windows).sublime-keymap
[
    { "keys": ["ctrl+shift+`"], "command": "show_panel", "args": {"panel": "console", "toggle": true} },
    { "keys": ["alt+o", "i", "g"],       "command": "org_insert_tag",                "context": [{ "key": "eol_selector", "operand": "text.orgmode"}] },
    { "keys": ["enter"],             "command": "orgmode_toggle_checkbox",         "context": [{ "key": "selector", "operator": "equal", "operand": "orgmode.checkbox" }]}
]````

The default should work even without the Default (Windows) file.
I suspect it was a recent PR that may be causing this. I will dig into it as soon as I can make time.
Sorry I have been out for a while.

Make sure you open the console and give me the console output when you do this.
For instance:
Traceback (most recent call last):
File "/opt/sublime_text/Lib/python33/sublime_plugin.py", line 1494, in run_
return self.run(edit)
File "/home/ian/.config/sublime-text/Installed Packages/OrgExtended.sublime-package/orgcheckbox.py", line 428, in run
File "/home/ian/.config/sublime-text/Installed Packages/OrgExtended.sublime-package/orgcheckbox.py", line 265, in toggle_checkbox
File "/home/ian/.config/sublime-text/Installed Packages/OrgExtended.sublime-package/orgcheckbox.py", line 203, in update_line
File "/home/ian/.config/sublime-text/Installed Packages/OrgExtended.sublime-package/orgcheckbox.py", line 184, in recalc_summary
AttributeError: 'OrgRootNode' object has no attribute 'properties'
Unable to open /home/ian/.config/sublime-text/Packages/Default/Default (Linux).sublime-keymap
Unable to open /home/ian/.config/sublime-text/Packages/User/Default (Linux).sublime-keymap

The function in question is called org_toggle_checkbox not orgmode_toggle_checkbox.
Change your keybinding to org_toggle_checkbox and it should work.

Note: Alt-o t should have still worked. That is the dwim toggle method.

The function in question is called org_toggle_checkbox not orgmode_toggle_checkbox.
Change your keybinding to org_toggle_checkbox and it should work.

This did it, thanks!
I'm not sure if it was me that messed up or not, as usually I just copy from existing key bindings :/


[Fix #1574] Don't auto-correct Hash.new into block braces

When {} would be interpreted as block braces we issue the offense report, but don't auto-correct.
Staying away from adding parentheses in autocorrect, since I'm not sure about the implications.

:+1:


Fix broken picker layout on small screens

@samtstern With the addition of the GitHub provider, the main auth picker layout looked really bad. This PR fixes that with ConstraintLayout. Yay!!! 😄 🚀 🎉
I also wrapped the auth buttons in a ScrollView so they are guaranteed to be usable.

Old
New

New layout edge cases

No logo
Minimum providers

@SUPERCILEX thank you for this!  I want to hold this until after 2.0, this is clearly an improvement but I am wondering if we can do even better (esp for the scrolling buttons part).  Once 2.0 goes out I will have some UX people take a look and we can put this into 2.1 (or whatever the next version is)

@samtstern yeah, it would be nice to have designers look at this (I don't know about you, but UX isn't my strong suit 😂).

@samtstern I know you said you wanted designers to take a look at this, but in the meantime I feel like any improvement is better than none... Especially since you can now have 5 providers with phone auth which looks like 💩 and is completely unusable in landscape mode.

@samtstern lol now that I'm trying to break the picker, I've found more 💩😂. If we enable accessibility settings to boost the text size, the following happens both with and without this PR:

I'll try to submit a PR fixing that at some point soon.

@samtstern Merged! 😄 Dunno if you read my previous comment, but this PR should really be merged to make the picker layout look nice when using all the providers. The screenshot with GitHub oauth is how it looks with phone auth since we now have 5 providers.

@samtstern gentle bump

@SUPERCILEX thanks for bumping this, will take a look soon.  Good candidate for 2.1.1.

@samtstern Merged! 😄
I also fixed the word wrapping while I was at it:

Old
New

Thanks for merging everything into this.  We will still need some follow up improvements (ScrollView is not ideal) but it's certainly better than what we have.
This is the worst I could do to it.  Nexus 4, split screen, landscape:

@samtstern Yeah, we need designers cuz I can't think of anything better than ScrollView 😢😆.
For your case, I think we can set a minWidth and wrap the buttons in a ScrollView (again 😢).


Custom VictoriaMetrics prometheus url support

Bug Report
What did you do?
I tried to set VictoriaMetrics select url as prometheus url.
Also isn't applied
[pd-server]
metric-storage = "http://vm-select.vm:8481/select/0/prometheus"

What did you expect to see?
http://vm-select.vm:8481/select/0/prometheus
What did you see instead?
http://vm-select.vm:8481
What version of TiDB Dashboard are you using (./tidb-dashboard --version)?
TiDB Dashboard Internal Version: 2<IP_ADDRESS>
TiDB Dashboard Build Git Hash: e8076b5c79ba
PD Version: v5.4.0

Thanks for the report! Considering that the Prometheus address is not only used by TiDB Dashboard, but other components like Metrics table in TiDB, we will have a discussion first about how to support the Victoriametrics cluster.


Chaos Experiments can not run using Litmus ChaosCenter v3.0.0

What happened: Want to run Chaos Experiment using Litmus ChaosCenter UI v3.0.0 but unable to run it due to plan with queued Status, which never changing.
It's Kind of deadlock situation which never getting back or any other Status changing.
What you expected to happen: Plan/Experiment to get Executed!!
Where can this issue be corrected? (optional)
Not aware of on fixing this but getting the error on my local machine using minikube
How to reproduce it (as minimally and precisely as possible): I am using Kali Linux using WSL2 on Windows 11 and minikube on top of that with docker driver, but it cannot be run.
Anything else we need to know?: However through CLI the experiment are running but not from Litmus ChaosCenter UI v3.0.0. also all the setup has been done.
Pls do let me know, if anybody has experienced the same. Although it seems a bug to me, which needed to be fixed!!

Update: these are the subscriber pod logs to track workflow stage of the experiment,
level=error msg="Error on processing request" error="error performing infra operation: Workflow.argoproj.io \"demo-pod-delete-1698390162553\" is invalid: metadata.labels: Invalid value: \"{{workflow.parameters.appNamespace}}_kube-proxy\": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')"
The Status is now changing to Pending after hardcoding the values, but it still stuck.

I am on same boat and have to manually apply the yaml by changing the value of metadata.labels.subject.

I am on same boat and have to manually apply the yaml by changing the value of metadata.labels.subject.

Hi @dwdraju ,
I already tried the same, but no response, the status changed from queued to Pending,

I removed the var reference and hardcoded them, also not getting any error in subscriber logs and workflow getting created, but its in deadlock pending state
I even tried to remove metadata.labels.subject but not working though

can you pls expand your answer to troubleshoot or perform experiment by modify yaml?

Sure. I downloaded the manifest yml file and just replaced {{workflow.parameters.appNamespace}} on subject label with some random string and applied the file with kubectl. The experiment executed as expected.
But have to do this for every experiment.

Hi Here,
Update:
I found this is a bug in Litmus ChaosCenter v3.0.0 which throws this issue, because:

It cannot parse {{workflow.parameters.appNamespace}} for subject in metadata
along with there are some field which dynamically cannot be parsed from probe config to main experiment config, and keeping those fields default leads to failure of experiments.
Some more these types of issues are there, varying for different experiments.

To Run this experiment successfully, I had to replace {{workflow.parameters.appNamespace}} on subject label with some random string and update appNamespaces inside arguements to targetNamespace, which by default set as kube-proxy even post updation from UI.

@here @litmuschaos Important!!
I would like to request to litmuschaos team to look for this Issue and update the solution for the same, because it behaving as failure entrypoint to perform any experiments!!

@neelanjan00 this seems to be a genuine bug, can you PTAL

I lost my time with the version 3.0 for quite some time and its frustrating the issue is still there and all the experiments are in queue

Hello,
I had the same issue as everyone
@rksubash  please find bellow my workaround
After some investigation, the issue seem related to the template part of litmus (as we can see in the PR of @dwdraju) .
I'm assuming you are trying to run a scenario  pod delete or cpu/memory hog from the template list.
Instead, you can try to start from a Blank canvas and add manually your experimentation.
it's working perfectly for me.
If that can help while waiting for the PR to merge.
Best Regards

Hi Team,
Same issue +1, it seems a lot of the new users be impacted by this.
Any one can help?
Thanks!

Seeing the same issue. Seems like this project doesn't have much support. This bug reported 8 months ago.

@juwatanabe @dvdklnr, did you try with the changes in this PR? https://github.com/litmuschaos/chaos-charts/pull/618

@juwatanabe @dvdklnr, did you try with the changes in this PR? litmuschaos/chaos-charts#618

Thank you, I manually edited the workflow and got through this particular stumbling block (now fighting the app's probe details)

@juwatanabe @dvdklnr, did you try with the changes in this PR? litmuschaos/chaos-charts#618

I ended up not using the templating function as a workaround. Overall seems like Litmus has major UI test gaps around basic functionality that are giving me pause for choosing it as a chaos framework. There are kernels of good things here, but the stability is not meeting a certain bar.

Hi folks thanks for reporting this issue. We're still looking into it.

How much longer are you looking into it? It's been a long time since this was reported!

this issue practically renders the experiments via GUI useless without manual changes. Any updates if this can be fixed?

Hi all,
https://github.com/litmuschaos/litmus/pull/4856  this PR fixes the issue now you can delete your queued experiments


Create TurnNDegreesAbsolute

We need a TurnNDegrees command for the robot.
Use of the gyro will be needed.

TurnNDegreesAbsolute is largely functional, if robot under/overshoots by > 4 degrees, sending the command again makes it go to the desired degree

Needs merged


Initial configuration

Hi, is this your personal configuration? It should not be merged into main if that is the case


Add support for rendering double-struck Q with \Q

I would like for \Q to render a double-struck "Q"

Just define your own macro:
{
    "\\Q": "\\mathbb{Q}"
}


How to deploy it on Vercel

@nitedani  any idea on how to deploy express-react example on vercel?

I never tried vercel before. I'll try to make it work and create a new example.

@nitedani thank you for your reply. What do you use to deploy it? Netlify?

https://github.com/vikejs/vike-node/tree/main/examples/express-react-vercel

@nitedani Thank you so much. I appreciate your quick reply and help.
Let me add my user auth logic to the server and see if it works fine with the Vike frontend.

@nitedani I am trying to pass the user auth info to the PageContext. Here is my code:
import express from 'express'
import vike from 'vike-node/connect'
import cookieParser from 'cookie-parser'

const { auth } = require('express-openid-connect');

export default startServer()

function autho(app) {
  const config = {
    authRequired: false,
    auth0Logout: true,
    issuerBaseURL: 'https://dev-xxnyc.us.auth0.com',
    clientID: 'HHxxxxxO',
    secret: 'Kp6xxxxxxxS2',
    baseURL: 'https://viked.vercel.app/'
  };
  app.use(cookieParser())
  app.use(express.json()) // Parse & make HTTP request body available at `req.body`
  app.use(
    auth(config)
  );
  app.use(function (req, res, next) {
    req.user = req.oidc.user;
    next();
  });
}

function startServer() {
  const app = express()
  autho(app)
  app.use(vike())
  const port = process.env.PORT || 3000
  app.listen(port, () => console.log(`Server running at http://localhost:${port}`))
  return app
}

But the user info is not yet passed to the PageContext. Any idea how to do this?
Here is a code that works but I cannot find a way to deploy it to Vercel:
import express from 'express'
import { renderPage } from 'vike/server'
import { root } from './root.js'
import cookieParser from 'cookie-parser'
import { getUser, checkCredentials } from './users.js'
const { auth } = require('express-openid-connect');

const isProduction = process.env.NODE_ENV === 'production'
const port = process.env.PORT || 3000

startServer()

async function startServer() {
  const app = express()
  autho(app)
  await assets(app)
  vike(app)
  app.listen(port)
  console.log(`Server running at http://localhost:${port}`)
}

function autho(app) {
  const config = {
    authRequired: false,
    auth0Logout: true,
    issuerBaseURL: 'https://dev-0xxxnyc.us.auth0.com',
    clientID: 'HHxxxxO',
    secret: 'Kp6xxxxxS2',
    baseURL: 'https://directbooking.netlify.app/'
  };
  app.use(cookieParser())
  app.use(express.json()) // Parse & make HTTP request body available at `req.body`
  app.use(
    auth(config)
  );
  app.use(function (req, res, next) {
    req.user = req.oidc.user;
    next();
  });
}

async function assets(app) {
  if (isProduction) {
    app.use(express.static(`${root}/dist/client`))
  } else {
    const vite = await import('vite')
    const viteDevMiddleware = (
      await vite.createServer({
        root,
        server: { middlewareMode: true }
      })
    ).middlewares
    app.use(viteDevMiddleware)
  }
}

function vike(app) {
  app.get('*', async (req, res, next) => {
    console.log("--=====--")
    const pageContextInit = {
      urlOriginal: req.originalUrl,
      headersOriginal: req.headers,
      user: req.user,
      userFullName: req.user?.fullName
    }
    const pageContext = await renderPage(pageContextInit)
    const { httpResponse } = pageContext
    if (!httpResponse) {
      return next()
    } else {
      const { statusCode, headers, earlyHints } = httpResponse
      if (res.writeEarlyHints) res.writeEarlyHints({ link: earlyHints.map((e) => e.earlyHintLink) })
      headers.forEach(([name, value]) => res.setHeader(name, value))
      res.status(statusCode)
      httpResponse.pipe(res)
    }
  })
}

@bitcoinvsalts Have you try this custom-pagecontext ?

I found the solution to my deployment issue!
If I use prerender: true in the vite config file like this, it wont process the destination API correctly while using auth
plugins: [
vike({
prerender: true,
}),
//mdx(),
react()
],
It works fine if I set prerender to false.
Big thanks to @nitedani  for your help.

I'm glad you managed to achieve what you want. Btw. would your company be up for sponsoring (vikejs/vike#1350)?

@brillout sorry I don't have a company, I am looking for a job as a Full Stack dev if anyone is looking for one.


Fixed incorrect language references

Using two other setting page as references (below). Noticed this issue in the demo.

https://github.com/Laralum/Customization/blob/master/src/Views/settings.blade.php#L59
https://github.com/Laralum/Forum/blob/master/src/Views/settings.blade.php#L50

Mate, i was going to do it now, thanks!


Mark keyboard green only after finding ALL occurrences of letter

https://github.com/octokatherine/word-master/issues/71

Alternative approach would be to implement the same logic as updateCellStatuses , eg
const answerLetters = answer.split('');  // ... // answerLetters.splice(i, 1);

https://github.com/octokatherine/word-master/issues/71#issuecomment-1014798460


OLS-363: Fix: don't pass wrong parameters to OpenAI and AzureOpenAI providers

Description
Fix: now pass wrong parameters to OpenAI and AzureOpenAI providers
Type of change

[ ] Refactor
[ ] New feature
[x] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue #OLS-363
Closes #

Codecov Report
Attention: Patch coverage is 80.00000% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 73.81%. Comparing base (db11034) to head (0c3a9ea).
Report is 6 commits behind head on main.

Additional details and impacted files

@@             Coverage Diff             @@
##             main     #656       +/-   ##
===========================================
- Coverage   96.39%   73.81%   -22.59%
===========================================
  Files          53       53
  Lines        1830     1833        +3
===========================================
- Hits         1764     1353      -411
- Misses         66      480      +414

Files
Coverage Δ

ols/src/query_helpers/question_validator.py
71.87% <80.00%> (-28.13%)
:arrow_down:

... and 25 files with indirect coverage changes


Hotfix/insertions

Fixes #173.

Codecov Report

Merging #174 (727f046) into master (8123f42) will increase coverage by 8.69%.
The diff coverage is 56.15%.

@@            Coverage Diff             @@
##           master     #174      +/-   ##
==========================================
+ Coverage   40.27%   48.96%   +8.69%
==========================================
  Files          48       74      +26
  Lines        2811     4254    +1443
==========================================
+ Hits         1132     2083     +951
- Misses       1679     2171     +492

Impacted Files
Coverage Δ

graphein/grn/parse_trrust.py
37.77% <ø> (ø)

graphein/ml/diffusion.py
0.00% <0.00%> (ø)

graphein/ppi/edges.py
100.00% <ø> (ø)

graphein/ppi/graph_metadata.py
0.00% <ø> (ø)

graphein/ppi/graphs.py
54.34% <ø> (ø)

graphein/ppi/parse_biogrid.py
75.00% <ø> (ø)

graphein/ppi/visualisation.py
0.00% <0.00%> (ø)

graphein/protein/analysis.py
0.00% <0.00%> (ø)

graphein/protein/features/sequence/sequence.py
71.42% <0.00%> (+2.67%)
:arrow_up:

graphein/protein/features/sequence/utils.py
28.00% <0.00%> (+3.00%)
:arrow_up:

... and 59 more

Continue to review full report at Codecov.

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


fix(Checkbox): Fix checkbox design bugs

Status :
Ready

Description :
Checkbox design update and bug fix

Related Issues :
#287
Todos

[x] Tests
[x] Documentation

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


optimization debian package manager tweaks

By default, Ubuntu or Debian based "apt" or "apt-get" system installs recommended but not suggested packages .
By passing "--no-install-recommends" option, the user lets apt-get know not to consider recommended packages as a dependency to install.
This results in smaller downloads and installation of packages .
Refer to blog at Ubuntu Blog .
Signed-off-by: Pratik Raj<EMAIL_ADDRESS>Description of the Change
FIXME: please add at least one sentence explaining why changes here are being made.

Please don't make modifications directly to files under vendor/

Please don't make modifications directly to files under vendor/

Please don't make modifications directly to files under vendor/

done as requested

It looks like the tini submodule hash changed. @Rajpratik71 is that expected?

@solarkennedy  closing this one and created a fresh pull at #443


Publish Email Tutorial Problem

URL: /tutorials/email-web/it-works.html Hi there i am trying to send the email, and it doesn't work.

Hey @doriel! Could you push your project to a GitHub repo (if you haven't already) and send it over to me here. I'd love to look over it so we can get you sending emails ASAP! 😉

@jonnilundy just did it (https://github.com/doriel/test-wedeploy-email)

Thanks @doriel! Looks like you need to add your master token here.
Directly for how to do this will be near the bottom of this page under Add Master Token.
Let me know if you have any questions!

@jonnilundy i just added the Master Token but it still does not work...

Okay. Are there any errors in the console when you try to send an email?

@jonnilundy I don't know how but it's just working so thank you "Very Much"....

@doriel, Helping make sure WeDeploy is working well for you is never a waste of time!! :) Glad to help. Don't hesitate to reach out if anything else goes wrong. If you want to ping me personally with questions or just see other conversations that are happening about WeDeploy, check out our Slack Channel. 🎉


feat(i18n): document new i18n logic

Description (required)
This PR documents i18n.routing.fallbackType, a new feature that will change how the fallback works.
For Astro version: 4.15.0. See astro PR #11677

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

en
guides/internationalization.mdx
Source changed, localizations will be marked as outdated.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Thank you @sarah11918 , I approve your new edits!

Noting that the link check should pass once the new config reference docs have been pulled in!

!coauthor


Update Loader

Should accept the same parameters, the only thing is that them should be initialized by default on the Loader component. Not only hardcode them directly.


Add my profile picture to docs/images/kanjitp.png

Codecov Report

Merging #6 (2f79b21) into master (9ddc814) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #6   +/-   ##
=========================================
  Coverage     70.96%   70.96%
  Complexity      429      429
=========================================
  Files            73       73
  Lines          1326     1326
  Branches        146      146
=========================================
  Hits            941      941
  Misses          344      344
  Partials         41       41

Impacted Files
Coverage Δ

...java/seedu/address/model/particpant/BirthDate.java
80.95% <ø> (ø)

...va/seedu/address/model/particpant/Participant.java
42.59% <ø> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
18.75% <ø> (ø)

Continue to review full report at Codecov.

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


Peer dependency on React 15

React 16 users will be getting this warning in the console.
<EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>
Is there any reason that react-masonry-css needs React 15, or could this be updated now that React is at v16.3.2?

Thanks for bringing it to my attention jack, no reason for us not to bump
to 16. I'll update that when I can unless you'd like to which would be most
appreciated!
On Mon, Apr 16, 2018 at 11:44 PM Jack Lo Russo<EMAIL_ADDRESS>wrote:

React 16 users will be getting this warning in the console.
<EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>Is there any reason that react-masonry-css needs React 15, or could this
be updated now that React is at v16.3.2?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/paulcollett/react-masonry-css/issues/16, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AB0Qhijcdd_X1eNCDYh_UE8qPy9E7Xaqks5tpY9dgaJpZM4TXuKc
.


Compatibility with Farmer's Delight Refabricated

The Farmer's Delight mod used by this mod has been depricated. Please add support for the new mod, Farmer's Delight Refabricated.

Farmer's Delight Refabricated supports JEI by default, therefore I will stop updating this mod and will support Farmer's Delight Refabricated.


DevFestNantes - Opening, break and lunch sessions should not specify a room

Opening, break and lunch sessions currently specify the room Belem but they should not indicate any room.

cc @martinbonnin 🎁🙂

Assume some updates in back end data needed for this initially.....but I can update UI then I guess in case we still try to show some text there for those slots.

Yes Session used to have only the room attribute which probably forced @martinbonnin to provide a default value. But Session's room has since been deprecated and replaced by rooms:[Room] which is more flexible and can be empty.

Btw many thanks for sharing Confetti's backend ! We're very grateful to you guys for the help provided to the DevFest Nantes!

So that's an interesting question... At the moment, I believe breaks indicate all the rooms they apply to:
    {
          "id": "day-1-pause-1",
          "startInstant": "2022-10-20T07:40:00Z",
          "endInstant": "2022-10-20T08:00:00Z",
          "title": "Break",
          "language": "fr-FR",
          "tags": [],
          "rooms": [
            {
              "id": "Belem"
            },
            {
              "id": "Hangar"
            },
            {
              "id": "Jules Verne"
            },
            {
              "id": "L'Atelier"
            },
            {
              "id": "Les Machines"
            },
            {
              "id": "Titan"
            },
            {
              "id": "Tour de Bretagne"
            }
          ],

This is because not all sessions are the same duration and longer workshop do not have the same breaks as regular sessions. Having this information allows a 2D-matrix UI (like on web) to only display the breaks where they actually happen. Now I agree that when using a 1D-linear UI (like on mobile), it doesn't really make sense. So not sure what the best fix is. I would like going forward to support 2D UI moving forward. The more I'm thinking about this, the more I believe we either:

need different "views" fields for the same underlying data
or do this on the client (but that'd duplicate some logic)
not support 2D UI for the Devfest Nantes and remove all rooms

My preferred solution would be 1. but I'm not super keen on changing this 2weeks from the event (+ taking into consideration Google Play review times, etc...) so I'll remove the rooms from the backend for this specific event. For other events, I'll work on adding new "views" for more use cases 🚀
PS: I'm always amazed how difficult the problem of displaying an agenda is 😅 . That could be a talk in itself lol.

Rooms are removed

@martinbonnin thanks for the quick fix. This is actually a very interesting issue and I hadn't thought of all the subtleties 🤔. Let's keep that in mind for future events. Surely there is something smart to do.


airgeddon: 11.11 -> 11.20

Diff: https://github.com/v1s1t0r1sh3r3/airgeddon/compare/refs/tags/v11.11...v11.20
Changelog: https://github.com/v1s1t0r1sh3r3/airgeddon/blob/v11.20/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

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

1 package built:

airgeddon

I recall that when I tested said bumps, things were broken at runtime: https://github.com/NixOS/nixpkgs/pull/236987#pullrequestreview-1479571092

At first it looks good then...
/nix/store/x7xi3khbccjkhdjyl2mg84grnrhmpswm-airgeddon-11.20/bin/.airgeddon-wrapped: line 14248: language_strings: command not found

Duplicate of #236987


Build error with Xcode 13,  iOS 15 SDK

…/RestoredState.swift:68:105: error: value of optional type 'CBPeripheral?' must be unwrapped to a value of type 'CBPeripheral'
peripheral: RxCBPeripheral(peripheral: $0.service.peripheral)),
^
…/MultiplatformBleAdapter/iOS/RxBluetoothKit/RxCBCharacteristic.swift:59:52: error: value of optional type 'CBService?' must be unwrapped to a value of type 'CBService'
return RxCBService(service: characteristic.service)
^                                                      peripheral: RxCBPeripheral(peripheral: $0.service.peripheral)),
…/RxCBDescriptor.swift:43:62: error: value of optional type 'CBCharacteristic?' must be unwrapped to a value of type 'CBCharacteristic'
return RxCBCharacteristic(characteristic: descriptor.characteristic)
^
Please update MultiPlatformBleAdapter to '0.1.9' version.

any news ? we should need a version compatible with ios 13!

Try this: https://github.com/dotintent/MultiPlatformBleAdapter/issues/79#issuecomment-945158358

it appears that there is a fork of this project explicitly for supporting iOS 15 at https://github.com/davejlin/flutter_ble_lib_ios_15


Added functional unit test suite to the project.

Included nunit plus nsubstitute for mocking as well as a microsoft sdk that was needed for the tests to run.
Also configured the .csproj file so the build will run(the microsoft sdk made the program break).

Would it be possible to add a single minimal test case to make sure that the testing actually works? (it doesn't have to do anything useful, just exist as a runnable test case)


ashuffle: 3.13.6 -> 3.14.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/joshkunz/ashuffle/releases.
meta.description for ashuffle is: Automatic library-wide shuffle for mpd
meta.homepage for ashuffle is: https://github.com/joshkunz/ashuffle
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.14.1 with grep in /nix/store/3kq49vxbavxc81jnzcyvc04g5k0gap9f-ashuffle-3.14.1
found 3.14.1 in filename of file in /nix/store/3kq49vxbavxc81jnzcyvc04g5k0gap9f-ashuffle-3.14.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ashuffle

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/3kq49vxbavxc81jnzcyvc04g5k0gap9f-ashuffle-3.14.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ashuffle https://github.com/r-ryantm/nixpkgs/archive/14107f65cb196585811953928dd5ce19ce83e3d2.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/3kq49vxbavxc81jnzcyvc04g5k0gap9f-ashuffle-3.14.1
ls -la /nix/store/3kq49vxbavxc81jnzcyvc04g5k0gap9f-ashuffle-3.14.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

ashuffle

Maintainer pings
cc @tcbravo for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/ashuffle/versions.
meta.description for ashuffle is: Automatic library-wide shuffle for mpd
meta.homepage for ashuffle is: https://github.com/joshkunz/ashuffle
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.14.3 with grep in /nix/store/m3jppj4nmx7g15zk2rxdgw9lmiznbprw-ashuffle-3.14.3
found 3.14.3 in filename of file in /nix/store/m3jppj4nmx7g15zk2rxdgw9lmiznbprw-ashuffle-3.14.3

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ashuffle

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/m3jppj4nmx7g15zk2rxdgw9lmiznbprw-ashuffle-3.14.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ashuffle https://github.com/r-ryantm/nixpkgs/archive/01db5b36977b092ec2716a4f8701d70dd7b5ef18.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/01db5b36977b092ec2716a4f8701d70dd7b5ef18#ashuffle

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/m3jppj4nmx7g15zk2rxdgw9lmiznbprw-ashuffle-3.14.3
ls -la /nix/store/m3jppj4nmx7g15zk2rxdgw9lmiznbprw-ashuffle-3.14.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

ashuffle

Maintainer pings
cc @tcbravo for testing.

@wegank, why is this PR marked as a draft? The current version of ashuffle (3.13.6) no longer builds on the latest nixpkgs. Getting this merged would fix https://github.com/NixOS/nixpkgs/issues/281205.

This PR breaks ashuffle on darwin according to ofborg. I'll try to make a fix, but that's usually the duty of the maintainer.


Abstract out input from interpreter reader.

This is in preparation of allowing non-paged streams as intermediate streams.
Note: Still need to fix up the Interpreter class to better understand this.

Closing... Hangs Travis.


[Bug]: Stage 5 - emcee claims no space on device

FAQ check

[X] Yes, I checked the FAQ and my question has not been addressed.

Instrument
Light curve fitting (Stages 4-6)
What happened?
During stage 5 light curve fitting I suddenly start getting warnings about "No space left on device". Output files keep being written, but eventually Eureka! crashes. A df when the warnings started appearing and after the crash show 5 GB still available. Rebooting and trying again with nothing running but iterm and Eureka! produced the same results.
(base) dlong@hikaru ~ % df -h
Filesystem        Size    Used   Avail Capacity iused ifree %iused  Mounted on
/dev/disk3s8s1   926Gi   9.6Gi   499Gi     2%    404k  4.3G    0%   /
devfs            204Ki   204Ki     0Bi   100%     704     0  100%   /dev
/dev/disk3s6     926Gi    20Ki   499Gi     1%       0  5.2G    0%   /System/Volumes/VM
/dev/disk3s2     926Gi   5.7Gi   499Gi     2%    1.1k  5.2G    0%   /System/Volumes/Preboot
/dev/disk3s4     926Gi    33Mi   499Gi     1%      52  5.2G    0%   /System/Volumes/Update
/dev/disk1s2     500Mi   6.0Mi   480Mi     2%       1  4.9M    0%   /System/Volumes/xarts
/dev/disk1s1     500Mi   6.2Mi   480Mi     2%      38  4.9M    0%   /System/Volumes/iSCPreboot
/dev/disk1s3     500Mi   2.6Mi   480Mi     1%      65  4.9M    0%   /System/Volumes/Hardware
/dev/disk3s7     926Gi   409Gi   499Gi    46%    2.8M  5.2G    0%   /System/Volumes/Data
map auto_user      0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/user
map auto_grp       0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/grp
map auto_eng       0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/eng
map auto_astro     0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/astro
map auto_smov      0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/smov
map auto_itar      0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/itar
map auto_opo       0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/opo
map auto_ifs       0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/ifs
map -hosts         0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/net
map -fstab         0Bi     0Bi     0Bi   100%       0     0     -   /System/Volumes/Data/Network/Servers
/dev/disk5s1     8.3Gi   7.5Gi   785Mi    91%    498k  8.0M    6%   /Library/Developer/CoreSimulator/Volumes/iOS_21A328
Error traceback output
Starting Channel 350 of 404
Using the following limb-darkening values:
u1, 0.01491
u2, 0.33573
Starting lsq fit.
Starting lnprob: 26136.456589553723
Verbose lsq results:  message: Optimization terminated successfully.
success: True
status: 0
fun: -26155.560047693227
x: [ 7.094e-02  1.001e+00 -7.527e-03  1.673e+00]
nit: 3
direc: [[-1.771e-06 -3.173e-08 -5.010e-06  1.002e-04]
[ 0.000e+00  1.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  1.000e+00  0.000e+00]
[-1.150e-04 -3.369e-06  3.307e-06  7.158e-06]]
nfev: 242
Ending lnprob: 26155.560047693227
Reduced Chi-squared: 1.0004234099706157
LSQ RESULTS:
rp: 0.07094120771021362
c0: 1.0007051216925538
c1: -0.007527434806878129
scatter_mult: 1.6731104061258302; 18254.437606737927 ppm
Completed lsq fit.
Starting emcee fit.
Calling lsqfitter first...
Starting lnprob: 26155.560047693227
Verbose lsq results:  message: Optimization terminated successfully.
success: True
status: 0
fun: -26155.560048462972
x: [ 7.094e-02  1.001e+00 -7.528e-03  1.673e+00]
nit: 1
direc: [[ 1.000e+00  0.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  1.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  1.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  0.000e+00  1.000e+00]]
nfev: 86
Ending lnprob: 26155.560048462972
Reduced Chi-squared: 1.00044068559413
LSQ RESULTS:
rp: 0.07094113435609314
c0: 1.0007051203847181
c1: -0.007528052510373406
scatter_mult: 1.6730959527324523; 18254.27991327869 ppm
No covariance matrix from LSQ - falling back on a step size based on the prior range
Starting lnprob: 26147.46478885448
Running emcee burn-in...
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [01:25<00:00, 11.64it/s]
Finished writing to /Users/dlong/DataAnalysis/JWST/eureka/t1e/Obs1/Stage5/S5_2024-07-05_t1e_1_run1/ap6_bg7/S5_emcee_samples_ch350.h5
Ending lnprob: 26155.557328363113
Mean acceptance fraction: 0.589
WARNING: Unable to estimate the autocorrelation time!
Reduced Chi-squared: 0.9994609874144257
EMCEE RESULTS:
rp: 0.07085879760611365 (+0.003143424333129863, -0.003207106231522261)
c0: 1.000701829058928 (+0.00019900400159378329, -0.0001991177648885678)
c1: -0.007571432401672989 (+0.003521721988803187, -0.003461048022101245)
scatter_mult: 1.673546576173572 (+0.011520066567790366, -0.01181628463152995); 18263.21927057678 (+125.7171474846215, -128.94974078498308) ppm
Completed emcee fit.
=========================
Saving results
Starting Channel 351 of 404
Using the following limb-darkening values:
u1, 0.01317
u2, 0.33619
Starting lsq fit.
Starting lnprob: 26177.26291360858
Verbose lsq results:  message: Optimization terminated successfully.
success: True
status: 0
fun: -26206.535065420358
x: [ 7.242e-02  1.001e+00 -5.765e-03  1.585e+00]
nit: 3
direc: [[ 0.000e+00  0.000e+00  0.000e+00  1.000e+00]
[ 0.000e+00  1.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  1.000e+00  0.000e+00]
[ 9.276e-05  2.752e-06 -6.356e-06 -4.232e-07]]
nfev: 212
Ending lnprob: 26206.535065420358
Reduced Chi-squared: 1.0004246838602204
LSQ RESULTS:
rp: 0.07242152397961654
c0: 1.000747613527901
c1: -0.005765288173828141
scatter_mult: 1.5846895855066212; 18164.215055027624 ppm
Completed lsq fit.
Starting emcee fit.
Calling lsqfitter first...
Starting lnprob: 26206.535065420358
Verbose lsq results:  message: Optimization terminated successfully.
success: True
status: 0
fun: -26206.535065439504
x: [ 7.242e-02  1.001e+00 -5.765e-03  1.585e+00]
nit: 1
direc: [[ 1.000e+00  0.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  1.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  1.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  0.000e+00  1.000e+00]]
nfev: 110
Ending lnprob: 26206.535065439504
Reduced Chi-squared: 1.0004244419179735
LSQ RESULTS:
rp: 0.0724215507495267
c0: 1.0007476148752652
c1: -0.005764611080186319
scatter_mult: 1.5846897832309546; 18164.217321406693 ppm
No covariance matrix from LSQ - falling back on a step size based on the prior range
Starting lnprob: 26203.652051605644
Traceback (most recent call last):
File "/Users/dlong/DataAnalysis/JWST/eureka/t1e/Obs1/run_eureka_1.py", line 28, in
s5_meta = s5.fitlc(eventlabel, ecf_path=ecf_path)
File "/Users/dlong/Eureka/src/eureka/S5_lightcurve_fitting/s5_fit.py", line 482, in fitlc
meta, params = fit_channel(meta, time_temp, flux, channel,
File "/Users/dlong/Eureka/src/eureka/S5_lightcurve_fitting/s5_fit.py", line 990, in fit_channel
lc_model.fit(model, meta, log, fitter='emcee')
File "/Users/dlong/Eureka/src/eureka/S5_lightcurve_fitting/lightcurve.py", line 173, in fit
fit_model = self.fitter_func(self, model, meta, log, **kwargs)
File "/Users/dlong/Eureka/src/eureka/S5_lightcurve_fitting/fitters.py", line 330, in emceefitter
pool = Pool(meta.ncpu)
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/context.py", line 119, in Pool
return Pool(processes, initializer, initargs, maxtasksperchild,
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/pool.py", line 196, in init
self._change_notifier = self._ctx.SimpleQueue()
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/context.py", line 113, in SimpleQueue
return SimpleQueue(ctx=self.get_context())
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/queues.py", line 341, in init
self._rlock = ctx.Lock()
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/context.py", line 68, in Lock
return Lock(ctx=self.get_context())
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/synchronize.py", line 162, in init
SemLock.init(self, SEMAPHORE, 1, 1, ctx=ctx)
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/synchronize.py", line 57, in init
sl = self._semlock = _multiprocessing.SemLock(
OSError: [Errno 28] No space left on device
(eureka) dlong@hikaru Obs1 % /Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 9980 leaked semaphore objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '
What operating system are you using?
MacOS Sonoma 14.5
What version of Python are you running?
 I got essentially the same error:
Starting Channel 268 of 393
Using the following limb-darkening values:
u1, -0.02927
u2, 0.44406
Starting lsq fit.
Starting lnprob: -1008930.39282718
Verbose lsq results:  message: Optimization terminated successfully.
success: True
status: 0
fun: 1008688.5593286802
x: [ 7.406e-02  1.001e+00 -3.425e-03  1.033e+03]
nit: 3
direc: [[ 0.000e+00  0.000e+00  0.000e+00  1.000e+00]
[ 0.000e+00  1.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  1.000e+00  0.000e+00]
[ 1.142e-04  3.668e-06  1.323e-05 -6.143e-04]]
nfev: 180
Ending lnprob: -1008688.5593286802
Reduced Chi-squared:<PHONE_NUMBER>6001802
LSQ RESULTS:
rp: 0.07405848004589306
c0: 1.0011990524216912
c1: -0.0034245462251475587
scatter_ppm: 1033.2616961306856
Completed lsq fit.
Starting emcee fit.
Calling lsqfitter first...
Starting lnprob: -1008688.5593286802
Verbose lsq results:  message: Optimization terminated successfully.
success: True
status: 0
fun: 1008688.5593286802
x: [ 7.406e-02  1.001e+00 -3.425e-03  1.033e+03]
nit: 1
direc: [[ 1.000e+00  0.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  1.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  1.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  0.000e+00  1.000e+00]]
nfev: 84
Ending lnprob: -1008688.5593286802
Reduced Chi-squared:<PHONE_NUMBER>6001869
LSQ RESULTS:
rp: 0.07405848004589306
c0: 1.0011990524316912
c1: -0.0034245461265187587
scatter_ppm: 1033.2616961306856
No covariance matrix from LSQ - falling back on a step size based on the prior range
Starting lnprob: -1016523.8337508459
Traceback (most recent call last):
File "/System/Volumes/Data/astro/jtste/doug/JWST/eureka/t1e/Obs2/run_eureka_2.py", line 31, in
s5_meta = s5.fitlc(eventlabel, ecf_path=ecf_path)
File "/Users/dlong/Eureka/src/eureka/S5_lightcurve_fitting/s5_fit.py", line 482, in fitlc
meta, params = fit_channel(meta, time_temp, flux, channel,
File "/Users/dlong/Eureka/src/eureka/S5_lightcurve_fitting/s5_fit.py", line 990, in fit_channel
lc_model.fit(model, meta, log, fitter='emcee')
File "/Users/dlong/Eureka/src/eureka/S5_lightcurve_fitting/lightcurve.py", line 173, in fit
fit_model = self.fitter_func(self, model, meta, log, **kwargs)
File "/Users/dlong/Eureka/src/eureka/S5_lightcurve_fitting/fitters.py", line 330, in emceefitter
pool = Pool(meta.ncpu)
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/context.py", line 119, in Pool
return Pool(processes, initializer, initargs, maxtasksperchild,
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/pool.py", line 196, in init
self._change_notifier = self._ctx.SimpleQueue()
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/context.py", line 113, in SimpleQueue
return SimpleQueue(ctx=self.get_context())
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/queues.py", line 341, in init
self._rlock = ctx.Lock()
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/context.py", line 68, in Lock
return Lock(ctx=self.get_context())
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/synchronize.py", line 162, in init
SemLock.init(self, SEMAPHORE, 1, 1, ctx=ctx)
File "/Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/synchronize.py", line 57, in init
sl = self._semlock = _multiprocessing.SemLock(
OSError: [Errno 28] No space left on device
(eureka) dlong@hikaru Obs2 % /Users/dlong/miniconda3/envs/eureka/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 9980 leaked semaphore objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '

Try turning off multiprocessing and rerunning the code. It may be crashing within that part of the code and we wouldn't know because of how multiprocessing works.

Makes sense. I'll give that a try.

@Witchblade101, my first recommendation was going to be that you consider deleting any ...FluxData.h5 save files output during your Stage 3 analyses; these files can sometimes be helpful when trying to debug your analyses or to compare your analyses against other pipelines, but they are quite large and can rapidly eat up your storage space. In the next (upcoming) Eureka! version release, we've set those FluxData files to not be created by default. There are many command-line options that you can use to search for and delete any existing ...FluxData.h5 save files, and in your Stage 3 ECF you can also set save_fluxdata to False to avoid future such files being made.
Second, there is nothing that we can do on our end to resolve this No space left on device error raised by your operating system. While there may be ~5 GB available on your system this is generally insufficient for many of the important tasks of your operating system and applications. In addition, when performing tasks that require more RAM than your computer physically has, the operating system will sometimes store that RAM data on your drive which is called "swap" memory. I strongly recommend you delete un-needed files or move them to an external hard drive or cloud storage. However, looking at your df -h output, it looks to me like you actually have ~500 GB free and not just ~5 GB; if that is the case, then this is a very strange error indeed. As for your more recent attempt with the network disk, this error could potentially still arise if you really did have just ~5GB available locally regardless of where you were saving the outputs; 5 GB of storage just isn't enough breathing room for most OSes.
It is very unusal to me that in Stage 5 you're getting all those CRDS - WARNING -  Failed creating CRDS cache lock: [Errno 28] No space left on device messages. CRDS is only relevant for Stages 1-3, but its possible that with the multiprocessing turned on each spawned process has to re-import Eureka! and as a result tries to import the CRDS package and gets that cache lock error. I agree with Kevin that setting ncpu to 1 is the best way to troubleshoot this - troubleshooting with multiprocessing turned on is basically impossible because of how that package works. Once you have something that works, then you can try turning multiprocessing back on.
Finally, my last note would be that it appears your fits from your most recent message using lsq are exceptionally poor - you're getting deeply negative log-likelihoods and reduced chi-squared values that are nowhere near 1.0. This is highly unlikely to be the cause of the No space left on device error, but it is something that requires thorough investigation before you continue working on those fits. I strongly recommend investigating the quality of all fits using the lsq fitter to make sure you can get reasonable fits to your lightcurves before you move on to running the far more time-intensive (and storage consuming) emcee or dynesty samplers.

It looks like it is something related to multiprocessing. After switching ncpu to 1 I got no more CRDS warnings or crashes due to lack of available disk space.
Starting Channel 392 of 393
Using the following limb-darkening values:
u1, 0.03088
u2, 0.29295
Starting lsq fit.
Starting lnprob: 25306.134211625274
Verbose lsq results:  message: Optimization terminated successfully.
success: True
status: 0
fun: -25311.01601500675
x: [ 6.993e-02  1.001e+00  1.067e-03  1.567e+00]
nit: 2
direc: [[ 1.000e+00  0.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  1.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  1.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  0.000e+00  1.000e+00]]
nfev: 94
Ending lnprob: 25311.01601500675
Reduced Chi-squared: 1.000409751911406
LSQ RESULTS:
rp: 0.06992821433380171
c0: 1.0006942978011697
c1: 0.0010671513801134036
scatter_mult: 1.5666936233970443; 21259.428896367146 ppm
Completed lsq fit.
Starting emcee fit.
Calling lsqfitter first...
Starting lnprob: 25311.01601500675
Verbose lsq results:  message: Optimization terminated successfully.
success: True
status: 0
fun: -25311.016952630034
x: [ 6.980e-02  1.001e+00  1.056e-03  1.567e+00]
nit: 1
direc: [[ 1.000e+00  0.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  1.000e+00  0.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  1.000e+00  0.000e+00]
[ 0.000e+00  0.000e+00  0.000e+00  1.000e+00]]
nfev: 62
Ending lnprob: 25311.016952630034
Reduced Chi-squared: 1.0004097205368443
LSQ RESULTS:
rp: 0.06980393030064233
c0: 1.0006905172597063
c1: 0.0010556368532090882
scatter_mult: 1.5666935237694661; 21259.427544459293 ppm
No covariance matrix from LSQ - falling back on a step size based on the prior range
Starting lnprob: 25289.035883316206
Running emcee burn-in...
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [00:43<00:00, 23.09it/s]
Finished writing to /Users/dlong/DataAnalysis/JWST/eureka/t1e/Obs2/Stage5/S5_2024-07-08_t1e_2_run2/ap6_bg7/S5_emcee_samples_ch392.h5
Ending lnprob: 25311.001227579614
Mean acceptance fraction: 0.591
WARNING: Unable to estimate the autocorrelation time!
Reduced Chi-squared: 0.9983547591005765
EMCEE RESULTS:
rp: 0.0694942999224945 (+0.0037493809183321986, -0.003776110785145406)
c0: 1.000690491270263 (+0.00023669803976011927, -0.00024450649265395086)
c1: 0.0008652933562115306 (+0.003972529621944243, -0.0039819843810715745)
scatter_mult: 1.5683060739344559 (+0.010369781942364265, -0.010505495954588273); 21281.30922895871 (+140.71394597018502, -142.55553283185938) ppm
Completed emcee fit.
=========================
Saving results
Total time (min): 315.01

Well I'm glad you were able to get that analysis to complete! After doing some searching online (StackExchange, StackOverflow, Reddit, etc.), it seems clear to me that there is no issue on our end but rather an issue with your system (with a full temporary directory, filenames that are too long, etc.). Since there's nothing we can do, I'm going to close this issue and I recommend you check some of the online forums I mentioned above for solutions that might work in your situation and/or post a question on such a forum if you cannot find an already published solution.


Update ion token

Summary
This PR updates the default Ion token as it has expired.

Author checklist

Tutorial for N/A
Has the new tutorial been integrated into the main level? N/A
Has a new section of the readme been added for this tutorial? N/A
Have you done a full self-review of the code and blueprints? Yes
Have you tagged a primary reviewer? Yes
Are there any remaining tasks to do or blocking questions to answer before we can merge this? No

Testing plan

Reminders for reviewers
Thank you for taking the time to review this PR. By approving a PR you are taking as much responsibility for these changes as the author. Please keep these points in mind throughout the review process:

Review and run all parts of the test plan on this branch and verify it matches expectations.
Review the code and make sure you do not have any remaining questions or concerns. You should understand why this code change fixes the issue and agree that it's the best approach to doing so.
Review the automated tests and make sure there are no missing tests or edge cases.
When you feel this is ready bump it to a second reviewer or merge.

Looks good to me, thanks @CesiumBen !


Added context to endpoint specific type extension.

Closes #139
📑 Description
Added context to the Endpoint specific type extension

✅ Checks

[X] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[X] All the tests have passed
[X] I have selected a committee co-chair to review the PR

ℹ Additional Information

I didn't notice that you had context on the other extensions.

I assume we will review these in committee before merge.


when i run prep_filter-maxdiff-trace.py,i get up with this problem,could you tell me how to solve it

the pcap  file i used is https://github.com/netplier-tool/NetPlier/blob/master/data/smb2_100.pcap

When I call the named script with your , it gives me the following detailed output before raising the exception:
nemesys$ python src/prep_filter-maxdiff-trace.py input/smb2_100.pcap
Loading input/smb2_100.pcap
Segmentation by inflections of sigma-1.2-gauss-filtered bit-variance.
Refine segmentation (zero-slices refinements)...
Refine segmentation (base refinements)...
Filter messages...
Count Segment values...
Determine messages' commonalities...
Filtered in 0.02 s
Get groundtruth from tshark...
tshark: Error loading table 'User DLTs Table': user_dlts:2: dissector not found
Ignored sub field: ip.dsfield_tree
Ignored sub field: ip.flags_tree
Ignored sub field: tcp.flags_tree
Ignored sub field: Timestamps

 Known message dissection is
---------------------------  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
vlan.priority                00
delimiter                    4608
vlan.dei                     00
vlan.id                      46
vlan.etype                   0800
ip.version                   45
ip.hdr_len                   45
ip.dsfield                   00
ip.len                       0118
ip.id                        63e4
ip.flags                     40
ip.frag_offset               00
ip.ttl                       80
ip.proto                     06
ip.checksum                  39ba
ip.src                       ac120210
ip.addr                      ac120210
ip.src_host                  ac120210
ip.host                      ac120210
ip.dst                       ac12020d
ip.addr                      ac12020d
ip.dst_host                  ac12020d
ip.host                      ac12020d
tcp.srcport                  01bd
tcp.dstport                  c9e4
tcp.port                     01bd
tcp.port                     c9e4
tcp.len                      50
tcp.seq                      9e481be8
tcp.seq_raw                  9e481be8
tcp.seq<PHONE_NUMBER>
tcp.ack                      8d9ce782
tcp.ack_raw                  8d9ce782
tcp.ack<PHONE_NUMBER>
tcp.hdr_len                  50
tcp.flags                    18
tcp.window_size_value        0100
tcp.window_size              0100
tcp.window_size_scalefactor  0100
tcp.checksum                 de14
tcp.urgent_pointer           0000
tcp.payload                  000000ecfe534d424000000000000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004100010002020000ea9ec13c48364748b05d903d9c9e1136010000000000010000000100000001001e3c4f571487cc016e1dcebeca85cc0180006c00204c4d20606a06062b0601050502a060305ea030302e06092a864882f71201020206092a864886f712010202060a2a864886f71201020203060a2b06010401823702020aa32a3028a0261b246e6f745f646566696e65645f696e5f5246433431373840706c656173655f69676e6f7265
nbss.type                    00
nbss.length                  0000ec
---------------------------  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Dissection is incomplete. (Compare self.getFieldValues() and self.protocolbytes):
Dissector result:<PHONE_NUMBER>0800454500011863e44000800639baac120210ac120210ac120210ac120210ac12020dac12020dac12020dac12020d01bdc9e401bdc9e4509e481be89e481be826555258648d9ce7828d9ce78223758703385018010001000100de140000000000ecfe534d424000000000000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004100010002020000ea9ec13c48364748b05d903d9c9e1136010000000000010000000100000001001e3c4f571487cc016e1dcebeca85cc0180006c00204c4d20606a06062b0601050502a060305ea030302e06092a864882f71201020206092a864886f712010202060a2a864886f71201020203060a2b06010401823702020aa32a3028a0261b246e6f745f646566696e65645f696e5f5246433431373840706c656173655f69676e6f7265000000ec
Original  packet: 00460800

The reason is that the script tries to interpret the Wireshark dissection of this packet to generate some statistics about the filtering result. The dissection is however not complete. This is likely due to a reassembled TCP payload in this case (but could also be some SMB fields for which I did not write an interpretation rule in nemere.validation.messageParser.ParsingConstants226).
Using ground truth this way is not necessary for the core function of the script and as a quick fix you could replace line 245 with except (NotImplementedError, DissectionIncomplete) as e: in src/prep_filter-maxdiff-trace.py (to ignore the exception). You will still get the notification about the incomplete dissection and the ipython shell, which you can simply close and the script will continue. I will provide this solution as a future commit sometime.
Another solution may be to remove the offending message from the trace in this case.

As a side note: You are trying to filter a trace of 100 messages into a list of 100 messages (which essentially will do nothing) or less with the -p parameter. Less than 100 messages is probably a rather low number of messages for any subsequent analysis in most cases. I recommend to try a larger trace (1000s of messages) and filter that down to 100 or a few hundred messages with the prep_filter-maxdiff-trace.py script.

thank you!!!!

after i replace the file nemetyl_align-segments.py,line 384 except (NotImplementedError, DissectionIncomplete) as e:  ,
and  i run it with the file smb2_100, i get up with below problem.
So I want to know if this tool can handle normal smb2 files from normal packet captures properly? or only can handle over 100 of messages.
Initial clustering of the segments in the trace failed. The protocol in this trace cannot be inferred. The original exceptionmessage was:
Dissection is incomplete:
Dissector result:<PHONE_NUMBER>0800044500011863e440004000800639baac120210ac120210ac120210ac120210ac12020dac12020dac12020dac12020d01bdc9e401bdc9e4509e481be89e481be826555258648d9ce7828d9ce78223758703385018010001000100de140000000000ecfe534d424000000000000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004100010002020000ea9ec13c48364748b05d903d9c9e1136010000000000010000000100000001001e3c4f571487cc016e1dcebeca85cc0180006c00204c4d20606a06062b0601050502a060305ea030302e06092a864882f71201020206092a864886f712010202060a2a864886f71201020203060a2b06010401823702020aa32a3028a0261b246e6f745f646566696e65645f696e5f5246433431373840706c656173655f69676e6f7265000000ec

In general, all of the algorithms work with any unknown protocol. However, since the program code was primarily written to do evaluations of the quality of the inference compared to ground truth, in many places dissector results are used to calculate the accuracy of the analysis. In all of those cases, you can safely comment out the offending calls to MessageComparator or other evaluation-specific components. I will look into you specific issue that you describe to provide a generic solution. However, this may take some time.

thank you very much!

Feel free to provide a PR anytime.


3D parallel FSI issue with re-distancing.

3D parallel FSI problem runs to completion on commit:
66b670184e1544e857aa9dd5bb275518651efd57
Appears to be failing in RDLS on commit:
f338ae42b496515f0a05642650af7d55753a2f1d
chrono_added_moored_1.log

@jhcollins could you check this on 294ad07122150a6e0429dcccb6561a41e2cfba66?

Will do

compared 3d fsi convergence from https://github.com/erdc/proteus/commit/294ad07122150a6e0429dcccb6561a41e2cfba66 and https://github.com/erdc/proteus/commit/66b670184e1544e857aa9dd5bb275518651efd57
There doesnt seem to be any discrepancy


startcli failing due to openvt being unable to open console

I've noticed that, on the beta channel with my Acer C720, that startcli has ceased working.  This appears to be due to openvt inside the chroot failing, as I get the same error if I try running the openvt command from the startcli script after running enter-chroot.
To be clear:  everything else continues to work fine.
Visible error:
chronos@localhost ~ $ sudo startcli
Entering /mnt/stateful_partition/crouton/chroots/work...
Couldn't get a file descriptor referring to the console
Not unmounting /mnt/stateful_partition/crouton/chroots/work as another instance is using it.
chronos@localhost ~ $
Crouton version:
crouton: version 1-20150414182244~master:da478a77
ChromeOS version:
Version 42.0.2311.87 beta (64-bit)
Platform 6812.75.2 (Official Build) beta-channel peppy
Firmware Google_Peppy.4389.89.0

Without the full croutonversion output we can't tell what 'xmethod' you're using or if you're using 'freon' or not but, to the best of my knowlege, startcli won't work on 'freon' systems.

Sorry about that!
crouton: version 1-20150414182244~master:da478a77
release: jessie
architecture: amd64
xmethod: xiwi
targets: cli-extra,e17,lxde,extension,xiwi,chrome,keyboard
host: version 6812.75.2 (Official Build) beta-channel peppy
kernel: Linux localhost 3.8.11 #1 SMP Tue Apr 14 18:57:27 PDT 2015 x86_64 GNU/Linux
freon: yes
And yes, it's on freon.  D'oh.  Well, that explains that.
Thanks!


module 'timm.models._registry' has no attribute 'get_pretrained_cfgs_for_arch'

After I installed mixlab,  the layerstyle cannot be imported. It indicated "Cannot import E:\ComfyUI\custom_nodes\ComfyUI_LayerStyle module for custom nodes: module 'timm.models._registry' has no attribute 'get_pretrained_cfgs_for_arch'"
Pls kindly help

usages of from timm.models.registry import register_model that exist in this lib should be changed to from timm.models import register_model it was deprecated 2 years ago

usages of from timm.models.registry import register_model that exist in this lib should be changed to from timm.models import register_model it was deprecated 2 years ago

Thank you for pointing out this issue. It exists in some integrated third-party packages,  and it has been completely replaced now.


Incorrect Value Documented

[Enter feedback here]
The correct value for Release.Reason on a schedule is "Schedule" and not "Scheduled"  as documented:
From the agent log:
RELEASE_REASON                 Schedule

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

ID: 810b2ae0-ebbc-9fe0-fabb-700a57f20c9d
Version Independent ID: 3ba38edc-4990-5ef5-c10e-79f1be686d3f
Content: Classic release and artifacts variables - Azure Pipelines
Content Source: docs/pipelines/release/variables.md
Product: devops
Technology: devops-cicd-release
GitHub Login: @shashban
Microsoft Alias: shashban

Thank you for your feedback.  I have updated the documentation and it should be live by tomorrow.


Add support for scriplet blocks <% %>

<div>
<% console.log('xyz'); %>
</div>

Also, need to make sure that we handle this:
<% console.log('<% %> is great!') %>


readme mod

Related issue

What changes does this PR do?
Screenshots (If any)
Questions

Hey @carlosmf996  closing the issue due to no response. Feel free to create a new PR with the suggested changes by the maintainers