Media: Do not store transient data on resource objects

Feature Description

We currently store some transient flags on media resources when performing some tasks on them, e.g. isTranscoding, isTrimming, isMuting, and even local. That's really not the best way to handle this, especially when a resource is used in multiple places.
Storing this transient data on the resources themselves might also cause issues with the edit history, see https://github.com/google/web-stories-wp/issues/9550#issuecomment-953828865. Another good reason to change this.
Idea
Export some helper function(s) in useMediaUploadQueue to get a specific resource's state, and re-export that in the local media provider for use by the rest of the editor.
Perhaps something like this:
// in packages/story-editor/src/app/media/utils/useMediaUploadQueue/index.js

isResourceUploading: (resourceId) =>
  state.queue.some(
    (item) =>
      !['UPLOADED', 'CANCELLED', 'PENDING'].includes(item.state) &&
      item.resource.id === resourceId
  ),
isResourceTranscoding: (resourceId) =>
  state.queue.some(
    (item) =>
      item.state === 'TRANSCODING' && item.resource.id === resourceId
  ),
isResourceMuting: (resourceId) =>
  state.queue.some(
    (item) => item.state === 'MUTING' && item.resource.id === resourceId
  ),
isResourceTrimming: (resourceId) =>
  state.queue.some(
    (item) =>
      item.state === 'TRIMMING' && item.resource.id === resourceId
  ),

So we don't have to check for resource.isTranscoding and the like anymore.
Then, update all the reducers in there which currently set isTranscoding et al on the resources. We don't need that anymore.
Note: need to update createResource and the Resource JSDoc accordingly.
Related: We should probably generate a resource ID with uuid in getResourceFromLocalFile and getResourceFromUrl so that all resources have an ID. Just to make our lives easier in the future.
Alternatives Considered

Additional Context

Reposting this https://github.com/google/web-stories-wp/pull/9758#discussion_r754113046 as I think it is related.
I think we should remove the local property from resources. We can replace it with a new property called source. When a media element is uploaded, instead of changing local from true / false, you could just change source from local to library. This makes gets rid of a property that is not useful outside the upload process and adds a useful field for the future. This would of course require a migrate but is possible.
Thoughts @swissspidy

Could you open a separate ticket for this suggestion? Thanks!

https://github.com/google/web-stories-wp/blob/25d43b402e39f46de36ec4636a1893f8749b932e/packages/story-editor/src/components/library/panes/media/common/mediaElement.js#L221
https://github.com/google/web-stories-wp/blob/dae19afa13198b2c121f438176497f80b6a45ea4/packages/story-editor/src/components/panels/design/videoOptions/videoOptions.js#L105-L115
https://github.com/google/web-stories-wp/blob/25d43b402e39f46de36ec4636a1893f8749b932e/packages/story-editor/src/app/media/utils/useProcessMedia.js#L114-L121
https://github.com/google/web-stories-wp/blob/25d43b402e39f46de36ec4636a1893f8749b932e/packages/story-editor/src/app/media/utils/useProcessMedia.js#L195-L202
https://github.com/google/web-stories-wp/blob/25d43b402e39f46de36ec4636a1893f8749b932e/packages/story-editor/src/app/media/utils/useProcessMedia.js#L273-L284
https://github.com/google/web-stories-wp/blob/f923a0b5fe257641718d07fc25fd68686215e8e5/packages/story-editor/src/components/checklist/checks/videoOptimization.js#L57-L65
https://github.com/google/web-stories-wp/blob/833cc68bd99067cc2288f7026a32f2f0060ff9b8/packages/story-editor/src/components/library/panes/media/common/mediaElement.js#L261-L263
https://github.com/google/web-stories-wp/blob/721a329f2a1f44e18c11721035244a17e94c0571/packages/media/src/canTranscodeResource.js#L23-L28

Could you open a separate ticket for this suggestion? Thanks!

This ticket, would block that one. I will create it now.

Why would this be blocking? 🤔

Why would this be blocking? 🤔

Because if we add a new property of source, we get rid of local property and we will not need to look in the media queue to see if a resource is local, we can use the source property.

First and foremost this ticket is about getting rid of isTranscoding, isTrimming and isMuting.
If we'd implement something like source, that would not necessarily be blocking this ticket, but merely be an enhancement on top of it.
What we need to do is:

Create a ticket for that proposal
Elaborate in detail the use, pros and cons of said proposal

Hi @swissspidy @kkalarickal
I tested the following scenarios against https://stories-qa-wordpress-amp.pantheonsite.io/wp-admin/edit.php?post_type=web-story&page=stories-dashboard, using PR #9875, and they look good to me:

Uploaded images, videos and gifs ✔
Muting off videos ✔
Trimming videos ✔
Trimming a trimmed video ✔
Trimming a trimmed video again ✔
Transcoding videos ✔
Uploading via WP media dialog ✔
Dragging into canvas ✔
Pasting images into canvas ✔
Dragging gif onto canvas and converting to mp4 ✔
Videos contain timestamp, is_muted icon and poster image ✔

Evidences can be found in the following document: https://docs.google.com/document/d/1YxaAUGP3ba8a6SEKhLAi2z0FYyO8bLjVhxtYQHb37SQ/edit#

Thanks a lot for your thorough testing!


Added ContextException and checks for RestAction improvements

Pull Request Etiquette
There are several guidelines you should follow in order for your
Pull Request to be merged.

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

It is sometimes better to include more changes in a single commit.
If you find yourself having an overwhelming amount of commits, you
can rebase your branch.

Template
Pull Request

This allows to pass a context cause to all exceptions inside the requester internals.
The new ContextException will be used in one of two ways.

Using ContextException.here(Consumer<Throwable>) directlychannel.sendMessage("test").queue(null, ContextException.here(Throwable::printStackTrace));

Using RestAction.setPassContext(true) will make this an automated feature for all RestActions

Added last-second checks for the queue workers. These checks can be used to cancel RestActions before they execute, this is an alternative to using submit().cancel(true) which allows to have a central check function.
Additionally this will allow the library to (for example) check permissions or states before making the HTTP request. This way we would be able to predict ErrorResponseExceptions and avoid an unnecessary HTTP call.

What is the status of this PR?

Currently not as important as the 3.4 PRs so I'm not working on it.

@DV8FromTheWorld can i get an update on this?

Example on using checks for internal permission checking:
//public class MessageAction
@Override
public BooleanSupplier finalizeChecks()
{
    return () ->
    {
        checkPermission(Permission.MESSAGE_WRITE); //throws exception
        return true; // check passed without exception
    }
}

This will then throw an exception if the permission is missing. That exception is caught by the internal RateLimiter and forwarded to the failure consumer, then the request is removed from the queue.
User of the library can use a similar check system which is checked after the internal checks have passed (internal() && user())
private volatile boolean isDone = false;
// someMethod(TextChannel channel) {
BooleanSupplier done = () -> isDone;
channel.getMembers().forEach( member -> {
     channel.sendMessageFormat("Hello, %s!", member).setChecks(done).queue();
});
// some time later
isDone = true; // all actions still in queue will be cancelled, this is forwarded to the queue failure consumer


Stable Diffusion Refactor

Overview
Combines Stable Diffusion 1.x and SDXL into a single file and launch mechanism.
The examples/stable_diffusion.py file was largely replaced, so the diff is going to be a bit misleading.
Missing

[ ] Baseline with THREEFRY=1 no longer matches

Examples
python3 examples/stable_diffusion.py --arch SDv1 --seed 0 --steps 24 --prompt "Bosstyle, Silhouette of a Woman fighting a colossal luminous dragon, Atmospheric haze, Film grain, cinematic film still, shallow depth of field, highly detailed"

python3 examples/stable_diffusion.py --arch SDXL --seed 0 --steps 24 --prompt "Bosstyle, Silhouette of a Woman fighting a colossal luminous dragon, Atmospheric haze, Film grain, cinematic film still, shallow depth of field, highly detailed"

It's very hard to review a pr that adds 1300 lines and subtract 1500 lines, and it changed the underlying output too. Is there a way to break it into smaller ones (like move clip and unet into extra is good and should not change validation output, can isolate those into its own pr first)
Will discuss handling larger files in tomorrow's meeting (we have Monday 940 pt meeting in case you are interested), but I would say adding a 1.5M png just for showcase is not worth it.

It's very hard to review a pr that adds 1300 lines and subtract 1500 lines, and it changed the underlying output too. Is there a way to break it into smaller ones (like move clip and unet into extra is good and should not change validation output, can isolate those into its own pr first)
Will discuss handling larger files in tomorrow's meeting (we have Monday 940 pt meeting in case you are interested), but I would say adding a 1.5M png just for showcase is not worth it.

Sounds good, I'll see if I can listen in tomorrow during my lunch break.
FWIW the output only changes when running with THREEFRY=1, without that outputs do not change with this PR.
I'm OK splitting thing up and bringing it in parts, but will hold off until tomorrow's meeting to get a more concrete direction.

closing to redo with smaller chunks


Add docs about sys.dm_xe_database_session_targets:failed_buffer_count

This is a column we recently added to help track failures of individual targets. It is not yet present in SQL MI or box which is why the docs for sys.dm_xe_session_targets have not also been updated.

@slaymaker1907 I'll pull these into an internal PR and refresh the underlying articles at the same time. Thanks for the contribution.

Replaced by https://github.com/MicrosoftDocs/sql-docs-pr/pull/28194.


Certificate update not triggering the restart of the secondary server (possible that this works only on ext4 Filesystems)

This is related to the issue we've hit with #232
Once again we're seeing too many open files
@kalluriramkumar is going to work with @kumarnarendra701 on getting a filesystem config that fixes this (as we've already done a lot in the code to minimise the number of open files).

@kumarnarendra701 can you please add a label(s) to this so we can track status better?  TY

@cpswan - Performed below debugging on Buzz to fix this issue.

Increased Hard/Soft Limit
Increased file-max size
Increase ulimits from compose file
But still not able to resolve the issue, then finally performed a reboot of the worker node, scheduled a new secondary, and found the restart file working. So it seems that the file open limit is exhausted in the system, but the open file count is less than the specified size.

@kalluriramkumar do you think this is cleared permanently by the changes made, or temporarily by the worker node reboot?

@kalluriramkumar any update?

This issue is fixed and merged to trunk branch. Earlier we have directory file watcher which fails to recognize the file create events when file is created on NFS file system. Now the code is modified to look for presence of file instead of file events. With the latest docker image the issue should be resolved.

@kalluriramkumar - Is the build deployed on buzz? because I tried to renew various certs but it creates a restart file but secondaries not getting a restart.

@kumarnarendra701 : The changes are merged to trunk branch 3 ago and staging servers should be refreshed by now. Also, with the new changes, the job runs only twice a day (once in 12 hours from a random hour generated by the server on start-up). So the moment the restart file is created, the server would not immediately restart.

@kalluriramkumar - It seems the restart file is not there in the cert directory, I have triegged a few more renewals to see the secondaries status.

@kumarnarendra701: restart file will not be there in certs directory, when ever server has to restart, place restart file into the certs directory and server will restart when cron job finds the restart file. Please let me know if you need a quick demo on this feature.

@kalluriramkumar - I can see the restart file working now with below logs.
INFO|2021-09-22 00:00:01.192858|StatsNotificationService|StatsNotificationService is enabled. Runs every 15 seconds
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    |
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    | INFO|2021-09-22 00:00:01.193074|AtCertificationValidation|Certificates reload job scheduled to run at 5 hours and 17 hours
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    |
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    | INFO|2021-09-22 00:00:01.289631|AtSecondaryServer|Secondary server started on version : null on root server : root.atsign.wtf
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    |
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    | INFO|2021-09-22 00:00:01.289842|AtSecondaryServer|Secure Socket open for @ordinary44 !
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    |
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    | FINER|2021-09-22 00:00:01.289875|AtSecondaryServer|serverSocket _listen : SecureServerSocket
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    |
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    | FINER|2021-09-22 00:00:33.033021|AtSecondaryServer|In _listen - clientSocket.peerCertificate : null
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    |
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    | FINER|2021-09-22 00:00:33.036683|InboundListener|command received: scan sessionID:_4c198a56-d50f-4e22-ba28-f05bd0591431
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    |
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    | FINER|2021-09-22 00:00:33.036721|AtSecondaryServer|inside _executeVerbCallBack: scan
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    |
ee32a825-6cb2-5d64-ac76-e0358ea1a47c_secondary.1.yusflwv32tc7@buzz-02    | FINER|2021-09-22 00:00:33.036753|DefaultVerbExecutor|verb handler found : ScanVerbHandler

@cconstab I see @kumarnarendra701 confirming that the work by @kalluriramkumar is doing what's needed, so are you OK to close this one?

For sure


quickpick close when clicking anywhere else on desktop

set ignoreFocusOut = true so that it will not close the quickpick while clicking anywhere else on the desktop.
Fix: #113

Codecov Report

Merging #119 into master will decrease coverage by 0.14%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #119      +/-   ##
==========================================
- Coverage   73.77%   73.63%   -0.15%
==========================================
  Files          19       19
  Lines        1045     1047       +2
  Branches      148      148
==========================================
  Hits          771      771
- Misses        274      276       +2

Impacted Files
Coverage Δ

src/util/MultiStepInput.ts
6.49% <0%> (-0.18%)
:arrow_down:

Continue to review full report at Codecov.

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


Add mtbundles schema for managed-tenants-bundles config.yaml

Add a schema for config.yaml file inside of managed-tenants-bundles.
Refactored a few constructs, and most importantly externalized the shared parts of metadata, imageset and mtbundles schemas as JSON pointers. (Could not get it to work with yaml...)

Could not get it to work with yaml

Did some googling and it seems like we need an openAPI 3 parser to make it work for yaml.

Did some googling and it seems like we need an openAPI 3 parser to make it work for yaml.

Interesting. Do you have a link? Did we want to use it? I am personally fine /w JSON. WDYT?

@sugarraysam I'm fine with json as well :)


adding tool to clean/setup dbs

Simple command to just handle DB cleanup. Taken from st2ctl and st2_express.sh.

<3.


V1.5.0 Breaking Change - parse_url() error with unescaped secret key

Hi !
Since the last release (1.5.0) I encounter the following exception :
"Invalid Azure Service Bus DSN ..."
After a quick look, I noticed the parse_url function is now used to parse the DSN url.
Problem is : I have some unescaped characters in my secret key (especially a / character that breaks everything).
So came a few questions :

Can this be considered as a breaking change ? If so, a major version with this info in the release note would be better IMHO.
Am I supposed to have this kind of unescaped characters in my secret key ?
And, if I do escape it, the key won't be valid anymore to the azure service bus, right ? / character becoming %2F with urlencode for instance.

Maybe I am missing some good practice about formatting my secret key, in this case please tell me !
EDIT:
I just saw there is a call to url_decode at some point, so it should decode the secret key correctly, but the other questions still stands :)

WE've also experienced this since the update:
https://github.com/AymDev/MessengerAzureBundle/commit/41c371dd4f6fb6c7ee152b024683bea01316197d#r138620999

Hello and sorry for the unwanted breaking changes.
This behaviour won't be changed in v1.5 but is documented in v2.0.0 that I just released.
To answer each of your questions:

Can this be considered as a breaking change ? If so, a major version with this info in the release note would be better IMHO.

You are right, this is a breaking change. I don't want the behaviour to change (official Symfony Messenger transports also use parse_url to read the DSN) but I released a new major version with an upgrade document. The README also warns about this.

Am I supposed to have this kind of unescaped characters in my secret key ?

I can't tell but it looks like you are not the only one having special characters in your keys.

And, if I do escape it, the key won't be valid anymore to the azure service bus, right ? / character becoming %2F with urlencode for instance.

As you noticed, there is a urldecode() call later. URL encoding your keys is the right way to do.


TSC Agenda 2022/09/20

TSC Meeting Details
Date/time: 2022-09-20 @ 8am Pacific (Timezone Converter)
Location: Discord tac-tsc voice channel

https://github.com/o3de/tsc/issues/52

https://github.com/o3de/o3de/issues/9295

New website and blog workflow with docs and community discussion.


openapi2kong learnservice_oas.yaml fails on MacOS

This seems similar to https://github.com/Kong/kong/issues/4485.
I followed the instructions in the README on my M1 Mac (MacOS):
# NOTE: this is meant to run an a Kong system, not on a standalone Lua installation
$ git clone https://github.com/kong/openapi2kong
$ cd openapi2kong
$ luarocks make

It installed openapi2kong successfully, but when I tried running it on the example, it failed:

P.S. why does it say openapi2kong is deprecated? Should I use Insomnia CLI instead?

It has been deprecated, was replaced by Insomnia CLI (inso), which has already been replaced again with a new implementation in decK, here's how to get started: https://docs.konghq.com/deck/latest/guides/apiops/

as for the error, it seems you are running Lua 5.4. Whereas this module was shipped with Kong, which runs on LuaJIT (which is compatible with Lua 5.1/5.2).


(Should hold merging until design review completes): feat(form): icon-based form validation UI

Refs IBM/carbon-components-react#1213.

Took tooltip approach rather than "icon plus message at the bottom” one to better align with the proposed table full edit UI. Having brought up table full edit UI, the code should serve some basis for table full edit’s form validation code.
Changelog
New

New form validation UI with tooltip, for text input, number input and select. (Didn’t do text area as text area tends to have large UI and it raises “where the icon should be put?” question and means there should be enough screen estate for regular form validation message - But let us know there are better ideas)
Hover-over tooltip code, brought back from v8, but now activated only when data-tooltip-supports-hover attribute is there in where data-tooltip is

Testing / Reviewing
Testing should make sure the new form validation UI works well, and existing form elements won’t be broken.

Put stage links at:

Text input (Default)
Text input (Light)
Number input (Default)
Number input (Light)
Select (Default)
Select (Light)

CC @IBM/carbon-designers

Thanks @aagonzales for reviewing! Will update the select box.

Thanks you for taking a look @designertyler! Is it for form validation error state in general (meaning, regardless of using icon at the right or using text at the bottom)?

hi @asudoh ! @jeanservaas gave me the link to the text input fields, and it brings up the icon issue relevant here: https://github.com/IBM/carbon-components/files/2389860/Experiemental_Components_WIP.zip
it looks like the "no" icon in the first screenshot is for disabled components, and error/invalid inputs should have the " ! " icon

@lovemecomputer I think you are getting our current components confused with the experimental ones. Two totally different things right now.

My apologies for getting back late on this:
@designertyler interesting thought - I think it'll be done by disabled drop down (select) items, but wondering if you have different thoughts here.
@alisonjoseph good point, given how far we have got wrt experimental components, I guess the new form validation UI here and the experiment components effort should be converged. Wondering if it makes sense to you. If so, I can work on the convergence once we have got experimental version of form elements code.

My only concern is whether or not adding this is a breaking change? As long as we can be sure it doesn't break any current users who aren't currently using icons then I am ok merging this in. (and then going back to update the experimental text input to modify)

Thank you for your comments @alisonjoseph! Let me explain more about what I meant - My thought is holding this effort (instead of merging it right now) at least until we get experimental version of form elements. Similar to you are concerned with breaking changes, I was concerned on multiple (UX) changes in the new icon-based from validation UI, one in v9 with this PR, another in v10 with the new design. That said, another idea is putting all changes in this PR under feature flags. Wondering if I explained enough here - Please let me know otherwise - Thanks!

Oh ok, that is probably a smart idea to hold then. 👍

Thanks @alisonjoseph! Let me close this for now - Once we determine what we do (UX) with experimental version, I can reopen and start over from there. If we see high consumers' requirements implementing this in v9, we can create a plan for back-porting.


Non-constant f in Enzyme

DI extensions

Remove Const annotation on f.

Downside: performance loss in most cases
Upside: allows closures and thus second order

Codecov Report
Attention: Patch coverage is 0% with 12 lines in your changes missing coverage. Please review.

Project coverage is 5.90%. Comparing base (0b7a2f9) to head (3364518).

Files
Patch %
Lines

...ifferentiationInterfaceEnzymeExt/reverse_onearg.jl
0.00%
7 Missing :warning:

...ifferentiationInterfaceEnzymeExt/forward_onearg.jl
0.00%
2 Missing :warning:

...ifferentiationInterfaceEnzymeExt/reverse_twoarg.jl
0.00%
2 Missing :warning:

...ifferentiationInterfaceEnzymeExt/forward_twoarg.jl
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #309       +/-   ##
==========================================
- Coverage   96.32%   5.90%   -90.42%
==========================================
  Files          95      63       -32
  Lines        4294    2202     -2092
==========================================
- Hits         4136     130     -4006
- Misses        158    2072     +1914

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Mobile Safari: Involuntary Continuous Scroll to Top

In mobile Safari [on iPhone], after user scrolls down inside a pad/document, the page automatically scrolls to the top continuously. This makes scrolling past the height of the screen impossible.

Hi @j28! I think this is a bug in Sandstorm, not Sandcats -- sandcats refers just to a DNS and HTTPS certificate service. If you want to file it against Sandstorm, you can do so here: https://github.com/sandstorm-io/sandstorm/issues
Hope you're having a nice December!


refactor(@schematics/angular): remove non-useful or operator

There is already the following code that sets options.directory to options.name if no directory is passed as an option.
if (!options.directory) {
    options.directory = options.name;
}

So the options.directory || options.name is unnecessary

@ahasall, can you please rebase to make this green?

@alan-agius4 the branch is update

Or do you want me to rebase just so that the build can trigger again ?


Failing on Add Cloudflare key - pubkey 404

Hello,
I've used your package several times. Now when trying to reprovision a new server it is failing with the below. Any ideas? All my setup is correct as I have used your package before.
Many thanks,
Aaron
TASK [TypistTech.trellis-cloudflare-origin-ca : Add Cloudflare key] ************
fatal: [***********]: FAILED! => {"changed": false, "msg": "Failed to download key at https://pkg.cloudflare.com/pubkey.gpg: HTTP Error 404: Not Found"}

Cloudflare removed cfca from their ppa.
This role is unusable until we find an alternative.
See: https://github.com/TypistTech/trellis-cloudflare-origin-ca/pull/59


review of PR #16

do not use for i in len(range(magc_ids)), see 910cb2aec910f8f9570f3a207a76e2cfc9b19904
wafer IDs are strings. This time it was 60/61 but next time it could be Cortex_B02
2 constants can be inferred from xlog

Thanks @templiert !  You changes look good to me.  The one thing I'm still thinking about is your comment above

wafer IDs are strings. This time it was 60/61 but next time it could be Cortex_B02

and the related changes you made here .
When originally setting this up, I went back on forth on whether I should:
a) assign each wafer a different render owner (e.g. hess_wafer_60 and hess_wafer_61) or
b) assign both wafers the same render owner and prepend something like w60_ and w61_ to the render project, stack and match collection names.
I ended up choosing (b) thinking that it would ultimately be helpful to keep related wafers together under the same "owner" and guessing that all future wafers would be uniquely numbered regardless of what was being imaged.
I think what I'll do now is simply rename wafer_id to wafer_prefix and add a comment to explain its purpose (and that it should be short because it will get prepended to lots of other names).
Let me know if you think there is a better way to handle this,
Eric

I think what I'll do now is simply rename wafer_id to wafer_prefix and add a comment to explain its purpose (and that it should be short because it will get prepended to lots of other names).

That sounds like a good solution.
Samples can span multiple wafers.
Between owner and wafer we might be lacking the concept of a sample?
I have a todo to add this hierarchy level in the future on the IBEAMMSEM part. For example I think the wafer xarrays of a sample will be wrapped in a single root xarray.DataTree.
With or without an additional sample level, I think that your prefix solution is good for now and likely for a good while: we keep strings, and we keep them short.


Add foundation sec members as security contact to github

Description

I would like to propose our help with regards to security maintenance.
Our team at CloudBees will be able to react on security issue reports, by definition time-sensitive. This way we can be notified on the event of a security report to help on the resolution, collaboration with the security team, synchronization, etc.
We have done this already for a number of plugins:
https://github.com/jenkins-infra/repository-permissions-updater/search?q=foundation_security_members&unscoped_q=foundation_security_members
If anybody sees a problem with this, please let me know.
Thank you.

Repo implied: https://github.com/jenkinsci/github-plugin
CC @integer @lanwen @oleg-nenashev for approval from an existing maintainer.
CC @daniel-beck as the security officer since this PR is changing security contacts.

Submitter checklist for adding or changing permissions

Always

[x] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[ ] Add link to resolved HOSTING issue in description above

For a new permissions file only

[ ] Make sure the file is created in permissions/ directory
[ ] artifactId (pom.xml) is used for name (permissions YAML file).
[ ] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[ ] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[ ] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[x] All newly added users have logged in to Artifactory at least once

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @daniel-beck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

Still missing a declared releaser or maintainer to approve this.

@KostyaSha would you be fine with this? It means our team will also be included in the loop if any security issue arises on the plugin.
Depending on the availability, we will then be able to either do the fix ourselves, or let you handle it if you would like to, and assist you as need be (reviewing fixes, etc.).
Thanks!

@KostyaSha would you be fine with this? It means our team will also be included in the loop if any security issue arises on the plugin.

As i see i was replaced, does it mean also?

Good point. AFAIK, all developers PLUS the security contact is involved in the security issues, so you would still be put in the loop and have access to the SECURITY issue on https://issues.jenkins.io/
Am I correct @daniel-beck @Wadeck ?

We've started giving access to security issues to all uploaders (~maintainers) plus security contact a while ago, so security contact now mostly makes sense to add an additional account that isn't among uploaders.

Why not have foundation_security_members by default for everything then? Why do you need to do all this PRs with changes?

Why not have foundation_security_members by default for everything then? Why do you need to do all this PRs with changes?

Adding security contacts requires approval by maintainers. Or WDYM?

I think i have no choice, approved ;)

I think i have no choice
You do

On Mon, Mar 22, 2021 at 8:57 PM Tim Jacomb @.***> wrote:

Merged #1864
https://github.com/jenkins-infra/repository-permissions-updater/pull/1864
into master.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jenkins-infra/repository-permissions-updater/pull/1864#event-4492255824,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAW4RIHP2VBZX5WPJ6QVIVTTE6OKXANCNFSM4ZCQJQNA
.


Refactor 'addressbook' classes names to 'fashionmatch'

running the loop 100 times worked guys XD @rafflesandrison @ReinSheer


Try ruby-slim-bullseye

#10

Doesn't seem to build for me on ARM64? Complains of missing npm. Then after naming that explicitly, with an error with yarn.

Don't think build-arg'ing distro makes sense, given how different distros have different stuff installed and use different package managers.

If there's still interest here, we should follow the lead from the coming Rails Dockerfile. Just use regular slim: https://github.com/rails/rails/blob/main/railties/lib/rails/generators/rails/app/templates/Dockerfile.tt

@dhh I have updated and now we use the same image as the coming Rails Dockerfile.


Document "noclick" regions for Flash games

In flashgames.json, 21 games have "noclick" regions. I assumed these would be rectangles where the agent should not be allowed to click. However, these regions are just lists of four integers; there is no obvious way to interpret them.
When I interpret the regions as [x, y, width, height], the resulting regions make no sense. I looked at the noclick regions for flashgames.EasterEggsChallenge-v0 and they partly covered the playable part of the game. Other formats, like [x1, x2, y1, y2] and [x1, y1, x2, y2] make no sense because of invalid orderings.

Update: I believe the list is in the order [x, width, y, height]. Why is this the order that was chosen? Also, is this documented anywhere? If not, it probably ought to be.


React 16 Upgrade

Hey,
Been using the imperative API for a while now and it works great, just upgraded my app to react 16, tested it out and it runs very smoothly. Still have this dependancy warning from yarn though " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>It's the only package ive got left in my tree that has the warning, just wanted to say something about it.
cheers

Sorry about that, should be fixed in 3.1.2, comment back if not :)


Importance of sequence of anime's argument attributes

I have found something in the library that is not mentioned in the documentation, and I think is somehow important:
The sequence of anime's argument attributes affects animation, that is, for example, if you use scale property before translate property, you may get different result than if use translateX before scale property. Live comparison here:
1. scale before translate
2. scale after translate
However this is not a bug related to this library, but I recommend this tip to be mentioned.

This is the expected behaviour of the CSS transforms, I don't see the need of adding this to the documentations.
If you were developing the animation using pure CSS, the problem would have been the same.


[MM-14751] Add group_constrained flag when getting profiles

Summary
Adds group_constrained parameter to /users and /users/search endpoints.
Ticket Link
https://mattermost.atlassian.net/browse/MM-14751
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit tests passed
[x] Ran make flow to ensure type checking passed

Test Information
This PR was tested on: [Chrome, Linux and Android Emulator for Pixel 2XL with Android 9]

@cpanato any reason why this would fail running the tests in circleci?

i think this PR need an update @mgdelacroix @enahum

@mgdelacroix @enahum updated the branch

@cpanato thanks!!


v-prediction support

Right now the program seems to only support eps-prediction. Some models use v-prediction and the lack of support for it causes the inference to generate noisy and unusable images with those models.
EDIT: it seems like there's support for it but the detection for stable diffusion 1.X isn't implemented.

Which sd1.x models use v-prediction?

Mainly the yiffymix models but I've found other 1.5 experimental models that use it that I can't remember right now.
Since there aren't a lot of models using it maybe an option to force the denoising mode manually would be enough.


Cannot opam install nocrypto

similar to #87 - zarith - just did an opam upgrade + install nocrypto and getting the following -
The following actions will be performed:
  ∗  install oasis    0.4.7                   [required by nocrypto]
  ∗  install zarith   1.4.1                   [required by nocrypto]
  ∗  install nocrypto 0.5.3
===== ∗  3 =====
Do you want to continue ? [Y/n] y

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[nocrypto] Archive in cache
[oasis] Archive in cache
[zarith] Archive in cache

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[ERROR] The compilation of zarith failed at "make install".
∗  installed oasis.0.4.7

#=== ERROR while installing zarith.1.4.1 ======================================#
# opam-version 1.2.2
# os           linux
# command      make install
# path         /home/nick/.opam/4.03.0/build/zarith.1.4.1
# compiler     4.03.0
# exit-code    2
# env-file     /home/nick/.opam/4.03.0/build/zarith.1.4.1/zarith-7533-a00279.env
# stdout-file  /home/nick/.opam/4.03.0/build/zarith.1.4.1/zarith-7533-a00279.out
# stderr-file  /home/nick/.opam/4.03.0/build/zarith.1.4.1/zarith-7533-a00279.err
### stdout ###
# ocamlfind install -destdir "/home/nick/.opam/4.03.0/lib" zarith META zarith.h zarith.cma libzarith.a z.mli q.mli big_int_Z.mli z.cmi q.cmi big_int_Z.cmi zarith.a zarith.cmxa zarith.cmxs dllzarith.so
# project.mak:99: recipe for target 'install' failed
### stderr ###
# [...]
# Installed /home/nick/.opam/4.03.0/lib/zarith/z.cmi
# Installed /home/nick/.opam/4.03.0/lib/zarith/big_int_Z.mli
# Installed /home/nick/.opam/4.03.0/lib/zarith/q.mli
# Installed /home/nick/.opam/4.03.0/lib/zarith/z.mli
# Installed /home/nick/.opam/4.03.0/lib/zarith/libzarith.a
# Installed /home/nick/.opam/4.03.0/lib/zarith/zarith.cma
# Installed /home/nick/.opam/4.03.0/lib/zarith/zarith.h
# Installed /home/nick/.opam/4.03.0/lib/zarith/META
# ocamlfind: dllzarith.so: No such file or directory
# make: *** [install] Error 2

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following actions were aborted
  ∗  install nocrypto 0.5.3
The following actions failed
  ∗  install zarith 1.4.1
The following changes have been performed
  ∗  install oasis 0.4.7

I seem to have all of the prerequisites but zarith just doesn't want to play.
opam --version 1.2.2
ubuntu 16.04
ocaml 4.03 / 4.04
opam depext conf-gmp.1 -
# Detecting depexts using flags: x86_64 linux ubuntu
# The following system packages are needed:
#  - libgmp-dev
# All required OS packages found.
opam depext --flags -> # Depexts flags detected on this system: x86_64 linux ubuntu

Everything works - my bad environment setup caused the error


show relative path in window title rather than absolute path

Did you check existing requests?

[X] I have searched the existing issues

Describe the feature
show relative path in window title rather than absolute path
I am using floating window. and absolute path for my project is very long and gets truncated in window title
it would be better if there is an option to show relative path from current working directory in window title
Provide background
trying to show relative path in window title rather than absolute path when shown in floating mode
What is the significance of this feature?
nice to have
Additional details
No response

Absolute path is also very long on status line


"Share nominator name with candidate" on NomCom form doesn't do anything

Describe the issue
I just nominated a bunch of people for NomCom roles, and got several reports that my name as nominator was not in the nomination email that people received.
So the "Share nominator name with candidate" checkbox doesn't seem to do anything.
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

That's not what the button is for.
It gives the nomcom members a visual indication when they are viewing the feedback that the nomcom member can feel free to share that you provided the feedback (in this case, the nomination).
It looks like this while viewing feedback:

I'm marking this as invalid - feel free to argue with me. But if that clears things up, please close the issue.

Well, then the label is really misleading.

Or maybe rather the logic should be inverted, and the label should say "keep nominator confidential".

"Tell nomcom it's ok to share this nominator's name with candidate"?


SqlDelight code generator is not producing code for ROW_NUM function

SQLDelight Version
2.0.2
Gradle Version
8.8
Kotlin Version
1.9.23
Dialect
SQLite
AGP Version
8.5.2
Describe the Bug
Seems to be a bug within SqlDelight 2.0.2
This is the query that is facing issues:
getNotificationsMessages:
WITH NumberedMessages AS (
    SELECT
        -- other fields
        ROW_NUMBER() OVER (PARTITION BY m.conversation_id ORDER BY m.creation_date DESC) AS row_num
    FROM
        Message m
    JOIN
        User u ON m.sender_user_id = u.qualified_id
    JOIN
        Conversation c ON m.conversation_id = c.qualified_id
    LEFT JOIN
        MessageAssetContent ac ON m.id = ac.message_id AND m.conversation_id = ac.conversation_id
    LEFT JOIN
        MessageTextContent tc ON m.id = tc.message_id AND m.conversation_id = tc.conversation_id
    WHERE
        -- Criteria
)
SELECT
    -- some fields
FROM
    NumberedMessages
WHERE
   row_num <= 10
ORDER BY
    date DESC;

However, the ROW_NUMBER() OVER ... field is removed by SqlDelight code generator:
WITH NumberedMessages AS (
    SELECT
        -- more fields
        row_num -- It completely removed the rest of the query here
    FROM
        Message m
    JOIN
        User u ON m.sender_user_id = u.qualified_id
    JOIN
        Conversation c ON m.conversation_id = c.qualified_id
    LEFT JOIN

[!NOTE]
On version 2.0.1 it is working as expected, generating the full ROW_NUMBER() OVER field.

Stacktrace
org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such column: row_num)

 org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such column: row_num)
 	at app//org.sqlite.core.DB.newSQLException(DB.java:1179)
 	at app//org.sqlite.core.DB.newSQLException(DB.java:1190)
 	at app//org.sqlite.core.DB.throwex(DB.java:1150)
 	at app//org.sqlite.core.NativeDB.prepare_utf8(Native Method)
 	at app//org.sqlite.core.NativeDB.prepare(NativeDB.java:132)
 	at app//org.sqlite.core.DB.prepare(DB.java:264)
 	at app//org.sqlite.core.CorePreparedStatement.<init>(CorePreparedStatement.java:46)
 ...

📸 The snapshot version seems to work 2.1.0-SNAPSHOT - in a small sample app
Previously I fixed an issue with Sqlite Windows as they didn't really work https://github.com/sqldelight/sqldelight/pull/5406
📓  Using  minSdk = 30 as Window function support was first added to SQLite with release 3.25.- SqlDelight uses the minSdk to select the sqlite dialect version.
Generated source
public class NotificationsQueries(
  driver: SqlDriver,
) : TransacterImpl(driver) {
  public fun `get`(): Query<Long> = Query(-813_273_273, arrayOf("Message", "User", "Conversation",
      "MessageAssetContent", "MessageTextContent"), driver, "Notifications.sq", "get", """
  |WITH NumberedMessages AS (
  |     SELECT
  |         ROW_NUMBER() OVER (PARTITION BY m.conversation_id ORDER BY m.creation_date DESC) AS row_num
  |     FROM
  |         Message m
  |     JOIN
  |         User u ON m.sender_user_id = u.qualified_id
  |     JOIN
  |         Conversation c ON m.conversation_id = c.qualified_id
  |     LEFT JOIN
  |         MessageAssetContent ac ON m.id = ac.message_id AND m.conversation_id = ac.conversation_id
  |     LEFT JOIN
  |         MessageTextContent tc ON m.id = tc.message_id AND m.conversation_id = tc.conversation_id
  | )
  | SELECT
  |     NumberedMessages.row_num
  | FROM
  |     NumberedMessages
  | WHERE
  |    row_num <= 10
  | ORDER BY date  DESC
  """.trimMargin()) { cursor ->
    cursor.getLong(0)!!
  }```


Q: Check if user is subscribed to channel?

Hey,
How hard would it be to implement the functionality that the bot only listens to subscribers in the chat?

Hey sorry it took so long to get back to you on this, I had forgot to turn on notifications for this repo. Just added an extra option to limit the command to subscribers only. If you use the newest version (2.0.0) and update your config to include the new option (as shown in the example config) it should work for you.

Works flawlessly, thanks! 👍


fix: linter not running due to typo

Closing in favour of https://github.com/G-Research/yunikorn-history-server/pull/113


Error: Cannot find preprocess script. (For sass in my case)

Have this configuration:
{
  "presets": ["es2015","stage-2","react"],
  "plugins": [
  "babel-plugin-webpack-alias",
    ["transform-object-rest-spread", { "useBuiltIns": true }],
    ["css-modules-transform",{
        "generateScopedName": "[name]__[local]___[hash:base64:5]",
        "preprocessCss": "./utils/sass_preprocess_tool.js",
        "extensions": [".css", ".scss"],
        "extractCss": "./dist/combined.css"
    }]
  ]
}

Using the exact script from the READ.me
// ./path/to/module-exporting-a-function.js
var sass = require('node-sass');
var path = require('path');

module.exports = function processSass(data, filename) {
    var result;
    result = sass.renderSync({
        data: data,
        file: filename
    }).css;
    return result.toString('utf8');
};

When using a relative file path get:
/home/pil0t/Projects/powr_x/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:600
      throw err;
      ^

Error: /home/pil0t/Projects/powr_x/src/api/server.js: Cannot find module './utils/sass_preprocess_tool.js'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at requireLocalFileOrNodeModule (/home/pil0t/Projects/powr_x/node_modules/babel-plugin-css-modules-transform/build/utils/requireLocalFileOrNodeModule.js:24:16)

When using absolute file path, get:
/home/pil0t/Projects/powr_x/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:578
        throw err;
        ^

Error: /home/pil0t/Projects/powr_x/utils/sass_preprocess_tool.js: Configuration file for 'preprocessCss' is not exporting a function
    at Object.preprocessCss (/home/pil0t/Projects/powr_x/node_modules/babel-plugin-css-modules-transform/build/options_resolvers/preprocessCss.js:25:15)
    at /home/pil0t/Projects/powr_x/node_modules/babel-plugin-css-modules-transform/build/index.js:131:66
    at Array.forEach (native)

Ultimately, the absolute file path at least resulting in a file being found is one thing.
But the fact that it doesn't accept the module is concerning.  Its entering as a blank object.  Indicative of a circular dependency, but there definitely isnt one :sad:

I am sorry, I will take a look sometime in March, I don't have free time in February. I am moving to the other side of the country and I have to do a lot of stuff.
Could you provide a minimal repository where I can get this error?
Is this still with babel-node or this is happening for babel compilation using babel ?

babel-node :)  I could take a peak and suggest a PR if it would make your life easier?  Good luck on the move bro - I hope its not too stressful. :] Thanks for the help a la community!

Hello! Is there any news on this yet? Thanks!

I ended up patching - poorly - you check it out here: https://github.com/wi-ski/terriblepatchforcssmodules
I do not recommend using this at all.  However - it might point you in the right direction.

@wi-ski I found that it was caused by "babel-plugin-webpack-alias". I was refactoring code when I've got an error that webpack.config.js or webpack.babel.config.js are missing.
See screenshot

This caused node.js to throw an error as it was a circular dependency.
I was trying your config. If you remove babel-plugin-webpack-alias everything should be fine. Could you reproduce this scenario please?

@joaocrq Could you share your configuration or a minimum project to reproduce error?

@wi-ski I created webpack.config.js in my test_case project with following contents:
module.exports = {
    resolve: {
        alias: {
        }
    }
};

And plugin works without any problems with babel-node.

@wi-ski ok previous comment is not true. It compiles but css is not written so I think that something swallows an error.

@wi-ski could you try next version please?

@michalkvasnicak - Yea totally.  I cant do it yet.  But I haven't forgotten. Apologies for the delay.


Add language debugging mode

This is an idea from today's show-and-tell which would help translators a lot.
It would be great to be able to switch iD into a mode where instead of the translation strings, you just see the translation keys.  This in itself isn't too hard to do by changing what  the code in locale.t() does.
The tricky part is that there are probably lots of components of iD that are only entered once and never updated again.  When switching the language, we'd really need to rebuild the ui from scratch.  This code is in ui/init.js and is really not designed to be rerun.  It might be ok to preserve some of the map state and throw out all that stuff and reenter it - I don't know.  It's like how iD can switch in and out of the walkthrough, but probably more complicated.
This would enable #3120 too (switching languages on the fly).

So, I did this today:

It's kind of weird but it works.. Is this something that would be useful to people doing translations?
The idea is that now iD can switch languages on-the-fly, and I added a special language called _tkeys_ that shows the keys instead of the strings.
Right now toggling languages can only be done through the dev console (we can add a proper field to pick the language later, closing #3120):
id.ui().restart('it')
id.ui().restart('ru')
id.ui().restart('zh')
id.ui().restart('_tkeys_')

cc @1ec5 @manfredbrandl @slhh @tyrasd

Yes, that could be useful for zeroing in on an incorrect translation I spot while using iD. I sometimes use a similar mode when translating MediaWiki (example), although fortunately Transifex’s search engine is much more usable than Translatewiki.net’s.
More commonly, I need to go in the other direction while translating in Transifex: figuring out where a string marked for translation is used within iD. For that purpose, I usually head over to this repository’s commit history and root around for the relevant change. (Thank you for descriptive commit messages!) One way to improve this workflow would be a mode where untranslated UI elements are highlighted prominently or greeked (replaced with lookalike ¢ħª®ä©¯ţǝ®§ or emoji).

Another improvement is if you add a link to the Git commit in the transifex comment for each string.  In that way,  i can easy go directory to the relevant commit.

Thanks for the feedback @1ec5 and @magol...
There isn't a great way to go from Transifex back to iD, aside maybe from looking at the key itself and then doing a search in the iD source code.  Even that is not great because it requires some familiarity with how the code draws the UI.
E.g. search for this key, or some part of it:

Anyway I'll close this for now, and you can use the method above to switch languages until we close #3120

BTW for anyone following this issue, I just setup the master mirror (#3912) so that it also pulls the latest translations from Transifex.  That means that every 10 minutes that mirror will have the latest code from master along with the latest translation strings applied on top of that code.
I hope it will be helpful so that translators can see the effects of their work pretty quickly.  This will be useful because when #3921 lands, there will be a lot of translation work to do.


'Advanced' parameter meta flag

Add a flag to indicate if a parameter is considered 'Advanced'
UI can then hide them to make regular parameters more accessible

If this was discussed on call I missed it.
As a first pass which would you consider not advanced? https://pixhawk.org/firmware/parameters
A much lower/more obvious bar might be to first hide all the params that aren't intended for direct user editing.

CAL_*
RC
SYS_AUTOCONFIG, RC_DSM_BIND

It was discussed at the start of the dev call with @LorenzMeier
i think in essence all parameters are advanced, but some of them are super advanced.
The following parameters i would consider not very advanced and would like to make them less scary and less buried between the super advanced params;

Everything that has a setting window in QGC
Circuit brakers, people that need to set them will find them anyway
Weathervane and other VTOL tuning options
PID gains, at least the ones that require attention
Pitch and roll offsets
Allow arming without GPS
EKF2/LPE IMU, OF and GPS positions
FW L1 limits, options and tuning params
TECS airspeed, throttle, climb, sink and tuning params
Follow target params
Gimball
Land detector MAX values
Launch detection tuning
LPE home pos
MAVLINK ID's
Mission tuning (1st waypoint max dist, min takeoff alt, altmode, yaw timeout, etc)
MC max values
MPC tuning, min and max values
PWM reversal, min and max
RX type
Roll / pitch trims
RTL tuning
Runway takeoff tuning
SDLOG UTC offset
IMU / Compass rotation
Rangefinder enablers
UART ESC setttings
LED brightness
Estimator selector
TELEM2 baud rate
Logger
Failsafe channel mapping

I think param meta data should get a level indicator like
@level [Advanced or Simple]

And default to Advanced

Interesting, that's way more than I expected. What's your definition of simple vs advanced? If circuit breakers and estimators aren't advanced I don't know what is. If we start with everything unlabelled and defaulting to advanced we could slowly bring the others forward only as needed.
I like this idea, I'm just wondering if there's an opportunity here to have an additional level that strips it down to the level appropriate for an end user. Imagine if you configured and tuned a particular vehicle ready to handoff. Is there a level that would be appropriate for them? Think DJI only allowing you to configure RTL altitude and a handful of other things. Thinking out loud...
@DonLakeFlyer what do you think?

I kind of consider the Parameter Editor as a whole a power user feature. Hence everything in there is for advanced users. The simple is covered by QGC ui. That also does not mean there is missing QGC setup screens that should be done as well. That said it's easy enough to filter on an advanced bit. I think you may want to make whole groups advanced though not individual parameters.

@DonLakeFlyer Would you be able to work with our users then to get these setup screens here?  @MaEtUgR can you propose the parameters (the ones mapped to a slider) for a position control and an attitude control tuning screen?

Most important rate control parameters in my opinion are (these are best/only tunable in acro mode):
MC_ROLLRATE_P, MC_PITCHRATE_P, set MC_ROLLRATE_D, MC_PITCHRATE_D, MC_YAWRATE_P
Attitude control parameters are:
MC_ROLL_P, MC_PITCH_P, MC_YAW_P
Note that for a nearly symmetric multicopter roll and pitch values should not have to differ for decent performance, yaw values certainly do.
I consider these Parameters advanced and they have to be handled with care because setting them too low renders the vehicle hard to control and setting them to high can lead to very unsafe instant flip (Better have them too low than too high).
For the position controller I'm not yet able to judge what is important.

I think there might be some confusion due to the wording 'Simple' and 'Advanced'
I think only power users should enter the parameter screen, but at the moment there are many parameters that are too much even for power users and they are starting to outnumber the parameters that are required for tuning.
Perhaps calling the levels 'Expert' and 'Advanced' would be better. And maybe in the future a 'Basic' level could be added for very simple params. The advantage of having this filter is not only usability, it also points power users to params that could be interesting for tuning their setup.
@DonLakeFlyer would it be possible to hide a group when there are no params that meet the filter?

would it be possible to hide a group when there are no params that meet the filter?

Yes. But I'd be careful to create this whole new feature just to make tuning easier. A full tuning page is scheduled for 3.2.

Any suggestions for tuning page can go here: https://github.com/mavlink/qgroundcontrol/issues/3911

Yes. But I'd be careful to create this whole new feature just to make tuning easier. A full tuning page is scheduled for 3.2.

The aim is not to only allow tuning, it is to make parameters that could require attention more accessible. Like mission behavior or logger choices. It's not just tuning.

I'm not sure about simple  vs advanced, but it would be good to hide "not relevant" parameters. So for example there are a whole bunch of FW parameters that don't need to be shown for MC and visa versa (e.g. loiter radius)

@hamishwillee most of that we would already get for free if we're more careful to respect module boundaries or to only find and copy those params when the system is configured as the relevant type.

Hey, this issue has been closed because the label status/STALE is set and there were no updates for 30 days. Feel free to reopen this issue if you deem it appropriate.
(This is an automated comment from GitMate.io.)


feat: add input params for SBOM upload

Add input params to enable / disable the upload of SBOM assets -- both for commit and release workflows.
Also, this PR introduces a very minimal GH Action to test the shared action.
KAG-739

@gszr  As we discussed yesterday, I am discarding this PR in favor of not exposing the artifact release workflow just for the Syft action to maintain the atomicity of artifacts on releases as a single transaction that must be moved into the app workflow away from shared action.
Please send out a PR on the gateway to publish artifacts to release as a single transaction. Every repo needs to handle this its own way to upload assets to releases. The shared action only outputs artifacts to the workflow runs.

@saisatishkarra do we not want the simple test exercising the action?


cover unload/upgrade NIF callbacks

covering the unload part may not be possible anymore:

@KarlKeiser it seems erlang code purging is a sort of lazy algorithm.
To invoke unload
$ ORANIF_DEBUG=100 rebar3 do clean, compile
$ erl -pa _build/default/lib/oranif/ebin

% loading NIF first time
> dpi:load_unsafe().
{dpi,load_unsafe,61} priv not found
{dpi,load_unsafe,75} PrivDir ".../_build/default/lib/oranif/priv"
[c_src\dpi_nif.c:load:93] ->
[c_src\dpi_nif.c:load:110] <-
ok

% triggering unloading of NIF
> code:load_file(dpi).
{module,dpi}
> code:load_file(dpi).
{error,not_purged}
=ERROR REPORT==== 15-Jul-2019::17:25:32 ===
Loading of .../_build/default/lib/oranif/ebin/dpi.beam failed: not_purged
> code:purge(dpi).
[c_src\dpi_nif.c:unload:125] ->
[c_src\dpi_nif.c:unload:126] <-
false

To invoke upgrade
Ref : http://erlang.org/pipermail/erlang-questions/2011-October/061467.html

Load the new version of your module and let that new Erlang code load
your new NIF library with erlang:load_nif/2. The callback 'upgrade' will
then be called in your new library (instead of 'load") and that will
give you opportunity to transfer state from your old library if you want
to. The 'unload' callback will later be called in your old NIF library
before the old version of your module is purged.

Implemented https://github.com/K2InformaticsGmbH/oranif/pull/118


Test Runner -- how to move this window or resize it

It seems to have locked itself to the leftmost part of my screen(s) and can't be moved.  Is there a way to move this around my desktop? Please advise.
Thanks

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

ID: 985ecee3-e347-43bb-5ed2-08ce3aee7621
Version Independent ID: fdf465fc-a9e1-0198-2e8c-e859c74252b3
Content: FAQs and problem solutions - Azure Test Plans
Content Source: docs/test/reference-qa.md
Product: devops
GitHub Login: @alexhomer1
Microsoft Alias: ahomer

This is happening because of the docking experience we have built for the Test Runner. It takes 25% of screen width (max 400px) and currently not resizable/moveable.
It is designed to dock because we want to make sure the test runner always stays on screen taking 25% of space and the remaining 75% of space is available for application under test. (Similar to Manual Test Runner (MTM) that we used to ship)
I want to understand what you are trying to do, is the Test Runner taking additional screen size and hence want to reduce it?
Or is it taking less space and hence want to increase it?
Or do you want to move it? Say, to the right side? If so, would giving an option to dock to the right edge fix it?
The reason I am asking the above questions is because I want to understand what the pain point is to take the right approach for fixing it.

I think as in any windowed apps, giving an option to dock to the any and ability to re-size that window will be just the right fix for it.
also, the capture window doesn't give you the option to focus on a particular application running the test environment !   this makes it different from the previous Microsoft Test !  Can't we have that back please?

I work on a multi screen desktop (2 minimum) and the focus seems not correct when running a test scenario !

Can this be re-opened?
Jun Macalalad
Frisk-Search Pty Ltd
Scheduled leave: none
From: Alex Homer<EMAIL_ADDRESS>Sent: Friday, 22 February 2019 9:48 AM
To: MicrosoftDocs/vsts-docs<EMAIL_ADDRESS>Cc: Jun Macalalad<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/vsts-docs] Test Runner -- how to move this window or resize it (#3425)
Closed #3425https://github.com/MicrosoftDocs/vsts-docs/issues/3425.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/vsts-docs/issues/3425#event-2156471770, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AkET0tQyK8BZQdeo0hzdisI_jhV-Dyn_ks5vPykWgaJpZM4bEZ7I.

There are 3 issues discussed here:

Capture screenshot for individual applications is a known issue we are tracking. And this is happening due to 3rd party dependency (Electron issue)
We have put options to dock left/dock right/undock and resize as part of our backlog.
Did not understand the 2 desktop and focus problem. Can you please give us more details regarding this?

My test environment runs off a laptop with multiple displays.  I would re-map one as the master in order for the test runner to run and be at that particular location of the screen -- more of a work preference.
Hope i make sense.  Thanks

Also, is there a way to make Test Runner remember the options you've selected (at least when running a test plan) -- like:

 allowing the switch between "Microsoft Edge" to open "TestRunnder_AzureTestPlans"
 taking a snapshot (which screen to share), and
once selected to auto tick the checkbox?

@jun-mac, we mostly use issues to track documentation issues. It looks like you've encountered an issue with the product itself, rather than an issue with the documentation. Could you submit a bug instead so that it will be easier to track?
Regards,
Mike

Why not add a zoom feature to the docked window? That would allow users the ability to shrink the screen so the text in each test case can be seen without having to scroll horizontally on each test step. This would be a huge time save for testers.

This is happening because of the docking experience we have built for the Test Runner. It takes 25% of screen width (max 400px) and currently not resizable/moveable.
It is designed to dock because we want to make sure the test runner always stays on screen taking 25% of space and the remaining 75% of space is available for application under test. (Similar to Manual Test Runner (MTM) that we used to ship)
I want to understand what you are trying to do, is the Test Runner taking additional screen size and hence want to reduce it?
Or is it taking less space and hence want to increase it?
Or do you want to move it? Say, to the right side? If so, would giving an option to dock to the right edge fix it?
The reason I am asking the above questions is because I want to understand what the pain point is to take the right approach for fixing it.

@klvnraju Why not add a zoom feature to the docked window? That would allow users the ability to shrink the screen so the text in each test case can be seen without having to scroll horizontally on each test step. This would be a huge time save for testers.


column collation

Issue Type: Bug
there is no way to read collation of a column, table,database
also when using "script as create" there are no collation info
to reproduce just create a table with a column with collation different from the db default
Azure Data Studio version: azuredatastudio 1.25.2 (4d4917d328ab7a7526817a0f0ef03237a79aa54d, 2021-01-20T22:52:13.492Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz (4 x 2394)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.92GB (7.67GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (7)

Extension
Author (truncated)
Version

admin-pack
Mic
0.0.2

agent
Mic
0.48.0

dacpac
Mic
1.6.0

import
Mic
1.2.0

profiler
Mic
0.11.0

schema-compare
Mic
1.8.0

simple-data-scripter
sea
0.1.5

hi all .. facing this same issue getting collation from tables in synaspe
the ticket is still Open .. is there a workaround for getting the column ddl in ADS that shows the collation?
unfortunately, synapse does not have sp_helptext


add ladders

hello
I've added a2oj ladders
basically these commands
dew ladder [ladderName] [-l]

for list of ladders, set the current ladder and see the list of problems in current ladder
and
Usage:
  dew ladderProblem [flags]

Aliases:
  ladderProblem, lp

set current problem to next unsolved question in ladder
it ofc needs a bit of cleanup

I'm sorry reply you too late, glad to see you contribute a new feature to this project, thank you.


DOI for CFF is not rendered in GitHub

None of the dois provided in identifiers is being used for rendering, which is probably understandable seeing that they're hard to disambiguate. Perhaps we should provide the version DOI in the root doi field?
https://github.com/citation-file-format/citation-file-format/blob/main/CITATION.cff#L36-L42
APA string: Druskat, S., Spaaks, J. H., Chue Hong, N., Haines, R., Baker, J., Bliven, S., Willighagen, E., Pérez-Suárez, D., & Konovalov, A. (2021). Citation File Format (Version 1.2.0) [Computer software].
Is this called choking on your own dog food? :laughing:

If I remember correctly, cffconvert uses a preferred order, something like search for a doi in identifiers first, but if you there arent any, use doi

Yes, but I guess this would be ruby-cff, no?

Yes, but I guess this would be ruby-cff, no?

Indeed.
As you know I would be in favor of either deprecating or discouraging use of doi due to its inherent ambiguity. I much prefer identifiers, especially if we would be able to annotate items there with datacite-like terms for better machine readability.
While we sort this out, we could take a pragmatic approach and duplicate the information from identifiers[1]. Nonetheless I think it would be good to ask @hainesr to also support dois from identifiers, since the new version of cffinit will use (only) that.

I'm happy to support DOIs from identifiers in ruby-cff, but what to do if there are multiple DOIs specified?

I'm happy to support DOIs from identifiers in ruby-cff, but what to do if there are multiple DOIs specified?

@hainesr We're thinking that this could be solved partly through heuristics, see, e.g., #330.


Add an ability to change port

ATM the port number is hardcoded in several places which makes it hard to change. I think it would be much better to be able to provide optional port number trough env variables like:
PORT=4000 npm start

:+1: Good idea!

It might also be worth considering moving default port to something less used, like 3001, because App Cache and ServiceWorker then messes every other app that will be tested on localhost:3000.

They don't anymore in v3 because they are both disabled in development there. :+1:

Btw how to remove those caches? It's very annoying :)

chrome://serviceworker-internals and chrome://appcache-internals

Done with 42b3f78!


Exchange Online Collaboration Address Lists

Is there a way to share Global Address Lists or contacts between multiple O365 Exchange Online tenants?  Or is this part of the functionality with the calendar sharing?  I'm not finding anything that explicitly addresses email address sharing between tenants.
Matthew

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

ID: 41bcfce7-bfcf-f2da-f752-36ac0e497b78
Version Independent ID: 880faa66-d243-6598-ae24-cf0e4d5a7c16
Content: Office 365 inter-tenant collaboration
Content Source: Enterprise/office-365-inter-tenant-collaboration.md
Service: o365-administration
GitHub Login: @chrfox
Microsoft Alias: chrfox

@mprentice22153 - Thank you for pointing this out
I will get these over to the Enterprise writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

I've also been doing extensive research on GAL synchronization. At this point, the best solution I've been able to find is setting up Microsoft Identity Manager (MIM) and turning up GALSync. I'm not looking forward to that.

As an alternative to GAL sync you can use the Graph API to retrieve the mailboxes from each tenant and silently invite them as B2B users in the other tenants, then un-hide these users from the GAL. This also means they can be added to groups and you can share SharePoint sites etc.

@officedocsbot assign @mypil

checking with SMEs

@mprentice22153   - thanks for your question.   Aside from the responses already posted here, I suggest you post your question to TechCenter Forums
Thanks again
Chris


[Rust][Copilot Chat] High level of hallucination when using Copilot chat with Rust language.

VS Code Version: Latest insider
OS Version: Win11
Logs: very long text chat

I think the main issue may come from GTP-x having a limited knowledge dating to 2021, but the i saw cases where the chat accused erroneously of:

Things being allocated when they are not (New string and HashSets)
Not understanding some basics of rust like mutable references (Thinking it allocates a new object in memory?)
Thinking that a reference to a string slice allocates a new string in memory and its bad?
Suggesting using other language methods that don't make sense (switch for loops for iterator::Any when there is no for loops in the code or when any can't be used)
Saying that a parameter is not used when it is indeed used a lot
Confidently accusing of corner cases not being covered when they are (and obviously covered).
Suggests that lookup on a vector is better than a HashSet for cases where the number of items are unknown and big??
many other weird suggestions...

I found copilot would make up mistakes in my code and then suggest what i was already doing as the solution. It would also occasionally get the names of variables wrong.

Concrete issue reports are the most helpful! We are also on GPT-4 now which hopefully helps


Add benchmarks folder

Closes https://github.com/ONSAS/ONSAS.jl/issues/183

Codecov Report

Merging #186 (13bc0c3) into main (fe5d6f1) will decrease coverage by 0.33%.
The diff coverage is 33.33%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #186      +/-   ##
==========================================
- Coverage   90.19%   89.87%   -0.33%
==========================================
  Files          40       40
  Lines        1061     1057       -4
==========================================
- Hits          957      950       -7
- Misses        104      107       +3

Impacted Files
Coverage Δ

src/StructuralAnalyses/NonLinearStaticAnalyses.jl
100.00% <ø> (ø)

...rc/StructuralModel/StructuralBoundaryConditions.jl
97.14% <0.00%> (-1.41%)
:arrow_down:

src/StructuralModel/StructuralMaterials.jl
92.85% <0.00%> (-7.15%)
:arrow_down:

src/StructuralModel/Structure.jl
96.96% <100.00%> (ø)

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Fix: absolute import handling

Fixes: https://github.com/cython/cython/issues/2638
Though still a test is missing.

Thanks. Looks like Jenkins is unhappy about a couple of tests where the regex fails to match.

Sorry, I did not take a look before.
I hopefully fixed it. I'll let Jenkins do its job now and check it in the afternoon.

Looks nice. The travis failure is due to a broken test in master that I fixed now.

So I rebased it on actual master, hopefully the tests will be OK now.

Thanks!

I was a bit desperate about the failing test so thanks for fixing that. And thanks for your time :-)

What's the rationale for removing this:
-            elif not self.quiet:
-                print("%s: cannot find cimported module '%s'" % (filename, module))

That still seems like a useful warning message...

@jdemeyer with this PR, the importing procedure tries all combinations of packages and modules from from package cimport module. However, this approach creates false positives if the part after cimport is not a module but an object from the package. This print statements would then emit all failures of attempted imports package.object.
On the other hand, the PRed procedure of generating all possible imports should be robust enough to capture all imports. And thus, this shouldn't be necessary as there should not be any false negatives.

And thus, this shouldn't be necessary as there should not be any false negatives.

... except if there are bugs. With that reasoning, you might as well remove all assert statements everywhere.

@jdemeyer, note that this only changes the dependency tracking to decide whether a module needs to be recompiled. Finding too many candidates is ok here. (Ok, stat-calls are not for free, but they are also not very expensive.) Missing a dependency would be a problem, because it might prevent a necessary rebuild.
In any case, Cython will still do a proper lookup of all compile-time dependencies later during the compilation, and if any of them is not found, you will get a compiler error.

Missing a dependency would be a problem, because it might prevent a necessary rebuild.

Right, and this PR removes a warning message if that happens.


Fix Swagger Correctness Issues For HealthcareApis

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[x] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

@PhoenixHe-msft This PR has a fix for below errors/action items:
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=801b459f-98f8-42bb-9b88-ab9dd258c574
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=c59564d3-264e-42ef-a048-ce3c5961ed6e
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=dec726ab-214d-4587-9d45-b1d6f6dd9746
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=e5c45bc6-11b7-41f0-8c03-d3b5a7222ec6
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=dd546d2b-7aac-4798-a3ff-0c52d3fb44b4
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=40e6c82e-1074-4ca4-ac85-d84421e91a6b
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=9482b512-09d3-4017-8f6b-6470cdacb2a8
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=846ee66b-f6ee-45e3-9444-c7f975c1be55
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=4ff928c6-6a47-4bb6-9b3c-aa37223cea32
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=461b5485-8263-4a02-b993-ecb261194f1b
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=4fb2b55e-74c7-4464-a542-03f87ce4702a
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=a7b5d151-c9f2-46a8-8dff-b37ac8b1d50e
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=07b1fe4a-2578-497f-8c7f-a08d1faa441d
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=77260dbe-39f7-4d52-970d-bd30bb21b48a
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=213556c3-b249-43b7-a482-00c4a4d3ddc7
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=75c02ab4-7ef2-427a-b031-7e58bfbd9180
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=5626511d-9ce7-45e6-8cb1-d5982b8ff4cd
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=a5c78e7e-0e11-48f3-a68f-1c06f035f2b2
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=d6b69a73-6894-43fd-8e29-b357ec8a69b4
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=c569e154-cf96-4ad8-8d5b-fcdf8ba11512

@PhoenixHe-msft This PR has a fix for below errors/action items:
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=801b459f-98f8-42bb-9b88-ab9dd258c574
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=c59564d3-264e-42ef-a048-ce3c5961ed6e
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=dec726ab-214d-4587-9d45-b1d6f6dd9746
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=e5c45bc6-11b7-41f0-8c03-d3b5a7222ec6
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=dd546d2b-7aac-4798-a3ff-0c52d3fb44b4
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=40e6c82e-1074-4ca4-ac85-d84421e91a6b
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=9482b512-09d3-4017-8f6b-6470cdacb2a8
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=846ee66b-f6ee-45e3-9444-c7f975c1be55
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=4ff928c6-6a47-4bb6-9b3c-aa37223cea32
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=461b5485-8263-4a02-b993-ecb261194f1b
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=4fb2b55e-74c7-4464-a542-03f87ce4702a
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=a7b5d151-c9f2-46a8-8dff-b37ac8b1d50e
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=07b1fe4a-2578-497f-8c7f-a08d1faa441d
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=77260dbe-39f7-4d52-970d-bd30bb21b48a
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=213556c3-b249-43b7-a482-00c4a4d3ddc7
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=75c02ab4-7ef2-427a-b031-7e58bfbd9180
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=5626511d-9ce7-45e6-8cb1-d5982b8ff4cd
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=a5c78e7e-0e11-48f3-a68f-1c06f035f2b2
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=d6b69a73-6894-43fd-8e29-b357ec8a69b4
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=c569e154-cf96-4ad8-8d5b-fcdf8ba11512

@anrudraw Do you need a refresh of SDK?

@anrudraw Do you need a refresh of SDK?

@PhoenixHe-msft Do you know what will be customer impact if we refresh SDKs?

@PhoenixHe-msft Do you know what will be customer impact if we refresh SDKs?

@anrudraw User will get latest update for your fix, but this may cause breaking change in SDK. Suggest to do so to fix SDK issues.


chore: add renovate config

Just added renovate config (ref. https://github.com/unjs/template/pull/25#issuecomment-1320859551).
If this repository doesn't need Renovate, please close this PR.

Hmm haven't really enjoyed using renovate previously but happy to enable it if it's the org default


Timex.Date.shift\2 Incorrect

Timex.Date.shift/2 with interval argument mins: <integer> returns an incorrect result when given a DateTime not in UTC time.
{{2015, 09, 24}, {10, 0, 0}}
|> Timex.Date.from("America/Los_Angeles")
|> Timex.Date.shift(mins: 45)
|> Timex.DateFormat.format!("{ISO}")
# => "2015-09-24T10:45:00+0000"

The problem is that Timex.Date.shift/2 always assumes the input is it UTC, and thus treats date and time components as UTC components erroneously, clearing out the Time Zone.
Reference: https://github.com/bitwalker/timex/blob/master/lib/date/date.ex#L1153-L1161

Hey @stavro, thanks for reporting this! I've applied a fix and pushed a new release (0.19.5) to hex - and fixed the tests which should've caught this :/

Thanks for the speedy fix!


Docker build fails due to nix version mismatch

Hi. Thanks for making this amazing repository available. This is pretty much what I've been looking for and really saved my day.
When I tried to build the Dockerfile, I found that it fails with the following error:
❯ docker build .
[+] Building 15.7s (11/31)
 => [base  1/13] FROM docker.io/library/debian:stable-slim@sha256:4cdb3e09504f2ad8650da3aa8233d79227647b9943b6c31b5d383b2da9cc6670                                                                                2.0s
 => => resolve docker.io/library/debian:stable-slim@sha256:4cdb3e09504f2ad8650da3aa8233d79227647b9943b6c31b5d383b2da9cc6670                                                                                0.0s
 => => sha256:4cdb3e09504f2ad8650da3aa8233d79227647b9943b6c31b5d383b2da9cc6670 1.85kB / 1.85kB                                                                                0.0s
 => => sha256:d8db286ed02d97988d1f2e0939e880c57962c83738a6d1ca5109bdbdb5664b04 529B / 529B                                                                                0.0s
 => => sha256:60a8c9439847722f840286cae945f39ca72f8db453b36eba27eb7577ee81e17b 1.48kB / 1.48kB                                                                                0.0s
 => => sha256:c762d58c28e4ca53ba8bac3b0134c76ccfdd867806db95aa0470ffbb0d68637b 30.05MB / 30.05MB                                                                                0.9s
 => => extracting sha256:c762d58c28e4ca53ba8bac3b0134c76ccfdd867806db95aa0470ffbb0d68637b                                                                                0.9s
 => [stage-1  2/14] RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends   ca-certificates   git   gnupg   locales   ssh   sudo &&   rm -rf /var/lib/apt/lists/*                        9.5s
 => [base  2/13] RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends   ca-certificates   curl   sudo   xz-utils                                                                                5.6s
[+] Building 96.8s (30/31)                                                                                => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 3.37kB                                                                                0.0s  => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s  => [internal] load metadata for docker.io/library/debian:stable-slim                                                                                2.9s
 => [auth] library/debian:pull token for registry-1.docker.io                                                                                0.0s  => [internal] load build context                                                                                0.0s
 => => transferring context: 4.20kB                                                                                0.0s  => [base  1/13] FROM docker.io/library/debian:stable-slim@sha256:4cdb3e09504f2ad8650da3aa8233d79227647b9943b6c31b5d383b2da9cc6670                                                                                2.0s
 => => resolve docker.io/library/debian:stable-slim@sha256:4cdb3e09504f2ad8650da3aa8233d79227647b9943b6c31b5d383b2da9cc6670                                                                                0.0s  => => sha256:4cdb3e09504f2ad8650da3aa8233d79227647b9943b6c31b5d383b2da9cc6670 1.85kB / 1.85kB                                                                                0.0s
 => => sha256:d8db286ed02d97988d1f2e0939e880c57962c83738a6d1ca5109bdbdb5664b04 529B / 529B                                                                                0.0s  => => sha256:60a8c9439847722f840286cae945f39ca72f8db453b36eba27eb7577ee81e17b 1.48kB / 1.48kB                                                                                0.0s
 => => sha256:c762d58c28e4ca53ba8bac3b0134c76ccfdd867806db95aa0470ffbb0d68637b 30.05MB / 30.05MB                                                                                0.9s  => => extracting sha256:c762d58c28e4ca53ba8bac3b0134c76ccfdd867806db95aa0470ffbb0d68637b                                                                                0.9s
 => [stage-1  2/14] RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends   ca-certificates   git   gnupg   locales   ssh   sudo &&   rm -rf /var/li  9.5s  => [base  2/13] RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends   ca-certificates   curl   sudo   xz-utils                                                                    5.6s
 => [base  3/13] RUN groupadd -g 1000 vscode &&   useradd -u 1000 -g 1000 -G sudo -m vscode -s /bin/bash                                                                                0.3s  => [base  4/13] RUN sed -i 's/%sudo.*ALL/%sudo   ALL=(ALL:ALL) NOPASSWD:ALL/' /etc/sudoers &&   echo "sandbox = false" > /etc/nix.conf &&   echo "experimental-features = nix-command flakes" >> /etc/nix.conf       0.3s
 => [base  5/13] RUN curl -L https://nixos.org/nix/install | NIX_INSTALLER_NO_MODIFY_PROFILE=1 sh                                                                                11.8s
 => [stage-1  3/14] RUN groupadd -g 1000 vscode &&   useradd -u 1000 -g 1000 -G sudo -m vscode -s /bin/bash                                                                                0.3s
 => [base  6/13] RUN mkdir -p /home/vscode/.config/devcontainer/extra                                                                                0.3s
 => [base  7/13] COPY --chown=vscode:vscode config/flake.nix /home/vscode/.config/devcontainer/flake.nix                                                                                0.0s
 => [base  8/13] COPY --chown=vscode:vscode config/flake.lock /home/vscode/.config/devcontainer/flake.lock                                                                                0.0s
 => [base  9/13] COPY --chown=vscode:vscode config/config.nix /home/vscode/.config/devcontainer/config.nix                                                                                0.0s
 => [base 10/13] RUN sed -i "s/ARCH/$(uname -m)-$(uname -s | tr '[:upper:]' '[:lower:]')/" /home/vscode/.config/devcontainer/flake.nix                                                                                0.1s
 => [base 11/13] RUN sed -i "s/USER/vscode/" /home/vscode/.config/devcontainer/flake.nix                                                                                0.3s
 => [base 12/13] WORKDIR /home/vscode/.config/devcontainer                                                                                0.0s
 => [base 13/13] RUN . /home/vscode/.nix-profile/etc/profile.d/nix.sh &&   nix build --no-link .#homeConfigurations.vscode.activationPackage                                                                         32.1s
 => [stage-1  4/14] COPY --from=base --chown=vscode:vscode /home/vscode /home/vscode                                                                                0.0s
 => [stage-1  5/14] RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen &&   locale-gen                                                                                1.2s
 => [stage-1  6/14] RUN sed -i 's/%sudo.*ALL/%sudo   ALL=(ALL:ALL) NOPASSWD:ALL/' /etc/sudoers                                                                                0.3s
 => [stage-1  7/14] RUN echo "source /home/vscode/.nix-profile/etc/profile.d/nix.sh" >> /etc/bash.bashrc &&   echo "source /home/vscode/.nix-profile/etc/profile.d/nix.sh" >> /etc/zshrc                              0.3s
 => [stage-1  8/14] COPY --from=base /nix /nix                                                                                23.0s
 => [stage-1  9/14] COPY --from=base /etc/nix.conf /etc/nix.conf                                                                                0.0s
 => [stage-1 10/14] COPY config/direnv.toml /etc                                                                                0.0s
 => [stage-1 11/14] RUN mkdir -p /home/vscode/.vscode-server/extensions &&   mkdir -p /home/vscode/.vscode-server-insiders/extensions                                                                                0.3s
 => [stage-1 12/14] WORKDIR /home/vscode/.config/devcontainer                                                                                0.0s
 => ERROR [stage-1 13/14] RUN . /home/vscode/.nix-profile/etc/profile.d/nix.sh &&   nix-env --set-flag priority 10 nix-2.8.1 &&   "$(nix path-info .#homeConfigurations.vscode.activationPackage)"/activate           0.3s
------
 > [stage-1 13/14] RUN . /home/vscode/.nix-profile/etc/profile.d/nix.sh &&   nix-env --set-flag priority 10 nix-2.8.1 &&   "$(nix path-info .#homeConfigurations.vscode.activationPackage)"/activate:
#30 0.280 error: selector 'nix-2.8.1' matches no derivations
------
executor failed running [/bin/sh -c . /home/${USER}/.nix-profile/etc/profile.d/nix.sh &&   nix-env --set-flag priority 10 nix-2.8.1 &&   "$(nix path-info .#homeConfigurations.${USER}.activationPackage)"/activate]: exit code: 1

I figured this is due to the version mismatch in Dockerfile and nix installed by the script.
https://github.com/jmgilman/dev-container/blob/b12e5ecc8798b0ba0c63a3fe3c409750cfb4d918/Dockerfile#L103
This line assumes nix 2.8.1 is used during the build, but the installer script at https://nixos.org/nix/install always refers to the latest release of nix, which is currently 2.10.3.
https://github.com/jmgilman/dev-container/blob/b12e5ecc8798b0ba0c63a3fe3c409750cfb4d918/Dockerfile#L10
Changing line 103 to nix-env --set-flag priority 10 nix-2.10.3 solves the problem for now, but it will break again as soon as the next version of nix comes out.
I also realized that https://nixos.org/nix/install is redirected to https://releases.nixos.org/nix/nix-2.10.3/install. Although I couldn't find any reference, the website seems to maintain the older versions as well (https://releases.nixos.org/?prefix=nix/).
It might be a good idea to change the address of the installer to pin the version and upgrade both the installer and derivation to prioritize.
Since I'm new to nix, there may be other ways to fix it. Let me know what you think.

I also realized that https://nixos.org/nix/install is redirected to https://releases.nixos.org/nix/nix-2.10.3/install. Although I couldn't find any reference, the website seems to maintain the older versions as well (https://releases.nixos.org/?prefix=nix/).
It might be a good idea to change the address of the installer to pin the version and upgrade both the installer and derivation to prioritize.

I think you are right, and I just add new docker ARG to specify the version of nix at both these places. It works, but I have to change the version to the latest one manually. I guess there should be a simpler method to specify this and stay tuned.