Convert should fail when Chromium throws a err::ERR_CONNECTION_REFUSED

As the title suggest, I think Gotenberg should return a 404 or similar when Chromium throws a err::ERR_CONNECTION_REFUSED here is an example :
gotenberg-1  | {"level":"debug","ts":1719471864.3495355,"logger":"chromium.browser","msg":"<- {\"method\":\"Network.loadingFailed\",\"params\":{\"requestId\":\"7458B3B7335C136ABA12568DEFD5A756\",\"timestamp\":141894.928028,\"type\":\"Document\",\"errorText\":\"net::ERR_CONNECTION_REFUSED\",\"canceled\":false},\"sessionId\":\"EB1CF54DB4678427B493F65D718BCE0D\"}"}

To reproduce : I simply set URL not accessible by Gotenberg.

Hello @Neirda24,
I wonder if it happens too if a resource (CSS whatever) is not reachable.

No idea to be honest but probably yes. I think if it concern the page itself it should return a 404. If it concern one of the asset.... Either a failure (like 400) or a way to configure : ignore (per asset or per page). WDYT ?

Ok I just tried with a reference to a CSS file which is not found (using the URL route) and no errors in debug logs. If we could at least get this kind of errors through headers it would allow to have specific error handling on client side.

Thanks for the details! 👍

Fixed in https://github.com/gotenberg/gotenberg/commit/f87362ec1b05b9af134ea94a3ecb321fed423c3d.
It will now return a 400 Bad Request on net::ERR_CONNECTION_REFUSED. I'm not a fan of 404 Not Found, as it means that the resource was not found while actually it's just the server that refused the connection 😄
gotenberg/gotenberg:edge should be update within ~1 hour with this feature.

Thank you. What about resources not found ? Like css files and such ? Do we have some kind of feedback ?

Not currently 🤔 I'm not sure which event to catch for such a scenario. If it's the same as net::ERR_CONNECTION_REFUSED, there are not that much details for the end user (like the actual resource).
On a side not, it feels like a rabbit hole of possibilities regarding the list of errors: https://source.chromium.org/chromium/chromium/src/+/main:net/base/net_error_list.h
I prefer to stick to common "errors" in order to avoid implementing everything.


gitbook editor 6.3.0  dis-fluency when using Chinese input method，window 10 and window 7 both involved.

gitbook editor 6.3.0
gitbook editor 6.3.0  dis-fluency when using Chinese input method，window 10 and window 7 both involved.
Thanks for your great Job

Thanks, It seems to be a duplicate of #232
Closing this one.

good job, thanks. it seems ok in version 6.3.7


Non-erroring constructor for PolicyId

Category
User level API changes
Describe the feature you'd like to request
The PolicyId struct is currently only constructed Using PolicyId::from_str. This function returns a Result, but our documentation states that it "currently always returns Ok()." This encourages calling unwrap() on our Results, which in many other cases will result in a panic. I think we should commit to this API and make this from_str Infallible. Changing the error type would be breaking change, so we should also release a PolicyId::new(String) constructor in a minor version.
I don't recall ever considering a design where we might limit valid PolicyId strings, and adding a restriction at this point would be serious braking change.  If we later decide that it should error, we can make the constructors error again as a breaking change in a major version, but making a valid PolicyId an error should  already be treated as a breaking change. Being forced to change the function call would make it more obvious that a change occurred.
Describe alternatives you've considered
.
Additional context
No response
Is this something that you'd be interested in working on?

[ ] 👋 I may be able to implement this feature request
[ ] ⚠ This feature might incur a breaking change

+1 to this issue.  I think we should keep the FromStr implementation but have the error type be Infallible; there's precedent in #372 for Eids.
If we make a separate PolicyId::new(), we could have it take Into<SmolStr> instead of String -- a small generalization that could probably enable more efficiency if the caller has &str (avoiding creating a String just to copy it into a SmolStr).  Alternately we could just take &str, which would always copy, and lose efficiency only if the caller has exactly a SmolStr (I think)

Alternately, #553 suggests taking AsRef<str> which would also be fine, having performance characteristics similar to taking &str I think, but potentially more ergonomic.  Regardless, we should do something consistent between this issue and #553


Unknown type name 'RCTCallableJSModules'

Steps to reproduce the behavior:
I have followed the steps in order to install react-native-health (yarn add, pod install, update info.plist, add Healthkit support to my application's Capabilities)
I have "react-native-health": "^1.18.0"
When running my application from xcode I get a type error with RCTCallableJSModules

Hey Gava, thanks for you reply
I have try this but it's still not working. I couldn't find any reason for this issue to happen..

Did you find out what happened? @Oodebalan

ww

RCTCallableJSModules API for NativeModules was introduced in React Native version 0.66.0. Thus, to address this issue, it's necessary to upgrade your app to version 0.66 or later.


gradle problem resource name wrong

barlength has been already defined

This is one of the most unspecific issues I've ever had reported. This isn't a problem with my library.
Your app is probably using a different version of AppCompat (older) than what this library uses.
http://stackoverflow.com/questions/32441420/attribute-barlength-has-already-been-defined

please read all discution, especially comment number 3 and up
https://code.google.com/p/android/issues/detail?id=22576

please read all discution, especially comment number 3 and up
https://code.google.com/p/android/issues/detail?id=22576
2015-11-23 17:34 GMT-03:00 Aidan Follestad<EMAIL_ADDRESS>
This is one of the most unspecific issues I've ever had reported. This
isn't a problem with my library.
Your app is probably using a different version of AppCompat (older) than
what this library uses.
http://stackoverflow.com/questions/32441420/attribute-barlength-has-already-been-defined
—
Reply to this email directly or view it on GitHub
https://github.com/afollestad/material-dialogs/issues/841#issuecomment-159056341
.

That doesn't apply, this library prefixes all attributes. None of them are remotely close to barlength.
It has to be something else in your app, like mismatched library versions.


10/5/22 Shadow Priest changes

Main Changes

[x] talents moved around
[x] dark void no longer hasted
[x] shadow crash no longer hasted
[x] mind blast insanity and damage nerfed
[x] mind spike insanity and damage nerfed
[x] auspicious spirits insanity nerfed
[x] vampiric touch insanity nerfed
[x] shadow word: pain insanity nerfed
[x] mind flay: insanity insanity nerfed
[x] idol of c'thun insanity nerfed and in AoE no longer generates insanity per target
[x] mind flay insanity generation nerfed
[x] mindbender insanity generation nerfed
[x] hallucinations insanity nerfed
[x] dark void insanity nerfed targets increased to 16
[x] echoing void damage nerfed
[x] idol of yogg-saron is now 100 apparitions and giga buffed
[x] surge of darkness dmg increase buffed
[x] mind sear damage buffed
[x] devouring plague damage buffed
[x] void bolt damage increased
[x] coalescing shadows nerfed
[x] mind melt nerfed
[x] check maddening touch

Other Changes

[x] t29 2-piece moved to spelldata
[x] t29 4-piece moved to spelldata
[x] Yogg-Saron stacks now have a buff duration
[ ] inescapable torment data changed
[x] Puppet Master effect 1 trigger data changed?
[ ] Check value of Shadowfiend insanity/melee dmg compared to simc
[x] Check value of Mindbender melee dmg compared to simc
[x] check rank 1 maddening touch insanity gain value in-game/simc

Noticed Idol of C'thun data was off, new spells:

Void Lasher Mind Sear: 394976 (cast) -> 394979 (tick)
Insanity seems to be stored in 377358 now, hard to tell since both tendrils give 2 insanity per tick

fixes the remainder checks https://github.com/simulationcraft/simc/pull/6809


fix: issue where cli include was being honored

:tada: This PR is included in version 3.0.0-beta.13 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Adding files/path to gitignore

Added files/path into gitignore, based on reactjs/react-redux

This seems unnecessary. .DS_Store is ignored by default, and there are no dist, lib or coverage folders. Usually it's bad practice to have non-existent directories in your .gitignore, so I'm opposed to this.

@andrewda Didn't know about the practice. Is nice learning each day! Thanks for the commentary.


multi ann_file

I have different ann_file , how can I train them in a config?

See here for examples.

thank you！


Do not hide markdown cells when it's out of viewport

Right now the visibility of markdown cells are set to hidden when it's scrolled out of the viewport. Maybe we can just keep it as is if it's not folded or deleted, otherwise when we are scrolling fast, we can see some blank markdown cells as they are hidden and the requests to change them to visible are not applied yet

I believe this is already happening. We only hide the previews now when you fold cells


Content-Disposition does not need to be the first entry

As the title states multipart/form-data does not specify that Content-Disposition needs to be the first field in a request. The optional Content-Type might also be the first one.
Relevant Sections of the RFC:
https://tools.ietf.org/html/rfc2388#section-3
https://tools.ietf.org/html/rfc2388#section-5.5
multipart's inability to handle such requests recently caused brackage in one of my projects:
https://github.com/MPIB/hazel/issues/5
As a result of one of the primary clients changing its default order:
https://github.com/NuGet/Home/issues/2661
multipart is an indirect dependency via https://github.com/iron/params in my project and although I am using a currently outdated version (0.7), I do not think this issue can be resolved by updating my dependencies after looking at your source code:
https://docs.rs/multipart/0.8.0/src/multipart/.cargo/registry/src/github.com-1ecc6299db9ec823/multipart-0.8.0/src/server/mod.rs.html#427

@Drakulix Please clone the httparse branch and override the dependency in your Cargo configuration to see if it's fixed. This branch should not depend on the ordering of the headers anymore. It may throw an error if there are more than 4 headers per field, however. If you know how many different headers can appear, I can adjust that number.

Thank you very much for that really quick fix.
I will try this out most likely today, altough I might have to update some dependencies to be compatible with multipart 0.9 (currently on 0.7).
Four headers should be far more then required, I will open a seperate issue for this, if it ever becomes a problem.

Alright so I did an override I now if the order is reversed (old client still works), it loops over and over without finishing parsing, so I had to kill the server eventually.
Here is the end of the log, it really is all the same.
16:29:25 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false
16:29:25 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:101] - Returning buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf"
16:29:25 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
16:29:25 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false
16:29:25 [DEBUG] multipart::server::boundary: maybe_boundary: Some(0)
16:29:25 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false
16:29:25 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:101] - Returning buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf"
16:29:25 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
16:29:25 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false
16:29:25 [DEBUG] multipart::server::boundary: maybe_boundary: Some(0)
16:29:25 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false
16:29:25 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:101] - Returning buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf"
16:29:25 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
16:29:25 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false
16:29:25 [DEBUG] multipart::server::boundary: maybe_boundary: Some(0)
16:29:25 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false

The problem now is that the values of name and filename aren't quoted, which isn't what I expected. I can fix this but I would consider the Nuget client barely compliant here, it's doing some weird things.

RFC 7578, section 4.2 continued on page 5:

NOTE: The encoding method described in [RFC5987], which would add a
"filename*" parameter to the Content-Disposition header field, MUST
NOT be used.

That key is easy enough to ignore though. Not quoting the other parameter value strings I would consider to be non-conformant.

Do git pull on your local copy and try again please.

I am sad to tell you, that it still loops:
07:11:12 [DEBUG] multipart::server::boundary: maybe_boundary: Some(0)
07:11:12 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false
07:11:12 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:101] - Returning buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf"
07:11:12 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
07:11:12 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false
07:11:12 [DEBUG] multipart::server::boundary: maybe_boundary: Some(0)
07:11:12 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false
07:11:12 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:101] - Returning buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf"
07:11:12 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
07:11:12 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false
07:11:12 [DEBUG] multipart::server::boundary: maybe_boundary: Some(0)
07:11:12 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false
07:11:12 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:101] - Returning buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf"
07:11:12 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
07:11:12 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false

Also the nuget client does a lot of very weird stuff (not limited to the HTTP requests), so I totally understand, if you would not want to support and non-conformant client. I was just hoping, that I would not have to open an issue on nuget, because that would likely take years to get accepted, which would mean, that I would have to fork multipart to get this working for my project again in the meantime.

This may be a bug in the boundary parser cause half of the loop has a dash at the end, which is what it's looking for as the start of a boundary in the request body. It's probably not skipping hyphens correctly.

I can't really push a commit because my Internet is down, but maybe you can try this fix for me. At line 75 in src/server/boundary.rs add a + 1 to the end of that expression and see if it fixes it. Off-by-one errors are a major source of bugs in this crate.

Are you sure that you mean line 75? That one only contains a break:
https://github.com/abonander/multipart/blob/master/src/server/boundary.rs#L75

That's master, not the httparse branch which you should be on. Anyway, my Internet came back up so I added the fix plus a test for it. It shouldn't be looping now.

Yes that link was master, but it is actually the same line on httparse https://github.com/abonander/multipart/blob/httparse/src/server/boundary.rs#L75
anyway trying now

Yeah I meant line 71, sorry.

Still:
08:27:52 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:101] - Returning buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf"
08:27:52 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
08:27:52 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false
08:27:52 [DEBUG] multipart::server::boundary: maybe_boundary: Some(0)
08:27:52 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false
08:27:52 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:101] - Returning buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf"
08:27:52 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
08:27:52 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false
08:27:52 [DEBUG] multipart::server::boundary: maybe_boundary: Some(0)
08:27:52 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false

Do you need some test data to reproduce this yourself? Or do we want to continue like this? :smile:

Yes please, because I can't figure out what would be causing the problem at this point. Just the raw body of the problematic request will do.

Alright, this took a while as nuget is really picky until it finally sends the problematic request.
This dump should(!) be right. https://drive.google.com/open?id=0B4_MQl2ldbOzZHFqX3JqakVsM0U

@Drakulix Sorry, forgot about this for a while. I think I've got it fixed with your test file. Can you try the newest revision of the httparse branch? I've also made a test binary that makes it easier to debug when you have a request body, just try the following with your test file:
cargo run --bin test_multipart 4c396c90-ce20-4147-b8c3-95b1ec179e2e dump.bin

Alright. You are right the dump works with this test. The server still does loop however. So I guess my dump is not correct or incomplete. I have no clue how I could get a better one.
Do you have another idea, how we could test this? (This issue is annoying...)
12:57:03 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
12:57:03 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false
12:57:03 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false
12:57:03 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:106] - Returning buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf"
12:57:03 [TRACE] multipart::server::boundary: [multipart/src/server/boundary.rs:47] - Buf: "Content-Type: application/octet-stream\r\nContent-Disposition: form-data; name=package; filename=package.nupkg; filename*=utf-8\'\'package.nupkg\r\n\r\n"
12:57:03 [DEBUG] multipart::server::boundary: Before-loop Buf len: 144 Search idx: 123 Boundary read: false
12:57:03 [DEBUG] multipart::server::boundary: After-loop Buf len: 144 Search idx: 123 Boundary read: false

@Drakulix I think I may be onto the problem, here's something to try:
At src/server/boundary.rs:44, replace that line with the following:
        let buf = try!(fill_buf_min(&mut self.buf, self.search_idx + (self.boundary.len() * 2)));

And for correctness' sake, revert the change we did at line 75, so change it back to:
self.search_idx += idx;

I realized that the problem isn't appearing in my local test because the whole file is read into the buffer at once, whereas over the network, data is going to arrive in chunks. It's not properly forcing reads into the buffer, so it just spins its wheels with not enough bytes to decide whether or not it's found a boundary.

Okay now we are onto something.
It finally finishes parsing but then panics with:
thread '<unnamed>' panicked at 'index out of bounds: the len is 8192 but the index is 8192', ../src/libcollections/vec.rs:1274

Iron catches this panic, but I will try to get a full stack trace for you. It looks just like another off-by-one error.

I have an idea of where it's at but yeah, backtrace if you can please. I've had a lot of trouble with off-by-ones in this crate.

 7:     0x55e47dd50a21 - rust_begin_unwind
   8:     0x55e47dd8d3bf - core::panicking::panic_fmt::hbfc935564d134c1b
   9:     0x55e47dd8d363 - core::panicking::panic_bounds_check::h08d619adcd972898
  10:     0x55e47db77d47 - _<multipart..server..boundary..BoundaryReader<R>>::read_to_boundary::hb1edf81e8b1742a5
  11:     0x55e47db81ced - params::try_parse_multipart::h12ad7a9665e9a3df
  12:     0x55e47db7deef - _<params..Params as plugin..Plugin<iron..request..Request<'a, 'b>>>::eval::h4060d86f3de07a46
  13:     0x55e47dabe2cb - plugin::Pluggable::get_ref::h09d47ebbc937686e

Getting line number seems to be harder with iron wrapping the panic but still doable. Is this sufficient enough to track it down?

Yeah there's not too many places I index a vector there, I'll just make sure they're all properly bounds-checked.

@Drakulix I'm actually having trouble finding where an index would be out-of-bounds; are you sure you updated line 75? If that was left as-is then it could cause a bounds check failure, but other than that I really have no idea.

If self.boundary is empty then line 61 would trigger a bounds-check assertion, but that would point to a bug somewhere else. Do you want to try adding the following at src/server/mod.rs:86 between the match and the last statement of that block:
assert!(!boundary.is_empty(), "Request provided a boundary string, but it was empty!");

@Drakulix The reason you're not getting line numbers is probably because you're compiling without debug information, is that right? Are you just using cargo build --release? If so, you can add debug info back in by adding the following to your Cargo.toml:
[profile.release]
debug = true

I just checked to be sure and of course you are right and I did a release build...
thread '<unnamed>' panicked at 'index out of bounds: the len is 8192 but the index is 8192', ../src/libcollections/vec.rs:1274
stack backtrace:
   1:     0x562e84096209 - std::sys::backtrace::tracing::imp::write::h00e948915d1e4c72
   2:     0x562e8409bc1c - std::panicking::default_hook::_{{closure}}::h7b8a142818383fb8
   3:     0x562e8409ae69 - std::panicking::default_hook::h41cf296f654245d7
   4:     0x562e8409b558 - std::panicking::rust_panic_with_hook::h4cbd7ca63ce1aee9
   5:     0x562e8409b3b2 - std::panicking::begin_panic::h93672d0313d5e8e9
   6:     0x562e8409b320 - std::panicking::begin_panic_fmt::hd0daa02942245d81
   7:     0x562e8409b2a1 - rust_begin_unwind
   8:     0x562e840d7c3f - core::panicking::panic_fmt::hbfc935564d134c1b
   9:     0x562e840d7be3 - core::panicking::panic_bounds_check::h08d619adcd972898
  10:     0x562e8394704e - _<collections..vec..Vec<T> as core..ops..IndexMut<usize>>::index_mut::h969981f640494f5b
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/libcollections/vec.rs:1274
  11:     0x562e8394d497 - buf_redux::Buffer::read_from::h87dbb2a3eac00f45
                        at /work/target/.cargo/registry/src/github.com-1ecc6299db9ec823/buf_redux-0.3.0/src/lib.rs:482
  12:     0x562e839275da - _<buf_redux..BufReader<R, Rs, Ms>>::read_into_buf::h8756c3d44e7962e5
                        at /work/target/.cargo/registry/src/github.com-1ecc6299db9ec823/buf_redux-0.3.0/src/lib.rs:237
  13:     0x562e8394e6fb - multipart::server::boundary::fill_buf_min::h92557db176906ab0
                        at /work/multipart/src/server/boundary.rs:180
  14:     0x562e83929c1d - _<multipart..server..boundary..BoundaryReader<R>>::read_to_boundary::hb1edf81e8b1742a5
                        at /work/multipart/src/server/boundary.rs:44
  15:     0x562e83947b5d - _<multipart..server..boundary..BoundaryReader<R> as std..io..Read>::read::ha37758e91d1257e4
                        at /work/multipart/src/server/boundary.rs:153
  16:     0x562e8391025a - std::io::util::copy::h790c4bda76dc6d89
                        at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/obj/../src/libstd/io/util.rs:52
  17:     0x562e83958a03 - _<multipart..server..MultipartFile<'a, B>>::save_to::_{{closure}}::h2a8232404d5f9193
  18:     0x562e8394d78c - multipart::server::retry_on_interrupt::h0be2d555bf851ad9
                        at /work/multipart/src/server/mod.rs:676
  19:     0x562e8392d96f - _<multipart..server..MultipartFile<'a, B>>::save_to::h70a830d35441e21f
                        at /work/multipart/src/server/mod.rs:436
  20:     0x562e8392d485 - _<multipart..server..MultipartFile<'a, B>>::save_as::ha06d7c4f88aa8a47
                        at /work/multipart/src/server/mod.rs:457
  21:     0x562e8392d8ba - _<multipart..server..MultipartFile<'a, B>>::save_in::hae8c03ea5e0d0b19
                        at /work/multipart/src/server/mod.rs:476
  22:     0x562e839136a1 - _<multipart..server..Multipart<B>>::read_to_entries::h228f3da6023d7ea7
                        at /work/multipart/src/server/mod.rs:218
  23:     0x562e83914a40 - _<multipart..server..Multipart<B>>::save_all::h62bcd9d45bbeea5b
                        at /work/multipart/src/server/mod.rs:150
  24:     0x562e839539a8 - params::try_parse_multipart::h12ad7a9665e9a3df
                        at /work/target/.cargo/registry/src/github.com-1ecc6299db9ec823/params-0.2.2/src/lib.rs:590
  25:     0x562e839517f8 - _<params..Params as plugin..Plugin<iron..request..Request<'a, 'b>>>::eval::h4060d86f3de07a46

@Drakulix So the panic actually started in buf_redux! That would have been good to know, haha.
Because of inlining (which is completely LLVM's doing, I don't have any #[inline] directives on non-trivial functions in that crate), functions in buf_redux were completely excluded from the stack trace! With debug information, however, the full stack trace can be reconstructed by the unwinder.
I see what the problem is, it's a logic error that's kind of littered throughout the crate. The tail cursor (the end field of Buffer) is often used as an index or a start point in slicing the buffer, which is a problem if the tail cursor is at the end of the buffer! The only tests I have in the crate are copied from the stdlib, so I had no idea what happens when you try to read into a full buffer. Now I know.

So this is actually already fixed in my latest release of buf_redux, since I don't do zeroing the exact same way anymore. It's been fixed for a while, but I forgot to publish the 0.4 release and went straight to 0.5.
Anyway, I've added a regression test against this problem. Try changing the buf_redux dependency to 0.5.0 and see if it still panics.

Alternatively, I have just published 0.9.0-alpha.3 with the updated version. Also please do a cargo update as I fixed another bug down the line in the process but it only required a minor version bump so it may not propagate through dependencies immediately.

Actually, make that 0.9.0-alpha.4. There was an error in src/server/iron.rs that I didn't catch before publishing, and didn't stop the publishing process because iron isn't a default feature, but which Travis-CI caught for me (whew!).

Alright. Now I get an error when I unwrap the Params object, which seems to originate in multipart:
IoError(Error { repr: Custom(Custom { kind: Other, error: StringError("early eof") }) })
The reason I believe this is multiparts fault, is that it seems to fail to detect the boundary.
Here is the application log (nuget does three requests, until it gives up):
http://pastebin.com/msL18A9m

I actually think it's a logic error in Hyper's request type where it doesn't like reading into a zero-length slice. I can solve that with a patch to buf_redux since it's functionally the same.

@Drakulix Please run cargo update and try again.

Not sure what the latest state is, but this happens with the last commit from the httparse branch.
hazel.txt

@Drakulix Did you run cargo update before building? I see the panic but I believe I fixed the problem already:
10:15:33 [TRACE] hyper::http::h1: [target/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.8.1/src/http/h1.rs:554] - Sized read, remaining=8453415
10:15:33 [TRACE] hyper::http::h1: [target/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.8.1/src/http/h1.rs:560] - Sized read: 0
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: IoError(Error { repr: Custom(Custom { kind: Other, error: StringError("early eof") }) })', ../src/libcore/result.rs:788

The problem with zero-sized reads should have been fixed in my last update to buf_redux.
Please add RUST_BACKTRACE=1 to your environment variables so we can get the backtrace.

Next try (now definitely with the latest versions).
nuget does 3 request, every one is failing with an internal server error because of a panic.
hazel.txt

Yeah, when adding some randomness to my local tests, I've found that my implementation isn't all that robust. I'm working on it, though.

@Drakulix Try with multipart = "0.9.0-alpha.5". I've rewritten a lot of the boundary parsing and now it should handle partial reads better.

Well now I get a conversion error on src/client/lazy.rs:305 and cannot compile it anymore.
I am currently stuck with rust 1.10 without updating a good amount of libraries, so if that is the problem, I might need some more time to report back.

Yeah, I didn't realize that conversion was actually very recently added until Travis failed on Stable. I'll figure something out to fix that.

I've published 0.9.0-alpha.6 which doesn't use that anymore.

@Drakulix Can I get one more test run please?

@abonander
Sorry about the late reply, I am just very busy especially on the holidays right now. You will get a new log tomorrow, I promise.

hazel.txt
I am deeply sorry this took so long.


Updating go-whastapp version

I have updated the used version of Rhymen/go-whatsapp to the latest one in master branch (https://github.com/Rhymen/go-whatsapp/commit/31a2e740845cad68f209d41b01c39983491ba566 ). Without this update, it was not possible anymore to connect to any whatsapp account.
I have built this new version using docker and it now works perfectly.

Thanks!

please add whatsapp beta support


Netty HttpClient failed to connect with SSLHandshakeException after establishing HTTPS connection with endpoint

We have built API Gateway application using Spring Cloud Gateway 4.0 (on webflux) framework and Azul Zulu OpendJDK 17. The application is able to intercept incoming request and redirect it to the configured downstream HTTPS endpoint using TLS certificate.
However, there is one request in which the gateway app unable to establish HTTPS connection with configured downstream endpoint and getting below SSL Handshake error (soon after connection and active channel):
io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

We have configured the TLS certificate for routing request to endpoint in following property which is passed as JVM_ARGS in java command line:
javax.net.ssl.trustStore=<path to .pkcs12 keystore>

We enabled more granular logs from Netty library by setting reactor.netty=DEBUG level and found below lines after above exception:
HttpServerOperations | [d7cffb05-1, L:/<Source IP:Port> - R:/<Destination IP:Port>] Detected non persistent http connection, preparing to close
HttpServerOperations | [d7cffb05-1, L:/<Source IP:Port> - R:/<Destination IP:Port>] Last HTTP response frame
HttpServerOperations | [d7cffb05-1, L:/<Source IP:Port> - R:/<Destination IP:Port>] Last HTTP packet was sent, terminating the channel

However, Netflix Zuul Gateway application (running on same server in which Spring Cloud Gateway app is running) is able to connect with the same HTTPS endpoint and redirect the request to it successfully using same TLS certificate.
Note:** Netflix Zuul is using RestTemplate to connect whereas Spring Cloud Gateway is using Netty HttpClient.**
We have tried many combination with different properties however still stuck with same error.
How can we resolve this SSL handshake failure soon after connection is established?
Any help is highly appreciated in this direction.
Netty version
4.1.101.Final
JVM version (e.g. java -version)
Azul Zulu OpenJDK 17
OS version (e.g. uname -a)
RHEL 7.9 (Maipo)

We have tried many combination with different properties however still stuck with same error. How can we resolve this SSL handshake failure soon after connection is established? Any help is highly appreciated in this direction.

Have you already tried pinning TLS protocol version to TLSv1.2 ? TLSv1.3 handshakes behave slightly differently and could cause compatibility issues in some applications that aren't prepared for it. What is the exact version of Spring Cloud Gateway? Have you tried upgrading it?

@lhotari Thanks for checking and sharing the possible pointers.
Spring Cloud Gateway version: 4.1.0
The latest version is 4.1.4 which seems to be minor update so we did not upgraded.
We tried with pinning down to TLSv1.2 by setting spring boot properties as follows, however the SSL Handshake error still exists.
server:
  ssl:
   enable: true
   protocol: TLS
   enabled-protocols: TLSv1.2

Then we tried to figure out the cipher suite used by remote server by using following command as suggested in https://stackoverflow.com/a/48602234 article:
openssl s_client -connect serverAddress:port

and got following output with cipher details:
SSL-Session:
    Protocol: TLSv1.2
    Cipher: AES256-SHA256
    Verify return code: 0 (ok)

We tried to configure the listed cipher suite in suggested spring boot property as follows, however then all request started failing with 502 BAD Gateway status/error:
server:
  ssl:
   enable: true
   protocol: TLS
   ciphers: AES256-SHA256
   enabled-protocols: TLSv1.2

We gone through the TLS/SSL section of official documentation of Spring Cloud Gateway and found out that above properties are used to accept HTTPS connection from client by Spring Cloud Gateway server application, however spring.cloud.gateway.httpclient.ssl.trustedX509Certificates property is used for establishing HTTPS connection by Spring Cloud Gateway app as client with remote endpoint server.
Is there anything else we are missing in the configuration that is resulting in SSL Handshake failure?

I think it's better to continue this discussion in spring-cloud/spring-cloud-gateway#3414 since this isn't a Netty problem. It's a configuration problem. After reading your problem description once again, I now understood that the problem is in the Http client configuration of Spring Cloud Gateway and it's not a problem in the server configuration of Spring Cloud Gateway. You will need to configure the ciphers for the http client to address the problem. Please ask on the spring-cloud-gateway issue how to achieve this.


Update Settings “general”

Automatically generated by Netlify CMS

👷 Deploy Preview for endearing-sfogliatella-6c7dea processing.

Name
Link

🔨 Latest commit
46bb39378b68162816fa65a62989803a1d00d3e5

🔍 Latest deploy log
https://app.netlify.com/sites/endearing-sfogliatella-6c7dea/deploys/63a04e788923af00081499a2


Background image, highlighter tool

Additional functionality:

immutable background image (partially addresses #21, #22) -- only accessible currently via API creation using image sent in base64
highlighter mode

FYI, a version of the fix CORS commit (cc45de6) landed in commit 3c75d5cf626e303d6dd0b340a0fafe3792ccce2e. I fixed the behavior of OPTIONS queries which should not actually run the API call. If you're using your fork, you may want to fix that.  Anyway, thanks for the contribution!


how to filter selectItem just like example

I don't know how to filter my selectItem?  Is Masonry have support filter function like Isotope ?

@cswleocsw - You should be able to filter just by using .filter on the array of items you are putting into your masonry :-) This is the "React way" of doing it at least

@cswleocsw I'm going to close this as resolved. Please reopen if you still need to discuss.

@eiriklv in order to filter the masonry items would each item be passed a custom prop that the filter is based on?


[minor] [typo] Parenthesis => parentheses (when should used in plural form, which is everywhere)

Plural form of parenthesis is parentheses, and it's like in every instance of usage of this word in the project (code works with parentheses in general, not like with only a single one, opening or closing parenthesis).
E.g. this is good:

left parenthesis
right parenthesis

This is not good:

Method name without arguments names and parenthesis, i.e. foo<T>
extracts enums with empty parenthesis as ones with () associated type

I know the issue is a joke.
I wanted to fix it myself, but I've stumbled upon docs/search.json and was afraid to edit it, because I don't know how it works and I don't know what will happen after I edit it (e.g. some state somewhere will become inconsistent, etc).
If you say that I just can replace it everywhere where it will be semantically correct, I would do it.

majority of docs is generated so you only need to update code comments and guides and then simply call rake docs, I'd be happy to accept PR fixing any wording mistakes, English isn't my native language so no wonder there are mistakes like this
Thanks for pointing it out 👍


hasMagic fails strangely if patterns starts with '#' and nocomments isn't set

The following fails: (expected false to be returned, or otherwise an understandable error)
$ node -e 'require("glob").hasMagic("#")'

/node_modules/glob/glob.js:89
  for (var j = 0; j < set[0].length; j++) {
                            ^
TypeError: Cannot read property 'length' of undefined
    at Function.glob.hasMagic (/node_modules/glob/glob.js:89:29)
    at [eval]:1:17
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at Module._compile (module.js:456:26)
    at evalScript (node.js:559:25)
    at startup (node.js:80:7)
    at node.js:929:3

Note that with the nocomments option this does behave correctly:
$ node -e 'console.log(require("glob").hasMagic("#",{nocomment:true}))'
false

Yeah, I'm going to deprecate comments and negation in the next major release, coming up soon.


Test automate with chef-server 14.4.4

User Story
As a developer i want to find out if automate with chef-server 14.4.4 works eith postgres 13
Definition of Done
Answer to  automate with chef-server 14.4.4 work with postgres 13
Demo Script / Repro Steps

Automate with chef-server 14.4.4 does not work with postgres 13


[WIP] Add wasm32-unknown-unknown/WebGL support

Start to make a more maintainable version of my old branch from https://github.com/gfx-rs/gfx/issues/1900#issuecomment-449983693. Heavily WIP but maybe somebody wants to start giving some feedback as I work through the remainder of issues.
This PR replaces gl_generator with glow (https://github.com/grovesNL/glow), a experimental crate meant to unify WebGL/OpenGL types and function signatures. Currently unsupported functions will just panic, but I think it makes sense to move some of the version logic and extension fallbacks in there too (removing them from the gl backend). The WebGL types are now just keys (and Copy) which fixes some of the issues I mentioned previously.
This is for the wasm32-unknown-unknown target and uses web-sys.
TODO:

[X] (major) spirv_cross wrapper on wasm32-unknown-unknown and C++ library through emscripten. For now the quad shaders are hardcoded. See https://github.com/grovesNL/spirv_cross/pull/92. (I'll probably leave the PR open until we work out how the integration between wasm bundles should work)
[X] Consolidate render loop somehow (see WIP in glow example https://github.com/grovesNL/glow/blob/master/examples/hello/src/main.rs#L118). I need some more ideas on how to work around the 'static bounds for wasm32 here. The basic idea is that wasm32 has to use callbacks and we use spinloops on the native target, so we would ideally like to unify these (at least for use in examples but also simple applications). For wasm32 with the quad example I just render once and quit instead. Currently winit is working through the implementation of "Event Loop 2.0" and there's been some effort to write a stdweb backend for this, which we could later help port to wasm32-unknown-unknown. I think for now we can just keep the wasm render loop path separate in gfx examples, and things will work naturally once winit wasm32-unknown-unknown support is ready.
[X] Remove all remaining #[cfg(not(target_arch = "wasm32"))] wherever possible to make this more maintainable. There are a few places remaining that can be removed when we move some logic into glow, like version parsing and extension checking. Some other parts like the runloop can't be addressed without winit support for wasm32-unknown-unknown or other workarounds in quad.
[ ] Decide where to put things like index.html for examples (I've excluded it for now) and guide about how to create wasm bundle with wasm-bindgen.
[X] Consider how logging should work – I don't see how to redirect stdout to console.log so it's a bit manually at the moment. It would be really cool if things like info! just work automatically with wasm32-unknown-unknown. We should be able to use https://github.com/iamcodemaker/console_log for the wasm backend without any major challenges.
[X] Publish glow
[ ] Publish updated spirv_cross
[ ] Add wasm-bindgen to CI

This change is

Another small update: I continued experimenting with the idea of having Rust wasm32-unknown-unknown make calls to JavaScript (through wasm bindgen), where the JavaScript methods are just the Emscripten generated C++ bindings.
So each call into the C++ SPIRV-Cross library roughly looks like Rust (wasm, wasm32-unknown-unknown) -> JavaScript -> C++ (wasm Emscripten). I manually wrote some bindings for the GLSL compiler and it works really well so far:

The screenshot is running a simple Rust binary compiled to wasm32-unknown-unknown which has spirv_cross as a dependency. It includes a SPIR-V file, creates a GLSL compiler using the regular spirv_cross API and compiles SPIR-V to GLSL. I think it's pretty impressive that we can do this without changing the API of spirv_cross at all.
As I mentioned earlier, there are a few downsides to this approach:

The Emscripten C++ files (one JS file and one wasm file) need to be loaded by the application (in their own HTML file), because I don't see we could easily embed it as part of gfx at the moment. This is conceptually similar to linking to installed libraries. There might be a better way to do this in the future, so that the JS and wasm are included inline somehow (basically JS snippets, which are planned for wasm-bindgen).
Calling through JS adds overhead, so it would be nice to be able to call directly between both these wasm modules instead.
The Emscripten bundle is a bit large, so it there could be some improvements by using clang wasm32-unknown-unknown directly when it's more stable. After this step, it would be great to have both Rust and C++ code in the same wasm module.

I have your branch running locally now and would like to help. I can try to tackle the render loop consolidation if that helps. Have you started trying to make the spirv_cross shim yet?

Sounds great! The render loop consolidation would be useful. I'm mostly interested in an idiomatic callback-based way to create and run a renderloop with a cleanup at the end, and allows moving resources etc. into the cleanup. I played around with the idea wrapping all resources into struct fields that are Option but maybe there are some other ideas.
I'm also wondering whether we could add wasm32/requestAnimationFrame support to winit somehow, if they're ready to support wasm32-unknown-unknown. Then most projects would be able to just switch to winit's callback-driven API instead.
I've started to work on the spirv_cross shim (the screenshot above is running an example), currently I'm just filling out the last few bindings we should need. Calls are made from Rust/wasm32-unknown-unknown -> JS -> C++/Emscripten wasm as mentioned above. So far the spirv_cross work has been mostly adding some helpers to handle pointer offsets and string conversion correctly wherever the previous assumptions made for C FFI aren't valid anymore (i.e. reading a string from the Emscripten heap vs. reading a string from a pointer).

spirv_cross as wasm32-unknown-unknown (using the ideas mentioned above) is mostly ready now: see grovesNL/spirv_cross#92. It would be great if somebody could review and consider any possible issues with this approach.
Here's a spirv_cross example with native and wasm32-unknown-unknown running side-by-side:

Some more updates:

Rebased this branch onto master again
Added console error panic hook (to get stack traces when panics occur) and console log (to write info! etc. to the console) to the quad example
Confirmed the wasm32-unknown-unknown version of spirv_cross works with this branch, by loading spirv and converting it to ESSL at runtime (in the browser)

Also I just looked up Emscripten's emulation for glMapBufferRange to compare as a reference, it's located at https://github.com/emscripten-core/emscripten/blob/incoming/src/library_webgl.js#L3320
Comparing my emulation vs. Emscripten's emulation, they appear to use the same approach:

during glMapBufferRange, malloc some memory internally, return a pointer to it
during glUnmapBufferRange, upload it

The emulation in this PR is less complete than Emscripten's version for now, but we could expand it afterwards.

I've been testing out the PR, and I noticed that I think based on browser defaults and blacklisting, the webgl2 context is sometimes created with multisampling enabled by default.  This interferes with glBlitFramebuffer, which cannot blit to the multisampled screen.
Changing this code that creates the webgl2 context to something like:
        #[cfg(target_arch = "wasm32")]
        let context = {
            use wasm_bindgen::JsCast;
            use js_sys::Map;
            let options = js_sys::JSON::parse(r#"{ "antialias": false }"#).unwrap();

            let canvas = web_sys::window()
                .unwrap()
                .document()
                .unwrap()
                .get_element_by_id(webgl_context_id.unwrap())
                .unwrap()
                .dyn_into::<web_sys::HtmlCanvasElement>()
                .unwrap();
            let webgl2_context = canvas
                .get_context_with_context_options("webgl2", &options.into())
                .unwrap()
                .unwrap()
                .dyn_into::<web_sys::WebGl2RenderingContext>()
                .unwrap();
            glow::web::Context::from_webgl2_context(webgl2_context)
        };

Seems to solve the issue.  Also, should stencil, depth, and alpha also be set to false in options as well?  I think so based on my understanding of the gl backend, but I might be wrong here?

Sounds god, we could probably disable antialias and alpha for now at least. I think stencil and depth on the default framebuffer should be ok.
FWIW for testing locally I just set it directly in index.html. getContext("webgl2", {antialias: false}) on the canvas element should cause later getContext calls to get the same instance

Would it be possible to import glow as gl? I would prefer keeping the current style regarding gl::TEXTURE_2D etc.

Would it be possible to import glow as gl?

Sure, I don't have a preference here if everyone is fine with renaming it at the import level. It should reduce the diff slightly too.

I don't have a strong feeling about this. The diff will only be spared on the constant usage (e.g. gl::TEXTURE_2D), while entry points are still different. @msiglreith do you feel strongly? or was it just a suggestion to consider?


runtime/race: MemoryRangeSet is slow

The race-enabled compiler (go install -race cmd/compile) spends 40% of its CPU time in __tsan MemoryRangeSet. Looking at the implementation of MemoryRangeSet in tsan_rtl.cc, I see (roughly):
if (kGoMode || size < 64*1024) {
    // Go pointer by pointer.
  } else {
    // Do a bulk clear.
  }

The compiler does lots of large, bulk memory clears. I wonder whether the kGoMode || part of the conditional could be removed.
cc @dvyukov

We can try to replace kGoMode (which is now SANITIZER_GO) with SANITIZER_WINDOWS.
Also can add a more efficient memory clearing routine.

Great! If I want to try that out, are there docs anywhere for how to update the race detector?
I'm looking for basic things like: where to get the tsan code, which branch/commit to use, pointer to docs about how to build the tsan Go support libs, where to find the build artifacts, where to put them in the Go tree, how to test.

src/runtime/race/README is meant to drive you in the right direction
However, racebuild does not support fetching from custom git repo (it only works with upstream llvm miror). We probably need to extend it to accept a custom repo. Then you could commit to your private github copy and direct racebuild there.

Thanks. I'm busy fixing races at the moment, but will give it a try soon. :)

Thanks for the pointer, @dvyukov. Switching to SANITIZER_WINDOWS helps a little with performance, but not much:
name       old time/op       new time/op       delta
Template         2.46s ± 1%        2.42s ± 0%  -1.61%  (p=0.008 n=5+5)
Unicode          1.73s ± 0%        1.71s ± 1%  -0.80%  (p=0.032 n=4+5)
GoTypes          6.07s ± 2%        5.95s ± 2%  -1.97%  (p=0.032 n=5+5)
Compiler         25.9s ± 0%        25.3s ± 1%  -2.31%  (p=0.008 n=5+5)
SSA              52.0s ± 1%        50.6s ± 0%  -2.86%  (p=0.008 n=5+5)
Flate            1.95s ± 0%        1.92s ± 0%  -1.36%  (p=0.008 n=5+5)
GoParser         2.23s ± 1%        2.21s ± 1%    ~     (p=0.151 n=5+5)
Reflect          4.01s ± 1%        3.94s ± 1%  -1.87%  (p=0.016 n=5+5)
Tar              1.84s ± 1%        1.82s ± 1%  -1.06%  (p=0.008 n=5+5)
XML              2.78s ± 2%        2.74s ± 1%  -1.42%  (p=0.016 n=5+5)

name       old user-time/op  new user-time/op  delta
Template         1.57s ± 2%        1.51s ± 1%  -3.94%  (p=0.008 n=5+5)
Unicode          735ms ± 1%        720ms ± 2%  -2.00%  (p=0.032 n=4+5)
GoTypes          5.51s ± 2%        5.38s ± 2%  -2.45%  (p=0.032 n=5+5)
Compiler         26.7s ± 1%        26.1s ± 1%  -2.52%  (p=0.008 n=5+5)
SSA              56.6s ± 0%        55.2s ± 0%  -2.53%  (p=0.008 n=5+5)
Flate            993ms ± 1%        964ms ± 1%  -3.00%  (p=0.008 n=5+5)
GoParser         1.28s ± 1%        1.25s ± 2%  -2.51%  (p=0.016 n=5+5)
Reflect          3.19s ± 1%        3.12s ± 1%  -2.04%  (p=0.008 n=5+5)
Tar              889ms ± 1%        864ms ± 1%  -2.88%  (p=0.008 n=5+5)
XML              1.85s ± 2%        1.82s ± 2%    ~     (p=0.056 n=5+5)

So I think I'll send a patch upstream but not bother trying to get the race libraries updated ahead of schedule. (When is schedule, anyway?)

Blarg. Can't figure out where and how to send compiler-rt patches. @dvyukov the patch would be going to you anyway. Can you just apply it from here? (Or recreate it locally?) It's pretty trivial.
From d3c800fb4e7b475f6aa6a284676a503e5735cca3 Mon Sep 17 00:00:00 2001
From: Josh Bleecher Snyder<EMAIL_ADDRESS>Date: Tue, 2 May 2017 07:33:31 -0700
Subject: [PATCH] tsan: allow fast large MemoryRangeSet on non-Windows Go

See https://github.com/golang/go/issues/20139
for background and motivation.
---
 lib/tsan/rtl/tsan_rtl.cc | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/tsan/rtl/tsan_rtl.cc b/lib/tsan/rtl/tsan_rtl.cc
index 70393037e..fa60f3247 100644
--- a/lib/tsan/rtl/tsan_rtl.cc
+++ b/lib/tsan/rtl/tsan_rtl.cc
@@ -866,9 +866,8 @@ static void MemoryRangeSet(ThreadState *thr, uptr pc, uptr addr, uptr size,
   // Don't want to touch lots of shadow memory.
   // If a program maps 10MB stack, there is no need reset the whole range.
   size = (size + (kShadowCell - 1)) & ~(kShadowCell - 1);
-  // UnmapOrDie/MmapFixedNoReserve does not work on Windows,
-  // so we do it only for C/C++.
-  if (SANITIZER_GO || size < common_flags()->clear_shadow_mmap_threshold) {
+  // UnmapOrDie/MmapFixedNoReserve does not work on Windows.
+  if (SANITIZER_WINDOWS || size < common_flags()->clear_shadow_mmap_threshold) {
     u64 *p = (u64*)MemToShadow(addr);
     CHECK(IsShadowMem((uptr)p));
     CHECK(IsShadowMem((uptr)(p + size * kShadowCnt / kShadowCell - 1)));
--
2.12.2

Done http://llvm.org/viewvc/llvm-project?view=revision&revision=301927
You tested it, right?

You tested it, right?

Yep, insofar as I know how.

Thanks! I'll close this now.


version_set_test.cc missing

r32 added version_set_test to the Makefile, though db/version_set_test.cc is
not checked in:

make: *** No rule to make target `db/version_set_test.o', needed by
`version_set_test'.  Stop.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 22 Jun 2011 at 3:19

Thanks, I'll look into this!

Original comment by<EMAIL_ADDRESS>on 22 Jun 2011 at 6:25

Changed state: Accepted

Fixed in revision 33

Original comment by<EMAIL_ADDRESS>on 22 Jun 2011 at 6:46

Changed state: Fixed


[Bug]: Project generator Link broken

Version
System: MacOs
browser : Chrome

Details
Project generator Link  - (https://modernjs.dev/en/guides/topic-detail/generator/project) is broken, It would be great if we can fix this.
Reproduce link
NA
Reproduce Steps

Go to https://modernjs.dev/en/
Click on [Project Generator] under Topics

https://modernjs.dev/en/guides/topic-detail/generator/create/use.html


Improve beatmap cards

They look very plain and simple, a lot can be done about them. No design is finalized yet, we might need to ask opinions.
What information should they contain? Do we group difficulties and provide a selector, or just shove all difficulties in a group order one after the other for each beatmap?

Done


Add option to lock log-ratio axis

One thing I noticed when playing around with feature balances is that the auto-scaling y-axis can sometimes mask the effect size of log-ratio differences. For example, a balance with more outliers may "squish" the boxplots closer together even though the difference may, in fact, be larger than between the previous set of boxplots.
(Will attach a screenshot later.)
I think adding an option for the user to "lock" the log-ratio axis might make it easier to compare between different numerator/denominator feature sets.

This is a solid idea, and I think it should be pretty feasible by manipulating the Vega/JS stuff. Do you imagine adding a button/checkbox/etc. that locks the y-axis to the currently shown range, or adding stuff that allows the user to explicitly set the y-axis range? (e.g. two text boxes, one for the bottom y-value and one for the top y-value.)

Personally I would prefer the latter option to set values.


Configuring Electron

:tada: This PR is included in version 1.1.1 :tada:
Your semantic-release bot :package::rocket:


can not request api with https

I'm sure that the api is ok, since I tested it by Postman.
But the request had an error with  vue-resource": "^1.0.3".
vue-resource.common.js?db26:1071 POST https://xxxxxx/api/login
net::ERR_INSECURE_RESPONSE

the code
  import Vue from 'vue'

 export default {

  request (method, url, data, successCb = null, errorCb = null) {
    return Vue.http[method](url, data).then(response => {
      successCb(response.body)
    }, error => {
      if (errorCb) {
        errorCb(error)
      } else {
        alert(JSON.stringify(error))
      }
    })
  }

 }

@koolay
Sorry for the late reply.
This is might only be an issue when in development since your code is being served through webpack-dev-server which uses the http protocol. But on another note, is there any reason you are needing to abstract the Vue.http API? Why not just use this.$http within your Vue component files?

@SimulatedGREG
https work well on windows and linux, only not work on osx. I will check their versions.

Going to go ahead a close this. Comment back if you have more info.

@koolay have you found a solution for that issue? I can't get it work on mac either, in dev mode... production is fine.
@SimulatedGREG here is my code:
this.$http.get('https://secure.runrun.it/api/v1.0/tasks/' + taskId, {     headers: {       'app-key': '<APP-KEY>',       'user-token': '<USER-TOKEN>'     }})
I've tried to change the webpack-dev-server config on dev-runner.js file, but it didn't work too, in this part:
`const server = new WebpackDevServer(
compiler,
{
contentBase: path.join(__dirname, '../'),
setup (app, ctx) {
app.use(hotMiddleware)
ctx.middleware.waitUntilValid(() => {
resolve()
})
}
}
)
server.listen(9080)`

Appreciate any help

@akendy
The error log you posted above doesn't immediately call out that the request needs to be secure, and seems to be more focused on the header being set improperly. But based on the webpack-dev-server documentation, you can add https: true to the configuration options to enable a self-signed server for development.
const server = new WebpackDevServer(
  compiler,
  {
    contentBase: path.join(__dirname, '../'),
    https: true,
    setup (app, ctx) {
      app.use(hotMiddleware)
      ctx.middleware.waitUntilValid(() => {
        resolve()
      })
    }
  }
)

@SimulatedGREG
Thanks for you reply, but as I mentioned before, I tried adding that, but it didn't work too.
Actually, nothing shows up when I run npm run dev.. after adding that https: true in dev-runner.js file

@akendy
After adding https: true, would would also need to edit src/main/index.js to point to the proper https url.
https://github.com/SimulatedGREG/electron-vue/blob/master/template/src/main/index.js#L17

@SimulatedGREG
Nothing shows up, it gives me a blank page after changing those files:
dev-runner.js
const server = new WebpackDevServer(
      compiler,
      {
        contentBase: path.join(__dirname, '../'),
        http: true,
        setup (app, ctx) {
          app.use(hotMiddleware)
          ctx.middleware.waitUntilValid(() => {
            resolve()
          })
        }
      }
    )

    server.listen(9080)

index.js
const winURL = process.env.NODE_ENV === 'development'
  ? `https://localhost:9080`
  : `file://${__dirname}/index.html`

@koolay
It looks like electron denies self-signed certificates by default, but here's how you can get around this...
src/main/index.dev.js
require('electron').app.on('certificate-error', (event, webContents, url, err, certificate, cb) => {
  if (err) console.error(err)

  /* eslint-disable */
  if (url === 'https://localhost:9080/') {
    event.preventDefault()
    cb(true)
  } else {
    cb(false)
  }
})

@SimulatedGREG
It doesn't work either. I'm still getting the same error:
:9080:1 XMLHttpRequest cannot load https://secure.runrun.it/api/v1.0/tasks/<TASK-ID>. Request header field app-key is not allowed by Access-Control-Allow-Headers in preflight response.

However, there is a new error message in console:
┏ Electron -------------------

  net::ERR_CERT_AUTHORITY_INVALID

┗ ----------------------------

The error log from electron is a notice that the SSL certificate is invalid because it is self-signed, which is expected. Back to the issue and just as I originally stated, this doesn't look like an issue that would be fixed with HTTPS/SSL. The error specifically states that the app-key is not allowed by Access-Control-Allow-Headers. The server you are connecting to is being consumed incorrectly or is expecting something different that what you are sending. The scope of this issue is outside of electron-vue is purely based on the external API you are using.

@SimulatedGREG
But it works when I build the packages, it doesn't work only in dev mode, production is fine.

That is probably due to the fact that when in production files are served over the file:// protocol as opposed to http:// during development. When making requests to an external api when not using http://, checks like CORS and Access-Control-Allow-Headers are usually bypassed.


FIX12527: Changes to make serde optional for bevy_color

Objective

Add serialize feature to bevy_color
"Fixes #12527".

Solution

Added feature for serialization

Changelog

Serde serialization is now optional, with flag 'serialize'

Migration Guide

If user wants color data structures to be serializable, then application needs to be build with flag 'serialize'

Like CI says, you need to run cargo fmt --all on your code. Don't worry about the Dependencies job though: it's flaky and non blocking.

Going to wait for some cleanup before merging this :)


Adds multi-selection functionality

To be able to multi-select items provide a multiSelectionAction which takes a list of indices and a list of string values.
This changes the selectedRowIndex to be a set of indices. A set was chosen because we want the selections to be unique.
When a row is selected if no multiSelectionAction exists then we just use the normal row selection logic. If a multiSelectionAction does exist then we deselect the row if it is already in our selection list. If it is not in our selection then we add it and call the selectionAction and the multiSelectionAction.
This change does not change the existing api. Single selection still works as normal

Hey @andrewreeman 👋
Thanks a lot for contributing to this project!
I took your changes and rebased them on master before merging them ✅
Thanks a lot! 🙏

Since DropDown supports multiselection it would be better if we have deselection action also.


We should increment height of clipping area for prevent this problem.
Before

After

Fixes #153988
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] I followed the breaking change policy and added Data Driven Fixes where supported.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Hello @quyenvsp and welcome to Flutter! Looks like this PR is missing tests and is currently failing existing tests. Could you please address these issues? Thank you!

Thank you for your contribution. I'm going to close this PR for now since there are outstanding comments, just to get this off our PR review queue. Please don't hesitate to re-open or submit a new PR if you have the time to address the review comments. Thanks!


fix: Use providerID from node obj instead of handcraft one

The node providerID has been updated by cloudprovider after node object is created. We can always assume the vmID in vmss is 0. We should read the providerID from the node object instead of handcrafting one with hardcoded index of 0.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (main@3372fc7). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #173   +/-   ##
=======================================
  Coverage        ?   58.33%
=======================================
  Files           ?        5
  Lines           ?      384
  Branches        ?        0
=======================================
  Hits            ?      224
  Misses          ?      158
  Partials        ?        2

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


Major Faction - Independent Logo is absent

• Issue: Major Faction - Independent Logo not present in assets
• Description: Despite attempts to hide, there is one reliable place to find the Independent logo:  Planetary bases. When a base is Independent-owned the logos will change from whatever Major Faction it was before, to this attached image.
• Solution: Eventual creation of asset

Is there not a higher res image?

Is it confirmed this is for independent factions? Or if it's just for planetary bases or that specific base etc..

I will look into our bases when I get online tonight.

I forgot 😦

Squadrons has a bird for independent faction type. Which is what I've added to Factions page now https://edassets.org/#/factions
The star icon might also be for independent faction, but I find it unlikely there would be two different types unless there's lore attached to it.
We will vectorize it at some point, but for the moment I'm not willing to add it as independent until we know for sure what it is.

I forgot to mention. I roamed around our base but could not locate a symbol like that.

It is indeed the Independent logo, as when a Planetary Port is owned by a Major Power the icon will change to the respective faction. When Independent owned this is the used icon.
There is inconsistency with it regarding certain types of planetary bases and planetary outpost, where the Independent icon is instead a blank image (which can be seen at the right angle as a floating square.). I do not know why.
Since the Independent logo in Q4 is different, I understand the hesitation in a direct relation. An alternative is the that this Port icon is a fallback to "none" but that behavior isn't mimc'ed on other Independent assets, not to mention the only occurrence of this icon is independent assets.
Correlation causation issue. If I have more concrete data then I'll update.**However know that the Empire also has two different logos, as seen on the Imperial Majestic capital ship.

Alright thanks, I’ll try to probe official sources before I vectorize it


feat(module:modal): pass data to modal component through injection token

deprecate nzComponentParams
PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?
Currently data pass to a custom component when nzContent is a component are retrieved thanks to nzComponentParams
Issue Number: N/A
What is the new behavior?
Now nzComponentParams property is deprecated, and data pass to a custom component when nzContent is a component are retrieved thanks to the Nz_MODAL_DATA injection token
Does this PR introduce a breaking change?
[ ] Yes
[x] No

nzComponentParams property is now deprecated
Other information

nice work!

nice work!

thanks and thanks a lot for the great discussion we had :)

Please rebase this with master to resolve all conflicts :) After that, I will merge this PR before next version.

Please rebase this with master to resolve all conflicts :) After that, I will merge this PR before next version.

@simplejason it's done, but i don't know why but i have a failing test now on the tooltip, but i didn't change this file and i can't reproduce the error in local


Read proper batches when using petastorm.pytorch.DataLoader with make…

…_batch_reader.
Before this fix, batches were not formed properly. To proper support make_batch_rader with DataLoader we have:

Added an attribute to a Reader object instance indicating that it returns batched data (these are Parquet row groups)
For petastorm.pytorch.DataLoader that work with a batched reader, we store the entire batch into a shuffling buffer.

Sorry, for spamming the PR, but I came across the IterableDataset released by PyTorch which might be helpful..

Sorry, for spamming the PR, but I came across the IterableDataset released by PyTorch which might be helpful..
@praateekmahajan , thanks for pasting the link. Very useful. Did not see that one yet.


Errors when building

Thank you so much for open-sourcing this project...there seems to be a wealth of truly fantastic code and I can't wait to really dive in.
Unfortunately when I try to build the application I get the following error:
.../Library/ViewModels/EmptyStatesViewModel.swift:1:8: No such module 'KsApi'
Am I missing something?
Thank you.

Oh hey, were you able to resolve this?

Yes I was.  Thank you :)

Are you using Xcode 7.3.1?
We are kinda slacking on our swift 2.3 / Xcode 8 support...

I'm most definitely not using Xcode 7.3.1.  I apologize.  I think I may install 7.3.1 just to work with this project 👍  Thanks.


updates devcontainer to dotnet 8

Description

Bicep is not compatible anymore with dotnet 7. Updating the devcontainer to dotnet 8.
error NU1202: Package Azure.Bicep.RegistryModuleTool 0.25.53 is not compatible with net7.0 (.NETCoreApp,Version=v7.0) / any. Package Azure.Bicep.RegistryModuleTool 0.25.53 supports: net8.0 (.NETCoreApp,Version=v8.0)

adding Az.Accounts and Az.Resources for module testing

Fixes #1135
Pipeline Reference
Type of Change

[ ] Update to CI Environment or utlities (Non-module effecting changes)
[ ] Azure Verified Module updates:

[ ] Bugfix containing backwards compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in version.json:

[ ] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
[x] The bug was found by the module author, and no one has opened an issue to report it yet.

[ ] Feature update backwards compatible feature updates, and I have bumped the MINOR version in version.json.
[ ] Breaking changes and I have bumped the MAJOR version in version.json.
[ ] Update to documentation

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[ ] I have run Set-AVMModule locally to generate the supporting module files.
[ ] My corresponding pipelines / checks run clean and green without any errors or warnings

Hey @segraef since you added it, could you give your blessing? :)


Fix panic on Mac from crossterm::event::poll

on MacOS running the command zk list --quiet --tag review --format json | zk-spaced gives an error saying "Failed to initialize input reader"
it seems we need to enable the use-dev-tty feature of the crossterm crate, this PR adds the feature for crossterm in Cargo.toml and also updates the other crates
maybe we should enable it only when building on macOS? as on linux it works without enabling this feature
relevant issues in the crossterm repo:

https://github.com/crossterm-rs/crossterm/issues/644
https://github.com/crossterm-rs/crossterm/issues/500

Thanks :+1:


Messages Are Not Dismissible & Don't Get Dismissed Automatically

Description
Messages are currently not dismissed & uploading measurements does not show the messages being dismissed.
Reproduction

[ ] Interact with a message (e.g. the welcome video) and the message is not dismissed.
[ ] Do a blood pressure measurement & weight scale measurement, the messages are not automatically dismissed

Expected behavior
Messages should be dismissed.
Additional context
it seems like it is not longer possible to set the completionDate of the message and one has to use a firebaseFunction instead (for reference). the code would need to be changed to something like:
firebaseFunctions.getHttpsCallable("dismissMessage")
    .call(
          mapOf(
            "userId" to uid,
            "messageId" to messageId,
            )
        ).await()

from previous:
firestore.collection("users")
    .document(uid)
    .collection("messages")
    .document(messageId)
    .update("completionDate", ZonedDateTime.now())

implementation.
Code of Conduct

[X] I agree to follow this project's Code of Conduct and Contributing Guidelines

@Basler182 might be able to add some more context on the cloud functions.

I tested it yesterday: On my device, the message for Vitals was automatically removed as it does not need to be dismissed manually, but only receive the vitals. However, it takes some time for the backend to process the measurements and propagate them to the Firestore. In my case, the message disappeared about 10 seconds after the measurements were sent.
The “simple” messages, such as the welcome video, were not dismissed. The reason for this is a change in the dismiss mechanism: instead of setting the completion date manually, a Firebase function must now be called to take over this task. This function also offers a third parameter, didPerformAction. @pauljohanneskraft  might have to provide context for this, as I was not involved.

Thank you for the context @Basler182! Good to hear that the could function is working as expected; @pauljohanneskraft is working on a fix for the questionnaires to be parsed correctly and they should be released soon.


⚠ Jenkins Plugins Artifactory has degraded performance

In aec0dc4, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1269 ms

Resolved: Jenkins Plugins Artifactory performance has improved in f919c54 after 12 minutes.


Re-use parameter file generation code between "bicep deploy" and "generate parameters" features

cc @bhsubra / @polatengin as FYI

I'll be happy to take this feature request over. you can assign it to me 👍

Done @polatengin!

hey @alex-frankel , did you mean bicep publish ?

@usman0111, @cqthyy FYI - this may also be relevant to #399.

@polatengin -- I am talking about the "Deploy" command from VS code:

If you follow the deployment steps it will create a parameters file on your behalf.###

@polatengin -- do you think you will be able to take a look at this one in the next month or so? If not, @ucheNkadiCode do you think we can work on this in 0.9 or 0.10? In particular I would like to get #7294 resolved.

Great question. We'll need to make sure #7294 is included as a part of this. Not allowing default values to get captures is not a great experience.

Feedback from the community call is that folks would really like to be able to include default values as an option. We now understand that folks are so split on this that it would be much better to give them each option
I think the three selections should be:

Params with no default value assigned
All Params - Include their default values
All Params - Do not include their default values

Users mention that if there is an evaluated expression, they would rather have it carried over with either a blank value of "INSERT VALUE HERE"

@ucheNkadiCode @secure parameters ideally need to be populated from Key Vault references. Defining this is more work / key strokes typically then a normal string parameter so prepopulating at least the structure would be preferred. This could be added though.

@BernieWhite I'm having trouble understanding what scenario you're talking about. Do you have an example? What do you mean by "prepopulating at least the structure"


Large icon size on windows 10 tile in medium size

Windows version: 19045.5247
Character Map version: 2<IP_ADDRESS>

Bigger than last version

Wide tile seems normal

@AstroX809 is there a chance to regenerate the icons with the recommended padding applied?


AttributeError: 'PackedSequence' object has no attribute 'size'

Hello, when python train.py was executed I faced an odd error:
Traceback (most recent call last):
  File "D:\a-PyTorch-Tutorial-to-Image-Captioning\train.py", line 332, in <module>
    main()
  File "D:\a-PyTorch-Tutorial-to-Image-Captioning\train.py", line 111, in main
    train(train_loader=train_loader,
  File "D:\a-PyTorch-Tutorial-to-Image-Captioning\train.py", line 207, in train
    top5 = accuracy(scores, targets, 5)
  File "D:\a-PyTorch-Tutorial-to-Image-Captioning\utils.py", line 283, in accuracy
    batch_size = targets.size(0)
AttributeError: 'PackedSequence' object has no attribute 'size'

So, what can I do?
Thank you.

Hi, that's absolutely an easy question. Just replace size with batch_sizes.
Odd?

Traceback (most recent call last):
File "train.py", line 328, in
main()
File "train.py", line 116, in main
epoch=epoch)
File "train.py", line 204, in train
top5 = accuracy(scores, targets, 5)
File "/workspace/data/Gayathri/a-PyTorch-Tutorial-to-Image-Captioning/utils.py", line 286, in accuracy
batch_size = targets.batch_sizes(0)
TypeError: 'Tensor' object is not callable
Getting this error with the suggested change, can u pls tell me how to make it work

@MCA-eng According to the TypeError message you can know targets.batch_sizes is of Tensor type, it cannot be called through () like function, you should try [] to index.


ics download includes old activities

I used the lovely new button to download an ics file with the activities in on dev.karrot.world and it took ages then gave me a 1.1mb file with all the activities back to 2017 :)
https://dev.karrot.world/api/activities/ics/?group=6 was the URL.
I guess we want to only have current/future activities? Is there any case where old activities would be needed?
I don't know if this should be done on the backend or frontend, if the backend has a date filter param, maybe simplest to do in the frontend.
(I didn't try the ics subscription, maybe it is the same?)

ping @amengsk - I think we only want future (and ongoing) activities by default?

yes that is a problem i wanted to address
but as a calendar subscriber i would find it weird if yesterday's activity disappears from my calendar, too. so maybe the ics feed should also include activities which are (say) up to a month old, for instance?
intuitively i would just add the filter in the backend without needing to change any urls, so that the subscription urls remain simple. i would see it as a way for the backend to protect itself from expensive requests (hence not user-configurable)

Sounds good. I also assumed it would just have the activities I joined, and I can't imagine I had signed up for 1.1mb of them!

if you only want the activities you joined there is already a filter for that in the backend, &joined=true, but it is not used in the frontend. dunno if it should be the default or not. perhaps we can add a tick box to the ics export dialog to let the user control that


Add a Media tab to profile pages

It would be nice with a Media tab on profile pages. It could show either just the media from the user's posts – this is how e.g. Twitter does it – or (and maybe easier to implement as a first step) all their posts that contain media.
Original idea: https://bsky.app/profile/seductivelysoul.bsky.social/post/3jywikwx3i726

Yeah I believe this is planned

This can be closed, no?

Yep


[Web Portal] fix text broken in create/edit user #2849

#2849

Coverage increased (+0.01%) to 53.324% when pulling e68c5f326884f757d9d9f68aaaaa102046b5c91a on lchao/fixTextBroken into 160c37190e456f7f3701a6ae2522e4a0e1f5a8fa on pai-0.13.y.

Coverage increased (+0.01%) to 53.324% when pulling e68c5f326884f757d9d9f68aaaaa102046b5c91a on lchao/fixTextBroken into 160c37190e456f7f3701a6ae2522e4a0e1f5a8fa on pai-0.13.y.

Coverage increased (+0.01%) to 53.324% when pulling e68c5f326884f757d9d9f68aaaaa102046b5c91a on lchao/fixTextBroken into 160c37190e456f7f3701a6ae2522e4a0e1f5a8fa on pai-0.13.y.


Use MfmUrl AST in MfmLink AST

What

Use MfmUrl AST in MfmLink AST
Add test cases for reproducting bracket urls within links

Why

This fixes issues with brackets disappearing
Closes #83

Additional info (optional)

This is my first time using typescript, so please let me know if there's anything that can be changed for best practice!
Thank you!

@syuilo i've rebased this PR with your changes, please let me know if there's anything you'd like changed!


SAML authentication with UAA, behind a reverse proxy

SECURITY NOTICE: If you have found a security problem in the UAA, please do not file a public github issue. Instead, please send an email to<EMAIL_ADDRESS>Thanks for taking the time to file an issue. You'll minimize back and forth and help us help you more effectively by answering all of the following questions as specifically and completely as you can.
What version of UAA are you running?
What output do you see from curl <YOUR_UAA>/info -H'Accept: application/json'?
Using a downstream fork of UAA which is at version 75.14.0. /info endpoint is suppressed for security reasons.
How are you deploying the UAA?
I am deploying the UAA
other (please explain)
packaged for kubernetes from fork, with some modifications, as part of web application.
What did you do?
customer is running UAA with SAML auth behind a reverse proxy
TL;DR, the scenario does not work:
What did you expect to see? What goal are you trying to achieve with the UAA?
Looking for a view on whether SAML authentication with UAA, behind a reverse proxy, is a "supported" scenario, or whether this is more of an enhancement request
Situation here is complicated, since we are using a downstream fork of uaa, which has added its own modifications to support this.
I am raising this as a query against the upstream uaa, to get context for how to address the issue in the downstream fork.
TL;DR, the scenario does not work: the SAML login dialog is presented and completed OK, but in the ensuing callbacks, this error is seen :
org.opensaml.xml.security.SecurityException: SAML message intended destination endpoint did not match recipient endpoint

Research elsewhere suggests that
https://stackoverflow.com/questions/24805895/recipient-endpoint-doesnt-match-with-saml-response
"...at least one way to fix it is by configuring SAMLContextProviderLB instead of your current SAMLContextProviderImpl."
Referencing SpringBoot docu :
https://docs.spring.io/spring-security-saml/docs/current/reference/pdf/spring-security-saml-reference.pdf
page 37
"....changing
the contextProvider bean implementation in your securityContext.xml to class
org.springframework.security.saml.context.SAMLContextProviderLB:
"
"In case you use automatically generated metadata make sure to configure entityBaseURL matching
the front-end URL in your metadataGeneratorFilter bean:
"
Looking at UAA :
UAA subclasses org.springframework.security.saml.context.SAMLContextProviderImpl with org.cloudfoundry.identity.uaa.provider.saml.idp.IdpSamlContextProviderImpl, overriding
SAMLMessageContext()
populateLocalEntityId()
Looking at the recommendation in the SpringBoot docu, and following through the implications :
SpringBoot's recommended class (org.springframework.security.saml.context.SAMLContextProviderLB) also subclasses org.springframework.security.saml.context.SAMLContextProviderImpl,
adds
	private String scheme;
    private String serverName;
    private boolean includeServerPortInRequestURL;
    private int serverPort;
    private String contextPath;

overriding :

populateGenericContext() - calls superclass using a modified subclass of javax.servlet.http.HttpServletRequestWrapper

wrapper subclass overrides :
getContextPath() {
getScheme()
getServerName()
getServerPort()
getRequestURI() # actually does something
isSecure() # same

so a UAA variant of that would need to accomodate all that as well. Kinda tricky in the details, but looks doable.
What did you see instead?
the SAML login dialog is presented and completed OK, but in the ensuing callbacks, this error is seen :
org.opensaml.xml.security.SecurityException: SAML message intended destination endpoint did not match recipient endpoint

Please include UAA logs if available.

Ok, you mentioned you have a "  fork, with some modifications, as part of web application"
So do you have adapted the Bean Definition according to
https://docs.spring.io/spring-security-saml/docs/current/reference/html/configuration-advanced.html
?
Because then I recommend to you, please open a PR and we check how we can use both variant with and without proxy

I will speak with colleagues who look after the downstream fork, and get back to you on that.
thanks
From: Markus Strehle @.>
Sent: 10 March 2023 17:01
To: cloudfoundry/uaa @.>
Cc: Macaulay, Angus J (GE Digital) @.>; Author @.>
Subject: EXT: Re: [cloudfoundry/uaa] SAML authentication with UAA, behind a reverse proxy (Issue #2231)
WARNING: This email originated from outside of GE. Please validate the sender's email address before clicking on links or attachments as they may not be safe.
Ok, you mentioned you have a " fork, with some modifications, as part of web application"
So do you have adapted the Bean Definition according to
https://docs.spring.io/spring-security-saml/docs/current/reference/html/configuration-advanced.html
?
Because then I recommend to you, please open a PR and we check how we can use both variant with and without proxy
—
Reply to this email directly, view it on GitHub https://github.com/cloudfoundry/uaa/issues/2231#issuecomment-1464099472 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AHAJHLN35BNXGJDUL65E3PDW3NM33ANCNFSM6AAAAAAVSKPY7M .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/AHAJHLNZPF3JQVJFCFHJBBTW3NM33A5CNFSM6AAAAAAVSKPY7OWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSXIRRJA.gif Message ID: @.*** @.***> >

Hi,
I have setup uaa also in docker and nginx next to and simulated this. So UAA using SAML relys on uaa.url and entityBaseURL setting, e.g.
https://github.com/cloudfoundry/uaa/blob/develop/uaa/src/test/resources/integration_test_properties.yml#L59-L61
Set both to your external name auth.saml-example.net define proxy setting and finally ensure that you have enabled / activate the reservation of host header (ProxyPassReverse ), e.g. https://www.nginx.com/resources/wiki/start/topics/examples/likeapache/
Depending on your reverse proxy there should be a setting to do this and then you will get it working - at least in my case it worked then with SAML (azure) and UAA (docker) and NGINX (docker) .

thanks for taking time to look at this in more detail. I had also found it necessary to add proxy_set_header Host ;
I'll go back and retry this early next week.

close this now


osvrStartProcess implementation for non-windows systems

This issue requires this pull request to be merged first:
https://github.com/OSVR/OSVR-Core/pull/380
The osvrStartProcess function in osvrUtil has a commented out and untested implementation for non-windows systems. This needs to be tested and vetted, but should enable the server auto-start functionality for those systems.

Tested it in osx and works ok.
Included a patch file.
0001-Issue-387.-Uncommented-and-tested-in-OSX.patch.zip


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_e555798c-9672-4f0e-b465-02ba864a2fa4/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_e555798c-9672-4f0e-b465-02ba864a2fa4.git

Docs Build status updates of commit 60b6aed:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-RuningBuildFailed] Some unexpected errors happened when running build, please open a ticket in https://aka.ms/SiteHelp and include the error report for our team to troubleshoot

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


3D CNN for classification with gcam

Hi, first of all thank you for your dedication on this research area. It was really helped for me. But here's what I'm qurious about. I've made 3D model to classify the retinal disease, and I just extract the output of attention map which size is 8x6x6 from 256x192x192. I needed to use your interpolation function to make the attention map has sames shape with raw_input. The point is raw input data include a lot of zero values which is not considered in interpolating code. It means, even though zero area, attention map has been interpolated. So, is the any function that makes a proper interpolation based on the masked area?

hi @nedleeds, did you manage to solve this? I have the same issue...

hi @nedleeds, did you manage to solve this? I have the same issue...

I've just interpolated the attention map to the input size then overlayed on the input. I figured it out it was extracted correctly. Well, maybe you can check my code (https://github.com/nedleeds/OCTADeeplearning/blob/main/Medcam/medcam_utils.py).

Thanks for the reply, @nedleeds, I took a look at your code. It was helpful.
However, I do want to add this link to this thread for anyone looking at this later. You can get attention map directly with the following code
# Use parameter 'return_attention' to get the prediction and the attention
model = medcam.inject(model, output_dir="attention_maps", save_maps=False, return_attention=True)
...
prediction, attention_map = model(input)

The attention_map here is alredy the same size as the input.


Update README

This PR fixes #246 and cleans up the README a bit.

Codecov Report

Merging #248 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #248   +/-   ##
======================================
  Coverage    73.1%   73.1%
======================================
  Files          17      17
  Lines        5128    5128
======================================
  Hits         3749    3749
  Misses       1379    1379

Continue to review full report at Codecov.

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