Chrisda to Main

Learn Build status updates of commit d074f07:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Get-CASMailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-DataRetentionReport.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-EXORecipient.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-Group.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-Mailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-Recipient.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-User.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-Place.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


program with arguments

how do you call a program with arguments, ie. rake build or
app.js -w param -e doda file1-argument.js

As of 0.2.0, you should be able to do:
supervisor -- app.js -w param -e doda file1-argument.js


Start capturing results for analysis

Start capturing the results that get produced by specific form images so we can annotate and analyse them, guage the accuracy of the tool, and understand where improvements should be made.

For now, pasting interesting results as screenshots into GitHub issues seems the most low friction way to do this. Closing


The openapi3 emitter does not mark required request bodies with required: true

In OpenAPI v3, the request body of an operation can be marked with required: true to indicate that the service requires a body to be included in the request.  In TypeSpec, a body parameter that is not optional (not suffixed with "?") should be treated as required and result in required: true being specified in the requestBody.  But this isn't happening.
Playground recreate: link

I like that logic but I think the behavior for this case is currently unspecified. If we decide that it should work this way then we should make sure to describe this in the docs.

I opened #1907 to track the change for implicit bodies.


Installs of devel subctl fail

In CI and locally, installs of subctl devel using get.submariner.io fail with:
$ curl -L get.submariner.io | VERSION=devel bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  4923    0  4923    0     0  11810      0 --:--:-- --:--:-- --:--:-- 11810
Installing subctl version devel
  OS detected:           linux
  Architecture detected: amd64
  Download URL:          https://github.com/submariner-io/subctl/releases/download/subctl-devel/subctl-devel-linux-amd64.tar.xz

Downloading...
Download attempt #1...
curl: (22) The requested URL returned error: 404
xz: (stdin): File format not recognized
tar: Child returned status 1
tar: Error is not recoverable: exiting now

Non-devel versions still work.
It seems recent subctl devel builds have a different URL than expected.
Current:

https://github.com/submariner-io/subctl/releases/download/untagged-2c8c573f3c3380d15281/subctl-devel-linux-amd64.tar.xz

Expected:

https://github.com/submariner-io/subctl/releases/download/subctl-devel/subctl-devel-linux-amd64.tar.xz

This is now fixed.


Add server group name versioning and remove obsolete UpsertAzureLoadB…

…alancerDescription class

@JargoonPard @scotmoor PTAL

LGTM

We should create a task to also clean up the UpsertAzureSecurityGroupDescription as well.
Other than that, LGTM

@JargoonPard @scotmoor I had to push couple small changes from the PR you guys looked at first.


Cannot able to delete Recurring Volume Snapshot.

ISSUE TYPE

Bug Report

COMPONENT NAME

Recurring Volume Snapshot

CLOUDSTACK VERSION

4.19.0

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

While creating the recurring volume snapshot rule after multiple snapshots the old snapshots are not deleted and if we try to delete manually it throws an error "Failed to delete Snapshot" But the recently captured snapshot is able to  be deleted.
STEPS TO REPRODUCE

Volume Snapshot -> Select the Volume -> Recurring volume snapshot -> Hourly -> Select the Timings , Time Zone and the number of snapshots be 1.
After 2 to 3 hours there exits a extra snapshot that need to be deleted but it is failed to delete.

EXPECTED RESULTS

Recently captured snapshot only to be listed.

ACTUAL RESULTS

After 2 to 3 snapshots the recently captured and the old snapshot are listed and the old snapshot is not able to be deleted.

Hi @hari1822, please share what primary storage you're using and what hypervisor.

Hi @slavkap we are currently using,
Primary Storage -> LVM and NFS
Hypervisor -> Xenserver

thanks @hari1822! I don't use Xenserver as a hypervisor but if you enable the debug level to the logs and share them probably we could find the reason for the issue


fix(Toolbar): text as defaultProps (il8n)

related to #107

👍

Bluemix toolchain: Delivery Pipeline deployed carbon-components-react to Bluemix Design System, including commit 290cd30bdf05160b955815ee973f8a2f611ead56


dependence_plot uses color arg + optional cmap

dependence_plot() had an orphaned color arg that I slotted into the fallback scatterplots, and I also added an optional cmap arg that allows for overriding the default colors.red_blue

Thanks! Those args needed cleaned up :)


Explicit list of packages that gets installed into each layer

We shouldn't let emerge pull everything blindly. Instead we should provide a comprehensive list of packages that needs to be emerged in each layer, included any dependencies.
We can use the above list as provides, in such way we can guarantee a migration from Sabayon

IMHO, the best approach to do this is to use the luet-portage extension that uses qxpak and extract files from selected packages.
An example is this:
https://github.com/mocaccinoOS/portage-tree/commit/ae5775a1a6bdebc4472915d7f91358446f4d2d8e#diff-c2c624b173c161c1a532a497ffebf790ff92ad04eeb83249b7e7bf465cbefb06R26
This must be used with the creation of the pkglist before and after the build to permit an easy check for missing packages/deps.
(https://github.com/mocaccinoOS/portage-tree/commit/ae5775a1a6bdebc4472915d7f91358446f4d2d8e#diff-c2c624b173c161c1a532a497ffebf790ff92ad04eeb83249b7e7bf465cbefb06R25)
For the provides list we need to review the script (gen_provides.sh) to read the list from emerge.packages label and convert it in luet format.

IMHO, the best approach to do this is to use the luet-portage extension that uses qxpak and extract files from selected packages.
An example is this:
https://github.com/mocaccinoOS/portage-tree/commit/ae5775a1a6bdebc4472915d7f91358446f4d2d8e#diff-c2c624b173c161c1a532a497ffebf790ff92ad04eeb83249b7e7bf465cbefb06R26
This must be used with the creation of the pkglist before and after the build to permit an easy check for missing packages/deps.
(https://github.com/mocaccinoOS/portage-tree/commit/ae5775a1a6bdebc4472915d7f91358446f4d2d8e#diff-c2c624b173c161c1a532a497ffebf790ff92ad04eeb83249b7e7bf465cbefb06R25)
For the provides list we need to review the script (gen_provides.sh) to read the list from emerge.packages label and convert it in luet format.

Can you elaborate why do you think it's better?

Can you elaborate why do you think it's better?

Pro:

the use of package_dir with respect to the delta between layers is faster

if a package is already present from a previous layer the difference between the layers doesn't see the files of the selected packages. The use of the luet-portage tool instead ensures that all files get correctly of the selected packages.

Reduce errors on injecting wrong packages (build deps) inside layers

Cons:

missing deps requires by selected packages could be missing but you could fix this with the check of the pkglist file created before and after build in post-processing.
https://github.com/mocaccinoOS/portage-tree/blob/master/multi-arch/packages/layers/system-x/build.yaml#L25

Pro:

the use of package_dir with respect to the delta between layers is faster

if a package is already present from a previous layer the difference between the layers doesn't see the files of the selected packages. The use of the luet-portage tool instead ensures that all files get correctly of the selected packages.

Reduce errors on injecting wrong packages (build deps) inside layers

Cons:

missing deps requires by selected packages could be missing but you could fix this with the check of the pkglist file created before and after build in post-processing.
https://github.com/mocaccinoOS/portage-tree/blob/master/multi-arch/packages/layers/system-x/build.yaml#L25

First steps into this, reworked the old script and simplified it just for the specific purpose of listing the packages in the given layer: https://github.com/mocaccinoOS/desktop/commit/6959b58c617d996a4f3b4cc2be5f56ee8a2dfa4c

First steps into this, reworked the old script and simplified it just for the specific purpose of listing the packages in the given layer: https://github.com/mocaccinoOS/desktop/commit/6959b58c617d996a4f3b4cc2be5f56ee8a2dfa4c


feat: button to go back up

A button restyling to go up and back to podcasts :

I’m not sure about this I’m afraid. Few comments —
The styling doesn’t quite work for me (in general it looks too scrappy to my eye, sorry)
I had in mind the the arrow should appear once the user has scrolled down even a small amount (so it’s useful wherever you are on the page). As mentioned, see any of the longer pages on longtermism.com http://longtermism.com/ as an example. I’d be very happy with you copying over what I’ve made there, and just change the colours to black and white.
How about: each episode has the floating back to top arrow (like longtermism.com http://longtermism.com/) and also has a ’See more episodes’ button (similar to the bottom of writing pages on my website https://www.finmoorhouse.com/writing). I’d prefer this to be the same text style as ‘Your rating’ and ‘Further comments’ with no background.
Thanks anyway for making an effort, and hope that makes sense!
Best,
Fin

On 31 May 2022, at 02:14, jonas-kgomo @.***> wrote:
A button restyling to go up and back to podcasts :
https://user-images.githubusercontent.com/25654848/171073995-3162a192-83c0-4374-a90e-42f9290c3637.png
You can view, comment on, or merge this pull request online at:
https://github.com/finmoorhouse/hearthisidea.com/pull/9 https://github.com/finmoorhouse/hearthisidea.com/pull/9
Commit Summary
76843e9 https://github.com/finmoorhouse/hearthisidea.com/pull/9/commits/76843e93b3a1a394fcef7dadacf78ffec5f6a202 feat: button to go back up
File Changes (4 files https://github.com/finmoorhouse/hearthisidea.com/pull/9/files)
A src/components/see-more.js https://github.com/finmoorhouse/hearthisidea.com/pull/9/files#diff-fde09e3883070e00d0a26bec2c415839b5d0958a7288cf112080d00de46e7040 (40)
M src/pages/episodes/{mdx.slug}.js https://github.com/finmoorhouse/hearthisidea.com/pull/9/files#diff-40606aacc224ac3a467b9c7a575d253bf5336b9ec72ca07b5a06f1f91ab33837 (9)
A src/styles/link-button.scss https://github.com/finmoorhouse/hearthisidea.com/pull/9/files#diff-ce1c4e1a8c679561b214bb80ac0c0e13781e49b00cc2f6fb746aa5210c871bea (73)
M src/styles/variables.scss https://github.com/finmoorhouse/hearthisidea.com/pull/9/files#diff-21e210d06af8456c99b498dc994aff504385fba863bd35fbdc00509a7bdca5bc (3)
Patch Links:
https://github.com/finmoorhouse/hearthisidea.com/pull/9.patch https://github.com/finmoorhouse/hearthisidea.com/pull/9.patch
https://github.com/finmoorhouse/hearthisidea.com/pull/9.diff https://github.com/finmoorhouse/hearthisidea.com/pull/9.diff
—
Reply to this email directly, view it on GitHub https://github.com/finmoorhouse/hearthisidea.com/pull/9, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGOS6P3GG2YJV3LONYU7NDVMVRW3ANCNFSM5XL5SISA.
You are receiving this because you are subscribed to this thread.

Good morning Fin,
I just noticed the long page, sorry I had not seen that before.
I added the scroll up button and the rest is unchanged!
We now have this, I liked your design better on longtermism website.
[image: Screenshot 2022-05-31 at 11.41.36.png]
Kindest regards,

Jonas

Great, thanks for doing that!
I’m afraid I’m not seeing the screenshot you attached — would you mind resending?
Also would you be able to submit this as a PR to the main repo https://github.com/finmoorhouse/hearthisidea.com/pulls? (Sorry if I’m missing something, I’m not super familiar with how PRs work, but the last ones you made worked fine)
Best,
Fin

On 31 May 2022, at 11:51, jonas-kgomo @.***> wrote:
Good morning Fin,
I just noticed the long page, sorry I had not seen that before.
I added the scroll up button and the rest is unchanged!
We now have this, I liked your design better on longtermism website.
[image: Screenshot 2022-05-31 at 11.41.36.png]
Kindest regards,

Jonas

—
Reply to this email directly, view it on GitHub https://github.com/finmoorhouse/hearthisidea.com/pull/9#issuecomment-1141977412, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGOS6PUAZLXEMSWXECZN5TVMXVMNANCNFSM5XL5SISA.
You are receiving this because you commented.

Hey Fin,
Yeah, the PR does send the image properly, I don't know why email
doesn't work for this.
Maybe because this is replying to the PR on github, and not just email.

No worries! Just made some weaks of my own and merged. Actually totally missed the message function on GitHub! Let's use that from now on.

Awesome, that sounds great. So yes, we can comment on the PR , it is much
better.
This looks great now!

Cool! Should be live soon.


Upgrade to jemalloc 5.0.0

Originally from @brian-kephart
@nateberkopec: I'll leave this for you to merge and make live (but I'll create the release w/ a new binary).

Ok, pushing the binary created a v5.0.0 tag from current master (not including this), so you'll probably want to clean things up when merging.
(Sorry if this hurt more than helped.)

I think there's an issue with the 5.0.0 binary. I tried to use the buildpack from the jemalloc-5.0.0 branch and got this message when deploying:
remote: -----> jemalloc app detected
remote: -----> Vendoring binaries
remote:        Fetching https://github.com/mojodna/heroku-buildpack-jemalloc/releases/download/5.0.0/jemalloc-5.0.0-1.tar.gz
remote:
remote: gzip: stdin: not in gzip format
remote: tar: Child returned status 1
remote: tar: Error is not recoverable: exiting now
remote:  !     Push rejected, failed to compile jemalloc app.

Filename was incorrect, missing a 'v'. The binary file is https://github.com/mojodna/heroku-buildpack-jemalloc/releases/download/v5.0.0/jemalloc-5.0.0-1.tar.gz
Correcting the filename removed the build error. However, the new binary does not have the file /app/vendor/jemalloc/lib/libjemalloc.so.1. So, still no good.
I tried setting the LD_PRELOAD value as recommended in the jemalloc documentation:
LD_PRELOAD=`jemalloc-config --libdir`/libjemalloc.so.`jemalloc-config --revision` app
Success! (the above path resolves to /app/vendor/jemalloc/lib/libjemalloc.so.2 in version 5)
...
Only, the above solution doesn't work with the earlier version of jemalloc. As far as I can tell, we have a breaking change. What works for using jemalloc 5 doesn't work for < 5 and vice versa.
If this PR is going to be merged into master, the documentation needs to be updated. 5.x requires /app/vendor/jemalloc/lib/libjemalloc.so.2. If that approach is taken, #10 should not be merged as it won't work with v5.

Correction to the above: The file change in 5.0.0  doesn't appear to affect anyone who was using jemalloc via the Procfile script, since that refers to jemalloc.sh rather than /app/vendor/jemalloc/lib/libjemalloc.so.2. I successfully pushed an app to Heroku with jemalloc in the Procfile and all ran as expected.
It looks like v5 won't break anyone's Procfile after all. Sorry to cause confusion.
I can't verify the effect on those using LD_PRELOAD in heroku config, since that configuration never worked for me anyway.

Closing in favor of @brian-kephart's other PR.

Whoops, didn't see that his PR was on top of this one 😆

OK, I think this is good now. @brian-kephart can you give this branch a shot too?

Once this gets merged I can figure out the build environment stuff again, hopefully we can push releases with the latest minor of 3.x -> 4.x -> 5.x.

I deployed using this branch and it works. Some notes:

Setting LD_PRELOAD using heroku config works now. It never worked for me before.
Typing heroku config:set LD_PRELOAD=`jemalloc-config --libdir`/libjemalloc.so.`jemalloc-config --revision`  into the terminal resolves the path to /app/vendor/jemalloc/lib/libjemalloc.so.2 before storing it. Since the bash commands in that line may have different results for different versions of jemalloc, users may have to reconfigure heroku config when new versions are released.
It also occurs to me that since the path is resolved in the terminal before storing in heroku config, this command depends on the version of jemalloc installed on your local machine. That might break things. Can anyone verify?
I changed LD_PRELOAD to  `jemalloc-config --libdir`/libjemalloc.so.`jemalloc-config --revision`  in the Heroku dashboard. This caused the app errors seen in #6.
If this gets merged into master, the config line in the documentation doesn't work below version 5, and this should be mentioned in the documentation for those using previous versions.


Is Exif a hard dependency for Glide?

As per the subject: is the Exif extension a hard dependency for Glide? Because I’ve deployed an application and found the version of PHP in that environment wasn’t compiled with Exif, and I don’t have the ability to re-compile or modify it. The exception thrown is:

Intervention\Image\Exception\NotSupportedException
Reading Exif data is not supported by this PHP installation.

Looking at my exception backtrace, it seems to be the orientation manipulator triggering the exception.
Is it possible to forego the orientation manipulator, so I can get my application serving images?

Yeah, this makes sense since Intevention/Image uses the Exif extension to set the orientation, which Glide does by default on each manipulation. From their docs:

**Note: PHP must be compiled in with --enable-exif to use this method. Windows users must also have the mbstring extension enabled. **

There is no configuration option right now to disable this. However, what you can do is manually configure which manipulators Glide uses, which you can find instructions for here.
Simply omit new League\Glide\Manipulators\Orientation() from your list of manipulators and you should be good! 😎

@reinink Thanks for getting back to me. Is it worth adding ext-exif to Glide’s composer.json file in this case?


adding a warning for the case of big shift size

@pat-alt , I have used @warn to throw a warning to the user. could you please check if using warning macro is the right way?

Codecov Report

Merging #94 (d5dc09b) into main (3d8dad4) will decrease coverage by 0.90%.
The diff coverage is 0.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main      #94      +/-   ##
==========================================
- Coverage   71.99%   71.10%   -0.90%
==========================================
  Files          20       18       -2
  Lines         757      744      -13
==========================================
- Hits          545      529      -16
- Misses        212      215       +3

Files
Coverage Δ

src/conformal_models/transductive_regression.jl
96.46% <0.00%> (-1.03%)
:arrow_down:

... and 6 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I have updated "how to guide" as well. whenever you have time, please check qmd file pls. for some reasons I couldn't test it properly.

Hey mate, thanks for this! I have rerendered this now and will merge after tests pass (ignoring nightly).


fix(network policies) RBAC and controller watch

@sguyennet
Could you please rever the ingress version to let 1.18 k8s also support network policy?


Rewrite the routing and setup for admin pages

Was using nested routing which is probably more accurate? but was causing a weird issue where it was failing hooks?
so likely just need separate pages for each? maybe a layout surrounding? and paths for everything under /admin so /admin/dashboard and /admin/invite-manager

this is mostly working now


Cannot read property 'ipns' of undefined

When accessing "user profile (mypage)", the“UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'ipns' of undefined“

Did you initialize the database tables?

Initialize the corresponding user on the EOS Studio?If so, I did.

No, you need to also call reporting::init to initialize the contract with test data
https://github.com/dealer-platform/smartContract/blob/d89274bd27a9d48007b9a81e1ac3212d9b74c1c6/src/modules/initialize.cpp#L29-L31

Like this?

Still the Same.

You also need to set up a config.json based on config.json.example
https://github.com/dealer-platform/dapp/blob/master/config.json.example

Besides modifying
https://github.com/dealer-platform/dapp/blob/master/config.json.example#L4-L5,
https://github.com/dealer-platform/dapp/blob/master/config.json.example#L4-L5,
https://github.com/dealer-platform/dapp/blob/master/config.json.example#L15-L16.
Do I need to modify anything else?

No, lgtm

But I've changed it before, and there are still problems.


Slices of EventLoopGroups

Our Netty application listens on a few different ports and connects to many remote servers. Certain aspects of the application are re-configurable at runtime such as adding and removing individual servers or entire backends.
Ideally I'd like to create ~2 EventLoopGroups and have all "ServerBootstrap" and "Bootstrap" instances share them. The problem in that scenario is that it's absolutely forbidden to use shutdownGracefully(...) as it'd take down the entire application. It'd be however a super handy feature for tearing down backends.
Right now there is only a choice of risking the above or give every frontend and backend their own EventLoopGroup which will lead to a lot more Threads than necessary.
I'm wondering if EventLoopGroups should be "slicable" where a slice of an EventLoopGroup shares its parent group's Threads but is otherwise separate in terms of shutdown logic? Something along the lines of this:
backend(EventLoopGroup group) {
  Bootstrap bootstrap = new Bootstrap()
    .group(group.slice())
    .more(...);

  // ~~~ life of the backend comes to an end ~~~
  bootstrap.config().group().shutdownGracefully();
}

I looked a little bit at MultithreadEventLoopGroup's guts and I don't think it can simply be added without some bigger refactorings. Just throwing it out there for future thoughts.

Why not just use your own executor that you pass to the eventloopgroup? You are then responsible for shutting it down the executor yourself. Shutting down the eventloopgroup doesn't shutdown the executor.

Sent from my iPhone

Another solution would be just to share same event loops across all servers and just do not shutdown eventoloops on servers shutdown. Simple as that.

@buchgr I was initially hoping the same but it'll unfortunately not work. Each EventLoop acquires its own Thread from the Executor (at least the NIO one does). If you exhaust that pool it'll block.
So using a "fixed size" Executor breaks and using an unbound Executor has the same effect as giving each thing its own EventLoopGroup (using the default ctor).
Here's an Unit Test which demonstrates the breakage:
@Test
public void testSlices() throws Exception {

  int maxWorkerThreads = 5;
  ExecutorService exectuor = Executors.newFixedThreadPool(maxWorkerThreads);
  try {

    // This test will always fail if (nSlices*nThreads) >= maxWorkerThreads.
    int nSlices = 3;
    int nThreads = 2;

    List<EventLoopGroup> slices = new ArrayList<>();
    for (int i = 0; i < nSlices; i++) {
      slices.add(new NioEventLoopGroup(nThreads, exectuor));
    }

    int count = 1000;
    CountDownLatch latch = new CountDownLatch(count);

    Runnable task = new Runnable() {
      @Override
      public void run() {
        latch.countDown();
      }
    };

    for (int i = 0; i < count; i++) {
      EventLoopGroup group = slices.get((i & Integer.MAX_VALUE) % slices.size());
      group.execute(task);
    }

    if (!latch.await(10L, TimeUnit.SECONDS)) {
      throw new IllegalStateException("Bummer, the countdown failed: count=" + latch);
    }

  } finally {
    exectuor.shutdown();
  }
}

@doom369 notice that my comment mentions your scenario and we do it all the time. I just wish it was possible to shutdownGracefully(...) the EventLoopGroup before I toss away a server instance and load a new one in a live system.
A use-case is to provide assurance that all scheduled tasks get killed for example.
I'm thinking in terms of containers and hot loadable components and am looking to provide some extra layer of insulation.

Ah ok, now I got it. You want to shutdown all tasks of specific server within 1 application and application has many servers with shared EventLoopGroup :).

@rkapsi
I forgot that this work got never backported to 4.1. In master branch, we had it so that each eventloop iteration is it's own Runnable task that submits itself to the executor, instead of an endless loop. That way a eventloop doesn't consume a whole thread. Here is the commit: https://github.com/netty/netty/commit/f8bee2e94c33f167bcdefe3e8bbf95e99765032e
Can backport if you think it's valuable.
cc: @normanmaurer

@rkapsi I not get why you can't just wrap the EventLoopGroup with another EventLoopGroup that will do the reference counting for you.

@normanmaurer I think that could work but it'll require the EventLoops as returned by next() to be wrapped as well and that will eventually fail in Channel#isCompatible() because EpollEventLoop or NioEventLoop concrete+final classes and unwrappable typewise.

IIRC wrapping the EventLoopGroups is not very practical for some of the issues mentioned by @rkapsi ... i think there are also some factory methods which use this that also cause problems...


New object properties in rc5

Upgrading from rc2 to rc5, I note that a function that receives an object as a Map now gets Object.prototype properties as well. Consider the code:
public class GetObject {
    public static void main(String[] args) {
        Context context = Context.create("js");

        context.getBindings("js").putMember("main", new GetObject());

        context.eval("js", "main.printKeys({ 'foo': 'bar' });");
    }

    public void printKeys(Map<String, Object> map) {
        for (Map.Entry<String, Object> e : map.entrySet()) {
            System.out.println(e.getKey() + " -> " + e.getValue());
        }
    }
}

With rc2, it prints:
foo -> bar

With rc5:
foo -> bar
__proto__ -> [object Object]
constructor -> Executable
hasOwnProperty -> Executable
isPrototypeOf -> Executable
propertyIsEnumerable -> Executable
toLocaleString -> Executable
toString -> Executable
valueOf -> Executable
__defineGetter__ -> Executable
__defineSetter__ -> Executable
__lookupGetter__ -> Executable
__lookupSetter__ -> Executable

This is not really what I expected. I suppose I can exclude the extra properties by checking if they are indeed Object.prototype members, but this results in extra code. Is this intentional?

We plan to revert this change in rc6, unless anything comes up.

fixed by https://github.com/graalvm/graaljs/commit/af0b209e813fbd6fe9cafd98dc54c6fc9b63f3cd

Out of curiosity, where are the tests for a thing like this? I find some references to JS files that do not seem to be in the repo.


⚠ Bofrost.de has degraded performance

In 384e215, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 957 ms

Resolved: Bofrost.de performance has improved in 865985a.


Provide action limit configuration for each namespace

Description

Currently, openwhisk has only the system limit shared by all namespaces. I have received requirements to set different limits for each namespace/user. So I propose a new feature for namespace limit.
3 types of limits

There are (1) system limits, (2) namespace default limits, (3) namespace limits.

(1) system limits: under no circumstances may this limit be exceeded.
(2) namespace default limits: use this limit value unless a limit has been set in the namespace.
(3) namespace limit: It can be set by the system administrator. This value cannot exceed the range of the system limit.

case1) Using default namespace limit

case1) Using namespace limit (for foo namespace)

Limit doc
You can set namespace limits with {namespace}/limits document just like any other existing setting.
{
  "concurrentInvocations": 100,
  "invocationsPerMinute": 100,
  "firesPerMinute": 100,
  "maxActionMemory": 128,
  "maxActionConcurrency": 400
  "maxActionLogs": 128,
  "maxParameterSize": "1 kb"
}

New namespace limit config

config key
description

minActionMemory
minimum action memory size for namespace

maxActionMemory
maximum action memory size for namespace

minActionLogs
minimum activation log size for namespace

maxActionLogs
maximum activation log size for namespace

minActionTimeout
minimum action time limit for namespace

maxActionTimeout
maximum action time limit for namespace

minActionConcurrency
minimum action concurrency limit for namespace

maxActionConcurrency
maximum action concurrency limit for namespace

maxParameterSize
maximum parameter size for namespace

maxPayloadSize
maximum activation payload size for namespace

truncationSize
activation truncation size for namespace

Related issue and scope

I didn't open new issue, but described the changes here.
My changes affect the following components

[x] API
[x] Controller
[x] Tests
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[x] I added tests to cover my changes.
[x] My changes require further changes to the documentation.
[x] I updated the documentation where necessary.

Nice!
Could you open another PR to add a POEM for this feature as well?
https://github.com/apache/openwhisk/tree/master/proposals

Codecov Report

Merging #5229 (44e5270) into master (3e3414c) will increase coverage by 17.44%.
The diff coverage is 98.88%.

@@             Coverage Diff             @@
##           master    #5229       +/-   ##
===========================================
+ Coverage   44.53%   61.98%   +17.44%
===========================================
  Files         238      238
  Lines       13957    14033       +76
  Branches      570      557       -13
===========================================
+ Hits         6216     8698     +2482
+ Misses       7741     5335     -2406

Impacted Files
Coverage Δ

...cala/org/apache/openwhisk/core/entity/Limits.scala
85.71% <ø> (ø)

...la/org/apache/openwhisk/core/entity/LogLimit.scala
93.93% <94.44%> (-0.18%)
:arrow_down:

.../scala/org/apache/openwhisk/core/WhiskConfig.scala
94.08% <100.00%> (-1.68%)
:arrow_down:

...pache/openwhisk/core/entity/ConcurrencyLimit.scala
92.85% <100.00%> (-1.27%)
:arrow_down:

...la/org/apache/openwhisk/core/entity/Identity.scala
93.33% <100.00%> (ø)

...org/apache/openwhisk/core/entity/MemoryLimit.scala
96.87% <100.00%> (+3.12%)
:arrow_up:

...a/org/apache/openwhisk/core/entity/TimeLimit.scala
97.14% <100.00%> (+5.83%)
:arrow_up:

...cala/org/apache/openwhisk/http/ErrorResponse.scala
88.67% <100.00%> (+20.67%)
:arrow_up:

...org/apache/openwhisk/core/controller/Actions.scala
91.66% <100.00%> (+91.66%)
:arrow_up:

...che/openwhisk/core/invoker/LogStoreCollector.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 165 more

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 3e3414c...44e5270. Read the comment docs.

@style95 As the implementation continues to change, POEM has been added to this PR for consistency.
I will continue to update the PR content as well.

Nice!
Could you open another PR to add a POEM for this feature as well?
https://github.com/apache/openwhisk/tree/master/proposals

According to this process, we need a separate PR to add a POEM along with this PR.
https://github.com/apache/openwhisk/blob/master/proposals/POEM-1-proposal-for-openwhisk-enhancements.md#procedures

If this pr: apache/openwhisk/pull/5229 merged.
If user wants to use a higher memory for her action(e.g. 3GB)

Does openwhisk admin need to reconfigure his system limit (e.g. make system limit to a high value)?
and make sure user namespace's limit value < system limit?
As common user,  he just changes the $namespace/limit document is enough?
Has any extra work on wskadmin? e.g. Admin can use wskadmin can change the $namespace/limit

Have any influence for old action? e.g. user or admin may need some migration works.

Does openwhisk admin need to reconfigure his system limit (e.g. make system limit to a high value)?
So openwhisk admin needs to adjust the system limit value to >=3GB?

If the existing system limit was 2GB and you want to allocate up to 3GB, you need to raise the system limit and redeploy it. And if the namespace default limit is 2GB, existing users without a limit setting will use this limit.

Has any check mechanism that when user changes the $namespace/limit document, namespace limit value can't be greater than system limit?

If the namespace limit is greater than the system limit, it is lowered to the system limit.

Has any extra work on wskadmin? e.g. Admin can use wskadmin can change the $namespace/limit document as well.

Not yet. There is a plan to add it, but it seems to have to be created as a separate PR because there are a lot of changes in the PR.

I'm working on integrating with the new scheduler and improving backward compatibility. I'ill create a separate POEM PR as soon as it is completed.

Removed the POEM document file from this PR as it created a separate PR for POEM https://github.com/apache/openwhisk/pull/5236.

Need rebase

Before you merge I just have one last comment to discuss on naming with my separate poem on giving users the ability to configure max container / "server" concurrency, which I currently have to be maxContainerConcurrency as a field in the limits section of an action document. I've named it this way because there is already concurrency in the limits section for max concurrent requests within an individual container / "server".
I suspect we will add a similar configuration to this feature for a namespace to allow a min and max container concurrency setting to be allowed to be configured per action within a namespace. Since in this pr the configuration to control max and min of concurrent requests per container is maxActionConcurrency
So I think we've gotten to the point where we have many concurrency knobs and it's getting confusing in naming.

concurrentInvocations on the namespace global limit which represents the total containers that can be up at once, which isn't really representative of the semantics of that limit anymore since you can have more concurrent invocations than the set value.
concurrency as a limit on the action document which represents max requests that a single container for an action can handle at once.
maxActionConcurrency defined in this pr which represents the min and max defined as namespace limits of a window of what values can be configured for 2.
maxContainerConcurrency defined in my poem which is also a limit on the action document like 2. but represents the max containers that can be running for that action at once such that max throughput for an action is then 2. * 4.

If we were to add lower and upper limits in the same vein for my new maxContainerConcurrency value here, what would we name it. maxContainerConcurrency and minContainerConcurrency. Should I then rename the limit defined in the action document to then just be containerConcurrency rather than include max?
Don't want to hang up this pr much more as I know it's been sitting for awhile just want to make sure we get the naming right as the concurrency knobs are the most important for controlling the system and I don't want it to be confusing for new users or even existing users that see these new configurations.
Does maxActionConcurrency and maxContainerConcurrency feel adequately different in name and actually representative of what these limits do?

Also one other thing since I don't have time to comb through the code again right now, but you mention in the description that you can update the default limit of a namespace but don't see in the description any limit options to set default for namespace so was wondering if it's in the pr.
i.e. if the system memory limit default is 256mb, can you change the default value for a specific namespace to 128mb?

It's worth discussing.
I feel there are mainly two big concurrencies.

Concurrent containers. (concurrent in-flight activations in the old scheduler)
Concurrent activations in one container.

Currently, we call 1. as concurrentInvocations and for 2., just concurrency.
I feel we need to clean up these names first.
Since the name, concurrentInvocations best fits with ShardingContainerPoolBalancer and it is still being used,
it might not be easy to change the name before we drop supporting it.
So we can think about concurrency.
The concurrency is only referring to the intra-concurrency in one container until now.
Since it is related to the action container, I feel maxActionConcurrency is sort of aligned with it.
But for maxContainerConcurrency, I am unsure if this best describes what we intended.
Container may not best fit in case OW is running on K8S as it is using Pod.
I feel it should not include a certain implementation in the name. We might introduce containerless runtime in the future.
This configuration is basically to allow overprovision of containers beyond the default concurrentInvocations.
We may consider names like the below until we keep using concurrentInvocations for container-level concurrency.

maxConcurrentInvocations.
Some names related to overprovision.

@bdoyle0182 Thanks for your comments.

i.e. if the system memory limit default is 256mb, can you change the default value for a specific namespace to 128mb?

If the system memory limit is 256mb, and default memory limit is 128mb, you can create action with 128mb memory, higher memory is not available. If administrator gives you a higher memory limit (called namespace limit), you can create an action with 256mb memory.
This namespace limit can be set in a document with the key {namespace}/limits by system administrator.
And the default limit of a namespace is a value set as an environment variable during deployment. If not set, the same value is set as the current system limit for backward compatibility.

I also feel it's not easy to explain different types of concurrency. The name "action concurrency" is already used a lot in code, and configs. I used the same name because using a different name from the existing one is rather confusing.
behavior of "Action concurrency limits"

val actionConcurrency = 5

   * @param concurrency the action concurrency limit to be set in test
   * @param ec the expected exit code when creating the action
  val concurrencyEnabled = Option(WhiskProperties.getProperty("whisk.action.concurrency")).exists(_.toBoolean)

And the difference is that the "maxActionConcurrency" config added in this PR are not exposed to the user.
Because the name is similar to the existing "concurrency" config, users may need to read the document to understand the concept of new container concurrency.

maxActionConcurrency

The config is not exposed to the user. (It's admin setting)

maxContainerConcurrency

The config is exposed to the user by action limit.

concurrency: ConcurrencyLimit = ConcurrencyLimit(),
maxContainerConcurrency: Option[ContainerConcurrencyLimit] = None)

Do you all think instanceConcurrency would make more sense as the identifier of the limit on the action document rather than maxContainerConcurrency in my pr?
I think including max doesn't make sense on the action document to follow the same nomenclature of the existing concurrency field and that works in a similar matter where it's the max requests the container can serve at once but isn't guaranteed to be using at once, same would apply to total number of containers. So that a maxInstanceConcurrency and minInstanceConcurrency can then be defined as new namespace default limits that this pr is adding

merged as it's been so long.


i need exmple of AnimatedController ;

When you press the add to cart button, then The cart icon is animated

i have change this in your code .
it's worked for me,
can you fixed it please

Sure, this is the example with the controller, I added on the example folder, but it will be there until next release, but you can find it now here
https://github.com/Klerith/animate_do_package/blob/master/example/controller-example.dart


Support path normalization before matching routes

Adds support for path normalization (fixes #667) by adding a new class, NormalizedURLRouter. Rationale for using a new class:

Using a new class allows URLRouter to encapsulate only the logic for matching routes, and lets another class deal with what paths are considered canonical.
It seems to be more convenient than adding an intermediate request handler: it is more brief, and the odds are probably pretty low that someone would only want to normalize paths for some subset of routes.

Several sites claim that redirects are better for SEO, but several documents show that there are multiple solutions to this (e.g.  rel="canonical" links, sitemaps). Perhaps redirects should be an optional mode for NormalizedURLRouter, but for now I think a simpler and slightly faster default would be to avoid the redirect.
For now, the only normalization performed is to resolve .., ., and /.

But I'd keep this separate from the issue of resolving ., .. and multiple consecutive slashes. I'm currently leaning towards integrating this into URLRouter, so that it's possible to later implement a fast and allocation-less match algorithm that normalizes while matching.

Is it still something you'd be keen to accept ? This path issue is becoming more and more present on my end and I'm also quite interested in #1062 .


State attribute definition missing for 'detectedTime' when open window is detected.

When open window state is detected the error pops up in the log file.
2021-05-23 13:43:39.730  - info: tado.0 (6789) Error catched and send to Sentry, thank you collaborating! Error: State attribute definition missing for 'detectedTime' with value '2021-05-23T11:43:18Z' and type of value 'string'

Would be very nice if you could use the template or at least mention the used adapter version number. Based on the log I guess it is v0.2.7?

Ooooops, sorry...
iob -v 3.3.10
Adapter    "tado"          : 0.2.7    , installed 0.3.0-0

I see; you can test
DrozmotiX/ioBroker.tado#v0.3.0-1

Has 0.3.0-0 been revoked? I'm sure that I did pull it from the beta repository.

This was a script issue. Should never be on npm. It is in a late alpha state but happy to get feedback :-)
Did you had any bigger incompatibility issues from 0.2.7 to 0.3.0?

No, no bigger issues with 0.3.0.
With <IP_ADDRESS>-01 the above message seems to be gone.
Keep up the amazing work!

V <IP_ADDRESS>-01 now starts with more messages:
2021-05-23 14:42:51.623  - info: tado.0 (8673) starting. Version 0.3.0-1 in /opt/iobroker/node_modules/iobroker.tado, node: v16.1.0, js-controller: 3.3.10
2021-05-23 14:42:51.667  - info: tado.0 (8673) Started with JSON-Explorer version 0.0.0-21
2021-05-23 14:42:51.623  - info: tado.0 (8673) starting. Version 0.3.0-1 in /opt/iobroker/node_modules/iobroker.tado, node: v16.1.0, js-controller: 3.3.10
2021-05-23 14:42:51.667  - info: tado.0 (8673) Started with JSON-Explorer version 0.0.0-21
2021-05-23 14:42:52.315  - info: tado.0 (8673) Connected to Tado cloud, initialyzing ...
2021-05-23 14:42:52.315  - info: tado.0 (8673) Connected to Tado cloud, initialyzing ...
2021-05-23 14:42:53.241  - info: tado.0 (8673) Error catched and send to Sentry, thank you collaborating! Error: State attribute definition missing for 'stale' with value 'false' and type of value 'boolean'
2021-05-23 14:42:53.245  - info: tado.0 (8673) Error catched and send to Sentry, thank you collaborating! Error: State attribute definition missing for 'degrees' with value '121.32814968282766' and type of value 'number'
2021-05-23 14:42:53.250  - info: tado.0 (8673) Error catched and send to Sentry, thank you collaborating! Error: State attribute definition missing for 'radians' with value '2.1175756873178564' and type of value 'number'
2021-05-23 14:42:53.254  - info: tado.0 (8673) Error catched and send to Sentry, thank you collaborating! Error: State attribute definition missing for 'relativeDistanceFromHomeFence' with value '0' and type of value 'number'
2021-05-23 14:42:53.241  - info: tado.0 (8673) Error catched and send to Sentry, thank you collaborating! Error: State attribute definition missing for 'stale' with value 'false' and type of value 'boolean'
2021-05-23 14:42:53.245  - info: tado.0 (8673) Error catched and send to Sentry, thank you collaborating! Error: State attribute definition missing for 'degrees' with value '121.32814968282766' and type of value 'number'
2021-05-23 14:42:53.250  - info: tado.0 (8673) Error catched and send to Sentry, thank you collaborating! Error: State attribute definition missing for 'radians' with value '2.1175756873178564' and type of value 'number'
2021-05-23 14:42:53.254  - info: tado.0 (8673) Error catched and send to Sentry, thank you collaborating! Error: State attribute definition missing for 'relativeDistanceFromHomeFence' with value '0' and type of value 'number'
2021-05-23 14:42:55.511  - info: tado.0 (8673) Initialisation finished,  connected to Tado Cloud service refreshing every: 60 seconds

I will check these once today in the evening or tomorrow

Ready to check
DrozmotiX/ioBroker.tado#v0.3.0-2

v0.3.0-2 is now silent.


Added gulp to solve to prefix css and solve #69

I've added a gulpfile, build folder, and a package.json with a few dev-dependencies for gulp. This is by no means a mission-critical PR, just convenient to have to simplify the compiling of scss with compass, prefixing with autoprefixer, and minifying both the css and js.

Wow thanks, some good PRs coming in today! I'll take a look soon


refactor: Change private variable to private constant

1. Why is this change necessary?
Only some minor changes, I stumbled upon, when going through the code, in particular moving the associations from a readonly private variable to a constant.
I hope in that case that no changelog is required. If otherwise, I will create one.
2. What does this change do, exactly?
Remove some lines of code.
3. Describe each step to reproduce the issue or behaviour.
-
4. Please link to the relevant issues (if any).
-
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Looks not bad! But it would be great to get the tests green 😄! Can you do that?

a rebase should do the trick :slightly_smiling_face:

I will do the rebase later, I am currently not at the PC.

Ah, that check says it's breaking. I guess you have to deprecate it there as well, as you did in some of your other files

Yes, the question is, why it says that it is breaking. As this does not break when one properly implements the interface. But I now reverted that change. But I added the final annotation (which should not break, as it is only an annotation).
The now failing OpenApi check is also failing on trunk.

Yes, the question is, why it says that it is breaking. As this does not break when one properly implements the interface. But I now reverted that change. But I added the final annotation (which should not break, as it is only an annotation).
The now failing OpenApi check is also failing on trunk.

Well, that's a static check, so in theory the return type is now more limited.
Maybe @keulinho can give more insights about what is fine and what not.

@marcelbrode yes in general the implementation of an interface (or subclass in that case), can narrow down the return type, i.e. see: https://3v4l.org/c6bse
The only problem one can run into, is if one directly extended the PromotionGateway and does not change the return type. So I think it should be the least breaking behavior, which is now implemented, in case anybody directly extended the PromotionGateway which should in future not be possible anymore, hence the @final doctype.

I guess that's fine. I'll import it 🙂

Your Pull Request has been merged! :tada:
Thanks for your contribution! :blue_heart:


How to list the owned resources of a crd instance

I add some kind of resources to my crd in the csv file, but after install the operator and create the crd instance, the "Resources" Tab shows nothing.
Please see the attached screenshot below.

It should have one serviceAccout, one statefulSet, one daemonSet and several roles nad roleBindings
here is what I added in my csv:
        resources:
          - kind: ServiceAccount
            version: v1
          - kind: ClusterRole
            version: rbac.authorization.k8s.io/v1beta1
          - kind: ClusterRoleBinding
            version: rbac.authorization.k8s.io/v1beta1
          - kind: StatefulSet
            version: apps/v1
          - kind: DaemonSet
            version: apps/v1

Can you share your full CSV?

@dmesser , you can find it here: https://github.com/IBM/ibm-block-csi-operator/blob/develop/deploy/olm-catalog/ibm-block-csi-operator/1.0.0/ibm-block-csi-operator.v1.0.0.clusterserviceversion.yaml


Add links to presentations to README

Tos, can you add links to your presentations on the README?

I think both of our presentations (the lab meeting update one and the end-of-summer one) from this summer are already listed under Old Presentations on the readme.

yes! Sorry to bother.


Another question on RAM consumption

There are already a few tickets here about large memory consumption, but they don't clarify the reason for this.
I probably don't understand exactly what tool is doing that is causing it to need so much RAM to run (more than 20 GB in our case).
We run azopy sync every day (Azure Files -> Local Dir). The total number of files in storage is about 7 million, of which about 50k files are deleted and added a day (the rest of the files are immutable).
As I can assume, azcopy sync collects the full list of files from the source and maps it to the target folder. I did a rudimentary test - and I manage to store this list consuming only 2 GB versus the 20 GB that azcopy consumes. I should note that I didn't use any optimizations, but just formed hashmap with full file paths as key (as UTF-16 strings) and 64 bytes with arbitrary information (enough to store dates, attributes and much more).
What else does azcopy sync do that it needs so much extra memory?
Perhaps a consistent snapshot of the storage is provided, so it's much more complicated than I'm assuming? If so, could it be possible to have a synchronization mode that allows some data to be changed already during the copying process, but will consume many times less memory?
Maybe it caches a lot of data during copying before putting it in the target dir? If so, is it possible to make cache smaller?

Hi @ArtemAvramenko Please see this page for information on how to limit memory usage. https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-optimize#optimize-memory-use
In your case, sync is caching the list of source/dest file pairs to determine which files to transfer but it is also using memory for the downloads happening.

Closing as a response was given and due to lack of activity.


bug while using library

To use location services in iOS 8+, your Info.plist must provide a value for either NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription.

@Ne3maRayan , I don't think this is a bug. It's quite necessary.
Such as, PJSIP lib (VoIP call) want you to set background mode yourself in Info.plist.

Hi @Ne3maRayan,
This is not a bug. Please read this section of the README and let me know if you have any additional questions: https://github.com/intuit/LocationManager#requesting-permission-to-access-location-services
Thanks!


⚠ Samsung has degraded performance

In d525870, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2538 ms

Resolved: Samsung performance has improved in acf165a.


DDL support: Support for ALTER TABLE MODIFY

When MySQL table column data types are modified using ALTER TABLE, that change needs to be replicated in ClickHouse, sink connector needs to perform ALTER TABLE MODIFY COLUMN to update the column's data type.

Implemented


Missing allowed grant flows validation configuration

After looking through a few places the available flows validation seems to be missing:
 option :allow_grant_flow_for_client,    default: ->(_grant_flow, _client) { true }

From the client_credentials flow validation:
        validate :client_supports_grant_flow, error: :unauthorized_client
...
        def validate_client_supports_grant_flow
          return if @client.blank?

          Doorkeeper.config.allow_grant_flow_for_client?(
            Doorkeeper::OAuth::CLIENT_CREDENTIALS,
            @client.application,
          )
        end

Which means if you only have client_credentials or authorization_code enabled on a grant_flow on doorkeeper this flow is not honoring the validation. Let me know if I have misunderstood.
https://github.com/doorkeeper-gem/doorkeeper/blob/f02fcb447a0b39c43cae350a600b853a0e69ee60/lib/doorkeeper/oauth/client_credentials/validator.rb#L31
https://github.com/doorkeeper-gem/doorkeeper/blob/f02fcb447a0b39c43cae350a600b853a0e69ee60/lib/doorkeeper/config.rb#L285

I'll look into this next week.

Hi! Thanks for opening this issue, @yoda.
You are right, the current code is not validating against allow_grant_flow_for_client option. It looks like an accidental omission.
Adding a validation to the two classes handling the main requests should be enough.
A PR will follow shortly. Please feel free to have a look and see if I forgot something.

Poke


The verb "to open" should be conjugated as "Opens" rather than "Open."

Microsoft PowerToys version
0.76.0
Utility with translation issue
PowerToys Run
🌐 Language affected
English
❌ Actual phrase(s)
Open PowerToys utilities and settings.
✔ Expected phrase(s)
Opens PowerToys utilities and settings.
ℹ Why is the current translation wrong

As is shown in the screenshot, the verbs "to do," "to search," etc. are correctly conjugated, but "to open" is not.

Postscript: I believe that Plugin to search for Windows settings should be replaced, too.

Postscript: e.g in (e.g 'ping', 'cmd') should also be replaced; there is an occurrence of e.g..

I vote for the opposite: I rather use the short version, like "open", "manage" etc. Microsoft prefers active voice.

Similar in the OOBE, e.g. "[Ctrl C] open Color Picker" would be better

As of now, shifting to more verb action style

This has been worked on during the 0.79.0 release cycle.
Please update to the latest: https://github.com/microsoft/PowerToys/releases


[gpu] Add basic heuristics for better reduction occupancy

For subgroup reduction, currently a workgroup processes all elements in all reduction dimensions. We need to first make sure the workgroup size we use can divide the total reduction size, and it's also within hardware limitations.
At the moment we err on the side of using the largest workgroup size possible; that's good for pure 1-D reduction where we can only ever launch one workgroup.
Recent work for LLMs we are using subgroup reduction pipeline for matvec operations--there are parallel dimensions there and can be large. For such cases, we need to strike a balance--

parallel dimensions are distributed to workgroups. If there are
many workgroups dispatched, we'd want to have each GPU core hosting
multiple of them for occupancy.
we want each thread to read quite a few 128-bit vectors for better
memory cache behavior.

Both require using a smaller workgroup size. So this commit add basic heuristics to consider these facts and improve occupancy.

Actually one of the primary motivators for this is for llama performance (tracked in the CI)
 experimental/regression_suite/tests/pregenerated/test_llama2.py Downloading https://storage.googleapis.com/shark_tank/llama_regression/09152023/llama2_7b_int4_stripped.mlir -> /_work/iree/iree/artifacts/llama2_7b_f16qi4_stripped/llama2_7b_int4_stripped.mlir---------------------------------------------------------------------------------------------------------
Benchmark                                               Time             CPU   Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
BM_first_vicuna_forward/process_time/real_time       29.6 ms         5.70 ms           24 items_per_second=33.8122/s
2023-10-06T06:00:04+00:00
Running /_work/iree/iree/venv/lib/python3.11/site-packages/iree/_runtime_libs/iree-benchmark-module
Run on (32 X 5759 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x16)
  L1 Instruction 32 KiB (x16)
  L2 Unified 1024 KiB (x16)
  L3 Unified 98304 KiB (x2)
Load Average: 0.49, 0.15, 0.05
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
----------------------------------------------------------------------------------------------------------
Benchmark                                                Time             CPU   Iterations UserCounters...
----------------------------------------------------------------------------------------------------------
BM_second_vicuna_forward/process_time/real_time       19.1 ms         1.04 ms           37 items_per_second=52.4289/s
: Retrieved 2525199 bytes

These benchmarks are known to be noisy but it would be good to get some verification of performance changes here.

Actually one of the primary motivators for this is for llama performance (tracked in the CI)
 experimental/regression_suite/tests/pregenerated/test_llama2.py Downloading https://storage.googleapis.com/shark_tank/llama_regression/09152023/llama2_7b_int4_stripped.mlir -> /_work/iree/iree/artifacts/llama2_7b_f16qi4_stripped/llama2_7b_int4_stripped.mlir---------------------------------------------------------------------------------------------------------
Benchmark                                               Time             CPU   Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
BM_first_vicuna_forward/process_time/real_time       29.6 ms         5.70 ms           24 items_per_second=33.8122/s
2023-10-06T06:00:04+00:00
Running /_work/iree/iree/venv/lib/python3.11/site-packages/iree/_runtime_libs/iree-benchmark-module
Run on (32 X 5759 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x16)
  L1 Instruction 32 KiB (x16)
  L2 Unified 1024 KiB (x16)
  L3 Unified 98304 KiB (x2)
Load Average: 0.49, 0.15, 0.05
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
----------------------------------------------------------------------------------------------------------
Benchmark                                                Time             CPU   Iterations UserCounters...
----------------------------------------------------------------------------------------------------------
BM_second_vicuna_forward/process_time/real_time       19.1 ms         1.04 ms           37 items_per_second=52.4289/s
: Retrieved 2525199 bytes

These benchmarks are known to be noisy but it would be good to get some verification of performance changes here.

Do you have a link to the job? I can tell based on what machine picked it up.

Actually one of the primary motivators for this is for llama performance (tracked in the CI)
 experimental/regression_suite/tests/pregenerated/test_llama2.py Downloading https://storage.googleapis.com/shark_tank/llama_regression/09152023/llama2_7b_int4_stripped.mlir -> /_work/iree/iree/artifacts/llama2_7b_f16qi4_stripped/llama2_7b_int4_stripped.mlir---------------------------------------------------------------------------------------------------------
Benchmark                                               Time             CPU   Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
BM_first_vicuna_forward/process_time/real_time       29.6 ms         5.70 ms           24 items_per_second=33.8122/s
2023-10-06T06:00:04+00:00
Running /_work/iree/iree/venv/lib/python3.11/site-packages/iree/_runtime_libs/iree-benchmark-module
Run on (32 X 5759 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x16)
  L1 Instruction 32 KiB (x16)
  L2 Unified 1024 KiB (x16)
  L3 Unified 98304 KiB (x2)
Load Average: 0.49, 0.15, 0.05
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
----------------------------------------------------------------------------------------------------------
Benchmark                                                Time             CPU   Iterations UserCounters...
----------------------------------------------------------------------------------------------------------
BM_second_vicuna_forward/process_time/real_time       19.1 ms         1.04 ms           37 items_per_second=52.4289/s
: Retrieved 2525199 bytes

These benchmarks are known to be noisy but it would be good to get some verification of performance changes here.

Do you have a link to the job? I can tell based on what machine picked it up.

https://github.com/openxla/iree/actions/runs/6427993210/job/17454585011?pr=15120

Actually one of the primary motivators for this is for llama performance (tracked in the CI)
 experimental/regression_suite/tests/pregenerated/test_llama2.py Downloading https://storage.googleapis.com/shark_tank/llama_regression/09152023/llama2_7b_int4_stripped.mlir -> /_work/iree/iree/artifacts/llama2_7b_f16qi4_stripped/llama2_7b_int4_stripped.mlir---------------------------------------------------------------------------------------------------------
Benchmark                                               Time             CPU   Iterations UserCounters...
---------------------------------------------------------------------------------------------------------
BM_first_vicuna_forward/process_time/real_time       29.6 ms         5.70 ms           24 items_per_second=33.8122/s
2023-10-06T06:00:04+00:00
Running /_work/iree/iree/venv/lib/python3.11/site-packages/iree/_runtime_libs/iree-benchmark-module
Run on (32 X 5759 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x16)
  L1 Instruction 32 KiB (x16)
  L2 Unified 1024 KiB (x16)
  L3 Unified 98304 KiB (x2)
Load Average: 0.49, 0.15, 0.05
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
----------------------------------------------------------------------------------------------------------
Benchmark                                                Time             CPU   Iterations UserCounters...
----------------------------------------------------------------------------------------------------------
BM_second_vicuna_forward/process_time/real_time       19.1 ms         1.04 ms           37 items_per_second=52.4289/s
: Retrieved 2525199 bytes

These benchmarks are known to be noisy but it would be good to get some verification of performance changes here.

Do you have a link to the job? I can tell based on what machine picked it up.

https://github.com/openxla/iree/actions/runs/6427993210/job/17454585011?pr=15120

Yeah the machine that picked it up usually runs at ~21ms.
I just re-ran it and the fast one (with an external display that keeps it clocked up) got it: 8.98ms down from 9.3ms or so.

Oh, wow, the time difference is huge. Are these machines having the same GPUs? We need a more well controlled environment for getting these perf numbers. Also it looks we aren't batching it with --iree-hal-benchmark-dispatch-repeat-count=.

Also it looks we aren't batching it with --iree-hal-benchmark-dispatch-repeat-count=

My understanding was that the dispatch-repeat-count will repeat each kernel individually in part to amortize out things like command buffer construction. I would think in this case running without that flag is actually more realistic given that it is a full model.

Yeah we typically want both to have an overall measure and a read of kernels specifically.


Syndicate high quality blogs

To add a variety and value to Peated, it'd be great to syndicate in some blogs. Not entirely sure what this looks like, but I'm imagining at the very least something which shows recent posts on the main feed.

https://www.whiskynotes.be/feed/

On this same note, I'd like to pull in more sources of recommendations to offset data. e.g. https://whiskyadvocate.com/


There seems to be a problem using "STSTool"

There seems to be a problem using "STSTool".
I'm not sure if this is the problem or not.
With "EnableMonologue (false)" the text box is invisible and you can print text.
You want to modify "Mes (Byte: positionX, Bool: centerX, Byte: positionY, Bool: centerY, String: text, Int16: messageID)".
Modify the "Byte: positionX" part to "0".
Or modify it to a random number, perhaps 0-200.
This modification aligns the text to the center.
But if you modify it, it won't apply
Please confirm.
This file is modified but not applied.
https://imgur.com/3Eqgklj
https://www.dropbox.com/s/lcy3cjwqdc21ocu/0_debug_12-tr.bin?dl=0
This is the original file.
https://www.dropbox.com/s/f7j2ki0t3s48fhe/0_debug_12.bin?dl=0
This is the original file.
https://www.dropbox.com/s/wnej61xmuwjpkd6/day07_KURUMI1e-tr.bin?dl=0
This is the file that you modified, which applies.
https://imgur.com/kYJZI3x
https://www.dropbox.com/s/ja90a001ype7ysl/day07_KURUMI1e.bin?dl=0
Please confirm.

Thanks for letting me know about this issue, As what you thought it is incorrect,
It's actually Mes(Int16: positionX, Int16: positionY, String: text, Int16: messageID)
The Mes command only centres on the X axis from what I can see, But with some simple calculation you can make it centre on the Y axis. Note that the unit is 2/1 so 10 is 20 pixels on a 1920x1080 screen
The Image below is
Mes(0, 231, "\"I like you\nbetter than a sea slug.\"\n - Fuko", 32)

I will update the repo soon, here is the updated tools, please let me know if this solves your issue.
DALTools.zip
Please keep in mind that you will need to build all the disassembled scripts with the old version then disassemble them again with the new STSCTool.

I repacked the old version as you said, and unpacked the new version.
However, if the encoding is a problem, the output is as shown below.
https://imgur.com/3rkrehw

If it detecting the file as UTF-8?

Yes. I have checked all of the encodings but they all output strangely.

Does it work fine with a clean start01.bin?

This is the file when you unpacked the original PCK and unpacked it using STSTOOL.
https://imgur.com/HWoJrOQ
This file is the file that you repacked with STSTOOL.
https://imgur.com/QtJJxWv

Mind redownloading the zip and unpack of of the bin files and send the .txt file to me so i can take a better look?

original start01.bin
https://www.dropbox.com/s/1q61yiaigaujui6/start01-ori.bin?dl=0
unpacked start01.bin
https://www.dropbox.com/s/mw2duet8ds0j5q8/start01-ori.txt?dl=0
repacked start01.bin
https://www.dropbox.com/s/g1tltmo0bee89rt/start01-re.bin?dl=0

I'm not sure what is causing the issue. Maybe try this?
STSCTool.zip

Good, when I drag n drop original file, it print clearly.
but, If I load a save, it crashed or load another(strange) scene.

Can you show me the crash?

Maybe forcing UTF-8 reading might fix it?
STSCTool.zip

https://www.dropbox.com/s/tdyt27wtabyu2pq/DateALive_Rio_-20191105-133121-16136-3128.dmp?dl=0

oh I thought you meant the tool crashed.
Anyways did you try the version I sent 3 mins ago?

I tried
It prints well.
However, the save fails to load and is forcibly terminated.

Can you send me the txt and bin file?

Something twisted now.
If I find the problem again, I will write.
I'm not finding this problem right now.
I'll tell you if this happens again.

Can you publish what we've talked?
There seems to be no problem now.
I'll tell it again if I see a save issue.

Great, I will soon. Closing.


Why the globals().update(locals()) hack is needed

This is in response to @3b1b's last video, which featured the hack of writing globals().update(locals()) in IPython, and asked the audience if anyone could explain why or how to do it better.
This happens because: In a repl, variable reads and writes first go to the locals() dict. But an important dirty secret of python is that local variables within functions don't do that - instead the bytecode compiler creates an array for local variables and uses indexes (because a list is faster than a dict). This means that, for an inner function to access a local variable from an outer function, python generates code almost like this, without involving locals() at all:
def outer():
	var = 0
	def inner(): return var
# becomes
def _inner(var):
	return var
def outer():
	var = 0
	inner = functools.partial(_inner, var)

The consequence is that capturing variables is only possible if the compiler actually sees that one function is inside another. So, if you define a function a repl spawned in a function context, it will only inherit global variables and not function/repl local variables.
Why does this work in IPython normally? Ultimately it is in fact because this repl is spawned from inside a function. When started normally, globals() and locals() are the exact same dictionary, so it doesn't matter that variables writes go to locals() and function variables reads come from global(). (Turns out this is equally true for code at the top level of a module!)
What to do about it? Without changing IPython or Python, the best thing I can think of is to just make a more sophisticated version of the globals().update(locals()) hack. Maybe write a dict subclass to replace globals() that's able to fall back to locals() for lookups, then use that as the globals only while running the IPython repl!

helpful

Hi!
I also wrote about that and submited a PR to fix it: https://github.com/3b1b/manim/pull/2180
I liked yor explanation of cell variables! I don't think that's what's happening in the issue in the video, though, because cell variables only work like that when you have textually nested functions: The compiler needs to see the "def inside a def" syntax in a single piece of source code in order to generate cells.
I think this was on the right track:

Why does this work in IPython normally? Ultimately it is in fact because this repl is spawned from inside a function. When started normally, globals() and locals() are the exact same dictionary, so it doesn't matter that variables writes go to locals() and function variables reads come from global(). (Turns out this is equally true for code at the top level of a module!)

That's the problem: in the top-level of a module, and also in vanilla REPL shells, globals() and locals() are the same dict instance, but in the shell spawned by manimgl --embed they're distinct. (Which is exactly what my PR changes.)
As for "it is in fact because this repl is spawned from inside a function", I wouldn't word it that way. The shell executes user code by passing that code to Python's exec/eval builtins, and it also passes globals and locals namespaces to those exec/eval calls, and what's important is simply guaranteeing that those namespaces are the same. Now, the implementation of Scene.embed in manim attempted to "recreate" the scope inside a function by passing different locals and globals namespaces to the shell. But that doesn't really work: since the compiler doesn't see the "def inside a def", there are no cells, so the nonlocal keyword doesn't work; but still, variables defined in the shell scope are local to that scope, not global, so the global keyword doesn't work either. Anyway, I explained all of this (or at least, my understanding of it) in more detail in my PR.

Oh, also, something I forgot to mention in my PR: the fact that list comprehensions were previously affected, but somehow are not affected anymore, is [PEP 709: Inlined comprehensions](it is in fact because this repl is spawned from inside a function).


[core-http(s)] Expose setClientRequestIdPolicy options

Allow setting Client Request Id preferences through pipeline options. This PR enables the user to:

Choose to turn off automatically setting x-ms-client-request-id
Choose a different header name for the ClientRequestId

This is already available to users when sending requests with raw ServiceClientOptions instead of Pipeline

Is this still applicable?

In Corev2 the consumer can just remove the pipeline policy by name, so maybe we don't bother? If this isn't pressing I'd rather not solve it.

@joheredi, Can you share which service package surfaced the need for this change?

@ramya-rao-a this is needed by our code gen testsuite that calls into our test server. @joheredi do you still plan on completing this PR? I can take it up.

Yes as @deyaaeldeen mentioned this is for TestServer scenarios in Autorest. This PR was in preparation to the corev2 move, with core-http we can accomplish this with ServiceOptions.
@xirzec, @bterlson, @deyaaeldeen I have rebased master and also addressed the comments, moved these options to InternalPipelineOptions and changed shouldEnable to disable and set the default to false

Side note: Lets hold off on merging this PR until the current set of releases for core packages are out

I'll close this PR as this can be accomplished by removing the policy from the pipeline in a cleaner way and we can handle this in the generator side


Swap Flux GitRepository to use SSH on this repository

Details
Describe the solution you'd like:
Give Flux back write access back to my cluster

Done. Steps to migrate from http are here https://github.com/k8s-at-home/template-cluster-k3s/issues/324

Give Flux back write access back to my cluster

Curious why :detective:

No particular reason for me but this let's you have a private repo and also use the image automation controller.


scoop install fails with 400 Bad Request

When attempting to install a few apps like pshazz and concfg I receive a 400 bad request error.
PS C:\> scoop install pshazz
installing pshazz (0.2<IP_ADDRESS>)
downloading https://github.com/lukesampson/pshazz/archive/4791a84d2e4e5358c64934197ad27804374425c7.zip...
The remote server returned an error: (400) Bad Request.

Installing other apps like 7z, openssh, git work fine.

Thanks for reporting that error. It should be fixed now. Does it work for you?

Working great!  Thanks!


Problems with 1.5.1 and <IP_ADDRESS>.

Since the update to version 1.5.1 and with the new update to <IP_ADDRESS>, I see that the graphs of the temperature, humidity and atmospheric pressure sensors are not shown.
I also have the feeling that the status update in both the aqara temperature sensors and the aqara of movement, is slower and dilates more in time than with the previous version.
This is my configuration for configuration.yaml of zigbee2mqtt
{
"data_path": "/share/zigbee2mqtt",
"devices": "devices.yaml",
"groups": "groups.yaml",
"homeassistant": true,
"permit_join": false,
"mqtt": {
"base_topic": "zigbee2mqtt",
"server": "mqtt://<IP_ADDRESS>:1883",
"user": "DVES_USER",
"password": "DVES_PASS"
},
"serial": {
"port": "/dev/ttyACM0"
},
"advanced": {
"pan_id": 6754,
"channel": 11,
"network_key": [
1,
3,
5,
7,
9,
11,
13,
15,
0,
2,
4,
6,
8,
10,
12,
13
],
"availability_blacklist": []
},
"ban": [],
"whitelist": [],
"queue": {}
}
Thank's

The graphics issue, I have already fixed it. I have seen that it was not just a problem of the zigbee2mqtt devices, and that they were of all the devices, searching the internet I have seen that deleting the database (home-assistant_v2.db) was fixed, and so it has been.

@mafade; but do you get status updates trom your devices now? Mine are still having a issue

@GJ2019 Yes, after re-linking them one by one, I receive updates. I think, or that is my feeling, that it does not update as fast as before and that there are now devices that spend more time without updating. But it is a sensation anyway.
How often does it update you?
For example the aqara motion sensors and the aqara temperature sensors. I can be 15 minutes without updating.

@mafade: As far as i understand the working process of the sensors is that they only send a update to the system when a change is registered. So if the temperature changes every minute , it will send a update every minute. Is there no significant change , it won’t send updates that often. Since the temperature sensors also measure humidity and pressure, it will update more often.

@GJ2019 You are right, it is logical. That's why I said about "my feeling" the same now after the update and the problems I've noticed more and it's really not serious.

Looks like you solved this, so I'll close the issue.


Enable default events when nothing is highlighted

If highlightFirst is false and no item is selected when enter, for
instance, is pressed, e.preventDefault() won't be called.
Basically, it allows typing without disruptions in case you aren't interested in the support provided by the plugin.

Thanks for your contribute.
I think it should be a default behaviour instead of an options.

@ichord Sounds good to me. I've now updated the PR.

cool!


BitBucket auth is not working

Hey there, we're trying to downgrade from drone.io to woodpecker.
So far everything is up and running, but when I try to authorize vi bitbucket server I'd just show Access approved message and never redirects back to woodpecker.
It does work fine with drone though.
Thanks

Can you attach your env vars you use with bitbucket?

Here it's
            - name: DRONE_STASH_GIT_PASSWORD
              value: "password"
            - name: DRONE_STASH_GIT_USERNAME
              value: "user"
            - name: DRONE_HOST
              value: https://woodpecker.example.com
            - name: DRONE_STASH
              value: "true"
            - name: DRONE_STASH_CONSUMER_KEY
              value: "key"
            - name: DRONE_STASH_CONSUMER_RSA
              value: "/etc/bitbucket/key.pem"
            - name: DRONE_STASH_URL
              value: "https://bitbucket.example.com"

@laszlocph any suggestions?

@kotyara85 can you provide me with a docker-compose for bitbucket instance you run to test against?

NOTE: https://hub.docker.com/r/atlassian/bitbucket-server

We dropped support for bitbucket stash with 1.0. Bitbucket cloud was tested by me recently and works fine.


Fix delete relation field when _Join collection not exist

Fix for #848
Check for existence before dropping

Current coverage is 90.49%

Merging #864 into master will decrease coverage by -1.19% as of 76895e5

@@            master    #864   diff @@
======================================
  Files           71      71
  Stmts         4102    4104     +2
  Branches       845     846     +1
  Methods          0       0
======================================
- Hit           3761    3714    -47
  Partial         10      10
- Missed         331     380    +49

Review entire Coverage Diff as of 76895e5

Powered by Codecov. Updated on successful CI builds.

Nice... Thanks! :+1:


Unable to validate json schema using chakram-expectation.schema, for wrong schema method is returning true.

Hi team, i am not able to validate my json with the provided schema. The method is returning true for any provided schema for my json. Kindly help
Below are the details:
raw json
{
"user_id": 954,
"first_name": "Claudia",
"last_name": "Hackbarth",
"user_role": "Alum",
"permission": {
"german_colleague": false,
"create_job": true,
"create_profiles": true,
"search_profile": false,
"admin": false
},
"status": {
"change_password": false
},
"exp":<PHONE_NUMBER>,
"iss": "issuer_name",
"aud": "client"
}
schema
var expectedSchema={
properties: {
wrong_entity: {type: "integer"},
first_name: {type: 'number'},
last_name: {type: 'string'},
user_role: {type: 'string'},
permission: {
type: "object",
properties: {
german_colleague: {type: "boolean"},
create_job: {type: "boolean"},
create_profiles: {type: "boolean"},
search_profile: {type: "boolean"},
admin: {type: "boolean"}
}
},
status: {
type: "object",
properties: {
change_password: {type: "boolean"}
}
},
exp: {type: "integer"},
iss: {type: 'string'},
aud: {type: 'string'}
},
required: ["user_id"]
};
expect(response).to.have.schema(expectedSchema);

for field "user_id" in json i have mentioned "wrong_entity" in my schema.
For wrong schema above, method "chakram-expectation.schema" is returning true[unexpected]. Am I missing some config changes here.

Your schema is only checking that the user_id is present, which it is. The schema validation for tv4 is the same one postman uses and I have run into the same situation in the past. since wrong_entity is not required and not present, tv4 validator ignores that property. If that property was there, it would validate against your definition.


Support the fact that builds will produce JRE builds as well as JDK

There is a PR open against the build repo which will cause the builds to produce both JRE and full JDK artefacts. Any jobs that copy from this will need to tolerate this (and probably allow for picking up either version).
The PR is https://github.com/AdoptOpenJDK/openjdk-build/pull/331 (naming convention will be discussed in that PR so I'm not going to specify it here in case it goes out of date)
This build has been modified to build from the code in my PR so can be seen as an example: https://ci.adoptopenjdk.net/job/openjdk8_openj9_build_x86-64_linux/

@sophia-guo, you opened #437, is it the same as this issue?
@sxa555 - when I go to the openjdk8_openj9_build_x86-64_linux, I no longer see the JRE artifacts (though I recall they were there at least for a while).  Can you guide me on how to revive?

yes, same one.
There was JRE artifacts when this issue was opened. At that timeSource Code Management was pointed to @sxa555 personal create_jre branch, which has not be delivered.


problem in following

hi, thank you very much for your tools.
unfortunately i can not scrap following
this is my error :
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//a[contains(@href,"/following")]/span[1]/span[1]"}
(Session info: headless chrome=88.0.4324.150)
best regards

You can set headless=False to see all operations on chrome, and check if the page search as you set. If some strange things happen on the page, they may be the cause of the error.

Yes, when i set headless=False, chrome opened and target account is shown but this problem shown in terminal again:
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//a[contains(@href,"/following")]/span[1]/span[1]"}
(Session info: headless chrome=88.0.4324.150)
when manually clicked on followers or following , login page shown and ...

I'm not that clear about Scweet's behaviour on this fuction. Here is,my suggestion.
As described in readme file of this project, access user file may need Twitter account to login as a pre-requisite. You can put yours in.env file to see if the problem get solved.

Hi I am also having this error intermittently, not sure what is causing it.  Often it will happen part way through going through a list of users.  It would be great if there was a way to write the results to file as they are scraped, so that they are not lost if an error occurs before the program finishes.
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[contains(@data-testid,"primaryColumn")]"}


Todoist Rest API v2 support

Todoist API v1 doesn't work anymore. This PR updates some things to work with v2.
https://developer.todoist.com/rest/v2/#migrating-from-v1
I can't guarantee that I addressed everything or even tested it. But the current version doesn't work at all, and this is at least an improvement.

@temoon can you review/merge this? 💚
Tests against the real API would be nice, but I'm not sure I have the capacity to write them right now.

@temoon any chance you can have a look?


Make delayed job table be configurable

/domain @rcho @jpatrizio17
/platform @jmileham @samandmoore
/cc @Betterment/institutional
B4A currently enqueues jobs into the b4a_delayed_jobs table in the retail database. Because of this, grandmaster (and delayed_job_web) can't access the b4a delayed jobs, blocking us from any admin work.
The institutional grandmaster will still use the retail job_admins table, but that is fine, I think.
This should just allow us to set DELAYED_JOB_TABLE_NAME ENV variable, and it should work. Will add that env variable to grandmaster's ansibrails, since they deploy together?

The ultimate goal is to move B4A jobs into the normal table, but this will hopefully hold us over until we get to that work.

@betterzega what's the thinking around continuing to have a separate b4a_delayed_jobs table now that the institutional_core gem has been folded into the retail_core gem? i can't think of a good reason to have both unless there are things that are still in institutional_core that won't work properly? we'd wanna remove the worker process from the institutional app's Procfile if we ditched the second table. i dunno. i'm absolutely fine with making this change but only if we actually need to be making it. if we can just consolidate into a single DJ table, that would certainly be better.

We can definitely give it a whirl. We were thinking about reintegrating at some point, but first having a conversation on whether we just dump all jobs into the retail table or if we wanted to be more strategic with separate queues. B4A job activity is extremely light (we rarely have jobs sitting in queue). The only time where we have heavy activity is around end of quarter, when we render firm quarterly statements (~400 pdfs, a couple of hours).

Yeah I think we should roll them into the retail queue. However, this seems like a good stepping stone. It'll be nice have this functionality available in grandmaster too.
<< domain lgtm

<<platformlgtm
I'd love to see if we can do the integration step as well :)


Updating to latest schema version

This PR was successfully deployed to production by CircleCI build 142 at 2017-01-12 18:42 GMT.


{{{ Fresh installation error (Windows) }}}

[X] I have searched the FAQ and the documentation for solutions.
[X] I have searched the issue tracker for similar issues (the closed issues too).
[X] I have searched the Discourse for any errors and solutions.
[X] I can reproduce my issue on the latest commit of Doom Emacs.
[X] I have read How to Debug Issues and found no solution.

What did you expect to happen?
After problems with doom upgrade, I proceeded to delete .emacs.d folder and reinstall doom emacs
What actually happened?
Installation unsuccessful, file missing
doom.error.log
Carlos@Despacho-casa MINGW64 ~/.emacs.d/bin (develop)
$ doom doctor

Installing straight...
x There was an unexpected error
Message: File is missing
Data: (file-missing . "Cannot open load file")
Backtrace:
(require straight "c:/Users/Carlos/.emacs.d/.local/straight/repos/straight
(let ((repo-dir (doom-path straight-base-dir "straight/repos/straight.el")
(doom--ensure-straight (:host github :repo "raxod502/straight.el" :branch
(let* ((--cl-rest-- (alist-get 'straight packages)) (recipe (car (cdr (pli
(let ((packages (doom-package-list nil 'core))) (let* ((--cl-rest-- (alist
(progn (if doom-debug-p (progn (let ((inhibit-message (active-minibuffer-w
(if (or force-p (null (and (boundp 'straight-recipe-repositories) straight
(doom-initialize-core-packages)
(eval-buffer #<buffer  load-236067> nil "c:/Users/Carlos/.emacs.d/core/c
(load-with-code-conversion "c:/Users/Carlos/.emacs.d/core/core-cli.el" "c:
! Extended backtrace logged to ~/.emacs.d/.local/doom.error.log
No catch for tag: exit, 255

Describe your attempts to resolve the issue
Tried the same procedure with:
Git bash
CMD
Powershell
Ubuntu TLS for windows
Steps to reproduce

Delete .emacs.d folder
git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
~/.emacs.d/bin/doom install

System Information
https://pastebin.com/9DtN0q5Y

I'm not positive this is the issue, but the official instructions say that you need to clone with the option --depth 1

This was fixed in b0741336d. Update Doom.
Also, I could not access your doom/info link.

This was fixed in b074133. Update Doom.
Also, I could not access your doom/info link.

as far as it can't be installed, there is possibility to generate a doom/info


Multiple race conditions

Looking at the code, I found a few problems with this Lib and threadsafty.
possible race conditions:
Class Query
private static List<Query> globalQueryList = new ArrayList<>();

    public Query(SqlJob job, String query, QueryOptions opts) {
        this.job = job;
        this.sql = query;
        this.isPrepared = opts.getParameters() != null;
        this.parameters = opts.getParameters();
        this.isCLCommand = opts.getIsClCommand();
        this.isTerseResults = opts.getIsTerseResults();

        Query.globalQueryList.add(this);
    }

Creating multiple Query-Objects at the same time -> race condition
Class SqlJob
private static int uniqueIdCounter;

public static String getNewUniqueId() {
        return SqlJob.getNewUniqueId("id");
    }

Calling the method getNewUniqueId which will be called on every interaction with the server -> race conditon
 private JobStatus status = JobStatus.NotStarted;

If multple threads work with the same SQLJob-Object at the same time, which the Pool-Class allows, changing the status leads to -> race condition.
Not sure, if its a good idea to be able to ask the Pool for a SqlJob-Object without ensuring exclusivity through marking or removing it from the pool.

@bashdi Thank you for sharing this issue. To address the problems with the Query and SqlJob classes, I have started this PR: https://github.com/Mapepire-IBMi/mapepire-java/pull/68

If multple threads work with the same SQLJob-Object at the same time, which the Pool-Class allows, changing the status leads to -> race condition.
Not sure, if its a good idea to be able to ask the Pool for a SqlJob-Object without ensuring exclusivity through marking or removing it from the pool.

As for this issue, when getJob is called on a Pool, it will get a job as fast as possible. This means it will either be a ready job or the job with the least requests on the queue. Thus, if multiple threads are using the same SqlJob from a Pool, each request should just be queued and thus I expect that the status changing should not have a race condition. Could you share an example snippet to reproduce the issue?

@bashdi The changes in https://github.com/Mapepire-IBMi/mapepire-java/pull/68 to address this issue with be released in v0.1.0. If you encounter any more issues related to this, please re-open this one or create a new issue.


API Features Not Currently Supported for Trimming

Support needs to be added to the trimming state tracker for the following:

[x] vkBindImageMemory2 and VkBindBufferMemory2 (partially supported)
[x] vkBindImageMemorySwapchainInfoKHR
[x] VK_EXT_inline_uniform_block
[x] VK_EXT_full_screen_exclusive
[ ] VK_AMD_display_native_hdr (vkSetLocalDimmingAMD)
[x] VK_NV_ray_tracing (probably very similar to ~KHR_ray_tracing~ KHR_ray_tracing_pipeline)

~VK_NVX_device_generated_commands~ defer to post-1.0 trimming support
~VK_KHR_timeline_semaphore~ #505

[x] VK_KHR_create_renderpass2 - tracked as if ithe associated structs are the ones for 1.0 renderpass, so some things are not tracked correctly (see #551 )

PR #335 added support for tracking resource/memory bindings performed with vkBindImageMemory2 and VkBindBufferMemory2 , but does not track extensions structures provided to those calls.

Closed VK_NV_ray_tracing , since it has supported VK_KHR_ray_tracing_pipeline. Even NVidia recommend using VK_KHR_ray_tracing_pipeline, so I think we could skip VK_NV_ray_tracing .
https://github.com/nvpro-samples/vk_raytracing_tutorial_nv


PyTest extensions to mark failing tests

Some tests fail on different platforms with different versions of MPI (MPICH, OpenMPI, etc.).  We should provide a way of labeling these tests so they can be skipped.  PyTest provides a @pytest.mark.skipif(...) decorator to tell PyTest to skip tests based on a given condition, and I think we want to figure out how to test for different versions and flavors of MPI.
For example, maybe something like this could be done:
import sys
from mpi4py import MPI

@pytest.mark.skipif(MPI.get_vendor()[0] == 'Open MPI' and
                    MPI.get_vendor()[1] < (4, 0, 1) and
                    sys.platform == 'darwin', reason="Doesn't work with OpenMPI 4.0.0 or lower on Macs")
def test_some_thing():
    ...

In this example would skip the test if the tests were being run on an Apple Mac (darwin) running with OpenMPI version 4.0.0 or lower.
...I think.

UPDATE:  With PR #15, there no longer appear to be any differences in testing behavior between MPICH and OpenMPI.  So, perhaps this feature is now a lower priority.


fix: ios 17

In AppDelegate.mm please update
[RNNotifications startMonitorNotifications];

to
[RNNotifications startMonitorNotificationsWithLaunchOptions:launchOptions];

Closing in favor of https://github.com/ExodusMovement/react-native-notifications/pull/7


Option to set duration and callback to scrollIntoView

Issue Summary

Add the ability to add the duration and callback to scrollIntoView. I'm currently using scrollTo and $(this).offset().top + scrollbar.offset.y

This method is just similar to the native scrollIntoView method, so I am not about add more arguments to it.
Meanwhile, it's not possible to set scrolling duration because current easing equation is movement(n) = movement(n-1) * (1-damping), or m(n) = m(0) * (1-d)^n. When m(n) -> 0, the iteration count n only depends on initial movement m(0) (aka scrolling distance) and damping factor d. As both of the two factors are fixed, it's not possible to control the iteration count (aka animation frames count).
If you want to control the scrolling duration, use scrollTo() method instead, of which the easing curve is a quadratic function.


CCUBE-1513-2

This branch adds parsing of defaultValues, along with the ability to save and view errors in the schema view. It also includes the test cases for parsing of placeholder attribute.
Changes

Add parsing logic of defaultValues
Add test case for defaultValues translation
Add error handling to schema parsing.
Fix test cases to handle defaultValues
Add parsing checks for dropdown items
Add test cases for placeholder parsing
Edit translator test cases
Add test cases for dropdown parser error handling

Additional information

You may refer to this ticket

need to resolve merge conflicts


Add doc for gpt-model

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add lakectl tests on windows

DRAFT - NOT FOR REVIEW!
Closes #(Insert issue number closed by this PR)
Change Description
Background
Share context and relevant information for the PR: offline discussions, considerations, design decisions etc.
Bug Fix
If this PR is a bug fix, please let us know about:

Problem - The reason for opening the bug
Root cause - Discovered root cause after investigation
Solution - How the bug was fixed

New Feature
If this PR introduces a new feature, describe it here.
Testing Details
How were the changes tested?
Breaking Change?
Does this change break any existing functionality? (API, CLI, Clients)
Additional info
Logs, outputs, screenshots of changes if applicable (CLI / GUI changes)
Contact Details
How can we get in touch with you if we need more info? (ex<EMAIL_ADDRESS>

bump

Re-open as needed


Change of function setState signature.

Thank you for the PR! Contributors like you keep React awesome!
Please see the Contribution Guide for guidelines:
https://github.com/reactjs/reactjs.org/blob/master/CONTRIBUTING.md
If your PR references an existing issue, please add the issue number below:
#

That syntax is correct, if a parameter is optional, the comma should be within the square brackets. Refer to setTimeout documentation for example syntax.


$interpolateProvider cause model crash

After I make custom brackets for Angular:
app.config([ '$interpolateProvider', function($interpolateProvider) {
    $interpolateProvider.startSymbol('{$');
    $interpolateProvider.endSymbol('$}');
}]);

Then angular-gantt doesnt show properly

It's a bug, but I'm not sure we should support this use case though.

It's maybe possible with a mass replacement in angular-gantt templates through templateCache service ...