Add device-watcher to latest

Please add my adapter ioBroker.device-watcher to latest.
This pull request was created by https://www.iobroker.dev 79ffd9b.

I have been using the adapter for a while and have not been able to find any errors in the code either.
Where I'm not sure again is the io-package.json, as I'm not up to date.
From my point of view it is ready for the beta repo :)

RE-CHECK!

Automated adapter checker
ioBroker.device-watcher

:thumbsup: No errors found

[ ] :eyes: [W400] Cannot find "device-watcher" in latest repository

Add comment "RE-CHECK!" to start check anew

Hi,
thank your your adapter submission. Here is some review comments:

You use the release script in your dependencies. You also need to add the iobroker plugin and a release config file. see the release script changelog from version 3! Else it will not work
Please check your roles. Indicator is only a read-only boolean! not strings.
on start you execute main() and then refresh() method ... and refresh does main() again directly?= Really needed twice at tghe beginning? ;-)
Also in general the adapter works very unperformant and create big load spikes on the system of the users. you should consider changing the following things:

The main logic is in "main" and here you do the object creation any time it is called. YOu should remember that objects are created or just do that on start!
The main logic is always reading aaalll the states needed ... I saw logic to handle subscriptions but commented out? Why you not simply read them once, put in a map/object by their ID and subscribe for changes and just update that object and have the counting logic working on that object? This would be way more performant and can update states "on change" and also not needed as interval. But without state changes (then please remove the stateChange method) yu can do it that way

becauseof the fact that your current way to get all data can take long please set a variable in "unload" that unload was called and add a check in your data processing loops to cancel further processing of the current run if unload was called. Especially do not set a new timeout then! (because if unload is called while one processing is running you will set a new timeout at the end :-)

Thank you for checking my comments and adjustments.
Simply poke here when done and I do a re-check.
Ingo

Hi Ingo,
thanks for your review. I worked out all of your points. And I hope it's okay for you now. I made already some changes to make the adapter performant and in the last ten days the ram usage was only between 80 and 90 percent on my system.
Because of the point with subscription on state changes. For now I removed it now. But in near future I will use it as suggested by you. But I hadn't time enough in the last weeks to implemented it. Hope it's okay for you.
If there is anything I forgot please give me an advice again.
Thanks
Christian

Hey, I did a recheck and beside the already discussed downfalls of the general approach  it is ok now. I still do not "like" that all states are crerated in any interval-run, but also here ... acceptable ;-) Future optimizations would be cool.
But the release script will not work as it is now ... nothing changed there, the iobroker plugin is still missing ... but thats up to you how you release.

I'm glad to hear that. Yes I know, I will change it as soon as possible with the Intervall.
But can you explain where I have to add the iobroker plugin for the release script? I choosed the option in the adapter creation so I thought this is all clear and will work correctly. (And it did first time except the last time). I looked already in the changelog and to other Adapter which uses the release script but doesn’t find it where I have to add this plugin.

Yes the creator aded the release script package in v2.x ... you upgraded it to 3.x but this is a MAJOR change ... Major normally means that something is breaking! So you need to check those very careful.
see https://github.com/AlCalzone/release-script#plugins

okay I think I've added it now correctly. Thanks for your advice.


[JENKINS-27233] Fixed exceptions in rebuild pages with non-matrix projects

JENKINS-27233
Now it displays "Not applicable"

Build page

Parameter page

Rebuild page

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

rebased after #9.


Provide full log of DyGraph Mobilenet training on flowers dataset

@littletomatodonkey  Could you provide full log of DyGraph Mobilenet training on flowers dataset as mentioned in https://github.com/PaddlePaddle/models/issues/4849 for download ? We are interested in MobilenetV1 but also other versions.

Thanks for your attention, the full log will be offered and uploaded here in this weekend.

@littletomatodonkey Could you provide full log of DyGraph Mobilenet training on flowers dataset as mentioned in PaddlePaddle/models#4849 for download ? We are interested in MobilenetV1 but also other versions.

Hi, the log is as followes, the backbone is MobileNetV3_large_x1_0. The config file I used is this: https://github.com/PaddlePaddle/PaddleClas/blob/dygraph/configs/quick_start/MobileNetV3_large_x1_0_finetune.yaml
The ImageNet pretrained weights are used for better performance.
train_flowers102_mv3_large_x1_0.log


迁移过程中出现target key name is busy: SHOW_OPER_1120011639

check the file redis-shake.conf,change parameter key_exists from none to rewrite or ignore ,it will rewrite the repeat keys or just skip them.

good


as3js crashes when attempting to import undefined packages

When trying to transpile code that refers to packages such as:
flash.utils.Dictionary
flash.display.Sprite

as3js crashes rather than printing an error:
/dir/node_modules/as3js/runtime.js:834
            if (this.classMapFiltered[this.packageMap[this.imports[i]].className]) {
                                                                      ^

TypeError: Cannot read property 'className' of undefined
    at AS3Class.toString (/dir/node_modules/as3js/runtime.js:834:71)
    at Main.compile (/dir/node_modules/as3js/runtime.js:306:109)
    at Object.<anonymous> (/dir/node_modules/as3js/bin/as3jsc.js:95:25)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)

For anyone with this issue: you can comment out the includes and remove code and/or use the --ignore-flash option.

Was just about to answer that, yes that's the correct fix!

Cool, but I see one issue: if one of many source files Depends on arbitrary DependencyX.Y.Z, then as3js will crash without printing the name of dependency. As a result, one must grep for all of the import statements for unrecognized modules or packages, or one must search through the as3js code to find the place to put debug statements so one can print the list of missing dependencies.
It would be really helpful if whenever a non-existent package is imported that the name of the first detected missing package is printed.

@sudoman
Added a warning message for missing class paths in 0.3.1 :)
https://github.com/Cleod9/as3js/commit/104638c7ebf7b9763590e040e60c77940724000a#diff-180a4c8e5bf3b0c453ab1a7e06c9e0ceR829

thanks! : D


Fix config file settings for peer_max_count

peer_max_count is not a valid setting
peer_max_inbound_count and peer_max_outbound_count are the valid variants of this setting

We should convey this adequately in generated epic-server.toml.  This commit merely adds these commented-out lines to config file, and includes information on default limits.

Resolves #85


fix: unit test / integration test issue due to console special characters

Notes for Reviewers
This PR fixes #12325
Signed commits

[x] Yes, I signed my commits.

@leecalcote, I think one of your previous updates doesn't quite clear the unit test check.

@marblom007, yeah, @leecalcote was saying this in Slack earlier.


Add an option to create unsynced files report, but don't do any actions

It can be useful to have a way to check the correctness of the file structure without doing any actual changes.

Looks like a duplicate of #66

You are right. Closing as a duplicate.


Mark defaultProps as covariant in React libs

This is so we don't have to include a dummy setter to satisfy Flow when using a getter to dynamically construct defaultProps
This resolves #3008, avoiding the Covariant property defaultProps incompatible with invariant use in statics of React$Component error and adds a test to ensure that future getters for defaultProps will typecheck properly.

The problem with this is that it's gonna break something like this:
MyComponent.defaultProps = {};

I knew I was missing an edge case!
I can't seem to find a way to mark a field as "covariant or invariant, but not contravariant" (ie. accepts anything but not only inputs).
Anyone wiser than me have any ideas here? Otherwise I'll close this and go back to the drawing board on #3008.

Well, object with covariant property is a subtype of object with invariant property:
declare function test(x: { +foo: string }): void;
declare var x: { foo: string };
test(x);

So, you can do this:
class X {
 static +x: string;
}

class A extends X {
  static x: string;
}

A.x = '';

But it requires you redeclare inherited property as invariant every time.

Thanks for the explanation - I think I understand what you're saying.
Unfortunately, the requirement to redeclare the inherited property as invariant when you want to set it after class definition is pretty much equivalent to the workaround of creating a dummy setter when you want to use a getter :(
I did stumble upon #1189, which if resolved would let us do something like define React$Component as a union type between a class with defaultProps as covariant and another class with defaultProps as invariant. But other than that I'm still stumped.

I can't currently see a way to express this in the flow definition without breaking something, so I'm going to close this and come back to it (hopefully) in the future.


Suggested HLL Changes, primarily to HllSketchBuilder, some to Preamble.

Includes the changes you just proposed.

@leerho I think you might not've pushed up as much as you think?  It appears that this is only the change to remove the comment from HllSketch


freeze and crash after press 'tab' in keyborad

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:  1.73.1
6261075646f055b99068d3688932416f2346dd3b
x64
OS Version: windows 10
版本	Windows 10 专业版
版本号	21H2
安装日期	2021/5/10
操作系统内部版本	19044.2130
体验	Windows Feature Experience Pack 120.2212.4180.0

Steps to Reproduce:
see video for steps to reproduce
1.open the 'MobileBasePassPixelShader.usf'
2.select lines from 84 to 108
3.press 'tab' in keyboard
VSCodeCrash.zip

Still Crash after disable all extensions

感谢您创建此问题！
然而，由于您没有使用英语，我们很难进行处理。如果可能，请您将此问题描述修改为英文。请您直接编辑此问题，不要提交回复或新问题。
请注意，机器翻译服务通常无法处理用于讨论软件问题所需的技术性语言，所以我们推荐您寻找一位熟悉相关技术的人来协助翻译。
如果您无法做到，没有关系。此问题已经被标记为需要翻译，等待社区成员志愿进行翻译。

Thanks for creating this issue!
Unfortunately, as the description is not in English, it's hard for us to work on. If possible, please edit the original issue to be in English.
In our experience, automatic translation services are not able to handle the technical language needed to effectively communicate about software issues, so we recommend finding a human translator who is familiar with our technology to help.
Otherwise, we have marked this as needing translation and a community member may be able to help out.

I try do same thing with vscode-insider, and it didn't crash !! but vscode will still crash with same operation.

This should be addressed in latest stable 1.74.


UNINSTALL leaves behind misc. cluster-scoped resources

Should also give commands for removing priorities, cluster roles, etc. so that there are no mlbatch created entities left.
Consider uniformly labelling all resources so we can find them more easily.

Agreed. The current instructions focus on removing all running pods and only the resources responsible for or preventing the removal of these running pods.


Is there any example implementing oidc client with plain react or react-Mobx?

We are using React with MobX, not sure how different that can be from react redux in odic context but looking for a sample implementing odic client with plain react or react with mobx.

This library is for usage with redux only. I don't know of an example with plain react or MobX. Feel free to look at the source code and draw your inspriations from it.


Sorry it appears there may have been a problem creating this bread

Since updating I have been unable to successfully 'Add BREAD to this table'.  If I edit existing breads like Posts / Pages etc it works successful.  But creating my own will not allow it to work..

What version of Voyager are you on?

same problem i'm using voyager v 0.9.32.

same here with latest version.

Looking into it right away.

Fixed in v0.9.33.

thanks mate!


query change

Tasks:

[x] done
[ ] todo
[ ] got feedback

__Informations: a leftover from the name change of special price dates

Q
A

Bug fix?
no

New feature?
no

Tests pass?
yes

Fixed tickets
none

Doc
none

ack


Account key replacement lost

After verification, my account is qualified, but the original key has been updated. How can I solve this problem?

I have the same issue, they do not seem willing to solve it. Here they say "If our account is eligible for a reward but you lost your private key, you will not be able to create a valid proof and unlock the reward."

Do developers who make secret rotations and care about cyber security not deserve tokens in the Fluence team's opinion?

You can only use SSH keys that were published in your GitHub profile at the time before Dev Reward has started. Key must be either ed25519 or RSA. And you need access to the private key part of the keypair.
Please read here for more info http://blog.fluence.network/fluence-developer-community/


Get current time

We need to figure a good way to get the current_time for using them in the models (e.g.).

PR dealing with the issue https://github.com/Waifod/quant_finance_models/pull/60.

Closing as completed. Thanks!


AVRO-1901: Record named Exception generated bad code

NOTE - I did not update CHANGES.txt

@gszadovszky would you be able to merge this since you LGTM'd it?

I wish I could, @benmccann. I am not a committer.

@radai-rosenblatt this code appears to already be present on branch-1.8

yup, looks like it was picked up. closing this PR. thanks @benmccann

NP. I submitted a PR to backport to 1.7: https://github.com/apache/avro/pull/188


⚖ Register Validator: Cros-Nest

Network Choice
nemeton
Who are you?
We are Cros Nest.
Our mission is to empower individuals and companies with reliable, secure, and easy-to use cryptocurrency products,tools, and
infrastructures.
We operate state-of-the-art distributed and redundant validator infrastructures for Proof of Stake Blockchains.
gentx
{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"okp4","identity":"","website":"","security_contact":"","details":""},"commission":{"rate":"0.100000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"okp41aaz7f88pge2y7gq9mus96y5hvuf60974dzvmge","validator_address":"okp4valoper1aaz7f88pge2y7gq9mus96y5hvuf60974c9ujkc","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"CwHok2qKufBap7jaNRnSG34VFC6r8WiyJFLG+Zfx3NI="},"value":{"denom":"uknow","amount":"1000000"}}],"memo":"5d582b1d3d01c668dea40dd005cd5afdfb6b52db@<IP_ADDRESS>:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"As2b+4vB/iQW8lT0k/aRaqZTUwFB813M8UDQXvTbzHkY"},"mode_info":{"single":{"mode":"SIGN_MODE_LEGACY_AMINO_JSON"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""},"tip":null},"signatures":["cxfgrMJliq5OpFPVftR2ESS6GlB3mcYXF3fAPct5VcRFBIdu3hvbnWqeSbCdj/ZFMscOzsVDg5xA1k7cRoB6HQ=="]}

😉 Here is the corresponding PR: https://github.com/okp4/networks/pull/28


[Feature request] Redirect GitHub clones

Hello,
Additionally to redirecting Stackoverflow & Wikipedia clones, would it be possible to redirect GitHub ones as well ?

issueexplorer.com
githubmemory.com
codeproject.com
gitmemory.com
jsrepos.com

Thanks

Hello,
Yes it is possible. Added 3 sites from the list.

codeproject.com
I did not understand where the pages that are cloned.
gitmemory.com
I was unable to connect to this site. Is this really still working?

Please provide an example links if possible.
Thanks for helping me discover new clones

Hello,
Yes it is possible. Added 3 sites from the list.

codeproject.com
I did not understand where the pages that are cloned.
gitmemory.com
I was unable to connect to this site. Is this really still working?

Please provide an example links if possible.
Thanks for helping me discover new clones

Added 3 sites from the list

Very nice !

I did not understand where the pages that are cloned

There are no cloned pages, I was mistaken, sorry 😅

I was unable to connect to this site. Is this really still working?
I remember visiting it in the past few months, but I guess it's over, cool.

Thanks for helping me discover new clones

You're welcome, thanks for helping us getting rid of those 🙂


Ruby 2.7 support: Switch to Addressable.URI.escape away from obsolete URI.escape

Addresses https://github.com/vifreefly/kimuraframework/issues/42

@vifreefly Hi! Could you please take a look at this PR when you have a free moment? Thanks for creating and maintaining this project!

@vifreefly Hi. Could you please provide feedback or consider accepting this PR? Also, would you be interested in having some help maintaining this project?

@vifreefly any updates here?

Just hit this myself after upgrading to 2.7. I presume the best course of action is to fork this as it doesn't seem to be maintained anymore

@doutatsu We're considering maintaining a fork, adding some test coverage, and adding Chrome CDP support via the ferrum gem. Be interested in helping?

@johnphamvan Potentially. Need to evaluate what other gems are out there, as I had another one recommended, so would have to see if I want to stick with Kimurai

Hello @johnphamvan & @doutatsu
I do plan to start maintaining the project again soon, but at the moment I don't have enough time for it. We could start with @johnphamvan PR (great work by the way). What will you say?

@vifreefly Squashed and updated CHANGELOG.md.

Hi @vifreefly thanks for making this library.  Would you consider adding some maintainers to this project to keep it moving along? It'd be nice to have it working on Ruby 3 without needing forks.

I'd be interested in helping out as a contributor as well!

Hey guys, I would love to see your contributions on Tanakai (Kimurai fork), it already got support to Chrome CDP.


fix ARM64 build for manager

fixes : https://github.com/jodevsa/wireguard-operator/issues/20#issuecomment-1545268252
exec /manager: exec format error

Tested on GKE with ARM64 node


use own name

It was surprising to me that .setup_env_logger() required arguments to be passed. This patch removes the need for that argument.
I'm not sure if there was some more reasoning behind passing in this argument explicitly, but I feel that if there is a method needed with an explicit name, we could always expose another API.
Examples
Example: current
#[derive(Debug, StructOpt)]
struct Cli {
  #[structopt(flatten)]
  verbosity: clap_verbosity_flag::Verbosity,
}

fn main () {
  let args = Cli::from_args();

  let name = env!("CARGO_PKG_NAME");
  args.verbosity.setup_env_logger(name)?;
}

Example: with this patch
#[derive(Debug, StructOpt)]
struct Cli {
  #[structopt(flatten)]
  verbosity: clap_verbosity_flag::Verbosity,
}

fn main () {
  let args = Cli::from_args();
  args.verbosity.setup_env_logger()?;
}

Drawbacks
If someone isn't using Cargo the name will not be available. But the same holds true for Clap, so I'm not too worried about it ever becoming a problem.

Thanks!

@killercup this is consistent with how Clap does it https://github.com/kbknapp/clap-rs/blob/e25e302ec29559362fec8b670c3005a668c4e536/src/macros.rs#L513-L532. Alternatively we could also defer to clap's crate_name macro, but as shown above that would just be a small wrapper around the env!() macro.
I tried this approach on a crate I'm currently working on, and my binary under ./examples/main.rs was compiled with the name main. I believe that should be the right behavior.

Nope, sorry, this is not the same. Let me try to give you an example :)
Let's say we have a crate called foo  with example the same code as you "Example: with this patch".
The code for fn setup_env_logger lives inside the clap-verbosity-flag crate and thus the env! macro get example when compiling this crate, and inside of foo you already have an exampled version of the function. This means there is a let own_pkg_name = "clap-verbosity-flag"; in there!
In contrast to that, clap asks you to write let m = App::new(crate_name!()); in your code, that is this code lives in foo. When you compile your foo binary, the crate_name macro gets expanded. This in turns produces a call to env! which then also needs to get expanded -- in the context of compiling the foo crate. Thus, CARGO_PKG_NAME is foo.
The main difference is this: Calling a function uses expanded code, so macros called inside there are already evaluated. There are only two ways I know of to defer the evaluation of env!("CARGO_PKG_NAME") to foo's compile-time: Making setup_env_logger a macro (as this gets expanded at its call-site, i.e., in foo), or to pass the package name as a parameter.
I hope that was somewhat clear… Ping me if you are now super confused and I'll try to explain better

Oh and ./examples/main.rs is compiled with a package name of clap-verbosity-flag, so that's why it works!
(This is also why quicli has sub-crates for tests!)

@killercup ahhh, yeah - you're right! We should probably add an example for this I reckon!


Create ifElse utility helper

ifElse()
ifElse(
test: (props: Object) => boolean,
left:  (props: Object) => any,
right:  ?(props: Object) => any
): HigherOrderComponent
Accepts a test function and two functions. The test function is passed the props from the owner. If it returns true, the left function will be invoked; otherwise, the right function will be invoked if it is supplied.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #398   +/-   ##
=======================================
  Coverage   88.82%   88.82%
=======================================
  Files          50       50
  Lines         376      376
=======================================
  Hits          334      334
  Misses         42       42

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 a74d7c0...96d0874. Read the comment docs.

Thank you, but
we are already have branch enhancer with same functionality

Also please take a look into your implementation
if (test(props)) {
  left(props)
} else if (right) {
   right(props)
}

results of left right are not used  anywhere. So we can think about left right as about functions without return left: (props: Object) => void,
Any void function or useless or has side-effects. So it's not a good idea to use such enhancer at all.
Please take a look into branch implementation to get the idea how it works.

🤔  Hmm, what if we want this to not return a component but just to run some simple functions with no side effects:
ifElse(
  props => props.isUser,
  props => props.history.push('/'),
)

ifElse(
  props => props.isFeatureEnabled,
  props => props.track('Test A'),
  props => props.track('Test B'),
)

@ha404 In such case just use withProps and js language
withProps(props => test(props) ? trackA : trackB)
BTW I recommend to not use history change on prop change it will be better to move out side effects out of your Component

I see, how would you deal with a history change outside of a Component? Isn't everything a component?

Im not a Component :-) so everything is not a component.
I meant move side-effects out of rendering pipeline,  without additional libs you are free to use them at event handlers - (in your case it was some event which caused change of isUser prop, so history push can be placed directly there)
With libs like redux I prefer to dispatch plain  actions in handlers and use redux-observable or redux-saga for processing and side-effects (even with libs I never dispatch anything at rendering stage, its always a reaction on user-network-timer etc events, not a reaction on properties change)

Why can't all our components get along?
I still don't understand how that will help authenticate my components. Like, what if I wanted to protect an Admin component on an /admin route? How would observing the event that a user authenticated help me block that user from viewing the Admin component on my /admin route?

I haven't wrote that you can't use Components alone. I wrote that you need to avoid side-effects in rendering pipeline.
The reasons are:

It's easier to work when you components have no side-effects and just a functions of data (all that nice words like testability, predictability, support etc what it gives you from functional programming here)
Some side-effects like history.push can cause immediate state change in above components wrappers like in react-router, React has a strong restriction from what lifecycle methods you can call state change - easy to make a mistake
Having that component has already started to render and you call history.push inside right lifecycle handle you will got the situation that history.push will not break current rendering process it's just updates state at some component at upper level so you need an additional logic to prevent showing current view.

All problems are easy to avoid intercepting route transition events and preventing route change in situations you need. This also make your Components more dumb, as all the knowledge about routing, auth, histories will be implemented out of Views.
BTW you can write all that logic inside Components as nor js nor React force you to write pure side-effects less Components.

I agree, I understand the benefits of avoiding the side effects. I'm just having a hard time understanding literally where should I put my authentication guard in the code? Would that be somewhere in React Router? Do I do something like this vs. use a HOC?

JK, I talked myself out of this. Redirection should never be handled by individual components.


Consider using saga-slice instead of redux-toolkit.

I found this project https://miami-dev-shop.gitbook.io/saga-slice/ the other day and wanted to bring it to your attention.
It main benefit is, that it streamlines the communication between reducers and sagas, which leads to much less boilerplate code. Its usage is pretty similar to redux-toolkit, exspect for the saga part of course.
On the con side, while it is actively maintained, it has not the same community around as redux-toolkit.

It is started this month and has 5 star (basically no one using yet). Sorry, I cannot depend on that. So immature and has so much time to grow. Plus, redux toolkit is the official library from redux itself and pretty powerful.


Swift doesn't support default value

Basically, whatever how much Model converted and nested, the property eventually will be Int/String/Double/Array etc, so It should possible to make all property has a default value when I use --mutable-properties, can you add a new option to achieve it?

Great idea! Please consider contributing this. We do not keep feature requests open as issues, however, so I will close this.


Kube Hunter couldn't find any clusters for openshift worker nodes

While running kube-hunter --remote for master-nodes a report is generated but getting "Kube Hunter couldn't find any clusters" when giving worker-nodes-ip
kube-hunter --remote worker-node-ip
output: kube Hunter couldn't find any clusters

While kube-hunter is not directly built for Openshift, it will sometimes work. You can try to run it inside the cluster and see if there's a change in the output.
But we don't officially support openshift at this moment...


[$500] IOU Report - Two separate IOU reports created in the same 1:1 chat

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

Version Number: 1.4.25-8
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @mallenexpensify
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1705451831035939?thread_ts=1705449509.628199&cid=C01GTK53T8Q
Action Performed:
@mallenexpensify reproduction steps

Received money request from Scott
Noticed it didn't include the $2.87 I knew I already owed him
Asked Scott to request $1 manually
$1 was added to the the most recent IOU request, old one hasn't been updated the past two transactions

Alternate reproduction steps:

Create 2 manual IOUs in a 1:1 conversation with user B
Create a Split with a scanned expense in a group conversation that includes user B and another user
Wait for the Scan to finish
Create a manual Split in the same conversation
Navigate back to the 1:1 to check the IOU reports

Expected Result:
There should be only one, ongoing IOU request between two users.
Actual Result:
There are two active IOU requests
Workaround:
N/A
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a527a0df0c4b582d
Upwork Job ID:<PHONE_NUMBER>713110528
Last Price Increase: 2024-01-24

I was able to reproduce the issue, here are the steps:

Create 2 manual IOUs in a 1:1 conversation with user B
Create a Split with a scanned expense in a group conversation that includes user B and another user
Wait for the Scan to finish
Create a manual Split in the same conversation
Navigate back to the 1:1 to check the IOU reports

On the image below:

IOU report 1 contains the expenses made in the 1:1 conversation
IOU report 2 contains the split expenses made in the group conversation

Not overdue. Pending proposals

Same

any reason you can think this shouldn't be external?

@mallenexpensify, this could be a BE issue, but could also be a problem on the FE.
I'm leaning toward the first one, but it's only a guess, I haven't done any investigating myself.
Let's leave this External for now and wait for proposals

Sounds good!

I will bring this one to slack to solicit proposals if nothing soon

Going to look at which project this fits into tomorrow

Hmm, I followed the exact reproduction steps listed above, and could not reproduce. Specifically, I:

Logged into<EMAIL_ADDRESS>and created two manual IOUs with<EMAIL_ADDRESS>Then, I did a scanned split with<EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>Then, I did a manual split with<EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>When I go back to the DM between<EMAIL_ADDRESS>and<EMAIL_ADDRESS>I see all 4 requests combined into one report.

Going to close this one for now, as it doesn't seem to be consistently reproducible. If there are other steps that can be used to consistently reproduce this, let me know, and happy to investigate further!


Add export_resource_uid annotation

Resource UIDs can now be selected from the inspector in the same way a Resource would be selected.
EditorResourcePicker has new path_only property to facilitate the annotation that hides menu items unrelated to UID selection.
Example usage:
@export_resource_uid("ResourceTypeName") var item : int

func load_item() -> ResourceTypeName:
	return load(ResourceUID.get_id_path(item))

Closes https://github.com/godotengine/godot-proposals/issues/9216
Closes https://github.com/godotengine/godot-proposals/issues/9552

in my point of view @export_uid makes more sense than @export_resource_uid. This is up to the reviewer to decide, as I am not fully aware of the context.

in my point of view @export_uid makes more sense

I had considered that name, went with the longer one because it gives a "use me sparingly" feeling and I don't know if other uid might be used in future.

Can this annotation also be used with String type? I think UIDs as String are more common, and it will be easier to use in code (no need to ResourceUID.get_id_path)

Can this annotation also be used with String type?

 at an extra string allocation/conversion, but what do the maintainers think? @Calinou @AThousandShips

The allocation isn't necessarily an issue, but if we use a String it'd be very much like the existing path property hints, but simply using an UID instead, but still lacking any UID pairing and updating features like the existing resource system has, which feels half baked, see for example https://github.com/godotengine/godot/issues/87418#issuecomment-1907516677
So I'm unsure either way here, having just a convenient way to fetch the path as an UID instead of a file path is useful, but I'm not sure it warrants a whole new property hint

The allocation isn't necessarily an issue, but if we use a String it'd be very much like the existing path property hints, but simply using an UID instead, but still lacking any UID pairing and updating features like the existing resource system has, which feels half baked, see for example 87418

After reading that issue, it seems UID in general is half-baked? In that thread people are saying "use both" which entirely defeats the purpose of it right? I wanted this feature because @export_file is just a string, that breaks the moment anything is moved. But if UID can't be trusted either then what other options are there...

After reading that issue, it seems UID in general is half-baked? In that thread people are saying "use both" which entirely defeats the purpose of it right?

Not really IMO, UIDs are safe generally, but there are contexts where they might be reset, they shouldn't but they might be, and being able to fall back on the other path is very useful and powerful, it can be trusted generally, but both together is the best

That's good at least.
About making this a "fully baked" solution, it's not possible. Not without rewriting large sections of core/io.

As i saw the default custom export with the PROPERTY_HINT_RESOURCE_UID does not support creating arrays of UIDs

The Object models doesn't actually support real generics, or proper attribute data for that matter. Just a hint_string, which arrays use to store their [type].

Everything is "uid://" String now to keep things simple.
Array types are supported. (turns out this happens automatically)

This PR is now complete as possible. Would be nice if it can be merged for 4.3.

We're in feature freeze so this might have to wait for 4.4

Why draft?

I think it can be further improved. I'll fix the conflicts and update it when I'm confident I can get it merged.

Resource Path

https://github.com/huwpascoe/godot_resource_path
I made it a plugin.
New improved syntax
@export_file("PackedScene")
var some_scene: String

It's working and you can use it in your project right now.
Future Changes

I'll need to submit a PR to allow hiding of EditorResourcePicker context menu items so the plugin can make use of that.
If there's demand I could still make this engine-native, in which case I'll reopen the PR.

It's partially implemented.
This is encouraging enough that I'm considering making the plugin an engine feature.


[Feature Request] Start Program Hotkey

Please add the ability to trigger "Start Program" entries with a hotkey.
SCM is in my top 5 most useful programs on Windows - Thank you !

Hi @MadeInUSAReview,
Please,  try version 1.4.3.


Meetings > new access restriction: Lock participants out of a meeting

Description: Integrate a new option to lock out participants from a meeting. The participants will stay inside the meeting, but they can't see it in the Dashboard and they also can't enter it by URL. The administration of this should be done by meeting admins.

I moved this to the main reqo. Most of the work has to be done in the autoupdate-repo, but there are also required changes in the client, meta and backend repo.

At the moment, the feature is not clear to me. Do you want to lock single users or groups of users? For example, if the meeting has 10.000 participants. Do you want to lock 3 users, or do you want to lock out some groups (delegates, guest, etc).
Another question is, what should happen, if a user is locked out of a meeting, but anonymous is enabled in the meeting. I would say, an locked out user has the same permissions in the meeting, as an anonymous user.
What about global permissions. If a user with the OML-can_manage_users is locked out? The restrictor depends often on this permission. What about the CML-can_manage and the permissions, that participants of a committee have for all the meetings?
What if a meeting-admin is locked out? (why would someone do this, but what should the code do in this case?)
If you want to lock out groups, then I would propose, that we add a "deactivated" flag to the group collection. To calculate the permissions of a user, groups that are deactivated are ignored. Also, deactivated groups do not count for the question, if a user is a particimant of a meeting.
This would be easy to implement.
If you want to lockout single users, then I would still solve this via the permissions. If a user is in the (new) field meeting/locked_out_user_ids, he has no permission in the meeting (or only the same permissions as anonymous). The definition of a participant would be, that a user is part of a meeting, if he is in a group of that meeting and not in the list meeting/locked_out_users.
I would prefer, that we solve this via the groups. But the ABS team has to tell us, what the usecaes is.
This issue is relevant in a lot of places in the restrictor. Here some examples:

The restricter often gives permissions, if a user is in a specific group (chat_message, media_files, motion_comment_section, motion_comment, etc).
Some checks are agains a against a user ID (for example personal_note).

If a user is in the (new) field meeting/locked_out_user_ids, he has no permission in the meeting (or only the same permissions as anonymous).

This is the behaviour we currently have for the presence of users ( meeting/present_user_ids<->user/is_present_in_meeting_ids) and it's not a very clean solution. Since we have the n:m model meeting_user, we should use it to model any relevant information regarding a user in a meeting. So, my proposal would be to introduce a new boolean meeting_user/is_deactivated (or similar), which locks a user out if it's true. This should be just as easy to check for the restrictor since the meeting_user has to be read anyway because of the group ids and it's a cleaner model.
As I understood it, the locking of single users is alos how it the feature was intended, but we'll wait for confirmation from the ABS team.

We need to clearify:

[ ] how should this be handled by users/admins
[ ] from this point, we should discuss a technical solution

I'll write down some notes summarising this discussion, the official necessities, a discussion with @rrenkert and small discussions here and there. Everything besides the requirements can be discussed/changed and need the green light from one or more person. Issues will be created/updated accordingly.
I will also edit this comment if some answers become clear
Clear requirements:

If locked out the participant is still in the meeting
If locked out the participant cannot see or navigate via url to the meeting
A single participant (independent from group) can be locked out
A new filter/sort should be added in the participant-list

Questions which need clarification and some already gathered thoughts about them (some questions need a discussion some questions just need a yes/no):

Who can lock participants out (which permission/group)?
-> So far consensus: Admins can lock participants out, no defined permission is needed but the people from the admin group can lock out
Who can see that a participant is locked out? (Permission candidates are user.canSee/canSeesensitiveData/CanManage
models.yml needs a new field: would a new field is_locked_out which is similar to is_active suffice?
Who can be locked out?

Orgaadmins

Yes

Accountadmins

Yes

Committeeadmins

Yes

Every User in a meeting who does not fall under the groups above

Yes

What should happen if a participant who is locked out becomes an admin?

Option 1: The participant is automatically not locked out anymore
Option 2: You are warned by a dialog that this will lift the lockout and the participant is automatically not locked out anymore
Option 3: You are warned that this is a locked out participant and you cannot give this participant admin right until you lift the lock out first
Indirect consequence: Admins CAN NEVER be locked out

This action should be possible via participant detail view and the multi-select in the participant view (mass locking out is allowed)
How should the multi-select be handled if you try to do something forbidden (lock out admin or make someone locked out admin)?

Hint: The client is not checking whether or not locked out/admins are selected in multi-select, this was discussed in the past, so the errors thrown and actions done have to come from the backend
if you try to lock out admins:

Should the whole action be stopped with an Error similar to You are trying to lock out an admin, please remove admins from the lock out list)
Should only the allowed participants be locked out?
If yes, how should the system inform about the participants which were not successfully locked out

Generic: There were admins, They cannot be locked out so they were skipped
Specific: The following participants were not locked out due to them being admins: .... -> worst case: this will be shown in a snackbar, and the snackbar could be ginormous

Theoretically we can also decide to strip the admins from their admin group if you lock them out, I would recommend a big warning if we would decide to follow this logic though, this warning has to always be shown in the dialog (because the client is not checking if there are admin in the selected participants

if you try make someone locked out an admin:

Should the dialog have an additional button which forces every participant to be not locked out anymore and then successfully become an admin? and if the normal button is used admins are skipped (where and how should this be explained)
Should the dialog (without additional button) just lift the lock out and turn them into admins?
Should the whole action be stopped with an Error similar to You are trying to assign someone locked out the  admin group, please remove locked out users from this action)
Should only the allowed participants become admins?
If yes, how should the system inform about the participants which did not successfully become admins

Generic: There were locked out users, they cannot become admins so they were skipped
Specific: The following participants did not become admins due to them being locked out: .... -> worst case: this will be shown in a snackbar, and the snackbar could be ginormous

View in the future context anonymous user:

How should anonymous user and a locked user be handled:

Should we prohibit locked out users in an opened meeting and vise verse prohibit a meeting with locked out users to be open?
Should we show the (logged in) participant the same amount of information an anonymous user would see
Should we show the (logged in) participant nothing and if they log out they can see the meeting

This last question is also relevant in general for anonymous user, because we need to clarify what a participant user can see in they are logged in but are not a participant of an open meeting

We don't need to fix the answers to the anonymous user now and here (this belongs in the anonymous user debate) but a rough idea and debate at this place would be useful

The mock-up for the new feature

The red is supposed to be the warn colour
The function of is_active did not change the placment was just moved unter the present checkbox
The checkbox for locking_out is supposed to be in the three dot menu, only the indicator is outside

The appearance for the mobile view is still missing and further information will be updated (probably in the client issue)

Feature is done.


Scrooge style unions

This PR is part feature, part bugfix.
Bug 1: Unions were being treated as structs with required values. Thus all unions throw a TApplicationException, because union objects only have one of a set of fields defined. Apache Thrift for Node treats unions as structs with optional values, so I've changed the generated code to match that.
Bug 2: Union reads / writes were not using the same field ids. Corrected.
Feature: Added Scala-scrooge-style union construction. Each field in the union set gets its own static constructor on the union object, thus guaranteeing in a typesafe manner that valid unions will be constructed (in other words, exactly one field will be set, and it will be a value of the correct type). See https://twitter.github.io/scrooge/GeneratedCodeUsage.html for scrooge-style union usage.

#3


Ability to customise placeholder text

Hi @Mobius1. Love your library! I will be using this in production. I am wondering if you could add the ability to define placeholder text when you are defining your options for a data table.
I would like to customise the following text for a certain table that searches a list of websites.
So instead of the following for example:

Search...
No rows found
Showing 1 to 1 of 1 rows

I would like to do:

Search Websites...
No Websites found
Showing 1 to 1 of 1 Websites

Thanks,
Jack

I'd be more than happy to implement these options in the next release. Should be done in the next day or so.

Brilliant, Thank you!

Customization implemented.  Thanks!

No problem!
Due to an error on our end, the wrong commit got pushed to the master branch. Please use v1.0.6 as v1.0.5 is broken. Check the docs for updates as well.
Karl.

@Mobius1 Forgot to get back to you. Yeah I noticed :-) works great, thanks again for your quick response!


feat(eslint/jsx_a11y): implement anchor_ambiguous_text

There is a remaining clippy issue with passing COW<_, str> which I simply can't resolve, but maybe there is more to fix first in my approach.
Currently this PR might do a bit too much allocations:

trim() - this sadly has no cowutils replacement but might not be needed. I kept the trim() in there as a "maybe optimisation" to skip the whole string modification shenanigans
replace() can't be used so I used retain (which also is a bit faster iirc?), but that converts COW => String. So maybe this should chain cow_replace?
I'm also not sure if if normalized_str.contains(char::is_whitespace) { is worth it? But my gut feeling is that it is, as it deconstructs and constructs a whole String<>

@camc314 can you help and get this PR merged.


Only load brightcove JS if a place has a video

Make sure the video still loads on /belize.

:+1:


operator.metricsVulnIdEnabled: true

What steps did you take and what happened:
operator.metricsVulnIdEnabled: true -> service monitor -> server returned HTTP status 500 Internal Server Error
What did you expect to happen:
Metrics should work and contain vulns ids
Environment:

Trivy-Operator version v0.16.2

@gerbil this issue has been fixed with trivy-operator v0.16.3

Thank you! Working fine now.


rabbitmq: Add a RABBITMQ_PORT setting.

See zulip/docker-zulip#377.

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @alexmv; I agree this can be backported.


Agent leaks memory slowly when console-server is connected

Testing on master, I see a small memory leak from Agent whilst the console-server is connected.   I see a slow but steady growth of about 50KiB per min (heap).  I see the issue for the standard address space when the applications are generating messaging traffic.  The issue is the same for queue and cast addresses.  Brokered address space doesn't seem to have the same issue.
If there is no one logged on to the console-server (and therefore no AMQP connection between console-server and agent), the memory leak doesn't occur.  Once memory has been leaking, if the  last console user logs off, the console-server will disconnect from the Agent.  At this point some (but not all) of the leaked memory is freed
I have been using Chrome Devtool's heap comparison feature.  The leaking objects are classified as arrays/system objects.  There are no application domain objects leaked.

I'm having problems identifying the source of leak.  I've been focusing on the arrays but array is frequently allocated it is difficult to distinguish new short lived objects from what might be a leak.

I confirmed that the delivery is being settled, both by looking at the protocol trace and by adding a settled event handler.
Separately, it seems the size of the leak is not proportional to the number of updates received by the console-server.  I tried multiplying the number of addresses and connections by 5, and the leak seemed the same.

Whatever the issue is, I see the same behaviour with 0.30.2.   When a console is attached, the tooling shows me a steady leak of arrays etc.  When the console is removed the leak stops, but the lost memory seemingly isn't recovered.

Closing, no further action for now.


Debounce scroll and resize events

Hi @Ludophonic ,
currently the script does quite a lot of work on every scroll and resize event, which isn't very nice performance wise.
window.addEventListener('scroll', checkVisibility, false);
window.addEventListener('resize', checkVisibility, false);

Consider debouncing those events for improved performance.
Nice work 👍

https://developer.mozilla.org/en-US/docs/Web/Events/scroll
// Reference: http://www.html5rocks.com/en/tutorials/speed/animations/

var last_known_scroll_position = 0;
var ticking = false;

function doSomething(scroll_pos) {
  // do something with the scroll position
}

window.addEventListener('scroll', function(e) {
  last_known_scroll_position = window.scrollY;
  if (!ticking) {
    window.requestAnimationFrame(function() {
      doSomething(last_known_scroll_position);
      ticking = false;
    });
  }
  ticking = true;
});


An error occurs after creating a document for a Mongo/SQL account

OS: All
Azure Resource Extension Build Version: 20220421.32 (unified)
Azure App Database Extension Build Version: 20220422.3 (unified)
Regression: Not a regression
Repro Steps:

Expand a mongo account.
Right click the collection -> Click "Create Document".
Check whether no error occurs.

Expect:
No error occurs.
Actual:
An error occurs.

More Info:

Fail to open the new created document.
This issue also reproduces for a SQL account.
This issue also reproduces when creating a stored procedure for a SQL/Graph account.

Same error occurs after executing "Open Collection" for a Mongo/SQL account.

Needs verification @nturinski

@v-xinda Could you verify that this is still reproducing?  I believe that it should be fixed.

@nturinski Fail to create a SQL/Mongo account with an error 2005. I will verified the above issue after fixing the issue 2005.

Verified on the latest build 20220517.5, this issue is fixed.


Login System

a "simple" login system.

This will be implemented after the release from lets encrypt.


Xarray operations produce read-only array

I've turned on testing my Satpy package with unstable or pre-releases of some of our dependencies including numpy and xarray. I've found one error so far where in previous versions of xarray it was possible to assign to the numpy array taken from a DataArray.
MCVE Code Sample
import numpy as np
import dask.array as da
import xarray as xr

data = np.arange(15, 301, 15).reshape(2, 10)
data_arr = xr.DataArray(data, dims=('y', 'x'), attrs={'test': 'test'})
data_arr = data_arr.copy()
data_arr = data_arr.expand_dims('bands')
data_arr['bands'] = ['L']
n_arr = np.asarray(data_arr.data)
n_arr[n_arr == 45] = 5

Which results in:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-12-90dae37dd808> in <module>
----> 1 n_arr = np.asarray(data_arr.data); n_arr[n_arr == 45] = 5

ValueError: assignment destination is read-only

Expected Output
A writable array. No error.
Problem Description
If this is expected new behavior then so be it, but wanted to check with the xarray devs before I tried to work around it.
Output of xr.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 3.7.6 | packaged by conda-forge | (default, Jan  7 2020, 22:33:48)
[GCC 7.3.0]
python-bits: 64
OS: Linux
OS-release: 5.3.0-7629-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
libhdf5: 1.10.5
libnetcdf: 4.7.3
xarray: 0.15.1.dev21+g20e6236f
pandas: 1.1.0.dev0+630.gedcf1c8f8
numpy: 1.19.0.dev0+acba244
scipy: 1.5.0.dev0+f614064
netCDF4: 1.5.3
pydap: None
h5netcdf: None
h5py: 2.10.0
Nio: None
zarr: 2.4.0
cftime: <IP_ADDRESS>
nc_time_axis: None
PseudoNetCDF: None
rasterio: 1.1.3
cfgrib: None
iris: None
bottleneck: None
dask: 2.11.0+13.gfcc500c2
distributed: 2.11.0+7.g0d7a31ad
matplotlib: 3.2.0rc3
cartopy: 0.17.0
seaborn: None
numbagg: None
setuptools: 45.2.0.post20200209
pip: 20.0.2
conda: None
pytest: 5.3.5
IPython: 7.12.0
sphinx: 2.4.3

Thanks for the report @djhoese . Confirmed in 0.15.0 too.
Do you know which of those steps causes the array to become non-writeable?

It's usually expand_dims.
We should add an FAQ for little things like this.

https://github.com/pydata/xarray/issues/2891

@max-sixty That's exactly it. What's really weird for this is that the original code in Satpy is using a dask array and not a numpy array. It seemed very strange to both copy the DataArray (.copy()), convert the dask array to a numpy array (np.asarray), and then still get a read-only array.
I can understand how xarray would treat numpy arrays and dask arrays the same when it comes to this, but coming from outside the project it is very surprising that a dask array would be marked as read-only when it was used to just create a "new" numpy array.
Feel free to close this or use it as a marker to clarify some documentation or error messages as mentioned in #2891.

Cheers @djhoese
Yes, let's leave this open. Two follow-ups from https://github.com/pydata/xarray/issues/2891#issuecomment-482880911; we would welcome PRs:

Mention the work-around of using .copy() in the error message xarray prints when an array is read-only.

Add a copy argument to expand_dims, so users can write copy=True if they want a writeable result.

FYI, this is also seen on xr.apply_ufunc, but only when vectorize=True. It seems like ndarrays write switch are turned off when vectorize=True. This is also solved by .copy(), which is good anways to avoid mutating the original ndarrays. Perhaps also a copy=bool could be added to apply_ufunc to create copies of the ndarrays? I'd be happy to lead that PR if it makes sense.
Example:
def match_nans(a, b):
"""Pairwise matching of nans between two time series."""
   # Try with and without `.copy` commands.
   # a = a.copy()
   # b = b.copy()
    if np.isnan(a).any() or np.isnan(b).any():
        idx = np.logical_or(np.isnan(a), np.isnan(b))
        a[idx], b[idx] = np.nan, np.nan
    return a, b

A = xr.DataArray(np.random.rand(10, 5), dims=['time', 'space'])
B = xr.DataArray(np.random.rand(10, 5), dims=['time', 'space'])
A[0, 1] = np.nan
B[5, 0] = np.nan

xr.apply_ufunc(match_nans,
               A,
               B,
               input_core_dims=[['time'], ['time']],
               output_core_dims=[['time'], ['time']],
               # Try with and without vectorize.
               vectorize=True,)

I ran into the same issue as @bradyrx with writable arrays and apply_ufunc. An addition to the docs FAQ or apply_ufunc docs would help clarify that you can't write to the array inputs in the ufunc. I also want to +1 @bradyrx 's idea of making an arg to apply_ufunc that copies the input arrays to handle this common use case.


Improve gcp steps

Since I need to update the CO2 dataset, I decided to update the main source of data (the Global Carbon Budget dataset). The original data has not changed, but I have improved the handling of the steps, to use the latest ETL conventions and also the latest auxiliary datasets (e.g. population and regions).
Main changes to be reviewed:

When running the statistical_review step, ETL was failing when reading the metadata (not sure why that did not happen on the live server). It complained because the table section of the metadata yaml file didn't have a variables field. I fixed it, but I'm not sure if there's a better solution.
I added the function data_helpers.geo.list_members_of_region, which ingests the regions and income groups datasets and returns the list of members of a region. This should eventually replace the old list_countries_in_region which implicitly loads data.

Although I've refactored the GCP steps, there's no need to thoroughly review them, since I checked that the data has not changed.

LGTM!
I see that several of the processing happens in meadow (e.g. renaming columns). I usually do such things in garden. Is this a particular case?

Thanks Lucas! I'm not sure if all processing was totally necessary, but I thought it would be convenient to create all tables with a similar format, rather than having a dataset with very dissimilar tables. Maybe on the next version I'll move some of the processing to garden.


Create finance_invoice_transactions.sql

#517

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

Note contributing guidelines for pull request description:  https://github.com/folio-org/folio-analytics/blob/main/CONTRIBUTING.md


Implement OpenSSL::Cipher

This is going to be a long term project. The code itself is probably not that sophisticated (validate Ruby type, convert to C type, pass data to OpenSSL function), but all the specs need to be written as well.
Documentation for the gem: https://www.rubydoc.info/stdlib/openssl/OpenSSL/Cipher

Just to set the expectation here: I want to get the most basic example from the docs to work. That is:
data = "Very, very confidential data"

cipher = OpenSSL::Cipher.new('AES-128-CBC')
cipher.encrypt
key = cipher.random_key
iv = cipher.random_iv

encrypted = cipher.update(data) + cipher.final
# ...
decipher = OpenSSL::Cipher.new('AES-128-CBC')
decipher.decrypt
decipher.key = key
decipher.iv = iv

plain = decipher.update(encrypted) + decipher.final

puts data == plain #=> true

There are a lot of fancy additional features in this Ruby class (and the OpenSSL libs), but they will have to wait.

I want to get the most basic example from the docs to work.

❤

I made a small variation of the example script:
data = "Very, very confidential data"
cipher = OpenSSL::Cipher.new('AES-128-CBC')
cipher.encrypt
cipher.key = '1' * cipher.key_len
cipher.iv = '2' * cipher.iv_len
encrypted = cipher.update(data) + cipher.final
puts encrypted.unpack1('H*')

ciphertext = ["f161a8f5829bb47089cf5c5b021515f68b1133495b29d8c1d8481474a4dd576d"].pack('H*')
cipher = OpenSSL::Cipher.new('AES-128-CBC')
cipher.decrypt
cipher.key = '1' * cipher.key_len
cipher.iv = '2' * cipher.iv_len
plaintext = cipher.update(ciphertext) + cipher.final
puts plaintext

This replaces the random key and iv with fixed values, and prints the ciphertext. The big binary text is the actual ciphertext. Running this in Natalie results in the same output as running this in MRI.


regulated-assets-approval-server/internal/serve/:  Handle success response.

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[x] This PR adds tests for the most critical parts of the new functionality or fixes.
[x] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[ ] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What

Receive incoming transaction
Inspect if transaction is a revised compliant  and signed by the issuer(if not signed then have the issuer sign it).
Return a success response

{
  "status": "success",
  "tx": "AAAAAHAHhQtYBh5F2zB7...",
  "message": "Transaction is compliant and signed by the issuer, ready for the source account's signature and submission."
}

Closes:#https://github.com/stellar/nebula/issues/189
Why
Covers the SEP-08 "success" case
Known limitations
N/A

Inspect if transaction is a revised compliant and signed by the issuer(if not signed then have the issuer sign it).

I don't think this phrase is accurate, the word "revised" means something that was changed/edited. In this case the incoming transaction is already compliant with the regulated assets authorization strategy described in SEP-8, meaning no revision took place. Does that make sense?

Despite checking the "PR checklist" option "This PR's title starts with name of package that is most changed in the PR", this PR title is not starting with the full package name, which should be services/regulated-assets-approval-server/internal/serve

Inspect if transaction is a revised compliant and signed by the issuer(if not signed then have the issuer sign it).

I don't think this phrase is accurate, the word "revised" means something that was changed/edited. In this case the incoming transaction is already compliant with the regulated assets authorization strategy described in SEP-8, meaning no revision took place. Does that make sense?

You're totally right let me update that.

Closed in favor of https://github.com/stellar/go/pull/3652.


Bug in close dropdown

I'm submitting a bug report

Current behavior

when close the dropdown by clicking other area(it wouldn't happen if click on the dropdown button to close it),  there would be an unexpected border on the dropdown button.

Expected behavior

Minimal reproduction of the problem with instructions

click the dropdown button to open it
click other area to close the dropdown list

Might be related to Materialize-css

I think its fixed.


cmake: build libcamhal.so from static lib

This PR builds libcamhal.so directly from already built libcamhal.a to save some compile time and to make sure static/shared libraries have the same object code.

update: Fix undefined symbols. Don't touch target_link_libraries statements for libcamhal shared library.

@hao-yao could you please help to review this PR? It reduces the compiling time so that we save time during Debian packing.


Scan options

Trying to use scan command, but i'm not able to set options, for example:
const result = await redis.scan(0, 'match', 'movie:*');
return the following error
UpstashError: ERR unsupported arg type: %!q(<nil>): <nil>
i'm probably not understanding how to pass the options to the command

Hey, the scan signature is like this:
scan(cursor: number, opts: {
  match?: string
  count?: number
  type?: string
})

And take a look at the tests, they might help too.
I'm struggling to find a nice solution to autogenerate this type of documentation :/

thank you, got it!


pip install issue

pip install decrunch
gives the following output (on Windows 10 1607 & Python 3.6.1):
Running setup.py (path:%USERPROFILE%\AppData\Local\Temp\pip-build-wxg4s8ak\decrunch\setup.py) egg_info for package decrunch produced metadata for project name unknown. Fix your #egg=decrunch fragments.   Requirement already satisfied (use --upgrade to upgrade): unknown from https://pypi.python.org/packages/7b/0f/ea88026a5e2340eb45df1289e67c925e551158244728abdb7107d946f294/decrunch-0.2.1.tar.gz#md5=1e189a72d122fafc1717e6781c1567e2 in %USERPROFILE%\appdata\local\programs\python\python36-32\lib\site-packages

Run pip install --upgrade pip setuptools wheel before installing decrunch.


Derive Hash for Id

Small change but to a primitive type. This PR serves as a place to discuss whether it is viable to derive Hash for Id<T>.
It is often useful to track entities in a hashmap where the key is the entity ID (i.e HashMap<Id<_>, _>. Currently, we'd need to represent it as HashMap<H256, _> and then use Id<_>::get(&self) before accessing the hashmap.

Please, no. Use BTreeMap instead, which most of the time is more than enough. We avoid HashMap and HashSet as much as possible because it can easily cause confusion because we have hashing for data to H256.

Thanks for the input @TheQuantumPhysicist, makes sense!


Base URL Option for use with sub directory Reverse Proxy

I've had a read through the docs and the open and closed issues and didn't spot anything related to this.
Would it be possible to add a config option for base URL for use with sub directory based reverse proxy setups?
The sort of thing would be a config option where i could specify it as for example /gaps, then when i setup a reverse proxy of /gaps all of the URL's would pass through the reverse proxy nicely and be handled by the gaps web server.
At the moment if i try to do this the page only partially loads as lots of the links are broken as they point at / rather than /gaps/
Thanks for your work on gaps, its been a great addition to my setup!

Yeah, I think I can put that together. So the idea is that index is at /gaps and everything else extends off that?

That's exactly it.
At the moment the pages won't load correctly through the reverse proxy as the url's in the index page are relative to / rather than /gaps (or whatever URL base could be set to).

That makes sense. Let me look into it. It may be as simple as using an out of the box Spring Boot feature or I can just set them to /gaps

Thinking about it more. I think I'd need to make the call. More in line with how plex is configured currently. I also tend to use PUT for saving and test as PUT is idempotent.
{     address : {ip},     port : {port},     apiKey : {apiKey} }

+1 Very much needed for reverse proxying - right now only accessible via IP and Port without Organizr and easy to forget the port given different services.

+1 Very much needed for reverse proxying - right now only accessible via IP and Port without Organizr and easy to forget the port given different services.

I made a fix for this. If you want to test it out before I merge you can pull alpha. If you're using docker you need to set the property BASE_URL=/gaps. If you're using Unraid, the template has been updated but you can add a new variable setting the key and value to BASE_URL and /gaps to test.
docker push housewrecker/gaps:alpha

Thanks for the update. Did as instructed but it is still not working properly.
nginx configuration:
       location /gaps {
               proxy_pass http://<IP_ADDRESS>:8484;

I noticed the following:

All the top-level links are rendered properly ("Libraries", "Missing", "RSS", "Settings", etc...)
All the other URLs are not and point to / instead of /gaps (from BASE_URL=/gaps), for example, the js/libraries/jquery etc...

TL;DR the main links work but the page appears broken
Thanks again for your work; a lot of people looking to integrate stuff in their stack and gaps is a nice feature to have!

That's a bummer. I know what the issue is. I'll see what I can do to get that fixed for you and thanks!

Does this work yet? I have added this to my compose:
        environment:
          BASE_URL: /gaps

But all I get is this:

It's a pretty big change and I've been working on it for a while. It's pretty close to done. Shouldn't be too much longer.

I have a working build with no base URL and with a base URL, I'm using 'gaps' as the test URL. This passed tests with the URL enabled and off. Unraid is updated with an input to set the URL. It can also just be set as a Docker property. BASE_URL

Commenting because I'm really interested in this as well. Hope to get a version to test soon!

The Docker build is published so you should be able to test using the BASE_URL environment variable. Let me know how it goes, @BEisem.

@JasonHHouse which tag? I'm using housewrecker/gaps:latest but I'm not seeing anything new. The last release was 5 days ago.

@BEisem housewrecker/gaps:latest That's when I released the update. Code isn't merged so this ticket is closed as I was waiting to make sure things worked correctly.

Ok so I don't think it's working, unless I'm doing something wrong... I added BASE_URL=/gaps to the environment variable in my docker-compose file. When I go to domain.com/gaps I get the same thing shown here: https://github.com/JasonHHouse/gaps/issues/193#issuecomment-816279215

That means the change isn't working. I'll keep on it and let you know when I update.

how to set this option for windows?


Don't use MaybeUninit::uninit().assume_init() as a placeholder value

Fixes https://github.com/ColinFinck/nt-list/issues/2
As a side note the compiler even shows a warning about that:

Thank you for the PR and @Urgau for the explanations in #2!
After reading through all of them, I agree that changing these initializations to ptr::null_mut is the right thing to do here.


Export solution cmdlet onpremise gives "WARNING: Unable to Login to Dynamics CRM"

Hi, with version <IP_ADDRESS> of the XrmCIFramework cmdlet i get "WARNING: Unable to Login to Dynamics CRM" when trying to export a solution. With version .31 i don't have any problems.

@scubaracer the update comes with <IP_ADDRESS> of the tooling library: https://www.nuget.org/packages/Microsoft.CrmSdk.XrmTooling.CoreAssembly/
There has been some minor changes since <IP_ADDRESS>. I suggest having a look at the docs to see if you can spot any difference that may impact you.
You can carry on using .31 as a backup for now.

We had some issues before with the tooling connector (<IP_ADDRESS>) when trying to connect to environments. Like casting exceptions from genereated code by the svcutil.

@WaelHamze hi, I have the same issue for Dynamics 365 <IP_ADDRESS>. Do you have ideas about how to fix that?

@scubaracer @nikitaus this should work now with latest nuget package


Replace locale.getencoding() with sys.stdout.encoding

This is actually what we want to use to decode these streams. Also locale.getencoding() is only available in python 3.11 or newer.
Fixes #582
Contribution checklist
Aim to have all relevant checks ticked off before merging. See the developer's guide for more detail.

[ ] Documentation has been updated to reflect change.
[ ] New code has tests, and affected old tests have been updated.
[x] All tests and CI checks pass.
[x] Added an entry to the top of docs/source/changelog.rst
[ ] Conda lock files have been updated if dependencies changed.
[x] Marked the PR as ready to review.

Merging without review as this is a targeted technical change that fixes a known bug.


add a platform profile when performing a maven canary release so we c…

…an build obsidian quickstarts

[merge]


Check if we can perform ethers bump

Description
Check if we can perform this  bump and what needs to be done for it.
Motivation
Keep dependencies updated

@portuu3 , we need wagmi bump, which is a big lift, to perform ethers bump.


Session check for code flow

Describe the bug
Hi,
I'm implementing code flow on angular and is trying to get the check session to work.
I have set sessionChecksEnabled to true and I get a warning message in the console saying sessionChecksEnabled is activated but there is no session_state.
I've scanned through initCodeFlow function and found out that storeSessionState were never called, does that mean session check is only for implicit flow?

@k-schneider May I know how to manually extract this session state? I am facing the same issue. Or is there any other way to do single logout?

I can confirm that if I start the most recent commit in my Code Flow branch in my sample repository that session checks no longer work, where they do work with master that has implicit flow currently.
Steps to reproduce:

Clone and check out this commit
npm ci
ng serve --open
Keep your app open, and in another tab go to https://demo.identityserver.io/grants and click "log out" at the top.

Actual result: Angular app doesn't change
Expected: Angular app sees the logout

If you do the same steps with the master branch using implicit flow, you do get logged out in Angular after step 4.

Sorry for the late reply, just getting back from an extended vacation.  Here's how you could hack around the problem if you really need to (haven't tested this in the latest release):
private initSessionChecks(): void {
    // The oidc lib does not support session checks with code flow (yet)
    // but we can work around this limitation by manually setting
    // the storage key if a session_state querystring value is available
    if (this.authConfig.sessionChecksEnabled && typeof window !== 'undefined') {
      let queryString = window.location.search;
      if (queryString.charAt(0) === '?') {
        queryString = queryString.substr(1);
      }
      const parts: any = this.urlHelper.parseQueryString(queryString);
      if (parts && parts.session_state) {
        this.authStorage.setItem('session_state', parts.session_state);
      }
    }
  }

In this example this.urlHelper is UrlHelperService from angular-oauth2-oidc.   You need to have this code execute before you let the OAuthService do its "try login".

Thanks for this info. It will work with version 9.1 which lands soon.

Thanks for this info. It will work with version 9.1 which lands soon.

I am on version 10 and still getting this warning!


"SubAccount" Database Table

ETA: 2023-10-14
Tech Design Docs

We agreed that subaccounts is not a priority right now.
We can re-open if it becomes one.


ES modules dynamic import loading for UI components

Follow-up of Wagtail 6.3 admin UI performance audit. We have a lot of opportunities to make Wagtail faster by deferring the loading of some of our UI components. This can be done with ES modules dynamic import (import()), and import maps.
Here are specific opportunities identified as part of the audit:

Axe
Downshift / ComboBox component
Pages explorer (React transition group, focus trap)
Tippy.js
DialogController

There isn’t necessarily a performance win in doing this for every component, but in some cases it could help. The advantage of deferring loading is other components won’t be competing for JS files downloading / parsing / execution work, but that only applies if the JS code that is deferred is consequential.

As part of this work, this would also be a good opportunity to add asynchronous loading attributes to existing <script> tags.
Tasks

[ ] Update the Webpack configuration to support dynamic imports
[ ] Create an import map for the Wagtail admin
[ ] Introduce dynamic import loading setup for one UI component, which we can then roll out elsewhere in the future.

hey i would like to work on this issue


Changed all AMIs to use gp3 vols

Summary

Create AMIs with gp3 EBS volumes instead of gp2
Implementation details

Changed vol type in .hcl files
Testing

There are no makefile targets named test or run-integ-tests, nor is there a .\scripts\run-integ-tests.ps1. I am not sure how to perform automated testing. Created al2 and al2arm AMIs and they looked fine.

New tests cover the changes:
Description for the changelog

Enhancement - Use gp3 volumes
Licensing
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks for creating this PR! I will find sometime to do a functional testing using our internal pipeline, and approve PR if it passed.

Updated in 13ee4c0

Thanks for the contribution @ezwillaws, unfortunately we won't be able to make this change for existing GA AMIs, as it has potential to break customers. Both the AMI description and the default block device mapping volume type are queryable via the ec2 describe-images API, which means customers could be relying on the "gp2" field existing to find the correct and latest AMI.
See block-device-mapping.volume-type and description under the --filters section of https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html
We are, however, going to be switching to gp3 for the upcoming AL2022 AMI, which is still in preview: https://github.com/aws/amazon-ecs-ami/pull/72. This will also match what the current base amazon linux 2022 minimal AMI uses as it's default.


Updated kubespray to support network id

What this PR does / why we need it:
For metallb we need to have support to override network ID on individual nodes which was missed when we did the last patch. So this would fix that. But this is part of the kubespray 2.21 release so we don't need to fix it on main
Which issue this PR fixes (use the format fixes #<issue number>(, fixes #<issue_number>, ...) to automatically close the issue when PR gets merged): fixes #
Public facing documentation PR (if applicable)

Special notes for reviewer:
Checklist:

[ ] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[ ] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] requires draining and/or replacing nodes.
[ ] will break the cluster.
I.e. full cluster migration is required.

So you're creating a -ck8s4 patch with this?

So you're creating a -ck8s4 patch with this?

Yes, that was the plan


Wrap taglib-1.11 Ogg/Picture methods for backward compatibility

Starting with taglib-1.11, pictures of a XiphComment are not accessible as
standard text fields but through a dedicated list. For backward compatibility,
the following methods are extended to handle pictures as standard text fields again.
The XiphComment::field_list_map method will report a METADATA_BLOCK_PICTURE field
containing the pictures, in the METADATA_BLOCK_PICTURE format, base64-encoded.
The XiphComment::add_field method will add/replace pictures to the dedicated list.
The value is expected to have the format associated to the key (METADATA_BLOCK_PICTURE
or COVERART). If the format is COVERART, the picture is converted to the
METADATA_BLOCK_PICTURE format.
The XiphComment::remove_field method will clear or remove pictures from the dedicated
list. Since the field_list_map does not expose COVERART pictures, this method only
support pictures in the METADATA_BLOCK_PICTURE format.
Wrappers are generated on taglib-1.7.2 using swig 3.0.7.
Closes #78

Hey! While this pull request looks like a great way to still support TagLib < 1.11, I'd rather raise the minimum required version for taglib-ruby to TagLib 1.11 (being in Debian stable is good enough for me).
That way, we can get rid of all the complexity of maintaining backwards compatibility and just add the methods for working with pictures without any #if sections.
Would you mind raising another pull request that does that?

I've actually mostly done it (that was the PR I was going to submit last
week, but I changed my mind at the last minute).
And I was going to ask for your opinion about abandonning support for older
versions, so yes, I'll submit another PR.
I still think this one should be integrated, is that OK for you?
2018-02-19 2:11 GMT+01:00 Robin Stocker<EMAIL_ADDRESS>
Hey! While this pull request looks like a great way to still support
TagLib < 1.11, I'd rather raise the minimum required version for
taglib-ruby to TagLib 1.11 (being in Debian stable is good enough for me).
That way, we can get rid of all the complexity of maintaining backwards
compatibility and just add the methods for working with pictures without
any #if sections.
Would you mind raising another pull request that does that?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/robinst/taglib-ruby/pull/80#issuecomment-366566318,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACPMMRQUxOpl1csXYqcLD-TfDUrwxIE2ks5tWMpagaJpZM4SJtEw
.

I still think this one should be integrated, is that OK for you?

Not sure, I want to keep the wrapper as thin as possible without any potentially surprising behavior on top of what TagLib itself does. So I'd prefer to just wrap the new methods without adding any "compatibility" code.

It just seems like having this compatibility code that does more things than what the methods normally do would mean that you can't do some things that you could otherwise do, for example:

I want to write a file with the deprecated COVERART field (let's say I'm trying to write a file that an application can read that only supports COVERART). With the code from this PR, I can't do that because it will get rewritten to a picture.
I want to remove a specific field, so I do remove_field("METADATA_BLOCK_PICTURE"). But because of the compat code, it removes all pictures instead..

Taglib-1.11 has dropped support for COVERART field, which is considered as deprecated. The C++ API still allow to insert a COVERART field (by inserting a standard text field instead of a picture object), but that's a bit tricky since it will get automatically converted to METADATA... the second time Taglib is used to edit the file. I wouldn't recommend playing with COVERART fields with Taglib-1.11.
When you say that doing remove_field("METADATA_BLOCK_PICTURE") will remove all pictures, were you trying to remove a single picture or remove the whole METADATA... field (vs the COVERART one)? In the first case, removal of a single picture is still possible, nothing has changed. In the second case, that's not my compatibility code, but due to Taglib-1.11 having dropped support for the COVERART field.

Hmm. I appreciate trying to fix this, but I'm fairly certain that not adding any additional logic on top of TagLib is the right call. I'm going to decline this, sorry.
Please raise a pull request for just supporting TagLib 1.11. When we release it, we can bump the major version to 1.0.0 to make it clear that there was a break in behavior.


Deploying multiplue instances of the same problem will sometimes result in a xinetd crash

(picoCTF-env) root@pico-local-dev-shell:/etc/xinetd.d# shell_manager deploy -r -n 5 "ECB 1" Traceback (most recent call last):   File "/picoCTF-env/bin/shell_manager", line 11, in <module>     load_entry_point('ctf-shell-manager==1.2.1', 'console_scripts', 'shell_manager')()   File "/picoCTF-env/lib/python3.6/site-packages/shell_manager/run.py", line 281, in main     args.func(args, config)   File "/picoCTF-env/lib/python3.6/site-packages/hacksport/deploy.py", line 878, in deploy_problems     debug=args.debug)   File "/picoCTF-env/lib/python3.6/site-packages/hacksport/deploy.py", line 728, in deploy_problem     instance["socket_file"])   File "/picoCTF-env/lib/python3.6/site-packages/hacksport/deploy.py", line 473, in install_user_service     execute(["service", "xinetd", "start"], timeout=60)   File "/picoCTF-env/lib/python3.6/site-packages/hacksport/operations.py", line 50, in execute     return process.wait_for_result()   File "/picoCTF-env/lib/python3.6/site-packages/spur/local.py", line 182, in wait_for_result     self._result = self._generate_result()   File "/picoCTF-env/lib/python3.6/site-packages/spur/local.py", line 194, in _generate_result     stderr_output   File "/picoCTF-env/lib/python3.6/site-packages/spur/results.py", line 11, in result     raise result.to_error() spur.results.RunProcessError: return code: 1 output: b'' stderr output: b'Job for xinetd.service failed. See "systemctl status xinetd.service" and "journalctl -xe" for details.\n'
Every time a new instance is created,
`execute(["service", "xinetd", "restart"], timeout=60)'
is called from install_user_service.
This needs to be changed to only restart once, after all of the instances have been created.

This has been fixed in Mutli instance fix #104


Expo permissions module was removed in SDK 42

Description of the bug
Expo permissions module was removed in SDK 42. Permissions module should be splitted into separate hooks for given Expo APIs (camera, notifications, etc.)

@JB1905 Do you think it will land somehow one day?
I have the feeling that @byCedric doesn't have time to maintain this repo —that's perfectly fine tho!
I can't migrate to the SDK42 because I am using this nice permission hook 😭

I'll take a stab at a new permissions hook. One that accepts permission requesters and getters, since we deprecated the expo-permissions library.
It's not that I don't have time for this. We are trying to move over the most useful hooks into expo itself 😁

the most useful hooks into expo itself 😁
That's what I thought, this repo is an "experimental" place before rolling out to the main repo and gets tons of news issues 😂

Exactly! But, that still means I have to fix the permissions hook for sdk 42 though 🙈 So I'll do that asap.
Instead of permission constants, it will accept the permission requesters itself. E.g. Camera.requestMicrophonePermission

So for single permission requests, I can imagine something working like this (see the use-permission.ts file). To request multiple permissions, I'd have to play around with some generics etc. But this should at least give you a similar API to use in your project @flexbox.

Thanks for the feedback @byCedric
I successfully migrated Camera and Location permissions with your hook!

FYI, this hook is going to be part of Expo itself. If this is starting from SDK 43, and not 42, I will add a copy of that hook in this library.

@flexbox @JB1905 I created a PR for this internally, if you have any feedback feel free to comment on it 😄

@byCedric Thanks I will have a look 🚀


node modules weren't transpiled by babel

This was a complex issue that required more or less the changes to
webpack and the move of the babel config to fix.
babel.config.json changes are there as on a particular input some
plugins were introducing errors.

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

@mstoykov I plan to look at it on this quarter.
Also, review https://github.com/grafana/k6-template-typescript/pull/34 and document the supported ES* features.

I have recently updated the project dependencies.
Currently, this project does not include an example resolving node_modules. If you are looking for that, refer to the k6-rollup-example.
I am closing this PR due to inactivity. Please, reopen if necessary.


[Runtime] Add basic connectors framework and support for file based and S3/GCS connections

Changes are in main to support connectors.


[CSL-194] Implement general-purpose proxy signature scheme

@gromak
See implementation notes for details. We must do it exactly how it's described. It should be part of Pos.Crypto and not know anything about Pos itself.

@gromak
Everything is described [here|http://i.imgur.com/6rgbRpI.png]. I think it's good enough explanation, so I won't elaborate on it here.
Well, one clarification is needed and is related to ω (i. e. message space). As you can see from figure, in our case message space is range of numbers (slots or epochs, doesn't really matter). It would be cool to support something more general (not limited to integer ranges), but don't spend too much time on it.
Anyway, message space should be modeled somehow and it must be possible to limit slot/epoch of block header to the certain range when block headers are signed.


Misdetection or mistreatment of streams

There is something wrong that is not right about precomp... That is about how technical I'm gonna get. Sorry, but I can't pin exactly where the fault is. I can describe how it looks, though:
A second run of precomp identifies and process several streams that should be properly addressed in the first one.
$precomp -cn -intense -brute -e test.bin

Recompressed streams: 6124/6247
GZip streams: 51/54
PNG streams: 871/871
PNG streams (multi): 2/2
GIF streams: 2/2
zLib streams (intense mode): 5190/5299
Brute mode streams: 8/19

You can speed up Precomp for THIS FILE with these parameters:
-d2

$precomp -cn -intense -brute -e test.bin.pcf

Recompressed streams: 193/230
GZip streams: 3/3
PNG streams: 1/3
zLib streams (intense mode): 189/216
Brute mode streams: 0/8

You can speed up Precomp for THIS FILE with these parameters:
-d1

At first I thought maybe there were some zlib literals stored by preflate, but in that case, it wouldn't be beneficial to re-recompress the file.
62,12 %		45094212		test.pcf_cn.pcf_cn.raz
64,68 %		46955772		test.pcf_cn.raz
67,92 %		49303633		test.pcf_cn.pcf_cn.arc
70,32 %		51048411		test.pcf_cn.arc
100,00 %	72595528		test

I decided to close this and remove the bug label. Let me explain this decision using the example of mozilla from Silesia Corpus where something similar happens.
TL;DR: Things are strange, but there are reasons. Main reason: False positives in intense and brute mode. Although this issue is closed now, things might get better in later versions.
Here are the results (file size in bytes) for this file using different parameters along once or twice, compressing using lzma afterwards (using -t+)

Parameters for each pass
One pass and compressed
Two passes and compressed

-cn
11,903,939
11,910,923

-cn -intense
11,955,623
11,954,647

-cn -brute
11,915,247
11,908,187

-cn -intense -brute
11,954,887
11,950,595

The first line is what is expected - a second pass makes things worse, everything's fine. Comparing the result to the other results in the middle column is still fine, there are false positives that make the compression ratio drop a bit, and the intense ones seem to be worse somehow.
The surprising numbers are the others, though: All intense/brute results get better in a second pass. I'll try to illustrate what's going on here with a brute stream that is detected in the second pass - in fact, it's the only stream that is processed by this pass and it improves the compression result a lot (11,915,247 bytes -> 11,908,187 bytes!) :
(19.46%) Possible zLib-Stream (brute mode) found at position 11484623
Compressed size: 94
Can be decompressed to 1070 bytes
Non-ZLIB reconstruction data size: 25 bytes

Highlighting this part of the .pcf in a hex editor leads to:

We can see two things there:

The file this comes from is human-readable, so it's definitely a false positive. By the way, the file this comes from is mozilla/chrome/messenger.jar/content/messenger/renameFolderDialog.xul
The last 6 bytes highlighted don't seem to belong to that file, data starts to get non-textual there.

Let's confirm this by looking at the original file:

Indeed, part of the highlighted data in the .pcf is not part of the .xul file. This is the reason why recursion didn't work in the first pass: Looking for brute streams in the .xul alone doesn't lead to a detection. In the next pass, however, the data is part of the .pcf and followed by some other data, which leads to a detection. Welcome to the strange world of zLib streams... :suspect:
It gets even weirder if we look at what is the result of inflating these 94 bytes to 1070 bytes. Remember that compression ratio is improved quite a lot - by transforming the highlighted text in the images above to this:

Welcome to the strange world of improving lzma compression ratio... :rage1:
So, at least for this special case where intense and brute mode detect only false positives, things are "easy":

A second pass sometimes helps, but this is only the result of strange coincidences
There is no magic additional compression, using intense and/or brute mode in this case gives worse results than not using it. (Also note: I tried a third pass on mozilla, too, no additional streams are detected and all ratios get worse)
This pops up in 0.4.7dev because preflate can recompress every zLib stream which also includes false positives.
Solution is: Don't use intense and/or brute if there are only false positives.

However, on files that have both false positives and improvements by intense/brute mode (like the test.bin file you posted), things are more complicated. In theory, you could analyse which streams are false positives and ignore them using -i which would lead to a ratio better than 62,12 %. In practice however, identifying false positives in 5000+ streams is time-wasting.
I'm sure there are ways to detect false positives like the example here. Expanding 94 bytes of text data to 1070 bytes of binary gibberish using 25 bytes of preflate reconstruction data is a clear false positive. However, as always, if we go too far with this, we'll start categorizing real deflate streams as false positives.


AutoLayout in drawer controller

It seems that auto layout is not working during the first opening of the drawer. Any element pinned to the left will get shifted off screen a few points. Once rotated the width is established correctly and the view will shift back into the correct positioning. I have attached a demo video and sample project.
https://www.dropbox.com/s/vgk2tm8ti8gpfri/autolayout.mp4?dl=0
https://www.dropbox.com/s/x721ao7qrzoatoy/DrawerTest.zip?dl=0

+1


Wes McKinney: pandas in 10 minutes | Walkthrough Sep 18, 2019

Contents
0:00 - Greetings & the book
0:19 - Fast tabular data I/O
0:38 - Time series operations
0:42 - Timestamp as index
2:01 - Moving window functions
2:17 - Data alignment
3:08 - Missing data handling
4:19 - Groupby operations
5:45 - Hierarchical indexing
6:50 - Merging and joining
9:05 - Pivot tables
9:28 - Data summary, statistics
10:16 - Closing

Added, thank you!!


Remove support for ember-cli-uglify config object

Going to close this as we are not using ember-cli-terser anymore at work.


fix SafeAccessWrapper serialization

Resolved DIMAGI-BOTS-J2

Codecov Report
Attention: Patch coverage is 92.10526% with 3 lines in your changes missing coverage. Please review.
:white_check_mark: All tests successful. No failed tests found.

Files with missing lines
Patch %
Lines

...ps/service_providers/llm_service/prompt_context.py
86.95%
3 Missing :warning:

Additional details and impacted files

:loudspeaker: Thoughts on this report? Let us know!

🚨 Try these New Features:

JS Bundle Analysis - Avoid shipping oversized bundles


Is it possible to override the return/confirm URL

Is it possible to override the return/confirm URL? For example with a hidden field?
I would like a different confirm URL in some cases.
Kind regards,
Dave

Not out of the box no. You’d need to fork the codebase and create a custom build with your desired logic added.


Add an action that can set assignments of FX returns in mixes and LR

In my poking through, refactoring, rewriting, module code, I just discovered that you can set the pan/balance of an FX return in a mix or LR -- but you can't control the actual assignment of an FX return in a mix or LR.  The parameter base for FX return to mixes is 66 14, to LR is 60 3C (those are all hex) -- but there aren't any hits for 66 in the code at all.
It looks like controlling FX return -> mix assignment was omitted by accident.  Either that or the relevant table wasn't present in earlier versions of the SQ MIDI protocol document than v3 (which seems to be what the module code was based upon, given it's included in the source code) and that omission got reflected into code.

Fixed in https://github.com/bitfocus/companion-module-allenheath-sq/commit/dfbd6178421c032b47623b84e87c499fad704e13.  No promises as to when that will be folded into an actual release.


Remove "workspaces" from package.json

We're getting warning from Yarn since a long long time about this. I think the "workspaces" field is not needed anyway in this project, because you only have one package and one package.json.
Yarn output:
warning Workspaces can only be enabled in private projects.

Hi @efoken , interesting, I didn't know that, I'm going to repair it, as soon as I have it ready I'll let you know.
By the way, have you tried the latest version of @atomico/storybook with storybook 7?


feat(webdriver-manager): use proxy for webdriver-manager

at first it didnt work for me.
How to solve? Set env variables as below:
$ set HTTP_PROXY=http://proxy.com:8080
$ set HTTPS_PROXY=http://proxy.com:8080
and then run your command
(in my case it was due to angular-seed, so when bower install ran, it picked up these variables)

Doesn't work for a couple of us. We tried HTTP_PROXY and HTTPS_PROXY and setting node config proxy and still get the error: Error: tunneling socket could not be established, cause=getaddrinfo ENOTFOUND 9091 9091:80. Other internet commands are working with the above proxy settings correctly