possibly broken connect with link_timeout

Please take a look here: https://github.com/axboe/liburing/pull/254
I created scenario where a connect call should block (if we put a regular blocking connect it hangs).
When using io_uring_prep_connect followed up by io_uring_prep_link_timeout we get ECANCELED but according to documentation ETIME is expected.

Thanks for the test! I commented out in a review what's wrong, but in short a linked timeout generate an CQE with cqe->res stating what happened, e.g. -ETIME for fired timeout. Or, you may be interested in io_uring_wait_cqe_timeout() which sets not a per-request timeout, but per-wait. This one IIRC returns result directly

Thanks, I totally misunderstood how link timeout works.
@axboe Do you prefer to add my (fixed) test  to the suite or you prefer to close https://github.com/axboe/liburing/pull/254

On Thu, Dec 10, 2020, 11:23 Roman Gershman<EMAIL_ADDRESS>wrote:

Thanks, I totally misunderstood how link timeout works.
@axboe https://github.com/axboe Do you prefer to add my (fixed) test to
the suite or you prefer to close #254
https://github.com/axboe/liburing/pull/254

That's a good test, let's keep it. One moment is that I don't know how you
delay connect, could you give a clue?

Sure, I've setup a listening socket with backlog=0 which allows exactly one client to be connected immediately (to get to the accept queue). Since we do not accept anything, all the next are kept in linux SYN-queue - the kernel does not ACK these connections so they keep sending SYN underneath with exponential backoff. From client's perspective it looks like a blocked connection.  Here is better explanation: http://veithen.io/2014/01/01/how-tcp-backlog-works-in-linux.html :)

TIL, thanks


[DOCFIX] Improve Hive integration doc

Clarify whether to set Alluxio as default fs
Word tuning

This PR is motivated by a mailing list question

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17355/
Test PASSed.

Merged build finished. Test PASSed.

@gpang  PTAL

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17372/
Test PASSed.


meta: quote UIP numbers in metadata so they're not interpreted as octal by GH markdown renderer

Ran sed -E -i 's/uip: ([0-9]+)/uip: "\1"/' UIPS/*.md

Closing because I did this myself just now before seeing this PR.


Sync eng/common directory with azure-sdk-tools for PR 2248

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/2248  See eng/common workflow

/azp run python - appconfiguration - tests-weekly

/check-enforcer override


home/sign-in/register links and register route

add href info to handlebars pages
create register route within the homepageRoutes.js file


Improve Ansible scripts to provision new Linux slaves

Right now, the Ansible scripts require a secret to provision new Jenkins slaves:
https://github.com/Microsoft/openenclave/blob/31a6c4fa21e0c8d1cc4019004f0a9027c12c2663/scripts/ansible/vars/variables.var#L5
This means that some manual steps need to be done on the Jenkins master to add the new node and fetch the secret for it, which is not desirable.
Also, I feel that we should remove the 3rd party dependency kobanyan.jenkins-jnlp-slave and have our tasks to set up the Linux Jenkins slave.
Improvements check-list:

[x] Automate the node creation & secret fetch. This is already addressed by https://github.com/Microsoft/openenclave/pull/1350
[x] Remove kobanyan.jenkins-jnlp-slave 3rd party dependency

With https://github.com/Microsoft/openenclave/pull/1430 being merged, this is fixed.


daskhub: prometheus scraping of worker pods?

I see from our dask-gateway client configuration, we make annotate our worker pods to be scraped. Is that used by us? If not, we should not do this because prometheus can easily be overloaded with scraping work I think. Especially if someone starts 100-1000 workers with 100 or so nodes that also have node metrics to be scraped.
https://github.com/2i2c-org/infrastructure/blob/cf7bfc3778001791bd83472b943fc695ea5e314d/helm-charts/daskhub/values.yaml#L189-L190

pangeo-hubs have a prometheus-server with 20Gi memory request/limit, but they ran out of it recently again. I couldn't increase it further enough, so I whiped it clean by removing the PV and PVC.
pangeo-hubs have n1-highmem-4 machines with memory specified to 26 GB as compared to the n2-highmem-4 machines with 32GB of memory. If we had n2-highmem-4 we could have increased the pod request quite a bit more, but we would run into issues in a matter of time - just like we will by resetting this.
I think pangeo-hubs heavy use of dask-gateway, where I saw ~200 nodes etc startup with probably significantly more k8s pods overloads our prometheus-servers in various ways in general. Prometheus-server will require a large unbounded amount of memory when that much logs has been scraped historically, and may become unresponsive if its scraping from 200 nodes's node-exporters and even more dask-worker pods.
If we stopped scraping the worker pods for metrics, we may avoid issues like this, maybe not. I'm not sure what metrics they emit.

Action point

[ ] Conclude what metrics dask-worker pods expose, and if we are presenting such metrics anyhow
[ ] Make a decision to stop scraping metrics or not from them

I've concluded that prometheus-server is crashing during normal operation by being OOMKilled when its trying to bug failing to scrape huge amounts of things, which it does when loads of dask worker pods are running.

I couldn't increase it further enough, so I whiped it clean by removing the PV and PVC.

Does this mean we have lost all usage data for these hubs? In the future, if the PV is full, it can be resized (https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/)

@yuvipanda hmmm hmm wait, maybe not correct that we lost the data. The PV had retain I think. So the actual disk is retained somewhere when I deleted the PV, and we got a new?

@consideRatio if possible, we should try to recover that, as without it reporting on how much the hub is used (and possibly justify further usage) is impossible :(

@yuvipanda hmmm so I was about to look into the cloud console and inspect what ID etc the disk had, but, its pangeo-hubs. I don't have access =/ I opened https://github.com/2i2c-org/infrastructure/issues/2688


Adding a new line does not scroll the text editor

Challenge http://freecodecamp.com/challenges/waypoint-create-a-set-of-checkboxes has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
Issue: adding a new line at the bottom of the text editor does not scroll the editor to make the new line visible
reproduce: move the cursor to the bottom line of the text editor. press enter to add a new line. the cursor will now be on that new line but will not be visible without scrolling the text editor window to see it

Hey @iBrooks, thanks for posting this!
Confirmed.  In my browser I can make it scroll the text editor if i place 4 newlines at the end of this challenge.  I think it has to do with making the div overlap with the footer.  Good catch!

This was resolved when we updated to the newest version of codemirror recently. It will still let you put in one line without scrolling since the line will not be completely out of view, but as soon as the newest line is completely invisible it will scroll.


Box shadow unintended behavior.

Please follow the general troubleshooting steps first:

[x] You are using the latest version
[x] You are testing using the non-minified version of html2canvas and checked any potential issues reported in the console

Bug reports:
Box shadow weird behavior, as per usual. Adding any sort of box shadow adds a strange internal gray overlay to my container.
With box shadow:

Without:

<div
      class="custom-shadow"
      id="qrcode"
  >
      <qrcode />
</div>

let canvas = await html2canvas(document.querySelector("#qrcode"), {
    backgroundColor: null,
});

.custom-shadow {
    -webkit-box-shadow: 0px 5px 8px -1px #b0b0b0;
    box-shadow: 0px 5px 8px -1px #b0b0b0;
}

This doesn't seem right.
Specifications:

html2canvas version tested with: v1.3.3
Browser & version: Brave v1.33.80/Chromium 96.0.4664.45 Also tested with most recent version of Firefox.
Operating system: Manjaro

Just tested on Brave on iOS, it does not have this behavior


Documentation: it is unclear where image is signed originaly

Neither the architecture doc, not TUF make it clear that image is signed on originating machine, NOT in notary server.
Moved from: https://github.com/docker/notary/issues/1131

My understanding from the spec is that there several keys at play when you sign an image:

Root
Targets
Snapshot
Timestamp

The root and target keys are always offline in your machine. The timestamp key is always managed by the Notary server.
The snapshot key depends. By default it's also offline, but you can configure the Notary server to manage this key for you.
Am I getting this right @endophage?

"offline" and "in your machine" sounds different to me :)

I've used "semi-online" to describe the targets key in presentations. The root key should truly be offline, stored on some kind of media in a safe, not on your machine.


docker-storage-setup: Disable auto extension of data logical volume

Fixes issue #13
Right now docker-storage-setup keeps on extending the size of data volume
as long as there is free space in the pool. So even if a user has left
some space in the pool free for metadata volume extension, that free space
will be consumed by data volume extension.
Now lvm2 has nice capabilities to automatically extend pool (both data and
metadata) when pool is running short on space. Following are two knobs which
one can use for auto extension.
thin_pool_autoextend_threshold = 100
thin_pool_autoextend_percent = 20
By default extension is disabled. One needs to enable it manually by chaning
the value of thin_pool_autoextend_threshold.
In general it is a good idea to know consume all the free pool space until
and use mechanism like extending pool by certain percentage when it hits
threshold. That allows free space in volume group to be shared by other
entities like root which might have to be grown on need basis too.
Signed-off-by: Vivek Goyal<EMAIL_ADDRESS>

Added one more commit to pulll request. We also have some logic to auto extend metadata volume size. Disable that too and leave it to lvm2 the auto extension part.

@cgwalters
It will be. I am working on a separate pull request for fixing 12. Just that these were important behavior changes which applied to even thin pool mode. So I did not want to club these changes with cleanup part. Instead want to highlight this change and keep in a separate small commit.
Do let me know if you don't like it this way.

IOW, it would not be dead by default even after cleanup as this change applied to thin pool too. So this is more than removing support for old mode.

Either way is fine by me!  Just checking.
Ok and on the first commit - I just sanity checked that this will continue working for the "first boot" path, because we're still creating the initial pool LV.
So :+1: from me, thanks!


update additional_labels

for https://github.com/kurator-dev/kurator/pull/306#issuecomment-1571676898

/hold

/unhold


How to send Surface?

This may be a bit of noob question.
// wv - webview
wv.connect_load_changed(move |wv, ev| {
    if ev == LoadEvent::Finished {
        wv.get_snapshot(
            SnapshotRegion::FullDocument,
            SnapshotOptions::NONE,
            None,
            move |res| {
                if let Ok(surface) = res {
                    sender.send(surface).unwrap();
                }
            },
        );
    }
});
// somewhere else
img.set_from_surface(Some(surface));

Results in same error almost the same as in: https://pastebin.com/RzYNmW1v (I found this paste by googling, yet no references to it. Maybe similar question was answered on IRC?)
error[E0277]: `*mut cairo_sys::cairo_surface_t` cannot be sent between threads safely
   --> src/main.rs:122:16
    |
122 |             wv.get_snapshot(
    |                ^^^^^^^^^^^^ `*mut cairo_sys::cairo_surface_t` cannot be sent between threads safely
    |
    = help: within `cairo::surface::Surface`, the trait `std::marker::Send` is not implemented for `*mut cairo_sys::cairo_surface_t`
    = note: required because it appears within the type `cairo::surface::Surface`
    = note: required because of the requirements on the impl of `std::marker::Send` for `std::sync::mpsc::Sender<cairo::surface::Surface>`
    = note: required because it appears within the type `[closure@src/main.rs:126:17: 133:18 pstx:std::sync::mpsc::Sender<cairo::surface::Surface>]`

I tried using AtomicPtr:
let ptr = AtomicPtr::new(&mut surface);
sender.send(ptr).unwrap();
// somewhere else
let surface = ptr.load(Ordering::Relaxed);
let surface = unsafe { &*surface };
img.set_from_surface(Some(surface));

While this compiles, the problem seems to be that by the time I load the pointer, original closure erases Surface:
cairo-surface.c:930: cairo_surface_reference: Assertion `CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&surface->ref_count)' failed.

The problem may come from the fact that get_snapshot callback closure gets called in the same thread as the main thread, blocking it (it can be tested by thread::sleeping in callback function and seeing the UI freeze), yet it requires callback closure to be Sendable. In that case it is issue for webkit2gtk-rs. Trying to just use Surface inside callback closure:
wv.get_snapshot(
    SnapshotRegion::FullDocument,
    SnapshotOptions::NONE,
    None,
    move |res| {
        if let Ok(surface) = res {
            img.set_from_surface(Some(&surface));
        }
    },
);

error[E0277]: `*mut gtk_sys::GtkImagePrivate` cannot be sent between threads safely
   --> src/main.rs:122:16
    |
122 |             wv.get_snapshot(
    |                ^^^^^^^^^^^^ `*mut gtk_sys::GtkImagePrivate` cannot be sent between threads safely
    |
    = help: within `[closure@src/main.rs:126:17: 134:18 pstx:std::sync::mpsc::Sender<cairo::surface::Surface>, img:gtk::auto::image::Image]`, the trait `std::marker::Send` is not implemented for `*mut gtk_sys::GtkImagePrivate`
    = note: required because it appears within the type `gtk_sys::GtkImage`
    = note: required because it appears within the type `std::marker::PhantomData<gtk_sys::GtkImage>`
    = note: required because it appears within the type `gtk::auto::image::Image`
    = note: required because it appears within the type `[closure@src/main.rs:126:17: 134:18 pstx:std::sync::mpsc::Sender<cairo::surface::Surface>, img:gtk::auto::image::Image]`

Maybe related to #175.

@sdroege used https://crates.io/crates/fragile in similar case: https://github.com/gtk-rs/gdk-pixbuf/blob/master/src/pixbuf.rs#L136-L142

There's an example here that sends cairo surfaces around: https://github.com/gtk-rs/examples/blob/master/src/bin/cairo_threads.rs
Your problem here seems to be that you use a generic cairo surface, and those are not Send. You can send image surfaces to different threads, but other surfaces are bound to their threads (and in your case it would be unsafe otherwise, your surface seems to come from gdk and gdk must only be used from the main thread).

@sdroege used https://crates.io/crates/fragile in similar case: https://github.com/gtk-rs/gdk-pixbuf/blob/master/src/pixbuf.rs#L136-L142

This only works if things are actually on the same thread, otherwise it panics.

@GuillaumeGomez Can be closed


[Feature] Add native not operator (!) support to version ranges

Description
[Relates to issue #666 and PR #667 ]
Extend the VersionRange supported syntax
With the various rez-pip improvements being added, rez-pip now supports conversion of pip version specifiers to equivalent rez requirements (PEP 440 --> rez compatible) as described below
Example conversions (provided by Allan's PR 🙏 ):
    |   PEP440    |     rez     |
    |-------------|-------------|
    | ==1         | 1+<1.1      |
    | ==1.*       | 1           |
    | >1          | 1.1+        |
    | <1          | <1          |
    | >=1         | 1+          |
    | <=1         | <1.1        |
    | ~=1.2       | 1.2+<2      |
    | ~=1.2.3     | 1.2.3+<1.3  |
    | !=1         | <1|1.1+     |
    | !=1.2       | <1.2|1.2.1+ |
    | !=1.*       | <1|2+       |
    | !=1.2.*     | <1.2|1.3+   |

Although the pip version requirements including negation via the not operator (!) can now be correctly converted to rez compatible version ranges, the actual VersionRange class does not natively support the not operator syntax so currently negated version ranges cannot be generated directly but need to first be converted to match the supported syntax.
This PR extends the syntax of the VersionRange class to fully support the not operator and create the same rez-compatible version ranges as described in the table above. This is done by extending the regex to detect the leading ! in the _VersionRangeParser class.
Breakdown

Add '!' syntax to rez version ranges

Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
I have tried negating a wide array of version ranges to hopefully cover all edge cases. The results are outlined below:
>>> VersionRange("!3.5.6")
VersionRange('<3.5.6|3.5.6_+')

>>> VersionRange("!==3.5.6")
VersionRange('<3.5.6|>3.5.6')

>>> VersionRange("!3.5.6..6.5.0")
VersionRange('<3.5.6|>6.5.0')

>>> VersionRange("!3.5.6+")
VersionRange('<3.5.6')

>>> VersionRange("!>3.5.6")
VersionRange('<=3.5.6')

>>> VersionRange("!>=3.5.6")
VersionRange('<3.5.6')

>>> VersionRange("!<3.5.6")
VersionRange('3.5.6+')

>>> VersionRange("!<=3.5.6")
VersionRange('>3.5.6')

>>> VersionRange("!3.5.6+<6.5.0")
VersionRange('<3.5.6|6.5.0+')

Test Configuration:

Python version: 2.7.16
OS: Linux, Windows 10
Toolchain: rez 2.38.1, pip 19.1.1

Demo

Version range negation

Changelog
Point release
Source | Diff
Notes
Add native not operator (!) support to the vendored VersionRange class. Version requirements
can now be negated without prior conversion.
Merged pull requests:

[Feature] Add native not operator (!) support to version ranges #XXX (lambdaclan)

Closed issues:

Schema - VersionRange does not support ! (not) operator #666

Edit
I have detected what I believe to be an issue with descending order ranges (both normal and negated does not work) therefore I will try to add the fix to this PR.
>>> VersionRange("<=2.0.0,1.0.0+")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/packages/rez/2.38.1/platform-linux/arch-x86_64/os-Arch-rolling/rez/vendor/version/version.py", line 822, in __init__
    % (range_str, str(e)))
rez.vendor.version.util.VersionError: Syntax error in version range '<=2.0.0,1.0.0+': Syntax error in version range '<=2.0.0,1.0.0+'
>>>

Nice. Looking forward to this, won't be til post-SIGGRAPH though.
Thx
A

I have adjusted the regex to correctly detect descending ordered version ranges
>>> VersionRange("<=2.0.0,1.0.0+")
VersionRange('1.0.0..2.0.0')
>>> VersionRange("!<=2.0.0,1.0.0+")
VersionRange('<1.0.0|>2.0.0')
>>> VersionRange("<=2.0.0,>1.0.0")
VersionRange('>1.0.0<=2.0.0')
>>> VersionRange("!<=2.0.0,>1.0.0")
VersionRange('<=1.0.0|>2.0.0')
>>> VersionRange("<=2.0.0,>=1.0.0")
VersionRange('1.0.0..2.0.0')
>>> VersionRange("!<=2.0.0,>=1.0.0")
VersionRange('<1.0.0|>2.0.0')

While playing around with the version range regex parsers I have come across a few cases that I am not sure whether or not should be permissible, feedback is welcome.
>>> VersionRange("<=2.0.0,>=") # incomplete range
VersionRange('<=2.0.0')
>>> VersionRange("<=") # only less than or equal
VersionRange('==')
>>> VersionRange(">=") # only greater than or equal
VersionRange('')
>>> VersionRange("<=2.0.0,") # trailing comma
VersionRange('<=2.0.0')
>>> VersionRange("<2.0.0,") # trailing comma
VersionRange('<2.0.0')

Also
>>> VersionRange("1.0.0+<")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/iakritas/packages/rez/2.38.1/platform-linux/arch-x86_64/os-Arch-rolling/rez/vendor/version/version.py", line 822, in __init__
    % (range_str, str(e)))
rez.vendor.version.util.VersionError: Syntax error in version range '1.0.0+<': Syntax error in version range '1.0.0+<'

The above is correct

>>> VersionRange("1.0.0+<=")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/iakritas/packages/rez/2.38.1/platform-linux/arch-x86_64/os-Arch-rolling/rez/vendor/version/version.py", line 825, in __init__
    % (range_str, str(e)))
rez.vendor.version.util.VersionError: Invalid version range '1.0.0+<=': Invalid bound

Here although an error is raised the syntax is considered valid. Issue?

There might more so I will be adding them as I come across them.

Hey Ira, see below.
On Wed, Jul 24, 2019 at 5:19 PM Ira<EMAIL_ADDRESS>wrote:

While playing around with the version range regex parsers I have come
across a few cases that I am not sure whether or not should be permissible,
feedback is welcome.

VersionRange("<=2.0.0,>=") # incomplete range
VersionRange('<=2.0.0')
VersionRange("<=") # only less than or equal
VersionRange('==')
VersionRange(">=") # only greater than or equal
VersionRange('')
VersionRange("<=2.0.0,") # trailing comma
VersionRange('<=2.0.0')
VersionRange("<2.0.0,") # trailing comma
VersionRange('<2.0.0')

These are fine.
They key to understanding what's going on here is that the empty string ''
is a valid version range. It is the superset of all versions, including no
version(!). Yes, no version is expressed in the version module also,
because versionless packages exist. This is why a request like 'foo' will
match to any version of foo - you can think of that request as being
foo-''. The so-called "null" version (ie no version) is considered the
smallest version that can exist.
Another example - '==' is a valid version range, because it will exactly
match a versionless package.
"<=2.0.0,>=" is equal to "<2.0.0" because that is the intersection (the
ANDing) of <=2.0.0, and '' (any version).

Also

VersionRange("1.0.0+<")
Traceback (most recent call last):
File "", line 1, in
File "/home/iakritas/packages/rez/2.38.1/platform-linux/arch-x86_64/os-Arch-rolling/rez/vendor/version/version.py", line 822, in init
% (range_str, str(e)))
rez.vendor.version.util.VersionError: Syntax error in version range '1.0.0+<': Syntax error in version range '1.0.0+<'

This shouldn't be a syntax error, but it should be an invalid range,
because '<' is an invalid range (there is no such thing as a version
smaller than the "null" version, ie no version).

The above is correct

VersionRange("1.0.0+<=")
Traceback (most recent call last):
File "", line 1, in
File "/home/iakritas/packages/rez/2.38.1/platform-linux/arch-x86_64/os-Arch-rolling/rez/vendor/version/version.py", line 825, in init
% (range_str, str(e)))
rez.vendor.version.util.VersionError: Invalid version range '1.0.0+<=': Invalid bound

This is correct, you can't have a version both >=1.0.0, and <= the null
version.

Here although an error is raised the syntax is considered valid. Issue?
There might more so I will be adding them as I come across them.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/pull/670?email_source=notifications&email_token=AAMOUSRJZWNDLOXGSYZ625DQA767JA5CNFSM4IFVI2JKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2VNIDI#issuecomment-514511885,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMOUSWUA6DWUU5X7RHLQOLQA767JANCNFSM4IFVI2JA
.

Below.
On Thu, Jul 25, 2019 at 8:30 AM Allan Johns<EMAIL_ADDRESS>wrote:

Hey Ira, see below.
On Wed, Jul 24, 2019 at 5:19 PM Ira<EMAIL_ADDRESS>wrote:

While playing around with the version range regex parsers I have come
across a few cases that I am not sure whether or not should be permissible,
feedback is welcome.

VersionRange("<=2.0.0,>=") # incomplete range
VersionRange('<=2.0.0')
VersionRange("<=") # only less than or equal
VersionRange('==')
VersionRange(">=") # only greater than or equal
VersionRange('')
VersionRange("<=2.0.0,") # trailing comma
VersionRange('<=2.0.0')
VersionRange("<2.0.0,") # trailing comma
VersionRange('<2.0.0')

These are fine.
They key to understanding what's going on here is that the empty string ''
is a valid version range. It is the superset of all versions, including no
version(!). Yes, no version is expressed in the version module also,
because versionless packages exist. This is why a request like 'foo' will
match to any version of foo - you can think of that request as being
foo-''. The so-called "null" version (ie no version) is considered the
smallest version that can exist.
Another example - '==' is a valid version range, because it will exactly
match a versionless package.
"<=2.0.0,>=" is equal to "<2.0.0" because that is the intersection (the
ANDing) of <=2.0.0, and '' (any version).

Also

VersionRange("1.0.0+<")
Traceback (most recent call last):
File "", line 1, in
File "/home/iakritas/packages/rez/2.38.1/platform-linux/arch-x86_64/os-Arch-rolling/rez/vendor/version/version.py", line 822, in init
% (range_str, str(e)))
rez.vendor.version.util.VersionError: Syntax error in version range '1.0.0+<': Syntax error in version range '1.0.0+<'

This shouldn't be a syntax error, but it should be an invalid range,
because '<' is an invalid range (there is no such thing as a version
smaller than the "null" version, ie no version).

Actually I think we're splitting hairs here. It's probably ok that this is
a syntax error, since '<' with nothing after it would always express an
impossible version range anyway. I think it's fine to leave this as-is.
So all in all I don't think I can see any problems, it's all behaving as
expected.

The above is correct

VersionRange("1.0.0+<=")
Traceback (most recent call last):
File "", line 1, in
File "/home/iakritas/packages/rez/2.38.1/platform-linux/arch-x86_64/os-Arch-rolling/rez/vendor/version/version.py", line 825, in init
% (range_str, str(e)))
rez.vendor.version.util.VersionError: Invalid version range '1.0.0+<=': Invalid bound

This is correct, you can't have a version both >=1.0.0, and <= the null
version.

Here although an error is raised the syntax is considered valid. Issue?
There might more so I will be adding them as I come across them.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nerdvegas/rez/pull/670?email_source=notifications&email_token=AAMOUSRJZWNDLOXGSYZ625DQA767JA5CNFSM4IFVI2JKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2VNIDI#issuecomment-514511885,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMOUSWUA6DWUU5X7RHLQOLQA767JANCNFSM4IFVI2JA
.

Hello Allan,
Thank you very much for the detailed breakdown, all make sense now. I was aware of the null version but I was under the impression that it can only be represented as the empty string "".  I understand the not passing a version to an operator such as == or >= will now match a null/any version.
I would say that the work here is done for now then so will be back during the review 👍

Unit tests should be added to https://github.com/nerdvegas/rez/blob/master/src/rez/vendor/version/test.py

Added equality unit tests for version range negation

I am trying to add some more tests beyond equality checks for negation in version ranges.
Should be Invalid
>>> VersionRange("!") # currently returns empty version
>>> VersionRange("!=") # error
>>> VersionRange("!<") # error
>>> VersionRange("!>=") # currently returns empty version
>>> VersionRange("!+") # currently returns empty version
>>> VersionRange("!4+<2") # error
>>> VersionRange("!>3<3") # error
>>> VersionRange("!>3<=3") # error
>>> VersionRange("!3+<3") # error

plus all of these prepended with !
Should be Valid
>>> VersionRange("!<=")
VersionRange('>')

>>> VersionRange("!>=")
VersionRange('==')

>>> VersionRange("!..")
VersionRange('>')

>>> VersionRange("!+<=")
VersionRange('>')

Ping! This has not been forgotten about, it's just slipped down the list as higher priority stuff has come up (specifically, https://github.com/nerdvegas/rez/issues/768 is fairly high priority, as is https://github.com/nerdvegas/rez/issues/773). I will get to this.


s.key is not a function error

FIREBASE WARNING: Exception was thrown by user callback. TypeError: s.key is not a function
    at http://localhost:8888/schoolbelle-board/bower_components/firebase-util/dist/firebase-util.js:1876:16

I was using Scroll with Normalized collection.
  hasChild: function(snaps, key) {
    return util.contains(snaps, function(s) {
      return s.key() === key;
    });
  },

  getChildSnaps: function(snapsArray, recordId) {
    return util.filter(snapsArray, function(s) {
      return s.key() === recordId;
    });
  },

should it be changed to 's.key' without parenthesis?
ps. thanks for your effort! I'm benefiting greatly from your work 👍

Yeah! Now the key is retrieved as a property instead of a function. Remove the parenthesis s.key === key , it should work!
Regards!


[pilot] tester management on less-priviliged accounts

supports adding testers on accounts below admin role
(developer, app-manager)
Fixes: #8728

@snatchev this solution seems to work, however i am not really happy with the factory thing on externalTesters, can you have a look, maybe there is a better solution. the root cause seems that per-se spaceship is adding testers to "overall" tester pool, where you have no access to if you are below  admin role.
however adding it to the app_id pool directly works.

Just testing this - added a tester perfectly 💪 but if no first name / last name is set the user appears as null null.
They're added fine, but on an Admin account it just shows them as empty instead of null. Cheers!

@bencollier awesome, thx - null value's fixed with last commit https://github.com/fastlane/fastlane/pull/8776/commits/e26a80ad52fce39d7be8dce92b8decf2bb4346c3

@hjanuschka looks good! Thanks :) I've not tested it as part of a CSV import, should that use the same logic?

@bencollier i think so, atleast it takes the same code-path 👍

When will this be merged? Seeing the error when I use the web app.

@hjanuschka This has to be re-written with the updated pilot, right? @taquitos actually works on the same thing for pilot, so you two might want to sync on this

Thanks for following up!

Update: I'm currently working through feedback on: https://github.com/fastlane/fastlane/pull/9046

Alright, cool, should we close this PR for now then?

yeah i think!


make the lua context static for parsing logging.config

All squashed and everything.

[approve ci]


RBSC not in Holding Locations

We probably need RBSC and Mudd

This is the closest: https://bibdata.princeton.edu/locations/delivery_locations/13 but label is off and I don't think we should change it.
@kevinreiss can you think of any negative implications if we made another delivery location (or two, one for Mudd) and just set everything to False except for digital location?


python 2 compatibility

Was the codebase originally intended to be run on python2 or python 3?
I'm running into an issue with the urllib module.
in python2 urlretrieve is located at url.urlretrieve
in python3 urlretrieve is located at url.request.urlretrieve
from data/datasets/dukemtmcreid.py it seems that the download code was written assuming python2 but a lot of other things are pointing to assuming a python3 install (e.g.) engine folder doesn't have __init__.py therefore tools/train.py cannot successfully execute the following line on python 2:
from engine.trainer import do_train, do_train_with_center

I think I have a pull request or two I would like to make, but don't know how to proceed until it's clear whether this project is supposed to support both python2 and python3, or only python3 support is desired.

Hi, only python3 is supported for this project, and we have already fixed this problem. Feel free to raise issues if you have any questions.


[MM-47843] Work Template Modal (ui only)

Summary
The goal of this PR is to provide a first version of a "dev-ready" work template modal that is feature flag gated (see server PR).
When reviewing keep in mind that we're looking to have this merged in a "dev-ready" state and not "prod-ready" ~ So the "dev" parts (inject fake data in the store etc...) are "ok" and expected to stay but please bring up any quality concern!
How to access it

You must run the server with the env export MM_FEATUREFLAGS_WorkTemplate='true'.
There's a temporary entry called "Work Template" in our "Application" menu (Top Left of your screen). Again, only visible if the Feature Flag is on.

Want more details? Sure!
The idea is that each page of the modal content is 100% generated by the work templates that come from the redux store. In this first iteration, the work templates are hardcoded in a file and injected into the redux store to "simulate" what we would get from the server in the near future. I tried to prefix (or include) the keyword "dev" and or "todo" in every method/structure/file that is meant to be removed eventually.
You can go as far as your want in the process, the "final" result when using "Quick Create" or "Create" from the last modal page will trigger an alert to let us know what's going to happen. Long term idea is that we'll trigger a request to the server and the server will take create of creating everything that's necessary.
Here's a non-complete list of what is missing in this version on the UI side (and that won't be added in this PR):

The types are not yet "complete".
Create a definitive entry in the "application" menu
Create an entry in the "onboarding" window
The integrations (plugin) part has been completely left out.
Getting templates from the backend rather than from the a dev file in the frontend

Ticket Link
mattermost.atlassian.net/browse/MM-47843
Related Pull Requests

Has server changes https://github.com/mattermost/mattermost-server/pull/21553

Screenshots
Go see for yourself :D
Release Note
NONE

Alright I've setup the Spinwick with the FeatureFlag on!

/update-branch

This branch accidentally turned into a feature branch, to avoid the challenges associated with a feature branch, it'll be merged in master and we'll iterate over master. Everything is behind a feature flag, so this is a safe operation.


Upload large file

Is it possible to upload large video file?

Yes.
But you'll need to have a Premium account for files above 2 GB


feat(REACH-374): Prepare single embed initializer

What
JIRA: REACH-374
Added and single embed code initializer that's ran before all other initializers.

[BOT] Preview available with hash e20cb585689d22d715e6073f02fea0b052ab0507 here.

[BOT] Preview available with hash fd965b44336b3ddc5dc04a3fd7d1f86eab48ec9a here.

[BOT] Preview available with hash 83168685e80c264c7c46a83ced70a9841675f924 here.

[BOT] Preview available with hash 192b72045064576ae8e48b18949742392b6cc691 here.

[BOT] Preview available with hash cc384c770d4dd06905ae7b5eb13ad2b309c7bce3 here.

[BOT] Preview available with hash 60dd8e9b3fe91c8101fa2274f99d717e653c36d6 here.

:tada: This PR is included in version @typeform/embed-v2.12.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Use innerText to copy code content

Fix #168.
The textContent property doesn't preserve line breaks. As a result, copying code using the button in the <Pre> component, e.g.
theme: {
    colors: {
      primary: colors.teal,
      gray: colors.trueGray,
      ...
    }
  ...
}

results in the following when pasted:
theme: {    colors: {      primary: colors.teal,      gray: colors.trueGray,      ...    }  ...}

By replacing textContent with innerText, line breaks are preserved.

Good find and fix, thanks for the PR!


zdb monitor raises an error

env
js development
0-robot development

This is not a bug. In all of our services we check if the service is installed in the monitor action and if it is not installed you'll see this error in the logs when it checks the state. This has been the case ever since we started creating 0-robot templates and it has already been discussed before.


Will C# sdk support "grpc.keepalive_time_ms" option?

https://github.com/grpc/grpc/blob/6a1bf82ea9ac1b1d36a6d0ee48299a978a8fc964/include/grpc/impl/codegen/grpc_types.h#L222
and other two options:  "grpc.keepalive_timeout_ms" and "grpc.keepalive_permit_without_calls"

All the channel arguments are "supported" in the sense that you can create any channel option by e.g.
new ChannelOption("grpc.keepalive_time_ms", yourValue)  and then pass it to channel constructor.

Hi @jtattermusch :
I tried this setting about keep alive, but the connection still get closed after idle for like 30 minutes (should not happen if the keep alive ping have bean properly set), and the disconnect event on channel is not triggered, I can only detect the disconnection till a new request is fired.
What I encountered is very similar to this thread:
https://groups.google.com/forum/#!topic/grpc-io/doa2tBP0HK0
I am not sure if there is already a github issue raised by the original author, so I comment here.

yes, it works now, with
GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS set to 1
and
GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA set to 0


Permit users to specify which fields are significant for hash and equality

We have a number of comments in our code of the form
# TODO(NHD): @auto_hash_equals (currently can't b/c of existing hash that <something>)

If the user could specify which fields are significant, the hash and equality could be automatic.  Perhaps something like this:
@auto_hash_equals (:name, :node_id) mutable struct Var <: Term
    name :: Id
    annos :: Annos
    node_id :: NodeId
end

/cc @NHDaly

cool! :) Thanks neal, sounds like a nice improvement.

This is now done.
@auto_hash_equals fields=(x, y) struct Point ... end
or, if you want the hash value cached,
@auto_hash_equals cache=true fields=(x, y) struct Point ... end


[ISSUE][CLOSED] [Build Test] Separate log filename per architecture

 Issue by myungjoo-ham
Thursday Jul 12, 2018 at 08:02 GMT
Originally opened as https://github.sec.samsung.net/STAR/TAOS-CI/issues/124

Please use different filenames for build log of Tizen-x64 and Tizen-armv7l.
Currently, the two have the same log filename, overwriting each other.

:octocat: cibot: Thank you for posting issue #148. The person in charge will reply soon.

 Comment by git-bot-sec
Thursday Jul 12, 2018 at 08:02 GMT

:octocat: cibot: Thank you for posting issue #124. The person in charge will reply soon.

 Comment by sewon-oh
Tuesday Jul 17, 2018 at 09:49 GMT

Done by @geunsik-lim


Error build stlink for Fedora Linux

I have error build stlink 1.4.0 for upcoming Fedora release.
/builddir/build/BUILD/stlink-1.4.0/src/tools/gui/stlink-gui.c: In function 'stlink_gui_set_connected':
/builddir/build/BUILD/stlink-1.4.0/src/tools/gui/stlink-gui.c:517:29: error: cast between incompatible function types from 'void (*)(STlinkGUI *)' {aka 'void (*)(struct _STlinkGUI *)'} to 'void * (*)(void *)' [-Werror=cast-function-type]
     g_thread_new ("devmem", (GThreadFunc) stlink_gui_populate_devmem_view, gui);

Full build log https://kojipkgs.fedoraproject.org//work/tasks/2219/25032219/build.log
Other components used for build https://kojipkgs.fedoraproject.org//work/tasks/2219/25032219/root.log
It can be because of GCC 8.0.1.
Please help correct this build.

It could be something like this
https://developer.gnome.org/glib/stable/glib-Threads.html#GThreadFunc
diff --git a/src/tools/gui/stlink-gui.c b/src/tools/gui/stlink-gui.c
index d45db6f..0af8c2c 100644
--- a/src/tools/gui/stlink-gui.c
+++ b/src/tools/gui/stlink-gui.c
@@ -224,11 +224,14 @@ stlink_gui_update_devmem_view (STlinkGUI *gui)

 static void
-stlink_gui_populate_devmem_view (STlinkGUI *gui)
+stlink_gui_populate_devmem_view (gpointer data)
 {
     guint            off;
     stm32_addr_t     addr;

+    g_return_if_fail (STLINK_IS_GUI (data);
+    STlinkGUI *gui = (STlinkGUI *)data;
+
     g_return_if_fail (gui != NULL);
     g_return_if_fail (gui->sl != NULL);

@Vascom could you test latest master?

Not work. Same problem https://kojipkgs.fedoraproject.org//work/tasks/5194/25085194/build.log
My code was only example from my friend-programmer.

Now #668 looks good and not failed at build.
Are you plan make new release or I should use patch for 1.4.0?

I will create a new release 👍

v1.5.0 has been tagged, enjoy

Thanks.


Expanded button visual bugs

Litmus test.

In Outlook 2007, 2010, and 2013, buttons don't expand at all.
In Gmail and Google Apps, the padding, text color, and text decoration is wrong.
In Office 365 and Outlook.com, the first button will be correct, but if you place more expanded buttons below it, those won't be expanded. @rafibomb suggested an .expander cell may fix this.

Here's the correct look:

Is button-expanded the visual test for this?

@rafibomb Yep

Added expander to each button.
Fixes Outlook 2007, 2010, and 2013, buttons don't expand at all. and Office 365 and Outlook.com, the first button will be correct, but if you place more expanded
Remaining issues:

In Gmail and Google Apps, the padding, text color, and text decoration is wrong.
In Outlook 2007, 2010, and 2013, buttons don't have vertical spacing between.

@rafibomb Nice!!

Buttons still don't expand in Outlook 2007. Litmus test: https://litmus.com/builder/documents/493210/edit

Fixed in d2d38ba9feb795718227f1a9b4d9b134ef7fc2e0


Auto-release approved records to the ERepo from the VCI

Release all approved records from Step 4 VCEPs directly to the ERepo, removing any manual requirements.
SP ticket: https://broadinstitute.atlassian.net/browse/CGSP-653

FYI: on variant curation call 2/2/2024 request that we don't use the "publish" because it infers a paper has been published.


OSF4M Accepting Submissions doesn't sort

On this page:  https://osf.io/meetings/
The right column should sort based on the up and down arrows, but doesn't.  I've tried in Chrome and Safari, and the Submissions column will sort as suggested, but the Accepting Submissions column will not.  Please fix.

Related to this issue?  https://github.com/CenterForOpenScience/osf.io/pull/4252

JIRA ISSUE -> https://openscience.atlassian.net/browse/OSF-4539

As the OP AndrewSallans suggested this seems to be related to issue #4252 . A fix for which was merged two weeks ago. I tested just now and was able to sort on "Accepting Submissions." I think this issue can be closed.


-synant broken

-synant does not work
check & fix

Removed cmd as api is broken, and there are no replacements.
No significant use of the -synant command.


Security with header X-Forwarded-For and API_TOKEN

Please add some security points to this project .
First this part https://github.com/rajnandan1/kener/blob/3264e864263cccdd5ec42c06d9ec30b3d5ebc6a7/src/lib/server/webhook.js#L47-L50
allow a user to fake ip .
Creating the query on curl, you can add your custom X-Forwarded-For, and so fake the sender ip .
You need to trust headers x-forwarded-for or x-real-ip only if remoteAddress is a trusted reverse proxy . So you need to add an env to set the list of trusted reverse proxies, and check .

Second, please doesn't use API_TOKEN in clear . It's really better to set a hash on the env variable, and in your script you can check if the hash match the sent Bearer .
you can easly use bcrypt . and you can easily find a bcrypt generator online to get an hash
this is not the best solution, but better than setting the password in clear in env ... also, you can use docker files environment var, it allow to use a secret - example on mongodb image

Hi @thib3113 can you raise a PR with the desired fixes


Nystrom for Image processing

thank you for sharing the wondeful code. I am working on image processing and wanted to try your code for the same. I have 2 doubts:

How to select residual_conv_kernel? I could not find any details for the same. also, it is enabled by a flag. When should we enable it and when to disable it?
Is there any guideline for deciding num_landmarks for image processing task?

Thanks

This should help (from the paper's authors)
TLDR no need for residual conv for image tasks.


An example walk through for new user

I am trying to understand the details of custom controller and planning to write a new one. I could not find a good user doc which talks about the details of file and package. I am looking for something like example other than foo which is being created. The closest I have found is this article but this is not quite accurate anymore.

As someone who has written a couple of simple controllers over the last three years I find the addition of the CRD to this controller to be very confusing. Perhaps a sample using only core resource types should be built side by side with this one.
tl;dr this is meant to be a 101, it's a 201.

I put this together that details the sample-controller -> https://thebsdbox.co.uk/2019/06/26/Kubernetes-Controllers-Part-One/
The source is all markdown so I can happily donate it if it's any use to the sample-controller repo.


Royal Trouble Investigate the caves section bug

Once all the diary pages are found, the player must read through the full diary before being able to progress through the tunnel crack. Otherwise, you will get a prompt saying you must explore further.

I'll need to see if I can get the correct varbit for the readDiary https://github.com/Zoinkwiz/quest-helper/blob/2fe626a864e325fd9184116298be392e87a31894/src/main/java/com/questhelper/helpers/quests/royaltrouble/RoyalTrouble.java#L389 to determine if the player has correctly read the diary to the end.


dart:ffi conflicts with System.loadLibrary on Android API <=23

Summary
I'm not sure if this is a Dart SDK issue or a Flutter issue.
On Android API versions <=23, calling a function in the Android SDK that does System.loadLibrary, followed by a dart:ffi DynamicLibrary.open fails.
Some examples of the former can be:

android.media.SoundPool, because of the static block here
android.webkit.CookieManager.getInstance(), because it loads WebViewChromiumFactoryProvider which loads a library here

More info in a doc in b/159167352
Why this happens
When calling System.loadLibrary on Android <=23, the Java runtime actually overrides the paths searched during a dlopen call (g_ld_library_paths) to match that of the classloader for the caller, before calling dlopen on the library.
When this is called by a function in the Android SDK (i.e. down the call chain of CookieManager), the classloader is different than that of the users application code, and this overrides the g_ld_library_paths to exclude the g_ld_library_paths of the current application / APK.
DynamicLibrary.load(‘libsomething.so’) in Dart is just a thin layer around dlopen. This means that if it is called after the g_ld_library_paths are overridden, the linker will be unable to find the libsomething.so if this was provided from the APK.
Steps to Reproduce
https://github.com/jiahaog/ffi_android_linker_conflict/commit/a8971f405789a1181dc858e33c5d96a7d6f361ff is a minimal repro
The important files are just

app/lib/main.dart
app/android/app/src/main/java/com/example/ffi_android_linker_conflict/MainActivity.java

Expected results:
DynamicLibrary.open succeeds.
Actual results:

Logs
I/flutter ( 5755): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
I/flutter ( 5755): The following ArgumentError was thrown while handling a gesture:
I/flutter ( 5755): Invalid argument(s): Failed to load dynamic library (dlopen failed: library "libnative_add.so" not
I/flutter ( 5755): found)
I/flutter ( 5755): When the exception was thrown, this was the stack:
I/flutter ( 5755): #0      _open (dart:ffi-patch/ffi_dynamic_library_patch.dart:11:55)
I/flutter ( 5755): #1      new DynamicLibrary.open (dart:ffi-patch/ffi_dynamic_library_patch.dart:20:12)
I/flutter ( 5755): #2      _MyHomePageState._incrementCounter (package:ffi_android_linker_conflict/main.dart:59:26)
I/flutter ( 5755): #3      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:992:19)
I/flutter ( 5755): #4      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:1098:38)
I/flutter ( 5755): #5      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:184:24)
I/flutter ( 5755): #6      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:524:11)
I/flutter ( 5755): #7      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:284:5)
I/flutter ( 5755): #8      BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:256:7)
I/flutter ( 5755): #9      GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:158:27)
I/flutter ( 5755): #10     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:224:20)
I/flutter ( 5755): #11     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:200:22)
I/flutter ( 5755): #12     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:158:7)
I/flutter ( 5755): #13     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:104:7)
I/flutter ( 5755): #14     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:88:7)
I/flutter ( 5755): #18     _invoke1 (dart:ui/hooks.dart:283:10)
I/flutter ( 5755): #19     _dispatchPointerDataPacket (dart:ui/hooks.dart:192:5)
I/flutter ( 5755): (elided 3 frames from dart:async)
I/flutter ( 5755): Handler: "onTap"
I/flutter ( 5755): Recognizer:
I/flutter ( 5755):   TapGestureRecognizer#2c717
I/flutter ( 5755): ════════════════════════════════════════════════════════════════════════════════════════════════════

[✓] Flutter (Channel master, 1.20.0-1.0.pre.118, on Mac OS X 10.15.3 19D76, locale en-US)
    • Flutter version 1.20.0-1.0.pre.118 at /Users/jiahaog/flutter
    • Framework revision 8665e13801 (5 hours ago), 2020-06-18 18:08:01 -0700
    • Engine revision b5f5e6332c
    • Dart version 2.9.0 (build 2.9.0-17.0.dev 54481776c9)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0-rc2)
    • Android SDK at /Users/jiahaog/Library/Android/sdk
    • Platform android-stable, build-tools 30.0.0-rc2
    • Java binary at: /Applications/Android Studio 3.5 Preview.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C505
    ✗ CocoaPods installed but not working.
        You appear to have CocoaPods installed but it is not working.
        This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it.
        This can usually be fixed by re-installing CocoaPods. For more info, see https://github.com/flutter/flutter/issues/14293.
      To re-install CocoaPods, run:
        sudo gem install cocoapods

[✓] Android Studio
    • Android Studio at /Applications/Android Studio 3.5 Preview.app/Contents
    • Flutter plugin version 33.4.2
    • Dart plugin version 183.5901
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] VS Code (version 1.43.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.9.1

[✓] Connected device (1 available)
    • Android SDK built for x86 64 • emulator-5554 • android-x64 • Android 6.0 (API 23) (emulator)

! Doctor found issues in 1 category.

Thanks for reporting.
To conform to this we need to make Flutter aware we want to dlopen open something, and let Flutter do it: https://github.com/dart-lang/sdk/issues/37771.

I am encountering a similar error using the tflite_flutter_plugin.
@dcharkes Currently I am trying to solve this with the workaround (2nd one) you gave here.
I forked the repo put the following code:
package com.tfliteflutter.tflite_flutter_plugin;

import androidx.annotation.NonNull;
import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugin.common.PluginRegistry.Registrar;

/** TfliteFlutterPlugin */
public class TfliteFlutterPlugin implements FlutterPlugin, MethodCallHandler {
  @Override
  public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) {
    final MethodChannel channel = new MethodChannel(flutterPluginBinding.getFlutterEngine().getDartExecutor(), "tflite_flutter_plugin");
    channel.setMethodCallHandler(new TfliteFlutterPlugin());
    loadLibrary();
  }

  // This static function is optional and equivalent to onAttachedToEngine. It supports the old
  // pre-Flutter-1.12 Android projects. You are encouraged to continue supporting
  // plugin registration via this function while apps migrate to use the new Android APIs
  // post-flutter-1.12 via https://flutter.dev/go/android-project-migration.
  //
  // It is encouraged to share logic between onAttachedToEngine and registerWith to keep
  // them functionally equivalent. Only one of onAttachedToEngine or registerWith will be called
  // depending on the user's project. onAttachedToEngine or registerWith must both be defined
  // in the same class.
  public static void registerWith(Registrar registrar) {
    final MethodChannel channel = new MethodChannel(registrar.messenger(), "tflite_flutter_plugin");
    channel.setMethodCallHandler(new TfliteFlutterPlugin());
  }

  @Override
  public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
    if (call.method.equals("getPlatformVersion")) {
      result.success("Android " + android.os.Build.VERSION.RELEASE);
    } else {
      result.notImplemented();
    }
  }

  @Override
  public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
  }

  private static boolean isLibraryLoaded = false;

  private static void loadLibrary() {
    if (isLibraryLoaded) {
      return;
    }

    // Loads `libX.so`.
    System.loadLibrary("tensorflowlite_c");
    isLibraryLoaded = true;
  }
}

However I am still getting:
E/flutter ( 2644): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: Invalid argument(s): Failed to load dynamic library (Cannot load library: load_library[1093]: Library 'libtensorflowlite_c.so' not found)

Am I applying the workaround wrongly or is it not working anymore?

@CaptainDario having the same issue, this workaround used to work when i tried it on an x86 emulator android API 16, but it is not working anymore System.loadLibrarycan not find my native library

From Triage: @jiahaog This issue came up during triage after the tags were updated. It seems like dlopen and loadLibrary don't have identical search paths on all platforms. Is that right? Is this still happening? Also, perhaps there is a workaround where an absolute path is specified. Or, we could use loadLibrary in Java code before calling DylibLibrary.process() in Dart?

I think this is specific to Android. Some Android SDK methods can override the search paths for dlopen, causing DynamicLibrary.load in Dart to fail. I just checked and this is still an issue, at least internally on emulators.
I'm not sure if specifying an absolute path would work, but as you mentioned the workaround we use internally is to use loadLibrary first in Java - see http://shortn/_VKPTUyNSTA

FWIW, we want to move to more static bindings with FfiNatives, with an asset system. In this asset system the embedder will resolve the asset name + symbol name to a memory address. So then the embedder is both in charge of bundling and resolving at runtime.
As such, we have not pursued making the existing DynamicLibrary.open go through the embedder. If this is blocking you, we could also do that.

@dcharkes This is quite a big issue for me. Is there a known workaround or rough timeline for a fix? This issue has been open for quite a long time.

@dcharkes is there still hope for this to be looked at?

Workarounds are mentioned above.

FWIW, we want to move to more static bindings with FfiNatives, with an asset system. In this asset system the embedder will resolve the asset name + symbol name to a memory address. So then the embedder is both in charge of bundling and resolving at runtime.

This work is in progress. I'd need to double check what is happening with native assets in Android currently. (That landed behind an experiment flag in Flutter last week.) I'd assume that that's also not working currently, because the dlopen does not go via Flutter. Flutter only influences the path. I'll take a look at this.

Thank you very much! Sadly the workarounds mentioned above do not seem to work for me.


Using double as input throws runtime error

Hi,
I have encountered an unhandled exception when running simple predictions on my model. When using vector of doubles instead of vector of floats.
int CModelWrapper::predict(const std::vector<double> &input_data){
    auto output = this->model(cppflow::tensor(input_data,{1,200,31}));
    auto values = output.get_data<double>();
    double glob_max = -1;
    int res = 0;
    for (int i = 0; i < values.size(); ++i) {
        res = values[i] > glob_max ? i : res;
        glob_max = values[i] > glob_max ? values[i] : glob_max;
    }

    return res;
}

The exception is thrown at model.h:155 when executing status_check().
Unhandled exception at 0x00007FF85074D759 in app_gestures.exe: Microsoft C++ exception: std::runtime_error at memory location 0x00000014036F2BC0.
The model was trained on float_64 data type. Do you happen to know where might be the issue?

Hi @tranvanh
Is that the complete error message? Do you know if you are feeding the data correctly?
Could you show the result of running the following, to see the inputs of your model:
saved_model_cli show --dir path/to/saved/model --all

Thanks


Add first draft of top of tree dev proposal

Sorry, I didn't mean to open this yet.

At least, you already have backers.


MySQL/RDS backup/restore plugin

Add a plugin for taking mysql backup/restores (specifically for the purpose of backing up an RDS instance), but generic if possible.

Fixed as of 0dc1525215de2637431004f188a4032c41452aac


Use authorship information to distinguish homonyms when intermediate parent not provided

Default behavior was to return the parent when multiple protonyms returned when searching with ignored intermediate parent. Instead, authorship information should be used to select the correct name (if available).

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (6ea9237) 85.78% compared to head (c108987) 59.94%.

:exclamation: Current head c108987 differs from pull request most recent head fca27ec. Consider uploading reports for the commit fca27ec to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@               Coverage Diff                @@
##           development    #3635       +/-   ##
================================================
- Coverage        85.78%   59.94%   -25.85%
================================================
  Files             2020     1519      -501
  Lines            74193    46167    -28026
================================================
- Hits             63648    27675    -35973
- Misses           10545    18492     +7947

Files
Coverage Δ

...pp/models/dataset_record/darwin_core/occurrence.rb
6.74% <0.00%> (-51.59%)
:arrow_down:

... and 1126 files with indirect coverage changes

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


Broken Query causes Exception

Not sure if this is intended behavior (garbage in - garbage out), but I definitely did not expect it and went searching for a non-existent mistake in my schema definition.
If this is working as intended, just close the issue.
Steps to reproduce:
Take any, existing query that works, for example:
user {
    id
}

And then add an argument that is not defined in the schema, and put in an empty array like this:
user(
    doesnotexist: []
) {
    id
}

Expected result:
Error Response with message:
Unknown argument "doesnotexist" on field "user" of type "Query".

Observed result:
Exception:
GraphQL\\Type\\Definition\\Type::getNullableType(): Argument #1 ($type) must be of type GraphQL\\Type\\Definition\\Type, null given, called in /var/www/html/vendor/webonyx/graphql-php/src/Validator/Rules/ValuesOfCorrectType.php on line 75

I believe we have a validation rule with a nice error message in place, but tightening the type hints might have lead to premature failure. I think we might have to relax the type constraint or wrap the call in a try/catch to fail gracefully on garbage inputs.


first commit for RTT & Rescue Them Token

Please note: This repository is being rebuilt to accept the new volume of token additions and modifications. PR merges will be delayed.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Auto merge requirements
Your pull request will be automatically merged if the following conditions are met:

Your pull request only adds new tokens to the list. Any modification to existing
tokens will require manual review to prevent unwanted modifications.

Your pull request does not touch unrelated code. In particular, reformatting changes to unrelated
code will cause the auto merge to reject your PR.

Any asset files added correspond to the token address you are adding. Asset files
must be PNG, JPG or SVG files.

Your change is valid JSON and conforms to the schema. If your change failed validation,
read the error message carefully and update your PR accordingly.

No other tokens shares the same name, symbol or address.

For example, this change would be rejected due to unrelated changes:

The bot runs every 60 minutes and bulk-merges all open pull requests to prevent conflicts.
This means that you need to wait up to 60 minutes for your pull request to be merged or reprocessed.

browser updated

Hello,
I deleted my first repository which has the keys of this token so now I am not able to finish the upload??
Then, have I to make a new token?


add pprof routes to zqd

Would you please add a cli flag to enable this, and have the feature off by default?

As you wish.


Remove the from_nix_error() hack

Utilize the Error::from_raw_os_error() method on std::io::Error.  This is compatible with Rust 1.0.0+.

Hey, I had this pending on a branch that I should have merged. It is currently on master:
https://github.com/carllerche/mio/blob/master/src/sys/unix/mod.rs#L38-L40
Thanks for the PR though :heart:


gcp: drop reliance on metadata server entirely when GCP_METADATA is set

In the past, we had made it so this will behave correctly if the env var
is set and we cannot reach the metadata server. This could be an outage
or netpol blocking, etc.
however, we have begun to see issues where the metadata server is around
enough to pass the "is alive", but not stable enough to respond quickly.
This results in massive (20s+) startup latencies. This is for
effectively useless information, as the gce_* metadata is unused on
GKE where the variable is used anyways.
This PR makes the logic even more robust, and short circuits entirely if
the var is set

/cherrypick release-1.20
/cherrypick release-1.19
/cherrypick release-1.18

@howardjohn: new pull request created: #48418

In response to this:

/cherrypick release-1.20
/cherrypick release-1.19
/cherrypick release-1.18

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/cherrypick release-1.19

/cherrypick release-1.18

@howardjohn: new pull request created: #48419

In response to this:

/cherrypick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn: #48304 failed to apply on top of branch "release-1.18":
Applying: gcp: drop reliance on metadata server entirely when GCP_METADATA is set
Using index info to reconstruct a base tree...
M	pkg/bootstrap/platform/gcp.go
M	pkg/bootstrap/platform/gcp_test.go
Falling back to patching base and 3-way merge...
Auto-merging pkg/bootstrap/platform/gcp_test.go
Auto-merging pkg/bootstrap/platform/gcp.go
CONFLICT (content): Merge conflict in pkg/bootstrap/platform/gcp.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 gcp: drop reliance on metadata server entirely when GCP_METADATA is set
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherrypick release-1.18

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn: new issue created for failed cherrypick: #48420

In response to this:

/cherrypick release-1.18

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


BUG - Responsive Design on Account Page

Missing Responsive Design on Account Page

Known Issue

@DestinyDevTeam see linked PR for deploy link

Card not broken for different aspect ratios.


docs: native installation

Purpose
Describe the process for installing the framework natively. The output looks like this

Time to review
20 mins

@jon-hagg I'm following these instructions on a Mac using your https://github.com/Breakthrough-Energy/PowerSimData/tree/jon/windows branch.
Currently I'm faced with the following error:
    ERROR: Command errored out with exit status 1:
     command: /Users/kmueller/EGM/temp/testPSDWindows/.env/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/7s/mqf3m8s52l78wg_fyl2x768w0000gn/T/pip-install-i_dt87b8/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/7s/mqf3m8s52l78wg_fyl2x768w0000gn/T/pip-install-i_dt87b8/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
         cwd: /private/var/folders/7s/mqf3m8s52l78wg_fyl2x768w0000gn/T/pip-install-i_dt87b8/psycopg2/
    Complete output (23 lines):
    running egg_info
    creating pip-egg-info/psycopg2.egg-info
    writing pip-egg-info/psycopg2.egg-info/PKG-INFO
    writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
    writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
    writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'

    Error: pg_config executable not found.

    pg_config is required to build psycopg2 from source.  Please add the directory
    containing pg_config to the $PATH or specify the full executable path with the
    option:

        python setup.py build_ext --pg-config /path/to/pg_config build ...

    or with the pg_config option in 'setup.cfg'.

    If you prefer to avoid building psycopg2 from source, please install the PyPI
    'psycopg2-binary' package instead.

    For further information please check the 'doc/src/install.rst' file (also at
    <https://www.psycopg.org/docs/install.html>).

    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

I know how to fix that issue but I can't remember what we decided on how a new user should deal with this?

We could move psycopg2 to optional-requirements.txt, as it's not currently used other than tests.


Permissions Not work

Hey @alvin0319
I have some perms in the config addet to a Rank but ingame is not showing Up what is this can U fix this please i need Like 10 perms For a Rank and max showing is 4 ingame

can you show me your config?

@alvin0319

If there are no perms registered in the server, they do not appear in the command output.


Dispenser Recipe Uses 3 Droppers in a Column

Describe the bug
It should be 1 dropper instead, plus 3 sticks.
Screenshots or crash report (if relevant)
If applicable, add screenshots to help explain your problem.
Versions (please complete the following information):

Minecraft: 1.15.2
Inspirations: 1.1.0

Huh, that is interesting. Wonder how that happened. For my future reference, this is the stackable dispenser recipe.

Fixed in <IP_ADDRESS>


TF2 model garden is  not compatible with tensorflow addons

System information
Google cloud tpu-vm
TPU type=v3-32
TPU software version=tpu-vm-tf-2.10.0-pod
I installed TF2 model garden with  pip3 install tf-models-nightly as mentioned in https://github.com/tensorflow/models
When trying to run train.py, I got an error
TensorFlow Addons offers no support for the nightly versions of TensorFlow. Some things might work, some other might not.
Why is this or how to install the correct version of tensorflow_addons to get this to work?

I can fix this please assign me with it


fix syntax errors

What this PR does / why we need it:
fix syntax errors in order to make coders read better
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
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:

Thank you @wangzihao05

This should auto-merge without needing additional attention.


"Failed to resolve component: router-view" - compatibility with Vite

Trying out Vite (a week old tool for building buildless Vue components) took me to Vue 3 beta and vue-router-next.
I am currently facing this:
Failed to resolve component: router-view
Not sure whether it's due to Vue 3 beta or something Vite specific. Decided to open this issue in order to gather discussions, if others are facing something similar.

My code base is at: https://github.com/akauppi/GroundLevel-es6-firebase-web/tree/vite-maybe
Use the vite-maybe branch.

note: this is likely my own making.

@akauppi did you manage to resolve the issue?

This problem seem to be related to not calling use on the application instance with the Router.
Need to change my main.js file to be
const app = createApp(App);
app.use(router);
app.mount('#app');

I have an example with Vite and tailwind at https://github.com/posva/vite-tailwind-starter. It might help people trying to scaffold projects

'app.use(router)'
must before then
'app.mount('#app')'

I use this follwing code in my parent.js file, but still the same error
createApp({
render: () => h(App)
}).use(store, router).mount('#app')

yes, to solve this issue u should maintain this line of cod structure in main.js file.
const app = createApp(App);
app.use(router);
app.mount('#app');

I want to add to this. Make sure you're do app.use(router) before app.mount('#app')

maybe you just forgot to include this code in router/index.js  :
const router = createRouter({
history: createWebHistory(),
routes,
})

same issue here with vite-plugin-ssr

const app = createApp(App); app.use(router); app.mount('#app');
On making this change, I'm seeing an error: Uncaught TypeError: Cannot destructure property 'options' of '(0 , vue__WEBPACK_IMPORTED_MODULE_1__.inject)(...)' as it is undefined.

app.use(router) 必须在那之前 app.mount('#app')
Thank you so much

i just wrote in one line
createApp(App).use(router).mount('#app')
instead
createApp(App)
  .use(router)
  .mount('#app')

maybe use in router.js  export default { router }; to => ( export default router; )

maybe you just forgot to include this code in router/index.js : const router = createRouter({ history: createWebHistory(), routes, })

Thanks! Its solved my problem!
vue ^3.2.45
vue-router: ^4.1.6
vite: ^4.0.0

Why they don`t creating error in console - is a question.


Razor with MJML

I try to use Razor with HTML mail templates generated from MJML. Everything works good, but there is some problem in HEAD section, because of rendering tags started with @ char (@media, @viewport), which is restricted for Razor. I get such error like below.
Is it possible to return doubled @@ for media (Razor can resolve it) or there is special way to cooperate with Razor or such feature is planned for future?
RazorEngine.Templating.TemplateParsingException : (22:5) - "-" is not valid at the start of a code block.  Only identifiers, keywords, comments, "(" and "{" are valid.
<!--[if !mso]><!-->
<style type="text/css">
  @media only screen and (max-width:480px) {
    @-ms-viewport { width:320px; }
    @viewport { width:320px; }
  }
</style>

Hi @Jacorr
Sorry about that but I have no idea how we can do that, only solution I would see is to create a post-render task with gulp or something that replace it for you. But I don't think this is the job of MJML here

You probably want to run Razor over your MJML, and only they export the MJML to HTML


AttributeError: module 'copt.utils' has no attribute 'SquareLoss'

Running this gives the error, "AttributeError: module 'copt.utils' has no attribute 'SquareLoss'"
https://github.com/richford/AFQ-Insight/blob/a6838a1c969720872260b2e4917128dabae96965/afqinsight/insight.py#L330
I believe it is now in copt.loss.SquareLoss

I needed to update copt. Closes #28


TAJO-1339: Incorrect handling of tables with custom delimiter when their data contain '|'

meta options of scanned tables are passed between Stages through DataChannel

DataChannel contains meta options of source Execution block, collected by visiting all the ScanNodes in the block.

When multiple ScanNodes have different options about the same key, options of last visited ScanNode overwrite previous ones.

Each Execution block reflects incoming DataChannel in buildInputExecutor.
Meta options of the Stage are recalculated before materializing the result, which reflect all the options from DataChannels and also new ScanNode in the given Stage.

Changes:

DataChannel contains all the meta options from the source Execution block, which means protocol buffer definition is also modified.
PlannerUtil provides new static method getScanOptions(), which visit all the ScanNode in the Execution block and get options.
buildInputExecutor() is modified to reflect meta options of incoming DataChannel of the given Execution block.
'csvfile.delimiter' option sets CSVFILE_DELIMITER (not TEXT_DELIMITER) because TEXT_DELIMITER is set as '|' even when there is no explicit 'csvfile.delimiter' so that explicit 'csvfile.delimiter' should be prior to default delimiter.

Without this, when two tables, one is 'csvfile.delimiter'=';' and the other has no option, are used in the same query, one is set as TEXT_DELIMITER = ';' and the other is set as TEXT_DELIMITER = '|' and compete for the meta option of the Execution block.
If we give high prioritiy to the explicit meta setting, it always wins over the default value and I think it is desirable.

I think some changes may be controversial.

I'm sorry for late review. I'll review it soon.

Sorry for late review. I'll review today.

@sirpkt thanks for your work.
I have a couple of comments.
First, CSVFILE_DELIMITER is deprecated. If there are any bugs related to TEXT_DELIMITER, we must fix it instead of using CSVFILE_DELIMITER.
In addition, I have a question about the following your description.
Without this, when two tables, one is 'csvfile.delimiter'=';' and the other has no option, are used in the same query, one is set as TEXT_DELIMITER = ';' and the other is set as TEXT_DELIMITER = '|' and compete for the meta option of the Execution block.

If only one table is configured with an explicitly different delimiter, two tables must be parsed with different delimiters. If I misunderstand anything, please let me know.
Second, it is hard to unserstand for me why CSVFILE_DELIMITER or TEXT_DELIMITER is required to store intermediate results. As you know, the default file type of intermediate results is RAW, not CSV or TEXT.
Would you mind explaining more detailed backgrounds?

Hi @sirpkt,
I think that this patch can be even more simplified. It may be enough to change only few points. If you are ok, I'll do this work.

I feel very sorry for late response, @jihoonson , @hyunsik
I completely forgot this issue due to my recent trip to Europe.
Previously, I thought this issue could be resolved with TAJO-1340.
However, if there is simpler way, please feel free to take the issue, @hyunsik

Thank you for quick response.
Actually, the real problem is that TEXT is a default output file format, which is prone to cause delimiter conflicts. As you mentioned, TAJO-1340 would be an essential solution. Nevertheless, your issue would be a nice temporary workaround now. I think that it can be included in 0.10.1 bug fix release. I'll take it.


Added support for using "onBeforeUnload" to prompt on external nav.

Updates to the Prompt component to allow opt in support for the onBeforeUnload browser event. This has been implemented as part of the existing Prompt component rather than a new component to allow more convenient use within apps.
The functionality is opt in only and will default to the current functionality to keep full backwards compatibility. Support can also be toggled on or off through the prop.

This is a duplicate of #4372.
This won't work as it adds DOM-specific API usage to our DOM-free package (react-router).


Untangle settings / header slots

extract warning from settings component (use slot instead)
grow search box width
move docs link after title instead of description (was previously not visible when no description was set)
rename desc => description and some slot names
tested for desktop & mobile

file conflict :/


Provide ProtectedFileByteStore constructor that doesn't take protectedDuration, assumes infinity.

https://github.com/dart-lang/sdk/blob/master/pkg/front_end/lib/src/byte_store/protected_file_byte_store.dart#L37 requires protectionDuration, however it would be nice to be able to skip it effectively saying that protected entities are staying in cache forever.
Basically, if we update set of protected keys to always reflect current compiled state, there is no reason for us to ever remove protected keys from cache.

You can get equivalent behavior by using very long duration, e.g. new Duration(days: 365 * 100). 100 years should be enough for any practical purpose.

You can, but it looks weird on client side and is not tidy in ProtectedFileByteStore where you can bypass this time check completely: https://github.com/dart-lang/sdk/blob/master/pkg/front_end/lib/src/byte_store/protected_file_byte_store.dart#L90

https://dart-review.googlesource.com/c/sdk/+/19442


Verify the button "Cauta" functionality from the child window from "Misiunea noastra" section

Description : Verify the funcionality of "Cauta" button of the searching bar from the section "Misiunea noastra" where is a child window with a preview of the website "peviitor"
Precondition : The website is up and running

Step 1 : Open URL
Expected result : The homepage of the website is displayed

Step 2 : Go and click on the link "Misiunea noastra"
Expected result : The user is redirected on the "Misiunea noastra" section.

Step 3 : Verify if the child window is displayed.
Expected result : In the child window is displayed the production website " peviitor"

Step 4 : Verify the functionality of the button "Cauta" from the child window by writing a job inside the searching bar and clicking on the button
Expected result : The button is functional and after clickin on it the page with the jobs written in the searching bar is displayed.


feat!: adopt the new multi-pattern resource names

Delete TenantOrProjectName.
Generate overloads that take TenantName and ProjectName respectively where TenantOrProjectName was originally used.
Delete per-pattern resource name helper classes: CompanyWithTenantName, CompanyWithoutTenantName, JobWithTenantName, JobWithoutTenantName, CompanyOldName, CompanyNewName, JobOldName, JobNewName.
Delete resource name factory classes JobNames, CompanyNames, TenantOrProjectNames and untyped resource name classes UntypedJobName, UntypedTenantName and UntypedTenantOrProjectName.

PTAL @chingor13


AutomaticRedirectsEnabled setting set to false still create redirects for moved/renamed pages

Hi there,
I'm using this package to handle NotFound redirects in our Optimizely CMS project. I’ve run into an issue where setting "AutomaticRedirectsEnabled" to false doesn’t seem to stop redirects from being created when I move or rename a page.
What I have in the configuration:
services.AddOptimizelyNotFoundHandler(o =>
{
o.AutomaticRedirectsEnabled = false;
});
What I Expected:
No automatic redirects should be created when AutomaticRedirectsEnabled is set to false.
What Actually Happened:
Redirects are still being created automatically even though I’ve disabled that feature.
Environment:
Optimizely CMS Version: 12.30.0
Geta.NotFoundHandler.Optimizely Version: 5.0.8
.NET Core Version: net6.0
I’ve double-checked the documentation, and it seems like this should be working, so I’m not sure what’s going wrong. Any chance you could take a look?
Thanks!

Yes, this should work.
Maybe you left this flag enabled from the appsettings.json? And that's why it gets overwritten.
  "Geta": {
    "NotFoundHandler": {
      "Optimizely": {
        "AutomaticRedirectsEnabled":  true
      }
    }
  }

Hello,
No we never add this settings in our appsettings.json file, we are configuring it via services as below:
services.AddOptimizelyNotFoundHandler(o =>
{
o.AutomaticRedirectsEnabled = false;
});

I checked in the sandbox app, and the move event stops firing if AutomaticRedirectsEnabled is set to false.
Could you also check whether a record is always created in the ContentUrlHistory table when content is moved?
I suggest also disabling the following two jobs that are related to Automatic Redirects:

[Geta NotFoundHandler] Index Content URLs
[Geta NotFoundHandler] Register Content Move Redirects

Hello, as per checking, the two scheduled jobs are not running automatically either, and yes the content that was moved are created in the ContentUrlHistory. I can reproduce the issue both in my local project and also in live environment.

Thank you for testing and providing information.
Here’s how automatic redirects actually work:
When content is moved, a record is created in the ContentUrlHistory table. A job or background service then checks the records in this table to generate redirects.
Maybe we are talking about different things? From your previous comment, it seems that ContentUrlHistory wasn’t affected. How did you identify that the problem exists?

Let me share my perspective on how the issue appears from my end. When I create a new page (e.g., /wecare), it is saved in the ContentUrlHistory table with the following information: [{"Url":"/we-care/","Type":"Primary","Language":"en-GB"}].
If I then rename the page to /we-care-2 and check the NotFound Handler Redirects, I notice that a new entry is automatically created for this URL (Old URL: https://jderetail-test-whitelabel.jdecoffee.net/we-care/ & New URL: https://jderetail-test-whitelabel.jdecoffee.net/we-care-2/). Since AutomaticRedirectsEnabled is set to false, I wouldn’t expect redirects to be created automatically for any renamed URL, but that seems to be happening here.
Additionally, when I check the database, I don’t see any data reflecting /we-care-2; only the original entry from when the page was first created is present: [{"Url":"/we-care/","Type":"Primary","Language":"en-GB"}].
Given this outcome, do you think we might be looking at the issue from different perspectives?

Based on the previous comment, it appears that the AutomaticRedirectsEnabled flag is set to enabled. I don't have any other ideas at the moment.
You could try replicating this issue in the sandbox app included in the package, or debug the initialization of Geta.NotFoundHandler.Optimizely.Core.AutomaticRedirects.ContentUrlHistoryEvents in your solution to check if the events are being registered.


fix some typos inside README.md

Description
Fix some typo and change to lower/uppercase

Rebase done


One OAUTH token endpoint for several API

Hi
We have configured several API in our kong server and we secured them with OAUTH plugin and Client Credentials workflow.
Everything works fine, the problem is that we need to call each api endpoint to get an access token.
Example :

API 1
curl --silent --insecure -X POST
--url https://localhost:8443/api1/oauth2/token
--data "client_secret=the_client_secret"
--data "client_id=the_client_id"
--data "grant_type=client_credentials"

API2
curl --silent --insecure -X POST
--url https://localhost:8443/api2/oauth2/token
--data "client_secret=the_client_secret"
--data "client_id=the_client_id"
--data "grant_type=client_credentials"

Is it possible with kong to have only one endpoint to get an access token valid for our two  (or a group of) APIS ?
Example of URL we wished :
curl --silent --insecure -X POST
--url https://localhost:8443/oauth2/token
--data "client_secret=the_client_secret"
--data "client_id=the_client_id"
--data "grant_type=client_credentials"
We are using Kong 0.9.9 and I didn't find a way in Kong to configure the URL above.
Thanks
Nicolas

+1

This was present in 0.9.0 version.

I have the same problem. I need a single oauth2 service for several APIs.

+1

@nchapon can you please share how you configured your api1 and api2 with oauth2 as we are struggling to get it work with api name in the url e.g.
This fails:
https://localhost:8443/api1/oauth2/token
This works:
https://localhost:8443/oauth2/token
But we have to supply Host field in header

+1

You can use the same access_token between /api1 and /api2 by setting the "global_credentials=true" in both api oauth plugin. Those apis that have "global_credentials=true" will share the same access_token.

@oshz is correct, Services/Routes (the replacement entities for "APIs" since 0.13 and as of today in 1.0) can share access tokens if global_credentials is enabled. See the reference: https://docs.konghq.com/hub/kong-inc/oauth2/


Misc format.h changes

Reserve format::MetaDataType values for future use
Prevent size_t from being used in capture format

CI gfxreconstruct build queued with queue ID 10060.

CI gfxreconstruct build # 1836 running.

CI gfxreconstruct build # 1836 failed.

CI gfxreconstruct build queued with queue ID 10156.

CI gfxreconstruct build # 1837 running.

CI gfxreconstruct build # 1837 passed.


Consolidate use cases in README

We have 2 sections - consolidate.

@mcupak This is referring to the "Applications" and "Usecases" section, right?

@mcupak This is referring to the "Applications" and "Usecases" section, right?

It's referring to "Illustrative use cases" and "Use cases".

It's referring to "Illustrative use cases" and "Use cases".


mouseWheelEnabled Doesn't Trigger Scroll Events

For scroll events, mouseWheelEnabled = true doesn't properly listen to Events.Move.
So for example:
scrollExample.mouseWheelEnabled = true

scrollExample.on Events.Move, ->
   # this will be triggered onDrag, but not when you scroll with your mouse
   Thing.opacity = Utils.modulate(scrollExample.scrollY, [0, 100], [0, 1], true)

this won't work
scrollRegion.propagateEvents = false
but this will
scrollRegion.on Events.Scroll, (e) ->
e.stopPropagation()

@rorysmyth is right that Events.Move is triggered by draggable, so only on drag, and Events.Scroll is the event that is used for detecting scrolling in a ScrollComponent.
I agree that this is confusing and created #396 to discuss a fix. Please feel free to continue the discussion there.


invalid element state: Element is not currently intractable and may not be manipulated

What are you trying to achieve?
Trying to click on element
What do you get instead?
invalid element state: Element is not currently interactable and may not be manipulated

Provide test source code if related
I use xpath, css  and text and still get same error above.

I.resizeWindow(1440, 806);
I.amOnPage('/en-us/login');
I.click('#btn-login');
I.click('New Order');
I.click('Sell');
I.fillField('volume', 1000000);
I.click('#order-simple > div > div:nth-child(1) > form > fieldset > div.row.vpad20.center > span:nth-child(1) > button')
I.click('Submit Order');
I.wait(3);
I.see('Insufficient');
Details

CodeceptJS version: 1.1

NodeJS Version: latest

Operating System: mac sierra high

WebDriverIO using stand-alone selenium and chrome driver

Configuration file:
"tests": "./*_test.js",
"timeout": 10000,
"output": "./output",
"helpers": {
"WebDriverIO": {
"restart":true,
"url":
"browser": "chrome",
"desiredCapabilities": {
"chromeOptions": {
"args": ["allow-running-insecure-content"]
}
}
}
},
"include": {
"I": "./steps_file.js"
},
"bootstrap": false,
"mocha": {
"reporterOptions": {
"reportDir": "output"
}
},
"name": "testautomation"

@mathis7875 Sorry for the late reply. Are you still having issues with this?
It sounds like a problem with the interaction between selenium and the chrome driver, but can you provide the verbose output from your test? (i.e. add --debug to the command line when running the test)

Same issues when i fillField the input

I have the same problem with fillField(), in Chrome only (Firefox works fine).
Tested with Chrome 69, ChromeDriver 2.40, Selenium 3.8.1.
I tried waitForElement() or waitForEnabled() before fillField(), but without success. If I add the absolute delay wait(1) instead, it works well even in Chrome.

Ive this issue too using Symfony/Panther as Im trying to test a form. Only solution I found was to use a waitFor(); But It doesnt work everytime I dont kniw why

I am also running into this issue

@Swetargoenka did yuu find the solution?

Hey guys,
in my case front end was on react i guess, and button did not have an id, i have tried so many option and i tried executingJS waiting to executejs, actually it worked but i was still throwing an error , saying that cannot excute click method. so finally i started to read more carefully and found here that there is a special class

Codeception\Util\Locator

and i can use it with click, so setting my locator to Codeception\Util\Locator::lastElement('#login-methods-body-user_credentials')) worked, i hope you can select an option that works for you there.


Fix population of version information

Bazel only wants to look at tools/bazel.rc, but monorepo didn't move the indvidual repo's files to istio/tools/bazel.rc (which also requires unifying the differences in the files).  Additionally, the linkstamp references weren't updated to the new library paths used in post-monorepo.
Without this change the version info in "istioctl version" was empty (besides go verison), and after this change the version info is populated.
I also removed files that were only used by cloud builder in 0.2.  I thought these were already deleted to either I overlooked them or someone added them back.
NONE

@mattdelco: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
cc67b895e3fcd5f67010cfe47d3be5e7f95d9e9b
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mattdelco: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
828e0e6c6920b1723233cae53b8842ab1ff468a5
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm

/assign geeknoid
/assign guptasu

@mattdelco: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
7b38d41ff117b3f63204aae09bdb0e9efb04a3cb
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/approve

/retest

@mattdelco: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
7b38d41ff117b3f63204aae09bdb0e9efb04a3cb
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mattdelco: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
2bc225f5b5ee340fe87f97e2303c51e44a6807dd
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@mattdelco: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
1636577f1fbc8afa2dc039125c57086889396a5e
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm


Fixes with persistentEditorToolsLocal

Also had to remove animation, was causing crashes

Found a new bug, going to fix and repull


[WIP] feat: add high level imports

Issue #, if available:
Description of changes:

One or two sentences as a summary of what's being changed

[x] Meet tenets criteria
[x] Update tests
[ ] Update docs
[ ] PR title follows conventional commit semantics

Breaking change checklist

Ignore if it's not a breaking change

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #70 into develop will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##           develop       #70   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           15        15
  Lines          508       508
  Branches        48        48
=========================================
  Hits           508       508

Impacted Files
Coverage Δ

aws_lambda_powertools/logging/logger.py
100.00% <ø> (ø)

...ws_lambda_powertools/middleware_factory/factory.py
100.00% <ø> (ø)

aws_lambda_powertools/tracing/tracer.py
100.00% <ø> (ø)

aws_lambda_powertools/metrics/__init__.py
100.00% <100.00%> (ø)

aws_lambda_powertools/metrics/base.py
100.00% <100.00%> (ø)

aws_lambda_powertools/metrics/metric.py
100.00% <100.00%> (ø)

aws_lambda_powertools/metrics/metrics.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Cannot go to next level

Your game is interesting.
Have you given up on developing this game?
It cannot go to next level after player complete the first level.

Hi cuixiping,
If you are familiar with Wordle, the concept is similar. Blockle is a social game. There is one level a day, and everyone gets the same level. The goal is to get the lowest score you can and share it with your friends to see who can do the best. It's supposed to be once a day to drive interaction as players will be waiting for the next level and build anticipation. You can definitely fork the project and make it have levels to progress from, but that was not my vision.
Thanks for your interest in the game!

Thank you for the explanation. I understand now.