Fix exec handling of $E:SHLVL

Fixes #1091

@xiaq, This is incomplete in so far as it does not include a unit test. But before I go to the trouble of writing that, especially since there appear to be no tests of exec, I want to reach an agreement on whether env vars used or manipulated by Elvish should be referred to by a string or a const symbol. The code you wrote that added support fo $E:SHLVL was inconsistent on that point. I opted to replace the literal strings with a symbolic const because such symbols are easier to search for; especially in an IDE.

Also, if we decide to consistently use a symbolic constant, rather than string literals, for uses of "SHLVL" that also applies to other env vars (e.g., "HOME", "PWD") used by Elvish. That transformation should be done as a separate commit; one for each env var being used via a const symbol rather than a literal string.

Changing all the env names to constants sounds good to me.
I don't have a good idea on how to test exec, though.

Testing the exec command should be possible if the Go unit test framework provides a way to derive the path to the program being tested. But I'm going to punt that problem down the road since I think there are better ways to spend the available time. I'll add a second commit that changes the other env string literals to eval package constants.

I have converted the other easily found literal env var name strings to Go constants. Whether the indirection is justified is hard to say. Even though I am old school, and don't use an IDE, I can appreciate how such symbols are preferable to literal strings with such significance.

Regardless of the ultimate decision regarding the reference to environment variables by literal string or Go constant the bug regarding the manipulation of $E:SHLVL when executing an exec command is still germane.


Fix frameworks declaration in podspec.

Having it declare twice it overrides the first call.

Oh thanks for this!


Add build format to YAML

This might fix the build number on rebuilds, and if not, it clarifies the scope of the AzDO bug.

Doesn't work. We don't have any reason to specify build format because the default works fine (in non-rebuild cases) so I'm closing this PR.


Incorrect result of tl.max() in Triton2.2.0

Hi, I observed that tl.max() returns wrong value in version triton2.2.0. For example, in the given picture qk is a [16, 1] tensor, the returned value of tl.max() is 1.004396 instead of the true maximum 1.745240.
The same error is also encountered in tl.sum() op. However this error does not occur when using triton2.1.0.

All triton source is build from pip package.
It's worth noting that the error only occurs when tensor dimension is greater than 1, for example, reduce from [N,1] to [1]. The tl.max() returns correct result given 1-dim tensor.
Any suggestions please?

Could you please provide some code snippets that can reliably reproduce the issue？ 🙂

Here is a simple script to reproduce the issue. Try to compare the output of print in v2.1.0 and v2.2.0.
@triton.jit
def _reproduce_max_error(
    q,  # [dim0, dim2]
    k_cache,  # [dim0, dim1, dim2]
    out, # [dim0]
    stride_q0,
    stride_k0,
    stride_k1,
    DIM1_SIZE: tl.constexpr,
    DIM2_SIZE: tl.constexpr,
):
    pid = tl.program_id(axis=0)

    dim1_offs = tl.arange(0, DIM1_SIZE)
    dim2_offs = tl.arange(0, DIM2_SIZE)
    q = tl.load(q + pid * stride_q0 + dim2_offs)
    k = tl.load(k_cache + pid * stride_k0 + dim1_offs[:, None] * stride_k1 + dim2_offs)

    qk = tl.sum((q[None, :] * k).to(tl.float32), axis=1)[:, None]
    qk_max = tl.max(qk, axis=0)

    if pid == 0:
        tl.device_print("qk: ", qk)
        tl.device_print("qk_max: ", qk_max)

    tl.store(out + pid + tl.arange(0, 1), qk_max)

def reproduce_max_error():
    dim0, dim1, dim2 = 16, 16, 16
    q = torch.randn((dim0, dim2), dtype=torch.half, device='cuda')
    k = torch.randn((dim0, dim1, dim2), dtype=torch.half, device='cuda')
    out = torch.randn((dim0,), dtype=torch.half, device='cuda')
    _reproduce_max_error[(dim0,)](q, k, out, q.stride(0), k.stride(0), k.stride(1), DIM1_SIZE=dim1, DIM2_SIZE=dim2)

reproduce_max_error()

@zahimoud may want to take a look? I can reproduce it locally

I am interested in taking this ticket.

Should we close this issue ?


Question

Hello Cache,
First thank you for sharing this useful framework.
I want to ask if your program supports PeopleSoft 9.2 and PTools 8.56?
Best regards,
Minh

Hi @hoang-minhhieu psunit was created a very long time ago by PeopleSoft as an internal tool. It is pretty much PeopleTools agnostic. The basic requirement is that PeopleTools support Application Classes, which has been true since 8.52.
I have used it with every PeopleTools release since 8.48.

@hoang-minhhieu Jim is exactly right. This was created by PeopleSoft, and will work as long as you have App Package support.
Glad it helped. This has been a useful tool for us, and I added it to Github since I couldn't find the original source anymore (as I mentioned in the README). I also added some things to it, which I thought others might benefit from.

Thanks everyone for answer my question.
And thanks to you @cache117  for sharing such useful tool.
I wish you all a merry christmas and happy new year


simplify parse_cmd

By placing an error function in every unimplemented slot no
special cases are needed and errors are always reported with
a copy of the erroneous command.
The commands could just as easily be dropped.
(practicing my pull request skills)
DANG! The actual changes start at line 1019.
My editor drops trailing whitespace from lines on save.

I'm going to merge and make the change above


Update pricing tier limits tables

@DaleKoetke : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@rboucher - Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Add encrypted id_rsa private key for welder-io-ci account.

So wow, that wasn't as hard as I thought. I found https://gist.github.com/lukewpatterson/4242707 which got me going in the right direction but is out of date. The main step with the more recent travis cli is to encrypt the id_rsa file (with travis encrypt-file .travis.id_rsa -r welder-io/welder), include the encrypted file and not the plain text file, and add the related lines to the travis.yml script.

Nice!  This is way, way better.


Make sure basic subcommands of spin otel always work

Right now, not even spin otel up -- --help works without Docker running. I assume there's a check for some system setup things very early in the plugin's startup phase, and would hope that can be moved a bit later.

Working on this

See https://github.com/fermyon/otel-plugin/pull/13

Closed by #13


Keith move to gh packages

Moves shared-components to use github packages

📦 Published PR as canary version: 0.18.13-canary.127.1c0bddc.0

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

:rocket: PR was released in v0.19.0 :rocket:


Simplify Bioc 2015 instructions.

http://googlegenomics.readthedocs.org/en/staging/workshops/bioc-2015.html

used new packaged version of workshop vignettes
removed setup for running dataflow pipelines

This is still unlinked from the TOC until I get the new R package into the proper place.
r_workbench_details.rst is not used by anything now, but I still plan to use it at a later date.

Nicole, I removed the cursor in the picture for you to make it a little prettier.  Below is the screenshot if you want to use it for updating the BioC workshop training page:

~p

Just a few small comments, otherwise LGTM.

Thanks very much @mbookman !
@pgrosu The cursor in the image is intentional per the content right above it, but I will think about that image more for a better way to get the point across.

@deflaux I see, so why not just have an embedded YouTube training module?  Also the following link, which I launch by clicking on "can be run from anywhere" gives a 404 error:
https://github.com/googlegenomics/bioconductor-workshop-r
Also I'm sure some folks on Windows will try to download the BiocDockerOnGCE launch script, and wonder what's happening.  I'm not sure everyone might know Docker, and would benefit from some step-by-step instructions.
Regarding installing bioconductor-workshop-r package, you probably might want to pre-install it or let folks know it takes some time for it to get installed so that the workshop is as efficient as possible.
Also when I try the help(package="GoogleGenomicsBioc2015Workshop") command, after installing the workshop package, I get the following error in the browser:
No package named GoogleGenomicsBioc2015Workshop could be found

It might be good to have us give it a couple of runs through so that there are no hiccups.
~p


mutate torsions

@wiederm, I assume this line should be original_torsion.atom4.type and not original_torsion.atom3.type
https://github.com/wiederm/transformato/blob/4039a95c979487911a4a6727e926ba114f0eed8c/transformato/mutate.py#L1757

I have to think about this a bit.
I am actually not sure what that line does.


Why pub.dev doesn't have any WORKING package for android to turn on flash light with luminous intensity

Using flutter i am developing a android torch app with capability of controlling luminous intensity of flash light and i have dried lamp 0.0.6 package to turn on flash light with controlled luminous intensity but this package doesn't work and other many package (like flashlight:0.1.1, flutter_flashlight:1.0.0, torch_compat:1.0.2) are not providing luminous intensity controlling power, now what shoud i do to overcome this problem.

Hi @daxosorg
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Add parameter for check pcf file

Add a parameter to check the resulting PCF file. Now I'm manually calculating the hash amount of the original file to check it with the hash amount of the file after "recopression" PCF file. It would be convenient if the program could check the result of its work itself.

This is related to #66 , but I'll keep it open as it's the easier part (calculating and checking a checksum of the original file) and will likely be solved first.


Deploy CA before worker pools are ready

How to categorize this PR?

/area control-plane
/area ops-productivity
/kind enhancement
What this PR does / why we need it:
As discussed in issue #7057, this PR will enhance the current shoot reconciliation flow to deploy Cluster Autoscaler before the workers become ready. Here workers become ready means that all the machine deployments in the cluster should have the desired number of machines in the Running state. This PR will deploy CA after the worker and machine deployment resources are updated.
Which issue(s) this PR fixes:
Fixes #7057
Special notes for your reviewer:
This solution was tested using the Hard Way setup of gardener using an AWS shoot(k8s version 1.23.17) on the dev landscape. The following scenarios were tested:-

Creation of a Cluster
Update the existing worker to increase its min and max limits
Addition of a worker to get schedule the existing un-schedulable pods
There is a worker pool in the cluster with some workload on it, additional workload comes, but machines in that worker are not coming up; add a new worker pool and check that CA scales it up.
Rolling update scenario by changing the machine image in one of the workers
Hibernation/waking up of the cluster
Deletion of the cluster

Things to keep in mind about CA behaviour:-

CA does nothing productive until all the node groups(machine deployments) specified in the --nodes flag is present in the cluster. It simply keeps on giving error logs which say, machine deployment [xyz] not found.
If a node group has min > 0, then it will be considered for scale-up only if it follows the criteria mentioned here

Release note:

Gardener now deploys the [Cluster-Autoscaler](https://github.com/gardener/autoscaler) earlier in the shoot reconciliation flow without checking if the worker pools are Ready

Introduced a new field called `machineDeploymentsLastUpdateTime` in the `Worker` status to keep track of the time when the status of the Worker resource was last updated with the latest machine deployments

cc @himanshu-kun

/test pull-gardener-e2e-kind-ha-single-zone

/test pull-gardener-e2e-kind-migration

/test pull-gardener-e2e-kind-migration

/retest-required

/test pull-gardener-e2e-kind-migration

@ScheererJ @rfranzke do you want to take another look?

/test pull-gardener-e2e-kind-migration

/test pull-gardener-e2e-kind-migration

/milestone v1.69

/test pull-gardener-e2e-kind-migration

/retest-required

/test pull-gardener-e2e-kind-upgrade

/test pull-gardener-e2e-kind-migration

/test pull-gardener-e2e-kind-migration

I will look at why the pull-gardener-e2e-kind-migration keeps failing tomorrow.

/hold

/test pull-gardener-e2e-kind-migration

/retest

I will look at why the pull-gardener-e2e-kind-migration keeps failing tomorrow.

Any update @rishabh-11?

Any update @rishabh-11?

The migration tests fail because the gardener.cloud/timestamp annotation does not have the expected value. It has a value greater than the one which is expected, which I am not sure how it is possible. I tried to run the tests on my PR using a remote local setup and found the same error. The reconciliation fails one time and gets resolved the next time it runs but by that time, the tests timeout. I have asked @plkokanov to take a look.

/assign @plkokanov
to check CPM related issue (see https://github.com/gardener/gardener/pull/7774#issuecomment-1523207036)

I have an idea why this could happen, although I'm not 100% sure until we try it out.

First some backstory ...
During the restore phase of control plane migration, resources are actually deployed twice. Once with the special wait-for-state operation annotation, then a second time with the restore operation annotation. The wait-for-state annotation is required so that the extension controllers can wait for gardenlet to update the status.state field of extension resources before they start reconciling (the status field cannot be assigned to during a create request). Ref:
https://github.com/gardener/gardener/blob/53427a06462e269f4fec79d787439fe49ce4098f/pkg/extensions/customresources.go#L246-L265
which is called by
https://github.com/gardener/gardener/blob/53427a06462e269f4fec79d787439fe49ce4098f/pkg/operation/botanist/component/extensions/worker/worker.go#L256-L265
Inside the worker struct we keep a reference to the worker resource in w.worker and that reference is updated in the private deploy(...) function during the request to create or update the worker during the call to RestoreExtensionWithDeployFunction(...):
https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/operation/botanist/component/extensions/worker/worker.go#L236
This reference will contain the gardener timestamp annotation from the creation of the resource.
After that the state is restored and then the resource is annotated with the restore operation annotation and a new timestamp:
https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/extensions/customresources.go#L264
https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/extensions/customresources.go#L398-L404

Everything until now looks fine. However, I think that there is a race condition happening after that:
https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/gardenlet/controller/shoot/shoot/reconciler_reconcile.go#L624-L628
does not depend on
https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/gardenlet/controller/shoot/shoot/reconciler_reconcile.go#L609-L613
So both of these functions can be executed in parallel and they will retrieve the worker resource from the kube-apiserver into the same variable later on:
https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/operation/botanist/component/extensions/worker/worker.go#L315
https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/operation/botanist/component/extensions/worker/worker.go#L299
This w.worker is passed to  WaitUntilObjectReadyWithHealthFunction(...) and ends up being written to here:
https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/extensions/customresources.go#L95-L103
So it can happen that the worker Wait(...) function is executed first. Due to the quick change of the timestamp annotation explained above, it retrieves the old timestamp due to a stale cache read when executing https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/extensions/customresources.go#L98
Around the same time the WaitUntilWorkerStatusMachineDeploymentsUpdated(...) is executed and hits this line: https://github.com/gardener/gardener/blob/14b7b281d57cfd42529151c448f8c0d84ba4f68b/pkg/extensions/customresources.go#L91
However, at this time obj will already have been modified with the stale read from Wait(...) so now it thinks that the expectedAnnotation is the older one, hence why we get the error:
2023-04-20T12:01:41.901656891Z stderr F {"level":"error","ts":"2023-04-20T12:01:41.901Z","msg":"Reconciler error","controller":"shoot","object":{"name":"e2e-migrate","namespace":"garden-local"},"namespace":"garden-local","name":"e2e-migrate","reconcileID":"d869aa20-2f22-4ec4-b135-a26519b7de8b","error":"Flow \"Shoot cluster restoration\" encountered task errors: [task \"Waiting until worker resource status is updated with latest machine deployments\" failed: Error while waiting for Worker shoot--local--e2e-migrate/e2e-migrate to become ready: object's \"gardener.cloud/timestamp\" annotation is not \"2023-04-20 11:51:41.83499144 +0000 UTC\" but \"2023-04-20 11:51:41.864669568 +0000 UTC\"]","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsigs.k8s.io/controller-runtime@v0.14.5/pkg/internal/controller/controller.go:329\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tsigs.k8s.io/controller-runtime@v0.14.5/pkg/internal/controller/controller.go:274\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\tsigs.k8s.io/controller-runtime@v0.14.5/pkg/internal/controller/controller.go:235"}

Note that it is expecting the old timestamp instead of a newer one.

I would anyways recommend to add a dependency between these tasks as otherwise we would have a concurrent write operation.

/unhold

/lgtm

/retest-required

/test pull-gardener-e2e-kind


[BEAM-13052] Implement ProtoPlusCoder and add it to the default options

Google cloud python client libraries use proto-plus for their protocol message wrappers, this coder enables them to be used in beam pipelines

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.

Run PythonDocker PreCommit

Run Portable_Python PreCommit

Run Portable_Python PreCommit

Run PythonDocker PreCommit

Run Portable_Python PreCommit

Run PythonDocker PreCommit

Run PythonDocker PreCommit

Seems like this is blocked by a dependency update ?
16:45:43 ERROR: Cannot install -r /tmp/base_image_requirements.txt (line 37) and protobuf==3.17.3 because these package versions have conflicting dependencies.
16:45:43
16:45:43 The conflict is caused by:
16:45:43     The user requested protobuf==3.17.3
16:45:43     proto-plus 1.19.7 depends on protobuf>=3.19.0
16:45:43

Thanks. LGTM.

cc: @tvalentyn

Run Python PostCommit 3.8

PostCommit failure is unrelated (https://issues.apache.org/jira/browse/BEAM-13218)


User cannot send reports using the ANET email function

User receives pink error message when trying to email a pending report.
Error message:
Internal Server Error: Validation error of type SubSelectionNotAllowed: Sub select not allowed on leaf type Int of field emailReport @ 'emailReport'

Fixed in candidate.

Thank you @gjvoosten


OCM-5407: Validate Immutable attributes not changed after magic import

This is cherry-pick from man

/retest

/lgtm
/approve


Pretty-printer for intervals

It seems like there actually is an order:

I think this might be blocked by the problem that sets within sets are not yet printed. Because before, the output was
x = {0..2} & y = {1..3}
{$t_1={2,1,0}, y={(_ as-array k!30)}, $t_3={3,2,1}, x={(_ as-array k!28)}},

so that the interval-set within the other set was printed, but not pretty-printed. So maybe, once we can properly output sets within sets, it actually says
{$t_1={2,1,0}, y={{3,2,1}}, $t_3={3,2,1}, x={{2,1,0}}}

and we can just throw the $-declarations away...


Added sapper example

Added svelte-sapper example, using the official template. Issue #93 .

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@4f75ef2). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #135   +/-   ##
=========================================
  Coverage          ?   66.81%
=========================================
  Files             ?       49
  Lines             ?     1751
  Branches          ?      457
=========================================
  Hits              ?     1170
  Misses            ?      577
  Partials          ?        4

Continue to review full report at Codecov.

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

@all-contributors please add @shzmr for example


Doesn't work with a vite.config.ts module

Vite / Nuxt support a config file in TypeScript. However, this plugin seems to neither support ESM nor TypeScript. It fails with: SyntaxError: Cannot use import statement outside a module

close due to inactivity


updating type for url

In the README the url for making a call is a string, whereas in the code is an url.URL

Thanks! I think I would rather leave this as a string since that's the way
it gets sent to the API and returned from the API. Plus who knows if Twilio
decides to accept things that are not URL-looking later on. We would be ham
strung by the type choice.
On Tue, Aug 8, 2017 at 06:10 Alessio Cavaleri<EMAIL_ADDRESS>wrote:

In the README the url for making a call is a string, whereas in the code
is an url.URL
You can view, comment on, or merge this pull request online at:
https://github.com/saintpete/twilio-go/pull/16
Commit Summary

updating type for url

File Changes

M README.md
https://github.com/saintpete/twilio-go/pull/16/files#diff-0 (3)

Patch Links:

https://github.com/saintpete/twilio-go/pull/16.patch
https://github.com/saintpete/twilio-go/pull/16.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/saintpete/twilio-go/pull/16, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOSI4gEzpSDhiVgncDQ0Bd-XnIf8p8kks5sWF5AgaJpZM4Owtb8
.

--
--
Kevin Burke
925.271.7005 | kev.inburke.com

The problem is that if you copy/paste the example from the README the code won't compile, that's why I've fixed it 🤔

Oh... ok give me a few
On Tue, Aug 8, 2017 at 08:32 Alessio Cavaleri<EMAIL_ADDRESS>wrote:

The problem is that if you copy/paste the example from the README the code
won't compile, that's why I've fixed it 🤔
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/saintpete/twilio-go/pull/16#issuecomment-320992992,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOSIz_PHDfPmCK76zbAaIjhcb9d9oP0ks5sWH98gaJpZM4Owtb8
.

--
--
Kevin Burke
925.271.7005 | kev.inburke.com


Feat: Implement APIs for Tracking Orphaned Tasks and Departed Users with Assigned Tasks

Date: 14/11/2024
Developer Name: Vignesh B S

Issue Ticket Number
Closes Real-Dev-Squad/website-dashboard#888
Description
Implemented APIs for Tracking Orphaned Tasks and Departed Users.

API 1: users/departed-users - Retrieves users who had a task assigned and have departed the Discord server.
API 2: tasks/orphaned-tasks - Retrieves tasks assigned to users who have departed the Discord server.

Added test cases for the above api's.
Also, fixed test case issues due to mock data addition for API testing.
Documentation Updated?

[ ] Yes
[x] No

Under Feature Flag

[ ] Yes
[x] No

Database Changes

[ ] Yes
[x] No

Breaking Changes

[ ] Yes
[x] No

Development Tested?

[x] Yes
[ ] No

Screenshots

Screenshot 1

Test Coverage

Screenshot 1

Additional Notes
Updated other test cases since user addition and tasks addition to the mock data was causing test cases to fail.

Please break this pr into smaller one so it is easy to review

Have split this PR into 2 separate PR's:
https://github.com/Real-Dev-Squad/website-backend/pull/2251
https://github.com/Real-Dev-Squad/website-backend/pull/2249


Project Update?

I would like to either collaborate with you on this or learn of things planned already that you have yet to get working on so that I could contribute in some way, shape or form...
Also Happy New Years!

Have you installed this?

I would like to either collaborate with you on this or learn of things planned already that you have yet to get working on so that I could contribute in some way, shape or form...
Also Happy New Years!

Below are IPFS + Web3 Resources that will be used.
https://github.com/floating/frame
https://github.com/cpg1111/ipos
https://github.com/magik6k/netboot.ipfs
https://github.com/zignig/astralboot

Have you installed this?

Not yet but in the coming weeks.

I would like to either collaborate with you on this or learn of things planned already that you have yet to get working on so that I could contribute in some way, shape or form...
Also Happy New Years!

Below are IPFS + Web3 Resources that will be used.
https://github.com/floating/frame
https://github.com/cpg1111/ipos
https://github.com/magik6k/netboot.ipfs
https://github.com/zignig/astralboot

https://github.com/flesueur/mi-lxc


fix(firestore, web): fix interop on TransactionOptions

Description
Error on the interop for Firestore TransactionOptions
Related Issues
Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR. Note that you'll have to prefix the issue numbers with flutter/flutter#.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[ ] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (melos run analyze) does not report any problems on my PR.
[ ] I read and followed the Flutter Style Guide.
[ ] I signed the CLA.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change.
[X] No, this is not a breaking change.

Seems like this fixes https://github.com/firebase/flutterfire/issues/9195
Critical issue.


Windows Server 2016 Prereqs Major bug

Details of the scenario you try and problem that is occurring:
This should be a great way of ending the week. During a client engagement of mine, we realized that there are two typos in the list of windows features prerequisites for Windows Server 2016:
1 - Web-Filering should be Web-Filtering (6th line)
2 - "Web-Net-Ext45Web-Asp-Net" (8th line) should be two features "Web-Net-Ext45", "Web-Asp-Net"
$Script:SP2016Win16Features = @("Web-Server", "Web-WebServer",
"Web-Common-Http", "Web-Default-Doc", "Web-Dir-Browsing",
"Web-Http-Errors", "Web-Static-Content", "Web-Health",
"Web-Http-Logging", "Web-Log-Libraries", "Web-Request-Monitor",
"Web-Http-Tracing", "Web-Performance", "Web-Stat-Compression",
"Web-Dyn-Compression", "Web-Security", "Web-Filering", "Web-Basic-Auth",
"Web-Digest-Auth", "Web-Windows-Auth", "Web-App-Dev", "Web-Net-Ext",
"Web-Net-Ext45Web-Asp-Net", "Web-Asp-Net45", "Web-ISAPI-Ext",
"Web-ISAPI-Filter", "Web-Mgmt-Tools", "Web-Mgmt-Console",
"Web-Mgmt-Compat", "Web-Metabase", "Web-Lgcy-Scripting", "Web-WMI",
"NET-Framework-Features", "NET-HTTP-Activation", "NET-Non-HTTP-Activ",
"NET-Framework-45-ASPNET", "NET-WCF-Pipe-Activation45",
"Windows-Identity-Foundation", "WAS", "WAS-Process-Model",
"WAS-NET-Environment", "WAS-Config-APIs", "XPS-Viewer")
The DSC configuration that is using the resource:
N/A
Version of the Operating System and PowerShell the DSC Target Node is running:
Windows server 2016 / SPDSC 2.0
Version of SharePoint that is used (e.g. SharePoint 2016):
SP2016
Version of the DSC module you're using:
<IP_ADDRESS>

Close via PR #757


Introduce "Core" and "Extended" as flag concepts

As we've started to create more complex dashboards from these metrics, we're learning that there are just some metrics that we're collecting today that we'll never, ever put in a dashboard. To that end, I think it makes sense to modify our flag methodology to introduce a third flag state. Each metric that we can collect will be tagged with a level of importance:
Core - Viewed as essential for performance monitoring and issue triage.
Extended - Not essential, unlikely to ever be added to a dashboard.
The default run state will likely be "Extended", which would expose everything. But for our purposes, in real customer environments we're likely to use "Core" to save storage space and minimize clutter.
Comments and thoughts welcomed!

Closing after the merge of #117.


devtools install causes PAM error

Version
24.04.2
What desktop?
Official MATE
Explain the issue and what happens
Installing os-generic-userland-devtools on a fresh GhostBSD after pgk upgrade causes PAM error and prevents any further authentication.
Explain how to reproduce the bug?
sudo pkg install os-generic-userland-devtools
What is the Expected behavior (if applicable)
No response
Additional context (if applicable)
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
The following 6 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
	GhostBSD-clang: 24.04.2
	GhostBSD-lld: 24.04.2
	GhostBSD-lldb: 24.04.2

New packages to be INSTALLED:
	os-generic-userland-devtools: 24.04.2 [GhostBSD]

Number of packages to be removed: 3
Number of packages to be installed: 1

.
.
.
Fetching GhostBSD-utilities-24.04.2.pkg: 100%   12 MiB  12.2MB/s    00:01
[1/6] Deinstalling GhostBSD-lldb-24.04.2...
[1/6] Deleting files for GhostBSD-lldb-24.04.2: 100%
[2/6] Deinstalling GhostBSD-lld-24.04.2...
[2/6] Deleting files for GhostBSD-lld-24.04.2: 100%
[3/6] Deinstalling GhostBSD-clang-24.04.2...
[3/6] Deleting files for GhostBSD-clang-24.04.2: 100%
[4/6] Deinstalling GhostBSD-utilities-24.04.2...
[4/6] Deleting files for GhostBSD-utilities-24.04.2: 100%
[5/6] Installing os-generic-userland-devtools-24.04.2...
[5/6] Extracting os-generic-userland-devtools-24.04.2: 100%
[5/6] Installing GhostBSD-utilities-24.04.2...
pkg: GhostBSD-utilities-24.04.2 conflicts with os-generic-userland-devtools-24.04.2 (installs files into the same place).  Problematic file: /usr/bin/ldd

-ghostbsd ~ [3]> sudo -i
sudo: unable to initialize PAM: Exec format error

You are deleting the OS replated packages.

I will use this ticket to remove os ports from ghostbsd-ports to prevent this on 24.07.1.

I tried to build c++ code, but libc++ files are missing from base install. This workaround was suggested in the FAQ. What shall I do to compile c++ on GhostBSD? Thanks.

The FAQ is not up to speed with the latest changes that happened last week.

You should not need to add devtool after upgrading to PKGBASE.

Was that a fresh install of 24.04.2?

Yes, fresh install and pkg upgrade. Installing GhostBSD-clibs-dev solved compilation, but the linker still misses libraries. This also prevents building ports.

Thanks for reporting this. I will have a deeper look into it.

OK, There must be other GhostBSD-*-dev packages to install.

I have tested it, and depending on what you are doing, many packages are needed. To install everything, it is better to do sudo pkg install—g 'GhostBSD*-dev—*' .

I updated the FAQ. Thanks for reporting this.


Check for FileInput instead of ClearableFileInput

I'm reopening #356 as form-control CSS class is added to file inputs if they are not clearable
In the previous pull-request, tests seem to have fail due to another issue...

[Current coverage][cc-pull] is 95.22%

Merging [#601][cc-pull] into [dev][cc-base-branch] will decrease coverage by 2.01%

@@                dev       #601   diff @@
==========================================
  Files            24         24
  Lines          2533       2533
  Methods           0          0
  Messages          0          0
  Branches        225        225
==========================================
- Hits           2463       2412    -51
- Misses           70         76     +6
- Partials          0         45    +45

[][cc-pull]

Powered by Codecov. Last updated by [6c477f4...933853e][cc-compare]
[cc-base-branch]: https://codecov.io/gh/maraujop/django-crispy-forms/branch/dev?src=pr
[cc-compare]: https://codecov.io/gh/maraujop/django-crispy-forms/compare/6c477f4a57c3af7b017b24ae460281cf12c1b4cc...933853ead630b153228ca820aa37bedc252ba7c5
[cc-pull]: https://codecov.io/gh/maraujop/django-crispy-forms/pull/601?src=pr


Excluding authorization header?

Is there anyway to exclude the authorization header for certain requests? (e.g. based on a different url?)

Yes. You can send it as 'Authorization': undefined.


Release/0.10.0

0.10.0
Features

Asynchronous wallet restoration (PR 849)
Added wallet restore indicator in the sidebar (PR 862)
Added Daedalus version in application title (PR 826)
Added "Show more transactions" button on the summary screen (PR 848)
Added "Recovery - regular" and "Recovery - force vended" tabs on "Ada redemption" screen (PR 933)
Setting spending password to "ON" by default (PR 856)
Paper wallet certificate generation (PR 779)
Paper wallet certificate restoration (PR 794)
Update paper wallet certificate generation to use more random bits (PR 871)

Fixes

Fixed color of ADA logo color on the loading screen (logo was too transparent) (PR 850)
Fixed styling of "click to upload" text on Ada redemption screen (text was too bold) (PR 850)
Fixed node syncing state bubble background color in Dark blue theme (PR 850)
Fixed cropped log list within the support request dialog (PR 850)
Fixed submit button flicker within the support request dialog (PR 850)
Fixed "Download logs" button bug where it would throw Javascript error in case user does not select destination directory for saving logs file (PR 850)
Updated moment.js dependency to the latest version which fixes ReDOS vulnerability (PR 782)
Updated Electron dependency to the latest version which fixes vulnerability issues (PR 855)

Chores

Improved build system (PR 692)
Added instructions for accessing FAQ, reporting a problem and downloading logs on the support page in general settings (PR 818)
Removed sending logs to remote server feature (PR 818)
Improved support dialog by default switching the "Attach logs" switch to active (PR 829)
Improved support dialog logs list (logs are now alphabetically ordered) (PR 828)
Improved manual bug report submission dialog text color in Dark blue theme (PR 824)
Improved transaction element addresses: addresses and hashes now act like linkes to Cardano Explorer (PR 850)
Improved transaction element toggling: click on the white areas should collapse view (not only click on the top part) (PR 850)
Improved transaction element transaction state handling: transaction with 0 confirmations is now shown in pending state (PR 825)
Improved wallet creation dialogs handling: clicking outside of the dialogs should not close them (PR 832)
Improved Dark blue theme styling of update and restoration notifications (PR 827)
Improved About dialog (team members are updated and alphabetically ordered) (PR 830)
Improved copy icons visibility on Receive screen (PR 850)
Improved error message on the NTP time synchronisation error screen (PR 852)
Improved Loading screen timeouts logic (PR 860)
Updated sidebar bug icon action to open Settings Support page instead of Support Request dialog (PR 858)
Updated the way parallel restore/imports are explaned to the user by disabling the restore/import buttons on the Add wallet dialog and presenting a user friendly message (PR 861)
Updated main and acceptance tests readme files with new acceptance tests setup information (PR 831)
Paper wallet certificate generation and wallet restoration from a paper wallet certificate acceptance tests (PR 807)
Use UTC time in Daedalus logs (PR 833)
Disabled text selection on static UI elements (PR 868)
Updated Daedalus and Cardano team members on the about dialog (PR 872)

Found https://iohk.myjetbrains.com/youtrack/issue/DEVOPS-800 on Windows.

@DominikGuzei @darko-mijic can you guys please approve this PR? The release is in the final stage so we will need to merge this one soon.


Request to host the models for scnet on openmmlab.com

Hi,
We would request if all the backbones for SCNET (https://github.com/open-mmlab/mmdetection/tree/master/configs/scnet) are hosted on openmmlab.com similar to VFNET (for e.g.: https://download.openmmlab.com/mmdetection/v2.0/vfnet/vfnet_r50_fpn_1x_coco/vfnet_r50_fpn_1x_coco_20201027-38db6f58.pth). It becomes easier to download the models directly and also integrate them into any open-source software.
Request you to please confirm if this can be done. We are working on integrating different models of mmdetection into icevision and having the models hosted on openmmlab will be very helpful.
Regards
Ganesh

@ganesh3 It has been modified.

Thanks.


Bump TS 5.3

Is your feature request related to a problem? Please describe.
Check Build requirements and bump Typescript to 5.3 if/when possible.
It has new usefull narrowing types feature.
https://devblogs.microsoft.com/typescript/announcing-typescript-5-3/#switch-true-narrowing

@RolandoDrRobot can you please check Toni's comments in the PR, you can also test and play around with Abi-Wan together with Starknet.js


No computeDiff method in bar, column, pie, and scatter charts.

Diff charts are available for bar charts, column charts, pie charts, and scatter charts.

Thanks for the report. Fixed in 0.1.2.


chore: link to community parsers

Adds link to several parsers contributed by community members
Description

References

Review Checklist

[x] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

@dblclik, @maxmindlin, @iammathew can you confirm that you are good with this?

@dblclik, @maxmindlin, @iammathew can you confirm that you are good with this?

Looks good to me - thanks for the shout out!

@dblclik, @maxmindlin, @iammathew can you confirm that you are good with this?

Agreed, looks good to me too--thanks for including us!

Added the crates link.
@adriantam, incorporated your feedback by splitting Other Links and Package Managers - thanks!

@rhamzeh
Also looks good to me and thank you for including me, as well :)


(🎁) Add icon for plugin

This plugin is very good, but the lack of an icon is misleading. ☹

It seems like using Ruff's offical lightning bolt icon would be most appropriate?
For example, here is it's badge:
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)

Here is the full SVG that is used in Ruff's Mkdocs project:

https://github.com/charliermarsh/ruff/blob/main/docs/assets/ruff.svg


at-use-no-redundant-alias considered warning @use 'sass:map'

Why @use sass:map is considered warning? This scss built in module is need to avoid module build failed. Bellow is example
`@use 'sass:map';

.btn {
   background-color: map.get(bootstrap.$theme-colors, secondary-background-color);

}

cc: @pamelalozano16

This doesn't seem to be a problem with the scss/at-use-no-redundant-alias rule (please see demo example here). It might have something to do with using single quotes.


ProgressRing not rendered properly under iOS

For some reason the progress ring isn't rendered properly under iOS. It only renders the regular progress bar (probably since ProgressRing class in the pcl project is derived from it).

So did anyone fixed this yet ?


Method type declarations violate a es6 specification

var es5obj = {
    method: function(){}
};
var es6obj = {
    method(){}
};

'prototype' in es5obj.method; // true
new es5obj.method(); // ok

'prototype' in es6obj.method; // false
new es6obj.method(); // TypeError: es6obj.method is not a constructor

Methods cannot call with new keyword.
Methods must not have a prototype property.

Class declarations also have same problems.
class C {
    m() {
    }
}
var c: C;
c.m.prototype; // should be a compile error
new c.m(); // should be a compile error

14.3.9 In ECMAScript 2015, the function objects that are created as the values of the [[Get]] or [[Set]] attribute of accessor properties in an ObjectLiteral are not constructor functions and they do not have a prototype own property. In the previous edition, they were constructors and had a prototype property.

http://www.ecma-international.org/ecma-262/6.0/

It says functions created for get/set accessors, which these functions aren't, so it's not clear that this is actually a problem.

I could not find a just said section about this behavior. This spec is a closest explanation about this behavior. I thought this is spec because there is this behavior in chrome and firefox. But edge has not this behavior. Sorry, now I cannot know that which implementation reflects a spec.

now I cannot know that which implementation reflects a spec.

That's the fun of it though! :smile:

@bterlson any clue what this section corresponds to specifically?

spec is clear (at least regarding to prototype) and TypeScript should be more strict:
DefineMethod accepts optional parameter functionPrototype that is not passed during PropertyDefinitionEvaluation

I checked v8 and spidermonkey bug tracker but it seems has not reports about this implementation. As a spec, I also agree with @vladima . Edge seems has correct implementations.

A fix will need a way to propagate this information along with the signature or type. I think this also would be a breaking change.

Doesn't appear to be worth fixing


Adding hydroshare-config.yaml settings to local_settings.py

For issue #2721

Pull Request Checklist:

[x] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

Run ./hsctl managepy shell
Follow the code below

>>> from hydroshare import local_settings
>>> local_settings.EXTERNAL_CONFIG
{'SENDFILE_IRODS_USER': 'irods', ... ,  'USE_HTTP_AUTH': False}

I'm not sure I'm following why we're doing this.  I get that you want to consolidate, but this commit doesn't actually do anything with the external config.

Right, it's just a way to consolidate and utilize the yaml config inside the django app, if need be. This was requested by @alvacouch and @phuongdm while they were working on the large file download. See the attached issue for more context. #2721

so the large file download configuration will be updated to look at settings instead of hydroshare-config?

I never said that! I think this is just a feature request that came up as a result of that work.

I'm not wild about making code changes that aren't used.  I'd like to have a clear use case for this or specific plans to use it in the future.
Right now, it's just extra code that may or may not be used in the future.

@sblack-usu I added some jenkins tests to insure the settings import is happening. Take one more look and approve when ready


Mixin: Rename exclusion rule from panel-job-instance-rule to targert-instance-rule

Within https://github.com/grafana/dashboard-linter/commit/9a32e58ed01ee136ea674887f04a559a15eda3e6, the rules have been split into two different rules:
target-job-rule
target-instance-rule
All of our queries do contain the job label but as per the reason, we don't need both in this particular case.
Fixes #2899

@juliusv this should fix the CI problem so that we can merge your other improvements.

:+1: Thanks!


For k6n10 device, adding async2sync pass as device does not have asyn…

…c reset support. Also adding a condition to do ABC optimization which is done by default but can be disabled by a command-line option

Removed async2sync pass. However, adding a check for enabling/disabling ABC optimization based on the command line option.


Able to register gcp iam roles as resources

Summary
Right now, To Get the access to a Particular role, the code is been  added in terracode for it.
We trying to solve it through guardian by exposing project roles as the guardian resources and thus requesting access through console by hitting Guardian api's
Proposed solution
Adding Provider config in config store having resources list as the Iam roles and thus calling GCP Project roles api , filtering out the roles mentioned in provider resource list.
@singhvikash11 @bsushmith

the current gcloud_iam provider already solves this use case. Users can select a resource that is a gcp project and a role (fetched from gcp iam roles). The only missing part right now is for filtering the roles which also already raised here https://github.com/odpf/guardian/issues/184

@rahmatrhd
We are categorising roles by business use cases which can de decided.
There can be these category types and each will have the roles assigned to it.
Following is the sample policy
type: gcloud_iam
urn: g-gopay-data-access
credentials:
  service_account_key: secret_key
  resource_name: projects/g-gopay-data-access
appeal:
  allow_permanent_access: true
  allow_active_access_extension_in: 24h
resources:
  - type: category-1 (Bigquery)
    policy:
      id: gofin_iam_policy
      version: 7
    roles:
      - id: roles/bigquery.admin
        name: BigQuery Admin
      - id: roles/bigquery.dataEditor
        name: BigQuery Data Editor
      - id: roles/bigquery.dataOwner
        name: BigQuery Data Owner
  - type: category-2 (Custom)
    policy:
      id: gofin_iam_policy
      version: 7
    roles:
      - id: projects/integration/roles/project.iamManager
        name: Project Iam Role Manager
  - type: category-3 (Api gateway)
    policy:
      id: gofin_iam_policy
      version: 7
    roles:
      - id: roles/apigateway.admin
        name: ApiGateway Admin
      - id: roles/apigateway.viewer
        name: ApiGateway Viewer
      - id: roles/apigateway.viewer
        name: ApiGateway Viewer

User has to select the Category first (This will be taken from type field in resource list) and then the corresponding roles list inside that category can be populated for the access.
CC: @singhvikash11 @bsushmith

provider.config.resources is not for specifying list of resources the user can select. It's actually config for each resource type in the provider e.g. for bigquery there are dataset and table; metabase has collection, database, table, and group; and for gcp iam right now is project and organization. The config describes the policy applied to each resource type and the available roles.

Note: role can't be treated as a resource in guardian because for an access (appeal), it requires three main components which are account_id, resource, and role. So each resource and role serves a different purpose here.

the current implementation of gcloud_iam provider for the role list is by fetching all available roles from the gcp iam provider. for grouping multiple roles in gcp iam, here's some options that we can take

(no changes required) Create a custom gcp role that includes multiple gcp permissions. This won't require any changes to current guardian since gcloud_iam provider also fetches custom roles from gcp iam.
Note: https://github.com/odpf/guardian/issues/184 still can be applied to whitelist/blacklist certain roles
(require changes) Map gcp roles into guardian roles as how it is already in bigquery and other providers. In this case, https://github.com/odpf/guardian/issues/184 won't be necessary since we've whitelisted the roles as the following exampletype: gcloud)_iam
...
resources:
  - type: project
    policy:
      id: policy_id_abc
      version: 1
    roles:
      - id: category-1
        name: BigQuery
        permissions: # guardian permissions is list of gcp roles
        - roles/bigquery.admin
        - roles/bigquery.dataEditor
        - roles/bigquery.dataOwner
      - id: category-2
        name: Custom
        permissions:
        - projects/integration/roles/project.iamManager
      - id: category-3
        name: Api gateway
        permissions:
        - roles/apigateway.admin
        - roles/apigateway.viewer

@rahmatrhd we took the 2nd approach as suggested in pr and the sample YAML file will be:

policy:
id: my_policy
version: 1
roles:
- id: role-1
name: BigQuery
permissions:
- roles/bigquery.admin
- roles/bigquery.dataEditor
- roles/bigquery.dataOwner
- id: role-2
name: Custom
permissions:
- projects/integration/roles/project.iamManager
- id: role-3
name: Api gateway
permissions:
- roles/apigateway.admin
- roles/apigateway.viewer

However, Guardian has not validated these permissions while registering providers and people can create incorrect permissions.
@ravisuhag we'll create a separate issue to resolve this.


Add a note to double check OMERO.web config

When upgrading our OMERO server from 5.0.0 to 5.0.8, I had an issue
where OMERO.web did not display things properly afterward. The problem
was that although we use a "future-proof" symlink, pointing the 'omero'
folder to whatever the current version is (e.g.,
OMERO.server-5.0.8-ice34-b60), the "bin/omero web config" configuration
stanza generator used the hardcoded version-specific folder name, which
I failed to adjust when I did the 5.0.0 install. So in short, my Apache
configuration was outdated.
Just another pitfall which might be worth mentioning in the upgrade
documentation, since there is already a handy checklist.

@hflynn I don't feel strongly about the actual writeup there, if you prefer different language there. Just wanted to put the idea out there, since we ran into this issue.

@ctrueden There's an unresolved Trello card for this issue https://trello.com/c/DQ79JLgo/340-check-whether-symlinks-are-kept-or-dereferenced-in-omero-web-config
If you can think of a way to improve things let us know.

Thanks @manics, interesting. Maybe use os.getenv('PWD') as this SO answer suggests?

this will need to web deployment page link updated to show the split between unix & Windows but otherwise reads and formats fine. @manics shall I merge this while the technical issue is on-going? Any fix wouldn't apply to older installations anyway would it?

It might not be necessary for Windows.

Good to merge then @manics ?

Staged at http://www.openmicroscopy.org/site/support/omero5.1-staging/sysadmins/server-upgrade.html#omero-web-configuration.

A couple of suggestions provided in https://github.com/ctrueden/ome-documentation/pull/1.

@hflynn: Now looks fine to me. @aleksandra-tarkowska: Makes good sense to you, too?

@aleksandra-tarkowska's headed out. This works for me (if that counts).

Sounds good then. :+1:

Thanks all!

--rebased-to #1142


Rewrite MPI Communication utilities #96

Issue #96
Added MPI Communication class to support MPI in a truly decentralized system. Server will listen for requests and send information when request is received. Client will send a request and receive the response. The methods in this class are non-blocking.

MPI support currently uses blocking send and recv MPI calls. In the future, we will add non-blocking send and recv calls. Currently, the MPICommUtils class will spin a listener thread for every node that listens for a receive request from another node. Once that request is received by the sender node, the sender node will send the requested information to the receiving node on the listener thread while the main thread continues to train. MPI support has been tested using 10 and 100 samples per node, 3 + 1 nodes and up to 10 rounds.


Fix Postgres Malformed array literal 2.4.0 Regression

Reverts https://github.com/knex/knex/pull/5321
Fix https://github.com/knex/knex/issues/5365
Fix https://github.com/knex/knex/issues/5430
Adds new test, which I confirmed fails without the changes to lib/client.js

Coverage: 92.372% (+0.003%) from 92.369% when pulling b3d6e9918b2d8bc3dc5a32dc1b76f8974a3a83e2 on loren138:postgres-array-test into 3475d8166863d6c9535527cd541d7c894e21ea84 on knex:master.


implementing set_new_guid_value

I see in the dev notes this hasn’t been implemented yet. But it’s not marked as “not possible”, so it seems to be possible. I’m having trouble finding resources online for doing this. Does anyone know the API request to do a set_new_guid_value on a record in service now? If someone can point me in the right direction, I can help implement. thanks

@peterbayerle I will test this next week - but I would presume that if it's possible you would be able to just set the sys_id directly before insert.
gr.initalize()
gr.sys_id = ...
...
gr.insert()

@peterbayerle confirmed this works - i'll add the convenience method for the next release
Make sure the sys_id you set is 32 bytes though. e.g.:
        gr = client.GlideRecord('problem')
        gr.initialize()
        customsysid = 'AAAABBBBCCCCDDDDEEEEFFFF00001111'
        gr.sys_id = customsysid
        gr.short_description = "Unit Test - Test insert id update"
        res = gr.insert()
        self.assertIsNotNone(res)
        self.assertIsNotNone(gr.sys_id)
        self.assertEquals(res, customsysid)
        # make sure it exists
        gr2 = client.GlideRecord('problem')
        self.assertTrue(gr2.get(customsysid))

this passes.


Temperature and weird values

Hi,
I would like to ask two things. How can you get the temperature? Why are there rows in the csv that get weird values?

Hi @FTHuld. Using beta = True nothing changes. It's the same. I fixed it here. When you eliminate duplicates you choose the first one and it is not always the correct one.

Now the only problem is the temperature. None of the testcols is the temperature.


Reorganize Less

There's a lot of less styling in the common.less file right now that applies to non common things. We could organize this into less files that lived in the directories with the html pages they apply to.

:+1: I will work on this


Fix columns with same name (on different tables) messing up results

This Pull Request fixes #571 issues with duplicated column names:

If we have two columns with the same name in the same query the result is overridden. In this query I also found another bug: the COUNT and the GROUP_CONCAT does not show results if they don't have an alias.

This is my very first python code. All comments are welcome.

Should I implement this method in another query runner object?

Thank you @joaofraga for your effort on this! In general it's looking good, but I left some comments with small improvements.
While this can be applied to most of the other query runners, I prefer to test it before pushing to the release. So I'll gradually apply them to the other query runners, once I have the chance to test it.

I've made the improvements that you suggested. I searched in the others query runners to apply that but my limited knowledge (practically non-existent :joy:) of Python didn't allow me to do much.

Merged. Thanks!


refs #4300, adds a sealedclass attribute that allows opting into the usage of unit enum variants with complex enums.

https://github.com/PyO3/pyo3/issues/4300

Thanks for the PR! Overall I am ok for having an opt-in for this use-case, as it helps to mitigate the concern I had about refactoring causing subtle behavioural changes.
That said, I would like to discuss a few possible adjustments:

What behaviour do you want the unit enums to have? Do you want them to be C-like constants, or empty-tuple-like? It looks like you have opted for empty-tuple-like here. Do you ever want to mix both kinds in a single enum?
I'm not convinced by the sealedclass name, it's not intuitive to me how that connects to the unit variants. How about something like #[pyclass(unit_variants = "c-like")] or `#[pyclass(unit_variants = "tuple-like")], which is more direct and could even give the user the choice of behaviour.
Similarly, would it be better if this was a #[pyo3(c_like_unit_variant)] attribute on each unit variant, instead of once on the class? That would allow mixing and matching, and changing UnitVariant into #[pyo3(tuple_like_unit_variant)] might still be better than the current suggestion to change it to UnitVariant {}.

I implemented the new annotations. I marked this PR as a draft since I have to do some more work on it tomorrow.
I have to figure out what to do for the static symbols in python-land. I also need to revise what's going on with the __new__ function for the unit variants (right now it's disabled for unit variants.) I would like to make the constructor return a lazy-singleton object, instead of creating a new instance, but I would like to know if you think that's a good idea before I do it. As far as I know, there is no way in python to disable a classes constructor and also create a singleton of it without a superclass.

@davidhewitt could I get your feedback on the above?

Sorry for the long gap here (I was quite busy with parternity leave and then catching up with other PRs etc)
Overall I'm really happy with the design here and would be fine to see this resurrected and merged.

I would like to make the constructor return a lazy-singleton object, instead of creating a new instance, but I would like to know if you think that's a good idea before I do it.

I think that's the correct idea (so that e.g. identity comparisons with is work as users might expect). I think we managed to do this already for c-like enums so you might be able to re-use some existing machinery there. It's a little while since I looked at that code so it's not fresh in my memory what we did.

We decided to go a different path so I didn't have time to spend on it. I think I may be revisiting this necessity in the future but it likely wouldn't be for at least 4 months


Missing events for Window(surface) creation/release

It seems as there is no way to get notified of the window creation/destruction.
I'm using glutin and the events are based on the winit events.
I need a way to create hw resources when the window is created, and do some cleanup before destroy.
To be more clear: on windows  is there any way to get events/handle/notifictions of the WM_CREATE and WM_CLOSE os events?
(WM_DESTROY which triggers the Closed Event  is too late for me)
Thanks

WM_CLOSE is reported as Closed, but WM_CREATE isn't available unfortunately.

Only WM__DESTROY is handled which is called after the window's been closed.
pub unsafe extern "system" fn callback(window: winapi::HWND, msg: winapi::UINT,
                                       wparam: winapi::WPARAM, lparam: winapi::LPARAM)
                                       -> winapi::LRESULT
{
    match msg {
        winapi::WM_DESTROY => {
...

MSDN:
Sent when a window is being destroyed. It is sent to the window procedure of the window being destroyed after the window is removed from the screen.
By this time the GL context is released by the OS. But please correct me if I'm wrong. ex see

PR sent : https://github.com/tomaka/winit/pull/246

Alternative solution PR: https://github.com/tomaka/winit/pull/247

I think it can be closed now.


Create an async test helper that ties to rendered state of list items

When items are being rendered in a frost-list there is (can be) a delay in their rendering.  In an acceptance test this delay causes problems because when attempting to use the hooks to get a count of these items, for example, they are not yet rendered and the test will fail.
An async test helper should be created and exported as part of of this repo that will resolve its promise when all of the list items have been rendered in the current view port.

Given occlusion (not rendering items that aren't in the viewport) you won't ever be able to use the DOM to verify the correct number of items being rendered.   I'm not sure what the goal of this is precisely, but maybe another approach needs to be explored.

If anyone has a similar need in the future reach out to me because I have a few ideas on how could possibly approach this, however in the meantime the scenario that initiated this request has changed no longer requiring this to be pursued.


Add support for Chronos-Bolt in notebook and benchmark results

This PR adds support for Chronos-Bolt models in the chronos notebook. Now both Chronos and Chronos-Bolt are supported. Other changes:

Used PyPi install instead of source install for chronos-forecasting.
Ran code formatting and import sorting.
Removed unused imports.
Added a warning filter to mute warnings from the QuantileForecast object about the mean.

Also adds the CSV and config.json for the following models. Metrics were generated using the updated chronos notebook.

[x] chronos_bolt_base
[x] chronos_bolt_small

Hi @abdulfatir,
Thanks for your contribution! Could you please also provide the model link like here? It will create the hyperlink for your models on the leaderboard.


Parse errors will be ignored on optional symbols when using either '?' or '*'

See also #262, however, here we do not have any labelled top level symbols, rather a top level symbol expects one or none sub level symbol to be present.
So given the following grammar
Unit
    = comments:Comment*
      options:(UnitLangOption / UnitNamespaceOption)+
      translations:Translation+
      NL*
      EOF
    {
        return {
            type     : 'unit',
            location : location(),
            comments : comments,
            options: options,
            translations: translations
        };
    }

Translation
    = NL*
      comments:Comment*
      id:TranslationId
      context:VariationContext?
      variations:Variation+
    {
        return {
            type     : 'translation',
            location : location(),
            id: id,
            context: context,
            comments : comments,
            variations: variations
        };
    }

Variation
    = NL*
      comments:Comment*
      context:VariationContext?
      option:VariationPluralOption?
      NL*
      text:Text+
      NL
    {
        return {
            type     : 'variation',
            location : location(),
            comments : comments,
            context: context,
            options: [option],
            text: text
        };
    }

Comment "comment"
    = NL* '#' !SYM_DIR value:$CHAR* NL
    {
        return {
            type     : 'comment',
            location : location(),
            value    : value
        };
    }

// FIXME:id
TranslationId
    = NL* '#' SYM_ID WS* value:$ID WS* NL
    {
        return {
            type: 'id',
            location: location(),
            value: value
        };
    }

VariationContext
    = NL* '#' SYM_CTX WS* value:$QNAME WS* NL
    {
        return {
            type: 'context',
            location: location(),
            value: value
        };
    }

// FIME:text
Text "text"
    = value:CHAR+ NL

// Options

UnitLangOption
    = NL* '#' SYM_OPT WS* key:SYM_LANG WS+ value:$LOCALEID WS* NL
    {
        return {
            type: 'option',
            location: location(),
            key: key,
            value: value
        };
    }

UnitNamespaceOption
    = NL* '#' SYM_OPT WS* key:SYM_NS WS+ value:$(NSNAME / NSDEFAULT) WS* NL
    {
        return {
            type: 'option',
            location: location(),
            key: key,
            value: value
        };
    }

VariationPluralOption
    = NL* '#' SYM_OPT WS* key:SYM_PLURAL value:CARDINALITY? WS* NL
    {
        return {
            type: 'option',
            location: location(),
            key: key,
            value: value
        };
    }

CARDINALITY "cardinality"
    = WS+ value:[0-9]+
    {
        return value;
    }

// Terminals

//FIXME:ID
ID "id"
    = $CHAR+

SYM_DIR
    = SYM_ID
    / SYM_AUT
    / SYM_OPT
    / SYM_CTX

SYM_ID "!"
    = '!'

SYM_AUT "~"
    = '~'

SYM_OPT "="
    = '='

SYM_NS "ns"
    = 'ns'

SYM_CTX "context"
    = '@'

SYM_PLURAL "plural"
    = 'plural'

SYM_LANG "lang"
    = 'lang'

LOCALEID "localeid"
    = [a-z][a-z] ('-' [A-Z]+ [a-zA-Z])? ('-' [A-Z][A-Z])?

NSDEFAULT
    = 'translation'

QNAME "qname"
    = [a-zA-Z0-9]+

NSNAME "nsname"
    = [a-zA-Z]+ [a-zA-Z0-9_]*

CHAR
    = [^\r\n\f\\]

WS "ws"
    = ' '
    / '\t'

NL "nl"
    = '\n'
    / '\r\n'
    / '\r'
    / '\f'

EOF "eof"
    = !.

and the following input
# comment
#= lang de

#! tid1.as
#@

variation1

and the following cli frontend for parsing
#!/usr/bin/env /usr/bin/node
var fs = require('fs');
var parser = require('./ypo');
var f = fs.readFileSync(process.argv[2]);

try
{
    var unit = parser.parse(f.toString());
    console.log(unit);
    console.log('---------> translations');
    console.log(unit.translations);
    console.log('---------> variations');
    console.log(unit.translations[0].variations);
}
catch (err)
{
    console.log(err);
}

where the grammar needs to be compiled to a parser ypo.js in the same directory as the cli frontend,
parsing the input file will not fail on the malformed #@ context directive.
Removing the ? after context:VariationContext in
Translation
    = NL*
      comments:Comment*
      id:TranslationId
      context:VariationContext
      variations:Variation+
    {
        return {
            type     : 'translation',
            location : location(),
            id: id,
            context: context,
            comments : comments,
            variations: variations
        };
    }

will cause the parser to report the expected error, namely that the qname rule did not match.
Or am I doing something wrong here?

Also, replacing the ? by + instead of removing it will cause the expected SyntaxError to be thrown.
Perhaps it would be best to not quietly ignore any errors when using either * or ?, since a parse error is a parser error and it should always be reported, even if the "compound" symbol is optional or can occur multiple times.

Similarly, the LOCALEID when malformed, will also not cause the expected error, yet, with a bit of indirection and restructuring this will work as expected. Gosh, perhaps I only need to restructure the whole grammar so that the errors pop up where I would expect them to. Consider this closed for the time being :dancer:

Must reopen, refactoring the grammar did not help, e.g. having the following rules changed/added
VariationContext "context"
    = NL* '#' SYM_CTX WS* value:CONTEXTID
    {
        return {
            type: 'context',
            location: location(),
            value: value
        };
    }

CONTEXTID "contextid"
    = WS value:QNAME EOL
    {
        return value;
    }

EOL "end of line"
    = WS* NL

will not report the error.

It might seem as if rules based on character classes are treated differently from rules made up of simple terminal strings such as
LCID
    = 'en-US'
    / 'en'
    / 'de-DE'
    / 'de'

While the latter rule will nicely detect that it had not been matched and thus will make the including rule, namely the TRANSLATIONID fail with a SyntaxError, the character class based rules will cause their including top level rule to silently fail.

Definitely in need of #248

Reopening as I am still unabled to fix the parser behavior as displayed in https://github.com/pegjs/pegjs/issues/410#issuecomment-176139444

@silkentrance Could you please add a minimal grammar + input triggering the issue, a description of what you expected to happen, and a description of what happened instead? Thanks.

@dmajda I have created a gist, which I should have done in the first place...
https://gist.github.com/silkentrance/bd77c42a57be9ac66603
In the ypo-minimal-notfailing.pegjs grammar, the optional Translation .. context:VariationContext? is not followed by other symbols and thus the expected SyntaxError 'contextid' expected is thrown.
However, in the ypo-minimal-failing-1.pegjs grammar, the Translation awaits additional Variation symbols to follow. Here, the malformed VariationContext, which is still optional, will not be detected and that part of the input file gets swallowed up, never showing in the output.

@silkentrance Sorry, but an example consisting of 605 lines of code is not what by meant by minimal. Let me be more precise and throw in a working definition:
A minimal example reproducing a problem is a grammar + input where removing any significant part of the grammar or input will make stop it form reproducing the problem. (In a grammar, whitespace and comments are generally not considered significant.)
Now, could you please provide a minimal example according to this definition?

@dmajda I have updated the gist.
FYI

cli.js is a simple frontend for running the grammar and outputting some "debug" information

Since this is a line based parser, we do need the other production rules such as NL and WS and EOF, so I moved these rules way to the bottom and left the relevant rules at the top

ypo-minimal-notfailing.pegjs is @ 30 relevant lines and the relevant production rules here are Translation  and VariationContext and CONTEXT_ID

ypo-minimal-failing-1.pegjs is @ 48 relevant lines in order to be able to reproduce the error and the relevant production rules here are Translation , Variation, VariationContext and CONTEXT_ID and Text

The extra two production rules Variation and Text are necessary for this error to be perceivable, namely CONTEXT_ID production rule failing and the parser moving forward to finally applying the Text rule.
Having analyzed this further, it actually seems as if one not only needs an option/directive to ignore errors from a specific rule but to also enforce a specific rule to fail regardless of whether the top level rule, such as VariationContext was declared optional.
So it might basically boil down to just #411.
Further complicating the grammar might do the trick as well such as Text not matching any directives, e.g. #! or #@ would cause the text rule to fail. I will try this as soon as I find the time and report back whether I was able to solve the problem.

I have reworked the Text rule so that it will no longer act as a catchall and now the expected SyntaxError Expected contextid' shows. See ypo-minimal-notfailing-1.pegjs``.
I am closing this now and thanks taking the time of looking into it.
Perhaps something to be included with the #248 where it reads For absolute PEGJS beginners... :grin:.


Grant android.permission.POST_NOTIFICATIONS

This is required since Android T.

Without this change, I'm unable to enable notifications on my device running Android 13.

Thanks!


Dynamics 365 Sales app Account Forms canvas app Embedding

This Document says "The canvas app custom control is only supported for use with the Web client type. Currently, the Phone and Tablet client types aren't supported."
Till yesterday 06-02-2022, when we embedded canvasapp on Account form, the canvas app was displaying on Web client only. it was not showing on mobile "sales" app.
Something happened today, and all of a sudden we can render canvas app on Mobile client "sales " app now.  Is this some accident or this is supported and document page is not updated yet?
Any assistance?
[Enter feedback here]

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

ID: 047b94ce-db9f-ad01-5a62-b0539f2433cc
Version Independent ID: 1a8a9d3c-2d8b-e13c-042b-0a48fc444956
Content: Guidelines and troubleshooting when working with embedded canvas apps - Power Apps
Content Source: powerapps-docs/maker/model-driven-apps/embedded-canvas-app-guidelines.md
Service: powerapps
Sub-service: mda-maker
GitHub Login: @RichdiMSFT
Microsoft Alias: matp

Thanks for your comment, @nickgsoft. This issue has been assigned to the doc author for review.


there is a duplicate section in contact,I want to fix it please assign this issue to me

Please fix this issue

Please fix this issue

sure you can work on this issue


I cant find the User Credentials mentioned in the Deployment Credentials WIki page on the Azure App Service UI pages.

https://github.com/projectkudu/kudu/wiki/Deployment-credentials#user-credentials-aka-deployment-credentials

going to the Dashboard tab for any site and clicking 'Reset deployment credentials' (under quick glance).

I dont see "Quick Glance" or anything like "Reset deployment credentials" except "Reset Publish Profile", but per this wiki page, that is not what I want to use.

Can someone share a screenshot of where I can find this ?

Apology for stale info on wiki.   We just updated it with the right instruction.

Thanks, from that I was able to locate this page.  Maybe a good idea to link to it from the wiki.


Validate openSUSE Leap 15.3

Validate OpenSUSE(LEAP) 15SP3 on master

Validate

HA using this AMI - RKE version - 1.3.0-rc1 and Rancher chart version - 2.6.0-rc1
Deploy downstream cluster using this AMI and run v3_needs jenkins on this cluster
Deploy v1/v2 charts

Validation report

:ok: HA local cluster deployed successfully (3 nodes w all-roles)
:ok: downstream RKE cluster deployed successfully by using AWS node driver (1 cp, 1 etcd, 3 workers)
:ok: v3_needs_cluster #120 ok (mainly due "field environment is deprecated" )

Versions:

used latest rke-v1.3.0-rc12
helm chart and images rancher:v2.6.0-rc1
kubernetes version on local and downstream RKE clusters: v1.21.3-rancher1-1
created new AMI opensuse-leap-15.3-docker-20.10.6-gp2 with all the RKE requirements ami-0452941f41a1b0608 with kernel-default-5.3.18-59.16-default, docker-20.10.6, without apparmor and/or selinux, firewalld disabled

TODO v1/v2 charts validation

v1/v2 charts were successfully validated on the env described above. Close


[dart hhh] Promote golem to prod builds

During bringup, we enabled golem on staging. The staging pool is small, and doesn't reflect the full catalog of tests. To continue expanding HHH coverage, we're going to promote to prod.

@whesse I gave access to golem to schedule prod builds. Are you able to update it to schedule on prod?

Golem is now running its benchmark on the prod builder.  The latency during peak times is causing a problem, fixed it by increasing the timeout on the benchmark proxy that waits on the builder to complete.


Adding API server support for service account

Why are these changes needed?

Related issue number

Checks

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

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

This is a replacement for PR https://github.com/ray-project/kuberay/pull/1143. Something went wrong and I had to recreate
@kevin85421, @Jeffwan Sorry about the inconvenience, please use this one. I did addressed comments

@kevin85421 the only failure here is in /home/runner/work/kuberay/kuberay/./tests/compatibility-test.py"

Thank @blublinsky for this contribution! I have no prior experience with the KubeRay API Server. I will ask @Jeffwan to review this pull request.

@kevin85421, @Jeffwan already reviewed the original one and I fixed, what he asked

Hi @Jeffwan @scarlet25151, would you mind taking another look at this pull request? Thanks!

Added support for image pull secrets

Hi @blublinsky thank you for your PR, the logic is LGTM. I just have one question that what the propose or usage for adding service account for each head pod?

As an afterthought also added support for image pull secret, which is required for using images from the private registry. That's what we are using extensively in IBM

@kevin85421 This was sitting for a while, can we please, commit it?


Verify Windows and Mac Signing signatures in all executables and installers

Fixes https://github.com/adoptium/temurin-build/issues/3494
For Temurin builds, verify that for Windows and Mac platforms all the following are correctly signed with a non-adhoc Signature:

Mac:

Within JMODs executable format files
jdk|jre/bin executable format files
*.pkg installers (also verify Notarized)

Windows:

Within JMODs all .exe/.dll executable files
jdk|jre/bin all .exe/.dll executable files
*.msi installers

@andrew-m-leonard linter not happy

run tests

Digging into the pipeline failures - looks like Mac Os X signing failures e.g.,
Error: executable is 'adhoc' Signed: unpacked/jdk/expanded_java.management.jmod/lib/libmanagement.dylib
FAILURE: The following 194 executables are not signed correctly:
unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jwebserver
unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jfr
unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/rmiregistry

Error: executable is 'adhoc' Signed: unpacked/jdk/expanded_java.management.jmod/lib/libmanagement.dylib FAILURE: The following 194 executables are not signed correctly: unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jwebserver unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/jfr unpacked/jre/jdk-21.0.1+12-jre/Contents/Home/bin/rmiregistry

@karianna  So yeah, the pr-tester does not Eclipse "Sign" the dylibs, so it's actually accurate, but we obviously don't want the pr-tester to fail! So I shall have to exclude the sign_verification from the pr-tester.

run tests

run tests

@karianna checks look all good now


Standardize output of automate command across consecutive runs with --sort and --group

Currently, running the same sj automate -u https://example.com/v1/swagger.json multiple times in a row will make the same API requests, but in a different order across runs. This will effectively produce a different output from one run to the next, which makes it hard to visually tell the difference between outputs when tweaking your command or comparing across more than one hosts.
I think it would make much more sense to do both:

Alphabetical sorting of requests.
Grouping by request method type (GET, POST, etc).

This way you could use a --sort to sort all calls alphabetically, a --group to group by request method, or use both --sort and --group to sort all methods and then assemble into groups by request method.

This was partially fixed in 530143b - requests are now automatically sorted for JSON output. Still working on sorting them when output is logged directly to the terminal.

Console output is now also auto-sorted in cc99aef. Closing for now - may add grouping by method at a later time.


Error when encountering space after closing tag

This tag won't run
<mjml>
  <mj-head>
  </mj-head>
  <mj-body>
  </mj-body> <!-- Here -->
</mjml>

While this will
<mjml>
  <mj-head>
  </mj-head>
  <mj-body>
  </mj-body>
</mjml>

I did I miss this issue...? Sorry about that, my Github notifications seem to be screwed...


drop jabba and cs-maven from pre-installed JVM indexes

Both have not been updated for a while therefore there is no need to keep extra code to support them. Moreover, dropping jabba fixes https://github.com/coursier/coursier/issues/2487 because downloaded index was modified by JvmIndex.jabbaIndexGraalvmJava8Hack function with no respect to index source - so not only jabba index was modified by it. For example, for coursier index
https://github.com/coursier/jvm-index it messed up graalvm versions badly and caused the lost of latest graalvm versions.

https://scastie.scala-lang.org/FefGHXgUROaaX3HOBLyOsg

superceded by https://github.com/coursier/coursier/pull/2547


handle Expr(:isdefined,) in forwards mode

this was found when doing a nasty nested AD thing.
I do think its nice that https://github.com/JuliaDiff/Diffractor.jl/pull/167 is paying off and making these easy to find and fix

@oscardssmith  bumping for review

I also realize this is somewhat unrelated, but why is isdefined a head, rather than just being a :call?

I assume because we sometimes reason about it in the optimizer.


Update opentelemetry version

Noticed the demo did not work "out of the box" due to a change in constructor signature in the opentelemetry TracerProviderFactory.
This PR:

Updates open-telemetry/opentelemetry to a minimum version 0.0.17
Relevant minor index.php changes

Thanks, @garethpelly


[Web] Update web files from cli

Web files should be downloaded by cli with command ol serve --update.
Currently users are using libra/Makefile recipe web-files as a workaround.
There's a scaffold in ol/cli/src/commands/serve_cmd.rs

What about building the web files locally and than moving to the 0L folder?

Some (many?) users will not have the source, and instead be running from binaries.

Got it! The onboarding easy mode does not need the project checkout and only install the binaries.


Very Minor false positive, rustdoc: plural where singular is a link

/// You should create multiple  [`Sink`]s.

The goal here is to have the word Sink be the link since that is the object that is linked to. This shows up in the rendered docs as the word Sinks where the first 4 letters are blue.
Harper currently treats this as the word Sink followed by s.

This is a duplicate of #187. Please refer to that issue for updates on this.


Export "DomTokenList Element.get.classList"

This issue was originally filed by<EMAIL_ADDRESS>
Can we get access to DomTokenList Element.get.classList?
When working on a library that implements its own abstraction to manipulate DOM, I would prefer to use api that is close to native DOM api as possible. I understand why it was implemented this way long time ago when dart supported browsers that didn't have classList implementation, but now all dart supported browsers have classList implementation.
Simple benchmark using Dart Element.get.classes and Javascript Element.get.classList: http://localvoid.github.io/dart-classlist-benchmark/
DBMonster Benchmark implementations using uix library:
Element.get.classes: http://localvoid.github.io/uix_dbmon/
Element.get.classList (patched dart-sdk with exported classList): http://localvoid.github.io/uix_dbmon/classlist/

@kevmoo Is there will be any progress for performance?

Not sure. @rakudrama ?

Provided you start with a HtmlElement, you should get efficient code.
So change updateClasses to take a HtmlElement argument and inspect the compiled code.
It should be using classList.

@rakudrama
https://github.com/dart-lang/sdk/blob/20a98246053f60b9f88fe87c9000bf5edf695728/tools/dom/src/dart2js_CssClassSet.dart#L144
https://github.com/dart-lang/sdk/blob/20a98246053f60b9f88fe87c9000bf5edf695728/tools/dom/src/dart2js_CssClassSet.dart#L232
https://github.com/dart-lang/angular2_components/blob/master/lib/src/components/material_ripple/material_ripple.dart#L182
Because of dart wrappers logic, even people at Google are forced to use alternatives. I think that Dart wrappers for Web API should as thin as possible, without any additional logic, but act as pure proxy to native API.

We are trying to avoid exposing classList because it is not fully implemented on all browsers we support.
I agree that a thin API is desirable. This is a change in philosophy since dart:html was written.
We have done work to make this specific issue less of a problem. The comment in material_ripple.dart is wrong. If I change the source to use classes.add like this:
    if (_rippleTemplate == null) {
      final className =
          (supportsAnimationApi) ? '__acx-ripple' : '__acx-ripple fallback';
      _rippleTemplate = new DivElement()..className = className;
    }
--->
    if (_rippleTemplate == null) {
      var e = new DivElement()..classes.add('__acx-ripple');
      if (!supportsAnimationApi) e.classes.add('fallback');
      _rippleTemplate = e;
    }

I get this compiled code:
      if ($._rippleTemplate == null) {
        t1 = document;
        t1 = t1.createElement("div");
        t1.classList.add("__acx-ripple");
        if (!$.$get$supportsAnimationApi())
          t1.classList.add("fallback");
        $._rippleTemplate = t1;
      }

The generated code directly uses classList, like what you would expect if classList was exposed.
The only tricky thing for this optimization to classList.add is that the type of the receiver must be HtmlElement or a subclass, and not Element.  The problem with Element is that it includes SvgElement.  On IE11, SvgElement does not have classList (http://caniuse.com/#search=classList), so directly using classList would crash.
If we exposed classList, we could only expose it in HtmlElement, i.e. with the same.
IE11 had a big market share when we wrote dart:html. We wanted dart to work 'out of the box' so the dart:html library had to contain the polyfill rather than require extra javascript files.
Once IE11 is out of the picture, we can make this optimization apply to all Elements, or expose classList without the need for a polyfill in Dart or JavaScript.
@ranquild Do you still support IE11?

@rakudrama we need fast and fluent api as native as we can. Otherwise we slowdown 2-3 times compare native web-techs. So why we need dart if it is slower than ts or flow by 2 times?

@rakudrama Tried following code:
import 'dart:html';

void main() {
  HtmlElement element = new DivElement();
  element.classes.add('my-class-name');
}

dart2js compiles it to
main: function() {
      var t1 = document;
      J.get$classes$x(t1.createElement("div")).add$1(0, "my-class-name");
    }

J.get$classes$x = function(receiver) {
    return J.getInterceptor$x(receiver).get$classes(receiver);
  }

get$classes: function(receiver) {
        return new W._ElementCssClassSet(receiver);
      }

_ElementCssClassSet: {
      "^": "CssClassSetImpl;_html$_element",
      readClasses$0: function() {
        var s, t1, t2, _i, trimmed;
        s = P.LinkedHashSet_LinkedHashSet(null, null, null, P.String);
        for (t1 = this._html$_element.className.split(" "), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
          trimmed = J.trim$0$s(t1[_i]);
          if (trimmed.length !== 0)
            s.add$1(0, trimmed);
        }
        return s;
      },
      writeClasses$1: function(s) {
        this._html$_element.className = s.join$1(0, " ");
      },
      get$length: function(_) {
        return this._html$_element.classList.length;
      },
      add$1: function(_, value) {
        var list, t1;
        list = this._html$_element.classList;
        t1 = list.contains(value);
        list.add(value);
        return !t1;
      }
    },

The important part is this compiled (in the end) to
list = this._html$_element.classList;
        t1 = list.contains(value);
        list.add(value);
        return !t1;

There is extra contains call. But most part part that there is a lot of overhead made by dart2js. Just a side node - if I compiled this code with - m option, code is minified but structure is not changed. In your example your code is compiled without any of those extra calls, how did you do it?

@rakudrama Sorry for asking you again, but how did you manage to get dart code compiled to
t1 = document;
t1 = t1.createElement("div");
t1.classList.add("__acx-ripple");
```
without any wrapper functions?

@rakudrama Used dart2js main.dart --trust-primitives --trust-type-annotations and code is compiled to work you have shown. Issue can be closed now, big thanks!

I was investigating the discrepancy and discovered that I was using --trust-type-annotations via a build rule, and was going to reply, but you beat me to it.
I decided to make some changes to dart:html so that using --trust-type-annotations will not be necessary to get the effect, at least for new DivElement().
https://codereview.chromium.org/2705213003/