Image resolution vs. accuracy

When you do the training on COCO dataset, where do you define the image size and how does that map to the convolution size?
This is in reference to the implementation of MobileNet V2.
When I change the number of channels to 24 from 32, it throws a runtime error: expected 32 channels, got 24 instead.
Can you please help me understand the input size and the output after convolutional layers?

The input size is defined in CropPad augmentation, it is 368x368 by default. Actually there is no relation between convolution and its input spatial size. I don't know the source of error, since you provided no code. If you check the PyTorch implementation of MobileNetV2, it does not have channels number as input parameter, so I suggest not to change it. To use MobileNetV2 as a backbone change line 92 to mobilenet_v2(pretrained=True).features and adjust network stride: change in line 106 2 to 1 to have total stride of 8 (but it's also better to set dilation for succeeding convolution to 2), or just do not use these two last features blocks.

Hi, thank you for the clarification.
I tried this but the accuracy is very low. Working on optimizing it. Thank you for the help.

Check, if you have proper input normalization  and pass all parameters (model.parameters()) to optimizer.

I see that you use CropPad augmentation to crop the original image size (eg 640x480) to get to 368x368. Do you think this affects the accuracy?
In your paper, you mention in Table 2 - Accuracy vs. Complexity of OpenPose on COCO validation set that the max. accuracy is 48.6%. While the original OpenPose has accuracy of around 61%. Is this because of the resolution? Do you know at what resolution is OpenPose getting 61% AP?

Did not get the question (in general almost everything affects the accuracy in some way). To train with batches it is necessary to have images with the same size within one batch, thus crop is esential. If you change net input size to smaller one (e.g. from 368 to 64), then network will produce smaller feature maps, and it will be hard to find keypoints there, especially in case of multiple persons. To get this accuracy they used multi-scale testing, then additional refinement with single person pose estimation network.

With this CropPad, can we increase the network resolution to say 600x600? Will this improve the validation accuracy is my concern.

It might be.

It might be.

So changing the resolution in the part of code below will work right?
class CropPad(object):
    def __init__(self, pad, center_perterb_max=40, crop_x=368, crop_y=368):
        self._pad = pad
        self._center_perterb_max = center_perterb_max
        self._crop_x = crop_x
        self._crop_y = crop_y

Did not do such experiments, you can try it by yourself.


Why missed a fallback to sync @@iterator?

for await (const it of [Promise.resolve(1), 2, Promise.resolve(3)]) console.log(it); // => 1, 2, 3

await AsyncIterator.from([Promise.resolve(1), 2, Promise.resolve(3)]).toArray(); // => [1, 2, 3]

// but:
await Array.fromAsync([Promise.resolve(1), 2, Promise.resolve(3)]); // => TypeError

This is an oversight. Thanks for catching it. I will fix it in the future.


USERS API - GET /users/{username} response doesn't contain expire item

API : GET /users/{username}
Actual result

Expected result

The expire item is optional in the response. Notice how some fields are marked required whereas expire is not


add blob archiver flag for synchronizing nodes that are older than 18 days. ethereum-optimism/optimism#9992  op-node

ADDITIONAL_ARGS=""
if [ "${OP_NODE_L1_BLOB_ARCHIVER+x}" = x ]; then
ADDITIONAL_ARGS="$ADDITIONAL_ARGS --l1.beacon-archiver=$OP_NODE_L1_BLOB_ARCHIVER"
fi
....
exec ./op-node
$ADDITIONAL_ARGS

would recommend specifying this in your .env.mainnet file to avoid modifying the entrypoint file.

Closing, duplicate of #268


Terminals not working after 1.19.2 - 1.5.0 Update

Just upgraded on 1.19.2 from 1.3.10 to 1.5.0 and Mod loads as always, but when accessing the Terminals they're not detecting my Chests. Can't see my Items and can't deposit them. The Inventory Connector detects the Chests (128x Obsidian Chest from Iron Chests, 13.824 Slots total). As said, in 1.3.10 the Terminals worked wonderful and detected all Chests.
For now I'm staying on 1.3.10, because I had no Issues on this Version.

Please post your minecraft log

2023-02-14-1.log

Can you send a screenshot of your setup? I couldn't reproduce the issue.


Change how failed diffs are handled to reduce the chance of .rej files

This is a partial implementation of what's discussed in this comment: https://github.com/cruft/cruft/issues/49#issuecomment-787942536 I haven't tried to do the non-git side because that's not urgent for me. If this is something that the maintainers are willing to merge however, I am happy to do the leg work on everything else.

This would be a game changer


feat: add resend method

What kind of change does this PR introduce?

Adds the client lib binding for the resend method
For example, to resend a signup confirmation email, one can now call supabase.auth.resend({ email, type: "signup"}).
To resend password recovery or magiclink emails, you should just call supabase.auth.resetPasswordForEmail and supabase.auth.signInWithOtp respectively again.
Resending invites can be done by calling the supabase.auth.admin.inviteUserByEmail method

Let's also update reference spec when free

Hi ! see PR #631 , they added supabase.auth.resend({ email, type: "signup"}) call.
you can check if the response contains an identities array not empty, and session null means the mail has not been verified, and after user input use this call


Add an easy API to disable wildcard matching in OpenSSL hostname verification

Probably just a custom attribute in Context, that then is checked in each path in Socket, plus support for passing it into HostnameValidation.

Perhaps there should be a few flags: disable wildcard, disable partial wildcard, and toggle leading dot behavior (all subdomains / only direct subdomains).

The OpenSSL 1.0.1+ path allows for the following options:
       The X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT flag causes the function to consider the subject DN even if the certificate contains at least one subject alternative
       name of the right type (DNS name or email address as appropriate); the default is to ignore the subject DN when at least one corresponding subject alternative
       names is present.

       If set, X509_CHECK_FLAG_NO_WILDCARDS disables wildcard expansion; this only applies to X509_check_host.

       If set, X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS suppresses support for "*" as wildcard pattern in labels that have a prefix or suffix, such as: "www*" or "*www";
       this only aplies to X509_check_host.

       If set, X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS allows a "*" that constitutes the complete label of a DNS name (e.g. "*.example.com") to match more than one
       label in name; this flag only applies to X509_check_host.

       If set, X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS restricts name values which start with ".", that would otherwise match any sub-domain in the peer certificate,
       to only match direct child sub-domains.  Thus, for instance, with this flag set a name of ".example.com" would match a peer certificate with a DNS name of
       "www.example.com", but would not match a peer certificate with a DNS name of "www.sub.example.com"; this flag only applies to X509_check_host.

This issue can be closed.

Why do you think that?
We're still missing this feature in the Crystal API.


feat: better Error Messages for creating reports

SUMMARY
This makes the message for any on create error messages better.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

I cherry picked this directly into the branch


Replace the ES client libraries with OS client libraries

https://opensearch.org/docs/1.3/clients/java/
dependencies {
  implementation 'org.opensearch.plugin:parent-join-client:1.3.13'
  implementation 'org.opensearch.client:opensearch-java:2.6.0'
}

This is doen


improved README with screenshots #120

added screenshots and changed formating of options #120

@blumentritt-sebastian LGTM, thanks!!
/cc @blueyed @tweekmonster

Looks fine to me.  A small nitpick: could you make the image widths the same size?

This adds quite some overhead to the repo itself (152.0KiB, but still).
Maybe this should go into a separate gh-pages repo?!
The OP has been deleted by now btw?!

This adds quite some overhead to the repo itself (152.0KiB, but still).

I didn't notice that!  Yeah that overhead is unnecessary.  What I usually do is drag the images into a comment field and use the URL generated instead of adding images to the repo.

The user seems be deleted.
We should merge it?

@tweekmonster @blueyed @Shougo Sorry for the late reply.
ditto https://github.com/zchee/deoplete-jedi/pull/119#issuecomment-303706401. This pull request is great.
I want to merge it and fix(or move separate repo or AWS s3) README.
But if we have assets file on git log, still have some overhead for fetch? (I don't know git internal architecture)

@zchee
This should do it - and you should rebase/squash it, so that the asset file itself never goes to Git's history, of course.

What I usually do is drag the images into a comment field and use the URL generated instead of adding images to the repo.

Why it is suspended?

Should be updated to not include the pictures (binary blobs) in the repo / Git history.


EML parser for deep scanning

Description
Please include a summary of the change and which is fixed.

Add EML parser for deep scan (single level in --doc)
avoid false positives for base64 encoded "eyJ" at begin of string

How has this been tested?
Please describe the tests that you ran to verify your changes.

[x] UnitTest
[x] Benchmark - no impact
[x] export a email to eml or mht with credential and scan with --doc option

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

Comparison is base (841679e) 90.83% compared to head (ac229f8) 90.50%.
Report is 1 commits behind head on main.

Files
Patch %
Lines

credsweeper/deep_scanner/eml_scanner.py
70.00%
6 Missing and 3 partials :warning:

credsweeper/utils/util.py
41.66%
5 Missing and 2 partials :warning:

credsweeper/deep_scanner/deep_scanner.py
55.55%
3 Missing and 1 partial :warning:

credsweeper/filters/value_github_check.py
88.00%
1 Missing and 2 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #471      +/-   ##
==========================================
- Coverage   90.83%   90.50%   -0.34%
==========================================
  Files         123      125       +2
  Lines        4169     4245      +76
  Branches      658      672      +14
==========================================
+ Hits         3787     3842      +55
- Misses        252      266      +14
- Partials      130      137       +7

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


ocpp: migrate to use of enums more widely

@lbbrhzn, fully migrating to enums took a bit more work than expected. To help with testing but without affecting users  are you able to implement a tag for a stable release and also have bleeding edge version based on the latest commit for testing?

Sure, I can try to make a tag (of the current main?) but I'm on holiday now for a few weeks, so my access to GitHub is a bit limited


Add a button which updates custom nodes/graph in visual shader editor

This PR adds a reload button to the visual shader editor. I think it's necessary (and also most trivial to implement) because after implementing a new system for opening multiple shaders, it's not obvious and hard to reopen that editor to updates the changes in custom visual shader nodes. I've also added the update_nodes call to VisualShaderEditor::edit function - just to fix https://github.com/godotengine/godot/issues/67268 at editor startup for previous opened shaders.

We discussed this briefly in a PR review meeting: It should be possible to connect to the changed signal for each of the VisualShaderCustomNode scripts so that you can reload whenever one of them is modified.
Otherwise the solution here is not too bad but the UX is confusing IMO, it's not clear what this reload button does, and why the graph may not be up to date. Doing it automatically when the script changes should be better.

Ok, I will remake it properly in the futher PR. Closed for now.


Dark nav for standalone Gnav

Dark Mode implementation for Standalone globalnav and footer. It should not impact milo consumers as dark mode is enabled using site config (a new property theme which should be dark).
Resolves: MWPW-155090
Test URLs:

Before: https://main--milo--adobecom.hlx.page/?martech=off
After: https://dark-nav--milo--nishantka.hlx.page/?martech=off

QA:

Before: https://adobecom.github.io/nav-consumer/navigation.html?env=stage&navbranch=stage
After: https://adobecom.github.io/nav-consumer/navigation.html?env=stage&navbranch=dark-nav&theme=dark

It looks like dark-nav.css has color updates based on CSS custom properties. Instead of redefining selectors, why not redefine variables? Something like:

you keep things mostly as is, you just rename variables to remove the --light modifier and replace throughout the style definitions;
either you create a new file (and import it once you figure out dark mode is needed) or add the dark styles where global navigation variables are already defined (but be sure to investigate the performance hit of adding additional bytes for all use-cases). Here you can scope the variables inside your modifier class;
you'd then get OOTB color updates based on your modifier class without having to duplicate any selectors, making things more maintainable in the long run.

As for the modifier class, all global navigation/footer styles are prefixed with .feds, why not call it .feds--dark or something similar?

Thanks @overmyheadandbody,
I can work on updating all the variables/usages with --light and make them generic to avoid duplicate selectors.
There are some new selectors required only for dark mode. We can keep them in dark-nav.css along with dark mode variables and import as required.
Also, there are some places where we can define new variables in place of colors.
My only concern is the risk it poses as it vastly impacts Milo GNav for dark mode theme required (as of now) only for Standalone GNav.

I noticed some issues and need to request some changes:

color contrast issues - expand Creativity & Design and check the "Register now" in the promo. The link is weird looking in light mode as well, should be fixed.
at times the navigation would get rendered (lightmode) and then the darkmode gets applied, resulting in a weird color transition. I am not able to reproduce this consistently though, however I was able to get a screenshot.

Hi @narcis-radu, thanks for review.

color contrast issues - I've updated the promo link color for dark theme
I've added header.global-navigation.feds--dark in styles.css to hide navigation until dark-nav.css is loaded -which makes it visible again. It should be fixed now.

It looks like dark-nav.css has color updates based on CSS custom properties. Instead of redefining selectors, why not redefine variables? Something like:

you keep things mostly as is, you just rename variables to remove the --light modifier and replace throughout the style definitions;
either you create a new file (and import it once you figure out dark mode is needed) or add the dark styles where global navigation variables are already defined (but be sure to investigate the performance hit of adding additional bytes for all use-cases). Here you can scope the variables inside your modifier class;
you'd then get OOTB color updates based on your modifier class without having to duplicate any selectors, making things more maintainable in the long run.

As for the modifier class, all global navigation/footer styles are prefixed with .feds, why not call it .feds--dark or something similar?

Hi @overmyheadandbody,
I've removed variables using --light from GNav and added override variables in dark-nav.css to remove most of the duplicate selectors. Some selectors are kept to avoid adding them unnecessarily in milo at this point. Also, some selectors are kept as few file specifc variables which loads later will override dark theme variables.  Now, we will be loading dark-nav.css once base.css is loaded
Also, I've updated the classname from darknav to feds--dark.

https://adobecom.github.io/nav-consumer/navigation.html?env=stage&navbranch=dark-nav&theme=dark

https://adobecom.github.io/nav-consumer/navigation.html?env=stage&navbranch=dark-nav&theme=dark&authoringpath=/federal/dev/gnavtest/dcgnav/gnav/localnavacrobatteams

Localized page:

Sign in session :

GDPR check:
https://adobecom.github.io/nav-consumer/navigation.html?env=stage&navbranch=dark-nav&theme=dark&authoringpath=/federal/dev/gnavtest/ccgnav/designshortform

Validations are done on the pr details are updated in subtask in the ticket
https://jira.corp.adobe.com/browse/MWPW-156618


[Windows 10] Controller experiences device timeout (Code 10)

ETA: Literally as soon as I posted this, Nefarius HID Devices reappeared. Investigating the controller gets the following error message:

This device cannot start. (Code 10)
{Device Timeout}
The specified I/O operation on %hs was not completed before the time-out period expired.

Bug description
Everything was working perfectly, but all of a sudden my controller can no longer be detected by Device Manager or DSHMC, whether by USB or wireless. The Nefarius HID Devices category in Device Manager has completely disappeared seems erratic and displays the controller with a warning sign; investigating produces the above error. I can still find the drivers with Driver Store Explorer, and attempting to remove dshidmini.inf produces an error stating that it is still in use. Windows can recognize the controller in the device list, but displays it with a "Driver Error" message. I attempted to delete and reinstall the drivers as well as restart my computer several times, but the problem persists.
The Bluetooth drivers are also installed.
The controller LED is a solid light at position 4. Plugging/unplugging through USB doesn't reset this.
Steps to reproduce
I am not certain how to reproduce the issue, as I can't get DsHidMini working again to test it.
Screenshots

Machine info

CPU-Architecture: x64
Windows version: Windows 10.0.19045
Software/driver version(s): 2.2.282
Additional information
My controller is a legitimate PS3 Sixaxis controller.
I had SCP Toolkit installed, but removed it with Legacinator. I don't have any of the other drivers listed as compatibility issues.

What is the error code and message of the device with the exclamation mark?

This error is covered in the FAQ.

It was working just a few minutes earlier, though, and I've been using this controller for years without issue. How did the hardware suddenly break?

It was working just a few minutes earlier, though, and I've been using this controller for years without issue. How did the hardware suddenly break?

IDK, I never could reproduce this myself, I have no solution for you.

I switched back to ScpToolkit and it works fine again.
You might want to revise that bit in your FAQ about how DsHidMini is so much better than your old decrepit version.

I switched back to ScpToolkit and it works fine again, so it's definitely a software problem.
You might want to revise that bit in your FAQ about how DsHidMini is so much better than your old decrepit version.

Or, how about, people start contributing fixes and solutions instead of waiting for me to do all the work? 😉

You might want to revise that bit in your FAQ about how DsHidMini is so much better than your old decrepit version.

As I said; I do not have any issues. Come up with the solution, the code is open, expecting a fix next week! It's easy, it's just software, after all!

I switched back to ScpToolkit and it works fine again

NVM then, glad to see it resolved! ♥


Update layers/meta-balena digest to f5bcab2

This PR contains the following updates:

Package
Update
Change

layers/meta-balena
digest
bf3395a -> f5bcab2

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@resin-jenkins retest this please


Empty string responses are transformed to null

When the remote returns an empty string response ``, mappersmith transforms the response to null.
This happens because the duration middleware uses response enhance (see here), which defaults to undefined for "falsy" responses (see here), which is mapped to null (see here)
Steps to reproduce

Return an empty string as response from remote

Expected
Mappersmith returns the original empty string response
Actual
Mappersmith maps the empty string to null

The fix has now been relased in 2.38.1


forward speed problem

i'm trying to benchmark resnet-18 and resnet-binary-18 using the benchmark_score.py in the binary-imagenet1k folder.
the results are:
INFO:root:network: resnet-binary-18
INFO:root:device: gpu(0)
NFO:root:batch size  1, image/sec: 9.004076
INFO:root:batch size  8, image/sec: 12.565606
INFO:root:device: cpu(0)
INFO:root:batch size  1, image/sec: 0.661994
INFO:root:batch size  8, image/sec: 0.813232
INFO:root:network: resnet-18
INFO:root:device: gpu(0)
INFO:root:batch size  1, image/sec: 36.849257
INFO:root:batch size  8, image/sec: 48.341315
INFO:root:device: cpu(0)
INFO:root:batch size  1, image/sec: 0.552637
INFO:root:batch size  8, image/sec: 0.770370
it seems that binary resnet is a little faster than the vanilla resnet on CPU. However, in the figure 1 of the paper, binarized input and xnor_64_omp are 10 times faster than Cblas.
is this the normal speed of binary resnet or i've made something wrong? and i found that when testing with CPU, only 1 thread is used, seems  openmp not working?
i'm using a ubuntu 14.04 machine, with openblas openmp installed.
CPU: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz
GPU: titanx maxwell

Hi,
first of all, there is not efficiency improvement in GPU mode in our implementation. We don't apply xnor gemm for training, since we realize that CuDNN would be much more efficient for this job. Our solution is that we use CuDNN for training, the weights and input will be converted to  +1, -1 firstly, and after dot product we map the dot_output to xnor_dot_output according to Eq. 2 in our paper. This way, we can apply xnor gemm for the inference in CPU mode.  So the speed up achieved in this implementation is only in CPU mode.
The experimental result depicted in figure 1 is based on measurements performed within one convolution layer, where we fixed the parameters as follows: filter number=64, kernel size=5×5, batch size=200, and the matrix sizes M, N, K are 64, 12800, kernel_w×kernel_h×inputChannelSize, respectively.
So in order to make a fair comparison to Cblas(Atlas), we only measure the processing time of gemm operation (one of our result also includes the processing time of input binarization).  But there is other time consuming processing steps such as "patchToCol" which takes a large proportion of the total processing time of a Conv layer. Therefore although we could achieve over 10 times acceleration in gemm computation, unfortunately for now it cannot achieve such a significant speed increase overall in a Conv layer or in a whole network.
On our testing machine: Ubuntu16.04/64-bit platform with Intel 2.50GHz×4 CPU with popcntin-struction (SSE4.2) I can achieve around 2x speed up by using binary ResNet-18-Cifar10 model compared to vanilla ResNet-18.
Moreover, there are several factors may affected the inference efficiency: Compilation in Release not in Debug mode;  popcn-instruction (SSE4.2) support; OpenMp support; 64-bit (about 2x faster than 32-bit).
We will further investigate the speedup solution and continue this work.

thanks for your great work and detailed reply，i'll try to reimplement your testing settings.

What is "patchToCol" exactly?

pls refer to the function at https://github.com/hpi-xnor/BMXNet/blob/master/src/operator/convolution_v1-inl.h#L143


Allow optional control of proxy access modifiers

Allows optional control of access modifier

I'll close this PR in favor of https://github.com/StefH/ProxyInterfaceSourceGenerator/pull/58
Can you take a look?


tests(*) run helper migrations in individual tests where necessary

Summary
This further improves the ability to run tests individually, without
assuming behavior about previous tests having performed migrations
and establishing a proper test schema.
Full changelog

add helpers.run_migrations() where appropriate in various integration tests

My fault here. I didn't add them in at the time because the tests pass as one of the initial integration tests runs the migrations, so there wasnt a need for it. braap :/

Thanks @thibaultcha! Added per your request, with the following suggestion:
the CLI test suites - do you mean 02-integration/02-cmd? If so, I'm not sure where it's appropriate in these tests? since we don't do any work on the DB here. if it's just for completeness, sure :)
02-upstream_headers_spec.lua -> already included in a previous commit

do you mean 02-integration/02-cmd? If so, I'm not sure where it's appropriate in these tests? since we don't do any work on the DB here. if it's just for completeness, sure :)

It's just that in the CLI tests, several suites start and stop Kong, and those suites simply won't pass if the migrations are not up-to-date :O Because the CLI does not run the migrations anymore...

02-upstream_headers_spec.lua -> already included in a previous commit

Ok!

It's just that in the CLI tests, several suites start and stop Kong, and those suites simply won't pass if the migrations are not up-to-date :O Because the CLI does not run the migrations anymore...

Right, gotcha! Okay, added to where it seems appropriate (start/stop/restart/quit); does this suffice?


Add blur event for controls

Feature request: Add on_blur or similar event for controls to enable action when user navigates away from the control.
Why: Possible to create more responsive applications.

Thank you for the suggestion! Could you give me a short-list of controls (in the order of priority) you'd like to see blur event implemented in the first place?

Looking closer to this, looks like my test had a bug and the on_change works fine for my use cases. Apologies for the noise.


Why use LiteLLM proxy vs. sdk

Hey @david1542, cool project!
Saw you're using litellm proxy - curious why do it that way vs. just using the sdk?

LiteLLM Maintainer

Hi @krrishdholakia, that's a good question. We wanted to keep our langchain & llama-index code untouched and smoothly allow users to define their own chat & embedding models. By doing this, we wanted to make the code super agnostic.
The places in which we do these things are in the services/api/src/agent and services/data-processor/src/build.py.
Do you think a better way is to drop the proxy and switch to LiteLLM sdk directly?

@krrishdholakia I'm closing this for now. I hope I've answered your question 🙏


Disabling or deleting retention policies with preservation lock

[Enter feedback here]
"Administrators won't be able to disable or delete these policies after the preservation lock is applied."
This in my opinion is not a good design. If Administrators are not able to disable or delete these policies, then who can?
Can Microsoft disable or remove these retention policies? Who can be contacted to do that?

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

ID: 1a3246d6-760b-89a2-01ae-835474c3105d
Version Independent ID: cf6514fc-ec5a-188b-c5a0-0be947379be4
Content: Use Preservation Lock to restrict changes to retention policies - Microsoft Purview
Content Source: microsoft-365/compliance/retention-preservation-lock.md
Service: o365-seccomp
GitHub Login: @cabailey
Microsoft Alias: cabailey

If Preservation Lock isn't suitable for your organization, then don't use it - it's an entirely optional feature that's designed to meet the requirements of strict regulations, such as SEC 17a-4(f). It's purposely configurable only by PowerShell so admins can't accidentally enable it in the UI.  Kudos for reading and understanding the implications!


adding service accounts and securityContexts

Proposed changes
Adding Service Accounts and securityContexts to improve compatibility with OpenShift (due to SCCs)
Types of changes
What types of changes does your code introduce to Litmus? Put an x in the boxes that apply

[x] New feature (non-breaking change which adds functionality)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices applies)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] I have signed the commit for DCO to be passed.
[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have added necessary documentation (if appropriate)

Dependency

Please add the links to the dependent PR need to be merged before this (if any).

Special notes for your reviewer:
This is linked to issue #3882

Have confirmed this works (and is needed) for litmus-3.0.0-beta8 on OCP.

Hi @mtcolman
ServiceAccount is already implemented in the latest version.
https://github.com/litmuschaos/litmus/blob/ac62acfe1920cbf037d8782655b26f8c9fbb9c16/mkdocs/docs/3.0.0-beta12/litmus-3.0.0-beta12.yaml#L421-L425

@namkyu1999 my proposed additions/code change is different to that. The workloads need additional serviceAccounts, and that's what I've added:
apiVersion: v1
kind: ServiceAccount
metadata:
  name: litmus-server-account
  namespace: litmus
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: litmus-auth-server-account
  namespace: litmus
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: litmus-frontend-account
  namespace: litmus
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: litmus-mongo-account
  namespace: litmus
---

See the additional service accounts alongside the existing litmus-server-account serviceAccount.
These are then used by deployments in the same yaml - and this aligns with #3882. E.g.:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: litmusportal-frontend
  namespace: litmus
  ...
spec:
  ...
  template:
    ...
    spec:
      ...
      serviceAccountName: litmus-frontend-account

Hi @mtcolman
How about adding your changes to 3.0.0-beta12 instead of 3.0.0-beta4? If you want to make changes to Litmus version 2, add your changes to 2.14.0

Closing this as it has been added as part of Litmus 3.0


Incompleteness of note head encoding

There are several things problematic about the current situation with assigning note heads:

The description of @head.shape states that this attribute should be "Used to override the head shape normally used for the given duration."
That leads to two questions: What's the difference to @dur and @dur.ges (which implicitly gives the note head), and what should happen with a stem (e. g. if one encodes a quarter note with @head.shape="whole")?

data.HEADSHAPE.list is incomplete in terms of duration. While the former data.HEADSTYLE included the value "dblwhole", this was now move to data.NOTEHEADMODIFIER.list, although it is a note head for itself and not just "enclosing fences" that are added to a note head. Furthermore there are two styes for double whole notes, the modern oval note head with vertical lines and the more traditional square head (resembling a brevis note). Currently there seems to be no way to switch between them. There are cases where both forms are used at the same time:

(Visual) Durations for non-standard note heads are not easy or simply impossible to encode.
Take a look at triangular note heads (example from Gould, p. 13):
￼
To encode the eighth notes you have to use <note @head.shape="isotriangle" @head.fill="solid" dur="8" />, which is a bit annoying but possible.
When it comes to slash noteheads, it is not possible to distinguish quarter, half and whole notes encoding wise.
See https://github.com/rism-digital/verovio/issues/1866 and https://www.w3.org/2021/03/smufl14/tables/slash-noteheads.html.
Furthermore, having values for different note head styles doesn't comply with the description of @head.shape (see above).

Switching to different note head shapes is difficult, because you have to encode it explicitly on every single note. It would be good to have a way to switch shapes for multiple notes at once (as it is basically a notationType).
An overview of several note head styles is given in the [LilyPond Notation Reference]:(https://lilypond.org/doc/v2.22/Documentation/notation/note-head-styles.html)

This relates to #202 and #400.

I'll attempt to address each item.

What's the difference to @dur and @dur.ges (which implicitly gives the note head), and what should happen with a stem (e. g. if one encodes a quarter note with @head.shape="whole")?

@head.shape affects only the note head, so in the case of <note dur="4" head.shape="whole"/> I would say that the stem should be drawn as it is implied by the duration.

data.HEADSHAPE.list is incomplete in terms of duration.

I would encode the breves (whole notes without fences) as <note dur="breve"/>, allowing the head shape to be implicit, and the double whole notes with fences as <note dur="breve" head.shape="whole" head.mod="dblwhole"/>.   If you want an explicit encoding of the "normal" breves, then <note dur="breve" head.shape="rectangle" head.mod="dblwhole"/> would be appropriate.  I think part of the problem here is the use of the term "dblwhole" to describe the addition of fences.  "Fences" would be better, i.e., <note dur="breve" head.shape="rectangle" head.mod="fences"/>

When it comes to slash noteheads, it is not possible to distinguish quarter, half and whole notes encoding wise.

I don't see anything impossible to encode here.  <note head.shape="slash" head.fill="solid" />  with an appropriate value for @dur seems appropriate.

Switching to different note head shapes is difficult, because you have to encode it explicitly on every single note.

I agree that it seems like it would be beneficial to have a "shorthand" way of switching between note head shapes, sizes, colors, etc., but an explicit encoding is better as it records all data exactly where it's needed.  A so-called "style encoding" somewhere else in, say, the header would just move the problem of specification of lots of minute, independent details.  Which is not to say that it shouldn't be considered, only that it may not provide a solution that will suit every situation.  Explicitly encoding all the visual details on each note may be troublesome, but it gets the job done every time. :-)

@pe-ro thanks for your answers.
The value "slash" in data.HEADSHAPE.list refers to the symbol 1D10D ('MUSICAL SYMBOL REPEATED FIGURE-1'), which is filled. This confused me. Is the tilde in front here meaning something like "resembles"? Maybe it would be better to not point to static glyphs here anyway.
However, data.HEADSHAPE.list still compares apples and oranges, because the first section lists specific noteheads, the latter only notehead styles.
And still a those "fences" on a double whole note is note something that is added to another notehead, it is a notehead by itself. Also there are two different "fenced" noteheads in usage, the one with one line on either side, and the one with two on both ends (as visualized above).


Update istio/proxy for 1.1.3 release.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: duderino
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
If they are not already assigned, you can assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@duderino: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
f32b55482abd7a72bcfab3203f1f7ea6fe8670fd
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@duderino: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
f32b55482abd7a72bcfab3203f1f7ea6fe8670fd
link
/test istio-unit-tests

prow/istio-integ-k8s-tests.sh
f32b55482abd7a72bcfab3203f1f7ea6fe8670fd
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@duderino: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
f32b55482abd7a72bcfab3203f1f7ea6fe8670fd
link
/test istio-unit-tests

prow/istio-integ-k8s-tests.sh
f32b55482abd7a72bcfab3203f1f7ea6fe8670fd
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
f32b55482abd7a72bcfab3203f1f7ea6fe8670fd
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Issues with Terminus 1.6

I've installed this plugin as well as the latest version of terminus however I do not have access to the sites aliases command.  There were a few issues with the composer.json file which I resolved locally (missing type and extra definitions) as well.
Any ideas?

Actually it looks like the command names have changed since the 1.x release of terminus.
https://pantheon.io/docs/terminus/get-started/legacy/

This plugin currently only works with Terminus 0.x.  A version for Terminus 1.x will be available shortly.

The 1.x branch of this plugin now works with Terminus 1.9 and later.


include a table of content

Amazing work!
Browsing long html articles would be made much easier if there was a table of content sidebar.

Hi @elipapa , thank you for the kind words.
One could certainly make an auto-generated TOC sidebar. I think arXiv have started experiment with that, as you can see while exploring the current beta HTML articles at:
https://info.arxiv.org/about/accessibility_html_papers.html
Which leads me to the issue resolution - currently the ar5iv focus is on extending coverage and improving the conversions of articles to HTML, less so developing new UI/UX features. We expect a transition where arXiv is the primary source of HTML in the coming months and the web service here will start redirecting to the main site. Keep an eye out for that, as they are also interested in technical feedback.
Thanks again!


Make deterministic / repeatedly random using seed

This is a work-in-progress to allow FFaker to generate repeatable sequences given the correct seed. This can help with #153 and possibly with parts of #19. I think it's a good start, but I want to get outside opinions before I finish converting all the modules.
It adds:

FFaker::Random class that manages the state of of the Random Number Generator.
ModuleUtils#fetch to be used in place of Array#sample.
ModuleUtils#shuffle to be used in place of Array#shuffle.
ModuleUtils#rand to intercept calls to stdlib rand and redirect them to the internal RNG.
DeterministicHelper (in helper.rb) to give methods to easily test the determinability of FFaker module methods.

I have updated the following modules as test cases, as well as their tests, to see what different use cases there are:

lib/ffaker/address_au.rb
lib/ffaker/address_br.rb
lib/ffaker/address_ca.rb
lib/ffaker/address_ch_de.rb
lib/ffaker/address_ch_fr.rb
lib/ffaker/address_ch_it.rb
lib/ffaker/tweet.rb
lib/ffaker/vehicle.rb
lib/ffaker/youtube.rb

So far there is nothing really difficult to convert, only time-consuming.

To use a specific seed (say, from minitest or rspec), you'll call:
FFaker::Random.seed = <the seed>

That will store the random seed and build a new RNG based on that seed. When the time comes to reset the RNG back to the initial state you would call:
FFaker::Random.reset!

Which will reset the RNG back to that starting state using the previously-set seed.
I haven't yet written any code to actually connect this in to rspec or minitest, but it shouldn't be very hard.

The things I am not sure of yet are and would like input on:

Is fetch a good name for the Array#sample replacement method? I chose that because there is a similar method in the Faker gem. "deterministic_sample"?

Is shuffle a good name for the  Array#shuffle replacement method? I can't think of anything better.  "deterministic_shuffle"?

Stepping on top of rand() with ModuleUtils#rand is very convenient when it comes to converting the modules, but is it too much magic?

Any other questions or concerns are welcome!

Very excited about this! Just this week I talked with a co-worker about attempting the same thing.
Some input on your questions from above...

Is fetch a good name for the Array#sample replacement method? I chose that because there is a similar method in the Faker gem. "deterministic_sample"?

Maybe fetch_sample() would be a little more explicit? It would make it pretty clear that you're replacing previous .sample calls and wouldn't be confused with Ruby's Array#fetch.

Is shuffle a good name for the Array#shuffle replacement method? I can't think of anything better. "deterministic_shuffle"?

It's sufficiently clear to me what this method is doing when I glance at the code.

Stepping on top of rand() with ModuleUtils#rand is very convenient when it comes to converting the modules, but is it too much magic?

It certainly is magic, but doesn't feel particularly onerous. Especially considering that  const_missing is already overridden to enable core functionality, it feels right to keep to the same pattern. Probably worth a mention in the README though once this pull-request is merged.

LGTM! Just resolve confilict to merge. 👍

@marocchino Thank you for looking at this. I still need to update the rest of the modules to use the new methods before it is ready to merge, but I will ping you when it's ready :)

@xunker I'd be happy to help out with some of the legwork on this. Let me know.

@dphurley I have added a todo-list to the original PR comment and I will try to keep it updated. Feel free to convert any of the modules listed there and make a PR to my fork/branch. Thanks!
The changes should be relatively easy, changing ary.sample in to fetch_sample(ary), ary.shuffle to shuffle(ary) and then adding the appropriate assertions to the test.  Looking at the already-converted address modules will give you an idea.
For testing methods that don't need arguments, you can test a list of them with assert_methods_are_deterministic. For methods that need an argument, you can test them with assert_deterministic. Both are defined in helper.rb. You can also look at the address module tests to see examples.
Also, if you can think of a good way to get around having to put include DeterministicHelper in every test file, that'd be great :)

@xunker is this sufficiently stable that we could do some testing against this branch? We're currently using faker but would happily switch to ffaker if this merges. We have a lot of issues with non-deterministic test failures from faker.
Also happy to contribute if there's more work to do, but your todo list seems about done.

@hurtstotouchfire Thanks for the ping -- I need to merge the most recent master in to it and update it for changes. It's almost 100% ready to go except for that and some docs I need to update first.  Thanks for reminding me I still need to finish this up and get it merged, I'll try to do it ASAP!

@hurtstotouchfire I've merged current master in and updated the new modules and tests. You are welcome to test with this branch while it is waiting to be merged -- and please let me know if you find any bugs or issues.

@marocchino I think this is ready for a review and merge. There are Hound-CI warnings, but those are from merging current master in to the branch so I've elected to not fix them here.
This PR makes changes to almost every file in the repo so there is a lot to review, though the most important things to review (in my opinion) are:

The new random_utils.rb file (I used to have it as part of module_utils.rb, but broken out so it can be used i n array_utils.rb, too).
The new Random module added to lib/ffaker.rb.
New DeterministicHelper (test/helper.rb)module used in all the test cases.
The additional documentation added in RANDON.md.

Let me know of any questions you have, or any changes you would like me to make. Thanks for letting me work on this, it's been fun 😃

@xunker already started ;) I'll let you know how it goes

LGTM. @ffaker/team any comments?


Source map issues

Background: I'm using ngrx/store in my Angular2 app, which now requires this repo. I'm also using Webpack instead of SystemJS, and ES6 (transpiled using Babel) instead of Typescript.
In my karma unit testing setup, I'm using the source-map-loader Webpack plugin to optimize the stacktraces. However, @ngrx/core is causing the following warnings to be generated:
WARNING in<EMAIL_ADDRESS>Cannot find source file '../../lib/SyncSubject.ts': Error: Cannot resolve 'file' or 'directory' ../../lib/SyncSubject.ts in /{REDACTED}/node_modules/@ngrx/core

WARNING in<EMAIL_ADDRESS>Cannot find source file '../../../lib/operator/select.ts': Error: Cannot resolve 'file' or 'directory' ../../../lib/operator/select.ts in /{REDACTED}/node_modules/@ngrx/core/operator

It isn't preventing the tests from running or causing downstream problems, but I'm not having this problem with any other packages, so it seems to be specific to the way this package is set up.
I've stopped the warnings from being generated with the following settings in my Webpack config:
module: {
    preLoaders: [
        ...
        {test: /\.js$/, loader: 'source-map-loader', exclude: /(node_modules\/@ngrx\/core)/},
        ...
    ],
    ...
},

...but I figured I'd give a heads-up that I encountered this, in case anyone else runs into this in the future.

Same issue here -  also using webpack (angular2-webpack-starter). Thanks for the fix

I have the same issue ....

Sourcemap issues have been resolved


Install nodejs locally if not found

Integrate this package once it's stable:
https://github.com/thecodingmachine/nodejs-installer

Hi @nsams ,
Just opened a pull request (#5) to improve compatibility between nodejs-installer and composer-extra-assets.
I was wondering: do you see anything that could be improved to "nodejs-installer" that could help?
I'm considering tagging the current release as 1.0.0, but I'd like some feedback first.
If you think there is any interesting missing feature, let me know! Otherwise, I'll tag the release.

Hm, interesting.
My thoughts:
Is modifying the $PATH a standard solution or more a hack? I don't have the best feeling with it.
What I had in mind: composer-extra-assets should require nodejs-installer and use the nodejs by using vendor/bin/node instead of node. That would not require modifying $PATH.
What is missing in nodejs-installer is that not only the root package minimumVersion etc. is fetched.
What do you think?

Hi @nsams ,

Is modifying the $PATH a standard solution or more a hack? I don't have the best feeling with it.

I understand your reluctance, it is indeed a hack. I made it an option includeBinInPath that is disabled by default.

What is missing in nodejs-installer is that not only the root package minimumVersion etc. is fetched.

Good news, I got rid of "minimumVersion". Now, there is only one option "version" that accepts constraints just like NodeJS (for instance: "~0.11"). Also, this option is fetched and merged from all packages, so any package can add a particular constraint on the NodeJS version and the plugin will try to find the best matching version from all the constraint of all the existing packages.
This time, I believe it's ready. Anything else I can improve? Shall I release 1.0?

Good news, I got rid of "minimumVersion". Now, there is only one option "version" that > accepts constraints just like NodeJS (for instance: "~0.11"). Also, this option is fetched > and merged from all packages, so any package can add a particular constraint on the NodeJS version and the plugin will try to find the best matching version from all the constraint of all the existing packages.

Cool, thanks.
I have created a PR for that integrates nodejs-installer: #6
Do you think that's the way to go?

This time, I believe it's ready. Anything else I can improve? Shall I release 1.0?

I didn't test on other platforms than linux yet, but other than that it's ready for release.

#6 is merged


Option value besides of option text

In HTML dropdown, we can set option value besides the text inside. I don't see anything similar here based on the documentation.
I want to get the value containing the object ID but show the object's name in the option text.

You should be able to specify it in the modelLabel property:
options = {
    modelLabel: 'id',
    optionLabel: 'name'
}

That will cause me inputting the name as the id.

	$scope.selectedOption2 = {
		id:"The Hobbit"
	}

It turns out, it's possible! Just have the options to be this way:
$scope.options2 = [
		{
			title:"The Fellowship of the Ring",
			value:1
		},
		{
			title:"The Two Towers",
			value:1
		},
		{
			title:"The Return of the King",
			value:1
		},
		{
			title:"The Hobbit",
			value:1
		}
	];

When selected, the selected option will be this:
{"book":"The Fellowship of the Ring","title":"The Fellowship of the Ring","value":1}

That's a result of this config:
$scope.config = {
		modelLabel:'book',
		optionLabel:'title'
	};


🌱 Adding PR title verifier

What this PR does / why we need it:
Adding PR title verifier. This uses https://github.com/kubernetes-sigs/kubebuilder-release-tools and makes sure that the title has an icon added. This will make the release process easier.

/override test-centos-e2e-integration-main
/override test-ubuntu-integration-main
Save the trees.

/approve


[BEAM-10631] Fix performance of Schema#indexOf

Schema#indexOf uses String.format to prepare error message.
It causes performance issues if schema has options, because
Schema.Options#toString allocates TreeMap.
Use formatter built-in into Preconditions that is lazy, and
doesn't call Schema#toString unless needed.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @TheNeuralBit


Fixed-Size Events

It would be cool to have special support for fixed-size events. The resolution table isn't needed at all in this case. This would be particularly helpful if events were very small (probably under 64 bytes) because you would save 8 bytes of space for every event. It would also mean that you have one fewer pointer to chase in several situations.

I still want to support this at some point, but it's not a priority.


Unable to sign back in Android client

Please see the attached.
I signed out to see if other syncing issues would resolve.
I wasn't able to sign back in.

Sorry about this bug.  It will be fixed in our next release.

Can you shed any light on the next release, as I've been waiting 3 weeks already without a workaround for this bug. Thanks

Thanks so much for your patience.
We were smoke testing the new release today and found some bugs, so we're racing to fix them
Cc: @chrisnojima, @malgorithms

Ok @maxtaco thanks.


Last.fm API Example contains broken images + incorrect data references

It looks like the Last.fm API Example page has broken images, due to a deprecation of interpolation syntax with Pug/Jade, and is also listing the incorrect data for albums and tracks of the artist.

I will submit a PR with the fix!

PR merged, closing the issue.  Thank you 👍


Support Colima out of the box

This is related to #5837, though I'm not sure if it fully fixes it.
This makes two changes that make testcontainers work with Colima with no configuration for me:

Since v3.3 docker-java supports looking in the context file to discover the Docker host, but EnvironmentAndSystemPropertyClientProviderStrategy ignored that. This change makes it so that if DefaultDockerClientConfig.Builder.build ever returns a non-default docker-host, it is used.
With Colima, the path that you use to refer to the docker socket when setting up container volumes is different from the path you use to directly connect to Docker, because within the VM, you just use the standard /var/run/docker.sock. Add some hardcoded logic to always use /var/run/docker.sock if the chosen socket appears to be from Colima; you can always override with $TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE.

Thanks for the PR, @glasser. Sadly, this is not enough to make sure Testcontainers for Java works with Colima. There is an ongoing work on Testcontainers for Node, see this PR and the lessons are going to be shared in order to support it cross languages implementations.

It does work on my computer, though I see that your PR there actually tests it in Colima, which is great. I guess we can use my fork in my project for now, if it seems like testcontainers-java is likely to support Colima relatively soon!


Select change event to update text in same row

Category: Help Request/Question
Hi guys
I have a text field and a select field in a row.
Is it possible to insert a string into the text field on a dropdown change event depending on the selected value?
I am testing with the code below which shows the alert on any change of the dropdown in the case of adding. It is not working for updating of rows yet.
onDataLoaded: function(args) {
  $( ":input" ).change(function() {
      alert( "Handler for .change() called." );
      });
  },

My final plan is to set a decimal field with a price depending on the selected value from the dropdown. The price comes from the database.
Any tips? Thanks for your help!

Redefine editTemplate (or insertTemplate of the field attaching change event handler so the it sets the text field.


Spike - Can we use conda list and conda info all the info we need to work with conda

Can we stop using the environments.txt file?
Currently when we discover interpreter environments we walk through a list of locators.  For conda we have CondaEnvService and CondaEnvFileService (in that order).  CondaEnvService uses the conda command and CondaEnvFileService uses the .conda/environments.txt file.  So this spike boils down to "can be get rid of CondaEnvFileService?"
Getting environments from mini conda does not work

This could be a bigger problem. (possible it fails with vanilla installs of latest version of Conda)
TODO:
[ ] Need to test current extension on Windows, Mac and Linux.

[ ] Latest anaconda
[ ] Latest mini conda
[ ] Test discovery of conda environments (ensure they are listed in environment list)

Try to find a better way e.g. conda run (check upstream on Conda repo for recommendations)

See https://github.com/microsoft/vscode-python/issues/6802 & #6854
This is Conda related.
TODO:

We need to identify a better (proper way) to get this working
(adding paths, etc is a hack and we're trying to get away from such hacks when dealing with Conda).

@brettcannon @karthiknadig Sorry, didn't manage to get to this (i.e. didn't investigate)

On Windows:
Running conda info --all --json returns a JSON object that has a envs  field. This value matches the contents of the ~/.conda/environments.txt
environments.txt

conda info --all --json

Running conda info --all --json returns a JSON object that has a envs field. This value matches the contents of the ~/.conda/environments.txt

Some background info for @karthiknadig.
Note: In the past conda info didn't return everything (at all).
Thats why the extension checked both places. Later PTVS too started doing the same thing.
So the question is, has conda fixed this and can we rely purely on conda info. If so, do this do this based on a version check?

@DonJayamanne @luabud How far back in terms of anaconda versions are we supporting?

back in terms of anaconda versions are we supporting?

We need to check what versions are used by our users to make this decision.

I looked up to a year back Anaconda3-5.3.0 released on September 27 2018. conda info gets the environments correctly.

The real trick is the conda version which is updated independently of Anaconda releases. And we have been planning to support at least conda 4.6 and newer due to relying on conda run going forward.

So Anaconda3-5.3.0 uses conda 4.5.11. Since i can get environments on conda 4.5.11 using conda info i think we are are good there.

On linux, tested from latest to Anaconda3-5.3.1 which uses conda 4.4.10. I am able to access environment data using conda list.

And via conda info:

If the minimum version we are planning to support is conda 4.6* then I think we can safely get rid of CondaEnvFileService.


use mask method in partitioning examples

In GitLab by @luitjansl on Nov 13, 2023, 11:55
Description
When setting up tests for partitioning, we sometimes wish to make cells inactive in a model. This means that those cells must be made inactive in the model's idomain array, and then data associated to those cells must be removed from all packages in the model. We would like to use the "mask" method for that, but that doesn't work - after masking all the packages, we still get validation errors when writing the simulation.
Currently the packages are masked in a loop:
# deactivate some cells on idomain
    idomain = simulation["GWF_1"].domain
    deactivated_cells = slice(93, 101)
    idomain.loc[{"mesh2d_nFaces": deactivated_cells}] = 0

    # The cells we just deactivated on idomain must be deactivated on package inputs too.
    for name, package in simulation["GWF_1"].items():
        if not isinstance(package, Well):
            for arrayname in package.dataset.keys():
                if "mesh2d_nFaces" in package[arrayname].coords:
                    if np.issubdtype(package[arrayname].dtype, float):
                        mask_value = np.nan
                    else:
                        mask_value = 0
                    package[arrayname].loc[{"mesh2d_nFaces": deactivated_cells}] = mask_value

But ideally we would like to use the (now private) _mask_all_packages function of "model" for that

In GitLab by @JoerivanEngelen on Nov 17, 2023, 14:40
Task outside scope of this issue, made a separate issue for this: #651


Add support for all layers in webmap

We got a request to support adding submissions for all layers. So an author could configure  a geoform to use all layers and then in user mode a user would first pick a layer from the webmap in a dropdown and then would get all the fields for that layer to enter.
@pjdohertygis do we want to support this?

@driskull
Here is demo link for 'all layer' functionality:
Author Mode:
http://<IP_ADDRESS>/LimNextGen/geoform_alllayer/
appid=bbcd4e8082704f09b44def308bc89c54&edit=t
User Mode:
http://<IP_ADDRESS>/LimNextGen/geoform_alllayer/
appid=bbcd4e8082704f09b44def308bc89c54
Username:sagarnair_cssl
Password: CSSL#2016
Please let us know your feedback.
Thanks

@CTDisasterManagement Seems to work well. We would like the layer dropdown to appear as just another item within the form at the top. Instead of being separated from the rest of the form fields.
In the author view:
The default layer selection should be "All" instead of "Select Layer". If there are no feature layers then we should disable the menu. The rest looks good. Thanks

@driskull
We were thinking of keeping the layer drop down separate, because on layer change the whole form will be created again and if layer drop down is part of form div, then it will be hidden and shown on every layer change.
Thanks!

Lets discuss at next meeting. It doesn't look right as it currently is. @pjdohertygis may have some feedback.

Sure.
Thanks!

@driskull
We have done some changes in 'All Layer' functionality.Please have a look it.
Author Mode:
http://<IP_ADDRESS>/LimNextGen/geoform_alllayer/?appid=bbcd4e8082704f09b44def308bc89c54&edit=t
User Mode:
http://<IP_ADDRESS>/LimNextGen/geoform_alllayer/?appid=bbcd4e8082704f09b44def308bc89c54
Username:sagarnair_cssl
Password: CSSL#2016
Thanks!

That looks great. Lets just change the text in the user mode from "Select Layer" to "Choose Form".

Sure Matt.
We will do the same and send a new pull request tomorrow.
Thanks!

@driskull
We have sent pull request.Please have a look at it.
Previously we were having fields array(this.config.fields=[]), but now we are using object for the same as we can have n number of layers to be stored.Just wanted to let you know this as this is measure change.
If this issue is merged in development branch then we can easily start working on "All Layer" support for browse mode as it is related to this issue.
Thanks!

Hey @CTDisasterManagement Is it a breaking change? Sounds like it. We need to support all existing applications that are currently out there not configured with multiple layers. So we'll need to check to see if the fields is an array or an object and handle it as we need to so it doesn't break. Does that make sense?

Yes @driskull it does make sense.
When application loads, if this.config.fields is an array then we can convert it to an object
EG: this.config.fields['layerId']=fieldsArray;
So the code will work with minimal changes.
Can we go ahead and implement the same?
Thanks!

Yes, that will work. thanks! :+1:

@driskull
We have sent a pull request which supports configured fields in array and object format.
So it should work with old appid, we are testing it with different scenarios.
Thanks!

awesome. thanks!


Rolling errors

When starting Mudae AutoBot Limited.py, if there is no scroll, it displays this error.
I also modified it here to roll faster, because it was extremely robotic and this error occurred.
Would it be possible for the bot to start running again without having to restart?

I tried to use SoulmateKakSnipeOnly with soulemoji_list, without success, they are ignored

Don’t know what you mean by no scroll but basically how rolling works is that it timeout purposely to stop spamming a channel so if it never receives a timer this is so the rolling method is handled dynamically Instead of statically. And the reason that it’s must be restarted as this is a coroutine that is created upon ready so it can be created and left to do its task in the background
One way might be adding a on message listener to check for a discord message that says reset but that might not work or might cause issues
Again as I don’t have soulmates I can’t really test the code any changes you made I cannot confirm if it works. I can tell you that the current implementation ignores soulmates that don’t have $EC set so if you didn’t set your soulmates to a different EC color it will ignore
Sent from my iPhone

On Apr 30, 2021, at 10:03 PM, BellaDona007 @.***> wrote:

When starting Mudae AutoBot Limited.py, if there is no scroll, it displays this error.
I also modified it here to roll faster, because it was extremely robotic and this error occurred.
Would it be possible for the bot to start running again without having to restart?
I tried to use SoulmateKakSnipeOnly with soulemoji_list, without success, they are ignored
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

wheter its fast or slow is a personal preference I play on mobile sometimes and I have to manually type $w and that takes varies from a few secs to really fast.  to say that it rolling to slow or to fast makes it robotic doesnt really make sense to a normal player you are simply typing $wg and it takes you a few seconds.
as since you know its a bot makes you think that it is robotic as this is only a single-blind test you knowing that you are using a bot makes it feel like a bot but to normal users they are not exactly timing your bot rolls to see if your a bot.

`

make sure your soulmates pass this check or else it will be ignored.

and this code is what makes the coroutine. do with this knowledge what you will but simply restarting my program is a non-issue as I have to make changes every time I need to resolve an issue. you could maybe increase the timeout but do keep in mind that this might cause the bot to actually spam the channel until it receives the desired input needed to continue

issues Again as I don’t have soulmates I can’t really test the code any changes you made I cannot confirm if it works. I can tell you that the current implementation ignores soulmates that don’t have $EC set so if you didn’t set your soulmates to a different EC color it will ignore

The only change I made on this new one was just to put the embedcolor that I want him to recognize as a soul mate
I will keep the original value in this part then and see if the problem occurs in the rolls

hope you know that right now its set to not in so it will check if the values is not the set color

Just configuring:
token
channel_id
claim_delay
kak_delay
"SoulmateKakSnipeOnly": "True"
SoulmateKakColorValue ":" # 0004ff "
And running MudaeAutoBot_Limitd.py, without having rolls, it presents an error and asks to restart (This didn't happen before)
It also sometimes happens that he is rolling around many times without even having a roll.

I don't know if there was a change in Mudae, but the old versions that I used one stopped taking the kakera from embedcolor and started to ignore the lack of kakerapower and always try to catch kakeras

As stated when I pushed code I was trying to phase out embed color
So it’s set to snipe all $EC that is “NOT IN” default colors
As for rolling the “limited” version of the code was just a copy and paste of the original code with the changes made to limit servers
Personally I wanted to avoid making the limited version as I requires more set up then the previous one but as requested I provided the same code but with more settings required to make it limited so it might be issues with variables not being set correctly or not being found that it requires for checks
Sent from my iPhone

On May 1, 2021, at 1:41 AM, BellaDona007 @.***> wrote:

Just configuring:
token
channel_id
claim_delay
kak_delay
"SoulmateKakSnipeOnly": "True"
SoulmateKakColorValue ":" # 0004ff "
And running MudaeAutoBot_Limitd.py, without having rolls, it presents an error and asks to restart (This didn't happen before)
It also sometimes happens that he is rolling around many times without even having a roll.

I don't know if there was a change in Mudae, but the old versions that I used one stopped taking the kakera from embedcolor and started to ignore the lack of kakerapower and always try to catch kakeras
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

I used the normal version I made the changes you indicated once, to see if it was not a problem at MudaeAutoBot_Limitd.py
changeif message.author.id == mudae:>>> if message.author.id == mudae and message.channel.id in [111111,22222]:
changeif user.id == mudae:>>> if user.id == mudae and reaction.message.channel.id in [111111,222222]:
It turns out that he is ignoring the lack of kakerapower and is not identifying the "namelist"
I gave up trying to get kakera with embedcolor, because even in the old version it stopped working, without me making any changes

This part is not working, would it be due to the bot this language PT-BR?

The original message is:
"You can't react to kakera for 10 min. ($ ku)"
The message in PT-BR
"Você não pode reagir a um kakera antes 10 min. ($ku)"

As long as the kakera starts with your username and has “kakera” in the message it will trigger
Sent from my iPhone

On May 1, 2021, at 6:34 PM, BellaDona007 @.***> wrote:

This part is not working, would it be due to the bot this language PT-BR?
The original message is:
"You can't react to kakera for 10 min. ($ ku)"
The message in PT-BR
"Você não pode reagir a um kakera antes 10 min. ($ku)"
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

I don't know what happened, but there are 3 days that even the version I used before stopped trigger

Very vague I need more info. We were talking about multiple issues and broken is not defining enough
If it's soulmate kakera sniping them I keep explaining that it has been changed on how it works that as long as you have set it to a non default color
Sent from my iPhone

On May 1, 2021, at 6:42 PM, BellaDona007 @.***> wrote:

I don't know what happened, but there are 3 days that even the version I used before stopped trigger
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

During the roll:
1- If you start the program with no roll available, the program displays the image

2 - It does not react to the waifus corresponding to the embedcolor defined in SoulmateKakColorValue
3 - He does not identify the kakera cooldown, in my roll or outside of it

if you have no roll avaible it awaits a message that says username , xxxxx xxxx xxxx 60 mins left unless your server has a different. if you get a different result then below / then let me know but looking at the response it can still parse this correctly

I changed the check to so as of now SoulkakColorValue is not used and is now using anything that isnt "Default Value". this was a change so it required less set up for users and didnt limit players to only use 1 color.

Timer for kakera rolls only effect the "not Soulmate kakera" and "KakeraP" gets its own reaction sniping because kakeraP is free so it will make the attempt to avoid missing KakeraP

KakeraP

Soulmate Kakera

Not Soulmate "Normal Kakera"

https://github.com/discord/discord-api-docs/blob/master/docs/Change_Log.md#DOCS_TOPICS_THREADS
there is a discord api changes itself which is why there are errors

so this means there will be certain bugs and errors that are out of my control

https://github.com/discord/discord-api-docs/blob/master/docs/Change_Log.md#DOCS_TOPICS_THREADS
there is a discord api changes itself which is why there are errors

so this means there will be certain bugs and errors that are out of my control

Right after that date here kakera cooldown, SoulmateKakColorValue and namelist stopped working

yeah alright im gonna close this issue and the other issue and make a umbrella issue so that way the issue isnt spread across issues


Create IConfiguration extension methods to get Aspire convention-based values

It would be really nice if Aspire added some extension methods on IConfiguration that allow for convenience-based APIs for getting values.
For example, it's ugly to ask the config for "services__serviceName__0". Something like this might be really useful:
public static class ConfigurationExtensions
{
    public static Uri GetServiceHttpUri(this IConfiguration config, string name) =>
        config.GetServiceUri(name, 0);

    public static Uri GetServiceHttpsUri(this IConfiguration config, string name) =>
        config.GetServiceUri(name, 1);

    private static Uri GetServiceUri(this IConfiguration config, string name, int index)
    {
        ArgumentException.ThrowIfNull(name);

        var url = config[$"services:{name}:{index}"];

        return new(url);
    }
}

This can be useful. We added something similar in the Aspire.Hosting.Testing package as an extension on DistributedApplication.
The API would need to take an optional endpoint name.

Where is that, I just looked and can't seem to find what you're describing?

I also recently stumbled upon these, that are similar by don't expand the config names: dotnet/aspire/blob/main/src/Shared/IConfigurationExtensions.cs.


Don't mangle files that start with the gzip magic bytes.

From mod-pagespeed-discuss thread: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/mod-pagespeed-discuss/nehDfeYxlTQ/NKWKLLFPCAAJ
A site is using the GD Star Rating plugin, and the CSS for that plugin gets garbled by mod_pagespeed.  I suspect this is because the plugin gzips its CSS output but does not give it content-encoding:gzip header.  So mod_pagespeed attempts to parse the gzip output as plain CSS and reports lots of encoding warnings.
The output is also broken -- the CSS coming out of mod_pagespeed is not readable.
I think this is the fault of the plugin, but I can't prove it because the download link for the plugin is broken: http://www.gdstarrating.com/index.html .  The customer is using GD Star 1.9.22.
As far as I can tell from that site, that whole gd-star system has not had an update in 5 years.  However, the problem is avoided by telling mod_pagespeed not to touch it:
      ModPagespeedDisallow */gdsr.css.php*

I have zipped the plugin folder and put it here:   https://helloacm.com/data/gd-star-rating.zip

A gzipped resource should start with the magic bytes 1f8d:
$ curl -sS -H 'Accept-Encoding: gzip' www.google.com | head -c 2 | xxd
00000000: 1f8b

We should be aware of this, and avoid touching anything that starts with that.  Maybe we should be like browsers and treat it as telling us that we're processing gzipped data if it then gunzips without errors, but we definitely shouldn't proceed as if it's text.

Looking at the plugin, gdsr-config.php is an ordinary-looking php file, and nothing in the plugin mentions compression.  So this is more likely to be a webserver misconfiguration than a problem with the plugin.

I'm not able to reproduce combining or mangling with gzipped data, just inlining it, so I'm going to send out a CL that just blocks the inlining.

Fixed by 	703060b


Minim 1.0 Proposal

This writeup outlines some ideas and thoughts on bringing Minim to a stable 1.0 release. I would like to work on stabilizing the interface and get some good use out of it before moving to 1.0, but would also like to not spend forever in pre-1.0 versions.
Aligning Minim with Refract
Right now, we call elements as types, such as StringType, NumberType, etc. We should align the naming of these to be StringElement, NumberElement, etc.
This goes for places where we call things "DOM."
Better Class Support for Non-ES6 Platform
Right now, to extend a class, you must be using ES6 or use a separate library for extending the prototype. I believe this is less than optimal, as it is a very important aspect of creating new elements. We need to think through how to provide support for this.
Backbone.js models extend models by adding a custom extend method on to classes [0]. They actually extend these classes using the underscore extend function.
Here is an example of a class in Backbone.js being extended.
_.extend(Model.prototype, Events, {
  foo: function() { return 'bar'; }
}

Model then provides a special extend method for extending that particular class with conventions such as:
var Book = Backbone.Model.extend({
  foo: function() { return 'hello world'; }
});

Now Book has all of the methods that Model has, but has a different foo method attached to the prototype.
I believe we should support extending classes this way, but it provides issues. For instance, how can this extend override the constructor for an ES6 class? How can we provide a super for those using ES5? It brings with it the question, should we be doing all of this in ES5 (yikes)? I believe we can do everything here in ES5 that we need without the ES6 syntax.
No matter what direction we take, I believe extending a class in ES6 will still work correctly, even if we use ES5.
Meta and Attributes as Minim Objects
Right now, the interface to meta is that it is a pseudo Minim Object that provides defaults for each of the values. Right now, you have a different interface to meta and attributes, as meta has a Minim interface and attributes is a simple object.
As Daniel pointed out, this pseudo Minim Object for meta creates some undesired effects. We need to solve this, which I belive takes:

We need to lazy load meta and attributes since it would create an infinite loop
We need to make meta and attributes Minim Objects
We need to be able to provide default values so the user does not have to set things like id or class. They should always be there and the user should not have to check. This would also be helpful for providing defaults for attributes.

Content as Minim Type
It would be helpful to store the content in a normal array, but provide a Minim instance for accessing the content. This means that meta, attributes, and content will all have the same interface.
Object Property Setter
Setters for objects currently require two arguments—a property name and a value for that property. Backbone.js allows for providing an object directly to set.
obj.set({ foo: 'bar' });

This would be really nice to support, and would be very similar to Backbone.js as a common convention.
Better Output of Full Refract
Right now, outputing full refract will always output meta and attributes. It would be beneficial in reducing size to only output meta and attributes if they have properties set. Since we will be (hopefully) be setting these as Minim Objects, it may be helpful to add an isEmpty method to determine if the contents are empty.
Handling Null Values
We need to handle null and undefined values better when parsing a Refract tree. For example, when the value of a MemberType is undefined, we should determine how to treat those values values. Same goes for StringType instances where the value is null.
Conclusion
There are more issues than outlined here, but these are the big ones. I would like to tackle these first and we can evaluate afterwards.
[0] I know JavaScript before ES6 didn't have classes, but it's the language we use.

cc @danielgtaylor

:+1: Great stuff!
My only comment is regarding ES6/ES5 classes and how to handle them. I am strongly in favor of using ES6 classes, defaulting to ES6 in examples, and generally recommending people use ES6 inheritance if possible. We should also document how to use ES5 if it isn't possible.
The _.extend syntax is interesting but note that you can also do it by hand, and you can simulate super calls easily. I'm definitely open to sugar wherever possible, but here's a quick sugarless example showing how it can work:
// This is our base class, defined in ES6
class MyObject {
  constructor(id) {
    this.id = id;
  }

  hello() {
    return `Hello, id ${this.id}!`;
  }

  bye() {
    return 'Goodbye!';
  }
}

// Now, let's pretend we have to use ES5
function MySubClass(id, name) {
  // Simulate a super call
  MyObject.bind(this)(id);
  this.name = name;
}

// Make it a subclass by copying the prototype
MySubClass.prototype = Object.create(MyObject.prototype);

// Now we can overwrite any methods we like
MySubClass.prototype.hello = function hello() {
  return `Hello, ${this.name}! (id:${this.id})`;
};

const test = new MySubClass(1, 'world');
console.log(test.hello());
// => Hello, world! (id:1)
console.log(test.bye());
// => Goodbye!

Hopefully this shows that we really don't need to move away from ES6 classes.

Good stuff, and great example. I want to say I'm very torn on this. I totally prefer the ES6 syntax for classes, but here are my current issues. I believe there are issues for users and big issues for developers.
First, the issues for users of the library. I'm assuming that a majority of people will not being using ES6. We won't want to require people to subclass like you've shown above, so we'll have to provide something like StringElement.extend. So now we have to support this forever, basically, unless we want to stop supporting ES5 at some point.
Whether we provide this in an ES6 class system or have it in ES5, we are not preventing the user from using it with ES6 classes. Take for instance this article where the user is using ES6 classes with Backbone "classes." It is still usable and is transparent.
Now if we stopped here with the issues, I would see no big difference in writing Minim in ES6 and adding this special extend method for classes and would 100% vote for that. But the problem with working with this trickles down to the developer in a big way.  I have actually been quite frustrated with using ES6 for this library.

Running tests takes at least five seconds each time. One second is devoted to linting, and the rest to transpiling. This is unbearable to me. I should be able to run my tests with nodemon or something and they finish by the time I glance at my terminal.
No source maps, so errors in failing tests provide little help. The code Babel produces is unreadable to me.
Related: I am fearful of supporting this library. If a user opens an issue saying they got an error on such and such line number, I will have to dig through two codebases... the transpiled and the ES6. If I don't now why the error is happening, it may be because of Babel magic.
Code coverage tools provide incorrect data since they run against transpiled code. It's not even useful to look at it! Those tools are for helping you know what you haven't tested, and that data isn't there.
I wanted to try out Flow, and it doesn't work for the new for loops in ES6 along with files ending in .es6. I switched to .js, but I get errors when I ran it because of the loops. This made Flow not really helpful.

With these things in mind, the development process for Minim is quite bad, especially for such a small library. The only win I see us getting here is nicer syntax. There is no reason users of the library couldn't use it with ES6, so we are OK there. And if we write this using old ES5 "classes," we can still use it on future platforms that support ES6, even with ES6 classes. Lastly, we'll always have to support this special .extend functionality, so there is no getting away from it.

Hopefully this doesn't seem like a rant (maybe a partial one). I am just struggling to seeing the benefit of using ES6 for a library like this with all of this pain I'm having. For the browser, it makes total sense because you will always have a build step. With this, the build step is unecessary. What are your thoughts on this? @danielgtaylor

Writing this with prototypical inheritance is also still usable with CoffeeScript classes.
MyClass = (@id, @name) ->

MyClass::hello =  -> return "Hello, #{@name} with id #{@id}"

class MySubClass extends MyClass

test = new MySubClass 1, 'John'
console.log test.hello() # Hello, John with id 1

Also, wanted to make a quick comment on this:

You can run the above via babel-node classtest.es6

This actually will transpile then run your code. Babel-node takes 0.6 seconds to run the code below :)
console.log('Hello world');

Node 0.12 takes 0.043 seconds.

Love the rant - get it all out! :facepunch:
First, are you suggesting we rewrite in vanilla ES5? It seems like many of these issues are going to be problem with any transpiled language, including CoffeeScript (though to a lesser degree).

we'll have to provide something like StringElement.extend. So now we have to support this forever, basically, unless we want to stop supporting ES5 at some point.

It could maybe be an extra module that you load to provide compatibility. If and when ES6 becomes the norm we could phase it out without a major version bump in Minim:
var minim = require('minim');
minim.use(require('minim-extend'));

Yes, in the short term it's still something we will maintain, and we would need to think about how best to test it to make sure we never break compatibility, but it gives us a path to not maintain it forever. Just a thought.

Running tests takes at least five seconds each time. One second is devoted to linting, and the rest to transpiling. This is unbearable to me. I should be able to run my tests with nodemon or something and they finish by the time I glance at my terminal.

This has really frustrated me too. What's happening is that we are spawning node, loading npm, spawning node again, loading eslint, running it, spawning node again, loading babel, etc etc. The biggest offender by far though is babel itself. I just hacked up a quick Gulpfile to try it there and that shaves off about a couple seconds, but it's still fairly slow. One thing that would make it much faster is adding a watch command (saving startup time of a couple seconds). Here's me file if you want to play with it:
var gulp = require('gulp');
var eslint = require('gulp-eslint');
var babel = require('gulp-babel');
var mocha = require('gulp-mocha');

gulp.task('compile', function () {
  return gulp.src(['src/**/*.es6'])
    .pipe(eslint())
    .pipe(eslint.format())
    .pipe(eslint.failOnError())
    .pipe(babel())
    .pipe(gulp.dest('lib'));
});

gulp.task('default', ['compile'], function () {
  require('babel/register');
  gulp.src(['test/**/*.es6'])
    .pipe(mocha());
});

No source maps, so errors in failing tests provide little help. The code Babel produces is unreadable to me.

Both Babel and gulp-babel provide a source map option. We should try it out, but I don't have much experience with source maps honestly.

Related: I am fearful of supporting this library. If a user opens an issue saying they got an error on such and such line number, I will have to dig through two codebases... the transpiled and the ES6. If I don't now why the error is happening, it may be because of Babel magic.

Is the location fixed by generating source maps? One option we have here is to remove any features that require the babel-runtime (like Symbol) and then each file will have a bit of code dumped in the top to handle whatever features that file is using.  If we don't use the runtime then all the code run by our downstream is in our lib folder, which may have some advantages. Still not perfect though, and it'll duplicate a lot of code.

Code coverage tools provide incorrect data since they run against transpiled code. It's not even useful to look at it! Those tools are for helping you know what you haven't tested, and that data isn't there.

Do source maps fix this one too? I know it was possible with CoffeeScript with some magic - maybe we can figure out something for this.

I wanted to try out Flow, and it doesn't work for the new for loops in ES6 along with files ending in .es6. I switched to .js, but I get errors when I ran it because of the loops. This made Flow not really helpful.

Does Flow not have these same issues if you annotate with types? Or do you plan to keep vanilla JS and just run Flow on that?

You can run the above via babel-node classtest.es6

Yeah it's just a quick way to run some ES6 without having to compile, then run as two steps. It's slow but convenient when testing stuff out. :smile:

Anyway, you make some good points and I'm not totally against using ES5. I was hoping that we could make ES6 work and use this project as a small example for future projects. I agree that some of these issues are a pain, but I hope that maybe we can figure out a way to make it work. We can't be the first people running into this!

Woah, awesome response. It's late here but wanted to note a couple of things.
First, I'm suggesting we consider ES5 for this library. Not necessarily saying we should at this point, but it solves all of the problems I outlined.
Second, I think ES6 is catching on in the browser because you always have a build step and need source maps. Server side code seems like a different problem area, which makes me wonder if people are using ES6 this way.
Last, I had planned on just running flow on top of the code to get make sure there weren't any compile time type issues. Would want to add another build step back in.

Closing, as most of these are addressed or captured in other issues.


[BUG] Display pictures and external content - settings are opposite of what they should be

Office Tool Plus Version, e.g. <IP_ADDRESS> (20/12/2020)
<IP_ADDRESS>
Operating System, e.g. Windows 10 20H2 or Windows 7 SP1
Windows 10 20H2
Error description (required):
See the screenshot below.
The title of the setting is "Display pictures and external content in HTML e-mail".  That means that if it's Enabled, then it should display pictures and external content.  However, the description gives the opposite explanation.  I think the title is fine, but the description needs to be switched around.  You could change the title, but then it's confusing, because the default Outlook configuration has that DWORD value = 1.  So the description should read...
If you enable this policy setting, Outlook will display pictures and external content in HTML e-mail automatically.

If you disable this policy setting, Outlook will not automatically download content from external servers unless the sender is included in the Safe Senders list. Recipients can choose to download external content from untrusted senders on a message-by-message basis.

Currently, when enabled, the config returns:
<User Key="software\microsoft\office\16.0\outlook\options\mail" Name="blockextcontent" Value="1" Type="REG_DWORD" App="outlk16" Id="L_Blockexternalcontent" />

Currently, when disabled, the config returns:
<User Key="software\microsoft\office\16.0\outlook\options\mail" Name="blockextcontent" Value="0" Type="REG_DWORD" App="outlk16" Id="L_Blockexternalcontent" />

But the DWORD value needs to be = 0 when it's enabled, because the key is to "block external content".
Reproduction steps (suggested):
See above.
Screenshot (suggested):

Actually I don't know too, application preferences are data provided by Microsoft.
See Office Customize Tool
I think you are right, But I'm not sure what to do about it.


Removing duplicate definition of migratetoaad in Recovery Services.

Omitting standard checklist because this is a quick fix of a bad merge in an attempt to fix the build in the master branch.

No modification for AutorestCI/azure-sdk-for-python

No modification for AutorestCI/azure-sdk-for-python

 https://github.com/Azure/azure-sdk-for-ruby/pull/1208


Add "Marketing Specialist" to the website.

Add the following job opening to the website.

Job Title
Marketing Specialist
Job Description
Marketing Team is looking for Marketing Specialist from Nigeria to represent thenewboston policies and values in their home region and encourage people around the world to contribute and earn our coins.
coins.
Responsibilities

a Submit a Bi-weekly  Marketing Strategy that explains how you are going to promote thenewboston in facebook Group page.
b Create a Weekly Social Media Marketing Plan
c Engage with your audience and encourage them to join in our community.
d Working with a team to discuss marketing ideas.
e Review the Group page analytics and Improved marketing strategy.
f Communicate and Engage with thenewboston Community.

Technology Requirements

a Social Media Marketing tools
b G-suite

@jamessspanggg can we update this to "Marketing Specialist Nigeria" instead?

@Chrisha1212 changed, need to take awhile for it to be live


Add a CatalogDCAT-AP class with the link to the corresponding DataStructureDefinition -> Dataset

Generate the corresponding new class with all the properties entries empty except id (pseudo-random hash generated), type (CatalogueDCAT-AP), and dataset (id of the dataset id parser from Turtle RDF).
Context is fixed only to DCAT-AP and data model DCAT-AP contexts


Weekly comics on the website

Pieter and I made a deal that he creates a spot on the site for a short weekly comic and then I will create the comic every week

Out of scope for current development process.


[5.3] Add modulemap for static compilation

When compiling statically, we have to link against DispatchStubs in addition to the other dependencies, so we are defining a separate modulemap for that.

@swift-ci test


ports password reset to SG

This uses the new filesystem layout, so it's not backwards compatible.

ready for merge


sched/backtrace: simplify the assign of tcb in case of negative pid

Summary
sched/backtrace: simplify the assign of tcb in case of negative pid
Passing NULL pointer will indicate the up_backtrace to dump the current thread
Impact
sched_backtrace
Testing
sched_backtrace()

This is not just a simplification. Basically, TCB is no longer assigned in case of a negative PID.
The outcome of this is that up_backtrace will receive a NULL TCB, is it intended?
By the way, not strictly related, but I couldn't find the declaration for the up_backtrace function.

emm...yes, i lost a declare of up_backtrace, I have submitted a new patch to this PR, please review, about the implement of up_backtrace, please refer to https://github.com/apache/incubator-nuttx/pull/4367 https://github.com/apache/incubator-nuttx/pull/4381


Add OpenAPI specification for the Hacker News REST API

This pull request adds OpenAPI specification for the Hacker News API, as documented in the README file. This OpenAPI specification can be used to serve the documentation on the website, to generate client code and to create various API mocks for the integration tests.
In fact, I am currently doing the latter with WireMock and its SaaS edition WireMock Cloud, to demonstrate the templates feature we rolled out in WireMock a while ago. Initially I created the specification for just one request, but then decided that it would be nice to finalize it and to contribute back to the project
I used the most recent version of the specification
Feedback is welcome!
References

Discussion: https://news.ycombinator.com/item?id=37121241
OpenAPI Specification

@jamietanna it is not documented, and it is hard to say for sure for some of the fields. IDs should be required for sure

Also Mock API specification created as a part of my blog post demonstrating creation of Mock API specifications in WireMock and WireMock Cloud: https://github.com/wiremock/api-template-library/pull/15


Improve Karma tests / documentation

Feature Description
Currently, the Karma tests require the format of CUJ:[CUJ description]:[Action description] as the description. If the description is missing the action description, e.g. just CUJ: description, the tests fail.
If the CUJ: is missing as the prefix, the bulk of tests won't be included in the report count.
We should make the system more robust and/or update the documentation to reflect what's required; also add at least some kind of information for the dev in case of leaving in the failure of tests with incorrect format -- to understand the reason.
There are currently some Dashboard tests that are not following the required format and are thus excluded from reporting (search for 'Action:  to see). These should get updated as well to the new format.

Alternatives Considered

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

cc @barklund since you made those changes recently. Perhaps you can elaborate on the reasoning there?


Add Dave Briccetti’s 3D clock

Atom trimmed some other lines. Sorry for the complication.

That's pretty nice!
No problem regarding the trimming of other lines!


Disable warning messages on startup

I get the following warnings when opening neovim:
use_internal_diff is now deprecated, please use diff_opts.internal
use_decoration_api is now removed; ignoring

I think they're coming from gitsigns based on a grep:
opt/gitsigns.nvim/teal/gitsigns/config.tl
626:        warn('%s is now deprecated, please use %s', k, dep)

opt/gitsigns.nvim/lua/gitsigns/config.lua
626:            warn('%s is now deprecated, please use %s', k, dep)

Is there any way to disable these, and if not, can you add an option? Thanks!

Er, I feel dumb - these were being set in my config. Closing the issue...


Ionic datepicker min & max don't work on month & day

I'm trying to use ionic 2 datepicker, it works but when I want to use min & max properties it doesn't work.
<ion-datetime displayFormat="DD-MM-YYYY"  [min]="today" [(ngModel)]="event.date.start">
'today': moment().format("YYYY-MM-DD")
It filter date only on years ! But I would like to have custom day and month.
Kindly Advice me,
Thanks & Regards

You should specify a [max] in the future

I think this issue is valid. If I set a 'min' date of the current year, the min date I suppose is set as 01-01-. So if I put min date as '2017-02-20' it starts from 01-01-2017, but setting it to '2016-02-20' works as expected.