The gem is spamming deprecation warnings in tests

ruby 2.4.0
rails 5.0.1
acts_as_follower master@c5ac7b9
rspec 3.5.0
When I run rspec I get a lot of these deprecation warnings (a lot is one per test):
DEPRECATION WARNING: Setting custom parent classes is deprecated and will be removed in future versions. (called from parent_class_name at /home/maurizio/.asdf/installs/ruby/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/acts_as_follower-c5ac7b9601c4/lib/acts_as_follower/follower_lib.rb:10)

@mdesantis I believe #89 should address this.

Hi everyone! Not sure if this issue is solved...
ruby 2.4.0
rails 5.0.1
acts_as_follower master@c5ac7b9
rspec 3.5.0
I get the following when runing rspec:
DEPRECATION WARNING: Setting custom parent classes is deprecated and will be removed in future versions. (called from parent_class_name at /usr/local/opt/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/acts_as_follower-c5ac7b9601c4/lib/acts_as_follower/follower_lib.rb:10)

DEPRECATION WARNING: Setting custom parent classes is deprecated and will be removed in future versions. (called from parent_class_name at /home/azeem/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/acts_as_follower-c5ac7b9601c4/lib/acts_as_follower/follower_lib.rb:10)
DEPRECATION WARNING: Setting custom parent classes is deprecated and will be removed in future versions. (called from parent_class_name at /home/azeem/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/acts_as_follower-c5ac7b9601c4/lib/acts_as_follower/follower_lib.rb:10)

@azeemh I believe #89 should address this.

@theterminalguy You are correct and I submitted #93 containing this fix. Unfortunately we are still waiting after almost 2 years for #93 to be merged.

Can someone fork this gem and merge your fix into their fork? Then we simply re-release the gem  under a new name?

it's still happening. i've updated from rails 5 to rails 7 but i still have to see this same error
DEPRECATION WARNING: Setting custom parent classes is deprecated and will be removed in future versions. (called from parent_class_name at /home/azeem/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/bundler/gems/acts_as_follower-c5ac7b9601c4/lib/acts_as_follower/follower_lib.rb:10)
DEPRECATION WARNING: Setting custom parent classes is deprecated and will be removed in future versions. (called from parent_class_name at /home/azeem/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/bundler/gems/acts_as_follower-c5ac7b9601c4/lib/acts_as_follower/follower_lib.rb:10)

hoping the fix gets merged soon. thanks


Fix Statistics page showing all users as inactive

Fixes #95

All users were active during last month:

Three users were active and two users weren't:

Very nice. Thanks a lot.
Could you check if there is no error on other stats?

@llaske just went through the code of other statistic graphs. Everything is working as expected 👍

@llaske #119

@llaske #119

thank you @ahmedkrmn for referencing the issue I have made new PR as we discussed


Warning when running rnn_commons.select_last_activations (TensorFlow 1.2.1)

I see the following warning:
/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gradients_impl.py:93: UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory.

If you look at the source code where the warning originates, you'll see it triggers when the implied dense tensor has more than 10M elements.  For performance reasons you may want to avoid triggering this conversion if possible.
This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


[Bug] Typo and style settings bug

I think the plugin doesn't really disable it's styling when disabled, that's why the other bug I reported happens (really guessing here sinec i'm not a programmer)
that leads to a new instance of style settings or the snippet that allows the style settings integration each time you enable the plugin.

also the "Braph" typo LOL

Thank you for the bug report!
I've fixed the issue where the plugin instance wasn't destroyed upon disabling (and typos!).
Please try version 1.0.2.
Regarding the style settings, I couldn't find a way to disable this plugin's style settings within the Style Settings plugin documentation.
It seems to be an issue with the Style Settings plugin itself.
Please try reloading the app to disable style settings.
https://github.com/mgmeyers/obsidian-style-settings#plugin-support


MRO vs. inherited attributes

The way how attributes are collected from super classes is different comparing to how attributes and methods are searched by getattr (based on MRO for new-style classes).
Example:
@attr.s
class A(object):

    x = attr.ib(10)

    def xx(self):
        return 10

@attr.s
class B(A):
    y = attr.ib(20)

@attr.s
class C(A):
    x = attr.ib(50)

    def xx(self):
        return 50

class D(B, C):
    pass

d = D()
print(d.x)  # prints 10
print(d.xx())  # prints 50

I think it would be great to the use the same approach for collecting attributes as used for searching methods and attributes.
The difference is caused by the fact that the function _transform_attrs in attrs/_make.py considers all attributes (own+inherited stored in __attrs_attrs__) and not only own attributes of super classes: https://github.com/python-attrs/attrs/blob/6a07b035b77ea8756408d65a36160f8670c66933/src/attr/_make.py#L367-L368

Hm that’s unfortunate and fixing it likely means breakage. :|

So this is interesting.
The underlying issue is that attrs always writes all methods optimized for the current class to avoid super() calls/traversal which means we have to simulate the __mro__ ourselves when building the lists of attributes. FTR, dataclasses handle it the same way.
As such,  I was able to make your test case work by ignoring inherited attributes iff D is also decorated with @attr.s because then attrs has the chance to intervene.

There's another problem too: users expect the attributes to be ordered (in __init__ parameter lists and reprs for example) in the order they are defined. E.g. if you have:
        @attr.s
        class C(object):
            c = attr.ib(default=100)
            x = attr.ib(default=1)
            b = attr.ib(default=23)

        @attr.s
        class D(C):
            a = attr.ib(default=42)
            x = attr.ib(default=2)
            d = attr.ib(default=3.14)

The attribute order is c, b, a, x, d (N.B. that x changed position due to overwrite).
If I ignore inherited attributes and walk the mro, the order becomes a, x, d, c, b.
I'm open to suggestions how to resolve this to make everyone happy but I banged my head against it for over an hour and didn't really come up with anything viable. :(
I guess traversing it twice would work? Once for getting the order of the names right and then again to resolve them to the correct classes? 🤔

If you don't mind, have a look at #635 whether it covers everything you'd expect.

I have merged it now, please let me know if something is not OK.

That merge doesn't seem to work with slots. See related issue: #667


What about docs?

[ ] Create a docs folder
[ ] Create a new index.md document
[ ] Turn on GitHub pages
[ ] Decide if we want to go with sometime more complex

document.write('hello world')


Merging to live

Docs Build status updates of commit a6d9312:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

ThirdPartyNotices
:white_check_mark:Succeeded

docs/actionable-messages/email-dev-dashboard.md
:white_check_mark:Succeeded

docs/actionable-messages/index.md
:white_check_mark:Succeeded

docs/actionable-messages/send-via-email.md
:white_check_mark:Succeeded

docs/add-ins/add-in-commands-for-outlook.md
:white_check_mark:Succeeded

docs/add-ins/add-in-requirements.md
:white_check_mark:Succeeded

docs/add-ins/add-mobile-support.md
:white_check_mark:Succeeded

docs/add-ins/addin-tutorial.md
:white_check_mark:Succeeded

docs/add-ins/authentication.md
:white_check_mark:Succeeded

docs/add-ins/compare-outlook-add-in-support-in-outlook-for-mac.md
:white_check_mark:Succeeded

docs/add-ins/contextual-outlook-add-ins.md
:white_check_mark:Succeeded

docs/add-ins/extract-entity-strings-from-an-item.md
:white_check_mark:Succeeded

docs/add-ins/get-and-set-item-data-in-a-compose-form.md
:white_check_mark:Succeeded

docs/add-ins/get-and-set-recurrence.md
:white_check_mark:Succeeded

docs/add-ins/get-attachments-of-an-outlook-item.md
:white_check_mark:Succeeded

docs/add-ins/get-or-set-the-location-of-an-appointment.md
:white_check_mark:Succeeded

docs/add-ins/get-or-set-the-subject.md
:white_check_mark:Succeeded

docs/add-ins/get-or-set-the-time-of-an-appointment.md
:white_check_mark:Succeeded

docs/add-ins/get-set-or-add-recipients.md
:white_check_mark:Succeeded

docs/add-ins/insert-data-in-the-body.md
:white_check_mark:Succeeded

docs/add-ins/item-data.md
:white_check_mark:Succeeded

docs/add-ins/limits-for-activation-and-javascript-api-for-outlook-add-ins.md
:white_check_mark:Succeeded

docs/add-ins/match-strings-in-an-item-as-well-known-entities.md
:white_check_mark:Succeeded

docs/add-ins/metadata-for-an-outlook-add-in.md
:white_check_mark:Succeeded

docs/add-ins/outlook-mobile-addins.md
:white_check_mark:Succeeded

docs/add-ins/outlook-on-send-addins.md
:white_check_mark:Succeeded

docs/add-ins/testing-and-tips.md
:white_check_mark:Succeeded

docs/add-ins/understanding-outlook-add-in-permissions.md
:white_check_mark:Succeeded

docs/add-ins/use-regular-expressions-to-show-an-outlook-add-in.md
:white_check_mark:Succeeded

docs/index.md
:white_check_mark:Succeeded

docs/rest/java-tutorial.md
:white_check_mark:Succeeded

docs/rest/javascript-tutorial.md
:white_check_mark:Succeeded

docs/rest/php-tutorial.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[stable/kured] Add pod annotations

What this PR does / why we need it: Adds support for podAnnotations. Eg., kured exposes Prometheus metrics at :8080/metrics. This would be useful to scrape to surface metrics like an impending reboot on a node.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @ unguiculus

/ok-to-test

/lgtm


Preserve search text

Is there a way to preserve the search text if you click off the select and return?

You can listen to the blur event and keep it in localStorage and load it again after (I guess).


EnderIO items dont show up in tab

Issue Description:
Note: If this bug occurs in a modpack, please report this to the modpack author. Otherwise, delete this line and add your description here. If you are using an unreleased version of Ender IO (e.g. for 1.8.9), please don't open an issue for features that have not been announced as "finished" or "working".
What happens:
when i downloaden  the jar file from EnderIO and i go in game there are no items in the tab's
i even use all the versions of 1.10.2 and nothing works. even the released versions.
What you expected to happen:
i expect that there are items to build with in all tabs
Steps to reproduce:

dont know
dont know
dont know
...

Affected Versions (Do not use "latest"):

EnderIO: EnderIO-1.10.2-3.1.183
EnderCore: EnderCore-1.10.2-<IP_ADDRESS>-beta
Minecraft: 1.10.2
Forge: 1.10.2-forge1.10.2-<IP_ADDRESS>6

Your most recent log file where the issue was present:
[pastebin/gist/etc link here]

did i forgot the tag? thanks


 add matchedRoute as v-slot param

What problem does this feature solve?
In case we have nested routers it's needed to get matched route object for every view. While children route is active, there is no official way to know what exactly matched as parent route, only it's component:
<router-view v-slot="{ Component, route, matchedRoute }">
  {{ matchedRoute.name }}
  <component :is="Component" />
  <router-view/>
</router-view>

What does the proposed API look like?
matchedRoute param passed with v-slot in <router-view>

A workaround for those who need it "right now":
<script setup lang="ts">
import type { VNode } from 'vue'
import { useRouter } from 'vue-router'

const normalizedRoutes = getRoutes()
const getMatchedRoute = (component: VNode) =>
  component &&
  normalizedRoutes.find(({ components }) => {
    // @ts-ignore
    return components.default.render === component.type.render
  })
</script>
<template>
<router-view v-slot="{ Component }">
  <h3>{{ getMatchedRoute(Component)?.meta.title }}</h3>
  <component :is="Component" />
  <router-view />
</router-view>
</template>

The information that you can get is the matched route record but there isn't a matched route per nested route, there is always one single matched route and this is intentional.
To access the matched route record anywhere you need to index the route.matched array with the depth of the current view. Usually, you know this information within the component but since it's not always the case, you can inject the depth of the current view with viewDepthKey (https://github.com/vuejs/router/blob/main/src/index.ts#L29) with something like:
import { viewDepthKey } from 'vue-router'

// within the setup of a component
const depth = inject(viewDepthKey)!
const route = useRoute()

// this could be a computed
route.matched[depth]

Accessing the route records is quite advanced functionality so I would be against exposing them easily to avoid confusion among users. As shown, it's still available for advanced use cases though. Do you have any use case that cannot be achieved with the example above?
There is also https://github.com/vuejs/router/issues/1217#issuecomment-979827950.

Ok, index the roure.matched looks more accurate way to get it, thank you. But this could be done within route component only, not inside <router-view> like it used in template provided.
So, why not pass viewDepth with v-slot? Doesn't it make sense, as this could be used for accessing meta once and not duplicate that injects for every route component?

The depth is a low-level API, it would be confusing to expose it. Is there anything worth accessing this way besides meta? I think this should go through an RFC (you can open it) to see other peoples use cases.

It's okay if you don't want to do an RFC. To me, it's important to add APIs that are not possible otherwise, solve common problems, and cater to a good amount of use cases (not just one). The RFC allows finding that balance. It also allows checking for possible edge cases as I mentioned above.
Closing this in favor of #1408

Thank you for your time.
For now this workaround  doesn't works as depth must be reduced by 1 while accessing route.matched[depth-1]. But simpler solution seems to be inject(matchedRouteKey) which returns exactly what I need:
import { inject } from 'vue'
import { viewDepthKey } from 'vue-router'

const matchedRoute = inject(matchedRouteKey)


ci(webhooks): dockerized webhooks with tokens

Description
This is a direct PR for #50 and provides a dockerized webhook service, along with simple token-based authentication.
A custom-made docker service has been added to the docker-compose file, called webhook and that contains the functionality for the webhook package. This is a Docker-in-Docker service therefore the host-side docker socket is mounted to this container so it can act upon running containers.
Authentication
An authenticate.sh utility script is provided to handle authentication. By default, it will compare the values of the DEFAULT_AUTH_TOKEN (set through docker-compose.yml) and HOOK_token (set through hooks.yml) env vars, if the values match, it returns 0, otherwise a non-zero number. This can be used by webhook scripts to achieve authentication, like so
if .authenticate.sh; then   # the "token" query param must be the same as $DEFAULT_AUTH_TOKEN
        echo "You are in!"
else
        echo "Auth failed"
fi;

The authentication token can be overriden for webhooks so it uses a custom token and not the DEFAULT_AUTH_TOKEN. This can be done by providing the expected token as a parameter to the authenticate.sh utility script.
# to override: .authenticate.sh <token> <expected_token>
if .authenticate.sh $HOOK_token uniqueT0ken; then   # the "token" query param must be the same as uniqueT0ken
        echo "You are in!"
else
        echo "Auth failed"
fi;

How To Test

Clone the repo
Run docker compose up (this will start the webhook service, and others)
Invoke the following command curl -X POST localhost:8000/hooks/deploy -H "Content-Type: application/json" -d '{"tag":"asdf", "service":"asfd", "image":"asdf", "token":"IAmASecretToken"}' (notice the token param is the same as the DEFAULT_AUTH_TOKEN env var in the docker-compose.yml)
Invoke the command curl -X POST localhost:8000/hooks/heartbeat -H "Content-Type: application/json" -d '{"token":"AnOverridenToken"}', notice how the token is different this time, this is because the heartbeat.sh script overrode the token like so

# .authenticate.sh <token> <expected_token>
if ./.authenticate.sh $HOOK_TOKEN AnOverridenToken; then
  main
fi

https://user-images.githubusercontent.com/15690606/215421278-97c69c58-a351-45ee-b0bf-df549cf5825f.mp4

Reviewing code at 3 am...

Seems to not be working..

Seems to not be working..

Wow, this was so annoying to figure out.. The line separators are using Windows format I am assuming? those ^M chars will make the .sh scripts unexecutable on Linux 😭

After the latest update, it seems to only run the DB container

I tested the PR locally on the macOS environment, and it's workings. 👍🏼

Refer to the updated How To Test instructions to test.

@416rehman My output after reproducing steps

I can't tell if what I got is what was supposed to happen, or not.

I like your suggestion of doing the safe-string-bash stuff in a follow-up.  Can you file an issue on that, so we can avoid doing it here?

Can't test this, instructions unclear :(

I like your suggestion of doing the safe-string-bash stuff in a follow-up. Can you file an issue on that, so we can avoid doing it here?

Created https://github.com/Seneca-CDOT/starchart/issues/74
All the request changes have been addressed as well.

Filed #76 as a follow-up to secure this webhook.

After a talk, adding some documentation notes for myself in the future:
@sirinoks
This microservice will run in our deployment environment (where exactly?). It will listen for a call from GitHub actions for when we release a new version of our software (question - does it only apply to our web service, or is it applicable to all services we will be running?). Once it gets that call, it will start the deployment scripts that will basically replace the version of our current [website] with the new one that we just released.
It is also wrapped in a docker container, which allows for fast and universal activation

What do the .env variables do?

I just spoke with ITS, and it sounds like they want to run this webhook directly on the master node vs. in Docker.  I can take this over and convert to use the scripts in the VM directly.

@416rehman do you want us to finish this for you, or are you going to do more?

Sorry, been busy with classes, I implemented the changes you requested. Let me know if there is anything else.

OK, thank you.  I totally understand that you've been busy with school.  Keep focusing on that instead of this!

Closing in favour of #400, where I'm going to finish this work. Thanks for getting this started and prototyping a solution!


Sort feature issue

by default when user open the app, images are in the order by their name. The Default option should be 'last updated' and sort feature should only work for folder fragment and photos fragment not for scrolling fragment

I up for the issue under JWOC

my last pr has already fixed this. Do I need to do it again?


Shaving behavior

I am wondering if shaving is something that makes sense as a feature of curry-this.
Shaving is a good thing, and of course there are times when we want to do that. However, to me it makes more sense to have this be a separate feature (probably in some other functional library), rather than baked into currying. Is there a precedent for shaving in other currying libraries? If I need shaving, I can write it quite easily as:
function shave(fn, n) {
  return function() { return fn.apply(this, [].slice.call(arguments, 0, n); };
}

I'd rather do this explicitly myself rather than have it be a side effect of passing placeholders to the curry function. In this approach, fn::curry(_, _) is equivalent to fn::curry(), with no shaving implications.

We could split it into it's own module shave-this. So one could do:
fn::shave(3)::curry();

What say @tomekwi @hemanth @davidchase ?

:-1: Too much of chaining with ::

have it be a side effect of passing placeholders to the curry function.

It’s not a side-effect. It’s 100% pure and well-documented. Have you read the discussion at #17?

@rtm @stoeffel What might make sense in my opinion is split the functionality into curry and applyPartially (the latter name would need thinking over).
This way we’d have an explicit:
f::curry()

and:
f::applyPartially(_, 1, 2, _)

::curry needs to know the length of the function. Otherwise we wouldn’t be able to make sure that:
plus(1, 2, 3);  //» 6
plus(1)(2, 3);  //» 6
plus(1, 2)(3);  //» 6
plus(1)(2)(3);  //» 6

As for shaving – since it’s not possible to
plus(1)(2, 3)(4);

– it shouldn’t be possible to do this (the last argument should have no influence on the result):
plus(1, 2, 3, 4);

That’s most logical and least astonishing to me. But feel free to disagree @rtm!

Created a new org as a home for function-bind-syntax-modules. If someone wants to contrib a shave or partial feel free to do so :smile_cat: We will publish the modules later under @thisable/curry, @thisable/shave, ...

“thisables” – the best name ever! 😃


How to update shard count for Kinesis Data Stream provisioned as part of LZA repo?

Describe the bug
How to update shard count for Kinesis Data Stream provisioned as part of LZA repo?
To Reproduce
We want increase the shard count for Kinesis data stream provisioned as part of LZA.
Under logging-stack.ts, ShardCount for Kinesis Data stream created as part of central logging stack is hard coded.
// // Create Kinesis Data Stream
// Kinesis Stream - data stream which will get data from CloudWatch logs
const logsKinesisStreamCfn = new cdk.aws_kinesis.CfnStream(this, 'LogsKinesisStreamCfn', {
retentionPeriodHours: 24,
shardCount: 1,
streamEncryption: {
encryptionType: 'KMS',
keyId: logsReplicationKmsKey.keyArn,
},
});
const logsKinesisStream = cdk.aws_kinesis.Stream.fromStreamArn(
this,
'LogsKinesisStream',
logsKinesisStreamCfn.attrArn,
);
What is the best approach to update the value of shardcount via IAC when using LZA repo?
Is it possible to update via config?

Hello, and thank you for reaching out to the Landing Zone Accelerator team!
Updating the shard count of the central logging Kinesis stream is not an available configuration option at this time. May I ask your use case for wanting to update the count? Are you encountering an error with centralized logging?
Thank you!

Hi Jimmy
Our use-case is that we want to use the Kinesis Data Stream created as part of the LZA setup for streaming logs to Splunk Cloud
As part of LZA the architecture for central logging is:
CloudWatch Log groups -> Kinesis Data Stream -> Kinesis Data Firehose-1 -> S3 bucket Destination
As CloudWatch log groups have a limitation of 2 subscription filters per log group and because lot of components for aws to splunk design are same we want to reuse some of the infrastructure for our use case. So we want to use the same Kinesis Data Stream with increased number of shards rather than recreating everything from scratch.
CloudWatch Log groups -> Kinesis Data Stream -> Kinesis Data Firehose-2 -> HEC -> Splunk Cloud

If we will update it via console or cli, Will Shard count value for existing stream will be overridden whenever the LZA pipeline is run?
Can you please advise on the best approach possible till this possible via config?

Hello @syanpriyajot,
Setting the shard count outside of LZA is certainly an option, however since that does cause drift in your environment compared to the CloudFormation stack, the LZA team cannot guarantee that upgrades of the solution will not attempt to roll back the value. I can confirm that running any configuration updates in your current version will not overwrite the value, however.
I can confirm the LZA team is looking into updating the shard count of the solution-provisioned Kinesis stream to support additional scaling, but this may not necessarily be exposed as a configurable option.
Thank you, and please let us know if you have any follow-ups!

Hi Jimmy,
Thanks for your reply.
"I can confirm that running any configuration updates in your current version will not overwrite the value"

Can you please elaborate as to what exactly do you mean by the above statement?
Also are you able to share what options are being looked into?
By what date is a solution possible that doesn't override or cause a drift? As this is going to cause throughput issues with single Kin
What is the reason behind configurable option not being exposed?

Hello, thank you for getting back to us.

Can you please elaborate as to what exactly do you mean by the above statement?

If you run updates through your pipeline without upgrading the version of the solution, this will not cause any changes to the Kinesis shard count. We cannot guarantee the shard count will not be rolled back after upgrading the solution.
I cannot provide answers to your remaining questions as the team still has not fully evaluated possible options for your use case. We will update this issue with more details should we come to a decision and/or have an ETA to provide you. Thanks again!


Add full Expr support to StochasticSwap

Summary
This was mostly already there (and why I had missed problems when testing before), the missing piece was just for switch statements. This commit also adds some final tests of the pass.

Details and comments
Changelog from #10331.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

7 of 9 (77.78%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.02%) to 85.929%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/transpiler/passes/routing/stochastic_swap.py
7
9
77.78%

Files with Coverage Reduction
New Missed Lines
%

crates/qasm2/src/lex.rs
2
91.65%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
73052

Relevant Lines:
85014

💛  - Coveralls

Yeah, I turned it up while writing full integration tests. I need to write a similar PR for testing Sabre (a minor bug in all switch handling), and then that's everything working. I'll try and do it late this evening.


Add missing API GET /auth.test to Slack

For more detail, see https://api.slack.com/methods/auth.test

👍 Looks good, you can merge.

@IvanGoncharov Thank you for review. I merge it.


hotreload removed all hooks when pull changes from rep

My deployment-hooks.json in github repo.
Webhook runned as webhook -nopanic -port 55500 -hooks ./deployment-hooks.json  -hotreload
When I run git pull webhook removed all hooks but didn't add new hooks from JSON file

I'm assuming that manually restarting webhook loaded the new hooks, right?

I'm assuming that manually restarting webhook loaded the new hooks, right?

I'm assuming that manually restarting webhook loaded the new hooks, right?

yes. manually restarting loaded all new and old hooks

I'm assuming that manually restarting webhook loaded the new hooks, right?

yes. manually restarting loaded all new and old hooks

What version of webhook?  What OS?

What version of webhook?  What OS?

webhook version 2.6.9
~$ cat /etc/os-release
 PRETTY_NAME="Debian GNU/Linux 10 (buster)" NAME="Debian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
~$ lsb_release -a
 No LSB modules are available. Distributor ID:	Debian Description:	Debian GNU/Linux 10 (buster) Release:	10 Codename:	buster
~$ hostnamectl
 Static hostname: ---          Icon name: computer-vm            Chassis: vm     Virtualization: vmware   Operating System: Debian GNU/Linux 10 (buster)             Kernel: Linux 4.19.0-12-amd64       Architecture: x86-64

webhook version 2.6.9
~$ cat /etc/os-release
 PRETTY_NAME="Debian GNU/Linux 10 (buster)" NAME="Debian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
~$ lsb_release -a
 No LSB modules are available. Distributor ID:	Debian Description:	Debian GNU/Linux 10 (buster) Release:	10 Codename:	buster
~$ hostnamectl
 Static hostname: ---          Icon name: computer-vm            Chassis: vm     Virtualization: vmware   Operating System: Debian GNU/Linux 10 (buster)             Kernel: Linux 4.19.0-12-amd64       Architecture: x86-64

Ugh, guess the git did unlink and then created new file :/

Ugh, guess the git did unlink and then created new file :/

Yeah, this could be tricky to resolve.  I haven't tried to reproduce this yet, but can you share the verbose logging from webhook when this happens?
For a work-around (and possibly a safer, long-term solution), I would disable hotreload, update to at least v2.7.0, and send a HUP signal to the process after doing a git pull (kill -HUP $PID or perhaps systemctl reload webhook if using systemd).  That will cause webhook to reload its config (starting in v2.7.0).

Yeah, this could be tricky to resolve.  I haven't tried to reproduce this yet, but can you share the verbose logging from webhook when this happens?
For a work-around (and possibly a safer, long-term solution), I would disable hotreload, update to at least v2.7.0, and send a HUP signal to the process after doing a git pull (kill -HUP $PID or perhaps systemctl reload webhook if using systemd).  That will cause webhook to reload its config (starting in v2.7.0).

[webhook] 2021/01/18 11:28:50 version 2.6.9 starting
[webhook] 2021/01/18 11:28:50 setting up os signal watcher
[webhook] 2021/01/18 11:28:50 attempting to load hooks from /home/www/deployment/hooks.json
[webhook] 2021/01/18 11:28:50 os signal watcher ready
[webhook] 2021/01/18 11:28:50 found 4 hook(s) in file
[webhook] 2021/01/18 11:28:50 	loaded: platform
[webhook] 2021/01/18 11:28:50 	loaded: admin_app
[webhook] 2021/01/18 11:28:50 	loaded: base_app
[webhook] 2021/01/18 11:28:50 	loaded: users_api_server
[webhook] 2021/01/18 11:28:50 setting up file watcher for /home/www/deployment/hooks.json
[webhook] 2021/01/18 11:28:50 serving hooks on http://<IP_ADDRESS>:55500/hooks/{id}
[webhook] 2021/01/18 11:29:46 hooks file /home/www/deployment/hooks.json removed, no longer watching this file for changes, removing hooks that were loaded from it
[webhook] 2021/01/18 11:29:46 	removing: platform
[webhook] 2021/01/18 11:29:46 	removing: admin_app
[webhook] 2021/01/18 11:29:46 	removing: base_app
[webhook] 2021/01/18 11:29:46 	removing: users_api_server
[webhook] 2021/01/18 11:29:46 removed 4 hook(s) that were loaded from file /home/www/deployment/hooks.json

[webhook] 2021/01/18 11:28:50 version 2.6.9 starting
[webhook] 2021/01/18 11:28:50 setting up os signal watcher
[webhook] 2021/01/18 11:28:50 attempting to load hooks from /home/www/deployment/hooks.json
[webhook] 2021/01/18 11:28:50 os signal watcher ready
[webhook] 2021/01/18 11:28:50 found 4 hook(s) in file
[webhook] 2021/01/18 11:28:50 	loaded: platform
[webhook] 2021/01/18 11:28:50 	loaded: admin_app
[webhook] 2021/01/18 11:28:50 	loaded: base_app
[webhook] 2021/01/18 11:28:50 	loaded: users_api_server
[webhook] 2021/01/18 11:28:50 setting up file watcher for /home/www/deployment/hooks.json
[webhook] 2021/01/18 11:28:50 serving hooks on http://<IP_ADDRESS>:55500/hooks/{id}
[webhook] 2021/01/18 11:29:46 hooks file /home/www/deployment/hooks.json removed, no longer watching this file for changes, removing hooks that were loaded from it
[webhook] 2021/01/18 11:29:46 	removing: platform
[webhook] 2021/01/18 11:29:46 	removing: admin_app
[webhook] 2021/01/18 11:29:46 	removing: base_app
[webhook] 2021/01/18 11:29:46 	removing: users_api_server
[webhook] 2021/01/18 11:29:46 removed 4 hook(s) that were loaded from file /home/www/deployment/hooks.json

I'm leaning towards labeling this as wontfix.  Trying work around this by checking if a previously deleted config file was recreated feels like a hack.  I would recommend following the work-around advice in my previous comment instead of using hotreload.
@adnanh, what are your thoughts?

I'm leaning towards labeling this as wontfix.  Trying work around this by checking if a previously deleted config file was recreated feels like a hack.  I would recommend following the work-around advice in my previous comment instead of using hotreload.
@adnanh, what are your thoughts?

Yeah, I deliberately didn't implement that for this behavior, as it complicates the implementation, and introduces some edge cases. This behavior is also true for some text editors... Best option is to use the described workaround.

Yeah, I deliberately didn't implement that for this behavior, as it complicates the implementation, and introduces some edge cases. This behavior is also true for some text editors... Best option is to use the described workaround.


Defining Query with FromSql and Joins Builds Bad SQL

I've got a defining query with valid SQL that is pulling data from across three tables and then populating a query type with the results.
Here is the defining query:
modelBuilder.Query<UnitWithStatusQueryType>().ToQuery(
           () => Units.FromSql(@" SELECT  Locations.StreetAddress, BrewerTypes.Description,
                                                              Units.Acquired, Units.OutOfService,Units.Cost
                                  FROM Units
                                  INNER JOIN Locations ON Units.LocationId = Locations.LocationId
                                  INNER JOIN BrewerTypes ON Units.BrewerTypeId = BrewerTypes.BrewerTypeId"
                               )
                 .Select(u => new UnitWithStatusQueryType(u.Location.StreetAddress, u.Brewer.Description,
                                                                                u.Acquired, u.OutOfService, u.Cost))
          );

In both SQlite and SQL Server, the resulting query adds an extra projection that depends on columns not selected in the first projection:
SELECT [u.Location].[StreetAddress], [u.Brewer].[Description], [u].[Acquired], [u].[OutOfService], [u].[Cost]
FROM (
     SELECT  Locations.StreetAddress, BrewerTypes.Description, Units.Acquired, Units.OutOfService,Units.Cost
                                       FROM Units
                                       INNER JOIN Locations ON Units.LocationId = Locations.LocationId
                                       INNER JOIN BrewerTypes ON Units.BrewerTypeId = BrewerTypes.BrewerTypeId
) AS [u]
INNER JOIN [BrewerTypes] AS [u.Brewer] ON [u].[BrewerTypeId] = [u.Brewer].[BrewerTypeId]
LEFT JOIN [Locations] AS [u.Location] ON [u].[LocationId] = [u.Location].[LocationId]

Notice the INNERJOIN on the 2nd to last line.
It is trying to repeat the join on u.BrewerTypeId, but that column is not in u...which is the result of the inner projection. The inner projection returns the correct results.
Let me know if you need to see the entities and query type classes involved.
Further technical details
EF Core version: 2.1.1
Database Provider: Microsoft.EntityFrameworkCore.SqlServer and Sqlite
Operating system: Windows 10 latest
IDE: Visual Studio 2017 15.7.6

Update:
I rewrote the query without the joins but the SQL created by EF Core makes the same mistake:
SELECT [u.Location].[StreetAddress], [u.Brewer].[Description], [u].[Acquired], [u].[OutOfService], [u].[Cost]
FROM (
     SELECT Locations.StreetAddress, BrewerTypes.Description as BrewerTypeDescriptionXYZ, Units.Acquired, Units.OutOfService,Units.Cost
                                      FROM Units, Locations, BrewerTypes
                                      WHERE Units.LocationId = Locations.LocationId
                                       AND Units.BrewerTypeId = BrewerTypes.BrewerTypeId
) AS [u]
INNER JOIN [BrewerTypes] AS [u.Brewer] ON [u].[BrewerTypeId] = [u.Brewer].[BrewerTypeId]
LEFT JOIN [Locations] AS [u.Location] ON [u].[LocationId] = [u.Location].[LocationId]

Is it another case of DefiningQueries not like navigations ala  #11792?

The issue is this code in defining query definition,
Units.FromSql(@" SELECT  Locations.StreetAddress, BrewerTypes.Description,
                                                              Units.Acquired, Units.OutOfService,Units.Cost
                                  FROM Units
                                  INNER JOIN Locations ON Units.LocationId = Locations.LocationId
                                  INNER JOIN BrewerTypes ON Units.BrewerTypeId = BrewerTypes.BrewerTypeId"
                               )

You are using FromSql method on an entity type but your projection inside FromSql does not contain all the mapped properties of Unit EntityType hence you are hitting the error that it is referencing property not in projection.
There are 2 ways to use the query types

The custom SQL inside FromSql you are using, which is what you would create your view as and map it to the QueryType. This works correctly because your view is projecting same columns as what QueryType is expecting.
If you want to use defining query instead of view then you need to write the query in terms of other entity types (and not with custom SQL which projects something non-entity type). You can still use FromSql for entities involved but as always with FromSql they need to project out all the mapped properties for that particular entity type.

To write a defining query for above scenario,
modelBuilder.Query<UnitWithStatusQueryType>().ToQuery(
           () => Units.Select(u => new UnitWithStatusQueryType(
    u.Location.StreetAddress,
    u.Brewer.Description,
    u.Acquired,
    u.OutOfService,
    u.Cost)));

With above code EF will generate same SQL as what you have put inside FromSql method.

Thanks for the response and sorry for the delay, i was away.
I had already successfully done a regular LINQ query demonstrating the defining query and was moving on to demonstrate doing it using FromSQL.
So I do want to stay focused on why the FromSQL doesn't work.
My SQL query projects the 5 properties of UnitWithStatusQueryType. As per your comment, I added the last two scalars (locationId and BrewerId) to the SQL query and it works.
I want to ensure that I understand the need to project all of the properties of Unit in order to return data to map to the UnitWithStatusQueryType ... which is that like projection queries we do in LINQ, first it needs to project the actual queried type and then perfomr the projection over those results. Is that correct in this case?
Also notable, the source of my SQL was what the defining query with the LINQ query (mine was the same as yours) created.  It didn't need to do the cascading projections.

FromSql is orthogonal concept to the defining query. By using FromSql on a query root (EntityType or QueryType), you provide us the SQL to run to server and it is expected that the custom SQL will contain all the mapped properties projected out.
You can certainly use them inside the defining queries, but you are calling FromSql on Units. With that information and rules regarding FromSql, you are actually supposed to provide a custom SQL which projects Unit EntityType. Which is what is missing in your custom SQL causing exception because an expected column was missing. Further, while adding extra properties helped, it may or may not be right thing to do. Since other properties which are not mapped in Units will just be ignored. It would apply the filter based on the joins but EF Core would further joins through navigation expansion.
Your custom SQL is what you would write when your query root is UnitWithStatusQueryType in linq but you cannot use it for Units
Conceptually, take defining query as LINQ equivalent of view definition in database*.
When you define a view in database, you can use other tables/views to create it. Same way when you are using defining query, you can use other QueryTypes/EntityTypes. Those QT/ETs can use FromSql for their own definition. But if you want to provide custom SQL then you should use appropriate query root with it.
Also if you fancy try crazy things, then following also works. It is defining QueryType, in own terms using FromSql.
modelBuilder.Query<UnitWithStatusQueryType>().ToQuery(
    () => UnitWithStatusQueryTypes
            .FromSql(@" SELECT  Locations.StreetAddress, BrewerTypes.Description, Units.Acquired, Units.OutOfService,Units.Cost
                        FROM Units
                        INNER JOIN Locations ON Units.LocationId = Locations.LocationId
                        INNER JOIN BrewerTypes ON Units.BrewerTypeId = BrewerTypes.BrewerTypeId"
                    ));

thanks. Yeah I had a "v-8" moment in the car (palm slapping forehead) realizing I could have just started with the query type, not the units. (more like a "DUH" moment). But this is good because if I make this logical mistakes, others will also and now I can explain and warn.  Glad to see your follow up confirms that.

Also if you fancy try crazy things, then following also works. It is defining QueryType, in own terms using FromSql.

@smitpatel that may not be as crazy as you think... unfortunatelly it currently doesn't work: https://github.com/aspnet/EntityFrameworkCore/issues/3932#issuecomment-419770662


[Question] Is there a way to hide an item if there's multiple items in an ingredient tag? Example in desc.

Title ^
Hiding the other two options in the screenshot below:

So there's only one option, not multiple.
I guess removing the tag would solve it but is there any other way?
- Gbergz

You want to use the disable field when hiding stacks https://github.com/emilyploszaj/emi/wiki/Hiding-and-Adding-Index-Stacks

Thank you!


Which license?

Hi,
under which license is graphql-tag released?
Thanks,
Fabian

Thanks for bringing this up. I've just added a license file!


Custom Roguelike Dungeons

[x] Abyssalcraft

[x] Botania

[x] Futurepack

[ ] Embers + Roots

[ ] Immersive Engineering + Esteemed Innovation + Cyberware (Maybe Cyberware can go with FuturePack)

Lets make a Dwarfy One with Embers Content, roll the Roots and Botania ones together into the tree dungeons  belathus was  considering, the  last group could probably be broken out completely into separate dungeons.

I'm going to try overriding the rooms

Rooms override doesn't work

Block selection for Abyssalcraft and FuturePack (mostly) finished. I'm going to start customizing the loot.

Since we're moving to all dungeons having the same loot and the dungeons we're making are just aesthetically different, I'm going to check off the dungeons with completed designs.

Loot is finished, starting to add mobs

Embers and Roots aren't in the pack any more, so lets shift this to a new issue to add "tech dungeons" @Alan19


feat: ktor resources support (type-safe routing)

Temporary fix for #56

Can we ignore those failed checks? First two are just in an example server, the others "conflicting declarations" aren't actually conflicting 'cause one requires a typed parameter

Can this be part of the next release with the previous pr too? Did you have any specific plans for the release?

I usually dont have any specific plans and create new versions as soon and often as possible - i.e. as soon as anything changed or was added. I'll create a new release for this pr (probably) tomorrow. All other changes should already have been released and included in the latest version.

It seems like it's not behaving correctly, if I add a queryParameter to a resource route, it will add both the queryParameter (correctly) and an identical path parameter that shouldn't be there


docs: disable viewcode extension

Wasn't obvious to me that this does NOT build on top of that extension vs replacing it

Hey thanks for the PR! Can you please provide more detail about the conflict you experienced?
I'm a bit unclear on the line you added, since this extension is dependent on sphinx.ext.viewcode and will set it up even if you don't have it in your conf.py
https://github.com/TDKorn/sphinx-inlinecode/blob/759564ad0bbcfc51168173766e1427c26e7a5a05/sphinx_inlinecode/__init__.py#L25-L29
This is to support documentation entries that are added with :noindex:, since the ID will be missing from the entry but can still be parsed from the anchor added by viewcode. For example,
https://github.com/TDKorn/sphinx-inlinecode/blob/759564ad0bbcfc51168173766e1427c26e7a5a05/docs/source/index.rst#L41-L44
I can definitely replicate the logic in viewcode and remove it as a dependency if needed though


vagrant: Revert updating the Vagrant box and cilium-builder tag

Signed-off-by: Romain Lenglet<EMAIL_ADDRESS>

This change is

test-me-please

The build is timing out when reverting only the images but not the Envoy changes. This PR is not viable.


print parts in petg

print failed, waiting on enclosure and drybox to arrive before testing again. also need to try using prusaslicer

printed blot in petg on thursday of last week. will assemble and begin running machine for 100hrs this week


RE3 3.0.1 multi bug

Version
3.0.1
Seed
R730-QK2C-ZTTQH5NZ3Z100N8KCVP0ZZZZZZZZZZZZZZZ
Scenario
RE 3 (Jill)
Player Character
Ada (RE2R)
What happened?
save 01 :  Connected 101:0 to 501:0 crash
save 02 :  Ada (RE2R) use mine thrower crash
save 03 :
Connected 103:0 to 409:0 crash
Connected 103:1 to 11B:0 crash
re3 bug.zip

Maybe changes have gone in since, if problems still occur, a new issue can be opened.


Regarding resolutions

I have a little question that may not be the place to ask but I have no idea how else ask about it (new to GitHub still).
How does ALVR handles resolution on both sides PC and Quest?
I assume that if I set res to 100%, on PC I am rendering the games at the sale resolution of Quest and that's fine.
When I go through tests for latency I have used 50 and even 25% resolutions and I noticed not just less latency but also a performance increment on the games fps itself so I assume that the PC it's rendering also at a 50 or 25% resolution.
But I have also noticed that when I do this, it seems like the Quest internal resolution also changes? Because the little white room on the app on Quest (the waiting to connect room) also changes resolution and that makes me think that the Quest internal resolution it's changing too? Not the screen res itself but maybe the rendering one?
I am wondering this regarding the FFR sceneario.
Let's say that a portion of the image it's 1024px at 100% res then I set res at 50% so now that same portion it's 512px (I am just using numbers as examples, it doesn't matter if they doesn't match :P). If the resolution changes on the video and the Quest rendering it wouldn't matter because they both match. But in the case of using FFR, if I play at 50%, thanks to FFR this same portion would still be 1024px thanks to it but if the internal render on Quest still renders at 50% rather than 100% and stretch the image then we would be rendering that same 1024px portion at only 512 again.
I suposse this is all already though but this is more regarding my curiosity and wanting to learn continuously.
Also, how does exactly FFR works?
Where does the saving happens? On the recording video itself saving encoding time but being sent on the same resolution as if FFR were disabled or it does indeed record at a lower resolution making it not just faster to encode but also less necessary bitrate (like setting it at 75% but looking similar to 100% for example)?
In the case of the video being directly rendered at lower resolution, would we need to apply a different res to take advantage of FFR or this happens automatically? Like, for example, would we need to set it to 75% so we save performance while still looking like 100% or this is automatic and even if we set it at 100% the video will be still encoded at less resolution? Asking because if this is the case it would be cool when we enable FFR to see the equivalent of the final resolution video since there are some settings to adjust there it would be helpful to see how these would affect the final video res (if they do at all).
Of course, if the video is not rendered at a diffrent resolution and it's just save on encoding itself then the last paragraph have no meaning :P
I couldn't try the last build yet so if something of this it's obvious from the new settings there (if any) I am sorry for the redundant questions. Regards♥!

When I go through tests for latency I have used 50 and even 25% resolutions and I noticed not just less latency but also a performance increment on the games fps itself so I assume that the PC it's rendering also at a 50 or 25% resolution.

You're right, almost. In reality we can only tell SteamVR what resolution we want but ultimately it's each game that decide the rendering resolution. Then we just rescale the image to the resolution we want before transmitting to the client.

But I have also noticed that when I do this, it seems like the Quest internal resolution also changes? Because the little white room on the app on Quest (the waiting to connect room) also changes resolution and that makes me think that the Quest internal resolution it's changing too? Not the screen res itself but maybe the rendering one?

The "connect room" changing resolution is just an unwanted behaviour, but there is no reason to fix it for now.

I am wondering this regarding the FFR sceneario.
Let's say that a portion of the image it's 1024px at 100% res then I set res at 50% so now that same portion it's 512px (I am just using numbers as examples, it doesn't matter if they doesn't match :P). If the resolution changes on the video and the Quest rendering it wouldn't matter because they both match. But in the case of using FFR, if I play at 50%, thanks to FFR this same portion would still be 1024px thanks to it but if the internal render on Quest still renders at 50% rather than 100% and stretch the image then we would be rendering that same 1024px portion at only 512 again.

I implemented FFR so that I begin from an image of the resolution specified on the user interface (let's say 1024px wide), then FFR distorts the image and is scaled down (to lets say 800px) so that the center of the image remains at the same scale but the periphery is squished. Then the image is encoded, transmitted, decoded. Then the image is undistorted from 800px back to 1024px and then displayed. So if you set resolution 75%, on the headset you see the center of the image like 75% res and the rest at lower res.

Where does the saving happens?

FFR on ALVR is useful only to reduce encoding/decoding and transmission latency. It can not be used to save resources when rendering on the PC because it is done by the games, it's up to the games to implement FFR to reduce load on the PC.

In the case of the video being directly rendered at lower resolution, would we need to apply a different res to take advantage of FFR or this happens automatically?

Yes. 100% res becomes ~80% when encoding, transmitting and decoding and back to 100% when rendering on client.

Oh thanks a lot for the explanation it was very interesting.
Something more tho.
It seems that every headset have different distortion, right? So projecting an image directly from Vive it wouldn't quite match because their lens, screens, fov aren't exactly the same. I assume this is similar to when using phones as vr headsets and having to scan a qrcode for the app to apply the proper barrel distortion for each headset.
From this I assume that ALVR emulates a headset with the same kind of distortion that Quest uses so SteamVR renders them properly?
With this is mind and being the barrel distortion sort of similar to how your FFR applies a distortion, couldn't we just "fake" a kind of distortion that would benefit quality directly on SteamVR?
What I mean is, ALVR creates a fake headset profile with intense barrel similar to how FFR works but not applied to the video but to the game itself. I know we can't add FFR to games but we can (or may can) create a similar effect just as if a headset requires this kind of distortion. Then the headset would revert back the distortion to accommodate to Quest necessary distortion. What we would get with this is basically some sort of FFR on all games. It would help to increase performance on the PC games directly as well as final video quality. Like instead of getting a big image, distort, scale it down, transmit and revert it back, we could directly render at less res, keep quality and we save few steps. Quest would still need to undo the distortion and fit the video. When the GPU it's alleviated due rendering at less res and encoding at less res, it helps a lot on performance.
I am just assuming that we can apply whatever image distortion to SteamVR due the amount of mixed reality headsets that each may use a different one but I may be wrong and may be completely impossible. This also wouldn't be of much interest with people that have enough powerful hardware to play and stream without loss but with any mid range gpu, there is a clear pefromance hit when the GPU needs to stream while also keeping the game running smooth.
Thoughts on this? I hope I am not bothering you but this seems a so extremely interesting subject to me ☺.

Your idea is great, but the OpenVR API (used by SteamVR) does not allow the driver to instruct the games which distortion to use, they must always submit undistorted frames just like the ones you would watch on a flat monitor (obviously there must be one for each eye). That is because normally in a VR headset the images sent by the games, before being distorted to compensate the lens distortion, they are sort of rotated in 3D to compensate for head rotation using the latest sensor data (oculus calls this Asynchronous Time Warp, ATW), so a resampling is always needed. The same thing applies to the Oculus mobile API, it accepts only undistorted frames.
But as you said, rendering directly an image with a predetermined distortion could lower the rendering requirements, and then the compositor could just undistort the image before doing its usual business, and if it is done all in one rendering pass there would be no extra resampling artifacts (this on client side, on server side instead we control the compositor and so we could just skip any image processing).
Searching how the oculus runtime distorts the submitted frames without introducing artifacts, I found this: https://en.wikipedia.org/wiki/Lanczos_resampling that apparently is always been used in media players and image editors; I could use this to fix the current FFR implementation. Why aren't they teaching me this at university??

So I am just suggesting things and you show me some complex math, you are really mean haha.
Jokes asides, I am not sure if my idea was possible or just kinda gave you an idea on how to improve FFR.
I have used Lanczos on editing and as filter on offline 3D apps and it gives very blurry results. I am not sure if this would help on fixing FFR artifacts because I tried and I see no artifacts at all. Yes, cranking the fov strength you can see the edges of lower res, thats the point after all but it doesn't quite look bad. It's that the artifacts that you are referring to? Blurring them out with Lanczos would get rid of the pixelated effect but not sure if being blurry would make it exactly better or would even take away some more details.
BTW, tested different configs on the FFR and it's really an awesome addition. It not just decrease delay, it also reduces greatly the performance that the GPU requires to encode leaving more room for the games itself. Went to a kinda slow world on VRChat and from 45fps at 75% res without FFR, it went to 73fps (probably more but it's the limit) at 100% res with FFR at 4. Yeah, at 4 it's quite agressive but not that much to be honest, not that perceptible in comparison with the performance gains. I went from 10fps on crowded areas with mirrors to 30fps thanks to FFR. Pretty well worth it, it makes the game perfectly playable.
I have to add that my GPU is not the newest one so others may take even more advantage at smaller costs. I run a 780Ti that, while it's quite powerful still, it isn't quite made for high resolutions. Funnily enough, it performs a bit better than a 1060 3GB playing VRChat natively on CV1 which have even less res than Quest and doesn't needs to waste performance on the streaming (both computers same hardware except GPU). So thanks a lot guys for making all this possible :D

Jokes asides, I am not sure if my idea was possible or just kinda gave you an idea on how to improve FFR.

Sadly no, what I described is not possible (AFAIK) on any vr platform.
With fixing FFR I meant reducing the slight blur it causes on the center of the screen. It's a minor thing.
I'm happy that I helped someone with my addition!

Ah yeah I noticed some blur on the center of the screen but I wasn't completely sure if it was just my perception after more than 50 tests changing stuff all around.
If that can be improved then it would be killer. Thanks you so much!

With fixing FFR I meant reducing the slight blur it causes on the center of the screen. It's a minor thing.

I noticed that, looking at that shader example, the center of the image gets "bigger" while the area around get's smaller so you can save on video resolution and later on revert that distortion back on the client side.
All that it's fine but isn't that the cause of the blurriness? I mean, you are resizing bigger the center of the image and later on resizing smaller. Some quality loss will always happen. Would it be possible to, for example, keep the center area of the image at 100% and from there reduce only the sides? Just like the FFR do already but without the part of increasing the center. In this way the center should be kept untouched, not resized neither filtered up and down and hence "should" keep it's quality. I understand that this may give a bit bigger video but the non resized area could be configured with the ratio option and how much it's reduced could be configured with the strenght just like before. Even if I set the video resolution to 150%, the blurriness it's still there due all the resizing and filtering so I guess the only option would be to just leave the center unaltered as I suggested. Just an idea because increasing resolution also increases the performance needed for the GPU as it's just like playing with super sampling.

My first FFR implementation (warp) was just an experiment, I hadn't thought that resampling was a problem.
Then I wrote a second implementation (slices) that addresses the blurriness problem. It's still not in any release (@JackD83 can you please make a new one?). A problem of this implementation is that you can see the edges where the image gets rendered at lower resolution.
Last month Oculus unveiled the Oculus Link which uses another FFR algorithm, that keeps the center of the image sharp (as my slices implementation) but the edges of the lower resolution region should be less visible. Maybe I'll implement this in ALVR when I have the time.

@zarik5 done: ev7


drivers: sensor: bmi270: untested calibration support

re #62514

Was an attempt to assess the effort.
It looks like the zehpyr code is not very in synch with the Bosch source-code.
Fetching more and more of the original code seems necessary.
Thus dropping this thus others with more xp with the zephyr sources can take this on.


Virtual keyboard options for BlackBerry

This problem was tested in -DLegacy only.
Device: Z10
OS version: <IP_ADDRESS>62
Summary:
When requesting the virtual keyboard in a BlackBerry device it will always show the last type of keyboard used. This can cause problems in a Lime or OpenFL application if the keyboard requested does not contain characters needed for the application (e.g.: an insert name text field in which the user is presented with a numbers-only keyboard).
How to reproduce:
Configure your phone to ask for a PIN number when trying to access it. After entering the number, start your Lime / OpenFL application and proceed to request the virtual keyboard. The numbers-only keyboard will be shown instead of the generic one.
Solution:
In order to reset the virtual keyboard the method virtualkeyboard_change_options method must be called before the virtualkeyboard_show method. See
That said, the ideal solution would be to expose the virtualkeyboard_change_options to the user, so he/she can set it according to the pretended use.
I am using a workaround for my project which consists on hardcoding the default values before showing the keyboard. I added this at line 655 in legacy/project/src/sdl/SDLStage.cpp:
virtualkeyboard_change_options(VIRTUALKEYBOARD_LAYOUT_DEFAULT, VIRTUALKEYBOARD_ENTER_DEFAULT);

This can be made into a pull request very easily, but i created an issue first to check if there's anybody else willing to try and reproduce the bug in other devices and OS versions. Also if somebody has a better fix (wrapping the virtualkeyboard_change_options in Haxe and exposing it to the user).

As of Lime 2.4.4 this is not happening anymore for me. Not sure if something was changed in the code or was something wrong with my device. Closing it for now.


Scheduler Page requirement, start date updated automatically after edit

Scheduler Page requirement, start date updated automatically after edit

Not required any more, because now scheduler allows to create/edit scheduler with past date. @ajayrajecb


Link to coverage is broken

https://github.com/riscv-non-isa/riscv-arch-test/blob/master/riscv-test-suite/README.md

Yes.. thanks for the catch.. considering the re-organization of the repos and import of repos to risc-v.. a few other links are broken as well. Will patch thsi in the next PR


pipx install --force not overwriting correctly

Describe the bug

Given a previously installed release version of a package. If you try to install the latest version from github. The changes to the code are not reflected.
How to reproduce

Install release version of dotdrop. pipx install dotdrop
Install latest version of dotdrop: pipx install git+https://github.com/deadc0de6/dotdrop.git --force --verbose

pipx > (setup:567): pipx version is <IP_ADDRESS>
pipx > (setup:568): Default python interpreter is '/usr/bin/python3'
pipx > (_parsed_package_to_package_or_url:127): cleaned package spec: git+https://github.com/deadc0de6/dotdrop.git
creating virtual environment...
pipx > (run_subprocess:113): running /usr/bin/python3 -m venv --without-pip /tmp/tmpgbz54nkp
pipx > (run_subprocess:113): running /tmp/tmpgbz54nkp/bin/python -c import sysconfig; print(sysconfig.get_path('purelib'))
pipx > (run_subprocess:113): running /home/void/.local/pipx/shared/bin/python -c import sysconfig; print(sysconfig.get_path('purelib'))
pipx > (run_subprocess:113): running /tmp/tmpgbz54nkp/bin/python --version
determining package name from 'git+https://github.com/deadc0de6/dotdrop.git'...
pipx > (run_subprocess:113): running /tmp/tmpgbz54nkp/bin/python -m pip list --format=json
pipx > (run_subprocess:113): running /tmp/tmpgbz54nkp/bin/python -m pip install --no-dependencies git+https://github.com/deadc0de6/dotdrop.git
Collecting git+https://github.com/deadc0de6/dotdrop.git
  Cloning https://github.com/deadc0de6/dotdrop.git to /tmp/pip-req-build-wm0gdz8f
Building wheels for collected packages: dotdrop
  Building wheel for dotdrop (setup.py) ... done
  Created wheel for dotdrop: filename=dotdrop-1.4.1-py3-none-any.whl size=67535 sha256=e861fa97b66e5a5063b7b2c019e7f3e2158834c8c06c4f17cfadd9ed1bc96106
  Stored in directory: /tmp/pip-ephem-wheel-cache-wmopwjqi/wheels/22/ce/6b/6b4169ca050b42a312ae49845c795e2c65a9f4169e3872da52
Successfully built dotdrop
Installing collected packages: dotdrop
Successfully installed dotdrop-1.4.1
pipx > (run_subprocess:113): running /tmp/tmpgbz54nkp/bin/python -m pip list --format=json
pipx > (install_package_no_deps:246): Determined package name: dotdrop
pipx > (package_name_from_spec:261): Package name determined in 2.5s
Installing to existing directory '/home/void/.local/pipx/venvs/dotdrop'
pipx > (needs_upgrade:54): Time since last upgrade of shared libs, in seconds: 71544.08119940758. Upgrade will be run by pipx if greater than 2592000.0.
creating virtual environment...
pipx > (run_subprocess:113): running /usr/bin/python3 -m venv --without-pip /home/void/.local/pipx/venvs/dotdrop
pipx > (run_subprocess:113): running /home/void/.local/pipx/venvs/dotdrop/bin/python -c import sysconfig; print(sysconfig.get_path('purelib'))
pipx > (run_subprocess:113): running /home/void/.local/pipx/venvs/dotdrop/bin/python --version
pipx > (_parsed_package_to_package_or_url:127): cleaned package spec: git+https://github.com/deadc0de6/dotdrop.git
installing dotdrop from spec 'git+https://github.com/deadc0de6/dotdrop.git'...
pipx > (run_subprocess:113): running /home/void/.local/pipx/venvs/dotdrop/bin/python -m pip install git+https://github.com/deadc0de6/dotdrop.git
Collecting git+https://github.com/deadc0de6/dotdrop.git
  Cloning https://github.com/deadc0de6/dotdrop.git to /tmp/pip-req-build-l8gandc1
Requirement already satisfied: docopt in ./.local/pipx/venvs/dotdrop/lib/python3.9/site-packages (from dotdrop==1.4.1) (0.6.2)
Requirement already satisfied: Jinja2 in ./.local/pipx/venvs/dotdrop/lib/python3.9/site-packages (from dotdrop==1.4.1) (2.11.2)
Requirement already satisfied: ruamel.yaml in ./.local/pipx/venvs/dotdrop/lib/python3.9/site-packages (from dotdrop==1.4.1) (0.16.12)
Requirement already satisfied: python-magic in ./.local/pipx/venvs/dotdrop/lib/python3.9/site-packages (from dotdrop==1.4.1) (0.4.18)
Requirement already satisfied: MarkupSafe>=0.23 in ./.local/pipx/venvs/dotdrop/lib/python3.9/site-packages (from Jinja2->dotdrop==1.4.1) (1.1.1)
pipx > (run_subprocess:113): running /home/void/.local/pipx/venvs/dotdrop/bin/python -c <contents of venv_metadata_inspector.py> dotdrop /home/void/.local/pipx/venvs/dotdrop/bin
pipx > (_parsed_package_to_package_or_url:127): cleaned package spec: git+https://github.com/deadc0de6/dotdrop.git
pipx > (_symlink_package_apps:83): Force is true. Removing /home/void/.local/bin/dotdrop.
pipx > (needs_upgrade:54): Time since last upgrade of shared libs, in seconds: 71545.61652231216. Upgrade will be run by pipx if greater than 2592000.0.
  installed package dotdrop 1.4.1, Python 3.9.0
  These apps are now globally available
    - dotdrop
done! ✨ 🌟 ✨

Latest changes from the master branch are not reflected. (For this case you can verify that the changes introduced by this commit https://github.com/deadc0de6/dotdrop/commit/974e4462bba44dfdf55c8a2e3109362baeb9b106 (not included in release) are not reflected in the local code.

Expected behavior

The changes introduced by the latest commit should be reflected in the local code.

--force only affects whether pipx creates the virtual environment from scratch; to force pip into upgrading, you need to also pass the arguement to pip, i.e.
pipx install --force --pip-args='--force-reinstall' git+https://github.com/deadc0de6/dotdrop.git

Maybe pipx could do this automatically?

Yes it seems that pipx install --force seems to be re-thought.  Related is probably #447

It seems like --force was originally thought of as a limited backdoor for not creating the venv, but the UI makes it seem to users as though it is applicable more broadly.


feat: port GroupTheory.Subgroup.MulOpposite

porting notes:

the H.opposite notation isn't working, which I think is due to the fact that subgroup.opposite is an equiv and Lean doesn't find the CoeFun instance. I think I saw something on Zulip about this, but I can't find it. I'm not sure if there is a resolution; to get it working I just wrote opposite H instead of H.opposite
the simp call at the end was broken, I think because it didn't rewrite the scalar multiplication by the opposite element as multiplication on the right, so I just golfed it.

bors r+


Bugfix: Repository update_job_application never works

update_job_applications() is broken in multiple ways

The way the query was built, the result becomes UPDATE job_applications SET SET .... The duplicate "SET" needs to be removed.
MySQL does not support UPDATE ... RETURNING .... I assumed it did and never tested update_job_applications(). For now, I will just remove the "RETURNING" clause and make the function return an empty Result.
automated_response is always "No."

For the automated_response issue, newer records have a value of 1, even though it should be 'Y'. This change was probably created when I moved to using Into for everything instead of manually mapping parameters.

Nevermind the last point, This was probably an issue from the start. I will use UPDATE job_applications SET automated_response = 'Y' WHERE automated_response = 1; to manually fix, then make Into for automated_response actually work.


Remove the templates directory from the list of hubs

Fixes https://github.com/2i2c-org/infrastructure/issues/1972
Running make clean and then make html revealed the following error:

This probably originated when the templates directory was added.

This should be straightforward enough to merge without approval,so I'm going to go ahead and do it to fix the docs


unexpected result with 2 left joins

When I do 2 left joins, I get unexpected results.
given 3 collections
collection picups has _id, UserId and a BusinessId, only one will have a value
collection users has _id and name
collection business has _id and name
SELECT
    count(p.vehicleId)
from `/picup/picup/reports/picups` as p

returns 238 which is correct
SELECT
    count(p.vehicleId)
from `/picup/picup/reports/picups` as p
LEFT OUTER JOIN `/picup/picup/reports/users` as u on p.UserId = u.`_id`

returns 238 which is correct
SELECT
    count(p.vehicleId)
from `/picup/picup/reports/picups` as p
LEFT OUTER JOIN `/picup/picup/reports/businesses` as b on p.BusinessId = b.`_id`

returns 238 which is correct
SELECT
    count(p.vehicleId)
from `/picup/picup/reports/picups` as p
LEFT OUTER JOIN `/picup/picup/reports/users` as u on p.UserId = u.`_id`
LEFT OUTER JOIN `/picup/picup/reports/businesses` as b on p.BusinessId = b.`_id`

returns 220 which is not what I would expect
we are running quasar analytics v18.7.4

18.7.4 is quite old.  Have you tried with the latest?  Also, what connector is this?  If mongo, what version?

Am assuming Mongo - please correct if inaccurate.


First 8 jobs run by load-balancer appear to have bus errors

Hello, when running the load-balancer on HPC, the first 8 jobs invariably seem to not actually perform any model evaluations, and give "bus error"s. They also appear to run serially, and it can take a few minutes to get through them all before job9 onwards runs and actually evaluates the model. Example of load-balancer output when not actually evaluating models:
...
Load balancer running port4242
Listening on port 4242...
Waiting for job 2 to start.
Job 2 started.
2024-11-18T15:29:53Z INFO Job 2 canceled (1 tasks canceled, 0 tasks already finished)
Waiting for job 3 to start.
Job 3 started.
...

Job stdout is only:
Waiting for model server to respond at XX.XX.XX.XX:XXXXX...
Model server responded
======== Running on http://X.X.X.X:XXXXX ========
(Press CTRL+C to quit)

stderr is:
Bus error

After job 8 has run, job 9 onwards run fine with no bus errors and correct evaluations.
Any ideas if I'm doing something wrong? Thanks!

It's expected that we get some initial "dummy" jobs since the load balancer queries some information from the model.
I haven't come across the bus error though; could this be related to the model? e.g. is there any logic happening in your model server when requesting input/output dimensions that could possibly cause errors?

Ok, that's good to know about the initial dummy jobs. Indeed, there is some logic in my model's methods, so that could be the reason, if those arguments aren't what I expect them to be. I used models/testmodel-python/minimal-server.py as a template, but my get_input_sizes(self, config) method expects a config dictionary containing certain keys, which is what is provided by my client. If it's called by something else (i.e. not my client) or with an empty config, then that could be the problem.
I did this to have flexible input dimensions, but I'll try hard-coding them to see if it make the "bus error" disappear. Thanks again @linusseelinger.

This might be the cause... I'm not 100% sure if the load balancer really queries input dimensions, but at least it'll ask the model server for the available model names and supported features (evaluation/gradient/ etc.).
In any case, it's best if the server can be called with an empty config (going with default values in that case); makes it a bit more robust.


The length of the BulkProcess Id field should be checked

Which version of Elastic are you using?
[ ] elastic.v7 (for Elasticsearch 7.x)
[ ] elastic.v6 (for Elasticsearch 6.x)
[x] elastic.v5 (for Elasticsearch 5.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[ ] elastic.v2 (for Elasticsearch 1.x)

When I was using BulkProcessor to index data, I found that after setting the long _id field, the speed of the program would be greatly reduced. It would take a few seconds to process a piece of data. This is not normal.
Then I looked at the source of the elasticsearch and the code for the blukprocessor. I think in the code:
 https://github.com/olivere/elastic/blob/release-branch.v7/bulk_index_request.go
Line 90 This method should check if the length of the set id is less than or equal to 512.
Reference link:
https://github.com/elastic/elasticsearch/blob/2d29807b9cdd2bb3e78dbd2f8b1d33fa9d35081e/server/src/main/java/org/elasticsearch/action/index/IndexRequest.java
219 Line
        if (id != null && id.getBytes(StandardCharsets.UTF_8).length > 512) {             validationException = addValidationError("id is too long, must be no longer than 512 bytes but was: " +                             id.getBytes(StandardCharsets.UTF_8).length, validationException);         }

The error is server-side, so it will be raised if you do this and call the server. The client will simply pass the exception along and you should check it. We don’t check all the possible exceptions client-side because then it would be impossible for us to follow the speed of changes on the server-side. What if the people working on Elasticsearch would increase or decrease the length limit? We would have an incorrect behaviour in the client immediately.


Update calls to diffstar

Update calls to diffstar according to https://github.com/ArgonneCPAC/diffstar/pull/30

@evevkovacs this PR updates import statements to diffstar


Benchmark the last three major releases of vitess

This PR enables benchmarks for the last three major releases of Vitess. It was previously set to -1, then changed to -2 in https://github.com/vitessio/arewefastyet/pull/559.

This won't be done, - 2 already englobes the last known major release of vitess and the two previous, thus covering all supported releases of vitess (the last three)


Showing black screen when app reopen after minimised

Steps to reproduce

Open the application
Minimise app
Reopen after some time

Expected results
Im expecting app need to view the UI screen instead of black screen
Actual results
A black screen
Code sample
Code sample
import android.view.View
import io.flutter.embedding.android.FlutterActivity

class MainActivity: FlutterActivity() {
    override fun onStart() {
        super.onStart()
        window.decorView.visibility = View.VISIBLE
    }

    override fun onStop() {
        window.decorView.visibility = View.GONE
        super.onStop()
    }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel unknown, 3.10.0, on macOS 12.6.6 21G646 darwin-arm64, locale en-GB)
    ! Flutter version 3.10.0 on channel unknown at /Users/odoxsofthub/Developer/flutter/flutter
      Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at
      https://flutter.dev/docs/get-started/install.
    ! Unknown upstream repository.
      Reinstall Flutter by following instructions at https://flutter.dev/docs/get-started/install.
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.3)
[✓] VS Code (version 1.79.2)
[✓] Connected device (3 available)
[✓] Network resources

! Doctor found issues in 1 category.

Hello @mhdshuhaib1704.
Thanks for filing this.
I see you are on an older version of Flutter, please can you upgrade to the latest version 3.19.1 to verify this still reproduces on your end?
If it does, kindly provide a minimal complete reproducible code sample that doesn’t include 3rd party plugins or complex production code?
Thank you


fix The 'scan key' generated by the 'is null' expression causes incorrect query results

Proposed changes
Issue Number: close #17568
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 33.23 seconds
stream load tsv:          452 seconds loaded<PHONE_NUMBER>9 Bytes, about 157 MB/s
stream load json:         39 seconds loaded<PHONE_NUMBER> Bytes, about 57 MB/s
stream load orc:          74 seconds loaded<PHONE_NUMBER> Bytes, about 14 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230308112435_clickbench_pr_110773.html

run buildall

run buildall


Replaces custom DbCommand query in _getThumbnails ElementCriteriaModel

Was seeing some weird behaviour where Embedded Asset thumbnails wouldn't work due to the folderPath attribute for Assets returned by custom DbCommand query in the _getThumbnails() method being empty.
Replacing the custom query with an ElementCriteriaModel seems to fix the issue.
Might be related to https://github.com/benjamminf/craft-embedded-assets/issues/14

Thanks so much @mmikkel for the contribution! Pleased to see this finally done properly haha. I could never reproduce #14, but if it's fixing that behaviour then that's double awesome. I'll give this a test run tonight but it honestly looks fine to me.

That's awesome @benjamminf, thanks for getting back to me. I've been running the patch a few days now (the site – which is in development – makes heavy use of Embedded Assets) and it's chugging along fine. One thing to note is that for users experiencing issues a'la #14 its neccessary to delete the data cache after updating, in order to have EA recreate the cache using the Assets pulled with the new ECM. I guess you could add a migration for clearing the cache upon update, or just make a note in the changelog about it. Thanks again for the awesome plugin!


fix (src/process.rs): fix cargo clippy linter warnings

This PR fixes lint warnings generated by cargo-clippy:

warning: you should put code between ticks in the documentation
warning: use of or_insert followed by a function call
warning: it is more idiomatic to loop over containers instead of using explicit iteration methods

I have run cargo test and these changes do not break any of the tests :-)
reference:

https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#doc_markdown
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#or_fun_call
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#explicit_into_iter_loop
https://github.com/rust-lang-nursery/rust-clippy

Thank you for this!


Object Field Resources intro/insights

Update: https://sfdo-community-sprints.github.io/summit-events-app-documentation/docs/object-field-resources/
Review: N/A
Intent:

Setup what the person is seeing and the goals of the section.
Add context to the images and explain what they are seeing
Subpages also need worked on

@dwhitig @rdblake21 Is this already completed? It seems there are two images based on the link Ryan provided.

Closing this ticket as many of hte other features and documentation is solving for this


Unhandled exception when adding CustomAction without a CustomActions.json file

The Tabular Editor throws an unhandled exception when I try to add a CustomAction (by clicking "+ Save as Custom Action..." on the Advanced Scripting tab), if I do not have a CustomActions.json file located under ...\AppData\Local\TabularEditor.
The function is working as intended when the CustomActions.json file does exist.

Cannot reproduce as of 2.0.6219.


Fix playground focus issue

The issue was with InFirstTab component. @OAGr, you should never create React components inside other components, otherwise React will decide that the entire subtree has been replaced (since component identity has changed).

Merged this without a review, since the issue is relatively critical and the fix doesn't change anything important.


"Beachball" issues where the editor hangs

User is getting a beachball when clicking around in the instructions view - need their IDEA log file.

@brikelly The log file is available at `Help > Show log in Finder". After terminating/restarting the IDE, I'd need idea.log and idea.1.log to investigate this issue.

@brikelly Even better would be Help > Collect Log and Diagnostic Datat, but the result zip should not be shared in public.

Fixed by https://github.com/getappmap/appmap-intellij-plugin/pull/376


Missing Artifacts with 0.7.0 and 0.7.1

Hi,
when using the plugin version 0.7.0 or 0.7.1, the following error appears:
* What went wrong:
A problem occurred configuring root project 'kotlin-noob'.
> Could not resolve all files for configuration ':classpath'.
   > Could not find io.cloudflight.json:json-wrapper:0.3.5.
     Searched in the following locations:
       - https://plugins.gradle.org/m2/io/cloudflight/json/json-wrapper/0.3.5/json-wrapper-0.3.5.pom
     If the artifact you are trying to retrieve can be found in the repository but without metadata in 'Maven POM' format, you need to adjust the 'metadataSources { ... }' of the repository declaration.
     Required by:
         project : > io.cloudflight.autoconfigure-gradle:io.cloudflight.autoconfigure-gradle.gradle.plugin:0.7.1 > io.cloudflight.gradle:autoconfigure:0.7.1
         project : > io.cloudflight.autoconfigure-gradle:io.cloudflight.autoconfigure-gradle.gradle.plugin:0.7.1 > io.cloudflight.gradle:autoconfigure:0.7.1 > io.cloudflight.license.gradle:license-gradle-plugin:1.1.0

It seems like that version 0.3.5 of the library https://repo.gradle.org/ui/native/jcenter/io/cloudflight/json/json-wrapper is not yet released, but this plugin depends on it.
Could you please have a look. Thx

0.3.5 of the Json-Wrapper is released on MavenCentral: https://search.maven.org/artifact/io.cloudflight.json/json-wrapper/0.3.5/jar and it's also there in the Gradle-Repo: https://repo.gradle.org/ui/native/jcenter/io/cloudflight/json/json-wrapper/0.3.5/, that all seems fine, and we're using the plugin without issues in a lot of projects.
What changed with version 0.7.0 is that you need Java 11 at runtime to run the plugin (and so does the json-wrapper library). Can it be you're attempting to run the plugin with Java 8?

Thx. I can confirm that the lib is now under  https://repo.gradle.org/ui/native/jcenter/io/cloudflight/json/json-wrapper  but I'm absolutely certain that last week when I browsed to it, the 0.3.5 version was not there (sadly I haven't taken a screenshot).
Anyway, it works now without any action from my end. Thx


Polish

Some minor updates and polishing.
The devtools::document() doesn't go through at this end. But man/ is not strictly required to be included in github since it can be generated automatically. Hence opening the PR anyway, we can troubleshoot that separately if this PR is otherwise oK.

Sorry.. PR to wrong upstream.. more on this soon!


Add hotstart_threshold to flame.pool

upon the concurrency exceeding the threshold a new node is added to the pool.
This allows for pre-empting load and is intended for usecases where a cold-start is costly, such as for machine learning models
I'm not 100% on the implementation on this. Do we would want to spawn the new runner, but then do the cond case as usual? That way the waiting job goes into the exisiting runner, and the new runner can spin up.
Also the new runner will most likely become the new min_runner which means potentially not utilising the previous min runner to it's maximum potential. Would this be an issue?
related to https://github.com/phoenixframework/flame/issues/30

@DeemoONeill this is great! This is something I've wanted to contribute to for a while, just wasn't sure where to start. You've also raised questions that hadn't occurred to me. I was thinking of using behaviours or a protocol and passing in the module or MFA instead. This would allow for custom growth strategies and flexible configuration.
Good callout on min_runner, it feels like the growth strategy and work distribution need to be separate concerns. At the cost of adding an extra dependency, is this something that GenStage could be used for? FLAME becomes a producer, and each runner is a consumer.
Thank you for putting some time into this!

@samharnack  apologies I missed this.
Do you mean you were thinking of having like a "statup_strategy" behaviour? That might actually be a good approach.
Have a default behavior which behaves as it does now, spinning up AT capacity. Then having a hotstart behavior which spins up at a percentage of max capacity. That way it's opt-in to the downsides and gives the option of user defined behaviors which use some other heuristics for when to spin up a new machine.
I don't have much capacity until after the weekend, but would be happy to go through some ideas with you

@DeemoONeill you are in good company, I guess I don't have Github notifications enabled :/
That's exactly what was thinking. The config would turn into something like this:
children = [
  ...,
  {FLAME.Pool, name: MyRunner, min: 1, max: 10, max_concurrency: 100, strategy: {CustomStrategy, [hotstart_threshold: 0.5]}}
]

I think a first step would be extracting the current scaling logic into a default strategy and getting it merged into main.
I'll try to spike an idea this weekend.

Hi @samharnack @DeemoONeill I've implemented the idea being discussed in #51 if you want to take a look


Improper rendering order of Components

Problem
Components are not always being rendered in the correct order, within the resulting HTML tree
code inside html!{} macro:

  <AlwaysRenderedComponent1/>
  <AlwaysRenderedComponent2/>
  <AlwaysRenderedComponent3/>
  {self.gen_optional_components()}
  <AlwaysRenderedComponent4/>

Output:

  <AlwaysRenderedComponent1/>
  <AlwaysRenderedComponent2/>
  <AlwaysRenderedComponent3/>
  <OptionalComponent1/>
  <AlwaysRenderedComponent4/>
  <OptionalComponent2/>

Steps To Reproduce
Steps to reproduce the behavior:
Clone https://github.com/Th3-M4jor/YewTest.git
install npm packages, spin up dev server with npm start
increment counter to change how many optional components are rendered
Expected behavior
Optional components above should be in this order:

  <AlwaysRenderedComponent1/>
  <AlwaysRenderedComponent2/>
  <AlwaysRenderedComponent3/>
  <OptionalComponent1/>
  <OptionalComponent2/>
  <AlwaysRenderedComponent4/>

Environment:

Yew version: v0.16.2
Rust version: 1.46.0-nightly
Target, if relevant: wasm32-unknown-unknown
Build tool, if relevant: [wasm-pack, parcel],
Web library: web-sys

Thanks for the report @Th3-M4jor! This is already fixed on master :)

Tested with master on the project I found this on, can confirm. Closing issue then.


Update Inlet version to remove shared_ptr

Inlet was recently updated to not rely on shared pointers, meaning that we can remove all the messy deferencing when accessing with operator[], for example.
The API should hopefully be more stable from here on out, so we can start look at extending inlet to the other modules.

LGTM

Ran into an issue building TPLs on LC so the LC hostconfigs haven't been updated yet

LGTM


DUMMY TEST

Codecov Report

Merging #202 (7905264) into master (d72b598) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #202      +/-   ##
==========================================
- Coverage   91.30%   91.30%   -0.01%
==========================================
  Files          17       17
  Lines        1576     1575       -1
==========================================
- Hits         1439     1438       -1
  Misses        137      137

Flag
Coverage Δ

unittests
91.30% <100.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

grayskull/__main__.py
98.18% <100.00%> (+0.03%)
:arrow_up:

grayskull/base/track_packages.py
94.20% <0.00%> (-0.09%)
:arrow_down:

grayskull/license/discovery.py
97.12% <0.00%> (-0.02%)
:arrow_down:

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 d72b598...7905264. Read the comment docs.

@painter-bot fix

@painter-bot run on tfc

@painter-bot run on AWS

@painter-bot run on Azure
BVLNC: 1123123
asdasds: lalala


Feat: Retries on failure

Features Done

[x] Should retry on failures
[x] Stop retrying on 410 response code
[x] Max retries should be 10
[x] TypeDoc generation

/lgtm


feat: add xai and deri

Adding Xai (Orbit testnet) and Deri (Orbit mainnet) to the list
They are layer 3s
Note that Xai's parent chain is Arbitrum Sepolia at the moment
And Deri's parent chain is Arbitrum One
Deri's announcement:
https://twitter.com/DeriProtocol/status/1727268057645748502

added partially, we'll refine them over the incoming weeks

Amazing, thanks @lucadonnoh


input and raw_input in python-script

If you have any issues regarding the python script it is most likely due to the method input. Change input to raw_input and vice versa. It depends on your python version you use. Please see http://stackoverflow.com/a/4915366 for more information.

Issue is now closed, python version is now checked and selects appropriate line-parsing function


chore: add peer dependency xstate/inspect

What this PR does / why we need it:

Add missing peer dependency for xstate/inspect

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


Can't tap on side of screen to resize

Hey, guys,
you guys did a great job. On the other hand, I can't manage to resize  discord anymore when I type the window on the side of the screen. I'm on window 10.

Wrong repo. Also this is an electron issue when using the transparent window setting. Disable that in settings if you want to resume using aero snap and resizing.


test(setup): add basic test setup

Basic jest setup.
Closes GH-1485

@ravirajn22 @marvin-42 Have a look at this and let me know :)

Give me some time I will go through jest docs.

@marvin-42  To mock modules from node_modules follow this procedure https://jestjs.io/docs/en/manual-mocks
@Johan-dutoit This commit is not required and will not solve his problem


MINOR: use service loader for ConfigProvider impls

This is a small change to use the Java ServiceLoader to load ConfigProvider plugins.  It uses code added by @mageshn for Connect Rest Extensions.
Committer Checklist (excluded from commit message)

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

@rhauch , I removed the comments as you suggested.  @mageshn , I added a manifest to the Kafka client jar.  The newConfigProvider does a bit more than newPlugin so I left it for now.

Thanks, @rayokota how about listing  the FileConfigProvider class as whitelist in PluginUtils

@mageshn , I added a pattern for ConfigProviders to the WHITE_LIST

Hi @ewencp , if you get a chance, do you think you take a look and merge if this looks ok?

LGTM, merging to trunk and 2.0


operator API: replace embedded certificates with references to secrets

Having to copy custom certificates into the CR object implies that automatic certificate updates must be done through the PMEM-CSI API and thus will depend on custom scripting.
It may be better to reference secrets by name because then existing tooling for keeping secrets up-to-date can be used.

Note that certificates are needed for controller/node communication. If we eliminate that part (see discussion in issue #733), then we don't need any certificates anymore.

Became obsolete after PR #838 - now we have issue #857 :sob:

Became obsolete after PR #838 - now we have issue #857 :sob:


Feature request: reorder columns in grouping panel

After having added a few columns to the grouping panel, it's impossible to reorder them (e.g. If I drop column A then column B, B is added to the right of A and can't be moved to the left).
From the pointer shape, it looks like dragging columns in the grouping panel is seen by DBeaver as I was dropping a new column, instead of reordering existing one. I'd like to be able to reorder columns by drag-and-drop in the grouping panel as I can in the standard resultset view.

Reorder support was added.
You can reorder "group by" attributes (and final SELECT query will be modified according to this order).
But you can't move aggregation columns.

Implemented