Error when running with multiple jobs: unexpected keyword argument 'target_offload'

I have been using your library for quite a while and am super happy with it. So first, thanks a lot!
Lately, I used my framework (which also uses your library) on modern many core server with many jobs. Worked fine. Now I have updated everything via pip and with 8 jobs on my MacBook, I got the following error.
This error does not occur when using only a single job (I pass the number of jobs to n_jobs).
I cannot nail the down the actual problem, but since it occurred right after the upgrade, I assume this might be the reason?
Am I doing something wrong here?
"""
Traceback (most recent call last):
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/joblib/externals/loky/process_executor.py", line 436, in _process_worker
    r = call_item()
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/joblib/externals/loky/process_executor.py", line 288, in __call__
    return self.fn(*self.args, **self.kwargs)
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 595, in __call__
    return self.func(*args, **kwargs)
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py", line 263, in __call__
    for func, args, kwargs in self.items]
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py", line 263, in <listcomp>
    for func, args, kwargs in self.items]
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/lineartree/_classes.py", line 56, in __call__
    with config_context(**self.config):
  File "/Users/martin/opt/anaconda3/lib/python3.7/contextlib.py", line 239, in helper
    return _GeneratorContextManager(func, args, kwds)
  File "/Users/martin/opt/anaconda3/lib/python3.7/contextlib.py", line 82, in __init__
    self.gen = func(*args, **kwds)
TypeError: config_context() got an unexpected keyword argument 'target_offload'
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "compression_selection_pipeline.py", line 41, in <module>
    model_pipeline.learn_runtime_models(calibration_result_dir)
  File "/Users/martin/Programming/compression_selection_v3/hyrise_calibration/model_pipeline.py", line 670, in learn_runtime_models
    non_splitting_models("table_scan", table_scans)
  File "/Users/martin/Programming/compression_selection_v3/hyrise_calibration/model_pipeline.py", line 590, in non_splitting_models
    fitted_model = model_dict["model"].fit(X_train, y_train)
  File "/Users/martin/Programming/compression_selection_v3/hyrise_calibration/model_pipeline.py", line 209, in fit
    return self.regression.fit(X, y)
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/lineartree/lineartree.py", line 187, in fit
    self._fit(X, y, sample_weight)
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/lineartree/_classes.py", line 576, in _fit
    self._grow(X, y, sample_weight)
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/lineartree/_classes.py", line 387, in _grow
    loss=loss)
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/lineartree/_classes.py", line 285, in _split
    for feat in split_feat)
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py", line 1056, in __call__
    self.retrieve()
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py", line 935, in retrieve
    self._output.extend(job.get(timeout=self.timeout))
  File "/Users/martin/opt/anaconda3/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 542, in wrap_future_result
    return future.result(timeout=timeout)
  File "/Users/martin/opt/anaconda3/lib/python3.7/concurrent/futures/_base.py", line 435, in result
    return self.__get_result()
  File "/Users/martin/opt/anaconda3/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
TypeError: config_context() got an unexpected keyword argument 'target_offload'

PS: I have already left a star. :D

Hi, could u please provide a reproducible example?

In this example, you can find a dummy trial using n_jobs=-1 and the latest version of linear-tree without problems

I don't know when I'll find the time to get a reproducable example. I'll reopen once I have some more information.
I got the error multiple times, but not every time. I probably first need to ensure my updated setup runs as expected.


[Basaar Blot]: Game Initialization and Setup

Game Initialization and Setup:
Develop an API endpoint to initialize a game session. This should include shuffling the deck, dealing cards to players, and setting up the game board.

for i in range(0, 32 / 4):
    if i%4 in players:
        players[i%4].append(cards[i*4:i*4+4])
    else:
        players[i%4] = cards[i*4:i*4+4]```


fix(gripper): correct estop & sync gpio setup

Codecov Report

Merging #545 (74c1967) into main (3a22258) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #545   +/-   ##
=======================================
  Coverage   83.96%   83.96%
=======================================
  Files          88       88
  Lines        2806     2806
=======================================
  Hits         2356     2356
  Misses        450      450


How to convert "clip_ranges.json" to "calibration.cache" for TensorRT?

Hi, I've seen that a 'deploy_model.onnx' and a 'clip_ranges.json' exported after quantization for TensorRT backend. But how to convert  the "clip_ranges.json" file  to "calibration.cache" that can be directly used by TensorRT? I have test that the "clip_ranges.json" file could not be recognized by TensorRT with log of
[TRT] Calibration table does not match calibrator algorithm type.
Hope for your help

You really did a great job to get this question.
You need to set range using TRT apis.
https://github.com/ModelTC/MQBench/blob/main/application/imagenet_example/onnx2trt.py#L60-L65

By the way, you actually can convert clip_ranges.json to cali.cache anyway, if you realize cali.cache is just somekind of  "encoded" clip ranges. Not recommended though.

Thanks a lot, actually I tests the 'onnx2trt.py' scripts, and It works correctly. But in some cases, you know, when the target hardware is not my working machine, I can only provide the onnx and calibration files, using simple commands (trtexec) to deploy instead of a 'onnx2trt' script.
I understand the clip_ranges.json and cali.cache  just are different representations, so I wonder if there is a conversion script already implemented to convert json to cache

struct.unpack('>i', bytes.fromhex(line))[0] / 4096.
I think its something like this.

It helps a lot, Thank you


Updated installation instructions (README.md)

Added lots of detail to the installation instructions for a first-time start.

Thanks for cleaning this up. It's one of the items on my todo list.

@DanielNagy You're very welcome. It's the least I could do to support your fantastic work.
One extra things I'd like to add is a table of entities and ranges/values to the ReadMe.
Is there an easy way to extract the list of Entities from the code so I can tabulise it please?
Even a simple bullet-point dump here would be fine, then I can format it nicely for the doc.

Thanks.
I think given the amount of items available, maybe we wait until we do that until the Intergration is more mature, (oh, and they fix the ble hangup problem)


Adds favicons to the website

Going to merge this in! If there are any areas / comments for improvement, feel free to comment!


Unexpected login / logout behavior

I am still trying to recover my 3rd username to use with Connect as documented in #626, and today I tried logging out of https://app.blockstack.org and planned to log back in.
However, after doing so, I'm not sure the best way to sign back in to app.blockstack.org?
Should there be a way direct way to log back in, or only through another app?
Should other apps be signed out as part of this action?
More details below, including steps to recreate:

Click "Log Out" on https://app.blockstack.org, which presents the message "Your are now signed out" and links to https://app.co/blockstack

Click on the link to https://app.co/blockstack
Click on the link to an application using Connect

first one I tried was BlockSurvey

second one I tried was Sigle

as shown in the screenshots above, the last-used account is still logged in

Navigate back to https://app.blockstack.org which still shows "You are now signed out".

Following that, if I log into another service using Connect that I was not previously authenticated against, such as https://heywebby.app/ then it works as expected. After that, refreshing https://app.blockstack.org shows my user names.
note: the third username is still missing

Currently you can initiate authentication for Connect / the hosted authenticator only through an app, not from the authenticator's homepage, as you've found here.
However, as we work towards 2.0, we're adding the capability to authenticate outside of the context of an app with https://github.com/blockstack/ux/issues/673. So there will be less dependency on apps in this regard to kick things off.
On the flip side, when you sign out of the authenticator itself, it doesn't de-authenticate apps. That's a separate process that a user needs to take with those individual apps and is intentional.
We don't have any plans in 2.0 to change this behavior (and I'm not even sure how feasible or desirable this would be given the overall model of decentralized authentication).


Wrong link at "Profiling an Application Running on SAP JVM"

https://help.sap.com/docs/btp/sap-business-technology-platform/profiling-application-running-on-sap-jvm
In the prerequisites it reads

Open a debugging connection using an SSH tunnel. For more information, see Debug an Application Running on SAP JVM

The link goes to the page which is specific to SAP JVM. That is too specific: You could also be running a SapMachine-based container in this context. It would be better to link it to https://help.sap.com/docs/btp/sap-business-technology-platform/debugging-java-applications instead.

Perhaps also consider revising the title of the page and its content: How do I profile SapMachine-based containers?
For those who don't know: SapMachine is something like the successor of SAPJVM

Hi @clnative ,
I'm sorry for this late reply! And thank you for your contribution and suggestion!
I'm not sure I should really change this link because the topic is "Profiling an Application Running on SAP JVM". The whole section is about SAP JVM, hence - the specific link is Debug an Application Running on SAP JVM.
However, what we can do, is creating a new topic called "Profiling an Application Running on SapMachine" and  adding there a link to page Debug an Application Running on SapMachine.

I'm not sure I should really change this link because the topic is "Profiling an Application Running on SAP JVM". The whole section is about SAP JVM, hence - the specific link is Debug an Application Running on SAP JVM.

I agree.
All these topics are rather confusing for me, as most things which I was used to use in SAP JVM, there is a new counterpart in SAPMachine. I would need a translator for this (and hoped to find it in the documentation).

However, what we can do, is creating a new topic called "Profiling an Application Running on SapMachine" and adding there a link to page Debug a Java Web Application Running on SapMachine.

Perhaps my previous statement and your one here brings us to the original issue that I have: How do I profile a SAPmachine-based CF application?
Is the page https://help.sap.com/docs/btp/sap-business-technology-platform/profiling-application-running-on-sap-jvm still valid also for SAPMachine-based containers?

Hi Nico,
We're working on creating a proper docu page for profiling applications on SapMachine. The current page is not valid for this scenario - it's only for SAP JVM.
I apologize for making you wait some more. And thank you a lot for your suggestion and contribution!
Best regards,
Gergana

No rush, please.
Please take your time as needed.

Hi Nico,
I'll close this issue for now. And when we're ready with the new doc, I'll add a new comment with the link here.
I hope that's OK!
Best regards,
Gergana

Hi Nico,
The new document is created and verified. See: Profiling an Application Running on SapMachine
All the best,
Gergana


error

What was the bug here?  That the second #if php gave a compiler error?  That appears to be fixed in Build <IP_ADDRESS>.TiVo.ClassHierarchy.11.  So, I'm closing this bug.
Note that the example now gives a "duplicate class" error at the second definition of Twig_Environment (Issue #54).  Unfortunately, that is the way it has to be for now.  We don't have a good way to check multiple paths through pre-processing symbols.  See the discussion on Issue #38 and Issue #54 for some more context.


[Refactor] Remove unnecessary nil check

Changes:

Remove unnecessary nil check

Types of changes
What types of changes does your code introduce?

[x] Refactoring (no functional changes, no api changes)

Testing
Requires testing: No

Codecov Report
Base: 80.49% // Head: 80.37% // Decreases project coverage by -0.11% :warning:

Coverage data is based on head (4652609) compared to base (2fd65a9).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #167      +/-   ##
===========================================
- Coverage    80.49%   80.37%   -0.12%
===========================================
  Files           40       40
  Lines         2517     2517
===========================================
- Hits          2026     2023       -3
- Misses         406      407       +1
- Partials        85       87       +2

Flag
Coverage Δ

unittests
80.37% <100.00%> (-0.12%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

internal/pkg/generate/clean_scripts.go
79.85% <100.00%> (-12.95%)
:arrow_down:

cli/cli.go
66.91% <0.00%> (+0.36%)
:arrow_up:

cli/cli_utils.go
91.24% <0.00%> (+6.45%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Please add an entry on the changelog


[BUG] Bot is unable to parse the egg hatching response

Expected Behavior
Show information about the hatched pokemon
Actual Behavior

over and over again
Steps to Reproduce
Run the bot and wait for an egg to hatch
Other Information
OS: Win 10 x64
Git Commit: 589ada8f8d7dcc78921a09a848cfd84485423239
Python Version: 2.7.12

See my response in #2228

@reddivision ah, I had a quick look around to make sure it wasn't created yet, my bad.

nah, you were fine; yours was first, I just saw the other and answered it first while going down the list.

@reddivision im glad haha, I'll leave it closed in favor of the other one anyway, it seems to have gotten more attention


Update issue title and description when reopening

It would be nice if the summary and description of an issue that had been closed before and is now reopened would be updated. The summary could just be replaced, whereas appending the new content with some sort of separator might be useful for the description.

@mbode , @charlspjohn , Guys, I know it's not entirely related to this issue, but can you give me more details how you achieved reopening, because I can't seem to make Jiralert to re-open an existing issue.
I have the following scenario:

Jiralert receives an alert and opens the issue in Jira with description and stuff (all good).
A person picks the Jira issue, resolves it, and updates the status to "Completed"/"Done".
Jiralert receives the same alert again, but doesn't re-open the issue (it doesn't do anything in this case), although I have the reopen_state clearly defined in the config.

This is my Jiralert configuration:
# Global defaults, applied to all receivers where not explicitly overridden. Optional.
defaults:
  # API access fields.
  api_url: https://{myOrg}.atlassian.net
  user: {myUser}
  password: {myPass}

  # The type of JIRA issue to create. Required.
  issue_type: Task
  # Issue priority. Optional.
  priority: Critical
  # Go template invocation for generating the summary. Required.
  summary: '{{ template "jira.summary" . }}'
  # Go template invocation for generating the description. Optional.
  description: '{{ template "jira.description" . }}'
  # State to transition into when reopening a closed issue. Required.
  reopen_state: "In Progress"
  # Do not reopen issues with this resolution. Optional.
  wont_fix_resolution: "Won't Fix"

# Receiver definitions. At least one must be defined.
receivers:
    # Must match the Alertmanager receiver name. Required.
  - name: 'jira-ab'
    # JIRA project to create the issue in. Required.
    project: DP
    # Copy all Prometheus labels into separate JIRA labels. Optional (default: false).
    add_group_labels: false
# File containing template definitions. Required.
template: jiralert.tmpl

I also checked if a transition from "Completed" to "In Progress" for this Issue is possible at this url:
https://{myOrg}.atlassian.net//rest/api/2/issue/{issueId}?expand=transitions
And it returns that it's possible.
Any ideas what might be causing this, would be very helpful.
Thanks in advance.

@InKolev, could you please open a separate ticket? Yours is a fully separate issue from the one discussed in this ticket.
But as a pointer, you should probably check JIRAlert's output for any error messages. It may say right there why it didn't/couldn't reopen the issue.

reopen_state: "In Progress"   -- instead of state give the transition name like below
reopen_state: "{transitionname}"  from done/resolved to open/Todo
ex: reopen_state: "reopen"

Hey, :wave:
I am a new maintainer who wants to help @free here bit and we plan more movement on jiralert. We definitely hit this and we would love to have some solution to mentioned problem of marking that new alert was there, even though ticket is already opened.
First of all @mbode @charlspjohn @free let's agree on logic we want:
I would suggest on every time when alert was triggered and ticket is searchable:
A) Edit Title somehow with number of triggered alerts. The problem is that title has already number of fired alerts within group. We could add that info as field that anyone can use via templating.
B) Paste new alert description into already existing description
C) Add number of "triggers" as extra label
D) add some info as comment
IMO, A is must have, as you have to see the actual problem - there is a different if the alert was once triggered or thousand times. Putting it anywhere than title masks the issue.
Comment IMO is no ago as it can obfuscate the actual discussion over the problem in the tickets. Thoughts?
@free how this is solved in Opsgenie JIRA integration?
Also, guys, feel free to join our new slack workspace (link in README) if you want to discuss more.

A) Updating the alert title with the newly generated title (including the number of alerts) sounds like a good start.
B) Might be an option, but the description could get crowded or you may hit a limit for how long the description can be. I'd just replace the description with the new one.
C) I look at labels as something to filter by. Adding a "Firing: 3" label does not appear all tat useful to me.
D) I think it's totally reasonable to add a comment when an issue is reopened. I.e. not every time alertmanager notifies JIRAlert, just when the issue was previously closed (and when it is first created), so more or less for every separate incident.
To summarize, my preference on this is JIRAlert should update the title and description; and add a comment; every time a ticket is reopened (or created). So if you get a bunch of HighLatency alerts today, you'd get one automated comment; humans add their own comments, address the root cause and close the ticket; it happens again in a week (hopefully for different reasons), title and description are updated and a new automated comment is added; and so on.
I would expect a person to add a comment every time they close the ticket, so human comments should outnumber automated ones. And the automated comments would (approximately) keep track of the history of incidents.

Agree 100%.

I agree with @free ..., updating title, description and adding acomment is reasonable. The number of firing alerts as a lablel is not required as a label, in fact this can be part of title itself, right ?

This is being implemented right now.
From initial experiments and I think this makes sense the most for time being:
TL;DL "Title/Summary" based acknowledge or all changes to the group thanks of {{ len $.Firing() }}  in summary template field.
For notify (both resolved and non resolved!):

If ticket exists and ReopenDuration is not exceed:

no matter what state, grab a title (summary) and compare with rendered one. If there is diff, update title. This will ensure that title is managed by jialert (1), you will get fresh data on how many alerts in group are there, if your templating will use {{ len $.Firing() }} template statement (2). Furthermore if no change in firing alerts, there will be 0 change, so activity will be not spammed and you can tracked when alerts were removed if anything is left is still active all the time. All is trackable :heart:
is ticket Done?

Transition to Reopen state. There is little benefit it adding comment. Activity will show everything and since all is grouped, all details should be the same (?)

else:

Create ticket with group label
Create title. I will test/document and recommend using {{ len $.Firing() }} templating statement that will be helpful to show current state of group.

PR: https://github.com/free/jiralert/pull/34
Help in review, very welcome (:


Use LINK token version 0.4

See #34

Version 0.6 of the LINK token imports openzeppelin contracts, which can cause conflicts when others want to use OZ packages.
Default to the mock contract using v0.4 of solidity to avoid collision

Thanks so much @lucaperret !


prove: Remove unused functions

ExtractRow functions were replaced by changing to a more efficient algorithm. Removing them as they're unused now.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.6%) to 84.583%

Totals

Change from base Build<PHONE_NUMBER>:
1.6%

Covered Lines:
2211

Relevant Lines:
2614

💛  - Coveralls


date period push

hello @iSarabjitDhiman would you please push the since until in the main branch please? i need to use it without using the async await branch

hello @iSarabjitDhiman would you please push the since until in the main branch please? i need to use it without using the async await branch

Already working on it. ✌
I will push it soon and will let u know once it's done.


Playready + Microsoft Edge Seek Back Issue: Spamming seek back causes long buffer and video resumes from unexpected position

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
v3.2.0 (via the Shaka Player Demo)
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from master?
Yes
Are you using the demo app or your own custom app?
Demo App
If custom app, can you reproduce the issue using our demo app?
N/A
What browser and OS are you using?
Microsoft Edge on Windows 10
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A
What are the manifest and license server URIs?
N/A
What configuration are you using?  What is the output of player.getConfiguration()?

N/A
What did you do?

Go to Shaka Demo Player on Microsoft Edge
Set filters on DRM to Playready and Manifest to DASH
Play Big Buck Bunny (Azure)
Play the stream and seek to near the end of the stream (~ 10 min)
Spam seek back several times by clicking on earlier points in the timeline (refer to the gif below to see what I mean)
See the timeline jump back to the point where you originally seeked to (close to the end of the stream)
The stream will buffer for a while and eventually resume playback at the original point (close to the end of the stream), as opposed to the final point seeked to

**If you play the Big Buck Bunny video that only has Widevine support, this issue does not occur.

What did you expect to happen?
Expected the stream to play from the final point that was seeked to
What actually happened?
The stream position jumps ahead and the stream buffers for a while and then starts playing from the first seeking point as opposed to the final seeking point. This issue was originally reported on our custom app, but we realized it was reproducible on the newest version of Shaka on the demo player. Issue only appears on Microsoft Edge with Playready (does not occur when you switch to Widevine).

I've noticed this also.
It looks as though the playback position is set according to the first seek, but the segment acquisition position is set according to the last. All of the segments from the position of the last seek, up to the position of the first seek are acquired and then discarded, before the segment acquisition finally catches up with the (incorrect) playback position.

I have a little more information on this issue.
I have an application playing DASH (playready) on Edge. I open the developer tools and paste in the following:
const video = document.getElementById("video");
const intervalFn = () => console.log(">>> currentTime:" + video.currentTime)
let interval;
const seekListener = () => { console.log("seeking currentTime:" + video.currentTime); interval = interval || setInterval(intervalFn, 5); }
const seekedListener = () => { console.log("seeked currentTime:" + video.currentTime); clearInterval(interval); interval = 0; }
const otherListener = (e)=>console.log("Event " + e.type + " currentTime:" + video.currentTime);

video.addEventListener("seeking", seekListener)
video.addEventListener("seeked", seekedListener)

video.addEventListener("loadstart", otherListener);
video.addEventListener("sourceset", otherListener);
video.addEventListener("waiting", otherListener);
video.addEventListener("canplay", otherListener);
video.addEventListener("canplaythrough", otherListener);
video.addEventListener("playing", otherListener);
video.addEventListener("ended", otherListener);
//video.addEventListener("seeking", otherListener);
//video.addEventListener("seeked", otherListener);
video.addEventListener("play", otherListener);
video.addEventListener("firstplay", otherListener);
video.addEventListener("pause", otherListener);
video.addEventListener("durationchange", otherListener);
video.addEventListener("fullscreenchange", otherListener);
video.addEventListener("error", otherListener);
video.addEventListener("loadedmetadata", otherListener);
video.addEventListener("posterchange", otherListener);
video.addEventListener("textdata", otherListener);
video.addEventListener("ready", otherListener);

This will look at the value of video.currentTime as various video events are captured, and also monitor its value frequently between a seeking and seeked event.
With the video playing, I position the pointer on the seek bar at position t=6371s, and press the mouse button. I slide the mouse pointer to the left to position t=1536s before releasing the button.
I see the value of video.currentTime decreasing as I move the pointer to the left, but then it jumps up to 6371 again when the seeked event is received.

Now the StreamingEngine is busy acquiring segments from t=1536s, but the Playhead is waiting for t=6371s. Eventually the Streaming engine will catch up, and playback will restart at t=6371s.
While in this "catching-up" state, any seek to a position less than 6371 will position the StreamingEngine, but the Playhead will once again be reset to 6371 on the seeked event.
A seek to a point greater than 6371 will work correctly, and the player will recover.
@joeyparrish, @TheModMaker, if I have time I can take a look at this. Can you give me any hints at where to look?

@Wayne-Morgan, thank you for the detailed work!
You should debug this in StreamingEngine to start.  It uses SegmentIterator to move sequentially through the segments, so once it has a segment to fetch, it will always continue in order from there.
This sequential movement gets reset on seek, but there may be a race or other bug in that logic.  Look for the seek listeners in StreamingEngine.
Also, on seek, StreamingEngine will generally clear the buffer and reset where it should stream from based on the current position of the playhead at that time.  This is where we might have a race.  There are private methods getSegmentReferenceNeeded_ and getTimeNeeded_ that could be relevant, but I can't recall why we have both.  Maybe they don't agree in some edge case, and that could be the cause of the issue.
Sorry I don't have more than guesses, and thank you for looking into it!  Let us know what else we can do to support you.

Someone just reminded me of this issue. I'm afraid I haven't had a chance to investigate. If anyone else wants to pick it up, please feel free.

in conjunction with @Wayne-Morgan I've attempted to reproduce this with latest release v4.8.0 and cannot reproduce.  Please go ahead to dismiss this issue.


Type 'DateTime' is not a subtype of type 'num' of 'val' Error

Hey Guys,
I am getting this error when I try to patch a DateTime field.
I am still investigating it and will update this issue as I have more information.

Nevermind, I was being dumb!


FSR 7.5.0 breaks FMG device sync playbook

Something in 7.5.0 changed with for loops on set variable steps. This method isn't recommended, so I have rewritten the sync playbook using jinja for loop. The specific playbook is > create or update device records
1 Playbook - 10 - SP - FortiManager ZTP Flow - FortiManager(FMG)-RecordHandlers<PHONE_NUMBER>).json

There are a few different playbooks that reference this, so we need to make sure that the playbook uuid remains the same


Add DNSConfig customization ability to RTCD service chart

Issue: CLD-3730
Signed-off-by: Stavros Foteinopoulos<EMAIL_ADDRESS>
Summary
Add DNSConfig customization ability to RTCD service chart
Ticket Link
https://mattermost.atlassian.net/browse/CLD-3730

Not sure what's the impact of this but to share some context, from the plugin side we currently run a resolution on the rtcd host every 10 seconds to check if new hosts came up/went down in order to support horizontal scaling.

🎖  Works fine. Great work 👍
Non blocking recommendation following:
If we interested in automatically generating README file, documenting the chart values, their defaults, and an optional description parsed from comments, worth taking a  looking at https://github.com/norwoodj/helm-docs
Low hanging fruit 🥝 🍌 🍒

@phoinixgrr Totally agree, let's create a ticket for this I am more than happy to work on this.


Explain why forecasters drop very short time series

Problem
Time series with counts less than the number of lags are silently dropped at predict time. For example, during M5 benchmarking, time series with lengths less than lags=24 are dropped. This is intended behavior, but currently undocumented.
Rationale
functime is made for high-performance ML forecasting in production. Data engineers are responsible for upstream and downstream data quality (including the property of "no missing values"), not ML engineers. I made the explicit design not to include any data quality pre-checks within fit-predict in functime.
Solution
Document why functime has weaker data quality pre-conditions.
Additional comment
My goal is to eventually create a checks module with functions to support more defensive forecasting pipelines. But the choice to have checks will be an explicit pipeline design decision by the user, not the functime forecasting API.

Do you think we might want to raise a warning when fitting a forecaster where the number of lags is greater than the number of observations? It's a good thing to explain this in the documentation, but I think it'd be more visible and helpful to show in the code.

Absolutely. This was just backlogged for a bit too long.
We have code for it already: https://github.com/neocortexdb/functime/blob/main/tests/test_benchmarks.py (line 43)
It's quite fast. Just need to put it inside the base forecaster's fit function.
And have some global config option to disable checks.


Issues#11 - Added a "prettyPrint" option to maven plugin to generate …

…a pretty-printed JSON Swagger specification

@langecode Thx for the feedback, I fixed the imports.

I also did an extra change to use the Json.mapper() provided by swagger-core, like you already did for the YAML part. This mapper indeed has some extra configuration to properly "flatten" extensions maps, which is something required for #12
See https://github.com/swagger-api/swagger-core/blob/master/modules/swagger-core/src/main/java/io/swagger/v3/core/util/ObjectMapperFactory.java and https://github.com/swagger-api/swagger-core/blob/master/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/mixin/ExtensionsMixin.java


Illegal instruction (core dumped) on raspberry pi zero

Running on raspberry pi zero we get the following error:
 gateway-config  Agent registered
[CHG] Controller B8:27:EB:62:D3:1A Pairable: yes
 gateway-config  [bluetooth]# pairable off
 gateway-config  [bluetooth]# quit
Illegal instruction (core dumped)

Devices:
https://dashboard.balena-cloud.com/devices/89420bfa74cc1201a5e5be100914d970/summary
https://dashboard.balena-cloud.com/devices/97b86fb2b543a3512c061b442a3c2725/summary


add orderNumber to ThankYouPage

Related issues
closes #2743
follows https://github.com/DivanteLtd/vue-storefront-api/pull/251
Short description and why it's useful
shows the Order Number which will also be used in the MyOrder Page, the Order Confirmation Mail and which is used by Show Owners to reference an Order.
Screenshots of visual changes before/after (if there are any)
Did not actually test it yet, can do after it was decided, this is the way to go.
Which environment this relates to
Check your case. In case of any doubts please read about Release Cycle

[ ] Test version (https://test.storefrontcloud.io) - this is a new feature or improvement for Vue Storefront. I've created branch from develop branch and want to merge it back to develop
[ ] RC version (https://next.storefrontcloud.io) - this is a stabilisation fix for Release Candidate of Vue Storefront. I've created branch from release branch and want to merge it back to release
[ ] Stable version (https://demo.storefrontcloud.io) - this is an important fix for current stable version. I've created branch from hotfix or master branch and want to merge it back to hotfix

Upgrade Notes and Changelog

[x] No upgrade steps required (100% backward compatibility and no breaking changes)
[ ] I've updated the Upgrade notes and Changelog on how to port existing VS sites with this new feature

IMPORTANT NOTICE - Remember to update CHANGELOG.md with description of your change
Contribution and currently important rules acceptance

[x] I read and followed contribution rules
[ ] I read the TypeScript Action Plan and adjusted my PR according to it
[ ] I read about Vue Storefront Modules and I am aware that every new feature should be a module

@patzick : actually this change doesn't work as increment_id is undefined in orderData. It should be reopened. I already spoke with @Flyingmana, he's on it.


Add git support

show git info when in git repository
example:
~/Koding/deno/helloworld (master)
➜

I'd like to work on this


singularity: fix defaultPath and reflect upstream changes

Motivation for this change
Upstream changes:
singularity 3.8.7 -> ~singularity-legacy 3.8.7~ / apptainer 1.0.2 / singularity (singularity-ce) 3.9.5
Build process:

Share between different sources.
Fix the sed regexp to make defaultPath patch work.
Add bin path of bash to the defaultPath to provide sh executable.
Set allowGoReference true to allow singularity to compile plugins when building container images.
Build with buildGoModule and pass vendorSha256 as a function argument to allow building from non-vendored source.
~Set doCheck true.~
Format with nixpkgs-fmt.
Add input parameter enableSuid that defaults to false. --with-suid or --without-suid will be passed to mconfig according to enableSuid the upstream's policy to enable / disable the SUID support by default.
This parameter will be overwrite to false in the NixOS module programs.singularity.
~Add man page output.~

NixOS module programs.singularity:

Allow users to specify packages
Format with nixpkgs-fmt.

Singularity (the upstream) renamed themselves to Apptainer to distinguish themselves from a fork made by Sylabs Inc..
https://sylabs.io/2021/05/singularity-community-edition
https://apptainer.org/news/community-announcement-20211130
In this PR

singularity-legacy is from the original repo before the renaming.
apptainer is from the new repo after the renaming.
singularity-ce is from the fork of Sylabs Inc..

As apptainer is still at pre-released version 1.0.0-rc1 and the source and the revision of the previous singularity derivation is the same as that of singularity-legacy here,
singularity = singularity-legacy;

is chosen.
~WIP: Update the release note.~ Done.
Things done

Built on platform(s)

[X] 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

[X] 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
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[X] (Package updates) Added a release notes entry if the change is major or breaking
[X] (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
[X] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

As for the goPackagePath, the official one (the one explicitly written in each repo) is used. For example, the goPackagePath of singularity-legacy is github.com/hpcng/singularity and singularity-ce github.com/sylabs/singularity. The change of this variable should not be noticeable by most user and the toolchain, since Singularity/Apptainer is meant to be used as an application instead of a library. For those who use in as a library, this PR enables them to choose the goPackagePath corresponding to the source. Users can just override the derivation should they want to mix the source and the path, and the time to build is minimal.
By the way, should we use buildGoModule instead of buildGoPackage? The Nixpkgs Manue seems to recommend the former.

Change the way to call the package to preserve the override method.

Add input parameter withouSuid that defaults to true and pass --without-suid to mconfig to enable non-suid build to run containers.
This parameter will be overwrite to false in the NixOS module programs.singularity.

Add man page output.

singularity-legacy 3.8.5 -> 3.8.6 (#158910)

Looks good to me, I think I'll try to rebuild my machine with this PR and see if singularity run --nv works.
@ShamrockLee what would you say is needed for this PR to move forward?

(on top of nixpkgs-unstable)
singularity-ce> make: *** No rule to make target 'man'.  Stop.

ensure-all-wrappers-paths-exist> Checking that Nix store paths of all wrapped programs exist... FAIL
ensure-all-wrappers-paths-exist> The path /nix/store/s8x1s4dzhx65bhqc5xi3xyjlvr65l0lc-singularity-legacy-3.8.6/libexec/singularity/bin/starter-suid.orig does not exist!
ensure-all-wrappers-paths-exist> Please, check the value of `security.wrappers."singularity-suid".source`.
ensure-all-wrappers-paths-exist>
error: builder for '/nix/store/iiq32iqk8n1v16qcgh301qrsasd0ia17-ensure-all-wrappers-paths-exist.drv' failed with exit code 1
error: 1 dependencies of derivation '/nix/store/ghhwqsdawvdpfk5l1rkqlaj08kbhk3l7-nixos-system-

Sorry only just saw this PR :/. Since apptainer is the successor to singularity, perhaps we should have a nixos programs.apptainer. There is also singularity-tools to consider, we could likewise introduce an apptainer-tools.
Apptainer 1.0.1 is now released.

So, I see apptainer.conf has a path to nvidia-docker-cli, but it also has use nvidia-container-cli = no. In the end I get
WARNING: Could not find any nv files on this host!
WARNING: Could not find any nv libraries on this host!

...from singularity run --nv

And if I s/no/yes/, I get:
FATAL:   nvidia-container-cli not allowed in setuid mode

This is either a by-design or caused by the NixOS module bug you have found in previous review. The latter is now fixed.

By the way, what should we do to let users install the suided and non-suided singularity / apptainer side by side?

This is either a by-design restriction posted by the upstream or caused by the NixOS module bug you found in previous review

I think it's a restriction of nvidia-docker-cli, but I'm not sure.
But the implication is that there are combinations of without-suid and use nvidia-docker-cli that are not allowed, so the nixos module maybe should test for them and warn users.

How about testing with plain-built singularity package? (without using the executable from the NixOS module)

I.e. the executable that relies on user namespaces? I haven't tried that yet, but I should.

Sorry, but I'm familiar with neither nvidia nor ldconfig. Could you tell me more about them?

Yeah, I'm just figuring out myself 😆
Long version: The story is that singularity doesn't have good means of discovering nvidia userspace drivers (e.g. libcuda.so) which on NixOS live in the impure /run/opengl-driver/lib. These are necessary to use something like docker://nvcr.io/nvidia/pytorch:22.03-py3. What singularity does is it either greps the output of ldconfig -p (a bunch of lines of the form $soname (...) => $path) or the output of nvidia-container-cli list. The former, ldconfig, fails because on NixOS there's no (need for) cache for the dynamic linker. The latter would print absolute paths to libraries in nvidia_x11, were it not for the suid issue. I think neither is what we want: on NixOS we want to use paths in /run/opengl-driver/lib, and on non-NixOS we want to use system's ldconfig -p, which would output system's drivers, rather the ones in the nix store
Short:

I worked out a hack that works on my system, it just substitutes ldconfig with a shell script that scans /run/opengl-driver/lib to make a temporary cache: https://gist.github.com/SomeoneSerge/cf1210bf2a3eb2d7ad8adb4dac1816e3. I tested this on the old version of your PR, I'll reiterate soon

Again, to be clear: this is all to make singularity run --nv --bind /run,/nix docker://nvcr.io/nvidia/pytorch:22.03-py3 -- python work

I'm pretty sure "${glibc}/bin/ldconfig is never what we want (neither on NixOS nor non-NixOS)

@SomeoneSerge IIUC, The --fakeroot functionality, which relies on the user namespace and the suid-ed newwidmap and newgidmap from the package shadow, is still not implemented in the current NixOS module. To implement that in the NixOS module, we can feed the rebuilded singularity packages with suided newwidmap and newgidmap executable path.
By saying the plain-built singularity, I means by building and running one of the singularity packages provided by this PR, without the NixOS module.
As for non-NixOS users who want suid execution and --fakeroot functionality, we could probably provide build attributes for users to specify the suid-ed starter (for suid execution) or new(u|g)idmap (for --fakeroot) executable paths.

I have a singularity-tool patch with singularity-tool.buildImage taking in an optional attribute singularityPackage. Considering that the image building and running process of the three upstreams are basically the same, it should be alright for them to share the same toolbox.

This is great, we can deal with divergence in behaviour when it happens.

programs.apptainer sounds like a good idea. However, apptainer has a symlink at $out/bin/singularity by default. Should we add an option or something to get rid of that, so users can have both modules together?

I think this is a good idea and would lean towards removing the symlink by default. Maybe we don't even need an option? The symlink seems to be a backwards compatibility kludge anyway, which we don't need when we have legacy available.

By the way, I also have implemented a .def file generator and a definition-based image builder inside the singularity-tool. Should they be sent in this PR, or should I open a new one afterward?

Let's do it in a different PR.

By the way, what should we do to let users install the suided and non-suided singularity / apptainer side by side?

Do you think this will happen in practice? If you have SUID version you can always invoke namespaces with command line flags.

By the way, what should we do to let users install the suided and non-suided singularity / apptainer side by side?

Do you think this will happen in practice? If you have SUID version you can always invoke namespaces with command line flags.

IIRC, there are some features (GPU-related) that prohibits non-root invocation on SUID-ed singularity builds. I saw it in the code once, but I cannot find it now. Maybe I have remembered it wrong, or the limitation is already removed.
Should there be such features, there would be use cases where non-SUID builds are nessesary.

IIRC, there are some features (GPU-related) that prohibits non-root invocation on SUID-ed singularity builds.

Not sure I understand. I've built and am using the nixos-module version of apptainer, which relies on suid. It has access to the GPU

By saying the plain-built singularity, I means by building and running one of the singularity packages provided by this PR, without the NixOS module.

https://gist.github.com/SomeoneSerge/21a78dcf2a2178e585c3e448fa1f6183
TLDR: it works (with userns, I guess), but has no means to know to use /run/opengl-driver/lib

Another thing: to use --nv on NixOS one does have to at least --bind /run/opengl-driver,/nix/store.
We could automate this by adjusting to this part of apptainer.conf (singularity.conf):
  98   │ # BIND PATH: [STRING]
  ...
 107   │ #bind path = /etc/apptainer/default-nsswitch.conf:/etc/nsswitch.conf
 108   │ #bind path = /opt
 109   │ #bind path = /scratch
 110   │ bind path = /etc/localtime
 111   │ bind path = /etc/hosts

I don't know if we want to make this default.
We also probably don't want to rebuild singularity every time we adjust singularity.conf
Also, from what I see the difference between binding /nix and /nix/store amounts to the latter additionally exposing profiles. For me, this makes my custom shell prompt work inside singularity. Again, can't judge which should be default

Sorry for the halting. I just don't have free time recently, and will continue the work when I'm available.
Thank you for your time and suggestions!

We also probably don't want to rebuild singularity every time we adjust singularity.conf

We could inject the configuration from a wrapper.
IIUC, the original scenario of such configuration is to allow HPC administrators to control the permissions and behaviors of the singularity/apptainer program, and is placed inside /usr/local/etc/apptainer or /etc/apptainer.[1] As one of the selling point of Nixpkgs is privilege-free, and that Apptainer seems to be opening the path toward unprivileged build and run.[2][3]
[1] https://apptainer.org/docs/admin/main/configfiles.html
[2] https://github.com/apptainer/apptainer/issues/215
[3] https://github.com/apptainer/apptainer/issues/447

We also probably don't want to rebuild singularity every time we adjust singularity.conf

We could inject the configuration from a wrapper.
IIUC, the original scenario of such configuration is to allow HPC administrators to control the permissions and behaviors of the singularity/apptainer program, and is placed inside /usr/local/etc/apptainer or /etc/apptainer.[1] As one of the selling point of Nixpkgs is privilege-free, and that Apptainer seems to be opening the path toward unprivileged build and run.[2][3]
[1] https://apptainer.org/docs/admin/main/configfiles.html
[2] https://github.com/apptainer/apptainer/issues/215
[3] https://github.com/apptainer/apptainer/issues/447

Address the above issues, except

On the other hand, I really think that with a NixOS module singularity must know to look in /run/opengl-driver/lib (cf. the proof of concept again)

I would prefer making it another PR if nothing breaks.
Things that I implemented but decided not to put in this PR:

Singularity / Apptainer definition generator and definition-based image build. (A working one. It would be great if we also have a parser.)
enableExternalConfigDir NixOS option. (Still buggy since I'm not sure how to make environment.etc copy the "${cfg.packageOverriden}/etc.orig/${cfg.projectName}" to "/etc/${cfg.projectName}" correctly.)

@SomeoneSerge Could you help test the NixOS module against your Nvidia Singularity image build expression?

Do we really need all of them or could we for example drop the legacy one without problems?

When I made this PR, Apptainer 1.0.0 hasn't been officially released yet, and the official upstream suggests users to stay on apptainer/singularity for production use.
Now that Apptainer 1.0.2 has been released, and it would be okay to drop singularity-legacy. However, it comes with a risk of backward incompatibility (at least no full backward compatibility is guarenteed after dropping).
Another choice to make is which package to make attribute singularity point to. Should we simply drop this attribute and ask users to specify the upstream explicitly?

"$out/bin/run-singularity"?

Why, Upstream kept it, so should we I think.
And I'm not really aware of a use-case to deploy both apptainer and singularity side by side either

Could you help test the NixOS module against your Nvidia Singularity image build expression?

On it

"$out/bin/run-singularity"?

Why, Upstream kept it, so should we I think. And I'm not really aware of a use-case to deploy both apptainer and singularity side by side either

I agree, it's kept by upstream so we should try not to remove it and potentially create issues for users.

Thats fine. We drop old stuff all the time and are not fully backwards compatible. We already have a section in the changelog that things changed and might break, so it should be fine.

We do, but in this case the apptainer fork is very recent. None of the HPC facilities I'm currently using have begun migrating to apptainer, so seems a bit premature to drop singularity. We should keep it around while 3.8 is receiving updates.

Should we default the package attribute to singularity to a package, or make it an alias? Should it link to singularity-legacy?
There's a package udocker in Nixpkgs that depends on singularity to "execute simple docker containers in user space without root privileges". Should we specify a package for it, or should it follows the default singularity package? (If the latter, singularity = should be put in all-packages.nix instead of aliases.nix.) (Cc: udocker maintainer @bzizou)

There's a package udocker in Nixpkgs that depends on singularity

The expression has singularity as an argument, the user can always udocker.override { singularity = apptainer; } or change the default with a nixpkgs overlay - so we don't really need to change anything?

If singularity = singularity-legacy; is going to be placed inside pkgs/top-level/aliases.nix (https://github.com/NixOS/nixpkgs/pull/158486#discussion_r901014454), nixpkgs-review and OfBorg tests will fail, since the use of aliased attributes are forbidden.
Currently, singularity = singularity-legacy; is in pkgs/top-level/all-packages.nix.

Is there any big reason to introduce singularity-legacy, rather than just call it singularity? Apptainer does not appear to be concerned with claiming that name. It may not be very precise not to mention `apptainer/singularity, but it would be less confusing

Couldn't nixos-rebuild switch: https://gist.github.com/SomeoneSerge/ec35bd0a25aa0d3eaff70b6e7a3ab53b

nixos-rebuild with suid successful
I'm still applying a local overlay that piggybacks the fake ldconfig for --nv to work, but we can handle this in a separate PR.
It would be prudent to get rid of redundant options and attributes before merging though (and to address other Sandro's comments)

Just saw some Apptainer PR got merged, which is making their path to "unprivileged by default" a reality.
With https://github.com/apptainer/apptainer/pull/475 and https://github.com/apptainer/apptainer/pull/481, fully-unprivileged image build will be possible, which is a good news for Nix-based tool-chains.
With https://github.com/apptainer/apptainer/pull/495, --without-suid will be the default config option, and --with-suid will then be the way to opt in SUID support.

@ofborg build apptainer singularity

When trying to make fine grain the patchShebangs  part, I noticed internal/pkg/build/sources, which seems to the prototype of a Singularity / Apptainer "sandbox". Should we patch their shebangs, too? @jbedo @SomeoneSerge
A sandbox is a form of container, with all files extracted and editable. It can then be packaged into a Singularity / Apptainer image. singularity-tools.buildImage currently build images by building a container first and then convert it into an image.

When trying to make fine grain the patchShebangs part, I noticed internal/pkg/build/sources, which seems to contain the prototype of a Singularity / Apptainer "sandbox" (those *.sh). Should we patch their shebangs, too? @jbedo @SomeoneSerge

It looks like the shebangs for those are all /bin/sh so they don't need patching.

I see singularity is now actually singularity-ce rather than the branch pre-apptainer fork. CE forked off singularity quite some time ago so I'm not sure this is a good idea. I'm still in favour of keeping singularity pointed to the old branch apptainer was forked off while it is receiving updates, and then removing it entirely when it is EOL.
Otherwise PR looks good to me.

I see singularity is now actually singularity-ce rather than the branch pre-apptainer fork ...

I'm not sure wdym, right now singularity points to sylabs/singularity on github, versioned by tags.
I thought there are only two options left: apptainer/apptainer and apptainer/singularity (end of life, so we shouldn't ship it?)

As suggested in https://github.com/NixOS/nixpkgs/pull/158486#discussion_r859994155, I'm now separating the input arguments that should be overridden through .override from those who shouldn't.
As for #86349, a workaround is implemented with a reminder for removal when the issue is solved.

Rebased onto the master branch.

Thanks for reminding. By the way, is there a way to automate the update for such packages?

it's (the contents of) a shell script to run as root. Interface is modelled off dockerTools.

What's the use case of runAsRoot really? Is that somthing that goes to the setup session in a Singularity / Apptainer definition file?

Thank you for tackling this.
Indeed, it would be very nice to get apptainer support in NixOS ! :)

@SomeoneSerge To cache the default overriden singularity and apptainer by singularity.nix to Hydra, we could do it in all-packages.nix automatically
{
  __singularity-overriden-default = (import ../../nixos/lib/eval-config.nix {
    modules = lib.singleton (
      { config, lib, pkgs, ... }:
      {
        programs.singularity = {
          enable = true;
          package = pkgs.singularity; # Change to `pkgs.apptainer` for Apptainer
        };
      }
    );
    inherit (stdenv) system;
  }).config.programs.singularity.packageOverriden;
}

or manually
{
  __singularity-overriden-default = singularity.override {
    enableSuid = true;
    starterSuidPath = "/run/wrappers/bin/singularity-suid"; # Change to `apptainer-suid` for Apptainer
  };
}

The difference is that the latter exposes the default values and implementation details of the singularity.nix module.
I would also change the apptainer.conf directory to /etc/apptainer in future PR to make the configuration changeable without rebuilding Apptainer (same things applied to SingularityCE), so there would also be externalConfigDir to sync between all-packages.nix and singularity.nix.

Just notice that the <someprogram> path directives have been removed from apptainer.conf (file: apptainer/apptainer pkg/util/apptainerconf/config.go, issue: https://github.com/apptainer/apptainer/issues/493, PR: https://github.com/apptainer/apptainer/pull/552). (@SuperSandro2000 was right when suggesting that there should be a warning when the substitution target isn't found.)
It seems to be related to a PR made in sylabs/singularity.(issue: https://github.com/sylabs/singularity/issues/178, PR: https://github.com/sylabs/singularity/pull/272) and cherry-picked by hpcng/singularity (now apptainer/singularity), https://github.com/apptainer/singularity/pull/6224), and that it affects sylabs/singularity, apptainer/singularity and apptainer/apptainer.
Not sure if the <someprogram> path directives have also been deprecated in sylabs/singularity, but from https://github.com/sylabs/singularity/issues/178#issuecomment-886964582, it would fall back to searching inside PATH if the executable path isn't defined in the configuration after the fix. As a result, our best bet is to throw those executable path into the defaultPath substitution.
I'm preparing for the midterm and would not be able to work on that this week.

Hi @ShamrockLee !
I was wondering if you needed some help to work on this PR.
Feel free to ask :)

@GaetanLepage Thank you for reaching out.
I'm planning to enable users to put the configuration into an external directory such as /etc/apptainer. The functionality is already implemented in a seperate branch https://github.com/ShamrockLee/nixpkgs/tree/singularity-external-config-dir , but I haven't found a way to place directory containing the default configuration with environment.etc (#200744).
Also, I'm wondering if we could provide the default overriden singularity / apptainer package for NixOS users (https://github.com/NixOS/nixpkgs/pull/158486#issuecomment-1308776620). Not sure if this is proper or how to do it properly.
Both of these stuff can be done in subsequent PRs, and I think this one is ready to merge.

Great to hear ! Thank you once again for this great work.
I hope as well this PR gets merged soon :)

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1630

I'll downgrade Apptainer to 1.1.3 before https://github.com/apptainer/apptainer/issues/958 get fixed by https://github.com/apptainer/apptainer/pull/967 , since it affects the behavior for Apptainer to find the configuration file.

Just add _apptainer-nixos-overriden-deafult and _singularity-nixos-overriden-default into all-packages.nix, so that NixOS users specifying programs.singularity.enable = true without touching options other than package enjoy the binary cache.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/good-practice-to-make-not-for-install-packages-available-in-the-binary-cache/24407/1

This is great, I think we can merge it after resolving the conflicts.

Rebased onto the updated master branch and resolved the merge conflict.


I wanner a OK button for the datepiker even if  I don't use the 'nzShowTime'

What problem does this feature solve?
Just as the title,I found that I cannot make a ok button if  I don't use the 'nzShowTime'.However, I need no detail time for my project ,I only need date.
And I have another question, but I cannot reappear the code. I used the
disabledDate = (current: Date): boolean => {
return differenceInDays(current, this.today) > 0 ;
}
to limit the date range ,but  the fact is I got one more day.For example, today is 6/11.when I limit the day to today ，the result is 6/12.I don't know why...
What does the proposed API look like?
I wanner a OK button for the datepiker even if  I don't use the 'nzShowTime'

me too

ng zorro's  design is consistent with ant design

Marks: current feature is against to Ant Design, consider to provide a new option to support this demand.

@cyhjojo Another, use differenceInCalendarDays instead to resolve your problem.


Change NSControl.reactive.controlEvent to emit the sender, rather than objectValue

I'm a little torn on this change, but I think it would be better if NSControl.reactive.controlEvent emitted the sending control (sender), rather than casting the objectValue property to AnyObject?.
Not all AppKit controls emit useful or meaningful control state information via objectValue (NSPopUpButton being one example).
With this change, the developer can choose what they want to interrogate from the sending control.
Thoughts?

Current coverage is 68.37% (diff: 100%)

Merging #365 into master will not change coverage

@@             master       #365   diff @@
==========================================
  Files            49         49
  Lines          2270       2270
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1552       1552
  Misses          718        718
  Partials          0          0

Powered by Codecov. Last update cab59d0...ac78ed1

I also have to say, I'm unsure whether to expose things like NSButton.reactive.state as DynamicSubject<Int>. It's really common to bind the value of a button to something like UserDefaults in traditional Cocoa Bindings. I guess it could be considered similar to NSTextView.reactive.string?
I have wrappers around my user defaults that look similar to:
import Foundation
import ReactiveKit
import Bond

struct UserDefaultsKey {
    static let showCanvasInformationMessages = "ShowCanvasInformationMessages"
}

public extension ReactiveExtensions where Base: UserDefaults {

    public var showCanvasInformationMessages: DynamicSubject<Bool> {
        return dynamicSubject(
            signal: self.keyPath(UserDefaultsKey.showCanvasInformationMessages, ofType: Optional<Bool>.self).eraseType(),
            get: { $0.bool(forKey: UserDefaultsKey.showCanvasInformationMessages) },
            set: { $0.set($1, forKey: UserDefaultsKey.showCanvasInformationMessages) }
        )
    }
}

So when I following the currently implemented pattern, it looks like:
self.showCanvasInformationMessagesButton.reactive
    .controlEvent
    .map { $0.state == NSOnState }
    .bind(to: UserDefaults.standard.reactive.showCanvasInformationMessages)

UserDefaults.standard.reactive
    .showCanvasInformationMessages
    .map { $0 ? NSOnState : NSOffState }
    .bind(to: self.showCanvasInformationMessagesButton.reactive.state)

If NSButton.reactive.state were a DynamicSubject it could be:
self.showCanvasInformationMessagesButton.reactive.state
    .bidirectionalMap(
        to: { $0 == NSOnState },
        from: { $0 ? NSOnState : NSOffState }
    )
    .bidirectionalBind(to: UserDefaults.standard.reactive.showCanvasInformationMessages)

If that's the case, sending NSControl itself sounds like an on solution, but may I also suggest another one. Let the user specify interrogation closure
public func controlEvent<T>(_ read: @escaping (NSControl) -> T) -> SafeSignal<T>

so that he can do
control.controlEvent { $0.integerValue }.observeNext { number in ... }

But you are the master of AppKit, you choose :)
As for the second question, NSButton.reactive.state as DynamicSubject<Int> sounds reasonable. Because you are using KVO, just make sure that you are not missing triggerEventOnSetting: false in dynamicSubject(...).
If doing $0.set($1, forKey: UserDefaultsKey.showCanvasInformationMessages) triggers event on self.keyPath(UserDefaultsKey.showCanvasInformationMessages, ofType: Optional<Bool>.self).eraseType(), then you need to set triggerEventOnSetting: false or you'll end up with duplicate events :)

Thanks for the KVO tip - I hadn't seen the triggerEventOnSetting parameter - that's nice!
As to the NSControl event - I don't think it's onerous for the user to map the control to extract the desired value themselves. Your suggestion is good - I've included it in addition to the plain property.
I should probably properly document all of these Bonds and Subjects I'm adding…

It's not imperative as most of those extensions are just reactive representations of corresponding properties. I'm merging this, thanks @tonyarnold!


Question: Working with Google Cloud Storage

Hello, I am trying to access files (html, js, css) located in Google Cloud Storage from my website.
The thing is that the browser does not allow an <iframe> to execute code hosted on another domain, for security reasons.
So I thought about accessing this same files, but behind a reverse proxy, so it seems that a cloud function may do the job.
I also use Firebase Hosting, so I can rewrite the desired route to the function.
I am new to Cloud Functions, so my question is: Given that the bucket may be private (they are by default), do you know if this cloud function will still be capable of reaching the resources?
Thanks

@jmaguirrei Hmm. I can't say I'm super familiar with your type of scenario, but I'll do my best to answer your question, with help from some quick research on my part:
Can this cloud function reach the resources in private bucket?
As-is? Yes and no. Just because the cloud function might be running in the same Google account / auth umbrella as the bucket, doesn't mean that it automatically "unlocks" it.
From some quick research, it looks like the two main ways to fetch assets from a private bucket are:

If you are requiring your users / visitors to be signed in with Google: Give their user access to the bucket (or certain assets) with Access Control, and then pass their auth info via the standard header.
If you want to allow anyone to view certain assets (while still having the bucket be private), you can use temporary signed URLs.

Either of those options should technically work with this cloud function; it does not strip auth headers (afaik) and proxying to signed URLs should not be an issue. However, creating those signed URLs or handling the OAuth flow is not part of this function. You would have to do that yourself. Or find an existing solution (this might be close to what you are looking for).
Use with IFrames
Before you go too far down the above route, I would just warn that I'm not sure how proxying the requests will bypass an iframe restriction. If your website is blocking an iframe from loading, that sounds like you have a CSP in place; if that is the case, the proxy URL would also get blocked, unless the CSP has cloudfunctions.net in the allowlist.
I could be way off though; I don't know enough about your specific situation to speak with confidence on that.


UserConfiguration Properties + Profiles documentation

Updates to the ondemand.d/*.yml files page , adding the new UserConfiguration properties that can now be configured using these files.
As well, added basic information about profiles and how they work.
Added placeholders for the new documentation for:
Custom navbar
Custom help bar
Custom interactive apps menu
Custom pages
This is to be able to create a reference link from this page.
This PR is work in progress, I just wanted to start with the documentation for the new features that we have integrated and get early feedback on how to approach the documentation changes needed.
This is the page that this PR modifies:
https://osc.github.io/ood-documentation/latest/reference/files/ondemand-d-ymls.html

Regarding documentation, I have more changes for the other new features that we have integrated.
Is it best to create a single PR with all the changes and review or create smaller PRs grouped by feature?

Closing, superseded by #760


Add styles for repo show

A few small questions, but this looks great :+1:
I might have mentioned it already, but I really love the color scheme. Works well on this page.


MAISTRA-1980: Fix private destination rules in root namespace

This is cherry-picks or partially cherry-picks a few upstream commits to try to fix private destination rules in the root namespace for the maistra-1.1 branch.
This seems to fix the issue for me, but I'm actually not convinced we should merge this. It's a fairly big change, and it wasn't possible to fully bring over the changes to this stuff from 1.6 and above without making the diff huge. So, it's hard to say whether this has other side effects. There's also a workaround, which is to simply run the gateway in a namespace that is not the root config namespace. In any case, I wanted to put this PR up so we can decide one way or the other.

After reviewing this, and some offline discussions. I'm not sure we can fix this without pulling in more changes. Given there's a workaround and the 1.1 release is going into maintenance mode, I'm going to close this. We can always revisit if it's determined to be more critical.


update base rpc urls to use alchemy

Base public rpc urls are deprecated...this switches to use alchemy based urls

Current dependencies on/for this PR:

main

PR #165   👈

This comment was auto-generated by Graphite.


If input is redirected on startup, PSReadline causes the process to crash

If you start PowerShell with input redirected, e.g. with
Start-Process -RedirectStandardInput input.txt -FilePath powershell -NoNewWindow

Then powershell will crash if PSReadline is loaded from your profile.

This is old, but appears to still be occurring.  In my use case, it is because I am trying to execute a script from within TextPad.  I have seen several tickets closed as a duplicate because they are referencing the same issue.  I would imagine that this will continue due to the error output giving specific instructions to "Report on GitHub: https://github.com/lzybkr/PSReadLine/issues/new".
As a developer, I understand how and why stuff keeps getting shuffled down in the backlog.  But with the issue being about two years old and no updates, are there any plans to fix it?

Plans - yes, but there are some difficulties.  Lack of time is the biggest issue, but without full pseudo-tty support, many key bindings won't be available.
The version shipping in Windows 10 Anniversary edition gracefully falls back to work as though PSReadline isn't loaded instead of reporting this error, I just haven't updated the release published on GitHub.

I am running Windows Creators update on Host and Client using Powershell SSH and am still receiving this error, has there been any update with this issue?

I have a change in this repo (but not in Windows) that gracefully fails when input is redirected, but it falls back to not using PSReadline, so there's little difference compared to just removing the module like this: Remove-Module PSReadline
As for why there hasn't been any progress - this is a side project for me and I don't hit this problem, so I haven't find the right combination of time and motivation to deal with it. I do think I will fix it at some point, but I'd also be happy for a PR - I might have some ideas on how to tackle the problem as well.

Would the change which allows for a graceful fail be present in the PsGet package? I forcefully upgraded this evening and have the exact same issue:
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\Users\ehiller>
Oops, something went wrong.  Please report this bug with the details below.
Report on GitHub: https://github.com/lzybkr/PSReadLine/issues/new
-----------------------------------------------------------------------
Last 0 Keys:

Exception:
System.IO.IOException: The handle is invalid.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.Console.GetBufferInfo(Boolean throwOnNoConsole, Boolean& succeeded)
   at Microsoft.PowerShell.Internal.ConhostConsole.get_CursorLeft()
   at Microsoft.PowerShell.PSConsoleReadLine.Initialize(Runspace runspace, EngineIntrinsics engineIntrinsics)
   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)
-----------------------------------------------------------------------

No, that package matches the code in Windows 10.

@lzybkr - ah ok ; When you say  'I have a change in this repo' how do I run this most recent code? The github archival link is antiquated. (2015 file dates) Or do you mean it is in source only form and must be compiled still?
I'd be interested to hear your ideas (If you'd be interested in sharing) While I am currently in the same boat as you, at least as far as time is concerned, I have motivation occasionally.

You can grab a build out of appveyor - the latest from master is here or if you are willing to test the next major release I'm working on, grab any recent build from the ansi_render branch here.
The basic idea on handling stdin is to map the characters sent by the terminal to instances of ConsoleKey. Basic keys are easy, but modified keys get interesting because the terminal sends multiple characters. The easiest way to get started is to call SetConsoleMode on the standard input handle with ENABLE_VIRTUAL_TERMINAL_INPUT set, then read directly from Console.In. If you are on Linux or WSL, it's useful to run showkey -a to see the characters the terminal is sending for a particular keystroke:
$ showkey -a

Press any keys - Ctrl-D will terminate this program

^[a      27 0033 0x1b
         97 0141 0x61
^A        1 0001 0x01
^[^A     27 0033 0x1b
          1 0001 0x01

Here I typed Alt+a Ctrl+a Alt+Ctrl+a, so three keystrokes total, but the terminal sent 5 characters. I believe terminal emulators will look for extra characters after specific characters like ESC (0x1b), but they do so with a limited timeout - on timeout they just assume the key is ESC. This is why tools like Emacs or PSReadline map ESC b and Alt+b to the same function.

What needs to be done to enable this after the recent merges? I'd really like to be able to have a tmux session with PowerShell on Windows, and I can help get this to that point if I know what needs to be done.

@parkovski - that would be awesome.
The general approach is to map char input to ConsoleKeyInfo - this can be done in ReadOneOrMoreKeys - basically just go down a different code path when input is redirected.
I have a couple thoughts on mapping char input to ConsoleKeyInfo. .Net Core does this already in a way that (mostly) works for PSReadLine (with one relatively useful key not correctly mapped). This mapping only works on non-Windows platforms, so I'm hoping for a solution that doesn't rely on that code. The mapping done by .Net Core is generic - it shouldn't matter what terminal type you use because it uses the terminfo database so it can map character input properly.
Because this should support Windows as well, terminfo is not available, so I was thinking of just supporting the only terminal mode that Windows supports which is documented here - search for Input Sequences.
Note that the latest change I made is somewhat more flexible in the properties in ConsoleKeyInfo in an attempt to:

support Linux better by trusting the KeyChar as much as possible
ideally make this work easier
be more portable between different keyboard layouts

Hopefully this is enough to get you started, and if you need more help, ask away, here or email (in my profile).

See #564.


remove ** in the markdown title

Error: Wrong commit subject format: 'remove ** in the markdown title'. Please use 'main/affected/package: short change description'. See docs/contributing.md for details.
Please address this failed CI check.


Add metadata keyword

Disclaimer: This is my first time doing anything serious in C# so don't hesitate to critique my code :)
I think this is now working as expected.
Contributing a feature

[x] I have opened a new issue for the proposal, or commented on an existing one, and ensured that the Bicep maintainers are good with the design of the feature being implemented
[x] I have included "Fixes #{issue_number}" in the PR description, so GitHub can link to the issue and close it when the PR is merged
[x] I have appropriate test coverage of my new feature

Description
I have added the keyword metadata to be able to add metadata to ARM templates. Both to create them in bicep but also to not loose any metadata defined in an ARM template when decompiling.
Metadata starting with _ will be ignored on decompile since they are reserved.
Example bicep:
metadata metaSimon = 'metaSimonvalue'
metadata bicepRegistry = {
  name: 'sampleModule'
  description: 'Sample module description'
  owner: 'Sampleusername'
  version: '1.0.0'
}

This will compile into:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "<IP_ADDRESS>",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.4.1386.19018",
      "templateHash": "18051444936684385945"
    },
    "metaSimon": "metaSimonvalue",
    "bicepRegistry": {
      "name": "sampleModule",
      "description": "Sample module description",
      "owner": "Sampleusername",
      "version": "1.0.0"
    }
  },
  "resources": []
}

Fixes #6126

I've been troubleshooting this for a while now and it seems to be working using the CLI, but with the vscode extension, when I hover I get a message saying: templateMetadata myMetadata: error instead of templateMetadata myMetadata: 'myValue'
My bicep contains: templateMetadata myMetadata = 'myValue'
What am I doing wrong?

I fully respect if this is something you don't want, but I would highly appreciate some kind of feedback or response, even if it is just a reject.
Ping @shenglol @alex-frankel @anthony-c-martin

Apologies @simonwahlin, I'm going to cue this up for our internal weekly discussions which will take place tomorrow and we will get you an update.

Thanks a lot!

@alex-frankel I think this is working now. I do however need some guidance on how/where to add check for reserved metadata (starting with _)

Running the CI now, but I might recommend holding off on making changes until all the discussions are finalized. I want to avoid you having to do any re-work if possible.

Thanks!

@alex-frankel I think this is working now. I do however need some guidance on how/where to add check for reserved metadata (starting with _)

@alex-frankel do you have anyone that can give me some advice here?

@alex-frankel I think this is working now. I do however need some guidance on how/where to add check for reserved metadata (starting with _)

@SimonWahlin - I'd think either in the Binder:
https://github.com/Azure/bicep/blob/72764e3437816e51d96c33f0c02aa9210783e5f0/src/Bicep.Core/Semantics/FileSymbol.cs#L93
Or in the EmitLimitationCalculator:
https://github.com/Azure/bicep/blob/72764e3437816e51d96c33f0c02aa9210783e5f0/src/Bicep.Core/Emit/EmitLimitationCalculator.cs#L34-L41

@anthony-c-martin not sure if this was how you expected me to do it, but it seems to be working. Thanks for the help!

I've run the tests several times on my machine but I cannot reproduce the failing result.
@anthony-c-martin @alex-frankel would you mind helping me understand what to do next?

If tests are passing locally, it may be an intermittent issue, so I am re-running the tests.

Thanks @alex-frankel!
This time it is failing on the step Build Bicep In Visual Studio which ran successful on the last try. I'm not sure I understand what actually fails, can you please help me?

Thanks @alex-frankel!
This time it is failing on the step Build Bicep In Visual Studio which ran successful on the last try. I'm not sure I understand what actually fails, can you please help me?

You may ignore that check since it's not required.

With the current implementation, metadata accept anything, including resource references, variables or parameters, for example:

However, it probably doesn't make sense to allow metadata to contain runtime values / deploy-time constants, since they'll get ignored by the ARM deployments engine. I think we might want to add a validation to ensure that metadata only contains literal values (a.k.a. compile-time constants), which can be done by calling TypeValidator.GetCompileTimeConstantViolation.

We'll need to update the error message of BCP007 to include metadata declaration:

@anthony-c-martin I think I got all things covered now. I ran the test workflow in my fork, results here: https://github.com/SimonWahlin/bicep/runs/8043631142

There's something wrong with binding. The below doesn't compile:
metadata test = 2
param test string
output test string = 's'
var foo = test

Metadata should behave like outputs where they do not occupy any space in the global namespace. However, it appears that the VariableAccessSyntax is bound to the metadata rather than the parameter (see the highlight in the screenshot). If I reorder the lines so the parameter is first, the file compiles just fine.

There's something wrong with binding. The below doesn't compile:
metadata test = 2
param test string
output test string = 's'
var foo = test

Metadata should behave like outputs where they do not occupy any space in the global namespace. However, it appears that the VariableAccessSyntax is bound to the metadata rather than the parameter (see the highlight in the screenshot). If I reorder the lines so the parameter is first, the file compiles just fine.

That is interesting!
I tried removing metadata and putting output on top of the file, this gave me the error Error BCP058: The name "test" is an output. Outputs cannot be referenced in expressions.
It seems to me that the problem is with GetUniqueDeclarations in Binder.cs, which will only return the first declaration of each identifier which makes us bind to that.
I tried adding a filter in the method GetUniqueDeclarations in Binder.cs to only return declarations that can be referenced (anything but metadata and output) and it seems to do the trick. However, that breaks BCP058 "The name \"{name}\" is an output. Outputs cannot be referenced in expressions." that we get when trying to reference output or metadata since those identifiers are no longer included. Instead we get BCP057 "The name \"{name}\" does not exist in the current context." which does not seem like the best solution to me.
Then I tried to sort the outermostDeclarations by putting anything that is not metadata or output first. This seems to successfully pass the test baseline and will only prioritize by type when we have more than one declaration with the same identifier.
I am still not fully comfortable with the codebase (or C# tbh) so please let me know if you think my solution might break something else or if there is a better solution.

There's something wrong with binding. The below doesn't compile:
metadata test = 2
param test string
output test string = 's'
var foo = test

Metadata should behave like outputs where they do not occupy any space in the global namespace. However, it appears that the `VariableAccessSyntax` is bound to the metadata rather than the parameter (see the highlight in the screenshot). If I reorder the lines so the parameter is first, the file compiles just fine.

That is interesting! I tried removing metadata and putting output on top of the file, this gave me the error Error BCP058: The name "test" is an output. Outputs cannot be referenced in expressions.
It seems to me that the problem is with GetUniqueDeclarations in Binder.cs, which will only return the first declaration of each identifier which makes us bind to that.
I tried adding a filter in the method GetUniqueDeclarations in Binder.cs to only return declarations that can be referenced (anything but metadata and output) and it seems to do the trick. However, that breaks BCP058 "The name \"{name}\" is an output. Outputs cannot be referenced in expressions." that we get when trying to reference output or metadata since those identifiers are no longer included. Instead we get BCP057 "The name \"{name}\" does not exist in the current context." which does not seem like the best solution to me.
Then I tried to sort the outermostDeclarations by putting anything that is not metadata or output first. This seems to successfully pass the test baseline and will only prioritize by type when we have more than one declaration with the same identifier.
I am still not fully comfortable with the codebase (or C# tbh) so please let me know if you think my solution might break something else or if there is a better solution.

Yeah, it definitely works better. I also realized that the issue was present with outputs as well, so it wasn't specific to just metadata. But you fixed it 🙂

Adding | MetadataDecorator to FunctionFlags.AnyDecorator breaks the test ParameterDecorator_MissingDeclaration_ExpectedParameterDeclaration
The test builds a bicep containing only @secure() and expects the output Error BCP147: Expected a parameter declaration after the decorator.
As soon as I modify this line the output is instead:
Error BCP132: Expected a declaration after the decorator.
Error BCP126: Function "secure" cannot be used as a variable decorator.

That is also why the baseline diagnostic files has some weird output like @majastrz commented on above.
I can't seem to figure out where this breaks, any pointers appreciated.
Ping @anthony-c-martin @shenglol

I looked into it a little bit. In main it's going through TypeAssignmentVisitor.VisitMissingDeclarationSyntax and finding a binding for the decorator function. In your branch it's not finding a binding for the decorator function for some reason. I'll dig more tomorrow evening...

Thank you @anthony-c-martin ! I think that did the trick!
I'll run the tests and push a new commit

I'm having problems when adding metadata description on module's top level and also using @description decorator on parameters
// =========== self-hosted-devops-agent-extension-deploy.bicep ===========
targetScope = 'resourceGroup'

metadata name = 'self-hosted-devops-agent-extension-deploy.bicep'
metadata description = 'Deploys a self hosted extension on a Windows Virtual Machine'
// Parameters

@description('Name of Virtual Machine')
param vmName string

Any idea? I troubleshoot this by using @metadata decorator, but I think would not be the best approach.

Please post this kind of questions as a new issue or as a discussion in the future, there is a high risk of it being missed when written as a comment to an old and closed pullrequest.
This is a problem with identifier namespaces, if you have a metadata entry that is called description, it collides with the name of the function/decorator description. You can solve this by either calling your metadata entry something else or using the full name of sys.description on your decorator.
Here are two possible sollutions:
metadata templateDescription = 'Deploys a thing'

@description('Name of VM')
param vmName string

metadata description = 'Deploys a thing'

@sys.description('Name of VM')
param vmName string


ResendLaterAsync trouble

What exactly does the deliverAt parameter expect? I've tried passing in Unix timestamps, ticks, etc. and nothing seems to redeliver.
var consumer = _pulsarClient     .NewConsumer()     .SubscriptionName(consumerName)     .SubscriptionType(SubscriptionType.Exclusive)     .EnableRetry(true) // maybe this should be false...?     .InitialPosition(SubscriptionInitialPosition.Earliest)      .Topic(topicName)     .Create();
What goes in the deliverAt parameter? I am using ReconsumeLaterAsync as I want to manually set the time to redeliver based on the retry attempt during an exception but it doesn't seem to work :(
                await consumer.ReconsumeLaterAsync(message, what goes here?);

Hi, thanks for asking! It expects unix timestamp in milliseconds, here is a usage example.


Added cluster update event trigger fleet reconcile

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/cherry-pick release-0.3


python3Packages.pyside,python3Packages.pysideTools,python3Packages.pysideShiboken,pysideApiExtractor,pysideGeneratorrunner: remove dependencies to python2

Motivation for this change
Remove python2 dependencies, and refactor the pyside tools to use multiple outputs to reduce the size of the runtime dependencies
#101964
Things done

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

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

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

Thank you. Note that pyside is old, it has not seen a release since 2015.

gah, fridh why do you always merge things before i do
https://github.com/NixOS/nixpkgs/pull/102356
8 packages built:
pysideApiextractor pysideGeneratorrunner python37Packages.pyside python37Packages.pysideShiboken python37Packages.pysideTools python38Packages.pyside python38Packages.pysideShiboken python38Packages.pysideTools

xD

yes I saw it is old but I don't know if it is safe to remove, so at least I prefer to help phasing python2 away

Result of nixpkgs-review pr 102356 run on x86_64-darwin 1

8 packages marked as broken and skipped:

pysideApiextractor
pysideGeneratorrunner
python37Packages.pyside
python37Packages.pysideShiboken
python37Packages.pysideTools
python38Packages.pyside
python38Packages.pysideShiboken
python38Packages.pysideTools


Shortcuts of next image?

Shortcuts of next image? Is there already a shortcuts exist or not?

Yes, the 'a' and 'd' keys.

ctrl+n works on windows to create a new rectangle

my next images  and previous  images button is not working  also the shortcut keys which mention above .What can i do please help it taking too much time without it.I have to go to folder and then scroll down for selecting pictures for annotation.Thanks in advance

Yes, the 'a' and 'd' keys.

my next images and previous images button is not working also the shortcut keys which mention above .What can i do please help it taking too much time without it.I have to go to folder and then scroll down for selecting pictures for annotation.Thanks in advance

you can always click that next image button. of course not so fast as shortcut.


Update release docs

electron-packager seems to handle things, and we do not need the custom copying over of the binaries. We should probably update the docs for that?

With<EMAIL_ADDRESS>normal asar packaging should work now, since darwin is single binary, check the updated example/.
So no custom copying script should be needed.


Apply bind_executor explicitly.

Codecov Report
Attention: 12 lines in your changes are missing coverage. Please review.

Comparison is base (a9d0326) 88.89% compared to head (290187b) 88.89%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #111      +/-   ##
==========================================
- Coverage   88.89%   88.89%   -0.01%
==========================================
  Files          95       95
  Lines       10256    10272      +16
==========================================
+ Hits         9117     9131      +14
- Misses       1139     1141       +2

Files
Coverage Δ

include/async_mqtt/broker/endpoint_variant.hpp
98.33% <100.00%> (+0.01%)
:arrow_up:

include/async_mqtt/endpoint.hpp
83.88% <100.00%> (+0.09%)
:arrow_up:

include/async_mqtt/stream.hpp
82.05% <66.66%> (-0.21%)
:arrow_down:


Convert caffeine_malloc_align to be an ExternalFunction instance

This is another fairly straightforward one. The rewrite fixes the implementation to validate the signature that caffeine_malloc_align is called with instead of causing assertion failures when it doesn't match.
/stack #554

@Mergifyio rebase


chore(main): release 2.5.0

:robot: I have created a release beep boop
2.5.0 (2024-11-03)
Features

library: enable filtering of answers by video (ecd30e5)
library: enable filtering of summaries by channel (e00f81e)

Bug Fixes

summary: invalid method call (d2ea52d)

Performance Improvements

remove redundant method usages (ee8e163)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v2.5.0
:sunflower:


OCPBUGS-44693: Disable ResilientWatchCacheInitialization

ResilientWatchCacheInitialization should be disabled for all API servers. At the moment we carry a patch for kas (which will be replaced by this PR)
The FG will be disabled temporarily until cause of storage error triggering cache reinitialization during bootstrap is fixed in https://issues.redhat.com/browse/OCPBUGS-45126.
There's a separate pre-existing issue causing storage layer errors and watch cache re-initialization during cluster bootstrap.
With ResilientWatchCacheInitialization enabled, clients (reflectors in particular) are turned away with 429 responses while the watch cache is being repopulated and retry repeatedly. Without this feature, requests hang (consuming priority and fairness "seats") until the watch cache is initialized or they time out. We fail tests when the total number of watch requests during a job exceeds a threshold based on recent historical totals. The systemic 429/retry behavior causes this threshold to be breached. We are temporarily disabling it to reduce noise as it's a symptom and not the cause of the underlying storage errors.

/assign @JoelSpeed

/lgtm

/retest-required

/cherry-pick release-4.18


[Test][Bug] Update worker replias idempotently in rayjob autoscaler envtest (#1471)

Why are these changes needed?
Resolves https://github.com/ray-project/kuberay/issues/1471
As discussed in the issue, we should not use ++ in a retry.RetryOnConflict block because it is not idempotent.
We should use the following, which will guarantee the idempotency with retries, to remove the flaky mentioned in the issue:
*myRayCluster.Spec.WorkerGroupSpecs[0].Replicas = *myRayJob.Spec.RayClusterSpec.WorkerGroupSpecs[0].Replicas + 1

[x] I've made sure the tests are passing.
Testing Strategy

[x] Unit tests
[x] Manual tests
[ ] This PR is not tested :(

Thank you for the contribution! Making the operation idempotent makes a lot of sense. Would you mind running the tests 100 times with and without this PR?

Sure. No problem.

I have run them both 1000 times, with and without this patch. And both of them don't have this flaky issue.


What's the point of the "outlines" in NavigationPolygon?

I'm currently fixing a bug in the NavigationPolygon resource about the editor canvas not updating when it's removed (#24197), and I noticed the outlines array, and I can't find why it's even there. It's only used by the editor to get the dragging area, but the polygons array could do the exact same thing.

Closing for inactivity.
Seems like outlines array is used by add_outline()/make_polygons_from_outlines() etc. methods, so maybe this changed since the issue was opened.


fix(subscriptionconfig): add missing merge struct tags

Not having struct tags causes difficulties with codegen.

/retest

/hold


How does RetryPolicy work?

I have the following interface:

  @GET("/information")
  @RetryPolicy(timeout = 10000)
  void GetInformation(Callback< List< Information>> callback);

This is my setup:

myService = new Wasp.Builder(MainActivity.this)
        .setEndpoint(BASE_API_URL)
        .build()
        .create(IMyService.class);

I call it like this:

 myService .GetInformation(new Callback< List< Information>>()
        {
          @Override
          public void onSuccess(Response response, List< Information> informations)
          {
            Log.w("DEBUG", "Success");
          }

          @Override
          public void onError(WaspError error)
          {
            Log.w("DEBUG", error);
          }
        });`

Sometimes I get this back:

 Wasp Error:  Status Code: 0 Url http://mysite.com/api/information
     at com.orhanobut.wasp.VolleyNetworkStack$VolleyListener.onErrorResponse(VolleyNetworkStack.java:171)
     at com.android.volley.Request.deliverError(Request.java:590)
     at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:101)
     at android.os.Handler.handleCallback(Handler.java:615)
     at android.os.Handler.dispatchMessage(Handler.java:92)
     at android.os.Looper.loop(Looper.java:137)
     at android.app.ActivityThread.main(ActivityThread.java:4802)
     at java.lang.reflect.Method.invokeNative(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:511)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:813)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:580)
     at dalvik.system.NativeStart.main(Native Method)

What does code 0 mean? If I set the retry policy, shouldn't it retry a few times? How should I set it? The Wiki is very thin.

Error information indeed doesn't contain enough information about what happened. We have an open issue for improving. You also need to add other values, currently you only set timeout.
@RetryPolicy(timeout = 10000, maxNumRetries=3, backoffMultiplier=0.75)

On the other hand, default values are set if they are null. In your case it should retry 3 times but I also don't know the reason, usually status code=0 is returned when there is no connection established.
I'll try to spare some time to improve wasperror in order to provide much better information.