Re-introduce docopt

Fixes servo/rust-bindgen#87.

Tidy up usage string
Switch to using bindgen::Builder directly in main()
Builder required some new methods
--use-msvc-mangling appears to be deprecated, and is only referenced
in src/lib.rs. I have added a Deprecated section to the usage string
so using the flag doesn't cause errors
--emit-clang-ast doesn't currently disable output of Rust bindings,
might have to do something tricky here
Added --version based on CARGO_PKG_*
Need to add some error handling to <input-header>

So,

Is --use-msvc-mangling no longer relevant? I can see bindgen is producing #[link_name] attributes with non-gcc-looking mangling. Must be detecting the target and doing the right thing? I can junk the remaining references in this PR if you like.

What is the appropriate behaviour for --emit-clang-ast? When passed, should it replace the Rust source entirely on stdout and --output?

Thanks. 😄

I'm not sure how to convince docopt to accept empty strings without an equals sign, e.g.

--raw-line '' as used in the tests fails (it takes the next parameter, even if it's a flag, as the string)
--raw-line='' works

@BurntSushi, suggestions?

Is --use-msvc-mangling no longer relevant? I can see bindgen is producing #[link_name] attributes with non-gcc-looking mangling. Must be detecting the target and doing the right thing? I can junk the remaining references in this PR if you like.

Yep, I think it's unused since a while ago, and it works on MSVC, see #54. Let's get rid of it.

What is the appropriate behaviour for --emit-clang-ast? When passed, should it replace the Rust source entirely on stdout and --output?

This flag is intended only to be a debugging aid, so making it only spit to stdout is fine.

:umbrella: The latest upstream changes (presumably #206) made this pull request unmergeable. Please resolve the merge conflicts.

Interesting, @burntsushi wants to move ripgrep to clap: BurntSushi/ripgrep#136
I'm going to let this PR cool and come back to it after the crate split discussed in #204. Then clap it. 👏

:umbrella: The latest upstream changes (presumably #218) made this pull request unmergeable. Please resolve the merge conflicts.

This PR has no future.


refactor(iterators): correctly type iterators

Summary
Closes #836
Ref #849, git checkout master failed and then I git reset to upstream/master and force pushed :(
Checklist

[ ] If code changes were made then they have been tested.

[ ] I have updated the documentation to reflect the changes.
[x] I have run task pyright and fixed the relevant issues.

[ ] This PR fixes an issue.
[ ] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

The errors for set_permissions are fixed by #869

This pyright dependency bump seems to be giving out a lot of errors that aren't related to this PR, so you should either move the changes to a new PR or leave the task to someone else.

I'll get onto this now.


Livemarks stopped working, "Error: An unexpected error occurred"

Add-on version
Add-on version: 2.4
Firefox version: 70
Describe the bug
I set up a new profile and added some livemarks. A few days later (maybe after the 2.4 update) the livemarks stopped working, they are now usual folders. Adding new livemarks fails (clicking the button does nothing), with the following message in the console:
Error: An unexpected error occurred

No output in the browser console. Also tried the steps from https://github.com/nt1m/livemarks/issues/147#issuecomment-459803819 without success (same error message), but that was apparently a different issue.
To Reproduce
Steps to reproduce the behavior:
not yet known

Does downgrading to an old version fix the problem: https://addons.mozilla.org/en-US/firefox/addon/livemarks/versions/ ? (You'll likely have to setup the livemarks again unfortunately if it does work)

Sorry for not coming back to this so long. The error still persists and downgrading the version to e.g. 2.3 does not fix the issue. But at least I found some more useful debug info in the browser console:
Cannot send function call result: other side closed connection (call data: ({path:"tabs.create", args:[{active:null, cookieStoreId:null, discarded:null, index:null, openInReaderMode:null, openerTabId:null, pinned:null, title:null, url:"../pages/subscribe/subscribe.html?https%3A%2F%2Frss.golem.de%2Frss.php%3Ffeed%3DRSS1.0", windowId:null}]}))
TypeError: browser is null
BrowserElementParent.jsm:81:21
NS_ERROR_UNEXPECTED:

This is printed every time I enter the subscription page.
On FF 71, Fedora 31

This has somehow got fixed - never mind :)


[1267] Add location edit page

Context
Editing sites aka training locations
Changes proposed in this pull request
Add a hidden page for editing training locations (the form doesn't do anything other than render the data)
Guidance to review
Example - https://localhost:3000/organisations/2DO/locations/10329711/edit
After

There will be a request spec when the form gets hooked up in a later PR

Do not merge, @tvararu is working on validations for this.

I've pushed some hacky validations that I will refine, and marked this with a WIP commit as a result.

I've pushed some hacky validations that I will refine, and marked this with a WIP commit as a result.

I think we should do either:

Make a form object that handles validations and passes to our JsonApiClient models
Skip frontend validations and just do it server side. JsonApiClient supports this out of the box

Let's discuss tomorrow.


FileNotFoundError when developing locally after upgrading to 12.8.0 and django 3.

Hi,
When developing locally without the media files available, I keep getting FileNotFoundError printed to the console. I'm calling sorl.thumbnail.get_thumbnail directly (i.e, without using the templatetags.
backend_1   |   File "/opt/venv/lib/python3.9/site-packages/sorl/thumbnail/base.py", line 104, in get_thumbnail
backend_1   |     source_image = default.engine.get_image(source)
backend_1   |   File "/opt/venv/lib/python3.9/site-packages/sorl/thumbnail/engines/pil_engine.py", line 72, in get_image
backend_1   |     buffer = BytesIO(source.read())
backend_1   |   File "/opt/venv/lib/python3.9/site-packages/sorl/thumbnail/images.py", line 162, in read
backend_1   |     f = self.storage.open(self.name)
backend_1   |   File "/opt/venv/lib/python3.9/site-packages/django/core/files/storage.py", line 38, in open
backend_1   |     return self._open(name, mode)
backend_1   |   File "/opt/venv/lib/python3.9/site-packages/django/core/files/storage.py", line 243, in _open
backend_1   |     return File(open(self.path(name), mode))
backend_1   | FileNotFoundError: [Errno 2] No such file or directory: '/workspace/media/posts/image-72.png'

I tried to use the DUMMY config, but the error continue.
I believe that before when I was on django==2.2.2 and sorl-thumbnail==12.5.0 this error was getting suppressed somehow.
Using:
         'sorl.thumbnail': {
             'handlers': ['null'],
         },

Works, but I don't want to suppress every sorl-thumbnail error.
Looking at https://github.com/jazzband/sorl-thumbnail/blob/master/sorl/thumbnail/base.py#L106, and comparing with the 12.5.0 version, I couldn't find any difference, so it must be a new Django default that I'm missing.
Does anyone have any ideas here? Thanks!

Hello. Is there anything on this issue?

The migration never went through and I'm still on Django 2, so I wasn't affect by this yet. Hopefully someone knows a workaround for this by now.


refactor: Recurse parents for sceneObj load

Resolves #476
LoadSceneObjects can be called with a parentName and (subsequently required)
prefixName to allow for loading of an "instance" of another scene's objects
onto a specified parent. First creates a container node given prefix
(e.g. sceneB_container) so that  all loaded sceneObjects can be easily
moved or deleted.

So this now runs while (arenaObjects.size > 0) { which I'd appreciate a sanity check in any case where this can get stuck without clearing the arenaObjects map

An example scene I made has following persist response:
[
  { object_id: 'scene-options', parent: undefined },
  { object_id: 'box_grandparent', parent: '' },
  { object_id: 'box_child', parent: 'box' },
  { object_id: 'box_grandchild', parent: 'box_child' },
  { object_id: 'box_parent', parent: 'box_grandparent' },
  { object_id: 'box', parent: 'box_parent' }
]

So this should be handled in order:

{ object_id: 'scene-options', parent: null }  (noop)
 { object_id: 'box_grandparent', parent: null } (normal create)
{ object_id: 'box_child', parent: 'box' } ( call create on box)

 { object_id: 'box', parent: 'box_parent' } (call create on box_parent)

 { object_id: 'box_parent', parent: 'box_grandparent' } (box_grandparent already exists)

 { object_id: 'box_grandchild', parent: 'box_child' }

Closing in favor of much simpler 2-pass, where first puts all orphans at root/container level and second applies all specified parent relationships

The failed detour around simply moving nodes around the DOM in #486 failed since that just doesn't work in AFRAME.
The ONLY clean way to establish a parent relationship is on object initialization and first attachment to DOM, so we have to take the recursive approach.


Vet clinic database: add "join table" for visits

Activity Requirements - Vet Clinic ( add "join table" for visits )

Create a table named vets. ✅
Create a "join table" called specializations. ✅
Create a "join table" called visits. ✅
Insert Values.

Write queries to answer the following:

Who was the last animal seen by William Tatcher? ✅

How many different animals did Stephanie Mendez see? ✅

List all vets and their specialties, including vets with no specialties. ✅

List all animals that visited Stephanie Mendez between April 1st and August 30th, 2020. ✅

What animal has the most visits to vets? ✅

Who was Maisy Smith's first visit? ✅

Details for most recent visit: animal information, vet information, and date of visit. ✅

How many visits were with a vet that did not specialize in that animal's species? ✅

What specialty should Maisy Smith consider getting? Look for the species she gets the most. ✅

Required changes made 🛠

Fixed: "here we have to find How many different animals did Stephanie Mendez see" 🛠
How many different animals did Stephanie Mendez see? ✅


Feature Request: Please let us disable Images: Size (Percent) altogether (including click and holding to zoom)

Feature Requested
Like title says, please let us disable it.
Relevant Screenshot

Checklist

[X] I updated to the latest version of the theme (Settings → Appearance → Check for updates).
[X] The feature would be useful to more users than just me. (If it's only relevant to you, have you considered using a CSS Snippet?)
[X] My issue concerns Obsidian version 1.0+ and I am not using the Legacy Editor. (Older Obsidian versions and the Lecacy Editor are not supported anymore.)
[X] This issue concerns the theme in general and is not related to a specific plugin, for which there is the plugin-support form.

Wouldn't setting this to 100% effectively disable it?

I tried it but it still messes with various banner snippets such as https://publish.obsidian.md/slrvb-docs/ITS+Theme/Image+Adjustments.

Sorry for not getting back to this earlier.
Unfortunately, making this theme work with specific CSS snippets is out of scope for this project – in my view, it's rather the task of snippet creators to make their snippets compatible with themes, not the other way round.
Accommodating individual snippets would create more maintenance work for this theme than I am able to handle. Sorry! Maybe someone in the Obsidian discord server could help you out, modifying the snippet to work with this theme?


Documentation error: script.stats.skew

In the following quote from the documentation for script.stats.skew, shouldn't the inequality sign be the flipped the other way around?
"A skewness value > 0 means that there is more weight in the left tail of the distribution."
Webpage:  https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.skew.html
SciPy v0.14.0

Yes the sign or the side of the tail is flipped
also there should be a qualifier "for unimodal continuous distribution"
The statement is not true in general.
https://en.wikipedia.org/wiki/Skewness

From wikipedia: "positive skew: The right tail is longer; the mass of the distribution is concentrated on the left of the figure"
I think this is synonymous to "skewness value > 0 means that there is more weight in the left tail of the distribution"

I think this is synonymous to "skewness value > 0 means that there is more weight in the left tail of the distribution"

Not quite I think. From the same page: Conversely, positive skew indicates that the tail on the right side is longer or fatter than the left side. In cases where one tail is long but the other tail is fat, skewness does not obey a simple rule.
The change in gh-7415 looks like an improvement to me. There's probably no good way to explain it even clearer without resorting to drawing figures (which we won't do).


Iodine eye drops

In a Bangladeshi randomized-controlled trail (n=606), Povidone Iodine 1% (betadine) taken in ear/nose drops and mouth gargle reduces Covid-19 hospitalizations by 84%, mortality by 88%.
It seems to simply zap the virus if taken early.
Just... wow.
https://t.co/Z44UBjNeL9 https://t.co/ZuX3BfzADk

https://twitter.com/Covid19Crusher/status/1348341268896747522?s=19

https://twitter.com/Covid19Crusher/status/1348341268896747522?s=19


Remove DeltaManagerProxy and QuorumProxy, deprecate IDisposable on IDeltaManager, IQuorumClients, IQuorumProposals

AB#4864
These don't work currently.  If we later decide we want a real proxying mechanism we can safely add it in since it's not public anyway.
Also lifted getSpecifiedCodeDetails out of the context so we can just pass an IQuorumClients, now Container is the only thing with direct access to the full IQuorum including IQuorumProposals.
Deprecated the IDisposable members from these interfaces as well, as we should consolidate the disposal ability with the owners of the objects and not permit random callers to dispose them.

@tylerbutler I'm not sure if I need to do an additional changeset thing for the protocol-definitions changes - I added a changeset but I'm wondering if I need to run a second command targeting that location in addition?

@tylerbutler I'm not sure if I need to do an additional changeset thing for the protocol-definitions changes - I added a changeset but I'm wondering if I need to run a second command targeting that location in addition?

@tylerbutler I'm not sure if I need to do an additional changeset thing for the protocol-definitions changes - I added a changeset but I'm wondering if I need to run a second command targeting that location in addition?

For protocol-definitions, add an entry to the CHANGELOG.md file for the package directly. As far as I can tell, protocol-defs 2.0 has never been released, so add it to that section and remove the date. We'll need to figure out when to release protocol-defs 2.0.

Hi folks!  If you have a chance to review this I'd appreciate it.  Comes with a nice bundle size win :)

Yeah, I'm old-fashioned about always double-spacing :-P Changed to single spacing in latest.


fix(a11y): disabled button color contrast

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Note to self: Instead of updating the CSS overrides, check if we could clean them up as part of #52030.
Closes #XXXXX

Hey @huyenltnguyen is this ready for review?


Update personal info

Update the relevant info as mentioned in #42 #43

Codecov Report
Base: 72.15% // Head: 72.15% // No change to project coverage :thumbsup:

Coverage data is based on head (e71b07d) compared to base (d343154).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #59   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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

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


Exec tachikoma update<PHONE_NUMBER>4709

:hamster::hamster::hamster:   Strategy none
Powered by Interval Pull Request as a Service - Tachikoma.io Announcement: 2015-06-28 Updated permissions - Tachikoma.io

Coverage remained the same at 67.647% when pulling f3102b0091d95621af12b540386971de69075f93 on pazjacket:tachikoma/update-20180717214709 into ec251e61adc687ae0589e5283f1773ece07521c0 on sanemat:master.


Allow a user to specify alternate success/failure logic when building HttpAuthService with HttpAuthServiceBuilder

HttpAuthService has two protected methods that allows a user to override the default behavior of when authentication succeeds or fails: HttpAuthService.onSuccess() and HttpAuthService.onFailure().
However, it is impossible for a user to override the default behavior when building it using HttpAuthServiceBuilder. A user has to extend it which is less convenient.
We could define a callback interface like the following so that a user can specify it when building with HttpAuthServiceBuilder:
public interface HttpAuthHandler { // better name?
    static HttpAuthHandler DEFAULT = new HttpAuthHandler() {
        @Override
        public HttpResponse onSuccess(ServiceRequestContext ctx, HttpRequest req) throws Exception {
            return delegate().serve(ctx, req);
        }

        @Override
        public HttpResponse onFailure(ServiceRequestContext ctx, HttpRequest req, @Nullable Throwable cause)
            throws Exception {
            // Log the cause if necessary.
            final DefaultHttpResponse res = new DefaultHttpResponse();
            res.respond(HttpStatus.UNAUTHORIZED);
            return res;
        }
    };

    HttpResponse onSuccess(ServiceRequestContext ctx, HttpRequest req) throws Exception;
    HttpResponse onFailure(ServiceRequestContext ctx, HttpRequest req, @Nullable Throwable cause)
            throws Exception;
}

/cc @dongjinleekr

I was looking into this, and another isssue is that extending HttpAuthService means losing out on the default authorization logic. What do you think about merging HttpAuthServiceImpl into HttpAuthService? Would anyone ever need a different implementation of authorize, considering it supports the very general Authorizer<HttpRequest>?


Fix invalid uses of wl_array_for_each

1 and 2 have introduced new wl_array usage in wlroots, but
contains a mistake: wl_array_for_each iterates over pointers to
the wl_array entries, not over entries themselves.
Fix all wl_array_for_each call sites. Name the variables "ptr"
to avoid confusion.
Found via ASan:
==148752==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x602000214111 in thread T0
    #0 0x7f6ff2235f19 in __interceptor_free /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:127
    #1 0x7f6ff1c04004 in wlr_tablet_destroy ../subprojects/wlroots/types/wlr_tablet_tool.c:24
    #2 0x7f6ff1b8463c in wlr_input_device_destroy ../subprojects/wlroots/types/wlr_input_device.c:51
    #3 0x7f6ff1ab9941 in backend_destroy ../subprojects/wlroots/backend/wayland/backend.c:306
    #4 0x7f6ff1a68323 in wlr_backend_destroy ../subprojects/wlroots/backend/backend.c:57
    #5 0x7f6ff1ab36b4 in multi_backend_destroy ../subprojects/wlroots/backend/multi/backend.c:57
    #6 0x7f6ff1ab417c in handle_display_destroy ../subprojects/wlroots/backend/multi/backend.c:124
    #7 0x7f6ff106184e in wl_display_destroy (/usr/lib/libwayland-server.so.0+0x884e)
    #8 0x55cd1a77c9e5 in server_fini ../sway/server.c:218
    #9 0x55cd1a77893f in main ../sway/main.c:400
    #10 0x7f6ff04bdb24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    #11 0x55cd1a73a7ad in _start (/home/simon/src/sway/build/sway/sway+0x33a7ad)

0x602000214111 is located 1 bytes inside of 16-byte region [0x602000214110,0x602000214120)
freed by thread T0 here:
    #0 0x7f6ff2235f19 in __interceptor_free /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:127
    #1 0x7f6ff1c04004 in wlr_tablet_destroy ../subprojects/wlroots/types/wlr_tablet_tool.c:24
    #2 0x7f6ff1b8463c in wlr_input_device_destroy ../subprojects/wlroots/types/wlr_input_device.c:51
    #3 0x7f6ff1ab9941 in backend_destroy ../subprojects/wlroots/backend/wayland/backend.c:306
    #4 0x7f6ff1a68323 in wlr_backend_destroy ../subprojects/wlroots/backend/backend.c:57
    #5 0x7f6ff1ab36b4 in multi_backend_destroy ../subprojects/wlroots/backend/multi/backend.c:57
    #6 0x7f6ff1ab417c in handle_display_destroy ../subprojects/wlroots/backend/multi/backend.c:124
    #7 0x7f6ff106184e in wl_display_destroy (/usr/lib/libwayland-server.so.0+0x884e)

previously allocated by thread T0 here:
    #0 0x7f6ff2236279 in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f6ff1066d03 in wl_array_add (/usr/lib/libwayland-server.so.0+0xdd03)

LGTM, thanks :)


feat(long-press): add event for long pressing artworks

The type of this PR is: Feat

This PR resolves MOPLAT-790
Description

Adds a long press event for tracking long presses on artworks in the mobile application. This is a new feature mobile platform team is working on that will show a context menu with quick actions.
You can see it in action here:
https://github.com/artsy/eigen/pull/8797
Let me know if anything needs changing!
PR Checklist (tick all before merging)

[x] If I've added a new file to the tree I've exported it from the common index.ts
[x] I've added comments with examples for any new interfaces and ensured that they're in the docs
[x] No platform-specific terminology has been used outside of click and tap (platform is inferred by the DB storing events)

:rocket: PR was released in v4.130.0 :rocket:


Batch example creating a bucket and putting a value in one call?

could you add an example of a call to Batch that shows a bucket being created and a value being added in one call?

@tvmaly You can create a tx, and insert multiple kv pairs to batch updates.
See https://github.com/boltdb/bolt/blob/master/cmd/bolt/main.go#L1042-L1065 for example.

@xiang90 But in the code never touch the db.Batch API, I also want an example to demonstrate how to use the db.Batch API properly, can you help with that? Thanks.

+1
Would really appreciate some examples and best practices on the use of the db.Batch() method.

Need confirmation from BoltDB developers. The way I understand it, calling Batch() concurrently combines the transactions into one larger one, sort-of the same effect if it were to put all the code together under one large Update(). Basically it allows non-blocking writes, useful in cases where you know you are inserting large amount of data at once.
Here's a question:
What if one of them fails? Does this mean the rest of the calls also fail with no way to determine which ones are failing?


RequestSpecification parameters(Map<String, ?> parametersMap) does not work with Collection Keys

This groovy code should set a collection of Strings as the parameter with key objects
def objects = ["string1", "string2"]
expect().statusCode(200).body(equalTo("true"))
                .given()
                .when()
                .param("objects", objects)
                .get(TestSetup.getServerBaseUri() + "path")

expect().statusCode(200).body(equalTo("true"))
                .given()
                .when()
                .parameters([objects : objects])
                .get(TestSetup.getServerBaseUri() + "path")

The problem with the RequestSpecification parameters(Map<String, ?> parametersMap);method, it does not treat a Collection key in the map as a Collection. The collection is flattened as a String in the case of a GET request, instead of being sent as an array of objects as it is done in the RequestSpecification param(String parameterName, Collection<?> parameterValues);method.

I think this is a duplicate of issue 238.


Why does Apollo1.5 delete module decision

apollo1.0 module decision : https://github.com/ApolloAuto/apollo/tree/r1.0.0/modules/decision
but apollo1.5 has no this module: https://github.com/ApolloAuto/apollo/tree/r1.5.0/modules
And I can not find a file that explains the change。。。。

It's just moved into planning module, because they two are highly coupled for now.
See https://github.com/ApolloAuto/apollo/blob/master/modules/planning/proto/decision.proto

ok ,thanks~~


Different perf-test results between JMeter and Vegeta

Question
We have a web-service that when perf-tested with JMeter tops at X RPS and then just works at X RPS normally with response time within acceptable bounds. But when perf-tested with Vegeta it tops at X/4 RPS and then starts returning 5XX errors and response time goes through the roof.
I wonder - why is that? What is different in how JMeter generates load and Vegeta so that the behavior of our web-service is so different?

It's possible that JMeter waits for a response before sending the next request, which would mean your service does fine without concurrency. To test this hypothesis, you can do the same with vegeta with the following arguments.
vegeta attack -max-workers=1 -rate=0 ...

This will send requests as fast as possible from a single thread, waiting for a response before sending the next request, like I suspect JMeter behaves.
How does the output of vegeta report look like?

@tsenart, I know for sure that JMeter was also launched with about 400 concurrent workers. I don't have the report from Vegeta right now but I'll post it when I get it.

also launched with about 400 concurrent workers

Yes, but I wonder if it waits for responses before sending the next request. Vegeta always maintains the desired request rate by default, regardless of how slow responses are.

Hi @tsenart , a little bit confusion here, pardon me... if specify -rate=0 which means send new request only after acknowledging the response of last request, doesn't the RPS become even less?
or when specify e.g. -rate=1000, the backend cannot handle the concurrency generated by vegeta which causes vegeta become slow to send the requests? Thanks!

@3quanfeng

-rate=0 which means send new request only after acknowledging the response of last request

I don't think it means that.

@3quanfeng

-rate=0 which means send new request only after acknowledging the response of last request

I don't think it means that.

but that's what @tsenart said above about -rate=0?

Without additional evidence, this was most likely due to JMeter slowing down the pace of requests when the server slowed down its responses (aka Coordinated Omission). Vegeta avoids Coordinated Omission. Please re-open if still relevant and there's more data / things to discuss.


Update tutorial-network-checklist.md

Added description to subnet table and minor edits to network ports table to provide additional clarity for customers.

@microsoft-github-policy-service agree company="VMware"

@jjaygbay1

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@jjaygbay1
Thanks for approving the PR. For future PRs, please note that a #sign-off comment is the best way to signal to the review team that a PR is ready to merge.


Tutorials page is not foud

Original report (archived issue) by mohamed sayed (Bitbucket: Mohamed Ahmed).

https://ignitionrobotics.org/api/launch/2.0/index.html

I'll add a tutorial, and fix the 404.

https://github.com/ignitionrobotics/ign-launch/pull/48


Unable to get wildcard cert working

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
although it could just be me not understanding how the dns provider works with route53
What happened:
trying to update cert-manager to 0.3.0-alpha2 in order to enable wildcard certificate support.
NB: names changed to protect the innocent in all samples and logs.
I directed example.com to the kubernetes ingress, as well as *.example.com
What you expected to happen:
Certificate to show up in secrets.
How to reproduce it (as minimally and precisely as possible):
ClusterIssuer:
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
  name: letsencrypt-staging-v2
  namespace: ingress
spec:
  acme:
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    email<EMAIL_ADDRESS>    privateKeySecretRef:
      name: letsencrypt-staging
    dns01:
      providers:
      - name: route53
        route53:
          region: us-east-1

Ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: redirect-wildcard-ingress
  namespace: prod-tools
  annotations:
    certmanager.k8s.io/cluster-issuer: letsencrypt-staging-v2
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
spec:
  tls:
  - hosts:
    - "*.example.com"
    secretName: redirect-wildcard-tls
  rules:
  - host: "*.example.com"
    http:
      paths:
      - path: /
        backend:
          serviceName: redirector
          servicePort: 80

Anything else we need to know?:
log output:
I0521 11:09:42.363687       1 controller.go:177] certificates controller: syncing item 'tools/redirect-wildcard-tls'
I0521 11:09:42.363778       1 sync.go:239] Preparing certificate tools/redirect-wildcard-tls with issuer
I0521 11:09:42.363788       1 acme.go:159] getting private key (letsencrypt-staging->tls.key) for acme issuer ingress/letsencrypt-staging-v2
I0521 11:09:42.364123       1 prepare.go:247] Cleaning up previous order for certificate tools/redirect-wildcard-tls
I0521 11:09:42.364132       1 prepare.go:263] Cleaning up old/expired challenges for Certificate tools/redirect-wildcard-tls
I0521 11:09:42.364138       1 logger.go:22] Calling CreateOrder
I0521 11:09:43.193474       1 acme.go:193] Created order for domains: [{dns *.example.com}]
I0521 11:09:43.193525       1 logger.go:52] Calling GetAuthorization
I0521 11:09:43.390599       1 prepare.go:263] Cleaning up old/expired challenges for Certificate tools/redirect-wildcard-tls
I0521 11:09:43.390622       1 sync.go:241] Error preparing issuer for certificate tools/redirect-wildcard-tls: ACME server does not allow selected challenge type for domain "example.com"
I0521 11:09:43.396717       1 controller.go:152] ingress-shim controller: syncing item 'tools/redirect-wildcard-ingress'
I0521 11:09:43.396738       1 sync.go:123] Certificate "redirect-wildcard-tls" for ingress "redirect-wildcard-ingress" already exists
I0521 11:09:43.396746       1 sync.go:126] Certificate "redirect-wildcard-tls" for ingress "redirect-wildcard-ingress" is up to date
I0521 11:09:43.396776       1 controller.go:166] ingress-shim controller: Finished processing work item "tools/redirect-wildcard-ingress"
E0521 11:09:43.397085       1 sync.go:168] [tools/redirect-wildcard-tls] Error getting certificate 'redirect-wildcard-tls': secret "redirect-wildcard-tls" not found
E0521 11:09:43.397106       1 controller.go:186] certificates controller: Re-queuing item "tools/redirect-wildcard-tls" due to error processing: ACME server does not allow selected challenge type for domain "example.com"
I0521 11:09:47.013317       1 controller.go:138] clusterissuers controller: syncing item 'letsencrypt-staging-v2'
I0521 11:09:47.013370       1 acme.go:159] getting private key (letsencrypt-staging->tls.key) for acme issuer ingress/letsencrypt-staging-v2
I0521 11:09:47.013699       1 logger.go:67] Calling GetAccount
I0521 11:09:47.909386       1 setup.go:66] letsencrypt-staging-v2: verified existing registration with ACME server
I0521 11:09:47.909411       1 helpers.go:119] Found status change for ClusterIssuer "letsencrypt-staging-v2" condition "Ready": "False" -> "True"; setting lastTransitionTime to 2018-05-21 11:09:47.909405087 +0000 UTC m=+2729.243859956
I0521 11:09:47.916043       1 controller.go:152] clusterissuers controller: Finished processing work item "letsencrypt-staging-v2"
I0521 11:09:47.921378       1 controller.go:138] clusterissuers controller: syncing item 'letsencrypt-staging-v2'
I0521 11:09:47.921413       1 acme.go:159] getting private key (letsencrypt-staging->tls.key) for acme issuer ingress/letsencrypt-staging-v2
I0521 11:09:47.921747       1 logger.go:67] Calling GetAccount
I0521 11:09:48.720910       1 setup.go:66] letsencrypt-staging-v2: verified existing registration with ACME server
I0521 11:09:48.725106       1 controller.go:152] clusterissuers controller: Finished processing work item "letsencrypt-staging-v2"

Environment:

Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:22:21Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:10:24Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider or hardware configuration**: AWS
Install tools: terraform / kubectl / helm
Others:

@pms1969 I don't believe ingress shim currently supports wildcard certificates, for now you need to create the Certificate resource manually (As I understand it)

@Evesy Thanks.  That makes some sense, although it did look like it was trying.  Thought my config might be out in some way, and I did spot something that I need to try (can't quite remember what that is right now tho).
Should I leave this open for tracking?

It is possible to obtain wildcard certificates using ingress-shim. You will need to deploy cert-manager with flags something like:
helm upgrade --install cm \
        stable/cert-manager \
        --namespace cert-manager \
        --set ingressShim.defaultIssuerName=letsencrypt-prod \
        --set ingressShim.defaultIssuerKind=ClusterIssuer \
        --set ingressShim.defaultACMEChallengeType=dns01 \
        --set ingressShim.defaultACMEDNS01ChallengeProvider=cloudflare

Notice that we are setting a default DNS challenge provider so that we don't have to specify it each time in annotations.
Otherwise, you could use the annotations specified here: https://cert-manager.readthedocs.io/en/latest/reference/ingress-shim.html to achieve the same thing without setting DNS01 as the default challenge mechanism 😄

@munnerz, when doing a wildcard challenge with both a wildcard domain, e.g *.domain.com, and the ingress also has domain.com, what is the expected behaviour? Is that proper?

thanks @munnerz   Will give it a look in the next couple of days.

Going to close this issue for now - feel free to re-open if the issue persists

@munnerz thanks for your advice.
For the most part I got this working using the ingress-shim! Provisions the cert, updates ingress, etc. 👌
However there is one issue:
If I only specify the wildcard domain in the tls section of my ingress the default Fake Kubernetes cert is used. If I specify the wildcard domain and the full domain in the ingress nginx-ingress resolves the correct TLS cert, but then cert-manager complains about the domain name being redundant.
Specs
Ingress:
spec:
  rules:
  - host: hello.staging.mydomain.com
    http:
      paths:
      - backend:
          serviceName: hello-service
          servicePort: 80
        path: /
  tls:
  - hosts:
    - '*.staging.mydomain.com'
    secretName: staging-tls

This provisions certs just fine and ingress and generated certs seem to be included by nginx properly when looking at logs but nginx-ingress serves up the default Fake Kubernetes cert.
Error
If I add both like this:
spec:
  rules:
  - host: hello.staging.mydomain.com
    http:
      paths:
      - backend:
          serviceName: hello-service
          servicePort: 80
        path: /
  tls:
  - hosts:
    - '*.staging.mydomain.com'
    - hello.staging.mydomain.com
    secretName: staging-tls

I get this error:
Error preparing issuer for certificate default/staging-tls: acme: urn:ietf:params:acme:error:malformed: Error creating new order :: Domain name "hello.staging.mydomain.com" is redundant with a wildcard domain in the same request. Remove one or the other from the certificate request.

Versions
nginx-ingress-controller: 0.15.0
cert-manager: 0.3.0

Hi :)
I got the same issue using Heptio Contour ingress
When I specify the subdomain I get the redundant log message
To temporarily  fix it I comment those annotations (disable auto)
ingress-rs.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: contour-rs-ingress
 namespace: production
 annotations:
   kubernetes.io/ingress.class: "contour"
   ingress.kubernetes.io/force-ssl-redirect: "true"
   # certmanager.k8s.io/cluster-issuer: letsencrypt-prod
   # certmanager.k8s.io/acme-challenge-type: dns01
   # certmanager.k8s.io/acme-dns01-provider: clouddns
   # kubernetes.io/tls-acme: "true"

And I update my certificate (to remove subdomains)  :
certificate-prod.yaml
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  clusterName: ""
  name: tls-prod
  namespace: production
spec:
  secretName: tls-prod
  commonName: '*.mydomain.com'
  issuerRef:
    kind: ClusterIssuer
    name: letsencrypt-prod
  dnsNames:
  - 'mydomain.com'
  acme:
    config:
    - dns01:
        provider: clouddns
      domains:
      - '*.mydomain.com'
      - 'mydomain.com'

I'm not sure I'm going in the right way by doing this ?


Add 'Boxy SVG' to Editors section

Propose combining "Editors" and "Tools to Create SVG" sections

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Thank you and happy coding. ✈


We would put it behind a feature flag to keep the interface from being too cluttered.

We will reopen this request if we get many other users requesting it

We will reopen this request if we get many other users requesting it

it would be cool to add this since i track my fat, carbohydrates, fibre as well

After thinking about this for the past month or two, I have decided I will not be implementing this feature for two reasons.

Macronutrients are a slippery slope. First, people want total carbohydrates and total fat. Then they want fat, broken down by saturated and monounsaturated fat. Then they want carbohydrates split by fiber and sugar alcohols. Then, they want vitamins. Then they want minerals. And to be clear, it is totally fine for people to want these things! However, it opens a Pandora’s box of endless complexity. As a one-man development team working on this app in their free time, that scares me. Not to mention there are already many apps where you can track those things.

Clean Slate is an app with a pretty opinionated philosophy. One, we believe existing apps are too complex and “numbers oriented”, especially for those who struggle with black-and-white thinking. Hence, it is vital to minimize as much complexity and numbers to track as possible. Two, we believe that the literature shows that the only macronutrients really worth tracking for the person trying to lose weight are calories and protein. Calories because weight loss ultimately is just calories in and calories out. Protein because it is the primary driver of satiety and muscle retention and growth. The rest of the macronutrients might make a difference around the margin, but we view them as mostly noise. In fact, they are actively harmful noise. That is for three reasons. One, they give people additional targets that they can fail. Two, it can lock people into restrictive diet plans. Three, it makes the interface application, much more cluttered, and much more complex.

In short, anyone who wants this feature will need to fork Clean Slate, which they are totally welcome to do (it is open source!) or use a different app.

And thank you to everyone who asked for this feature for understanding this decision. I really appreciate it!


Pass --local-engine* flags from dev/bots/test.dart down to pub test via env variables

We are seeing issues on HHH configuration of dart-lang/sdk,
flutter/engine and flutter/flutter where the web tests are using new
frontend_server tooling (which expects current kernel version) but is
given kernel file from an older version.
This is an indication that the web tests are not fully using the local
engine. By reading through dev/bots/test.dart it appears like that
script will correctly pass down --local-engine* flags when it runs
flutter test (via the same --local-engine* arguments) but not when
it runs pub test (which doesn't accept --local-engine* arguments).
This PR is an attempt to set corresponding environment variables when
invoking pub.

@jonahwilliams Not entirely sure if that would fix the problem on the bots. You can see currently failing HHH builds e.g. build/1201

Flutter HHH bot started failing on flutter test tool_tests step after this change.
There are 2 new failures:
08:41 +40 -1: test/integration.shard/analyze_size_test.dart: --analyze-size flag produces expected output on hello_world for Android [E]
  Expected: contains 'app-release.apk (total compressed)'
    Actual: 'Running Gradle task \'assembleRelease\'...                        \n'
              ''

  package:test_api                                    expect
  test/integration.shard/analyze_size_test.dart 29:5  main.<fn>

21:11 +90 ~17 -2: test/integration.shard/command_output_test.dart: flutter doctor is not verbose [E]
  Expected: not contains 'exiting with code 0'
    Actual: '[  +79 ms] executing: [/b/s/w/ir/cache/builder/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H\n'
              '[  +42 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H\n'
              '[        ] 4300226a50670cff49693dfa26a2d6844238718d\n'
              '[        ] executing: [/b/s/w/ir/cache/builder/flutter/] git tag --points-at 4300226a50670cff49693dfa26a2d6844238718d\n'
              '[  +22 ms] Exit code 0 from: git tag --points-at 4300226a50670cff49693dfa26a2d6844238718d\n'
              '[   +1 ms] executing: [/b/s/w/ir/cache/builder/flutter/] git describe --match *.*.* --long --tags 4300226a50670cff49693dfa26a2d6844238718d\n'
              '[  +43 ms] Exit code 0 from: git describe --match *.*.* --long --tags 4300226a50670cff49693dfa26a2d6844238718d\n'
              '[        ] 1.25.0-4.0.pre-67-g4300226a50\n'
              '[  +49 ms] executing: [/b/s/w/ir/cache/builder/flutter/] git rev-parse --abbrev-ref --symbolic @{u}\n'
              '[  +12 ms] Exit code 128 from: git rev-parse --abbrev-ref --symbolic @{u}\n'
              '[        ] fatal: HEAD does not point to a branch\n'
              '[  +16 ms] executing: [/b/s/w/ir/cache/builder/flutter/] git rev-parse --abbrev-ref HEAD\n'
              '[  +11 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD\n'
              '[        ] HEAD\n'
              '[  +37 ms] Artifact Instance of \'AndroidGenSnapshotArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'AndroidInternalBuildArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'IOSEngineArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'FlutterWebSdk\' is not required, skipping update.\n'
              '[   +1 ms] Artifact Instance of \'WindowsEngineArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'MacOSEngineArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'LinuxEngineArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'LinuxFuchsiaSDKArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'MacOSFuchsiaSDKArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'FlutterRunnerSDKArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'FlutterRunnerDebugSymbols\' is not required, skipping update.\n'
              '[  +46 ms] Artifact Instance of \'MaterialFonts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'GradleWrapper\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'AndroidGenSnapshotArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'AndroidInternalBuildArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'IOSEngineArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'FlutterWebSdk\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'FlutterSdk\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'WindowsEngineArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'MacOSEngineArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'LinuxEngineArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'LinuxFuchsiaSDKArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'MacOSFuchsiaSDKArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'FlutterRunnerSDKArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'FlutterRunnerDebugSymbols\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'IosUsbArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'IosUsbArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'IosUsbArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'IosUsbArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'IosUsbArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'FontSubsetArtifacts\' is not required, skipping update.\n'
              '[        ] Artifact Instance of \'PubDependencies\' is not required, skipping update.\n'
              '[   +4 ms] executing: [/b/s/w/ir/cache/builder/flutter/] git rev-parse --abbrev-ref HEAD\n'
              '[  +11 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD\n'
              '[        ] HEAD\n'
              '[        ] executing: [/b/s/w/ir/cache/builder/flutter/] git fetch https://github.com/flutter/flutter.git --tags -f\n'
              '[+3540 ms] Exit code 0 from: git fetch https://github.com/flutter/flutter.git --tags -f\n'
              '[   +1 ms] From https://github.com/flutter/flutter\n'
              '            * branch                  HEAD            -> FETCH_HEAD\n'
              '            * [new tag]               v1.4.5-hotfix.2 -> v1.4.5-hotfix.2\n'
              '            * [new tag]               v1.4.9-hotfix.1 -> v1.4.9-hotfix.1\n'
              '            * [new tag]               v1.5.4-hotfix.2 -> v1.5.4-hotfix.2\n'
              '            * [new tag]               v1.9.1+hotfix.6 -> v1.9.1+hotfix.6\n'
              '[   +1 ms] executing: [/b/s/w/ir/cache/builder/flutter/] git tag --points-at HEAD\n'
              '[  +21 ms] Exit code 0 from: git tag --points-at HEAD\n'
              '[        ] executing: [/b/s/w/ir/cache/builder/flutter/] git describe --match *.*.* --long --tags HEAD\n'
              '[  +41 ms] Exit code 0 from: git describe --match *.*.* --long --tags HEAD\n'
              '[        ] 1.25.0-4.0.pre-67-g4300226a50\n'
              '[  +18 ms] executing: [/b/s/w/ir/cache/builder/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%ar\n'
              '[  +11 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%ar\n'
              '[        ] 15 hours ago\n'
              '[ +283 ms] java -version\n'
              '[  +21 ms] executing: /b/s/w/ir/cache/builder/src/third_party/android_tools/sdk/platform-tools/adb devices -l\n'
              '[  +13 ms] [✓] Flutter (Channel unknown, 1.25.0-5.0.pre.67, on Linux, locale en_US.UTF-8)\n'
              '[   +1 ms]     • Flutter version 1.25.0-5.0.pre.67 at /b/s/w/ir/cache/builder/flutter\n'
              '[        ]     • Framework revision 4300226a50 (15 hours ago), 2020-12-04 18:33:04 +0100\n'
              '[        ]     • Engine revision 20caf54969\n'
              '[        ]     • Dart version 2.12.0 (build 2.12.0-edge.959f345d5e527d73e3681123d0ed2fb6f06da06d)\n'
              '[  +78 ms] List of devices attached\n'
              '[+3092 ms] [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)\n'
              '[        ]     • Android SDK at /b/s/w/ir/cache/builder/src/third_party/android_tools/sdk\n'
              '[        ]     • Platform android-30, build-tools 30.0.1\n'
              '[        ]     • ANDROID_SDK_ROOT = /b/s/w/ir/cache/builder/src/third_party/android_tools/sdk\n'
              '[        ]     • Java binary at: /usr/bin/java\n'
              '[        ]     • Java version OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~16.04-b01)\n'
              '[        ]     • All Android licenses accepted.\n'
              '[        ] [✓] Chrome - develop for the web\n'
              '[        ]     • CHROME_EXECUTABLE = /b/s/w/ir/cache/builder/src/flutter/third_party/browsers/chrome/chrome/google-chrome\n'
              '[        ] [✗] Linux toolchain - develop for Linux desktop\n'
              '[        ]     ✗ clang++ is required for Linux development.\n'
              '[        ]       It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/\n'
              '[        ]     • cmake version 3.5.1\n'
              '[        ]     ✗ cmake 3.10.0 or later is required.\n'
              '[        ]     ✗ ninja is required for Linux development.\n'
              '[        ]       It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases\n'
              '[        ]     • pkg-config version 0.29.1\n'
              '[        ]     ✗ The blkid development library is required for Linux development.\n'
              '[        ]       It is likely available from your distribution (e.g.: apt install libblkid-dev)\n'
              '[        ]     ✗ The lzma development library is required for Linux development.\n'
              '[        ]       It is likely available from your distribution (e.g.: apt install liblzma-dev)\n'
              '[        ] [!] Android Studio (not installed)\n'
              '[        ]     • Android Studio not found; download from https://developer.android.com/studio/index.html\n'
              '[        ]       (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).\n'
              '[ +460 ms] executing: /b/s/w/ir/cache/builder/src/third_party/android_tools/sdk/platform-tools/adb devices -l\n'
              '[   +7 ms] List of devices attached\n'
              '[   +1 ms] [✓] Connected device (2 available)\n'
              '[        ]     • Linux (desktop) • linux  • linux-x64      • Linux\n'
              '[        ]     • Chrome (web)    • chrome • web-javascript • Google Chrome 84.0.4147.89 unknown\n'
              '[        ] ! Doctor found issues in 2 categories.\n'
              '[  +10 ms] "flutter doctor" took 7,687ms.\n'
              '[   +3 ms] ensureAnalyticsSent: 0ms\n'
              '[   +1 ms] Running shutdown hooks\n'
              '[        ] Shutdown hooks complete\n'
              '[        ] exiting with code 0\n'
              ''

  package:test_api                                      expect
  test/integration.shard/command_output_test.dart 59:5  main.<fn>

Full log: https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8861783395610009008/+/steps/flutter_test_tool_tests/0/stdout

The actual interesting part from the failure:
...
Running Gradle task 'assembleRelease'...

The file /b/s/w/ir/cache/builder/engine/src/out/host_debug/flutter_embedding_release.pom wasn't
found in the local engine out directory.

09:35 +40 -1: test/integration.shard/analyze_size_test.dart: --analyze-size
flag produces expected output on hello_world for Android
...

=> Missing out/host_debug/flutter_embedding_release.pom causes this test failure.
That file is never there for a build, it can only exist in out/android_debug (not in out/host_debug).
The tests themselves get launched via --local-engine=host_debug. Which makes sense, because launching the following produces the same error:
dev/integration_tests/flutter_gallery % ../../../bin/flutter
              --local-engine-src-path=$HOME/fe
              --local-engine=host_debug build apk
...

The file /usr/local/google/home/kustermann/fe/out/host_debug/flutter_embedding_release.pom wasn't
found in the local engine out directory.

Running Gradle task 'assembleRelease'... %

This seems to be a general smell in the handling of local engine in the testing infrastructure:
We have --local-engins-src-path and --local-engine. The former is fine, it points to the engine checkout, but the local engine is specifically selecting one of host_debug/android_debug/android_debug_arm64.
If we select host_debug to run a test suite, the individual tests in that suite might want to run e.g. flutter build --target-platform=android-arm64 (see e.g. analyze_size_test.dart) which will not work with host_debug.
The right solution here seems to be that we supply --local-engine-src-path and the tests themselves use the right --local-engine they need for the specific task at hand.e
Though this work is out of scope for me as a gardener. So I'll revert this PR instead.

The revert has made this step pass again, though HHH continuous to be broken due to unrelated reasons.

\cc @godofredoc Appreciate your advice and help with this one.

Some observations after looking at this more closely and discussing it with @jonahwilliams:

Tests that use getLocalEngineArguments are in the integration.shard. We'll attempt to set the local-engine environment flags only for the web.shard to unblock the 3H-web bot on the Dart side.
We may not need a big general change to handle the uses of getLocalEngineArguments, but a one by one manual review instead. Currently only 12 files (total of 47 unit tests) use it. Many don't need a local engine, for example, so it may be OK to remove the use of the flag in those cases (see https://github.com/flutter/flutter/pull/83282). Individual tests could be changed to ignore the local engine flag or skipped the test if the specified engine is not compatible with the test.

(sorry for the duplicate post, I mean to copy this in the underlying issue)


Strange WLED + group behaviour

I'm having issues with WELD lights.
For each WLED light I did create manual sensor:
platform: powercalc
entity_id: light.stream_desk
wled:
  voltage: 5

But during bootup and group creation, I see this:
2022-07-10 10:44:59 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.stream_desk: Auto discovered model (manufacturer=WLED, model=FOSS)
2022-07-10 10:44:59 ERROR (MainThread) [custom_components.powercalc.sensors.power] Skipping sensor setup light.stream_desk: Model not found in library (manufacturer: WLED, model: FOSS)
2022-07-10 10:44:59 ERROR (MainThread) [custom_components.powercalc.sensors.power] light.stream_desk: Error setting up calculation strategy: Model not found in library (manufacturer: WLED, model: FOSS)
2022-07-10 10:44:59 ERROR (MainThread) [custom_components.powercalc.sensor] Could not resolve any entities in group 'Loft lights PM'

And because of this this and upper level group is not created.
While later in logs I see this:
2022-07-10 10:44:59 DEBUG (MainThread) [custom_components.powercalc.model_discovery] light.stream_desk: Auto discovered model (manufacturer=WLED, model=FOSS)
2022-07-10 10:44:59 DEBUG (MainThread) [custom_components.powercalc.sensors.power] Creating power sensor (entity_id=light.stream_desk entity_category=None, sensor_name=Stream desk power strategy=WledStrategy manufacturer= model= standby_power=0 unique_id=500291fd4cb9_0)

And it looks like it was recognized and power sensor is created.

My (un)educated guess would be that it's frist trying to create group and fails, but later looks at individual light setup. Maybe.
I have split configuration (YAML files), so each light and each sensor is in separate file.

Need to have a look into this.
Are you only creating power sensors manual or are you also relying on the autodiscovery routine of powercalc? When you only create manual you can consider disabling autodisovery.
powercalc:
  enable_autodiscovery: false

What does your group configuration look like for Loft lights PM, because the include functionality only works for automatically discovered lights, not the manually added lights.

Are you only creating power sensors manual or are you also relying on the autodiscovery routine of powercalc?

I'm using autodiscovery and manual configuration is groups + WLED as they were not recognized even without groups properly.
But I think I've figured out the issue and not sure what would be proper fix for this to be honest.
This is my groups, where ledge is just part of it (and only device inside - WLED):
platform: powercalc
create_group: Upstairs lights
entities:
#  - entity_id: light.a
#  - entity_id: light.b
  - create_group: Bedroom lights PM
    entities:
      - entity_id: light.bedroom
#  - create_group: Bathroom lights
#    entities:
#      - entity_id: light.d
  - create_group: Luka room lights PM
    entities:
      - entity_id: light.luka_ceiling_light
      - entity_id: light.luka_floor_light
      - entity_id: light.luka_table_light
  - create_group: Zita room lights PM
    entities:
      - entity_id: light.zita_ceiling
      - entity_id: light.zita_desk_lights
      - entity_id: light.zita_table_light
      - entity_id: light.zita_tabletop
  - create_group: Ledge lights PM
    entities:
      - entity_id: light.ledge
  - create_group: Loft lights PM
    entities:
      - entity_id: light.elgato_key_light_air_left
      - entity_id: light.elgato_key_light_air_right
      - entity_id: light.stream_desk

How I "fixed" this.
As I'm using split configuration, each sensor/entity is in separate file.
This is my ledge WLED configuration:
platform: powercalc
entity_id: light.ledge
wled:
  voltage: 5

And by the looks of it, HA is loading files in alphabetical order inside folder, so I renamed group configuration files to start with last letter of alphabet, so they are loaded after WLED devices and now it works.

Yeah I think there is not much I can do as I am reliant on the order which HA calls the powercalc sensor setup routine. It will do that in order. When the wled light is not known yet for powercalc when the group is created than it cannot put it in the group.
I have worked on a GUI configuration for the last month which will be released shortly. I am thinking about also adding group support there, which will allow you to define a power group and add members from the GUI. Then the order is also not a problem anymore and you also don't need to reboot anymore after adding a sensor to the group.

This is awesome! and I'll wait than for the release of new version before recording video on it - BTW - Thank you so much for this great component!!!! Now need to contribute and add Elgato lights to database :)

That's awesome! I'm planning to release the first version in beta for new version v0.24, which I am planning to do somewhere this week. Need some beta testers during that time because it is a huge development, which can potentially introduce new bugs. And also the new config screens can contain bugs of course. Did a lot of testing myself already.
Will notify on the community forum and github when the beta hits the road.

GUI is almost feature complete. Will release an alpha version maybe today or within a few days.


User can empty any field they want

A user can empty any field they want with the unlink function. For example if you visit /auth/unlink/password it will set that field to an empty string.
The fix to this would be to have a whitelist of fields users can edit using this function.

Thanks, it has been fixed.


Release 0.15.0?

Are there any plans to release version 0.15.0 (or 0.14.1)?
There are many useful commits since 0.14.0, including from this PR #810, which fixes a bug.

@turicas is right. We need to make a new release. I will make a release this week.

@andrewsmedina is there anything you need to make it happen?

0.15.0 version released! https://github.com/cobrateam/splinter/releases/tag/0.15.0 - https://pypi.org/project/splinter/0.15.0/

Thanks!


[Feature] Add revision mechanism for Application

Is your feature request related to a problem? Please describe.
Application CRD is a mutable object that represents an app, when users try upgrade their app, they change the Application Object, the missing part is the revision which record the snapshot of every change.
Without a revision, we can hardly do rolling update.
Describe the solution you'd like
In our architecture, the ApplicationConfiguration(AppConfig) Object behind the Application Object can be an immutable object which record the revision. In other word, Application controller can generate AppConfig with a version as suffix.
For our cue template, we should record the revision information in the context, then the user can choose how to name their underlying workload.
The workflow could like below:

user create an application object

application(myapp) with component(myweb) -> appConfig(myapp-v1, myweb-v1)
                                         -> template(context.appName=myapp, context.name=myweb context.revision=v1)

user change some fields of the application object

application(myapp) with component(myweb) -> appConfig(myapp-v2, myweb-v2)
                                       -> template(context.appName=myapp, context.name=myweb context.revision=v2)

By default, if we don't name the underlying workload, the workload created by appconfig will have the same name with appconfig.component , which means the underlying workload will have a revision as name. In our example, it will be myweb-v2.

The user can specify name in CUE template so it can also be a fixed workload name. For example, below is a workload that will generate a fixed name with a concat of AppName and the componentName. The interesting part is the workload can mark a label to record the revision for more convenience.

apiVersion: core.oam.dev/v1alpha2
kind: WorkloadDefinition
metadata:
  name: example
spec:
  definitionRef:
    name: deployments.apps
  template: |
    output: {
    	apiVersion: "apps/v1"
    	kind:       "Deployment"
    	metadata: name: context.appName+context.name
    	spec: {
    		selector: matchLabels: {
    			"app.oam.dev/component": context.name
    			"app": context.name+"-"+context.revision
    		}

    		template: {
    			metadata: labels: {
    				"app.oam.dev/component": context.name
    				"app": context.name+"-"+context.revision
    			}

    			spec: {
    				containers: [{
    					name:  context.name
    					image: parameter.image
    			}
    		}
    	}
    }

    parameter: {
    	image: string
    }

This mechanism also works with trait.

related https://github.com/oam-dev/kubevela/issues/922

Describe alternatives you've considered

Additional context

Good start, I have a few questions

There is a "name" in the component in the application. How does that work with the name in the workloadDefinition?
Does this mechanism also work with trait?  There is also a "name" field in the traits part of a "component" in an application. How does that work?

Good start, I have a few questions

There is a "name" in the component in the application. How does that work with the name in the workloadDefinition?
Does this mechanism also work with trait?  There is also a "name" field in the traits part of a "component" in an application. How does that work?

For 1, let's assume:

the name in the component in the application is myweb
the name of application is myapp
the revision is v1

then in the context, it will be:

context.name = myweb
context.appName = myapp
context.revision = v1

context is component oreinted.
For 2, yes, this also works for trait. The name field in the traits part of a "component"  is the type of the trait.

user change some fields of the application object

reconcile logic can not detect this type of changes for two reasons

it is level triggered instead of edge triggered
the definition can change behind the back of the application CR.

Also, the current implementation uses comp.name as the generated component name and the component name in the AC. This needs to change

https://github.com/oam-dev/kubevela/issues/1074

#1166


New template function introduced the issue of an invalid manifest.json generation

Version v0.1.1 affected.
https://github.com/AWolf81/snowpack-plugin-web-ext/blob/402513c5843083da5e9f50be27b4642ef205baf5/src/templates/manifest.ts#L27-L30
In the above function, it is directly merging the content from package.json with the defaults and that's not right as there are no devDependencies, dependencies - just to mention some.
I have to add a filter for data based on the ManifestType. Typing could be also improved in checkManifest for packageJson object in index.ts by using @schemastore/package for the type.
Example manifest.json
{
  "name": "my-web-extension",
  "version": "0.0.1",
  "description": "Add a brief description of your extension here...",
  "manifest_version": 2,
  "permissions": [],
  "minimum_chrome_version": "61",
  "browser_action": {
    "default_popup": "index.html"
  },
  "background": {
    "scripts": []
  },
  "content_scripts": [],
  "web_accessible_resources": [],
  "scripts": {
    "start": "cross-env NODE_ENV=development snowpack build --watch",
    "build": "cross-env NODE_ENV=production snowpack build",
    "test": "web-test-runner \"src/**/*.test.tsx\"",
    "format": "prettier --write \"src/**/*.{js,jsx}\"",
    "lint": "prettier --check \"src/**/*.{js,jsx}\""
  },
  "dependencies": {
    "preact": "^10.0.0"
  },
  "devDependencies": {
    "@prefresh/snowpack": "^2.0.1",
    "@snowpack/plugin-dotenv": "^2.0.5",
    "@snowpack/plugin-typescript": "^1.1.1",
    "@snowpack/web-test-runner-plugin": "^0.1.5",
    "@testing-library/preact": "^2.0.0",
    "@types/chai": "^4.2.14",
    "@types/chrome": "0.0.128",
    "@web/test-runner": "^0.10.0",
    "chai": "^4.2.0",
    "cross-env": "7.0.3",
    "prettier": "^2.0.5",
    "snowpack": "^2.18.4",
    "snowpack-plugin-web-ext": "^0.1.1",
    "typescript": "^4.0.3",
    "web-ext": "5.4.1",
    "web-ext-types": "3.2.1"
  }
}

Fixed in develop branch.

Added filter (see snippet below)
Added package.json typing
Added unit tests for templates

https://github.com/AWolf81/snowpack-plugin-web-ext/blob/6fc6cb90100e18139b7fbd51515b2afb5294d65e/src/templates/manifest.ts#L29-L32

Fixed in develop branch.

Added filter (see snippet below)
Added package.json typing
Added unit tests for templates

https://github.com/AWolf81/snowpack-plugin-web-ext/blob/6fc6cb90100e18139b7fbd51515b2afb5294d65e/src/templates/manifest.ts#L29-L32


cherry-pick: add debug info when generating certs for workloads #45183

Please provide a description of this PR:
Auto cherry-pick failed: https://github.com/istio/istio/issues/45187

@zhaohuabing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio_release-1.17
e38bcc70a8df8f5bbf2f9b8e4ecb3558636755fd
link
true
/test release-notes

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.

/test release-notes


Contact Page

Description
I would like to add a Contact Page to the website
Please assign me this issue under IWOC

@thestarsahil Please add the labels

@thestarsahil Please review the PR


[Web] Render failure error notification incorrect

The following fails in the Web renderer - because the textblock element has a requirement for text and no value is present, yet I get a response: Cannot read property 'style' of null
`{
"type": "AdaptiveCard",
"version": "1.0",
"minVersion": "1.0",
"fallbackText": "this is the  fallback text",
"speak": "",
"backgroundImage": "http://adaptivecards.io/content/cats/1.png",
"body": [
{
"type": "TextBlock",
"id": "5c4586e3-35fa-4947-8db1-2e77d78e5b2a",
"text": "",
"maxLines": 1
}
],
"actions": [
]

}`

Thanks Brennon this is good feedback. @dclaux not sure if we have an issue tracking more friendly errors, so labeling this to track it

The above card yields "The card is empty" in the visualizer built from master, because an empty text block (empty text property) is ignored. Can you elaborate in what context you are getting "Cannot read property 'style' of null"? Are you using the npm package for the renderer? Maybe the npm package is outdated?

I was getting that at the time from the web visualiser on the .io site,
As I hadn't rebooted for a month or two, I think Chrome was caching a long ago version.
It should be noted that i get no such error in the WPF visualiser on main branch. Not sure if you want to close this out an open a new issue specific to WPF?

I think it should be fixed now. At least the visualizer built individually doesn't have that problem.

I'll write this as a new issue WPF specific. Cheers

Actually this is not correct. Inconsistent behaviour between WEB and WPF renderer.
I believe WPF is correct, because the property is set as "text" : "",  which is entirely valid. The WEB render should honour that and not return an error message of "The card is empty".

The documentation says the text property is required, e.g. if text isn't specified the TextBlock isn't valid and shouldn't be rendererd, I think it boils down to defining what "required" and "specified" mean. If we say that an empty string is still a "specified" string then it doesn't make much sense IMO to define the text property as required. So either we change the documentation/spec to say text isn't required (and defaults to an empty string) or we consider that an empty string doesn't qualify as "specified" and makes the TextBlock invalid. To me the HTML renderer is per spec, the WPF one isn't, but I don't have a problem with either behavior, we just need to be crisp on which one all renderers need to implement.
@matthidinger what do you think?

I think it boils down to defining what "required" and "specified" mean

Absolutely agree.
The challenge is that Json considers a required property must simply not be null. This is why "" is valid.
I've never seen an object requirement for "specified" outside of a validation context, certainly not in a serialisation one.
Given that we are working within the context of Json, for my mind it makes sense to continue with the common implementation of it.

Closing as this now seems to render everywhere (JS/UWP/WPF tested)


Add LEO and SceneDiffuser

Hi,
Thanks for this awesome list and I've learned a lot from it. Just would like to add two more papers to the list:
LEO, which presents an embodied generalist agent that can not only do 3D understanding and reasoning but also navigation (habitat objnav) and CLIPort robotic manipulation.
SceneDiffuser, which demonstrates a framework of doing embodied planning and motion generation in 3D scenes.
Let me know if you have any questions!
Best,
XM

Appreciate!


Parametrized text separator

Issue type

Question

Description
Is it possible to create parameterized text separator passed through options?
Consider example grammar:
Literals
  = string1:Literal strings:(Separator Literal)* {
    return strings.reduce(function(array, record) {
      return array.concat(record[1]);
    }, [string1]);
  }

Literal
  = char:(!Separator Character)+ {
    return char
      .map(function(x) {
        return x[1];
      })
      .join('');
  }

Separator
  = "--"

Character
  = .

There is Separator that have to be excluded from Literal. I would like to have it configurable.
I have managed to read it from options, but I don't know how to consume variable character length. Example bellow is working for every separator composed from 2 characters. But what if someone pass 3 characters?
{
  options.separator = options.separator || '--';
}

Literals
  = string1:Literal strings:(Separator Literal)* {
    return strings.reduce(function(array, record) {
      return array.concat(record[1]);
    }, [string1]);
  }

Literal
  = char:(!Separator Character)+ {
    return char
      .map(function(x) {
        return x[1];
      })
      .join('');
  }

Separator
  = chars:(. .) & {
    return chars.join('') === options.separator;
  }

Character
  = .

You can use my fork with such Separator rule:
Separator = len:({ return options.separator.length; }) s:$.|len| &{ return s === options.separator; };

Does it mean it's impossible without modifying PEG.js source code for sure?

No it is possible, just more boilerplate. You can implement range in current terms, something like:
{let count = ...;}
List = $(. &{ return count-->0; })

but do not forget about backtraking.

Thanks, it's working!

As I'm assuming the question is answered, closing.


IsValidCdKey() limitations

IsValidCdKey() can now give false-negatives on steam keys. First group of key symbols can consist not only of 5, but also from 4,3, and even 2 symbols. See here: https://support.steampowered.com/kb_article.php?ref=7480-WUSF-3601
I looked through this article, and that's patterns I found:
####-#####-####
#####-#####-#####
###-####-####-####
####-####-####-####
####-####-####-####-####
####-#####-#####-#####-#####
#####-#####-#####-#####-#####
##-#####-#####-#####-#####-#####
##-######-######-######-######
################ ##  (only for Prey)
Also, there said "AI War CD Keys in various formats", have no idea what formats can be there.
And, also, steam absolutely ignore dashes: http://imgur.com/2aLXAB7 so the key can be any combination at all. Unsure if this matters, just FYI.

Maybe the solution would be to enforce IsValidCdKey in case of normal message, and skip it when user is sure with !redeem command?

I want to avoid spamming steam network with key activation requests when user doesn't fully understand how ASF works and is putting messages that are not cd-keys such as "hello" "help" "asdasd" etc.
Also, as I said, the variety of keys is so big that I feel it pointless to add them all to the checker.

Skip it with !redeem command is a good thing, but that would not solve multiple key redeeming, or would it? Can we send multiple key via !redeem command?
Well, as you can see there is not very much patterns, we can just check them all (even without last one, as it is for just one game).

It's not possible to send multiple keys with redeem, and I don't want to do that yet as it'd potentially cause problems with telling which part is the key, and which is the botname.
I think I'll just fallback to more simple mechanism that checks if key contains -.

Also from what I see all keys apart from Prey one contains at least 2 dashes, so it would be quite reliable.

May I suggest than to check if Key contains "-" more then once? That would cover most cases, and would have relatively rare false positives, because words with many dashes are not common.

Yeah, that is the best solution from now :+1:

You're both wrong.
I2IAR4F1NMZJV4EWVQ2G3VS5O - Valid key
I2IAR-4F1NM-ZJV4E-WVQ2G-3VS5O - Invalid key

I just use RegEx(/^[a-z\d-]{15,29}$/i) and it covers all my cases ¯\_(ツ)_/¯

And that's what !redeem is for.

@Ne3tCode blame volvo for poor documentation. No single notice about such keys.


Transformers 0.5

Supersedes https://github.com/ekmett/mtl/pull/21 (Travis update) too

Resolves https://github.com/ekmett/mtl/issues/30

@phadej It'd be interesting to do a API comparision to see if anything added to transformers leaks through the exposed API of mtl, as then mtl would possibly violate the PVP

Seems that only Data.Functor.Classes have changed a bit.
[FL600] ~/mess % hackage-diff --mode=builddb transformers <IP_ADDRESS> <IP_ADDRESS>
Downloading transformers-<IP_ADDRESS>...
Downloading transformers-<IP_ADDRESS>...
Processing transformers-<IP_ADDRESS>...
  Creating Sandbox
  Installing Dependencies
  Configuring
  Building Haddock
Processing transformers-<IP_ADDRESS>...


Apostrophes in Kel’Thuzad icons

I don’t know how all modern OSes handle it, but it’s definitely a little unusual to have apostrophes in filenames. It also isn’t consistent with Zul’jin and Mal’ganis. If this is how all three are represented in the game files I can modify it on my end, but thought I’d check.

It's like that in the game files.  An apostrophe is a valid character in all operating systems.


v0.2.0 Release

More flexible and concise API.
Tool support working and tested
Builder pattern for Request.
CI and coverage (and badges!)
Markdown support using pulldown_cmark and pulldown_cmark_to_cmark. Guaranteed well formed markdown and pulldown_cmark::Event iterators for rendering as HTML (or anything else)
Can count the numbers of 'r' letters in "Strawberry".
Bug fixes!

Gonna leave the dev branch for a minute since it's linked to from Ars.


Commit and job info debug dump

Adds commit and job info collection to debug dump and an additional flag (--limit) to limit the number of commits / jobs returned. Also, it looks like there was a change to our proto code generation that got merged without committing the generated go files, so that is why there are a lot of .pb.go files in this PR.

I think you might have an older version of the proto image. The changes to the proto file look like the opposite of what I just got when I updated.

I think you might have an older version of the proto image. The changes to the proto file look like the opposite of what I just got when I updated.

Yeah, I ran it with --no-cache and got what is in master.

Yeah, I ran it with --no-cache and got what is in master.


Added ultradom support

Codecov Report

Merging #9 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master     #9   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           3      4    +1
  Lines          76     74    -2
  Branches       21     23    +2
=====================================
- Hits           76     74    -2

Impacted Files
Coverage Δ

app/ultradom.ts
100% <100%> (ø)

app/picodom.ts
100% <100%> (ø)
:arrow_up:

store.ts
100% <0%> (ø)
:arrow_up:

utils.ts
100% <0%> (ø)
:arrow_up:

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 0f7f412...49b1594. Read the comment docs.


Setup page "Manual database setup" toggle closes when trying to copy the code

Describe the bug
Over the end of the https://drift.simonbinder.eu/docs/getting-started/#database-class session, if you select some code inside the "Manual database setup" toggle, it closes the toggle.
Similarly related to https://github.com/simolus3/drift/issues/3171.

This has been fixed! Thanks a lot!


CCA_VaultOAIMapper(OAIDublinCoreMapper)

Some general links to know:

Development contribution process
"CIC all tasks" list view
"CIC current sprint" status view

Specific to this mapper:

List of collections, by mapper type: https://registry.cdlib.org/?mapper_type=cca_vault_oai_dc
Endpoint: https://vault.cca.edu/p/oai?verb=ListSets

Rikolti MVP project board cheat sheet:

Please @ CDL developers liberally, in the comments.
When picking up an "issue," please indicate:

a) Assignees: self assign;
b) Sprint: select the current sprint cycle;
c) Date started: indicate the start date -- see right side fields

CIC developers will likely need to create PRs (and possibly additional issues). When doing so, please also indicate the following:

a) Repository: Rikolti;
b) Milestone: "4 CIC work" (these details are required in order for them to surface in the Rikolti MVP project board); and
c) link the PR to the associated issue.

When requesting review, please:

a) include a comment & @ CDL developers; and
b) Date delivered: indicate the date delivered (field on the right)

Included in https://github.com/ucldc/rikolti/pull/287


Slow down learning rate during training

It would be great to have a feature that slows down the learning rate after the eval metric hasn't improved for a set number of rounds or after specified intervals.
I have seen this feature in a few neural network implementations where is works well.
As an example, let's say I can get a logloss of 0.5 with a 0.1 learning rate which takes 1000 training rounds after which the score doesn't improve for 50 rounds. With a 0.05 learning rate I can get a logloss of 0.48 but this takes 2000 training rounds. For the first few hundred rounds I could use a much higher rate which then slows down to optimize the last few bits.
We could have parameters like these:

decrease learning rate after no improvement rounds
decrease learning rate after rounds (every 500 for example)
decrease learning rate factor (0 to 1 range, 0.5 will half the learning rate)

@frankherfert Use a custom callback to modify parameters while learning, example: https://github.com/Microsoft/LightGBM/issues/129

This looks exactly like what I need, thank you for the quick reply!


Error: can't read torch library in train.py

when i tried to run train.py after activating virtual environment.
I got this error: (venv) PS M:\WorkSpace\GitHUB\pytorch-chatbot\myproject> python train.py
Traceback (most recent call last):
File "M:\WorkSpace\GitHUB\pytorch-chatbot\myproject\train.py", line 5, in
import torch
ModuleNotFoundError: No module named 'torch'

i then tried to install torch library, but I still couldn't solve the error.
now what should I do?

pip3 install torch


I use ceph-csi for k8s and use rbd, but I find a problem.

Describe the bug
I just want to know If I delete a deployment that used rbd pvc, and want to use it to another pod or deployment, If any else things need to do?
Environment details

Image/version of Ceph CSI driver :

Helm chart version :
ceph-csi v3.7.2
https://github.com/ceph/ceph-csi/tree/v3.7.2/deploy/rbd/kubernetes
Kernel version :
-ubuntu 18.04
Mounter used for mounting PVC (for cephFS its fuse or kernel. for rbd its
krbd or rbd-nbd) :
mount rbd
Kubernetes cluster version :
1.21
Ceph cluster version :
ceph version 14.2.11-199.el8cp (f5470cbfb5a4dac5925284cef1215f3e4e191a38) nautilus (stable)

Steps to reproduce
I create the sc like this:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: autelrobotics-prod-csi-rbd-sc
provisioner: rbd.csi.ceph.com
parameters:
clusterID: 61ef19c8-4076-46c1-b669-09ae77fcf9a0
pool: kube
imageFeatures: layering
csi.storage.k8s.io/provisioner-secret-name: csi-rbd-secret
csi.storage.k8s.io/provisioner-secret-namespace: csi-ceph
csi.storage.k8s.io/controller-expand-secret-name: csi-rbd-secret
csi.storage.k8s.io/controller-expand-secret-namespace: csi-ceph
csi.storage.k8s.io/node-stage-secret-name: csi-rbd-secret
csi.storage.k8s.io/node-stage-secret-namespace: csi-ceph
reclaimPolicy: Delete
allowVolumeExpansion: true
mountOptions:
discard
And I create pvc like:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: raw-block-pvc
namespace: demo
spec:
accessModes:

ReadWriteOnce
resources:
requests:
storage: 50000Gi
storageClassName: prod-csi-rbd-sc

and A deployment use it:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx-test-pvc
namespace: demo
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
volumes:

name: autonomy-gpu-volume
persistentVolumeClaim:
claimName: raw-block-pvc
containers:
name: nginx
image: nginx:latest
ports:
containerPort: 80
volumeMounts:
mountPath: /data
name: autonomy-gpu-volume

Then I delete the deployment, And try to use this pvc to another pod like:
apiVersion: v1
kind: Pod
metadata:
name: nginx-demo
namespace: demo
spec:
containers:

name: nginx
image: nginx
volumeMounts:
mountPath: /data
name: autonomy-gpu-volume
volumes:
name: autonomy-gpu-volume
persistentVolumeClaim:
claimName: raw-block-pvc
I rbd pvc seem can't mount to it, describe pod error like:
AttachVolume.Attach succeeded for volume "pvc-292007aa-5e8a-4814-9e58-7df5c9802529"
Warning FailedMount 4m45s kubelet Unable to attach or mount volumes: unmounted volumes=[raw-block-pvc], unattached volumes=[workload-certs istio-podinfo workload-socket istio-data istio-envoy istio-token kube-api-access-ghh8m dshm jinliang-stereo-lite-gpu-volume raw-block-pvc istiod-ca-cert]: timed out waiting for the condition
Warning FailedMount 2m29s kubelet Unable to attach or mount volumes: unmounted volumes=[raw-block-pvc], unattached volumes=[workload-socket workload-certs istio-envoy jinliang-stereo-lite-gpu-volume istiod-ca-cert istio-data istio-token kube-api-access-ghh8m dshm istio-podinfo raw-block-pvc]: timed out waiting for the condition

Actual results
I deploy the deployment use rbd storageclass, them delete it , and try to deploy a Pod  use this pvc, But it can mount it.
Expected behavior
If I need to to anythiing else  when I delete the deployment can make the pvc is umount.
Logs
If the issue is in PVC creation, deletion, cloning please attach complete logs
of below containers.

csi-provisioner and csi-rbdplugin/csi-cephfsplugin container logs from the
provisioner pod.

csi-rbdplugin-provsioner.txt
csi-rbdplugin.txt
If the issue is in PVC resize please attach complete logs of below containers.

csi-resizer and csi-rbdplugin/csi-cephfsplugin container logs from the
provisioner pod.

If the issue is in snapshot creation and deletion please attach complete logs
of below containers.

csi-snapshotter and csi-rbdplugin/csi-cephfsplugin container logs from the
provisioner pod.

If the issue is in PVC mounting please attach complete logs of below containers.

csi-rbdplugin/csi-cephfsplugin and driver-registrar container logs from
plugin pod from the node where the mount is failing.

if required attach dmesg logs.

Note:- If its a rbd issue please provide only rbd related logs, if its a
cephFS issue please provide cephFS logs.
Additional context
Add any other context about the problem here.
For example:
Any existing bug report which describe about the similar issue/behavior

Please provide the logs asked for in the issue template.

Please provide the logs asked for in the issue template.

add logs on the issue above.

i dont see any issue in attached logs can you please check volumeattachment object created for this PVC, please check attacher container logs.

in attached logs can you please check volumeattachment object created for this PVC, please check attacher container logs.

May be the pvc name is not the same I just for example, but the process is what I describe above:
csi-rbdplugin.txt
csi-rbd-provisoner.txt

I think the problem is that if a rbd pod mount pvc them delete the pod, and mount this pvc to another pvc, often can't mount to it.

I am facing similar issue with cephfs CSI , PVC in pending state.
cephfs.csi.ceph.com_csi-cephfsplugin-provisioner-7ddb7f8cf4-h5ndt_e0ac55de-d690-4ff2-8bd0-3826144152a2  failed to provision volume with StorageClass "csi-cephfs-sc": rpc error: code = InvalidArgument desc = volume not found

@sahaniarun, the error message says you dont have filesystem created. please check filesystem exists or not


Adapt content structure for "Tipps and FAQ" from the English translation

In the new English translation a content structure was introduced. We should also adopt this in the German version.
https://github.com/evcc-io/docs/pull/426/files#diff-b61c2a643316a762efc47fba92dff794f5757853fc1d8a15d1b4644913317b4a

Already done.


Incorrect hashes generated causing CSP violations

Description
The CspHtmlWebpackPlugin generates incorrect hashes, causing issues when trying to use the generated CSP.
I have created a GitHub repository to reproduce the issue and deployed the site for reference:

Reproduction repository: github.com/warnyul/bvarga.dev/pull/59/files
Deployed site: bvarga-fe600--pr59-csp-m690t8vi.web.app

My observations
If I copy the content of the <style> or <script> tags from the generated index.html into an online CSP hash generator, I get different hash values. When I manually replace the generated hashes in index.html with these correct values, my site works as expected without CSP violations.
I could not prove it but maybe the issue is related to #111
What type of issue is this? (place an x in one of the [ ])

[x] bug
[ ] enhancement (feature request)
[ ] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
Reproducible in:
slackhq/csp-html-webpack-plugin version: 5.1.0
node version: 22.10.0
OS version(s): macOS Sequoia 15.01, Ubuntu 24.04
Steps to reproduce:

Clone the reproduction repository: git clone https://github.com/warnyul/bvarga.dev.git
Install dependencies: npm install
Build the project: npm run build
Open index.html in dist folder using Safari or Google Chrome.

Expected result:
The hashes generated by the CspHtmlWebpackPlugin should correctly match the content of the built files.
Actual result:
The hashes generated by the plugin do not match the content of the files, causing CSP violations in the browser when accessing the deployed site. Manually generated hashes work correctly when applied.

I investigated further and logged the generated hashes in the hash method. I discovered that the processCsp function is called twice during the build. The logs show that the correct hashes are generated, but they appear after the ones currently included in the index.html.

It seems that removing the following SCSS definitions resolves the issue. With these definitions removed, the CSP plugin and the inline CSS plugin use the same CSS, resulting correct hashes:
> * {
   // style definition
}

Pinning cheerio to 1.0.0-rc.10 fixed this for me (it was working, then I updated some deps and rolled them back till it worked again)


Added variable name clarification

It confused me for a very long while as I was wondering why renaming $model to $user made it not work

Thanks!


gnomeExtensions.drop-down-terminal: v24 -> unstable-2020-03-25

Motivation for this change
Add support to gnome 3.36.
Things done

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

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

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

Support added here: https://github.com/zzrough/gs-extensions-drop-down-terminal/pull/238

This will conflict with what is is staging https://github.com/NixOS/nixpkgs/commit/687254fe2a130d87c6ef570210c40df621b6f524

Could you redo your change for staging so it can be merged when gnome 3.36 merges to master?

Sure @worldofpeace, so should I close this PR and re-open after gnome 3.36 merge?

How can I open a PR to staging? Is a different branch?

Sure @worldofpeace, so should I close this PR and re-open after gnome 3.36 merge?

I merged it manually to staging-next for you 72e5b2dc2ccba536159ed93ccc962cfe733f5012.
Thanks :wave:

How can I open a PR to staging? Is a different branch?

You could have used git rebase --onto to change the base branch to staging-next, and then edited this PR to merge to staging-next.

Nice, thank you for the tip!


Add a new command to check sdcard info

https://unix.stackexchange.com/questions/273971/how-to-get-hard-disk-information-on-linux-terminal

Rejected by LEAN


Fix {f32,f64}.cmp codegen bug

The bug appeared when a nan value was referenced via a function local constant register and a {f32,f64}.{ge,le} used its invalid cmp(x,x) -> true optimization to flatten the computation to a constant true value.
The fix is to remove this optimization for those Wasm operator translations.


Tech Debt: Turn on no implicit any rule in tsconfig

Helps with https://github.com/konveyor/tackle2-ui/issues/408

Nice!

@ibolton336 I think yes, but in doing so we may identify places where it's not as easy as simply replacing the any with another simple type. We might find things unfolding from that that we want to open separate issues for, etc. But yeah, maybe a PR for any obvious types we can substitute in would be good. There might also be places where we can rely on type inference instead of an explicit type, though. hovering things to see what VS Code thinks the types are might give hints there. In some places we might want to introduce generics.
If you guys are starting on that, if you don't mind can you exclude proxy-form.tsx and identity-form.tsx to avoid conflicts with https://github.com/konveyor/tackle2-ui/pull/404? There may be a couple other small places where I've messed with types as well (client/src/app/utils/utils.ts for example).


Update acquia.yaml.example

We noticed the ddev pull acquia was significantly slower than a direct ddev blt drupal:sync, but drupal:sync started failing.  Two suggested optimizations:

In the db pull, we switched from acli remote:drush to the local drush (using it for the files pull), which allows using the --gzip option and downloads directly into db.sql.gz.  On our relatively large DB (about 300 mb) this change reduced the time from about 23 minutes to 15 minutes (using Linux time command)
In the files_pull, we added an --exclude-paths='styles:css:js' to not bother with what are usually Drupal's aggregation temporaries.  We actually added a project specific directory with PDFs to reduce transfer size.  This change reduce the time from about 66 minutes to 43 minutes (there are A LOT of files in the project).  A better optimization would be to not copy the files into the .ddev/.downloads directory then have ddev copy it into the Drupal site directory, but instead do a direct rsync to the Drupal site directory which would avoid a lot of files being copied after the first time but that would require changes to the Golang.....  When we tested that option outside of the pull the rsync time went down to 15 minutes.

The Problem/Issue/Bug:
How this PR Solves The Problem:
Manual Testing Instructions:
Automated Testing Overview:

Related Issue Link(s):
Release/Deployment notes:

That's very possible.  I'm pretty sure we had the aliases in the repository.  But i am still confused why the drush command in line 51 works then, its using the same alias from what I can see...
drush -r docroot rsync --alias-path=~/.drush -q -y @${project_id}:%files ./files

maybe rsync works with it and sql-dump doesn't?

I have no idea.  Shall we just cancel this then?

If you would be willing to take another shot at it and use the test Acquia credentials I could give them to you privately. You'd want to make ddev pull acquia work manually and also make TestAcquiaPull work with those credentials.
I'm quite sure you know vastly more about drush aliases and remotes and Acquia than I do, so it's a great honor to have you working on this, and if you could get this solved it would be great. So let me know if you'd like the credentials. I'll be happy to give them to you privately in slack or whatever.

I may be wrong but... https://github.com/drud/ddev/issues/3237
I may have had mutagen enabled globally when testing this. I'll recheck when that goes in or before.

Ok, if not, send me the credentials via DM on Slack and I'll try to figure out why it works in one case but not another.  I might need help understanding how to run the tests.


Show bus dropout for radar bus

This user's 2022 Highlander Hybrid has no radar points, thus radard never sends radar packets, and radard doesn't automatically switch to VOACC, causing openpilot to ignore leads: 2aaed1ef9648b871
Unclear if this should be handled in radard or controlsd, but think this is a good idea still.

Also this guy's RAV4 had a bad cable, somehow causing PCS faults, but also, bus 1 was largely missing. https://github.com/commaai/openpilot/pull/25136

#25179 will show the radar fault alert