Waiting for TCP hangups / resets.

This Tokio issue suggests that some things like be added to Mio, but does not mention any specific Github issue.
As far as I remember, being notified that TCP connection is going away (without reading or writing anything from it) is no longer possible with Mio 0.7, while it could be done in Mio 0.6 by waiting for some readiness without having some empty bitset.
Is omission of TCP disconnection detection due to deliberate design decision, due to portability concerns or is it just not implemented yet due to being too niche case?
I see two primary use cases for the feature:

Cancelling processing of some heavy-weight request if TCP socket, to which result of the request is going to be written becomes non-writeable due to client disconnection. We cannot yet read from the socket because of that would mean accepting the next request (and we want to provide backpressure) and we cannot yet write to the socket because of we don't have the data to be written yet. So we need events from the socket without both reading and writing.
Bulding correct TCP forwarders that propagate disconnections even in case of backpressure.

@vi I'm not sure what your asking here.
You'll get an event for TcpStream with Event::is_read_closed if you've registered with Interest::READABLE, if the other side disconnected the connection. And off the top of my head (read: I could be wrong) if the other side calls Tcpstream::shutdown. The same with writing is_write_closed and WRITABLE.

How do I register to wait just for Event::is_write_closed without also being woken up for Event::is_writable?

How do I register to wait just for Event::is_write_closed without also being woken up for Event::is_writable?

That's not possible, the OS doesn't provide a separate interface/event for this. Interest::WRITABLE registers both and it's up to the caller to do the correct thing based on the returned event. Could you check for Event::is_write_closed before processing the event like a writable event?

That's not possible, the OS doesn't provide a separate interface/event for this.

What about epoll_ctl with neither EPOLLIN nor EPOLLOUT. I expect EPOLLHUP to arrive when the socket gets abandoned by its peer.
epoll_wait(2) will always wait for this event; it is not necessary to set it in events when calling epoll_ctl().

Could you check for Event::is_write_closed before processing the event like a writable event?

I am not (yet) interested in waiting for socket to become writeable (because of I do not yet have any data to write to it). Do I correctly assume that Interest::WRITABLE is for when I have some data to be written to it?

For example, with this hack:
diff --git a/src/interest.rs b/src/interest.rs
index ee5158a..37ce330 100644
--- a/src/interest.rs
+++ b/src/interest.rs
@@ -1,4 +1,3 @@
-use std::num::NonZeroU8;
 use std::{fmt, ops};

 /// Interest used in registering.
@@ -16,6 +15,16 @@ use std::{fmt, ops};
 #[derive(Copy, PartialEq, Eq, Clone, PartialOrd, Ord)]
 pub struct Interest(NonZeroU8);

+/// Fake NonZeroU8 that can actually be zero, but has API of std's NonZeroU8.
+#[derive(Copy,Clone,Ord,Eq,PartialEq,PartialOrd,Hash)]
+pub struct  NonZeroU8(pub u8);
+
+impl NonZeroU8 {
+   pub const fn get(&self) -> u8 { self.0 }
+   pub const unsafe fn new_unchecked(x : u8 ) -> Self { Self(x) }
+   pub fn new(x : u8 ) -> Option<Self>{ Some(Self(x)) }
+}
+
 // These must be unique.
 const READABLE: u8 = 0b0_001;
 const WRITABLE: u8 = 0b0_010;

The following code detects that I exit from socat tcp-l:1234,reuseaddr,linger=0 - without being distracted by incoming data or by ability to write to the socket:
fn main() -> std::io::Result<()> {
    use std::net::SocketAddr;
    use mio::{Events, Interest, Poll, Token};
    use mio::net::TcpStream as MioTcpStream;
    use std::net::TcpStream as StdTcpStream;
    //use std::time::Duration;

    let address: SocketAddr = "<IP_ADDRESS>:1234".parse().unwrap();
    let s = StdTcpStream::connect(address)?;
    s.set_nonblocking(true)?;
    //let  s = socket2::Socket::from(s);
    //s.set_tcp_keepalive(&socket2::TcpKeepalive::new().with_time(Duration::from_secs(1)).with_interval(Duration::from_secs(1)).with_retries(2))?;
    //let s  = StdTcpStream::from(s);
    let mut s = MioTcpStream::from_std(s);

    let mut poll = Poll::new()?;
    let mut events = Events::with_capacity(128);

    let interest = Interest::WRITABLE;
    let interest = interest.remove(Interest::WRITABLE).unwrap();
    //let interest = Interest::DISCONNECTED;

    // Register the socket with `Poll`
    poll.registry().register(&mut s, Token(0), interest)?;

    poll.poll(&mut events, None)?;

    println!("Finished polling");

    Ok(())
}

If I enable keepalives the detection becomes more reliable and works also with nc -lp 1234.
How do I do that with unpatched mio? Shall I contribute a pull request, adding additional Interest constant that maps to EPOLLHUP? Here's a preview:
diff --git a/src/interest.rs b/src/interest.rs
index ee5158a..c35ed5a 100644
--- a/src/interest.rs
+++ b/src/interest.rs
@@ -32,6 +32,7 @@ const WRITABLE: u8 = 0b0_010;
 const AIO: u8 = 0b0_100;
 #[cfg_attr(not(target_os = "freebsd"), allow(dead_code))]
 const LIO: u8 = 0b1_000;
+const DISCONNECTED: u8 = 0b10_000;

 impl Interest {
     /// Returns a `Interest` set representing readable interests.
@@ -53,6 +54,9 @@ impl Interest {
     #[cfg(target_os = "freebsd")]
     pub const LIO: Interest = Interest(unsafe { NonZeroU8::new_unchecked(LIO) });

+    /// Returns a `Interest` set representing disconnected (hangup) interests.
+    pub const DISCONNECTED: Interest = Interest(unsafe { NonZeroU8::new_unchecked(DISCONNECTED) });
+
     /// Add together two `Interest`.
     ///
     /// This does the same thing as the `BitOr` implementation, but is a
@@ -113,6 +117,11 @@ impl Interest {
     pub const fn is_lio(self) -> bool {
         (self.0.get() & LIO) != 0
     }
+
+    /// Returns true if `Interest` contains DISCONNECTED readiness
+    pub const fn is_disconnected(self) -> bool {
+        (self.0.get() & DISCONNECTED) != 0
+    }
 }

 impl ops::BitOr for Interest {
diff --git a/src/sys/unix/selector/epoll.rs b/src/sys/unix/selector/epoll.rs
index 76ee7f9..0898b1d 100644
--- a/src/sys/unix/selector/epoll.rs
+++ b/src/sys/unix/selector/epoll.rs
@@ -140,6 +140,11 @@ fn interests_to_epoll(interests: Interest) -> u32 {
         kind |= EPOLLOUT;
     }

+    if interests.is_disconnected() {
+        // Technically no-op, is here just for consistency reasons
+        kind |= libc::EPOLLHUP;
+    }
+
     kind as u32
 }

The general idea could work for epoll, but I don't know about kqueue or IOCP and don't have the time to look into at the moment.

This StackOverflow comment suggest that it may work for IOCP as well:

Tested. Zero-byte read works. What's even better, it doesn't complete unless there's an connection error, ie. it doesn't lead to busy looping. What's a bit awkward though is that when you want to read some data you have to cancel the zero-byte read and initiate actual read request.

Closing this due to inactivity. @vi if you still want to please get in before v0.8 (see https://github.com/tokio-rs/mio/issues/1428).

@Thomasdezeeuw, would epoll-only implementation still be merged in Mio if I prepare a pull request (without trying to implement it for other platforms)?

@Thomasdezeeuw, would epoll-only implementation still be merged in Mio if I prepare a pull request (without trying to implement it for other platforms)?

I don't think that's a good idea. We're moving to stabilising a v1 so introducing a half implemented API seems like a bad idea.

Can this feature be somehow implemented outside mio itself (but without dup(2)licating all the TCP socket file descriptor), yet still usable in Tokio (without too much changes to the code that is not related to hangup detection)?
For example, would creating a second, non-mio-managed epoll_create(2) fd that monitors the same TCP sockets as mio-controlled poll fd to monitor for those specific events a good idea?

Can this feature be somehow implemented outside mio itself (but without dup(2)licating all the TCP socket file descriptors), yet still usable in Tokio (without too many changes to the code that is not related to hangup detection)? For example, would creating a second, non-mio-managed epoll_create(2) fd that monitors the same TCP sockets as mio-controlled poll fd to monitor for those specific events be a good idea?

You could use the AsRawFd implementation on Poll (https://docs.rs/mio/0.7.14/mio/struct.Registry.html#impl-AsRawFd) to get the epoll fd, then do the same for TpcStream (https://docs.rs/mio/0.7.14/mio/net/struct.TcpStream.html#impl-AsRawFd) and call epoll_ctl yourself. But I then you have to control everything yourself.

I mean creating second, distinct epoll fd that would be managed not by mio, not reusing mio's epoll context.

Why wouldn't you want to reuse Mio's epoll fd?

By the way is adding one epoll fd to another a good idea? TCP hangup triggers my epoll fd, which in turn triggers the primary, mio-controlled epoll fd, signaling my code to pay attention to the subservient epoll fd.

We're doing that for the Waker impl with kqueue, I'm not sure about epoll.

Manpage states it's allowed:
 4.  What happens if one attempts to put an epoll file descriptor
           into its own file descriptor set?

           The epoll_ctl(2) call fails (EINVAL).  However, you can add
           an epoll file descriptor inside another epoll file descriptor
           set.

, but what if it unpopular enough to catch a stream of latent Linux kernel bugs (or just degrades performance for all events in the primary epoll set)?

Created a prototype of TCP reset handling library to illustrate a point about TCP resets. It uses separate epoll fd and a separate OS thread.

I see OS-specific mio::Interest::AIO. If OS-specific Interest are allowed, then maybe Linux-specific mio::Interest::HANGUP (which just means empty interest under the hood) would also be allowed?
If/when other platforms get implemented then cfg of mio::Interest::HANGUP would just be extended.

I see OS-specific mio::Interest::AIO. If OS-specific Interest are allowed, then maybe Linux-specific mio::Interest::HANGUP (which just means empty interest under the hood) would also be allowed?
If/when other platforms get implemented then cfg of mio::Interest::HANGUP would just be extended.

Adding Interest::HANGUP would be misleading that is always registered, so it's not optional and not setting it would still mean you get events for it.

Created a prototype of TCP reset handling library to illustrate a point about TCP resets. It uses separate epoll fd and a separate OS thread.

I still don't understand why you wouldn't use Mio's epoll fd and existing infrastructure. The events will be passed along just fine, it's just the initial registering you have to do yourself. No need for another epoll fd or another thread.

I still don't understand why you wouldn't use Mio's epoll fd and existing infrastructure.

I assumed that messing with mio's epoll fd can break some delicate balance and cause unsafety or other misbehaviour and generally requires understanding of the whole mio.
For example, I assume that mio or tokio somehow combines interests if multiple tasks waits for the same socket with different interest masks. Naive direct EPOLL_CTL_MOD without caring for other tasks may remove read- or write-readiness interest from other code.
Also the resulting event would arrive into tokio, which may just ignore it (if I use Tokio helpers like tokio::net::tcp::Owned{Read|Write}Half and the traits). This may be a problem even if there were empty Interest. But that would still be a problem even if mio::Interest::HANGUP (or analogue) were supported.

I still don't understand why you wouldn't use Mio's epoll fd and existing infrastructure.

I assumed that messing with mio's epoll fd can break some delicate balance and cause unsafety or other misbehaviour and generally requires understanding of the whole mio.

I can say for epoll you can register fd yourself directly accessing the raw epoll fd and nothing will break.

For example, I assume that mio or tokio somehow combines interests if multiple tasks waits for the same socket with different interest masks. Naive direct EPOLL_CTL_MOD without caring for other tasks may remove read- or write-readiness interest from other code.

I can't speak for Tokio, but for Mio the interests are set-all, i.e. you can't add/remove interest. However if you add any interest to no interest (HANGUP) then you'll still get the events. For removing you indeed need to keep some state, but you already have to do that to ensure your not overwriting interest.

Also the resulting event would arrive into tokio, which may just ignore it (if I use Tokio helpers like tokio::net::tcp::Owned{Read|Write}Half and the traits). This may be a problem even if there were empty Interest. But that would still be a problem even if mio::Interest::HANGUP (or analogue) were supported.

Hangup should case Event::is_read_closed to trigger, which I assume Tokio handles, but I don't know how.


To use auditlog custom conentor with an account with MFa. Registerd an app for token & using oauth in security instead of basic but keep getting 401. Having GA rights. Assigned API permission (O365 management api)same mentioned here https://flow.microsoft.com/en-us/blog/automate-flow-governance/.   Error is The audience claim value is invalid for current resource. Audience claim is 'https://manage.office.com',request url is 'https://outlook.office365.com/psws/service.svc/UnifiedAuditLog

Any update on this issue?

@P2020-c can you edit this issue and provide and short title and move this text to the body of the issue?

To use auditlog custom conentor with an account with MFa. Registerd an app for token & using oauth in security instead of basic but keep getting 401. Having GA rights. Assigned API permission (O365 management api)same mentioned here https://flow.microsoft.com/en-us/blog/automate-flow-governance/. Error is The audience claim value is invalid for current resource. Audience claim is 'https://manage.office.com',request url is 'https://outlook.office365.com/psws/service.svc/UnifiedAuditLog

@gregdegruy : is that ok now?

I have the same issue. I guess using this service is not optimal (https://outlook.office365.com/psws/service.svc/UnifiedAuditLog). It seems to be an internal service for an older PowerShell command and seems it doesn't support OAuth. Basic Auth with GA is an absolut no go for production environments!
Any help would be appreciated.
Best wishes!
Christian

Hello,
we have just published a solution and setup instructions to sync the Audit Log with MFA enabled
https://github.com/microsoft/powerapps-tools/tree/master/Administration/CoEStarterKit/Audit Log (MFA)
Best Regards,
Manuela

Thanks Manuela!
I'll give it a try. The approach looks great.

Please let me know if you find any issues with it, it's a v1!

Hey Manuela,
it works - good job! :)
Suggestion for an security improvement. For the current CoE setup you only need the following permissions App Permissions from Management API:
ActivityFeed.Read (delegated)

Best wishes
Christian

Awesome, thanks for confirming!
Good point, I will make the update! Also, we are hopeful to have the CoE documentation in a dedicated area under docs.microsoft.com by end of next week which should allow you to contribute and make pull requests from there then. Will keep you updated!


Do not reload rest api when go back

I try to use RestClient in square flow. This is my step :
Example:
1. Main screen call rest api in presenter. And then go to screen 2
2. On screen 2, call goBack.

Why when go back to screen 1, rest api is called?
How prevent rest client running when goBack?

Depends on your Dispatcher implementation, which is not Flow's concern, tbh.


Cannot convert undefined or null to object, in push notifications under settings

Hey there the following errors pops up when I try to navigate to the push notifications section through my profile. Not sure if this has to be this way, sorry for opening the issue if this was intentional.

hey @distroinfinity! thanks for your feedback!
is it on prod or dev? does everything work fine on native?

Hey @alantoa its in prod, i am using it on the browser(tried on brave and chrome), haven't used the native apps. The error pops up on this route specifically https://showtime.xyz/settings?tab=4

oh, I got it, looking into this, @distroinfinity thank you!

fixed in https://github.com/showtime-xyz/showtime-frontend/pull/1669
thank you very much for this feedback! @distroinfinity 🙏


NullPointerException during RDF generation for WP3607(?)

  pathway: WP3607   84318
[  1349.034] Info:  Recognized format [Namespace: prefix "" is mapped to URI "http://pathvisio.org/GPML/2013a"]
[  1349.039] Info:  Document is valid according to the xml schema definition 'GPML2013a.xsd'
Exception in thread "main" java.lang.NullPointerException
    at com.hp.hpl.jena.datatypes.TypeMapper.getTypeByValue(TypeMapper.java:158)
    at com.hp.hpl.jena.graph.impl.LiteralLabelImpl.<init>(LiteralLabelImpl.java:136)
    at com.hp.hpl.jena.graph.impl.LiteralLabelFactory.createTypedLiteral(LiteralLabelFactory.java:99)
    at com.hp.hpl.jena.rdf.model.impl.ModelCom.createTypedLiteral(ModelCom.java:767)
    at com.hp.hpl.jena.rdf.model.impl.ResourceImpl.addLiteral(ResourceImpl.java:263)
    at org.wikipathways.wp2rdf.converter.LabelConverter.parseLabelGpml(LabelConverter.java:55)
    at org.wikipathways.wp2rdf.GpmlConverter.convertGpml(GpmlConverter.java:178)
    at org.wikipathways.wp2rdf.WPREST2RDF.main(WPREST2RDF.java:95)
Build step 'Execute shell' marked build as failure

Not possible to figure out what was wrong with this pathway; it's deleted now.


The close button of the developer tools is hidden.

Hi, I am a vscode extension developer, after the recent update, the close button of vscode developer tools is hidden, I can only close it through Toggle Developer Tools.

/duplicate
Mitigation: Disable the window.experimental.windowControlsOverlay.enabled setting and reload the window.
Will be resolved when VS Code adopts a newer maintenance version of Electron.

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


terminate called after throwing an instance of 'std::runtime_error'   what():  thread failed with: std::bad_alloc

terminate called after throwing an instance of 'std::runtime_error'
what():  thread failed with: std::bad_alloc

when does it happen?

running out of RAM?

Just now, I compiled the code

running out of RAM?

The memory usage is around 60%

run commod is ：
chia_plot -n 1 -r 4 -t /mnt/ssd/ -d /mnt/ssd/ -p xxx -f xxx

什么时候发生的？

./chia_plot -n 1 -r 4 -t ~/Downloads/1/ -d ~/Downloads/ -p 899a4656dac8c6c70f1cdcf30xxxxxxxxxx5dac1839af4ea6ae44f85 -f aa291e70c657f634c91bd0a362xxxxxxxxx16caa5dc00d7ff022d5b
Multi-threaded pipelined Chia k32 plotter - 72f4acd
Final Directory: /Users/test2/Downloads/
Number of Plots: 1
Crafting plot 1 out of 1
Process ID: -1
Number of Threads: 4
Number of Buckets: 2^8 (256)
Pool Public Key:   899a4656dac8c6c70f1cdcf30617e7xxxxxxxx062695dac1839af4ea6ae44f85
Farmer Public Key: aa291e70c657f634c91bd0a36274bc6700a84daxxxxxxxxaed57c216caa5dc00d7ff022d5b
Working Directory:   /Users/test2/Downloads/1/
Working Directory 2: /Users/test2/Downloads/1/
Plot Name: plot-k32-2021-06-13-05-55-3f70bf5xxxxxxxx3bd4681b1f445cdabb0c19a5
libc++abi: terminating with uncaught exception of type std::runtime_error: fopen() failed
zsh: abort      ./chia_plot -n 1 -r 4 -t ~/Downloads/1/ -d ~/Downloads/ -p  -f

does it happen always or just sometimes?

It has happened to me as well when tried to use 4G mounted RAM. When reduced to 2G, it has thrown:
terminate called after throwing an instance of 'std::runtime_error'   what():  thread failed with: thread failed with: fwrite() failed Aborted (core dumped)

does it happen always or just sometimes?

Occasionally, the TMP file may not be cleaned up in time and the local SSD space is not enough, I am not sure


Need Elyra pipeline documentation

As a data ingester, I want to ingest the WRI GPPD data and then pass metadata to a metadata update process.  But I don't know the best way to pass my specific metadata (schema name for WRI GPPD, tables I create as a result of ingestion, and information about the fields of those tables) to a generic metadata upload process.
Please update https://github.com/os-climate/os_c_data_commons/blob/main/docs/create-processing-pipeline.md

Generic documentation and examples of pipelines to refer to:
https://github.com/elyra-ai/examples

@erikerlandson  Is this something you are actively working on do you need clarity .

Moved back to the backlog as we need to consider which pipeline automation tool we want to adopt (Elyra / Airflow / Kubeflow).

@caldeirav is this a question for the TAC or a tactical one for DC TSC?  Thanks,

There has to be a technical discussion at the level of the Data Commons stream before we could determine this. Likely the TAC is required only if we are looking at a fundamental change in approach, but not just for a choice of tooling.


Change another docker image

Just try to make it passed on travis

@maximilien travis passed, please merge my PR first, and then merge PR16 by @gnanbj
Thanks.

OK, I like the idea of moving to a more official docker image. I assume this is the best one you could find? Worried a bit that this is for bosh-lite and not full bosh.
Merging so we can move on.
/cc FYI @posijon


Import errors with Vite??

Error:
.../node_modules/tailwindcss-scoped-preflight/dist/plugin.mjs not supported. Instead change the require of .../node_modules/tailwindcss-scoped-preflight/dist/plugin.mjs to a dynamic import() which is available in all CommonJS modules.

This works just fine so long as your tailwind and postcss config files are pure js not cjs btw.

@OluAgunloye could you please share a minimal reproducible project boilerplate so I could play with it?
I just made one with vite - out of the box I had issue with postcss until changed the provided package.json "type" from "module" to "commonjs". The plugin is installing and working just fine. Readme there is generic, you may ignore it - just checkout, install dependencies and run.

@OluAgunloye just released v1.2.0 - it may resolve the require issue, if it's your case. Please check

as mentioned 3 weeks ago, it should have been fixed, closing for now. @OluAgunloye Please try the new version and if it doesn't fix your issue - feel free to reopen but provide a minimal reproducible project with your case


[documentintelligence] Code fixes

Miscellaneous fixes for the document intelligence package.

Fix samples
Fix content type issue
Update docs

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-documentintelligence


UI Redesign in line with new Website update

reference docs pr: https://github.com/stackabletech/documentation-ui/pull/73
new website draft: https://stackable.berlin-byt.es/

[x] change header
[x] change footer
[x] change fonts

stretch goals:

[ ] get rid of halfmoon dependency
[ ] improve accessibility
[x] maintenance, dependency bumps

I want to spend some more time on getting rid of the halfmoon JS script, and making the menu more in line with the other sites.
For that I want to also build a popup menu that is triggered with a click (for accessibility and mobile, and so I don't have to build an alternative mobile version right away) but build it with plain JS and make it look more like the menu on the main site.

Done. I've made the popup menu use simple JS, and had to replace the "Copied" tooltip with something custom as well.


BASEPLATE_SIDECAR_(s/METRICS/ADMIN)_PORT

I ended up naming the env var slightly differently https://github.snooguts.net/reddit/infrared/blob/master/pkg/baseplate/sidecars.go#L47
Updating it here to match
✅ Checks

[x] CI tests (if present) are passing
[x] Adheres to code style for repo
[ ] Contributor License Agreement (CLA) completed if not a Reddit employee

Ah, looks like the build failures are caused by a Python change https://importlib-metadata.readthedocs.io/en/latest/history.html 🔧 👀

Failures are fixed here https://github.com/reddit/baseplate.py/pull/750


Support additional auth types from Cadl

For DPG2.0b1, we will support the same authentication feature set as we did in DPG1.0, as tracked by https://github.com/Azure/autorest.csharp/issues/2577
Work remains to generate clients that use additional types of auth that can be expressed in Cadl.
Per @AlexanderSher:
how much of these we need to support?https://github.com/microsoft/cadl/blob/b44b8d414e8e940c2eb7a9d92fa40857b3eba3f5/packages/rest/docs/authentication.md
Specifically:

Do we need to support tuples?
Which of the models are we going to support? https://github.com/microsoft/cadl/blob/main/packages/rest/lib/auth.cadl
How are we going to map authentication models into existing Azure.Identity objects?

https://github.com/Azure/autorest.csharp/issues/2590 is a related issue.

Close it as duplicate


RedirectMissingLocation: Redirected but the response is missing a Location: header.

`#!git clone https://github.com/RaviSoji/colab_utils.git  # Include the "!".
import colab_utils
drive = colab_utils.get_gdrive()
colab_utils.push_to_gdrive(drive,'celeba-dataset.zip', 'faces_celeba_dataset')
Error:
`---------------------------------------------------------------------------
RedirectMissingLocation                   Traceback (most recent call last)
 in ()
3 drive = colab_utils.get_gdrive()
4
----> 5 colab_utils.push_to_gdrive(drive,'celeba-dataset.zip', 'faces_celeba_dataset')
6 #A=colab_utils.pull_from_gdrive(drive, 'GAN/img_original.pkl','NEWTEST.pkl')
11 frames
/usr/local/lib/python3.6/dist-packages/httplib2/init.py in _request(self, conn, host, absolute_uri, request_uri, method, body, headers, redirections, cachekey)
1688                             ),
1689                             response,
-> 1690                             content,
1691                         )
1692                     # Fix-up relative redirects (which violate an RFC 2616 MUST)
RedirectMissingLocation: Redirected but the response is missing a Location: header.`
Both directories are available in the colab and the drive

Hey,
Sorry I have had no time to look at this between school, work, and the pandemic. If you managed to adress, feel free to make a pull request, and I will merge it.
Thanks!
Ravi B. Sojitra


(foo##bar).baz prints wrongly

Prints as foo##bar.baz
Error: Js object ## expect syntax like obj##(paint (a,b))
@bsansouci @Schmavery

Hmmm the printer thinks that dot is lower precedence than ## but the parser knows that dot is highe precedence than ## it seems.

I think this was fixed in #2050


Proof of concept for Strapi-v4 and Gatsby-v4

The idea is to use the graphql api rather than the REST api, to build out the types in the Gatsby schema and expose relationships within components which are not supported right now.
I also integrated support for finding images in markdown text.
Does anyone of the maintainers want to take this to the next level?
https://github.com/relate-app/gatsby-source-strapi

Does this plugin support Strapi V4? I am having a lot of technical issues using Gatsby V4 with gatsby-source-strapi 1.0.2 and Strapi V4.

Yes, I thought I made that clear in the title
Skickat från min iPhone

15 dec. 2021 kl. 23:37 skrev Chandra Panta Chhetri @.***>:

Does this plugin support Strapi V4? I am having a lot of technical issues using Gatsby V4 with gatsby-source-strapi 1.0.2 and Strapi V4.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

That reminds me, we also added support for dynamic component fields, that have a union type inside Strapi graphql. We can do this because we build the schema by parsing the introspection schema from the Strapi graphql.

gatsby-source-strapi doesn't work with Strapi v4

@jeftarmascarenhas I recently faced this issue as well. There is a simple workaround. Change what you have in the gatsby-config for gatsby-source-strapi to:
module.exports = {
  plugins: [
    {
      resolve: `gatsby-source-strapi`,
      options: {
        apiURL: `http://localhost:1337`,
        collectionTypes: [
          {
            name: `categories`,
            endpoint: "api/categories",
          }, //Repeat for each of your collection types
        ],
      },
    },
  ],
}

So when starting your project, it will call http://localhost:1337/api/categories and when accessing an image it will be http://localhost:1337/uploads/...png.

@jeftarmascarenhas I recently faced this issue as well. There is a simple workaround. Change what you have in the gatsby-config for gatsby-source-strapi to:
module.exports = {
  plugins: [
    {
      resolve: `gatsby-source-strapi`,
      options: {
        apiURL: `http://localhost:1337`,
        collectionTypes: [
          {
            name: `categories`,
            endpoint: "api/categories",
          }, //Repeat for each of your collection types
        ],
      },
    },
  ],
}

So when starting your project, it will call http://localhost:1337/api/categories and when accessing an image it will be http://localhost:1337/uploads/...png. By default, Strapi stores your images in the uploads folder so you cannot access it by /api/uploads/...png but rather /uploads/...png.

Thanks @Chandra-Panta-Chhetri, I will try it.

@jeftarmascarenhas did it work for you? I implement the same, but when I go to the gatsby-graphiql I can't find the images

@Chandra-Panta-Chhetri when I try your workaround, it only detects static fields, and does not detect any relation fields connecting tables. Have you experienced the same? I am going to try the updated plugin referenced in this thread and will report back on my experience. Thanks!

@timbrandin I tried your new plugin and it appears to have solved my issue and is working great. The main problem I had with the old plugin was, even with workaround, it did not detect data relationships. But as soon as I installed your plugin, I could see the relationships. Thanks so much for your effort!

@timbrandin, I tried your version of the connector and dynamic Zone created in the Content-Types builder in Strapi v.4 but got the same error as before. Do we need to modify the schema files created by the plugin?
Field "contentSections" of type "[StrapiPageContentSectionsDynamicZone]" must have a selection of subfields. Did you mean "contentSections { ... }"?

Hello everyone
Over the past few weeks, we've been working on our own new major release to support v4. You can follow the progress on this PR: https://github.com/strapi/gatsby-source-strapi/pull/266
Once it will be released I'll close this issue

@timbrandin, I tried your version of the connector and dynamic Zone created in the Content-Types builder in Strapi v.4 but got the same error as before. Do we need to modify the schema files created by the plugin?
Field "contentSections" of type "[StrapiPageContentSectionsDynamicZone]" must have a selection of subfields. Did you mean "contentSections { ... }"?

Would you mind adding this as a ticket over on the repo? https://github.com/relate-app/gatsby-source-strapi
There should be no need to edit anything extra than what's mentioned in the README, but I know there are issues with dynamic zones having multiple components with fields having same name but different types, so maybe that's the issue in this case?


Check service calls, whether they are coming from the frontend.

p2, not urgent, just to keep track of it. At the moment the open API helps to debug issues.

It looks like that with the current setup (accessing services through their public URL) we don't have any appengine header that we could use to automatically restrict access from outside.
Headers from HTTP access through frontend:
x-cloud-trace-context = 7ed48e9c4e984bfba5b18f883d45838b/16292583403674841989
x-appengine-city = ?
content-length = 0
host = search-dot-dartlang-pub-dev.appspot.com
via = 1.1 google
x-forwarded-proto = https
x-appengine-citylatlong = 0.000000,0.000000
x-forwarded-for = <IP_ADDRESS>, <IP_ADDRESS>
x-appengine-country = US
x-appengine-region = ?

Headers from HTTP access through public URL:
x-cloud-trace-context = 1368b3a4357604e6ecb2293d5a2c5309/17388231850812814525
user-agent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
x-appengine-city = budapest
accept-encoding = gzip, deflate
x-forwarded-proto = http
x-appengine-country = HU
accept = text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
accept-language = en-US,en;q=0.8,hu;q=0.6
host = search-dot-dartlang-pub-dev.appspot.com
via = 1.1 google
x-appengine-citylatlong = 47.497912,19.040235
x-forwarded-for = <IP_ADDRESS>, <IP_ADDRESS>
upgrade-insecure-requests = 1
x-appengine-region = bu

@mkustermann: are you aware of any header that we could set and won't be stripped during the inside-appengine calls?
Otherwise would need a more elaborate token passing, and I'd do that only if this becomes a real issue. (Btw. only the notifications are affected).

@isoos The question is not which headers are present by default, but what happens to extra x- or x-appengine headers we pass. The idea is that GAE will strip/mangle certain external header names whereas we would get unstripped ones from frontend -> search/analysis.
The reason that this is possible is that all services are in the same cloud project / compute engine virtual network. This means the instances should be able to talk to each other directly, bypassing the appengine header manging/stripping.
In the worst case: There is an appengine api which can be used to query the IP address of another service (basically doing our own DNS resolving for these public names).
wdyt?

I've tested these just now:

x-appengine-random-header is not stripped out and it can be faked externally
x-appengine-inbound-appid is stripped out, both from frontend and from external calls

The linked appengine api doesn't seem to be enough, because it only gets us the configuration (e.g. what version of services are alive and get the traffic), but do not forward calls with the x-appengine-inbound-appid header.
I'm not sure if it is worth to put too much effort into this, but if you have a good lead, let me know. otherwise we shall close this issue for now...

We could always have a shared secret. 😄


[FAQ] How to convert JSON structures into schemas

@Peefy can you provide some description over here please.

https://kcl-lang.io/docs/user_docs/guides/data-integration

Do i have to add the answer and explaination to an FAQ ? @Peefy

Yes.

Made the PR #281, please have a look. Also, shall i also push the reverse question too , that is , converting schemas to JSON?


[Release 1.27] Bump latest kube-router version

Backport for #9306

Validated on go mod job
https://github.com/rancher/distros-test-framework/actions/runs/7920539587


Update sample16.cs

for performance improve ,  PopulateAssignedCourseData method call is unnecessary if instructor is null, so moved down after checking instructor null

Nice fix. You should check the Razor Pages version and MVC version for that.


Orientation does not work on entity(ies).

In cesium, you can change the orientation of an entity.  Resium imports the orientation, but nothing works re the orientation.  Unable to make any orientational changes to the entity.  I have tried multiple options.

This is a bug

Anyone have any update on when the orientation will be fixed.   We definitely need a way to change the orientation of an ellipsoid.

Please provide sample codes which reproduces the problem. Also test it without Resium and confirm it works.

Closed due to no reply. Let me know if you have any more problems.


Automatic token registration

Thank you for this interesting project :)
We can automatically load oauth token by the code below if we already use gh cli.
let s:gh_token_path = glob('~/.config/gh/hosts.yml')
if !empty(s:gh_token_path)
    for line in readfile(s:gh_token_path, '')
        if line =~ 'oauth_token'
            let g:gh_token = matchlist(line, 'oauth_token: \(.*\)')[1]
            break
        endif
    endfor
endif

Could this patch be imported to this project?
Thank you.

Good idea :)
Could you make a PR?

Good idea :)
Could you make a PR?


Updated application js/coffee to adjust the message timestamp based on the user's timezone

Also added .DS_Store to the .gitignore to stop me from accidentally committing the bastard files

Offset change merged, made sure only valid dates are adjusted.


Fixed language options

1. By default the language of the app syncs with system language.

2. "Restart Required" is only displayed when the language of app is changed.

3.  The name of the languages are shown in their native name and script.

How did you get all the supported language? Did you install them from Windows Settings?

How did you get all the supported language? Did you install them from Windows Settings?

Windows.Globalization.ApplicationLanguages.ManifestLanguages will do the trick.

Instead of System Default use Windows default and don't make the D capital.

Ok.

@soumyamahunt It doesn't work that way. Windows.Globalization.ApplicationLanguages.ManifestLanguages will return the list of supported languages however you can only set the language if it's installed. By default, only resource files for the languages in your language list would be downloaded by the Microsoft Store. Setting a language that is not in the language list won't work. You can try it for yourself.

@soumyamahunt Please, check "Restart required" text visibility on light theme.
@Jaiganeshkumaran All languages are visible only in debug mode, when you build in release mode, only installed languages will be visible

@soumyamahunt It doesn't work that way. Windows.Globalization.ApplicationLanguages.ManifestLanguages will return the list of supported languages however you can only set the language if it's installed. By default, only resource files for the languages in your language list would be downloaded by the Microsoft Store. Setting a language that is not in the language list won't work. You can try it for yourself.

Windows.Globalization.ApplicationLanguages.ManifestLanguages will return all the supported languages that are currently installed with the app. If during packaging of the app “Create App bundle” isn't set to "Never", when published to store Windows will only install the language which are currently installed by user in Windows settings. If devs want to make all the supported languages available to user they can just set “Create App bundle” to "Never". In any case, if you are wondering there is any chance of error there won't be any exception thrown.

@soumyamahunt Please, check "Restart required" text visibility and readability on light theme.

Will push a fix on that.

@Jaiganeshkumaran All languages are visible only in debug mode, when you build in release mode, only installed languages will be visible

Not true actually, you can set “Create App bundle” to "Never" to show all supported languages even that are not installed in Windows settings.

All languages are visible only in debug mode, when you build in release mode, only installed languages will be visible

Not true actually, you can set “Create App bundle” to "Never" to show all supported languages even that are not installed in Windows settings.

But we shouldn't do that since it will increase the download size.

How did you get all the supported language? Did you install them from Windows Settings?

When you build the app from the source you will see all the languages.


Update linting tools

Description
Bump tools version
Update source code formatting
References
Fix #618
Checklist

[x] I have read the contribution guide
[x] Code lint checked via inv lint
[x] changes file included (see docs)
[ ] Usage documentation added in case of new features
[ ] Tests added

Coverage decreased (-0.1%) to 96.464% when pulling 78ffd13fb14ce262262270d118a93734d3f33360 on bugfix/issue-618-update-lint into 802c565bf7704ad39939ff3208c093682cb0b7ac on develop.


Android - Connect Bank Account - Seeing continue with setup screen for a brief moment when connecting manually - reported by @thesahindia

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch the app
Go to workspace > connect bank account
Click connect manually and press native back button of your mobile
OR
Go to workspace > connect bank account
Navigate back using back arrow or native back button of your mobile

Expected Result:
You should see the connect bank account page
Actual Result:
Seeing continue with setup screen for a brief moment when connecting manually
Workaround:
Unknown
Platform:

Where is this issue occurring?

Android

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): n/a
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/164580755-c4c1635d-2d18-41a0-9b30-62e5ddc05318.mp4
Expensify/Expensify Issue URL:
Issue reported by: @thesahindia
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1649070836326089
View all open jobs on GitHub

We can close this as we already have the same issue logged here https://github.com/Expensify/App/issues/8541


Create Docker-compose file

Is there any way of getting a docker-compose file to be generated as part of this process?
I haven't yet implemented this on my server, but looking through all of the playbooks, it looks like each container is just created as a single container through the ansible-docker API. Does this mean the only way to manage the containers is through Portainer, and if I wanted to make a change, I would need to go through each playbook task and modify them?

@atg22896 does @Malpractis's reply answer what you're trying to achieve (not running the whole playbook to make changes)?
I have to be honest, I'm not keen on managing the config for everything in two places (Ansible and an Ansible'd docker-compose) - primarily because I'm not entirely convinced it'd bring anything to the project.
Granted right now you have to stop containers manually or via Portainer, but this is tracked via #207 and will be fixed at some point in the not-too-distant future...

Closing due to inactivity.

Closing due to inactivity.


implement MSM link

#15

This change is

just $ make format before you add and commit your changes to pass the CI

obsolated by #518


Clingo programs with python scripts hang with Python3.12

Hi, I was facing a problem that part of my clingo codes suddenly fail to run (with infinite grounding). I thought it might be related to the upgrade to version 5.7, but it is not. Here is an example of the program which is executable in both Clingo 5.6.2 and 5.7 with Python 3.9 or 3.11, but not 3.12.
#show body_chain/3.
max_arg(6).

#script (python)

from itertools import permutations
from clingo.symbol import Tuple_, Number
def mk_tuple(xs):
    return Tuple_([Number(x) for x in xs])
def pyvars(arity, max_vars):
    for x in permutations(range(max_vars.number),arity.number):
        yield mk_tuple(x)

#end.

input(0).
input(1).
input(2).

func(if).
func(car).
func(cdr).
func(cons).
func(nulllist).

arity(if, 3).
arity(car, 1).
arity(cdr, 1).
arity(cons, 2).
arity(nulllist, 1).

vars(Func,@pyvars(A,MaxVars)):-
    max_arg(MaxVars),
    arity(Func, A).

4 {body_chain(Func, Args, Outarg) : func(Func), vars(Func, Args), Outarg = 1..8, not input(Outarg)} 5.

My device is Macbook with M1pro. If I remembered correctly, calling the file by Python-API (instead of clingo command line directly) works with 5.7.1+3.12. The issue was found when using Python installed by homebrew, and reappears in conda.

To work with python 3.12, the file libpyclingo/_clingo.c has to be regenerated with cffi 1.16.0. You could apply the following patch to fix the issue:
diff --git a/libpyclingo/_clingo.c b/libpyclingo/_clingo.c
index 36a72d3c..2d6e4cca 100644
--- a/libpyclingo/_clingo.c
+++ b/libpyclingo/_clingo.c
@@ -612,7 +612,8 @@ extern "C" {

    * _cffi_call_python_org, which on CPython is actually part of the
      _cffi_exports[] array, is the function pointer copied from
-     _cffi_backend.
+     _cffi_backend.  If _cffi_start_python() fails, then this is set
+     to NULL; otherwise, it should never be NULL.

    After initialization is complete, both are equal.  However, the
    first one remains equal to &_cffi_start_and_call_python until the
@@ -962,7 +963,7 @@ static int _cffi_initialize_python(void)

         if (f != NULL && f != Py_None) {
             PyFile_WriteString("\nFrom: " _CFFI_MODULE_NAME
-                               "\ncompiled with cffi version: 1.15.0"
+                               "\ncompiled with cffi version: 1.16.0"
                                "\n_cffi_backend module: ", f);
             modules = PyImport_GetModuleDict();
             mod = PyDict_GetItemString(modules, "_cffi_backend");
@@ -1020,6 +1021,15 @@ static int _cffi_carefully_make_gil(void)
        Python < 3.8 because someone might use a mixture of cffi
        embedded modules, some of which were compiled before this file
        changed.
+
+       In Python >= 3.12, this stopped working because that particular
+       tp_version_tag gets modified during interpreter startup.  It's
+       arguably a bad idea before 3.12 too, but again we can't change
+       that because someone might use a mixture of cffi embedded
+       modules, and no-one reported a bug so far.  In Python >= 3.12
+       we go instead for PyCapsuleType.tp_as_buffer, which is supposed
+       to always be NULL.  We write to it temporarily a pointer to
+       a struct full of NULLs, which is semantically the same.
     */

 #ifdef WITH_THREAD
@@ -1044,19 +1054,32 @@ static int _cffi_carefully_make_gil(void)
         }
     }
 # else
+#  if PY_VERSION_HEX < 0x030C0000
     int volatile *lock = (int volatile *)&PyCapsule_Type.tp_version_tag;
-    int old_value, locked_value;
+    int old_value, locked_value = -42;
     assert(!(PyCapsule_Type.tp_flags & Py_TPFLAGS_HAVE_VERSION_TAG));
+#  else
+    static struct ebp_s { PyBufferProcs buf; int mark; } empty_buffer_procs;
+    empty_buffer_procs.mark = -42;
+    PyBufferProcs *volatile *lock = (PyBufferProcs *volatile *)
+        &PyCapsule_Type.tp_as_buffer;
+    PyBufferProcs *old_value, *locked_value = &empty_buffer_procs.buf;
+#  endif

     while (1) {    /* spin loop */
         old_value = *lock;
-        locked_value = -42;
         if (old_value == 0) {
             if (cffi_compare_and_swap(lock, old_value, locked_value))
                 break;
         }
         else {
+#  if PY_VERSION_HEX < 0x030C0000
             assert(old_value == locked_value);
+#  else
+            /* The pointer should point to a possibly different
+               empty_buffer_procs from another C extension module */
+            assert(((struct ebp_s *)old_value)->mark == -42);
+#  endif
             /* should ideally do a spin loop instruction here, but
                hard to do it portably and doesn't really matter I
                think: PyEval_InitThreads() should be very fast, and

I applied the patch to the conda-forge releases. They should work just fine now.

#show body_chain/3.
max_arg(6).
#script (python)
from itertools import permutations
from clingo.symbol import Tuple_, Number
def mk_tuple(xs):
return Tuple_([Number(x) for x in xs])
def pyvars(arity, max_vars):
for x in permutations(range(max_vars.number),arity.number):
yield mk_tuple(x)
#end.
input(0).
input(1).
input(2).
func(if).
func(car).
func(cdr).
func(cons).
func(nulllist).
arity(if, 3).
arity(car, 1).
arity(cdr, 1).
arity(cons, 2).
arity(nulllist, 1).
vars(Func,@pyvars(A,MaxVars)):-
max_arg(MaxVars),
arity(Func, A).
4 {body_chain(Func, Args, Outarg) : func(Func), vars(Func, Args), Outarg = 1..8, not input(Outarg)} 5.

It works as far as I tried, thanks!

It works as far as I tried, thanks @rkaminsk

I also tried, and it does work, but it depends on old version of Python:
python >=3.9,<3.10.0a0

See https://conda-metadata-app.streamlit.app/?q=conda-forge%2Flinux-64%2Fclingo-5.7.1-py39hc10206b_1.conda. (Check the date).
I followed the instructions, but did not find a newer or better package.

@ejgroene While there are different build versions (e.g., https://conda-metadata-app.streamlit.app/?q=conda-forge%2Flinux-64%2Fclingo-5.7.1-py312h30efb56_1.conda ).


vue ui can't create a project

Version
3.7.0
Environment info
Environment Info:

  System:
    OS: Windows 10
    CPU: (2) x64 Intel(R) Pentium(R) CPU G3258 @ 3.20GHz
  Binaries:
    Node: 10.15.3 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.15.2 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.9.0 - C:\c\Users\金龙\.npm-packages\npm.CMD
  Browsers:
    Edge: 44.17763.1.0
  npmPackages:
    vue-hot-reload-api: ^1.3.3 => 1.3.3
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce

enter "vue ui" in gitbash

enter http://localhost:8000,  step by step, the end,  create project but it's failed

gitbash error message:
{ Error: Command failed: vue create vuevue --skipGetStarted --packageManager yarn --inlinePreset {"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"standard","lintOn":["save"]}},"cssPreprocessor":"stylus"}
at makeError (C:\Users\金龙\AppData\Local\Yarn\Data\global\node_modules\execa\index.js:174:9)
at Promise.all.then.arr (C:\Users\金龙\AppData\Local\Yarn\Data\global\node_modules\execa\index.js:278:16)
at process._tickCallback (internal/process/next_tick.js:68:7)
code: 1,
stdout: '',
stderr: null,
failed: true,
signal: null,
cmd:
'vue create vuevue --skipGetStarted --packageManager yarn --inlinePreset {"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"standard","lintOn":["save"]}},"cssPreprocessor":"stylus"}',
timedOut: false,
killed: false }

What is expected?
resolve create project in vue ui
What is actually happening?
I can't create project in vue ui

I had same probrem.

OS: Ubuntu 16.04 LTS (64bit)
CPU: Intel Core i7-7700HQ CPU
Mem: 15.5GiB
Node: 11.6.0
yarn: 1.15.2
Language: Japanese

I saw error message Unknown option --skipGetStarted. when I tried to create project from vue ui.
I also run vue create --help, and I found --skipGetStarted option in help message.
I run command below (it appeared in error message, and I added some quote), and it completed without any problem.
vue create projectname --skipGetStarted --packageManager yarn --git 'Initialize project' --inlinePreset {"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-typescript":{"classComponent":true,"useTsWithBabel":true},"@vue/cli-plugin-pwa":{}},"router":true,"routerHistoryMode":false,"cssPreprocessor":"node-sass"}

@WL-Amigo which quotes did you add?

@Akryum --git and --inlinePreset.
(And I'm aware just now I wrote wrong info in comment above... I updated with correct one. Sorry for my mistake.)

What was the original command that failed?

'vue create projectname --skipGetStarted --packageManager yarn --git Initialize project --inlinePreset {"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-typescript":{"classComponent":true,"useTsWithBabel":true},"@vue/cli-plugin-pwa":{}},"router":true,"routerHistoryMode":false,"cssPreprocessor":"node-sass"}'

But this is not valid as shell command, so I added quotes to --git and --inlinePreset arguments.
It seems to failed when the command spawn from Node.js.
Below is full log when failed to create project from vue ui. (I now reproduce issue, so it's bit different from command in my first coment)
{ Error: Command failed: vue create testproject --skipGetStarted --packageManager yarn --inlinePreset {"router":false,"vuex":false,"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"base","lintOn":["save"]}}}
Usage: create [options] <app-name>

create a new project powered by vue-cli-service

Options:
  -p, --preset <presetName>       Skip prompts and use saved or remote preset
  -d, --default                   Skip prompts and use default preset
  -i, --inlinePreset <json>       Skip prompts and use inline JSON string as preset
  -m, --packageManager <command>  Use specified npm client when installing dependencies
  -r, --registry <url>            Use specified npm registry when installing dependencies (only for npm)
  -g, --git [message]             Force / skip git intialization, optionally specify initial commit message
  -f, --force                     Overwrite target directory if it exists
  -c, --clone                     Use git clone when fetching remote preset
  -x, --proxy                     Use specified proxy when creating project
  -h, --help                      output usage information

  Unknown option --skipGetStarted.

    at makeError (/home/wlamigo/.config/yarn/global/node_modules/execa/index.js:174:9)
    at Promise.all.then.arr (/home/wlamigo/.config/yarn/global/node_modules/execa/index.js:278:16)
    at process.internalTickCallback (internal/process/next_tick.js:77:7)
  code: 1,
  stdout:
   'Usage: create [options] <app-name>\n\ncreate a new project powered by vue-cli-service\n\nOptions:\n  -p, --preset <presetName>       Skip prompts and use saved or remote preset\n  -d, --default                   Skip prompts and use default preset\n  -i, --inlinePreset <json>       Skip prompts and use inline JSON string as preset\n  -m, --packageManager <command>  Use specified npm client when installing dependencies\n  -r, --registry <url>            Use specified npm registry when installing dependencies (only for npm)\n  -g, --git [message]             Force / skip git intialization, optionally specify initial commit message\n  -f, --force                     Overwrite target directory if it exists\n  -c, --clone                     Use git clone when fetching remote preset\n  -x, --proxy                     Use specified proxy when creating project\n  -h, --help                      output usage information\n\n  Unknown option --skipGetStarted.\n\n',
  stderr: null,
  failed: true,
  signal: null,
  cmd:
   'vue create testproject --skipGetStarted --packageManager yarn --inlinePreset {"router":false,"vuex":false,"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"base","lintOn":["save"]}}}',
  timedOut: false,
  killed: false }

ue create testproject --skipGetStarted --packageManager yarn --inlinePreset {"router":false,"vuex":false,"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"base","lintOn":["save"]}}}
Usage: create [options]

Hei,friend, do you already resolve the problem?

@YangGoldDragon Quick workaround for this probrem is:

copy cmd in error message
quote --git, --inlinePreset (if these option exist)
run in bash

For example, your command after this procedure is below.
vue create vuevue --skipGetStarted --packageManager yarn --inlinePreset '{"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"standard","lintOn":["save"]}},"cssPreprocessor":"stylus"}'

(If it still fails, removing --skipGetStarted may resolve.)

I can't reproduce on linux with @vue/cli at 3.7.0.

Maybe the error message wasn't representative of the quotes actually used to run the child process. All arguments are already automatically quoted when using execa, we don't do any special there.
Maybe vue cli is installed multiple times on the computer, maybe on time using npm and another using yarn?

I confirmed npm ls -g, then I found there is old version of @vue/cli...
After removing vue-cli installed by npm (npm remove -g @vue/cli), vue ui works again.
Thank you for your generous support!

I confirmed npm ls -g, then I found there is old version of @vue/cli...
After removing vue-cli installed by npm (npm remove -g @vue/cli), vue ui works again.
Thank you for your generous support!

there is not one old version of @vue/cli,
I still  uninstall @vue/cli and vue-cli by  (npm remove -g @vue/cli, npm uninstall -g vue-cli , npm uninstall vue-cli,  npm uninstall -g @vue/cli, npm uninstall @vue/cli, yarn global remove vue-cli, yarn global remove @vue/cli, yarn remove vue-cli, yarn global remove @vue/cli) ,
After remove this, I reinstall @vue/cli by yarn global add @vue/cli, but It still can't create a project.

Maybe the error message wasn't representative of the quotes actually used to run the child process. All arguments are already automatically quoted when using execa, we don't do anything special there.
Maybe vue cli is installed multiple times on the computer, maybe one time using npm and another using yarn?

I uninstall @vue/cli and vue-cli by (npm remove -g @vue/cli, npm uninstall -g vue-cli , npm uninstall vue-cli, npm uninstall -g @vue/cli, npm uninstall @vue/cli, yarn global remove vue-cli, yarn global remove @vue/cli, yarn remove vue-cli, yarn global remove @vue/cli)
But it still can't create a project .

I can't reproduce on linux with @vue/cli at 3.7.0.

So I can do what  for you ?

@YangGoldDragon Quick workaround for this probrem is:

copy cmd in error message
quote --git, --inlinePreset (if these option exist)
run in bash

For example, your command after this procedure is below.
vue create vuevue --skipGetStarted --packageManager yarn --inlinePreset '{"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"standard","lintOn":["save"]}},"cssPreprocessor":"stylus"}'

(If it still fails, removing --skipGetStarted may resolve.)

Thanks, I have already resolve this problem by your provide commands, But what is problems with "vue  ui", Why it can't be use to correct create a project,  I have some Obsessive compulsive disorders, it make me uncomfortable

I was able to repro this issue on Debian Linux 9.6, using vue cli version 3.8.4. When attempting to create the project, vue ui fails to make the project directory correctly (it doesn't exist initially), and thus, when I get to the final create step, it encounters the ENOENT errors.
I run the vue ui in debug mode (vue ui --debug) and see the following errors when typing in the project name:
ENOENT: no such file or directory, stat '$/Software/VueJS/v'
ENOENT: no such file or directory, stat '$/Software/VueJS/vu'
ENOENT: no such file or directory, stat '$/Software/VueJS/vue'
ENOENT: no such file or directory, stat '$/Software/VueJS/vue2'

It fails trying to spawn the following command:

vue create vue2 --skipGetStarted --packageManager npm --inlinePreset '{"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"prettier","lintOn":["save"]},"@vue/cli-plugin-unit-jest":{}},"router":true,"routerHistoryMode":false,"vuex":true}'

However, I can run this same command in the bash shell and vue-cli creates the project ok.
Does this help?

Here's the stack trace:
UI 22:02.10 create vue2 [ '--skipGetStarted',
  '--packageManager',
  'npm',
  '--inlinePreset',
  '{"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"prettier","lintOn":["save"]},"@vue/cli-plugin-unit-jest":{}},"router":true,"routerHistoryMode":false,"vuex":true}' ]
{ Error: spawn vue ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
    at onErrorNT (internal/child_process.js:415:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  errno: 'ENOENT',
  code: 'ENOENT',
  syscall: 'spawn vue',
  path: 'vue',
  spawnargs:
   [ 'create',
     'vue2',
     '--skipGetStarted',
     '--packageManager',
     'npm',
     '--inlinePreset',
     '{"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"prettier","lintOn":["save"]},"@vue/cli-plugin-unit-jest":{}},"router":true,"routerHistoryMode":false,"vuex":true}' ],
  stdout: '',
  stderr: null,
  failed: true,
  signal: null,
  cmd:
   'vue create vue2 --skipGetStarted --packageManager npm --inlinePreset {"useConfigFiles":false,"plugins":{"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint":{"config":"prettier","lintOn":["save"]},"@vue/cli-plugin-unit-jest":{}},"router":true,"routerHistoryMode":false,"vuex":true}',
  timedOut: false,
  killed: false }

OK... I solved this problem. Figured out what it was (FYI @YangGoldDragon). It's not an issue with vue cli..it has to do with how the vue binary gets resolved. It's located in ~/.npm-global/bin. Either PATH or NODE_PATH have to be set properly, or, what I found to be easier for me was to just create a symbolic link in /usr/bin:

sudo ln -s ~/.npm-global/bin/vue /usr/bin/vue

Re-run vue ui and it should now work (when the ui tries to spawn the child process it should no longer encounter ENOENT).
I think this can be closed as non-issue.

Hi everyone,
I got this issue while creating a project by vue ui, but I see the following error:
vue create <project_name> --skipGetStarted --packageManager npm --no-git --inlinePreset  {"router":false,"vuex":false,"useConfigFiles":false,"plugins": {"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint": {"config":"base","lintOn":["save"]}}}
But the error is:
Unknown option --skipGetStarted
However I tried to run that command again without option --skipGetStarted, it shows a new error:
vue create <project_name> --packageManager npm --no-git --inlinePreset  {"router":false,"vuex":false,"useConfigFiles":false,"plugins": {"@vue/cli-plugin-babel":{},"@vue/cli-plugin-eslint": {"config":"base","lintOn":["save"]}}}
CLI inline preset is not valid JSON: {router:false,vuex:false,useConfigFiles:false,plugins:
After all, I ran the command below and it finally worked:
vue create <project_name> --packageManager npm --no-git --default
But I still don't know default Presets like Babel & ESlint are added or not. I want to use it by default vue 3.

I found that adding --package-manager npm did the trick.
Made sense: my error messages all pointed to yarn as the culprit.

I found that adding --package-manager npm did the trick.
Made sense: my error messages all pointed to yarn as the culprit.


Unexpected dependency resolution when using ">"

I ran into this because an upstream project is using > in one of their dependencies.  This ended up causing a major issue for me because cargo would ignore it and get the newest package.  I have an example of this behavior here: https://github.com/stusmall/broken_dep
I declare openssl-sys = "> 0.7.0" but cargo gives me v0.9.1.
I don't know if > is an acceptable operator.  If it is I would expect for it to pull down 0.7.17, if it isn't an acceptable operator I would expect a fatal error for an malformed version string.

I don't know if > is an acceptable operator.

It is, yes: http://doc.crates.io/specifying-dependencies.html#inequality-requirements

If it is I would expect for it to pull down 0.7.17

Why? 0.9.0 is greater than 0.7.0, and 0.7.17 is less than 0.9.0.

Oh my gosh,  this is what happens.  When I try to enter bugs before proper coffee..... I tried to reduce it down to the smallest project to produce but I reduced down to the point I lost sight of the actual issue.  :)
I've updated the project to show the problem better.  There is a dependent crate ("library") that declares:
openssl-sys = "> 0.7.0"
but the main crate declares openssl-sys = "0.7".  I would expect 0.7.17 but it fails to build with the error:
error: native library openssl is being linked to by more than one version of the same package, but it can only be linked once; try updating or pinning your dependencies to ensure that this package only shows up once
openssl-sys v0.7.17
openssl-sys v0.9.1

Right. So >0.7.0 resolves to the newest version greater than 0.7.0, which is 0.9.0. The 0.7 is ^0.7, which will match like >= 0.7.0 < 0.8.0, which gives 0.7.17. Hence the conflict.

Oh sorry for the misunderstanding.  Is there a way to force the project to use just one common version of openssl-sys?  I thought that pinning to a version in my cargo.toml will cause it to use this version if possible.
Is the only way to change the restraints on a dependent project to change that project's cargo.toml?

I thought that pinning to a version in my cargo.toml will cause it to use this version if possible.

So, Rust supports having multiple versions of transitive dependencies installed. If openss-sys didn't link to a native library, then you'd get two versions of it and everything would Just Work.

Is the only way to change the restraints on a dependent project to change that project's cargo.toml?

Yes. I would argue that > 0.7.0 is a very bad bound, and should be just 0.7.0. You should send them a PR for it, and in the meantime, you can use an override to use your forked version in the meantime.
Anyway, giving this a close as it's not a bug! Let's continue discussing stuff in the users' forum thread you started if you have more problems 😄

Thank you!


Setting AI_REPOSITORY path

Is there a way to set the AI_REPOSITORY path for the action?

Hi,
@nimajalali yes it should be possible by editing the commands field:
aip-commands:      UpdatePathVariable -name AI_REPOSITORY  -value c:\foo


refactor: improve log decoding and simplify ParamType

closes: #884
co-developed with @hal3e
We figured out a nice approach to use the Debug trait implementation while decoding logs. This simplifies the ParamType by not having it contain the name and fields of the logged struct/enums.
Checklist

[x] I have linked to any relevant issues.
[x] I have updated the documentation.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] I have added necessary labels.
[x] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[x] I have requested a review from the relevant team or maintainers.

Very nice. Can we have a case for get_logs with a struct and enum in the e2e tests? AFAIK those are not covered.

We have several test  that cover custom types logs. Examples: test_get_logs() and test_script_get_logs in logs.rs


Patch Manta operator

The Manta operator refers to the staging registry and fails to pull the images. Consequence is that OLM is locked up.
Events:
  Type    Reason   Age                    From     Message
  ----    ------   ----                   ----     -------
  Normal  Pulling  79m (x192 over 17h)    kubelet  Pulling image "cp.stg.icr.io/cp/manta-adl-operator@sha256:c1bad56e10aded544cfbc7416870c69473ea6d060d0f00e531e462903fca6c67"
  Normal  BackOff  4m7s (x4545 over 17h)  kubelet  Back-off pulling image "cp.stg.icr.io/cp/manta-adl-operator@sha256:c1bad56e10aded544cfbc7416870c69473ea6d060d0f00e531e462903fca6c67"

[ ] Run a process in the background while installing operators that patches the Manta operator if the wrong image is referenced.

Issue has been resolved in CP4D 4.5.3.


Use &self instead of &mut self for poll_accept

I encountered trouble when implementing the Listener from rocket for VsockListener, because it uses &self.
impl rocket::listener::Listener for VsockListener {
    type Accept = (vsock::VsockStream, vsock::VsockAddr);

    type Connection = VsockConnection;

    async fn accept(&self) -> io::Result<Self::Accept> {
        let (stream, addr) = self.listener.accept().await?;
        Ok((stream, addr))
    }
...
}

The TcpListener from tokio is also using &self.
So, I think it should also use &self here.

The BVT check is failing due to clippy unused_mut lints, and the commit message is missing an sign off and a body (which is why the commit message check is failing).

@kvinwang the commit message is still missing (as is the sign off), please check the CI error messages: https://github.com/rust-vsock/tokio-vsock/actions/runs/12293688962/job/34306956076?pr=54

@kvinwang the commit message is still missing (as is the sign off)

Fixed.


Crossplane & Terraform for Harness Resources KB Article

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes:
Adding a KB article created for a customer for safely using our Terraform provider alongside Crossplane. It's also a common ask from others as well.

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66dc7d03ccdd64a365e7e500--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6704a507b3b8ea91b60fb09b--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6704a638fe121a9fb096262f--harness-developer.netlify.app

Converting to draft due to other things in flight, will remove the crossplane info


Separate tests into unit and acceptance tests

Changes

Separate tests into unit and acceptance test subfolders as part of #189:❯ tree TransformerLens/tests -I __pycache__
TransformerLens/tests
├── acceptance
│   ├── test_hook_tokens.py
│   ├── test_tokenizer_special_tokens.py
│   └── test_transformer_lens.py
├── manual_checks
│   ├── manual_checks_type_annotations.py
│   └── manual_checks_typing.py
└── unit
    ├── test_cache_hook_names.py
    ├── test_d_vocab.py
    ├── test_hooks.py
    ├── test_stop_at_layer.py
    └── test_utils.py

Move tests directory to project root
Update github actions to run the unit and acceptance tests separately.

Notes

The final requirement for #189 (namely, branch coverage) will be done in a separate PR
This PR conflicts with #188, since the latter is using the old directory structure

Stats
Local (M1 macbook air)

All tests (prior to changes)

Unit tests (after changes)
Acceptance tests (after changes)

Count
46

33
13

Run duration
60s

11s
50s

Code coverage
66%

51%
58%

Github actions
Sampled from latest checks run on main, and checks run from this PR

All tests (prior to changes)

Unit tests (after changes)
Acceptance tests (after changes)

Run duration
80-160s

14-20s
90-115s

Exceptionally good work! Thanks so much!


make fails if no .git

If .git directory is not present the command
execute_process (COMMAND git log -n 1 --date=local --pretty=format:"%h" WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE tini_VERSION_GIT)

in CMakeLists.txt will fail with

fatal: Not a git repository (or any of the parent directories): .git

causing TINI_GIT to not get set. Causing this error:
/home/build/src/tini-0.6.0/src/tini.c: In function 'print_usage':
/home/build/src/tini-0.6.0/src/tini.c:84:80: error: expected expression before ')' token
  fprintf(file, "%s (version %s - %s)\n", basename(name), TINI_VERSION, TINI_GIT);
                                                                                ^
CMakeFiles/tini.dir/build.make:54: recipe for target 'CMakeFiles/tini.dir/src/tini.c.o' failed
make[2]: *** [CMakeFiles/tini.dir/src/tini.c.o] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/tini.dir/all' failed
make[1]: *** [CMakeFiles/tini.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
make: *** [all] Error 2

Hey there,
Seems like this should be an easy fix, I'll have a look.
I'm curious though; in which situation would you use this?
Cheers,

Building from source ;-)
wget https://github.com/krallin/tini/archive/v0.6.0.tar.gz
tar
cmake
make

Docker image to build tini for alpine (musl libc):
https://github.com/feastr/docker-image-build-tini

Do you want to try the proposed fix in #12?
(I'm on mobile right now so I can't really test it outside of CI, without git)

Yes, works for my build. However the output of tini is then rather unsexy:

tini (version 0.6.0 - )

@danilobuerger,
Fixed this in #13. I also changed the format of the version string a little bit to indicate it's coming from git.

Nice

Updated the apk package as well:
https://github.com/feastr/docker-image-build-tini/releases/tag/0.7.0

Looks great @danilobuerger; thanks for maintaining that : )


Mealie Smtp settings

Maybe its already possible, but i doet know how. Is it possible to add more parameters in the settings?

Hi, I suggest you check the app documentation : https://hay-kot.github.io/mealie/
My addon allows using it on HA but I do not develop the app. Thanks!

By default users can give parameters, but in the settings of the addon not.  Maybe I can't explain it right.

I'm sorry indeed I don't understand... I think you mean to pasd ENV variables at container launch but I am not sure. Could you please point me the location in the documentation where what you want to achieve is described? It will probably help clarify communication. Thanks very much

In the docker compose we can use email parameters.
https://github.com/hay-kot/mealie/blob/mealie-next/docker-compose.yml
But I can't past them in de addon configuration. Only port pgid en puid.

Hi, I've pushed a new version allowing custom env variables.
You need to create the folder and file: /config/addons_config/mealie/config.yaml, and add your env variable in yaml format inside based on those values : https://nightly.mealie.io/documentation/getting-started/installation/backend-config/
For example, the content of your config.yaml could be :
SMTP_HOST:  www.myhost.com
SMTP_PORT: 587
SMTP_FROM_NAME : Mealie
SMTP_AUTH_STRATEGY: TLS
SMTP_FROM_EMAIL: None
SMTP_USER: None
SMTP_PASSWORD: Password

If you are not sure of yaml format, you can search on Google "yaml online validator" and you'll find free resources to test your yaml for validity

thank you so much!
it works!   and mealie gave an error when not using '   '  around my variables.    so it's solved now.   many thanks!

With pleasure, I'll close this if this is solved


Create orders database and app

Create an order database and app to store the history and future orders between dog owners and daycares, filling the rules described in the project ERD diagram.

Please refer to the issue template when writing an issue.


[tool_crash] FileSystemException: Cannot create link, OS Error: Incorrect function., errno = 1

Command
flutter pub get

Steps to Reproduce

...
...
...

Logs
FileSystemException: Cannot create link, OS Error: Incorrect function.
, errno = 1
#0      _Link.throwIfError (dart:io/link.dart:263:7)
#1      _Link.createSync (dart:io/link.dart:184:5)
#2      ForwardingLink.createSync (package:file/src/forwarding/forwarding_link.dart:20:16)
#3      ForwardingLink.createSync (package:file/src/forwarding/forwarding_link.dart:20:16)
#4      _createPlatformPluginSymlinks (package:flutter_tools/src/flutter_plugins.dart:1057:12)
#5      createPluginSymlinks (package:flutter_tools/src/flutter_plugins.dart:987:5)
#6      refreshPluginsList (package:flutter_tools/src/flutter_plugins.dart:1089:5)
<asynchronous suspension>
#7      FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:350:5)
<asynchronous suspension>
#8      PackagesGetCommand.runCommand (package:flutter_tools/src/commands/packages.dart:175:5)
<asynchronous suspension>
#9      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1209:27)
<asynchronous suspension>
#10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#11     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#12     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#14     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#15     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)

[✓] Flutter (Channel stable, 3.3.9, on Microsoft Windows [Version 10.0.22000.1574], locale en-US)
    • Flutter version 3.3.9 on channel stable at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (3 months ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at C:\src\android-sdk
    • Platform android-33, build-tools 33.0.1
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2022 17.4.2)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.4.33122.133
    • Windows 10 SDK version 10.0.22000.0

[✓] Android Studio (version 2021.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.75.1)
    • VS Code at C:\Users\Micazi\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.58.0

[✓] Connected device (4 available)
    • 2201117SG (mobile) • XSV4QG9XXWDILVR4 • android-arm64  • Android 12 (API 31)
    • Windows (desktop)  • windows          • windows-x64    • Microsoft Windows [Version 10.0.22000.1574]
    • Chrome (web)       • chrome           • web-javascript • Google Chrome 110.0.5481.178
    • Edge (web)         • edge             • web-javascript • Microsoft Edge 108.0.1462.54

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Flutter Application Metadata
Type: app
Version: 0.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
Plugins
desktop_window-0.4.0
firebase_auth-4.2.9
firebase_auth_web-5.2.8
firebase_core-2.7.0
firebase_core_web-2.2.1
firebase_database-10.0.14
firebase_database_web-0.2.1+23
firebase_messaging-14.2.5
firebase_messaging_web-3.2.15
flutter_local_notifications-13.0.0
flutter_plugin_android_lifecycle-2.0.8
flutter_secure_storage-8.0.0
flutter_secure_storage_linux-1.1.3
flutter_secure_storage_macos-3.0.0
flutter_secure_storage_web-1.1.1
flutter_secure_storage_windows-2.0.0
libphonenumber_plugin-0.2.5
libphonenumber_web-0.2.0+1
local_auth-2.1.5
local_auth_android-1.0.19
local_auth_ios-1.0.13
local_auth_windows-1.0.6
path_provider-2.0.13
path_provider_android-2.0.23
path_provider_foundation-2.1.2
path_provider_linux-2.1.9
path_provider_windows-2.1.4
shared_preferences-2.0.18
shared_preferences_android-2.0.16
shared_preferences_foundation-2.1.4
shared_preferences_linux-2.1.4
shared_preferences_web-2.0.5
shared_preferences_windows-2.1.4

Closing this as a duplicate of https://github.com/flutter/flutter/issues/66224


Adding capture_log: true

https://github.com/nimblehq/elixir-templates/issues/89
What happened
Start ExUnit with capture_log: true option
Insight
https://elixirschool.com/blog/til-capture-log-in-exunit-tests/
Proof Of Work
The test is passed

How about we move the step that we update the ExUnit.start option after install all the addon? So we don't need to add the option in every addon and it will be easy to add other options in the future. Also, support when we want to update other modules.
defp common_setup(%Project{} = project) do
    # Install addons ...

    if install_addon_prompt?("Oban"), do: Addons.Oban.apply(project)
    if install_addon_prompt?("ExVCR"), do: Addons.ExVCR.apply(project)

    project
    |> update_test_helper()
    |> update_others() # In the future, we just pipe it.
end

How about we move the step that we update the ExUnit.start option after install all the addon? So we don't need to add the option in every addon and it will be easy to add other options in the future. Also, support when we want to update other modules.
defp common_setup(%Project{} = project) do
    # Install addons ...

    if install_addon_prompt?("Oban"), do: Addons.Oban.apply(project)
    if install_addon_prompt?("ExVCR"), do: Addons.ExVCR.apply(project)

    project
    |> update_test_helper()
    |> update_others() # In the future, we just pipe it.
end

Do you mean moving on the updating ExUnit.start() step or the whole test_env addon at the end @hanam1ni ?
If we move only the updating ExUnit.start() step, what should we name for that addon 🤔  ExUnit addon 🤔

Oh I just merged https://github.com/nimblehq/elixir-templates/pull/95 to this branch 🙈. cc @byhbt

Oh I just merged #95 to this branch 🙈. cc @byhbt

@byhbt for the ExUnit addon, we just need to review 5 files, the other files came from #95 :(


Different urls for Ensembl, ENSV, etc. for KnetMaps Item Info

KnetMaps.js has a common url_mappings.js file that prepends URLs to all accessions based on data source.
We used to have different Ensembl, TO, ENSV, etc. url’s it went to for plants, fungi and different ones for human too in the past but it is broken since we moved the deployment to Docker. Need to re-instate that by having species-specific url_mappings (in fungi and human KnetMiners) that overrides the common one.

1st reported by Dan Smith (RRes)

@AjitPS can we close this?


X509  -> cert_info -> key -> public_key not accessible

While porting an application to OpenSSL 1.1.1, I found that the cert_info struct member that was previously freely accessible for X509 data types seems now no longer accessible by any means.
My application directly access the data types so i'm replacing with get functions
For example
To access sha1_hash I've used X509_digest
but i'm not able to find how to access X509 -> cert_info -> key -> public_key
Can anyone let me know please

Also I want to know a get function to access
X509->cert_info->signature->algorithm

There are a number of ways to get the public key data.
You can call:
X509_get_pubkey()
Which return the public key data as an EVP_PKEY.
Or you can call:
X509_get0_pubkey_bitstr()
Which returns the public key as an ASN1_BIT_STRING type.
Or you can call:
X509_get_X509_PUBKEY()
Which returns an X509_PUBKEY type. Once you have that you can call:
X509_PUBKEY_get0_param()
To get the public key bytes and length.

X509->cert_info->signature->algorithm

To get the X509->cert_info->signature data you can call:
X509_get0_tbs_sigalg()
This returns an X509_ALGOR type. From there you can call X509_ALGOR_get0() to get the ASN1_OBJECT for the algorithm.

Thank you so much :)


 They relate to the probem that default_collate picks out values one at a time, which makes it hard to work with 1-dim arrays (e.g. to cast them to cuda).
The corresponding pieces of code are:

_prepare_target_for_loss
The y dimensionality check in NeuralNetRegressor

This has been resolved in #185 and the introduction of scalars in PyTorch.


[BUG] Azure AD: The 'resource' request parameter is not supported

Rancher Server Setup

Rancher version: v2.6.8
Installation option (Docker install/Helm Chart): Helm

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): RKE2

Proxy/Cert Details:

Information about the Cluster

Kubernetes version: v1.23.7+rke2r2
Cluster Type (Local/Downstream): Local

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom): Admin

If custom, define the set of permissions:

Describe the bug
After upgraded Rancher from v2.6.5 to v2.6.8 (skip v2.6.7), then update endpoint follow document https://docs.ranchermanager.rancher.io/how-to-guides/advanced-user-guides/authentication-permissions-and-global-configuration/about-authentication/authentication-config/configure-azure-ad#migrating-from-azure-ad-graph-api-to-microsoft-graph-api. After that, user cannot login via Azure AD anymore, when I try to save new credential and press save button, the Microsoft pop-up show The 'resource' request parameter is not supported
To Reproduce

Result
Expected Result

Screenshots

Additional context

@stefanfritsch  the work around is, select Endpoint -> Custom then fill
Endpoint: https://login.microsoftonline.com/
Graph Endpoint: https://graph.microsoft.com
Token Endpoint: https://login.microsoftonline.com/<tenant_id>/oauth2/token
Auth Endpoint: https://login.microsoftonline.com/<tenant_id>/oauth2/authorize

then click Save to validate resources.
I don't have time to dig deeper to see why but this trick will help in this case

@bds-congnguyen Those are deprecated endpoints. Tried this with new endpoints but for some reason sign in window pops up and says AADSTS901002: The 'resource' request parameter is not supported.. When I update these values via terraform the login fails with AADSTS901002: The 'resource' request parameter is not supported. New endpoints here https://ranchermanager.docs.rancher.com/v2.6/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/authentication-config/configure-azure-ad#3-set-required-permissions-for-rancher.


Not working when using v2.5.0 in k8s v1.18

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When I ran manager in a v1.18 k8s cluster, the log showed that
time="2022-11-16T15:38:39+08:00" level=info msg="Starting EventSource" logger=controllers.Ingress.netv1beta1 source="kind source: *v1.IngressClass"

I found there is not Ingress or IngressClass in networking.v1 but in networking.v1beta1.
Expected Behavior
It should be running correctly.
Steps To Reproduce
1. k8s v1.18.4
2. run manager v2.5.0

Kong Ingress Controller version
v2.5.0

Kubernetes version
v1.18.4

Anything else?
No response

Add parameter of -enable-controller-ingress-class-networkingv1=false can solve this.


feature(azure-iot-hub): Implement c2d using uamqp

/azp run Azure.azure-iot-sdk-python-horton-e2e

/azp run Azure.azure-iot-sdk-python-dps-e2e

/azp run Azure.azure-iot-sdk-python-dps-e2e

Thanks for implementing this (and the sample) as it was a blocker for one of my use cases.  Do you know when it will be an updated on pypi?  (the current version 2.0.2 doesn't have this)


add keops to your work

Hello, this is a perfect work!
have you tried to add pykeops to your work so that it will has a lower memory cost?
This sometimes will be a problem, for example, if the value of Kernel-based methods output is used as loss function in machine learning field, all the varible in different batches will be stored to be used in backpropagation. In this situation, the batch size method can not make memory cost become lower.
May be combine keops and your work will be a good direction to make memory cost and time cost lower at the same time.
I wander if you have tried or plan to try this.
Best wishes.

Hi, thanks for your interest!
I experimented a bit to put keops in the 1D computations with mixed success (in the sense I was not really able to beat the NFFT performance-wise). However, you can use batching within the slicing also when you are using it as a loss function without storing all 1D-operations (and I would recommend to do so), by modifiying the backward pass of the backprop function in torch. Unfortunately, this week is really busy for me, but I can write a few lines how this works later this week or in the beginning of next week.
Best
Johannes

I have written a few lines about how to compute derivatives of the kernel sum without tracing through all slices. You can find the notes here.
While this repository here has the main purpose to make the results from the corresponding paper, a more up-to-date implementation of the sliced kernel summation is contained in the following repo:  https://github.com/johertrich/simple_torch_NFFT
It also implements the custom backward passes (and consequently supports batching in the backward pass), which I have mentioned above.


Severe security issues when Android-Debug-Database is running

This library uses a plain TCP server socket to accept incoming debug requests and provide arbitrary access to database files in the hosting application.  This leaves those applications extremely vulnerable to malicious apps being installed which connect to that port and "scrape" the database contents looking for security sensitive information like authentication tokens or privacy sensitive data.
To work around this, use UNIX domain sockets, as Stetho does: https://github.com/facebook/stetho/blob/master/stetho/src/main/java/com/facebook/stetho/server/LocalSocketServer.java
https://github.com/facebook/stetho/blob/master/stetho/src/main/java/com/facebook/stetho/server/SecureSocketHandler.java
If you're interested, I'm love to talk about expanding Stetho's generalization to actually host your project on top of Stetho so you can remove a bunch of server boilerplate and get a lot of security and features from stetho for free.  Stetho currently for example already hosts 2 different kinds of services from the same socket (chrome://inspect and also the dumpapp command-line tools).  We could easily generalize this to support any arbitrary number of other projects like yours.

Great we should handle these things. But this library is not mean to ship in production.

Let's discuss to implement this.

Hello,
I want to add some information here. I am using a very complex SDK which is not available on the market, just for internal business and it must be very secure. When using this library in my application, the SDK blocks every feature because it detects this security issue so I can't use this library and the SDK in the same time. This is another reason for fixing this issue :).


🤔 [ISSUE] - @eazychart-[global] - yarn No such file or directory: 'setup'

Description
When we try to install eazychart we get an error No such file or directory: 'setup'
Reproduction steps
1. run the command
yarn setup

Screenshots

Logs
00h00m00s 0/0: : EROOR: [errno 2] NO such file or directory: 'setup'
No response
Browsers
No response
OS
Linux

We need to specify the required node / yarn versions in the README file + add the requirement to the package.json file.
Node : v16.13.0
Yarn : 1.21.1

@marrouchi, I can take this one if you want to assign it to me.

Hello @mSaurabh Thank you for your interest.
I don't know if you understood the issue, but to put it simply, we should remove lerna and use rather NPM workspaces or YARN workspaces. We have done multiple attempts but it wasn't fruitful.
What needs to be done is to start fresh, create the packages (react and vue) using vite and then establish the mono repo using npm or yarn workspaces.
 I'll time-box it until the end of this week. I'd like to start with replicating/understanding the issue. I'll let you know again if I can help with the fix.


Can't load image using OpenImageIO

I was trying to load image using opeimageio which I installed using vcpkg. But I get an error saying F:\vcpkg\installed\x64-windows\include\OpenImageIO\fmt\format-inl.h(1371,8): error C2061: syntax error: identifier 'HANDLE'. My code is this
#include <OpenImageIO/imageio.h>
#include <string_view>
#include <tuple>
#include <vector>

std::tuple<int, int, int> loadImageFromFile(std::string_view filePath,
                                            std::vector<unsigned char> &data) {
  auto input = OIIO::ImageInput::open(filePath.data());
  auto &specs = input->spec();
  int width = specs.width;
  int height = specs.height;
  int channels = specs.nchannels;
  data = std::vector<unsigned char>(width * height * channels);
  input->read_image(OIIO::TypeDesc::UINT8, &data[0]);
  input->close();
  return {width, height, channels};
}

Thanks!

Do you know what version of OIIO you are using?
Also, if you look in F:\vcpkg\installed\x64-windows\include\OpenImageIO\fmt\core.h, you'll see a line close to the top that says
#define FMT_VERSION xxxxxx

Can you tell me what version that says?

it says #define FMT_VERSION 60200.  Also I use fmt for the project which has  the same version. To let you know I formatted  format-inl.h(line 24) from
#ifdef _WIN32
#  include <io.h>
#  include <windows.h>
#endif

to
#ifdef _WIN32
   #include <io.h>
   #include <windows.h>
#endif

and It is working now.

WHAT?
The spaces? Really?

I think the issue is with the way I  setup my  build.  Defining  _WIN32  manually also worked but It raises another error. You can  close the issue if you want to.

OK, sounds like something spooky on your end. Will close for now, feel free to reopen if you end up tracing it back to something on our end.


Unable to attach annotations to gateway

Describe the bug
Unable to attach cert to ELB
Need to attach these annotations:
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-west-2:{act_num}:certificate/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx"
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
    service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "300"

The good news is the ELB already comes up as TCP. :) This is a huge improvement.

Thanks for reporting.
We’re working on getting on par with the Helm chart regarding configuration options, but just not there yet.
We’ll try to add this soon.

Hello @mabushey - thanks for reporting this, we have just added the feature and released 0.0.6. make deploy should deploy the new version, please let us know how it works for you.

Hi @matyix, this is great and seems to work perfectly! For reference the following config brought up the desired load balancer with a certificate on the 443 listener as desired.
apiVersion: istio.banzaicloud.io/v1beta1
kind: Istio
metadata:
  labels:
    controller-tools.k8s.io: "1.0"
  name: istio
  namespace: istio-system
spec:
  mtls: false
  includeIPRanges: "*"
  excludeIPRanges: ""
  autoInjectionNamespaces:
  - "app-stg"
  - "app-prd"
  - "httpbin"
  controlPlaneSecurityEnabled: false
  gateways:
    ingress:
      serviceAnnotations:
        service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:{REGION}:{ACCT_NUMBER}:certificate/{CERT_UUID}"
        service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
        service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "300"

Thanks @jtimdwyer for reporting back - please let us know if you face other problems or have improvement suggestions.


[test] correctly identify periodic test lanes by JOB_NAME

What this PR does
PR https://github.com/kubevirt/kubevirt/pull/12594 was aiming to limit tests labelled as PERIODIC
to periodic lanes identifying them according to
the name of the test lane.
But it was incorrectly using the TARGET variable
leading to mismatches. Correctly use
JOB_NAME variable instead.

Fixes #
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

NONE

@tiraboschi expected output seen here: https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/12695/pull-kubevirt-e2e-k8s-1.31-sig-compute/1829134954097807360#1:build-log.txt%3A2144
@acardace would you have time to take a quick look at this fix?

Thanks you!
/approve
@dhiller @tiraboschi for my education, what does the TARGET variable represent?

/test pull-kubevirt-e2e-k8s-1.29-sig-storage


Change speed of showing up options

Good job! I have a question. Is there a possibility to change speed of showing up options? What if I wanted to speed up the options showing up?

Hey @jawegielewski,
This answer from a previous ticket should help you.
In addition to changing the speeds on the individual components from the above link, starting with v1.2.1 there are also global properties you can set on the ExpandableFabLayout.
These new global properties can be seen here, along with their documentation.
All of the fields mentioned can be set from both XML and programmatically in your code. Let me know if you have any other questions, and thanks for your kind words!

Hey @jawegielewski,
Did the above answer help you with changing the speed of the FabOptions and Labels?

Hey to be honest I abandoned this idea of using your classes as I change my project's design a bit. But thank you anyway :)

Hey @jawegielewski,
No problem. The widget doesn't work for every project, but I hope you consider using it again for a future one. Happy coding!


Add file extension to file name in double pendulum video record demo

Original report (archived issue) by John Shepherd (Bitbucket: John Shepherd, GitHub: jshep1).

Summary
Currently the file extension isn't appended to the end of the typed file name for the video_record_dbl_pendulum.sdf example.
Motivation
This would make the example more user friendly.

@mcres will take a stab at this.

Yup, let's see if I can solve this one!