Search.MergeRequests not working with pages

Try playing around with this search. I've also tried this with Search.MergeRequestsByGroup and get the same result. I can't seem to get it working with pages. Roughly, if you look at this:
git, _ := gitlab.NewClient(token, gitlab.WithBaseURL(url))

options := gitlab.SearchOptions{
  PerPage: 1,
}

# Assuming "foo" matches more than one MR.
mrs, resp, err := git.Search.MergeRequests("foo", &options)
if err != nil {
    return nil, err
}

for resp.CurrentPage > 0 {
    fmt.Println(resp.NextPage)
    fmt.Println(resp.CurrentPage)
    fmt.Println(resp.PreviousPage)
    fmt.Println(resp.TotalPages)
    fmt.Println(options)

    req, resp, err := git.Search.MergeRequests(query, &options)
    if err != nil {
        return nil, err
    }
    mrs = append(mrs, req...)
    options.Page = resp.NextPage
}

fmt.Println(mrs)

No matter what I do, TotalPages is always 0. The CurrentPage and PreviousPage never change in value. Can you reproduce something like this?

I run into the same issue with commits, my simplified workaround was this, I hope that helps:
projectID := 1
opt := &gitlab.ListCommitsOptions{
	ListOptions: gitlab.ListOptions{
		Page:    1,
		PerPage: itemsPerPage,
	},
}

nextPage := true
for nextPage {
	commits, _, _ := CommitService.ListCommits(projectID, opt)
	if len(commits) == itemsPerPage {
		opt.Page++
	} else {
		nextPage = false
	}
}

Any idea what is causing this?

@szucsitg - thanks for your suggestion, it did help. I should have started my page at 0 and had looked at the NextPage field. I can offer a slightly better suggestion.
projectID := 1
opt := &gitlab.ListCommitsOptions{
	ListOptions: gitlab.ListOptions{
		Page:    1,
		PerPage: itemsPerPage,
	},
}

commits, resp, _ := CommitService.ListCommits(projectID, opt)

nextPage := resp.NextPage
for nextPage > 0 {
	commits, resp, _ = CommitService.ListCommits(projectID, opt)
	options.Page++
	next_page = resp.NextPage
}

I still think some of these fields are broken. So I'll amend the issue title accordingly.

Thanks for the suggestion, I think I originally had similar, I need to retest yours. IIRC if there's no more than 1 page of results, it'll result an infinite loop, but I might used another field from resp.

I tried it for the merge request example I originally sent and it worked for that. The result is that NextPage is set to 0, so long as the Page is set to 1 in the first instance :)
Quick question though, have you figured out how to get the query parameter in the search working? I'm unable to search by state=opened. It doesn't yield any results. Though if I do a dumb, foo, it'll return anything where it had foo in the title.

For Commits API I found that GitLab v13.5 removed headers related to pagination from response: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43159 - so this behaviour for Commits API is not go-gitab library issue.
@finn-ball you can check your API call: whether contains pagination headers or not.

You're right, closing now.


Running on Umbraco Cloud

I deployed a project using this package and it doesn't work on Umbraco Cloud.
The error:
System.Net.WebException: The remote server returned an error: (401) Unauthorized.
   at System.Net.HttpWebRequest.GetResponse()
   at Our.Umbraco.FullTextSearch.Services.HtmlService.GetHtmlByUrl(String url, String& fullHtml)

This is obvious, because the cloud environment is protected using Basic authentication. So we need to figure out how we can circumvent this in the best possible way.
One option would be to add username and password to the appSettings and use them with the webrequests.

You are right in regards to non-public environments. Once you go live, it works fine. Another approach could be to whitelist the servers own ip.


Add new test for JDK16/17, Update test cases for JDK18(JEP-400) and Update codepoint/unicode for JDK19

Fixes #3350
Signed-off-by: Kentaro Kuramochi<EMAIL_ADDRESS>I created tests for new features in JDK16/17.

pattern_matching_instanceof
sealed_classes
record

I updated almost every test for JDK18(JEP-400).
I updated Unicode data in codepoint/unicode for JDK19.

Here are Grinder_Simple results
x86-64_windows, JDK_VERSION 19, JDK_IMPL hotspot
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder_Simple/298/tapResults/
452 tests, 88 ok, 0 not ok, 364 skipped, 0 ToDo, 0 Bail Out!
ppc64_aix, JDK_VERSION 19, JDK_IMPL hotspot
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder_Simple/299/tapResults/
452 tests, 272 ok, 0 not ok, 180 skipped, 0 ToDo, 0 Bail Out!
x86-64_linux, JDK_VERSION 19, JDK_IMPL hotspot
https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder_Simple/300/tapResults/
452 tests, 104 ok, 0 not ok, 348 skipped, 0 ToDo, 0 Bail Out!

@sophia-guo
Thank you for your comment.
I fixed some build.xmls as you mentioned and I confirmed they worked fine.


FormatException: Invalid radix-16 number when trying to send a post request

I'm trying to make a post request by HttpClient but I get this error:
FormatException: Invalid radix-16 number
and this is the code:
HttpClientRequest request = await _httpClient.postUrl(
      new Uri(
        host: "http://x.x.x.x",
        port: 9080,
        path: "/api/prescriptions"
      )
  );

I also tried this:
HttpClientRequest request = await _httpClient.postUrl(
          new Uri(
            host: "http://x.x.x.x",
            port: int.parse("9080", radix: 16),
            path: "/api/prescriptions"
          )
      );

and it didn't work also by using post method. what am I doing wrong here?

I assume this is solved because you deleted the related SO question.

Sorry I deleted that for the IP info.

Hard to tell. Probably a network issue.
Is the server on your development machine, somewhere in the company network, or public?

I started the server on my system and tried again. the question is why the flutter sends the request to other port!! for example when I set the port to 2378 it sends the request to port 56640
SocketException: OS Error: Connection timed out, errno = 110, address = <IP_ADDRESS>, port = 56640

Actually, I was trying it on a real device from the first time! I found out when I send the request to another server it's ok. but when I'm sending the request to my system the problem happens.

Is the IP address you use the IP address of the WIFI NIC?
If you have a LAN cable attached as well, your machine will have more than one IP.

I used and it worked
Uri.parse('www.example.com/api');


Request documenting the behavior of MessageEntity type text_mention when sending messages

Context: https://github.com/teloxide/teloxide/issues/547
After some testing, we can use MessageEntity's text_mention type to mention users when sending messages, and the required fields of user are id only. But this behavior is undocumented, may we document it?

It is dcumented that you can pass a list of MessageEntity when sending messages. What exactly is undocumented?

@levlam Using MessageEntity's text_mention type to mention users, and the required fields of user are id only. This is undocumented.

All fields are required, but some of them might be currently ignored or fixed to the expected value.
Bots are supposed to use a MessageEntity/User object, received from Bot API, without the need to change it.

Then how we mention users by id via MessageEntity? The type text_link with URL tg://user?id=<user_id> didn't work as expected, Telegram clients treat the link as a normal URL and not as a user mention URL. In different clients, such "user mention URLs as normal URLs" are handled differently:

In tdesktop, clicking on the URL does not give any response.
In Telegram iOS, clicking on the URL asks and then jumps to the user panel.

@SpriteOvO just to make sure you're building the url correctly: you are supposed to use it within an  tag. For example, this is a text mention. Not every app is capable to properly handle tg:// urls, because some of them are not intended to be used "raw"

@SpriteOvO sorry, for some reason my brain completely erased the fact that you're providing a MessageEntity array. Nvm.

@levlam Ok. If we have to use MessageEntity text_mention with a full User structure to mention a user:

We need to store the full User structure in the database, not just a user id. But that's ok, not a big deal.
Users may change some states in the meantime, which makes it inconsistent with the User data we have stored.
If some fields will be added to the User structure in the future, this would be a breaking change for the stored User data.

Forgive me for still wondering if is it possible to change the MessageEntity text_link behavior to be consistent with formatting-options link? If we think of it as a bug fix, it's probably not a breaking change.

I noticed that the bug seems to be fixed in Bot API 6.0, so I'm going to close this issue, thanks @levlam!

@SpriteOvO can you explain what exactly was fixed?

@SpriteOvO can you explain what exactly was fixed?

@WaffleLapkin Before Bot API 6.0, constructing a MessageEntity text_link as a request with tg://user?id=1234567 would be incorrectly formatted as a normal URL instead of a special UserLink. This caused some of the problems mentioned above.
Since Bot API 6.0, it can now be properly formatted as a special UserLink, and this does not require any changes from Bot clients.


refactor: select and multi select fields

fix(SingleSelect): start at selected index
refactor: track selected values in map
wip: re-add selected field to option; broken examples due to API
refactor: restore Key to Option, clean

How to test:

go test ./... -v in root dir
run examples using Select and MultiSelect (burger, gum, theme, readme/multiselect)
you can also test with Gum (after a lil go get -u github.com/charmbracelet/huh@refactor-select) then try seq 22 | go run .  choose --selected=2,21 --limit=2 (or set limit to one or none for single select)

Behavioral Changes:

the selections returned are not ordered

Need to update this to use ayman's Selector type


Update Section Heading component

Fixes #783
📸 Looks like

Changes

[x] On smaller screens items stack top to bottom from the left to right.
[x] When an item is attached to the title text (i.e. a badge or counter) it sticks/aligns to the top line of text when the text breaks to multiple lines.
[x] All Section Headings have a 2px border underline.
[x] The border underline fills the container width (minus padding)

How to QA

git fetch
git checkout <pr-branch-name>
yarn
yarn storybook
navigate to Section heading

Check:

[ ] The appearance matches the design in Zeplin
[ ] The Zeplin component is correctly linked in storybook
[ ] The documentation for this component is correct, understandable, and up-to-date.

👾 Code changes
Check:

[ ] The documentation for this component is correct, understandable, and up-to-date.
[ ] The component makes good use of CSS custom properties to simplify creating variants (or doesn’t have variants).
[ ] Everything that should be a variable, is.

How does this look on smaller screens? e.g. when there’s a long title plus a badge, does the badge align to the top of the title text? It would be great to add a story that show that :) (we might not need to create stories for each zeplin component/variant, but they’re a good guide e.g. https://zpl.io/9qv8l3A)

This is how it looks on smaller screens

Do you have a moment? I'd have some questions about the spacings.

@ArinzeJeffrey-droid what’s the status of the alignment question? (I think you got in touch with Ed to discuss how to handle label next to a long title text when on small screens? (see other comments)

I was able use zeplin to improve the spacing and text on smaller screens.

All great! I added just one comment about storybook.


Window flushes black when resizing

I don't know if this is an issue on other platform or not, but in macOS, when you resize the window, it flush black then it render! so it's like there is no mechanism that resize the flutter content dynamically so it feel more natural.
If you take a look to feather-apps, their application flush black less when resizing.
That's the behavior, we suppose to get

I know this problem exist, but haven't found a solution yet. The google desktop embedding also suffer from this problem. That made me think it's a flutter engine issue. But if feather apps works fine, there must be a workaround.

So, I was trying to fix this one last month, but the safety of rust and my lack of deep understanding of how plugin are implemented stopped me! but here is my idea:
The drawing context should be big enough with fixed size, so instead of resizing it and communicating the resize to flutter, we keep it in big enough size and communicate the resizing event information to the application via a plugin, and the application should draw itself only in the visible area.
I don't know if you get my idea, like my english is bad, but I can clarify.

That could work, but how big should this context be? Also I need to figure out how to set this context size. It seems glfw handles this context size. When you resize window, you get framebuffer size from glfw's callback.

When the window is created, we create a big enough window (eg. screen size) and communicate that to flutter, when resizing we should not call FlutterEngineSendWindowMetricsEvent but instead communicate the new size via a plugin to the main widget.
The context size changes but flutter shouldn't be aware of it.

This issue will probably related to this issue in flutter-engine https://github.com/flutter/flutter/issues/30671

This issue will probably related to this issue in flutter-engine https://github.com/flutter/flutter/issues/30671


Invariant Violation: requireNativeComponent: "ReactNativeLivestreamView" was not found in the UIManager.

Setting up the example throws the "ReactNativeLivestreamView" was not found in the UIManager error in Android.

Hi Kunal,
Can you tell us how you start the example app?
The following should work (in the example/ folder):
yarn
yarn run android

I'm closing this one because it's getting a little old, feel free to open a new one if needed!

Getting similar exception. I am already using NodeMediaClient but wanted to replace the plugin to @api.video.

Hi,
This is a RN issue: see https://github.com/facebook/react-native/issues/31572
In the meantime, I see that you are using rtmpServerUrl and liveStreamKey. Since 1.0.0, these fields don't exist. RTMP URL and Stream key are passed by startStreaming.
Regards


[W5][T08-3]Lim Ding Heng

Added a history command to list all commands entered thus far.

See my comments for suggestions. Please close this PR after reading comments.


Service accounts

We need a way to have service accounts per VO to simplify and make more secure the operations.

This is now available


unzip.Extract causes the cpu to rise and never decreases.

use unzip.Extract, Cpu soars from 4% to 50% and does not recover.

The feature I used in the electron program, removing unzip.Extract cpu will steadily decrease, plus this sentence will rise and not decrease.

The task in Parse.prototype._flush has been triggered, causing the cpu to remain busy.
`this._pullStream.once("end", function () {
self._streamEnd = true;
});
this._pullStream.once("finish", function () {
self._streamFinish = true;
});
Parse.prototype._flush = function (callback) {
if (!this._streamEnd || !this._streamFinish) {
return setImmediate(this._flush.bind(this, callback));
}
var r = callback();
this.emit('close');
return r;
};`
Following the example in README.md, I found that the event registered above was not triggered, causing theParse.prototype._flush to be called again. It ends up with a cpu busyness.
Is it wrong for me to deal with it?

@binarybro

solution : replacement


Misc new helpers

What is wrong?

[ ] is_active_validator - build a "property" is_active in ValidatorRecord and then update eth.beacon.helpers.get_active_validator_indices
Implement new eth/beacon/helpers functions:

[ ] is_double_vote
[ ] is_surround_vote

How can it be fixed
Read the spec and write tests fo these functions.

Just to clarify, for the first item it should be as straightforward as checking the status field of ValidatorRecord and then simply having is_active_validator wrap the new ValidatorRecord.is_active property, correct?

@hwwhww Sorry, I must've missed this!

@ralexstokes this one might be a good one.

@pipermerriam it does look good however there is already a PR at #1612

@ralexstokes :cry: yeah, realized that a few minutes ago as I worked through my github notifications.

closing in favor of #1612


Move json serializer settings to controller attribute

This is a serious breaking change, and I cannot admit it in this release.  I'm going to take it into consideration for the v8 branch.

This is a serious breaking change, and I cannot admit it in this release. I'm going to take it into consideration for the v8 branch.

I figured, that's why I left it in draft


Feature/Issue-to-task

Closes the Issue : One-click Issue to Task conversion.   ()

Would raise a fresh one from integration branch


Remove self reference

I'm not entirely sure all the repercussions of this change, but builds for me.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: TerryHowe
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [TerryHowe]

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

/lgtm

@TerryHowe: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

eks-anywhere-e2e-presubmit
da59d05e068b626c28039c7959e26520e6437dfc
link
/test eks-anywhere-e2e-presubmit

Full PR test history. Your PR dashboard.

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.


Update package.js API to be compatible with meteor > 2.3

Hi @vparpoil could we replicate this change here?

Hi Filipe, I created the PR for the compat package

Great. Thanks. Let's proceed there.


Break data processing into separate directory

What Changed

Removed all references to the models in the individual views
Replaced the lame util.py file with better data/templates.py, data/sections.py and data/placeholders.py
Refactored tests to improve coverage and make sure everything works as expected

Issues

Fixes #31

No screenshot; backend-only change

@hamhands @shellicious are we all in on variable --> placeholders? I went ahead and mass renamed them across all of the possible files, but we should be 100% before doing this because it's a bit annoying (though renaming placeholder --> something else should be easier because it's a less obvious keyword).

@bsmithgall I like "field" better than "placeholder"


Retry behaviour

I tried to use very wrong retry policy:
val always: (Request[IO], Either[Throwable, Response[IO]]) => Boolean = (_, _) => true
Retry[IO](RetryPolicy(RetryPolicy.exponentialBackoff(maxWait = 1.second, maxRetry = 5), always))(client)

As expected, on each successful POST call, http4s retried it, but strangely enough with extra body attached.
My call code is like:
      httpClient.expect[ExpectedResponse](
        Request[IO](
          method = Method.POST,
          uri = uri / "resource",
          headers = headers,
        ).withEntity(payload.asJson),
      )

Assuming, that payload is {"one": 1, "other": "value"}, in logs I after 5th retry I got:
[2021-10-26T07:15:12.460Z] [error]     [DEBUG] 07:15:01 [TestKit.scala:58] HTTP/1.1 POST https://uri/resource Headers(Authorization: <REDACTED>, Content-Length: 446, Content-Type: application/json, Accept: application/json) body="{"one": 1, "other": "value"}{"one": 1, "other": "value"}{"one": 1, "other": "value"}{"one": 1, "other": "value"}{"one": 1, "other": "value"}{"one": 1, "other": "value"}

Payload was attached 6 times, once in original request and 5 more times with each retry (first retry contained doubled body, next one - tripled, etc)
Is that expected behaviour?

Definitely not expected behaviour. It looks like the retry loop is repeatedly writing the request body to the same request instead of starting a new request.
Which client backend are you using (Blaze, Ember etc) - have you tried using a different one, and are the results the same?
Which version of http4s are you using? (The implementation is a little different from 0.23 onwards).
If you could open a pull request with a failing unit test that would also be great!

@bplommer , we are using Blaze backend.
No, I haven't tried others.
We are currently on 0.22.5.
No promises on PR, but I will see, if I can make such later today and tomorrow (I haven't compiled http4s source, I have just read them a bit)

@mr-git Even if not a PR, a small repository with a reproduction would be great too!

can I give this a shot if no one has picked this up?

Please do! AFAIK no one is working on this :)

@mr-git I see that there is a test that indirectly ends up checking your scenario.
The retry doesn't have a double body. Does this test serve as a valid reproduction for your scenario? The difference is that it uses DefaultHttpClient. So instead, would using a BlazeHttpClient serve the purpose of reproducing your scenario exactly?

@ashwinbhaskar , I am not fluent in http4s tests, but I didn't notice check of received payload before it sends OK back


Mount all Cilium configurations directly from ConfigMap in K8s environments

Read per commit basis

This change is

test-me-please

test-me-please

test-missed-k8s

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-missed-k8s

test-missed-k8s

test-me-please


Field Columns not rendered in the same order as stored schema

Describe the bug
Referring to a example in the bootstrap_mce, (urn:li:dataPlatform:kafka,SampleKafkaDataset,PROD), there was an order in the field columns:

field_foo_2
field_bar
However, in UI, it is rendered field_bar and field_foo_2.
This is a problem for my project because we're looking into ingesting some flat files as datasets; having the columns out of order would give the user problems when they read the schema, thinking it was in the correct order.
I agree that it is a non-issue for other databases, ie RDBMS where users can freely specify columns and the database takes care of it. Just raising a bug report to see if you guys think it needs fixing.

To Reproduce
Steps to reproduce the behavior:

quickstart a Datahub instance (tested on most current DH version)
ingest sample data
compare the order of the data shown vs the bootstrap MCE, found at datahub/metadata-ingestion/examples/mce_files/bootstrap_mce.json

@topwebtek7 : could you take a look at this?

@topwebtek7 : could you take a look at this?

Sure.

it renders the field names in alphabetical order.

yes, it renders alphabetically to groupby and visualize hierarchy by field names (ref: https://github.com/linkedin/datahub/pull/2443)
@shirshanka do you think it's a bug sorting in alphabetical order by field column?

If there was a field hierarchy in place, would that order have already been captured naturally during ingestion?

Hi, One of our use case of datahub is for Hive (and Presto generated table). Users usually created their table considering field names and orders. So would be nice to preserve original orders. Otherwise it would be hard to read / find columns since the order is different w/ other systems such as HIVE CLI, Datagrip, Redash, etc.

I think this is fixed in 0.8.12.

Yes fixed in 0.8.12. Closing!


check GitVersion to detect managed clusters and activate node-agent

Overview

@matthyx What if I'm running an unmanaged cluster but I still want relevancy to run. How can I do that?

@matthyx What if I'm running an unmanaged cluster but I still want relevancy to run. How can I do that?

you can't... should I add a forceEnable to relevancy?

Great!
We will merge this after we see the system tests are stable. Because we will need the system tests to run
--set capabilities.relevancy=enable

instead of enabling the node-agent.

Great! We will merge this after we see the system tests are stable. Because we will need the system tests to run
--set capabilities.relevancy=enable

instead of enabling the node-agent.

works on my PC btw 😅


No BQ projectId or datasetId in $FEAST_HOME/core/src/main/resources/application.yml (CONTRIBUTING.md)

Expected Behavior
Being able to update BQ projectId and datasetId in ../core/../application.yml
Current Behavior
Parameters are not present or not mnemonic in application.yml as described in CONTRIBUTING.md
From CONTRIBUTING.md
Note that you should change BigQuery projectId and datasetId accordingly
in "$FEAST_HOME/core/src/main/resources/application.yml"
Steps to reproduce
git clone -b 0.3-dev https://github.com/gojek/feast
nano $FEAST_HOME/core/src/main/resources/application.yml
CTRL+W : projectId -> [ "projectId" not found ]
CTRL+W : datasetId -> [ "datasetId" not found ]
Specifications

Version: Feast 0.3-dev
Platform: Localhost
Subsystem:

Possible Solution
Add BQ parameters to ../core/../application.yml

@NicholaiStaalung Good catch. The store information is now set in the application.yaml for the specific serving store, not Core any more.
We have refactored the configuration and will be merging it in today.
https://github.com/gojek/feast/pull/289/files#diff-755e8c6b38d8711ca34e14d4ee48b4fdR100
I will leave this issue open until we update the CONTRIBUTING.md

@NicholaiStaalung Good catch. The store information is now set in the application.yaml for the specific serving store, not Core any more.
We have refactored the configuration and will be merging it in today.
https://github.com/gojek/feast/pull/289/files#diff-755e8c6b38d8711ca34e14d4ee48b4fdR100
I will leave this issue open until we update the CONTRIBUTING.md

Great stuff!

Closing this since the document is fixed.

https://docs.feast.dev/contributing


update conan-center repository to 1.2.5

Please can update the version to 1.2.5
https://conan.io/center/oatpp-postgresql

Hello @erodriguezg ,
"Officially" oatpp is only distributed as a source code on Github.
The Conan builds are community maintained.
We do not maintain/update conan builds.
I would suggest asking Conan community for help or updating the package on your own.
Regards,
Leonid

I'm working on it here: https://github.com/conan-io/conan-center-index/pull/5723

Btw, are you planning to release a new 1.2.6 version with the Windows patch (https://github.com/oatpp/oatpp-postgresql/pull/8) or shall I apply it on the Conan recipe as well?
Thanks!

Hey @jgsogo ,

Btw, are you planning to release a new 1.2.6 version with the Windows patch (#8) or shall I apply it on the Conan recipe as well?

I would suggest taking the latest master. It's still 1.2.5 but with small fixes.
There will be no 1.2.6. The next release is going to be 1.3.0


Local UI / Touchscreen support

Describe you new feature you'd like
I LOVE this project, and was so sad to see that it only has the capability to be accessed through a client on the network. I don't have any programming knowledgde, nor have i never flashed an esp32, but i wish that it could run locally, through a touch screen connected to the esp32, as my interest is to have a touch-screen control mounted in my house, rather than having to use my phone or some other client to access the UI.

I hear you.  However, the touch screens out there for ESP32 are pretty poor beyond displaying some low res information and a few touch areas.
You are much better off and more likely to be successful using a low cost Fire, Andriod, Kindle, or retired phone to do what you want.  They cost about the same, are way more functional, and require very little tinkering.  These displays have way more engineering in them and you won't find yourself wishing you could lose weight on your fingertips.

I understand your purpose, and admire all your work. It would also be a lot of work to make a new version for this purpose, as i guess you'd have to rebuild the html site using libraries/packages for the arduino touchscreens, which seems terribly complicated from my research.
However i think i settled on a solution which will satisfy my need, and also let me keep the option of accessing the UI from a phone, pc, etc.
I don't really care too much about resolution, as long as it's not utterly crap (lol), so my idea is to built and 3D Print a wall mounted enclosure for a 4 inch touch screen, that's connected to a Raspberry pi, which will act as a "permanent" client.
It'll run raspbian lite, and then upon boot, it'll auto open a chromium/browser window, which auto-connects to the static IP of the ESP32.
Do you think this will work? Obviously you can't speak for the raspbi, but is there anything in the ESP32 preventing it from always having a client connected?
Thanks!

Do you think this will work? Obviously you can't speak for the raspbi, but is there anything in the ESP32 preventing it from always having a client connected?

Actually this will work just fine.   And yes the UI supports chromium on the Pi which will maintain a socket connection to the ESP32.  If you want to DIY an interface the index.js contains the socket management, connection, and all the bits needed to do what you want.  You will find the entire UI in the data directory in the repository.

I am going to close this one for now.  If you have any issues let me know.  You should be able to have any modern browser connected to ESPSomfy RTS at all times.  It also works when the browser sleeps and needs to reestablish connection on waking.


Got unexpected panic during tipocket ledger test

Bug Report

What version of TiKV are you using?

master (628937ab656df118b822196f407d837b4599c848)
What operating system and CPU are you using?

kubernetes
Steps to reproduce

run tipocket ledger test.
What did you expect?
tikv-server shouldn't panic during the test.
What did happened?
got unexpected panic from raftstore, the full log can be accessed here.
   0: tikv_util::set_panic_hook::{{closure}}
             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tikv_util/src/lib.rs:464:18
   1: std::panicking::rust_panic_with_hook
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/panicking.rs:626:17
   2: std::panicking::begin_panic_handler::{{closure}}
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/panicking.rs:517:13
   3: std::sys_common::backtrace::__rust_end_short_backtrace
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/sys_common/backtrace.rs:141:18
   4: rust_begin_unwind
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/panicking.rs:515:5
   5: core::panicking::panic_fmt
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/core/src/panicking.rs:92:14
   6: core::panicking::panic
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/core/src/panicking.rs:50:5
   7: core::option::Option<T>::unwrap
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/core/src/option.rs:722:21
      raftstore::store::peer::Peer<EK,ER>::post_apply
             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/peer.rs:2715:26
      raftstore::store::fsm::peer::PeerFsmDelegate<EK,ER,T>::on_apply_res
             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/fsm/peer.rs:1432:39
      raftstore::store::fsm::peer::PeerFsmDelegate<EK,ER,T>::handle_msgs
             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/fsm/peer.rs:598:21
   8: <raftstore::store::fsm::store::RaftPoller<EK,ER,T> as batch_system::batch::PollHandler<raftstore::store::fsm::peer::PeerFsm<EK,ER>,raftstore::store::fsm::store::StoreFsm<EK>>>::handle_normal
             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/fsm/store.rs:790:9
   9: batch_system::batch::Poller<N,C,Handler>::poll
             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/batch-system/src/batch.rs:446:27
  10: batch_system::batch::BatchSystem<N,C>::start_poller::{{closure}}
             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/batch-system/src/batch.rs:572:17
      std::sys_common::backtrace::__rust_begin_short_backtrace
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/sys_common/backtrace.rs:125:18
  11: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/thread/mod.rs:476:17
      <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/panic.rs:347:9
      std::panicking::try::do_call
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/panicking.rs:401:40
      std::panicking::try
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/panicking.rs:365:19
      std::panic::catch_unwind
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/panic.rs:434:14
      std::thread::Builder::spawn_unchecked::{{closure}}
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/thread/mod.rs:475:30
      core::ops::function::FnOnce::call_once{{vtable.shim}}
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/core/src/ops/function.rs:227:5
  12: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/alloc/src/boxed.rs:1572:9
      <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/alloc/src/boxed.rs:1572:9
      std::sys::unix::thread::Thread::new::thread_start
             at rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/std/src/sys/unix/thread.rs:91:17
  13: <unknown>
  14: clone

The test is panic because ReadDelegate can't be found in StoreMeta in L2716:
https://github.com/tikv/tikv/blob/2c9f5fda36ca2be3f932ac3f4f41bce79d68dec5/components/raftstore/src/store/peer.rs#L2709-L2718
ReadDelegate is only removed from StoreMeta in a few places, and only the log of on_ready_commit_merge are printed lately:
[2022/01/09 12:40:00.570 +00:00] [INFO] [apply.rs:1387] ["execute admin command"] [command="cmd_type: PrepareMerge prepare_merge { min_index: 150 target { id: 17034 start_key:<PHONE_NUMBER>000000FF3F5F698000000000FF0000020003800000FF0000065DB8000000FC end_key:<PHONE_NUMBER>000000FF3F5F698000000000FF0000020003800000FF000049FD64000000FC region_epoch { conf_ver: 5 version: 1564 } peers { id: 17035 store_id: 1 } peers { id: 17036 store_id: 5 } peers { id: 17037 store_id: 6 } } }"] [index=150] [term=144] [peer_id=17045] [region_id=17042]
[2022/01/09 12:40:00.688 +00:00] [INFO] [raft.rs:2304] ["[term 144] received MsgTimeoutNow from 17044 and starts an election to get leadership."] [from=17044] [term=144] [raft_id=17045] [region_id=17042]
[2022/01/09 12:40:00.688 +00:00] [INFO] [raft.rs:1517] ["starting a new election"] [term=144] [raft_id=17045] [region_id=17042]
[2022/01/09 12:40:00.688 +00:00] [INFO] [raft.rs:1116] ["became candidate at term 145"] [term=145] [raft_id=17045] [region_id=17042]
[2022/01/09 12:40:00.688 +00:00] [INFO] [raft.rs:1271] ["broadcasting vote request"] [to="[17044, 17043]"] [log_index=150] [log_term=144] [term=145] [type=MsgRequestVote] [raft_id=17045] [region_id=17042]
[2022/01/09 12:40:00.778 +00:00] [INFO] [raft.rs:2175] ["received votes response"] [term=145] [type=MsgRequestVoteResponse] [approvals=2] [rejections=0] [from=17044] [vote=true] [raft_id=17045] [region_id=17042]
[2022/01/09 12:40:00.778 +00:00] [INFO] [raft.rs:1200] ["became leader at term 145"] [term=145] [raft_id=17045] [region_id=17042]
[2022/01/09 12:40:00.778 +00:00] [INFO] [peer.rs:4397] ["require updating max ts"] [initial_status=622770261050] [region_id=17042]
[2022/01/09 12:40:00.804 +00:00] [INFO] [pd.rs:1426] ["succeed to update max timestamp"] [region_id=17042]
[2022/01/09 12:40:00.887 +00:00] [INFO] [apply.rs:2495] ["asking delegate to stop"] [source_region_id=17042] [peer_id=17037] [region_id=17034]
[2022/01/09 12:40:00.972 +00:00] [INFO] [apply.rs:3431] ["source logs are all applied now"] [peer_id=17045] [region_id=17042]
[2022/01/09 12:40:00.972 +00:00] [INFO] [apply.rs:3357] ["remove delegate from apply delegates"] [peer_id=17045] [region_id=17042]
[2022/01/09 12:40:00.972 +00:00] [INFO] [router.rs:306] ["[region 17042] shutdown mailbox"]
[2022/01/09 12:40:00.972 +00:00] [INFO] [apply.rs:2517] ["execute CommitMerge"] [source_region="id: 17042 start_key:<PHONE_NUMBER>000000FF3F5F698000000000FF0000020003800000FF000049FD64000000FC end_key:<PHONE_NUMBER>000000FF3F5F698000000000FF0000020003800000FF000098DC37000000FC region_epoch { conf_ver: 6 version: 1565 } peers { id: 17043 store_id: 1 } peers { id: 17044 store_id: 5 } peers { id: 17045 store_id: 6 }"] [index=159] [term=154] [entries=1] [commit=150] [peer_id=17037] [region_id=17034]
[2022/01/09 12:40:00.978 +00:00] [INFO] [util.rs:1157] ["reset safe_ts due to merge"] [safe_ts=430370188544704523] [target_safe_ts=430370192581984259] [source_safe_ts=430370188544704523] [tag="[region 17034] 17037"]
[2022/01/09 12:40:00.978 +00:00] [INFO] [peer.rs:4397] ["require updating max ts"] [initial_status=661424966716] [region_id=17034]
[2022/01/09 12:40:00.978 +00:00] [WARN] [endpoint.rs:315] ["try register unexit region"] [region="id: 17042 start_key:<PHONE_NUMBER>000000FF3F5F698000000000FF0000020003800000FF000049FD64000000FC end_key:<PHONE_NUMBER>000000FF3F5F698000000000FF0000020003800000FF000098DC37000000FC region_epoch { conf_ver: 6 version: 1565 } peers { id: 17043 store_id: 1 } peers { id: 17044 store_id: 5 } peers { id: 17045 store_id: 6 }"]
[2022/01/09 12:40:00.979 +00:00] [INFO] [pd.rs:1426] ["succeed to update max timestamp"] [region_id=17034]
[2022/01/09 12:40:01.554 +00:00] [FATAL] [lib.rs:465] ["called `Option::unwrap()` on a `None` value"] [backtrace=...] [location=/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/peer.rs:2715] [thread_name=raftstore-6-1]

Inside on_ready_commit_merge :
https://github.com/tikv/tikv/blob/8d8be78a632b074555e0d0567b727065f015fcc5/components/raftstore/src/store/fsm/peer.rs#L3353-L3368
The timeline of this bug may likely be:

the source peer execute PrepareMerge
the source peer become leader, thus proposing a noop entry and may along with other entries (the epoch checker won't work before applied on current term)
the source peer send LogsUpToDate to apply thread, which will flush all apply_res to store thread, destroy itself, then wake up the target peer to continue executing CommitMerge
the target peer handle the apply_res of CommitMerge, thus removing the source peer's ReadDelegate
the source peer then handle the apply_res and found it just applied on its current term thus causing the above panic

How about ignoring updates and printing a log if the read delegate is None and it's in preparing merge state?

How about ignoring updates and printing a log if the read delegate is None and it's in preparing merge state?

Actually, there are other places expect ReadDelegate not to be None too:
https://github.com/tikv/tikv/blob/adfbc8dd64da6a0defdd038cfa851d43a583b15a/components/raftstore/src/store/peer.rs#L2767
https://github.com/tikv/tikv/blob/adfbc8dd64da6a0defdd038cfa851d43a583b15a/components/raftstore/src/store/peer.rs#L2772
https://github.com/tikv/tikv/blob/adfbc8dd64da6a0defdd038cfa851d43a583b15a/components/raftstore/src/store/fsm/store.rs#L166

The first two places is to update lease lease, but the source peer is in merging state, so these two lines can't be executed. When becoming preparing merge, it can't execute any commands that change regions until rollback. So the third line can't be executed either.

The first two places is to update lease lease, but the source peer is in merging state, so these two lines can't be executed. When becoming preparing merge, it can't execute any commands that change regions until rollback. So the third line can't be executed either.

The first place is possible to reach as it just updates the delegate's term, the third place is also possible through on_update_region_for_unsafe_recover.
Perhaps we should not let a peer remove other peer's ReadDelegate instead, as people usually expect the ReadDelegate will be alive as long as the peer is alive.
Besides destroy_peer, there are other two places on_ready_commit_merge and on_ready_persist_snapshot that may remove other peer's ReadDelegate. And both of them are try to remove the source peer's ReadDelegate, but the source peer is already forbidden to serve read after the PrepareMerge raft  log is committed (see on_leader_commit_idx_changed).
For robustness, we could also replace meta.readers.remove(id) with something like meta.readers.get(id).set_pending_remove_flag, since the local reader is the only place using ReadDelegate to serve read, we can treat delegate with pending_remove_flag as nonexist.

The first place is possible to reach as it just updates the delegate's term

How can it pass the following check?
https://github.com/tikv/tikv/blob/adfbc8dd64da6a0defdd038cfa851d43a583b15a/components/raftstore/src/store/peer.rs#L2748-L2758

...replace meta.readers.remove(id) with something like meta.readers.get(id).set_pending_remove_flag..

A concrete flag lgtm.

How can it pass the following check?

https://github.com/tikv/tikv/blob/b9c99282fc33a54d6c21fff9bd235d742e75ed5e/components/raftstore/src/store/peer.rs#L2771-L2780
There are progress and read_progress where progress is a parameter


Can't start any WSL distro nor the open the ext4 file associated with it

I've just re-built my desktop PC with the most recent build of Windows 11 and I can't use WSL  on it. When I open a WSL distro i eventually get this error:
Error code: Wsl/0x80070043

[process exited with code<PHONE_NUMBER> (0xffffffff)]
You can now close this terminal with Ctrl+D, or press Enter to restart.

Specifications/Version Information
Windows Version:
Microsoft Windows [Version 10.0.22621.1344]
This is the Windows spec:
Edition	Windows 11 Pro
Version	22H2
Installed on	20-02-2023
OS build	22621.1344
Experience	Windows Feature Experience Pack 1000.22639.1000.0

The PC spec is as follows:
Processor	Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz   2.90 GHz
Installed RAM	64,0 GB

Steps to reproduce error
Open the Windows terminal, select any distro or run wsl.exe from a command prompt.
When I try to open the distro file from the windows explorer from Linux list, I get either a network name cannot be found or a You might not have permission to use this network resource. Mapping a drive (\wsl.localhost\Ubuntu-20.04) to it gives me the latter error.
The distros are installed in the AppData folder or in a folder on the system drive.
Disk information:
DeviceID            InterfaceType  MediaLoaded  MediaType              Model                              Name                Partitions
                                                                                \\.\PHYSICALDRIVE3  USB            TRUE                                Generic STORAGE DEVICE USB Device  \\.\PHYSICALDRIVE3  0
              {3, 4, 10}    {"Random Access", "Supports Writing", "SMART Notification"}  \\.\PHYSICALDRIVE0  IDE            TRUE         Fixed hard disk media  WDC WD20EARS-00MVWB0               \\.\PHYSICALDRIVE0  1
              {3, 4}        {"Random Access", "Supports Writing"}                        \\.\PHYSICALDRIVE1  SCSI           TRUE         Fixed hard disk media  WDC WDS200T2B0C-00PXH0             \\.\PHYSICALDRIVE1  3
              {3, 4}        {"Random Access", "Supports Writing"}                        \\.\PHYSICALDRIVE2  SCSI           TRUE         Fixed hard disk media  CT1000P1SSD8                       \\.\PHYSICALDRIVE2  3

Log files attached.
WslLogs-2023-03-03_12-32-18.zip

Thanks for reporting. Unfortunately I'm not seeing much in the trace, did you recreate the problem while the trace was executing?  If you could do the following and re-upload the trace it would be very helpful.

sc stop wslservice
run trace collection script
launch wsl.exe and try accessing one of the distros via explorer
stop trace collection script

Thanks!

我也遇到了一样的问题，但是回车之后又正常启动了
I also encountered the same problem, but it started normally again after pressing enter.


QUESTION:  in the DatabaseMigrations sample, why is this code so complex?

I appreciate that sample of having a separate worker to apply database migrations.
My question is, why does this code seem to duplicate the logic of the in-built context.Database.Migrate()?  What does this gain us vs simpler code?  Is the canonical example not transactional?  Does breaking out the code provide better logging?
vs.
https://github.com/dotnet/aspire-samples/blob/main/samples/DatabaseMigrations/DatabaseMigrations.MigrationService/ApiDbInitializer.cs
Canonical example:
using (var scope = app.Services.CreateScope())
{
  var services = scope.ServiceProvider;

  var context = services.GetRequiredService<IngestionDbContext>();
  context.Database.Migrate();
}

AFAIK the sample breaks out the steps based on guidance from the EF Core team, and desire to ensure the migration occurs within an execution strategy (so it will be retried/resilient), and within an activity (so that traces it emits are grouped under 1 logical action).
I'm not sure if migrations are done within a transaction by default or not. Perhaps @AndriySvyryd can answer that.

EF 8 doesn't provide resiliency during migration application and the transactions it uses aren't appropriate for an external retry strategy. This will be fixed for EF 9, so this code can be simplified, see https://github.com/dotnet/aspire-samples/issues/401

thanks for the explanation!


Fixed ordering of feed items by adding a configuration option.

... Also assigned a color to urls.
This should be the same as #26, but with the new code structure.

+1


static constexpr vs inline constexpr

At the file scope, you want inline to prevent data from being duplicated in the final binary.

Ep 339


Enforce SSL "bug?"

I'm not certain this is a bug, but I thought I'd open it up to discussion.
Currently, the choice to enforce the use of HTTPS (redirect if proto is HTTP), is made at the platform / router level.  I have #148 open to track a possible enhancement that makes that configurable on an app-by-app basis.  Regardless of whether this were configured router-wide or on an app-by-app basis...
If nginx.ssl.enforce: "true", but no cert is available for a given domain, regardless of that is a subdomain of the platform domain, or a "custom" domain, then that app has no vhost listening on 443.  The end result is that the request falls to the default vhost and a 404 is returned.
I'm not clear whether this is a bug (maybe enforcing HTTPS should only happen if there's a cert available for the given domain?) or if this is really just the expected behavior... i.e. "Hey... you asked me to enforce HTTPS... you gave me no cert to use... that is a hard failure."
Unless anyone has a very strong opinion that this requires code changes, my approach to this is going to be to clarify the behavior in router's documentation.

After further thought...
I am of the opinion that enforcing HTTPS should not be contingent upon cert availability... that would make it too easy for an app admin (in the Google operational model) to circumvent the wishes of a cluster admin by simply not providing a cert for his/her custom domain.
@helgi I am interested in your opinion on this one.

enforce = true + no cert for domain = should explode. Falling back to HTTP in that scenario is breaking the enforce contract / configuration and could lead to some annoying to track down bugs, such as cert not being located (for whatever reason) and then the site is downgraded down to HTTP without anyone realising for a while

Ok.  So I think this isn't a bug, but does call for a little bit of doc to clarify this behavior.  Retagging accordingly.

So I just ran into this and it was a little painful to figure out.  This was not the behavior of Deis v1 as far as I can remember.

@sstarcher, the behavior of v1.x was that if an app with a custom / vanity domain didn't have its own cert, the router / platform cert got used instead.  And this would always result in a cert warning.
https://github.com/deis/deis/blob/master/router/rootfs/etc/confd/templates/nginx.conf#L211-L225
imo, how the v2 router handles this same scenario is an improvement. If an app with a custom / vanity domain doesn't have a cert, then it's not listening on 443 at all. (To me, this makes more sense than simply falling back to an incorrect cert.)  Therefore, any request to it using HTTPS falls to the default vhost and the user gets both a cert warning (as they also would have in v1) and, if they ignore that warning, a 404. imo, 404 is the correct response for such a scenario because the end user has requested a URL that really does not exist simply by virtue of the correct cert not having been provided.
The more I contemplate this issue, the more I feel the current behavior is exactly what one should expect. As I'd noted some time ago, if anything, this just needs to be documented. What I'm not clear on is where this doc addition would be most effective. @sstarcher since you ran into some of this recently... do you have any thoughts as to where a mention of this would have saved you some grief?
I am contemplating here:
https://github.com/deis/router/blob/master/README.md#ssl
And here:
https://github.com/deis/workflow/blob/master/src/applications/ssl-certificates.md
Something along the lines of:

Please note that an application's domains, including custom ("vanity") domains never listen for HTTPS traffic on port 443 unless an appropriate certificate has been provided. HTTPS requests to such domains will be handled by the router's default virtual host and will result in both a certificate warning and a 404. This can be corrected by providing the appropriate certificate(s).

@krancour I relied on the behavior from v1.  We have a few domains that we do not have certs for, but I still redirect over SSL and yes they certainly get cert warnings.  If this is the expected behavior for Deis v2 I guess I could respecify my platform cert for everything I don't have a cert for.
Basically Deis v2 if a you configure SSL and the apps name is not the prefix of the domain SSL will fail.
App named public and an additional domain of hello.com is set.
public.a.b - works
public.wha.who - works
hello.com - 404

public.a.b - works
public.wha.who - works

But it's really, "works," I think. There are definitely cert warnings in those cases. From an end-user's perspective-- that's broken.
fwiw, I wish those didn't work (or even "work"). It's a quirk of a regex being used to match URLs if the platform domain has not been defined because we wanted an easy install experience targeted toward first-time users, wherein providing any specific configuration was 100% optional and would work even if skipped. This forced the router's router.deis.io/nginx.platformDomain annotation to be optional, with the aforementioned regex being used in its absence.
I cannot see it as being reasonable for any vhost to listen on 443 if it doesn't have an adequate certificate. Deliberately using the wrong cert doesn't seem like it really improves anything.

@krancour That reasoning makes sense, but with the current setup of Deis and how it handles certs and domains I think you are going to make it very error prone for users in that case.  I don't know about most users, but I would rather serve a site with the wrong cert and falling back to the platform cert instead of serving a 404.
If Deis had inbuilt error checking when enforce HTTPS was turned on for adding domains without attached certs giving the user an easy way to be aware of the mistake that would go a long way.

I don't know about most users, but I would rather serve a site with the wrong cert and falling back to the platform cert instead of serving a 404.

This is probably, largely, a matter of perspective. I'm deferring to the principle of least surprise. I think it's less surprising that SSL doesn't work when a appropriate cert hasn't been provided, than for it to "work" using the wrong cert.

My understanding is that was the reason for the existence of the platform cert was as a fallback.  So I would classify using the platform cert as the least surprise.  Even more so since the platform cert is still used for anything that starts with the app name.  Currently an exception is being made for vanity domains that is not applied to APP_NAME.* domains.

I will say for my use case it would also cause me pains if the current functionality of APP_NAME.* domains were to break and require explicit SSL certs.
Internal our primary cluster is *.cluster.private which references either *.green.private or *.blue.private
So if the cluster is *.green.private.  My app APP will resolve correctly over SSL for APP.cluster.private and APP.green.private.  When we migrate to a new version we never upgrade in place instead we create a second cluster called *.blue.private allowing us to smoke test the system.
After that we load over addresses from *.cluster.private to start using *.green.private.  If you were to fully enforce what your talking about it would break my entire workflow.

My understanding is that was the reason for the existence of the platform cert was as a fallback.

I don't know that I'd classify it as such. The platform cert (which is assumed to be a wildcard cert) has always been to provide SSL to the default domains for each app. So if your platform domain is example.com and your platform cert is for *.example.com, that cert is meant to provide SSL for the dozens or hundreds of apps that may be addressable as subdomains of example.com. As we've discussed, in v1, domains lacking a proper cert may have "fallen back" to using the platform cert, but I don't believe that quirk was by design. The likely reason it was acceptable, was because it prevented the request from falling to the default vhost (which in v1, iirc, would have been whichever occurs first alphabetically) and the request, thus, being serviced by the wrong application. Obviously, no one would have wanted that behavior.  v2 isn't prone to that issue since we have explicitly implemented a default vhost to act as a "junk drawer" that serves 404s for requests not matched by any other vhost.
Remove yourself from the v1 context for a moment and try to imagine you are brand new to Workflow. Approach armed only with what you know about SSL. If you haven't provided a cert for foo.com, wouldn't HTTPS not working for foo.com be a more reasonable expectation than it (inexplicably) "working," albeit with the completely wrong certificate?
Another thing to keep in mind here. By having things not work when SSL isn't configured properly, it encourages users to incur the effort to configure SSL properly. Cert warnings are a disservice to users. If a user has to ignore a cert warning to access one of your sites under normal conditions, they won't know when there's actually a problem with their secure connection to your site.

The obvious rebuttal to my last argument, of course, would be for non-production apps-- development or staging environments, etc.-- where the end users are developers who understand the cert warning and accompanying risks, but in such cases, vanity domains probably aren't required.

@krancour I would agree with your previous statement if platform domain was a required entity.  I could certainly be in the minority.

Like I said... I do still wish it were required that we set that. I'm actually going to add mention of it to this doc.  I feel that splits the difference between something that should be set and not requiring it to be set so as to preserve the easy installation experience.

@krancour making the platform domain required would certainly destroy my workflow ;)

It won't be. But I also don't really understand how it is your workflow (whether in v1 or v2) depends on all the ambiguity that results from the things we've discussed.

@krancour as long as the platform domain is not required I can work around the not falling through to the platform cert.  I'll just have to explicitly attach a few domains I normally let fall to the platform cert.

This issue was moved to teamhephy/router#21


[ISV-4837] Incorrect behaviour of the operator pipelines when a PR affects only ci.yaml.

@haripate What is going on with this PR? Is there anything missing or do you need help with the validation and failed linters?

@Allda I am trying to figure out the reason for the Safety failure test.

@haripate What is going on with this PR? Is there anything missing or do you need help with the validation and failed linters?

@Allda I am trying to figure out the reason for the Safety failure test.

The Safety issue is already resolved in main branch. Please rebase your PR


Update view

How can I update the widget display after submitting a form?

$( document ).ready(function() {
.....
$("#tags_input").?????
}

Can you be a little clear with your question?

well, if you mean visibility, then have you tried $("#tags_input").hide() / .show()

Thank you, but I did not mean it.
If you enter tags and then call the form submit, the component does not display tags.

If the page is forced to refresh, tags are displayed.

can you kindly provide an example we can use ti reproduce this bug?

Source code start page:

Find

-----------------------------------------------------------------------------------------------------
After submitting the form and updating the page, the page with the exact same form is called. The tags_input field will be empty. I try to fill the component with data and update the output, but without success:
Source code start page +

Source code start page:

Find

After submitting the form and updating the page, the page with the exact same form is called. The tags_input field will be empty. I try to fill the component with data and update the output, but without success:
Source code start page +

example.txt

After submitting the form and updating the page, the page with the exact same form is called. The tags_input field will be empty. I try to fill the component with data and update the output, but without success. The previous comments in the file are sample code.

Okay, I will look into it and submit a fix


Downloading Embedded Images

I have noticed that even though message.attachments helps you out to get all the attached image, or whatever it is to the given path/directory, unfortunately, if the image or the file that is sent is embedded, such as it exists in the mail, however, is not attached rather embedded to the sent message, then neither the downloading the mail as using message.attachments, nor message in messages works. Is there any solution for this feature? Maybe the image link opening, which actually automatically downloads the sent image/file can also be integrated.
Any suggestions?

@woosal1337, embedded images are just elements in the html of the message, they aren't actually included in the email, so you can manually parse the HTML in order to get their source URLs. Here is one example of how to do that using BeautifulSoup.
from bs4 import BeautifulSoup

msg = # your message containing embedded images retrieved using simplegmail

# Parse the HTML of the message
soup = BeautifulSoup(msg.html, 'html.parser')

# Find all img tags
imgs = soup.find_all('img')

# Get all the source URLs
urls = [img['src'] for img in imgs]

If you want to download and save these images, you can use requests:
import requests

for url in urls:
    res = requests.get(url)
    filename = # whatever you want to save the images as
    open(filename, 'wb').write(res.content)

This stackoverflow post can help you if you want more info.

@woosal1337, embedded images are just elements in the html of the message, they aren't actually included in the email, so you can manually parse the HTML in order to get their source URLs. Here is one example of how to do that using BeautifulSoup.
from bs4 import BeautifulSoup

msg = # your message containing embedded images retrieved using simplegmail

# Parse the HTML of the message
soup = BeautifulSoup(msg.html, 'html.parser')

# Find all img tags
imgs = soup.find_all('img')

# Get all the source URLs
urls = [img['src'] for img in imgs]

If you want to download and save these images, you can use requests:
import requests

for url in urls:
    res = requests.get(url)
    filename = # whatever you want to save the images as
    open(filename, 'wb').write(res.content)

This stackoverflow post can help you if you want more info.

Just to clarify: this kind of feature is beyond the scope of what I believe belongs in the package (because users should handle html parsing of their own emails), but I will add a section to the Wiki with an example like this for others who want to do the same.

Just to clarify: this kind of feature is beyond the scope of what I believe belongs in the package (because users should handle html parsing of their own emails), but I will add a section to the Wiki with an example like this for others who want to do the same.

Great, glad to hear that, Jeremy.

Great, glad to hear that, Jeremy.


Do everything to make creating a wrapper easy

Some ideas:

[ ] Expose event callbacks (e.g. a match clicked event, see #7)
[ ] Expose properties
[ ] Support diff-ing data to partially render matches

See this article from Digital Ocean.

Creating an other project with React could be cool too. We could then use https://reactjs.org/docs/react-dom-server.html to do server-side rendering.

Related : #65


remove capacity-trend card

remove capacity-trend card from the maincards list

/cherry-pick release-4.16

/cherry-pick release-4.16-compatibility

/cherrypick release-4.16

/cherrypick release-4.16-compatibility


Workflow for testing integration between ODIM's services and Device Manager.

Created Github actions workflow for testing successful integration between ODIM's services and Device Manager.

Wrong target branch - please choose main as a target.


validation fails on GP2 volume types

it seems that AWS has changed the way their cloudformation validation occurs. when validate is ran, this error occurs during the dry-run if you're using disk type = gp2. after commenting this out in and compiling a binary myself I was able to pass validation: cluster.go line 203
$ kube-aws validate --s3-uri=s3://mybucket
Validating UserData and stack template...
Error: failed to validate node pool #0: create volume dry-run request failed: InvalidParameterCombination: The parameter iops is not supported for gp2 volumes.
    status code: 400, request id: 3fd939ea-f4aa-40a1-b26e-de9bc77e632b

@shraykay Thanks for the concise report!
Your fix does seem to meet the body!
If I couId ask for more, I appreciate it if you could submit a PR for that, with probably setting Iops before validation when and only when c.RootVolume.IOPS != 0.

We ran into the same issue ourselves.  I was about to reproduce independently.

@shraykay I was going to submit a PR, but if you're already a contributor you can probably get it done faster.  Ping me if you plan on doing this in the near future, otherwise I'll give it a shot.  Can @mumoshu  or @shraykay point me where a test for this ought to go?  (the code is simple but I'm out of practice with Go and don't know what the current testing layout best practices are)

package main

import (
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/service/ec2"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"fmt"
)

func main() {
	awsConfig := aws.NewConfig().
		WithRegion("us-east-1").
		WithCredentialsChainVerboseErrors(true)

	awsConfig = awsConfig.WithLogLevel(aws.LogDebug)

	awsSession := session.New(awsConfig)

	ec2Svc := ec2.New(awsSession)
	az := "us-east-1a"
	workerRootVolume := ec2.CreateVolumeInput{
		DryRun:           aws.Bool(true),
		AvailabilityZone: &az,
		Iops:             aws.Int64(0),
		Size:             aws.Int64(50),
		VolumeType:       aws.String("gp2"),
	}

	if ignore, err := ec2Svc.CreateVolume(&workerRootVolume); err != nil {
		operr, ok := err.(awserr.Error)

		if !ok || (ok && operr.Code() != "DryRunOperation") {
			fmt.Print(fmt.Errorf("create volume dry-run request failed: %v", err))
		}

		print(ignore)
	}

}

results in output:
2018/03/06 18:05:10 DEBUG: Request ec2/CreateVolume Details:
---[ REQUEST POST-SIGN ]-----------------------------
POST / HTTP/1.1
Host: ec2.us-east-1.amazonaws.com
User-Agent: aws-sdk-go/1.13.9 (go1.8.3; darwin; amd64)
Content-Length: 108
Authorization: AWS4-HMAC-SHA256 Credential=redacted/us-east-1/ec2/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature=f38c5b5443cfd201273bf0a7fb32fe7a2091456c91b6c6e1e31f603bcf57fb49
Content-Type: application/x-www-form-urlencoded; charset=utf-8
X-Amz-Date: 20180307T020510Z
Accept-Encoding: gzip

-----------------------------------------------------
2018/03/06 18:05:11 DEBUG: Response ec2/CreateVolume Details:
---[ RESPONSE ]--------------------------------------
HTTP/1.1 400 Bad Request
Connection: close
Transfer-Encoding: chunked
Date: Wed, 07 Mar 2018 02:05:10 GMT
Server: AmazonEC2

-----------------------------------------------------
create volume dry-run request failed: InvalidParameterCombination: The parameter iops is not supported for gp2 volumes.
0xc42007c980	status code: 400, request id: 6f3f5123-65fb-4203-8d8f-d55601591e1f
Process finished with exit code 0

don't set it to 0, just comment out the entire line for the iops

Note that commenting out the entire line is not preferable, as it throws away the useful validation when the volume type is io1, hence my previous comment 😄

I appreciate it if you could submit a PR for that, with probably setting Iops before validation when and only when c.RootVolume.IOPS != 0.

That makes sense, I'm just validating something with the AWS api before dropping a PR.
Thanks!

@luck02 Thanks for your support!
Tests should go into core/controlplane/cluster/cluster_test.go and core/nodepool/cluster/cluster_test.go

Just as an amusing point of reference:  	fmt.Println(aws.Int64Value(nil)) == 0 🤣
So the test needs tweaking, ahh well.  that was confusing for awhile.

PR here: https://github.com/kubernetes-incubator/kube-aws/pull/1171
tests pass locally but I didn't run e2e, I'm assuming the build infra does that?

Is there an ETA for this fix? I am not able to deploy my cluster using gp2 disks due to this, and io1 can incur unnecessary costs.

@zachrattner i believe this was merged into master in #1171

Thanks @shraykay I see the latest release was back in December (https://github.com/kubernetes-incubator/kube-aws/releases) and this fix was within the last month.
The readme mentions that master might not be stable and we should pull from release branches if we need a stable build. Where should I pull from to get a stable codebase with the fix?

master is stable IMO, and works with kubernetes 1.9 as well. if you are especially worried you can cherry pick the commit into a release and compile it.

Is this broken again?  last I checked AWS rolled back this change.  We may not have noticed as we started using a locally baked kube-aws binary that had this baked in.
Let us know as we'll ping our AWS Technical Account Managers @zachrattner, also good to know for general knowledge.

@luck02 Yes, I'm seeing this issue on v0.9.9. Keep me posted! I'll try cherry picking the fix on top of the 0.9.9 release in the meantime

For anyone else running into this issue with the same problem of not having a stable build with the fix present, I can confirm the deployment with gp2 disks worked after doing the following steps:

export GOPATH=$HOME/go
Clone the v0.9.9 release source code:

git clone --branch v0.9.9 https://github.com/kubernetes-incubator/kube-aws.git $GOPATH/src/github.com/kubernetes-incubator/kube-aws

Cherry-pick the gp2 fix commit (https://github.com/kubernetes-incubator/kube-aws/commit/5e15ac9059a95c051600c378cec204621c3a722f):

git cherry-pick 5e15ac9059a95c051600c378cec204621c3a722f

Compile the changes: make build

Use kube-aws in the bin/ folder.

Helpful background info: https://kubernetes-incubator.github.io/kube-aws/guides/developer-guide.html


Audit policy could benefit from having model id stored

I know the model id is stored in the body field of the request log but it might be beneficial to store it as an attribute too just to make it easier to retrieve log information for a particular model as I'm not sure there an easy way to query a nested attribute.

It already exists as req.model :)

Sorry could you expand on what you mean as I'm not familiar with the use of req.model


"Declared by" link to line number of corresponding mkOption statement directly

This is a great tool! Many thanks for that!
I had an improvement idea. With large Nix declaration files, it would be useful if the "declared by" link would link directly to the option you're currently viewing, as opposed to the declaration file in general.
Example, in the case of this entry:

Link to
https://github.com/nix-community/home-manager/blob/master/modules/misc/gtk.nix#L164

and not to
https://github.com/nix-community/home-manager/blob/master/modules/misc/gtk.nix

Yes, nice improvement indeed. I don't know if this extra paragraph info is available. Will have a look when I have time.


DRAFT/WIP: gstreamer postprocessor support

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[ ] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[ ] Searched the bugtracker for similar pull requests
[ ] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[X ] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[ ] New extractor
[X] New feature

Description of your pull request and other information
A draft pull request for the addition of gstreamer framework.
Gstreamer comes by default on many distros while ffmpeg doesn't so it would be nice addition.
Lots of work to do in terms of refactoring and cleanliness,, but the initial draft should be a proof of concept and for testing.

Keeping everything working with just ffmpeg is already hard enough. Unless you are willing to maintain this code long term, I don't want to merge it - especially if the only advantage is that it comes pre-installed in some distros
I see you have only implemented only the merger. Are you planning to add the other PPs as well? is it even possible with gstreamer?

Oh, it is? I don't want to bother you then. I think that if there's already ffmpeg, effort should be put on that more, especially knowing that ffmpeg is more stable than gstreamer.
I personally am experimenting with gstreamer for my usage, and i will be using yt-dlp for the foreseeable future in a production environment, but if you don't want to maintain it i can keep the gst support in my private fork while upstreaming all of my other changes and features.  I think that's the best option, at least for now, so I'm closing this issue.
As for if most of the postprocessors should be possible, i think they should be. Merger is what i am using the most at the moment however.


cardano-db-sync does not log output after start about inserting data

I followed the steps from building and running document for db-sync and the last line of output is:

[db-sync-node:Info:1] [2020-03-03 15:36:41.01 UTC] localInitiatorNetworkApplication: connecting to node via "../cardano-node/state-node-staging/state-node-staging/node.socket"

There is no information about inserting data blocks anymore as it used to be for explorer - it this an expected behavior now ?
$ PGPASSFILE=config/pgpass db-sync-node/bin/cardano-db-sync --config config/explorer-staging-config.yaml --genesis-file ../cardano-node/configuration/mainnet-genesis-dryrun-with-stakeholders.json --socket-path ../cardano-node/state-node-staging/state-node-staging/node.socket --schema-dir schema/
[db-sync-node:Info:1] [2020-03-03 15:36:31.50 UTC] NetworkMagic: RequiresNoMagic 633343913
[db-sync-node:Info:1] [2020-03-03 15:36:41.00 UTC] Initial genesis distribution populated. Hash c6a004d3d178f600cd8caa10abbebe1549bef878f0665aea2903472d5abf7323
[db-sync-node:Info:1] [2020-03-03 15:36:41.01 UTC] Total genesis supply of Ada:<PHONE_NUMBER>1.000000
[db-sync-node:Info:1] [2020-03-03 15:36:41.01 UTC] localInitiatorNetworkApplication: connecting to node via "../cardano-node/state-node-staging/state-node-staging/node.socket"

This is not db-sync. I had just tried mine and it logs just fine.
I suspect either your node or your byron proxy is not syncing and therefore not supplying blocks for db-sync.


no-duplicate-imports: Allow duplicate imports from separate ambient module declarations

PR checklist

[X] Addresses an existing issue: Microsoft/dtslint/issues/79
[X] New feature, bugfix, or enhancement

[X] Includes tests

[ ] Documentation update

Overview of change:
Allows two ambient modules to have separate imports:
declare module "a" {
    import foo from "foo";
}
declare module "b" {
    import foo from "foo";
}

Preserves existing behavior for module augmentations.
@ajafff It would be nice to reuse more code from findImports in tsutils but it doesn't seem possible given that it currently takes the whole source file as input, so I can't run it on a single declare module.
CHANGELOG.md entry:
[bugfix] no-duplicate-imports: Allow duplicate imports from separate ambient module declarations

thanks @andy-ms

@ajafff Could you make a release with these changes?

@mxl I could prepare a release PR, but I cannot do the actual release.
In addition there are other PRs that should be included in the next release. Seems like we just need to wait :confused:


Add form components

Example usage markup:
<form>
  <label class="tbds-form-label">
    Slug
  </label>

  <input class="tbds-form-text-input" type="text">

  <label class="tbds-form-label">
    Description
  </label>

  <textarea class="tbds-form-text-input"></textarea>
</form>

 Forms

@wardpenney Running lerna bootstrap resulted in no change. I think this makes sense, because this is simply adding a new package. It only depends on an already published package (tbds-support) and no other packages depend on this new package.


(PUP-6397) mount remove autorequire and fix autobefore

Removes the mount autorequire on mountpoint file resources to avoid circular dependencies. Future new feature will resolve the File[mountpoint] --> Mount[dir] --> File[permissions] issue that people currently hack around with an exec.
Tightens the regexp on the mount autobefore on nested file resources to ensure only correct file resources are captured. Adds a test to ensure false autobefores are not being captured.

CLA signed by all contributors.

\o/ Thanks for the effort on this. Looks right to me. This will go out in the next puppet-agent 1.6.z release!


feat: add boost context, random

as title
need skip url stability check

Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (boost.context, boost.random) have been updated in this PR. Please review the changes.


Fail to run the experiments with proper visualization

Hi, thank you for open-source the great work.
I'm now having some troubles with running the original program with oroginal command in README.md. The program is running with a WARNING:
2022-09-06 19:57:24.707921  | dqn_pong_0 itr #59999 Evaluation runs complete.
2022-09-06 19:57:24.708075  | dqn_pong_0 itr #59999 WARNING: had no complete trajectories in eval.

And the visualization of normalized game score is not shown (except ofr the first round).
I basically follow the guidance of wandb and maybe there's something wrong with the logging.

Any idea about the case?

Seems like it is about only final eval option:smile:


Show onPageNav on mobile devices

Is this a bug report?
No

Have you read the Contributing Guidelines on issues?
Yes
Environment

Steps to Reproduce

Expected Behavior
The problem is, that when you are opening docs from mobile device it is very hard to navigate the document, because there is no ToC navigation at all.
I would like to suggest adding a control to toggle onPageNav in a way, which is already done for sidebar nav. We could place another icon in the .docsNavContainer  (on the right side), which will expand current page ToC, when pressed.
I can implement this feature, but I need to know, that this feature will be accepted, so that my time won't be wasted.

Yes, it would a nice addition. Feel free to submit a PR for it.

@SleepWalker are you going to work on this ?

Yep, but I'm really busy this week :(

I'll label it as claimed & check back on you next week, Would that be okay for you ?

@SleepWalker I'll label it as claimed & check back with you next week, Would that be okay for you ? You can let me know if you have preferred timeline

@endiliey that's okay

@endiliey Here are some updates from me:
ToC Hidden

ToC Shown

Next steps

What do you think about an icon? Is it ok? If so, I can improve the 'close' state and draw the 'x' sign from dots, instead of '/'

I want to add ToC for tablets too. But there is no place for icons (like it was in .navBreadcrumb on mobile layout). What do you think about adding a sticky 'dock toggle button' like in atom?

We can show ToC (onPageNav) and dock toggler on the left side by default on tablets. When you are clicking on left dock toggler, we will show sidebar (nav) and another one dock toggler on the right side, so that only one nav (sidebar nav or onPageNav) will be active at the same time.
There is also an alternative solution to use something like tabs, that will switch between ToC and nav

@sleepwalker Wow, nice work.
The icon looks great to me, i am not an UI expert so I'll leave it to the expert @yangshun.
Do you have a mockup for 2nd?
I think it will be great to send a PR so we can play around with it & give feedback.
Anyway, thank you for the amazing work 😄

For tablets I've decided to show onPageNav by default, but hide sideNav and leave the top bar with breadcrumbs from mobile:

I'll submit PR soon


Update use-your-data.md

added a few changes to highlight web app customization and the usage of system message, according to recent customer feedback.

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

#sign-off


A vecxz not verticial to x axis for ElasticBeamColumn3D?

The example for ElasticBeamColumn3D Element Class:
import o3seespy as o3
osi = o3.OpenSeesInstance(ndm=3)
coords = [[0, 0, 0], [1, 0, 0]]
ele_nodes = [o3.node.Node(osi, *coords[x]) for x in range(2)]
#transf = o3.geom_transf.Linear3D(osi, [])
transf = o3.geom_transf.Linear3D(osi, vecxz=[1.0, 1.0, 0.0], d_i=[1.0, 1.0, 0.0], d_j=[1.0, 1.0, 0.5])
o3.element.ElasticBeamColumn3D(osi, ele_nodes=ele_nodes, area=1.0, e_mod=1.0, g_mod=1.0, jxx=1.0, iy=1.0, iz=1.0, transf=transf, mass=1.0)

For coords = [[0, 0, 0], [1, 0, 0]], x-axis should be [1, 0, 0], but vecxz = [1.0, 1.0, 0.0], and their product is 1, not 0 for vertical, x, y, z axis should be orthogonal. So I think the example updated is still not correct.
Thank you and expect for your reply!

Can you please tell me how to update it  - thanks!


support binary format of integers, e.g. 0b00101

implements feature https://github.com/chyh1990/yaml-rust/issues/113

According to the spec, https://yaml.org/type/int.html
Integer can also contain separator _. Maybe we should also support this feature later.


Issue converting AddmmBackward

Hi! I am running your code with python pytorch2caffe.py and I have the following issue:
converting AvgPool2dBackward189
converting ViewBackward190
converting AddmmBackward190
Traceback (most recent call last):
  File "pytorch2caffe.py", line 234, in <module>
    pytorch2caffe(input_var, output_var, 'resnet50-pytorch2caffe.prototxt', 'resnet50-pytorch2caffe.caffemod
el')
  File "pytorch2caffe.py", line 76, in pytorch2caffe
    convert_layer(output_var.grad_fn)
  File "pytorch2caffe.py", line 74, in convert_layer
    save_fc2caffe(weights, biases, params[parent_name])
  File "pytorch2caffe.py", line 87, in save_fc2caffe
    fc_param[0].data[...] = weights.numpy()
ValueError: could not broadcast input array from shape (1000,2048) into shape (1000,8192)

Very good question. This due to the different pooling operation between pytorch and caffe. Just replace the ceil function to floor in pooling layer will fix the problem.
https://github.com/BVLC/caffe/blob/master/src/caffe/layers/pooling_layer.cpp#L90-L92

I have tried increasing kernel size to 8 manually in pytorch model before conversion. This didn't change anything, though, if you look at those lines, the new output size shout then change from 2 to 1...

why increase kernel size？I am confused about your problem.

@marvis  Hi, I meet the same problem but i modified the input image size from 1 3 224 224 to 1 3 200 200, then it produced caffemodel and prototxt file successfully, does my solution may create bugs?

@BowieHsu This is a clever solution to solve the size problem. The converted weights are quite ok I think, but when you use the converted model in caffe, the size is still a problem.


KAFKA-9025: ZkSecurityMigrator not working with zookeeper chroot

https://issues.apache.org/jira/browse/KAFKA-9025
If a chroot is configured, ZkSecurityMigrator should prompt a confirm to user to ensure whether chroot is specified correctly.
More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@guozhangwang Please review this patch. Thanks.

retest this please

retest this please

@hachikuji Please review this patch. Thanks.

retest this please.

retest this please.

@huxihx Could you rebase, so that @omkreddy could take another look and possibly merge?


Downgrade RAG to 1.28; bump GMP resource creation delay; increase Ray worker creation timeout

We are still seeing flakiness.
Pip installs are experiencing intermittent failures. Downgrading to 1.28 to rule out possibility of k8s or GKE regressions.
For the GMP operator, one explanation is that there are multiple system pods all starting up simultaneously and competing for resources, delaying gmp-operator startup. Bumping this to 60s to rule out this issue entirely. This shouldn't affect E2E creation, because the long tail is still CloudSQL instance creation.
Context: https://github.com/GoogleCloudPlatform/ai-on-gke/pull/418
Additionally, increase the Ray worker timeout to 1200s (from 300s). Although, for some reason the kuberay-cluster helm chart release is not waiting for all resources to be ready:
...
module.kuberay-cluster.helm_release.ray-cluster: Creation complete after 2s
...
error: timed out waiting for the condition on pods/ray-cluster-kuberay-worker-workergroup-8ljp7
...

It can't possibly be provisioning a GPU node for the worker in 2 seconds. Adding an explicit wait to rule out a defaulting issue.
This is an open issue since 2021: https://github.com/hashicorp/terraform-provider-helm/issues/672

/gcbrun

/lgtm

/gcbrun

/gcbrun

FYI just happened on a recent PR https://github.com/GoogleCloudPlatform/ai-on-gke/pull/468/checks?check_run_id=23176469102

Standard configuration returned error:
Error: Provider produced inconsistent result after apply

When applying changes to
module.kuberay-operator.module.kuberay-workload-identity.google_service_account.cluster_service_account[0],
provider "provider[\"registry.terraform.io/hashicorp/google\"]" produced an
unexpected new value: Root resource was present, but now absent.

This appears to be a provider error, likely transient. This PR did not modify the google provider.

/gcbrun


[DOCS] Add note that PoolByteArray is passed by value

This should be mentioned to avoid confusion, as it is not passed by reference like a normal array type. This confused me and was not mentioned in the docs. I had to go into the #godotengine-devel IRC to learn this fact.

Thank you for your first contribution! :tada:

Note that this is the case for all built-in types besides Arrays and Dictionaries, as far as I know.
They are all pass-by-value, not pass-by-reference. This means this applies to the following PoolArrays:
PoolByteArray
PoolIntArray
PoolRealArray
PoolStringArray
PoolVector2Array
PoolVector3Array
PoolColorArray
(See also: this issue, where this is mentioned in more detail, although it is about a bug)
So I have the following suggestions:

Shorten the description to "Note that this type is passed by value and not by reference." - the other stuff is IMO irrelevant implementaiton detail.
Apply the same description to the other PoolArray types

Would you be willing to do that and ammend the commit?

Just as an implementation note: technically they are passed as references, but they use copy-on-write, so if one array has multiple references and one of them writes then a copy will be created, so all the other references to it will point to the old data which is unchanged.
Not sure if that is any useful here, just thought I'd put it here

@karroffel Thats good to know, not sure if it is necessary to document here? Not sure, your call. Otherwise I'd merge this as is. :)

Added some info about this to the docs as well: https://github.com/godotengine/godot-docs/pull/1386

@mhilbrunner well as far as the user is concerned it doesn't really change anything, like I said, it's an implementation detail, so feel free to merge (but maybe a hint or something could be cool for people more eager to learn about internals)

Cherry picked into 3.0.3

Can this be reverted for 4.0? https://github.com/godotengine/godot/issues/8409#issuecomment-604906956


test: Fix tests running in Node 6.0

Symbol.toStringTag is an available read only property in Node 6. The tests overwrite the property
and as such were failing in Node 6.0. This fixes the tests so that they don't assign on Symbol
if the property already exists.
It also alters the tests to use Symbol.toStringTag proper, rather than the sham string - so that
when toStringTag actually exists, it is actually used rather than the sham; allowing tests to pass
in environments which support toStringTag for real.
@lucasfcosta @davelosert if you could please check this over and merge when happy 😄

Coverage remained the same at 100.0% when pulling c1bb90b9cd7122b2e3ac1ac92229c2c63475a3d2 on keithamus:fix-node-6 into 42cd787e9ff02b61ee3b0af1281bee5115c7af02 on chaijs:master.

The whole logic looks correct to me, it really fixes what you've described.
However, I've tried to find more about __@@toStringTag__ and I couldn't find info on it, would you mind giving me any links to check on it?

__@@toStringTag__ was just a hacky way to sham the behaviour of Symbol.toStringTag, it has no bearing in the real world.

@keithamus ah, makes total sense, I should've read the whole code, sorry for that
Anyway, good job, Keith!
@davelosert can merge as soon as he wants to :smile:

@lucasfcosta @keithamus : Sorry for the delayed response - there is lots on my desk right now.
This looks very good for me - thanks for the fix @keithamus.
The lgtm is still pending though - should I merge this manually anyways?

I think because @lucasfcosta didn't actually say LGTM it is still pending 😉

And now its not, because I said LGTM 😆

@keithamus : Perfect and thanks! :smile:

Oh sorry, I totally forgot about LGTM
Great work guys :+1:


Add py3.6, 3.8, 3.9, Docker support to PrivacyRaven

These changes should address #52 and allow PrivacyRaven to be used on Google Colab.

Everything looks good!

Everything looks good!


[Fix #2066] Dont register offenses inside instance_eval context

After thinking a bit more about this issue, the problem is not as simple. We should really consider what's the receiver for the instance_eval, as if it were a class using attr_ is perfectly valid. On the other hand - if it's a module we're kind of fucked. I'm not sure there's a way to fix this in a manner that's 100% reliable.

@bbatsov good point, Checking type of an object in Ruby is not simple in general. However, even if we can't find a reliable solution for this, I think we still need not to auto correct readers and writers inside instance_eval because it's likely to break the code. Maybe we need a config for this autocorrection?

I'm not sure there's a way to fix this in a manner that's 100% reliable.

If not, it's better not to warn at all except for the cases where you can be sure.
This PR should be accepted -- but it would be better if @tranvictor could make the detection of "instance_eval context" a bit more robust. Such as by recursing up past begin nodes when looking for (block (send :instance_eval ...) ...).

I close it, as it hasn't been updated in a while.


Bring Provider stdout/stderr files back

When running with any remote channels, we do not bring the stdout/stderr we request from the scheduler back to the Parsl client side. Debugging remote-side execution can be really hard when the logs are scattered.

Or support streaming of stdout/err. This would be useful for development/testing. E.g.,
@bash_app def run_process(job_dir, job_script, stdout=sys.stdout, stderr=sys.stderr):     return f"cd {job_dir} && bash {job_script}

Note this is related to #361 and #363, and depends on #219.

pleases see issue #3515 about removing channels from Parsl


Certificate expired for https://hub.helm.sh

Subject: hub.helm.sh
Issuer: Let's Encrypt Authority X3
Expires on: Oct 26, 2019
Current date: Oct 26, 2019
PEM encoded chain:
-----BEGIN CERTIFICATE-----
.
.
.
Site's down

Thanks, we will check that!

Looks like it's back up.


Predictions in unseen data using TimesNet

Hello! Thank you for the great work! I would like to ask some information on the following: How can i use a pre-trained TimesNet model to make predictions on future unseen data?

Hi, you can write a predict function following the code in Autoformer: https://github.com/thuml/Autoformer/blob/main/exp/exp_main.py#L241


Fix for importing

Relative imports like this won't work in other build systems.  Also minor updates to READMEs

LGTM (but not to CI)