Unauthorized localhost access

It seem that disabling CORS only stops the browser from receiving the response, but not from making it completely. For example as a test if I open this link in Chrome, it sets the welcome message of my locally running Bee node to empty string, never mind how cors-allowed-origins is set 😬
https://test.felfele.org/cors.html?bee=http://localhost:1635/welcome-message&method=POST&body={"welcome-message":"cors"}
Tested on:
Chrome 89 - unauthorized access :x:
Firefox 86 - unauthorized access :x:
Safari 13 - blocked ✅
Brave 1.21.74 Chromium 89 - unauthorized access :x:
The content of the cors.html:
<html>
<script>
    window.onload = function () {
        const urlParams = new URLSearchParams(window.location.search)
        const url = urlParams.get('bee') || window.location.origin
        const method = urlParams.get('method') || undefined
        const body = urlParams.get('body') || undefined
        const mode = urlParams.get('mode') || undefined
        fetch(url, { method, body, mode }).then(console.debug)
    }
</script>

</html>

Originally posted by @agazso in https://github.com/ethersphere/bee/issues/1421#issuecomment-796845171

@agazso, can you please verify whether this is fied by #1421?
Thanks for reporting!

No, that is a related but different issue. #1421 was about that earlier the CORS headers were incorrectly configured and that PR fixed that.
Here I'm reporting that even the CORS headers are set correctly, some browsers (Chrome and Firefox) still make a request and that can have potentially malicious or dangerous effect. This is demonstrated with the link, if you click it on Chrome and have a local Bee node running, then it will change the welcome message to the empty string.

some solution was suggested here (api token)

@agazso is there any problem to solve here? i guess that some of this stuff will be resolved by the authorized api but not sure if there's anything to follow up on here. if not then please let's close this

It will be resolved by the authorized api. I suggest to close this issue once that is implemented.

After some discussion with @agazso  and @nugaon it was decided to move ahead with the smallest subset of functionalities that would allow the JS team to explore to what extent a simple RBAC solution would cover their use cases as DAPP developers.
It is implemented as a global policy that has role/resource/action granularity.
At the moment the policies are hard coded, however in the future they can be transparently moved to an external file.
The reason it is hard coded is that we don't have a strategy or recommendation for the DAPP developers on how to migrate their policy files when new endpoints are added, or default policies are changed for existing endpoints.
Security levels
By default the bee instance will boot in insecured mode, allowing access to all current APIs in the same way it always has been.
If the -restricted command line flag is provided - it will apply the default (hard coded) security policies and access to all the APIs will be restricted and token based.
Modus operandi
This solution introduces two configuration params for the admin username and password, that can be used for the Basic authentication (alongside a role) when requesting a security token.
Upon successful authentication a new token will be generated and stored in the memory of the bee instance.
The token must be presented to the API on every request in order to gain access to the resources allowed by its corresponding role.
At the moment it only contains the role and expiration time, however it can be extended to have a counter or any other extra trackers to measure allowance, for instance.
Alternative
A dedicated proxy (side car) service could be implemented to take care of the security/allowance. This approach would require securing the bee instance by some other means (firewall rules) and then interacting with it exclusively via the side-car proxy.
Due to uncertainty we decided to go with the bee side security. This would allow us to see to what extent this solution fits us and give us more empirical data to make a better decision.

@notanatol Can we link the PR with this issue? Maybe close this if its merged already.

@agazso can we close?


A nice work, and could you update the code to latest pytorch version (>0.4.0)?

Thanks for the push -- done!


Minor: fix multiple typos

Which issue does this PR close?

Closes #.
Rationale for this change
This PR fixes multiple typos from
"docs/source/_static/theme_overrides.css", "docs/source/user-guide/configs.md", "docs/source/user-guide/sql/write_options.md"
globaly -> globally
custimized -> customized
trucate -> truncate
Sepcific -> Specific
What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

I took the liberty of running prettier and committing a fix to this branch to get a clean CI run.

Thanks again @Smoothieewastaken  and @jackwener


Enforce foreign key constraints everywhere

That would have prevented this awkward situation: https://github.com/studentinsights/studentinsights/pull/1165#issuecomment-343319396
Right now we have Discontinued Services in our database with no associated service records, and that's not great.

Might be as straightforward as using https://github.com/jenseng/immigrant — we need to double check and make sure it doesn't have any side effects on the database.

@alexsoble Is this what you had in mind?
What would be a good way to test for side effects?

@gabivoicu I left some notes in the PR conversation, let me know if those make sense to you or if you have more questions!

@alexsoble I saw them but haven't had time to answer yet, hopefully tonight or tomorrow morning

Fixed by @gabivoicu in #1256!


Undefined Function

I have read the other closed Issues but it doesn't help me.
The error is

PHP Fatal error:  Uncaught Error: Call to undefined function Spatie\Php7to5\Console\ends_with() in C:\Users......\Composer\vendor\spatie\7to5\src\Console\ConvertCommand.php:136

I  did use composer global require to install the bundle.
I saw that into Composer\Vendor folder there is not any illuminate/support subdir.
How can I resolve this isssue?
Any help is appreciated, thanks

I get the same issue.

Fixed in v1.0.1


TS Language service crashing

Type: Bug
Well, to be honest I know that it will crash when I visit a certain file on my source code with a method that is not declared in the interface being used by a service.
When I control click the method to navigate it crashes.
I know that these informations are not that helpfull but at least I am sending system information and probabbly the crash dump
VS Code version: Code 1.76.2 (ee2b180d582a7f601fa6ecfdad8d9fd269ab1884, 2023-03-14T17:55:54.936Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: No
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz (8 x 3302)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
15.70GB (6.59GB free)

Process Argv
--crash-reporter-id d1788365-191a-4302-8cb0-e4f04669c58a

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: <IP_ADDRESS>

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (8 x 3600)

Memory (System)
23.47GB (17.33GB free)

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

remote-ssh
ms-
0.98.0

remote-wsl
ms-
0.76.1

gitlens
eam
13.4.0

copilot
Git
1.78.9758

vscode-proto3
zxh
0.5.5

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30681850
azure-dev_surveyone:30548225
pyindex848:30662994
nodejswelcome1cf:30587006
3biah626:30602489
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
a9j8j154:30646983
6233i204:30672705
vsccsb:30677849
pythonb192:30669360
defaultazurewalk:30687958
pythonms35:30686772

Does this reproduce in the latest VS Code insiders build with all extensions disabled?
If it does, can you share the project/file that causes the crash?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Ignore data sync errors and allow custom should_capture via Delegator pattern

In order to prevent thousands of transient errors being reported to Sentry during the data sync window (errors that occur only because databases are copied/provisioned overnight and are sometimes unavailable), we want to configure the should_capture logic in govuk_app_config in the same way as Content Publisher and Email Alert API, so that the fix is applied centrally. This involves setting the should_capture behaviour to ignore any errors of type PG::Error, if we are in the data sync window (10pm to 8am, according to Puppet).
However, we want to allow downstream apps to be able to define their own should_capture conditions too. Therefore, this PR:

Changes the object apps interact with when they call GovukError.configure - it now calls DefaultConfiguration.configure, which uses the Delegator pattern as suggested by @kevindew. The pattern delegates methods to the Raven.configuration object unless they've been explicitly overridden in DefaultConfiguration.
^ this enables us to define our own default should_capture=(callback), inside DefaultConfiguration - but also allows downstream apps to provide their own should_capture=(callback) callbacks too. There are loads of ways these variants can be logically combined - described in 61784227ff26c9a7f038c9c64b847ea8e6104599 - but we've gone for a relatively simple AND. This means that both the default callback and the custom callback must return true for the overall should_capture callback to return true.
The default should_capture callback examines the error type and determines whether or not we are in the data sync window to decide if the error should be captured. It does this by looking at a global GOVUK_DATA_SYNC_PERIOD ENV variable of the form 22:00-08:00. PG::Error errors that occur during this time frame will be ignored.
The ENV variable doesn't exist yet: I will raise a separate PR in govuk-puppet for that.

This work was quite fiddly. Consequently, there are a couple of tests I haven't figured out how to fix yet, and a slightly meandering commit history. I'm hoping to at least fix the former before the PR is merged.
Trello: https://trello.com/c/rAlvGlSp/2123-5-ignore-data-sync-errors-in-govukappconfig
Fixes #152.

Superseded by #160.

Thanks for the review, @kevindew - it gave me a lot of food for thought!
I've addressed your comments and raised a new PR at #160.


Timeout & Il2CppType cannot be NULL.

having this issue when trying to dump big-size game
Failed to load script: timeout was reached
[il2cpp] Handle for "Il2CppType" cannot be NULL.
    at Object.raise (node_modules/frida-il2cpp-bridge/dist/utils/console.js:10:1)
    at new NonNullNativeStruct (node_modules/frida-il2cpp-bridge/dist/utils/native-struct.js:27:1)
    at new Il2CppType (node_modules/frida-il2cpp-bridge/dist/il2cpp/structs/type.js:13:1)
    at Il2CppParameter.get type (node_modules/frida-il2cpp-bridge/dist/il2cpp/structs/parameter.js:19:1)
    at Il2CppParameter.descriptor.get (node_modules/decorator-cache-getter/dist/index.js:9:1)
    at Il2CppClass.toString (node_modules/frida-il2cpp-bridge/dist/il2cpp/structs/class.js:164:1)
    at node_modules/frida-il2cpp-bridge/dist/il2cpp/dumper.js:36:1
    at Generator.next (<anonymous>)
    at Function.dump (node_modules/frida-il2cpp-bridge/dist/il2cpp/dumper.js:44:1)
    at Function.classicDump (node_modules/frida-il2cpp-bridge/dist/il2cpp/dumper.js:32:1)

@BryanGIG
This is the same of #23 and #13.
The caller thread must be attached to the domain:
Il2Cpp.perform(() => Il2Cpp.Dumper.classicDump());

Can you confirm this solves the issue?

im using, and get result as an issue
Il2Cpp.perform(() => {
    // it will use default directory path and file name: /<default_path>/<default_name>.cs
    Il2Cpp.Dumper.classicDump("dump.txt","/data/local/tmp")
});

@BryanGIG
What's the application you are trying to dump? I'll check it out

playstore link

@BryanGIG
I cannot play that game because it requires google play services, which I don't have. May you provide more info?

What kind of info that i can provide?

@BryanGIG
Info such as the script you are using (both typescript and JS compiled versions)

im using node.js v16.7.0

@BryanGIG
The node version is irrelevant, I need the source code (index.ts and the "compiled" .js files).

sure, here's the file
Il2cpp-bridge.zip

@BryanGIG
The code look good to me.
However I managed to download that game and I didn't had that error. I have successfully dumped the game. So you are definitely missing something in your project setup.

Glad to hear that, im waiting for the update😃

There are no issues, so there won't be any update.

PS: The game has a untypical unity version - some structs seems to be off, but I still managed to dump the game.
This is still true tho, Il2Cpp.Dumper doesn't always succeed and I don't know why.


Confusing error message when some of the tags do not match regex properly

I have an image repository with one tag
SHA-123

And I use this regex ^[a-fA-F0-9]+-(?P<build_number>[0-9]*)  to find the "123" that is later being compared numerically.

I now add this tag
SHA-v1.2.3-prod

Now image policy starts failing with the following message:

no image found for policy

It seems that the real problem is that my Regex does not guarantee only numbers (no $ at the end) so it will read the new tag and numerical policy cannot apparently be applied.
My suggestion is to improve the error message to be more informative as really there are images found for the policy (form step 1), but there are some images that are failing. Ideally the message should include the tag that does not work as well, e.g.
"found image SHA-v1.2.3-prod which extracts  that cannot be used in specified policy"
That would help narrow down the problem as the original message is quite confusing: there are in fact images that satisfy the policy.

Thanks for reporting this, @ilya-git. I'll look into it and see what improvements can be made.


Add facility for "flash" messages, use for login notification

A semi-transparent bar that can display informative messages, in particular for the case when someone logs in to an event page that hasn't started yet.

Just a note that #398 implements said functionality for its event template reloading functionality, it's pretty trivial to use the node module leveraged there for this as well.

New design handles login notifications for event participants. Closing this issue for now.


Support Spring boot configuration

It would be nice to have a SpringBootConfigProvider out of the box in Stork, this could ease the use of stork by Spring boot applications even if today it possible to do it by using the configuration programmatically API.

Done 6c37389be69205b9b755d8c611a67ffb507f9335


Add workflow to automatically add issue to the ROADMAP project

What this PR does / why we need it:
I little poked around the Github actions to triage Github projects. And looks like alex-page/github-project-automation-plus is the simplest one.
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Thank you for your review. Fixed them.

/lgtm

🏃
/approve


Metadata V15: Add Runtime API metadata

This PR collects the runtime API information for the metadata V15 and
exposes the metadata under metadata_at_version(u32::MAX).
Considering both sp-api and frame-support crates need access to the
metadata_ir (an intermediate representation of the metadata that can be converted
into multiple metadata versions), and frame-support depends on sp-api, the
metadata_ir has been moved to sp-api.
Implementation Details
decl_runtime_apis
Collects the runtime metadata of each declared trait using the metadata IR
and exposes the runtime_metadata.  The collection of the metadata happens
at this stage because it preserves trait and method documentation, as well as
method parameter names.
mod runtime_decl_for_core {
	// Metadata collected for the `Core` trait.
	pub fn runtime_metadata<Block, ...>() -> RuntimeApiMetadataIR {
		...
	}
}

impl_runtime_apis
This is the stage at which we definitely know which runtime traits are implemented for
the given Runtime. The macro collects all the RuntimeApiMetadataIR by calling
runtime_metadata of each trait.
The runtime_metadata function is exposed using the InternalImplRuntimeApis trait.
trait InternalImplRuntimeApis {
	fn runtime_metadata(&self) -> vec<RuntimeApiMetadataIR> {
		...
	}
}
impl InternalImplRuntimeApis for Runtime {}

InternalImplRuntimeApis and InternalConstructRuntime
There are many tests that use independently just the impl_runtime_apis or just construct_runtime.
However, only the impl_runtime_apis has access to the runtime metadata API.
To avoid a breaking change, the following behavior is desired:

when only construct_runtime is used a runtime_metadata method should return an empty runtime metadata API
when construct_runtime and impl_runtime_apis are used together, the runtime_metadata method should be deduced from the impl_runtime_apis macro

This is indeed the behavior exposed by rust unstable specialization: https://github.com/rust-lang/rust/issues/31844 feature.
One way of circumventing this is by introducing 2 traits
trait InternalImplRuntimeApis {
	fn runtime_metadata(&self) -> vec<RuntimeApiMetadataIR> {
                actual_metadata
	}
}

trait InternalConstructRuntime {
	fn runtime_metadata(&self) -> vec<RuntimeApiMetadataIR> {
                vec![ ]
	}
}

impl_runtime_apis implements InternalImplRuntimeApis on the Runtime itself (strongest pick by the compiler for runtime_metadata() fn). While construct_runtime implements InternalConstructRuntime on the & Runtime.
Using the Deref guarantees, if we are only using construct_runtime: the runtime will return an empty runtime metadata (avoid breaking change). Otherwise, when implementing both traits the runtime_metadata is deduced to be part of the InternalImplRuntimeApis that contains the complete runtime metadata API.
construct_runtime
This macro puts together the metadata IR and implements the InternalConstructRuntime for avoiding breaking changes.
trait InternalConstructRuntime {
	#[inline(always)]
	fn runtime_metadata(&self) ->vec<TraitMetadata> {
		...
	}
}

// Implemented for &Runtime - lower priority than InternalImplRuntimeApis
impl InternalConstructRuntime for & Runtime {}

let rt = Runtime;
let runtime_md = (&rt).runtime_metadata();

Part of: https://github.com/paritytech/substrate/issues/12939.
Testing Done
Frame-metadata PR: https://github.com/paritytech/frame-metadata/pull/48
Subxt PoC branch for generating the runtime interface subxt/lexnv/metadata_v15, example from subxt/lexnv/runtime_calls
    // Subxt PoC

    // Build payload
    let api_tx = polkadot::runtime_api::Metadata::metadata_versions();
    // Submit payload
    let bytes = api.runtime_api().at(None).await?.call(api_tx).await?;
    println!("Metadata::metadata_versions: {:?}", bytes);

    // Build payload
    let alice = AccountKeyring::Alice.to_account_id().into();
    let api_tx = polkadot::runtime_api::AccountNonceApi::account_nonce(alice);
    // Submit payload
    let bytes = api.runtime_api().at(None).await?.call(api_tx).await?;
    println!("AccountNonceApi::account_nonce: {:?}", bytes);

Runtime API metadata extracted from substrate for the Metadata trait:
RuntimeApiMetadata {
    name: "Metadata",
    methods: [
        RuntimeApiMethodMetadata {
            name: "metadata",
            inputs: [],
            output: UntrackedSymbol {
                id: 782,
                marker: PhantomData<fn() -> core::any::TypeId>,
            },
            docs: [
                " Returns the metadata of a runtime.",
            ],
        },
        RuntimeApiMethodMetadata {
            name: "metadata_at_version",
            inputs: [
                RuntimeApiMethodParamMetadata {
                    name: "version",
                    ty: UntrackedSymbol {
                        id: 4,
                        marker: PhantomData<fn() -> core::any::TypeId>,
                    },
                },
            ],
            output: UntrackedSymbol {
                id: 783,
                marker: PhantomData<fn() -> core::any::TypeId>,
            },
            docs: [
                " Returns the metadata at a given version.",
                "",
                " If the given `version` isn't supported, this will return `None`.",
                " Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime.",
            ],
        },
        RuntimeApiMethodMetadata {
            name: "metadata_versions",
            inputs: [],
            output: UntrackedSymbol {
                id: 105,
                marker: PhantomData<fn() -> core::any::TypeId>,
            },
            docs: [
                " Returns the supported metadata versions.",
                "",
                " This can be used to call `metadata_at_version`.",
            ],
        },
    ],
    docs: [
        " The `Metadata` api trait that returns metadata for the runtime.",
    ],
}

Next Steps

[x] Expose documentation under docs flag similar to frame
[x] Adjust and add testing for the new metadata
[x] Construct runtime metadata entirely in decl_runtime_api (poc commit)
[x] Avoid breaking changes by abusing Deref (poc commit)

cumulus companion: https://github.com/paritytech/cumulus/pull/2357
cc @paritytech/subxt-team

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2346260

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2346262

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2346261

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2346267

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2349509

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2349510

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2349511

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2349780

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2349779

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2349781

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2350170

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2360897

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2360891

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2360892

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2360890

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2361153

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2361154

@harrysolovay would also like pallet documentation to be included in V15 metadata (@bkchr has already given the thumbs up to this I do believ), so perhaps we can get that into this as well? :)

bot rebase

bot rebase

bot rebase

bot rebase

bot rebase

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2610838

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2610935

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2610983

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2611031

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2611080

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2611129

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2611226

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2610886

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2613158

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2613298

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2613561

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2616801

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2617049

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2618503

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2618504

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2618813

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2618811

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2619055

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2620010

bot rebase

bot merge

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/april-updates-for-substrate-and-polkadot-devs/2764/1

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/stablising-v15-metadata/2819/1


random ball sampling ?

Hi, Hugues,
Thanks you for your excellent work.  I got a question regarding the data preparation.
Do you randomly pick sphere for both training and testing ?  I see you are using the same data preparation code for both ?  Is this the reason why you got about 2 percent boost in testing , right ?
Thanks a lot

Hi @antonyvan,
Actually the spheres for training and test are chosen with what I called "potential strategy". You can see how that works in the batch_gen functions. This strategy uses potential to make the random sampling invariant to density variations. The basic idea is that every point has a potential (a scalar value initiated randomly) and everytime we need to pick a new sphere, we choose the point with the lowest potential as the center. Then we increment the potential of all sphere points and so on.
I hope that helps.
Best,
Hugues

Thanks Hugues,  This really helps.

From: Hugues THOMAS<EMAIL_ADDRESS>Sent: Thursday, March 26, 2020 8:43 PM
To: HuguesTHOMAS/KPConv<EMAIL_ADDRESS>Cc: antonyvan<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [HuguesTHOMAS/KPConv] random ball sampling ? (#66)
Hi @antonyvanhttps://github.com/antonyvan,
Actually the spheres for training and test are chosen with what I called "potential strategy". You can see how that works in the batch_gen functions. This strategy uses potential to make the random sampling invariant to density variations. The basic idea is that every point has a potential (a scalar value initiated randomly) and everytime we need to pick a new sphere, we choose the point with the lowest potential as the center. Then we increment the potential of all sphere points and so on.
I hope that helps.
Best,
Hugues
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/HuguesTHOMAS/KPConv/issues/66#issuecomment-604409581, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJV3XJVBGIFAA2LINKNI6I3RJNEX7ANCNFSM4LS5E5JQ.


visualize code - utils_viz issue&render_option.json

Thank you for solving the missing function, now it can output some visualization result. However, after the first frame, some warning come out:

~/EagerMOT/utils/utils_viz.py:132: RuntimeWarning: invalid value encountered in true_divide
axis_ = axis_ / np.linalg.norm(axis_)
[Open3D WARNING] [ViewControl] ConvertFromPinholeCameraParameters() failed because window height and width do not match.
[Open3D WARNING] Read JSON failed: unable to open file: render_option.json

And when I look into the saved output figures, it seems all dark, no contents.
Thanks and looking forward to the fix!

@LouisShen233 Hello, I have encountered exactly the same problem as you. Have you solved this problem? Can you share your solution?


certificate for multiple domains not working

Here's some system info:
uname -ra
Linux ubuntu 3.13.0-86-generic #130-Ubuntu SMP Mon Apr 18 18:27:15 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
/usr/local/bin/lego/lego --version
lego version v0.3.1-0-g96a2477
The problem is that when requesting for certificates for multiple domains(subdomains), only the first one in the list gets granted a certificate. I've tried with both production letsencrypt server and staging one.
root@ubuntu:/home# sudo /usr/local/bin/lego/lego --accept-tos --exclude="tls-sni-01"<EMAIL_ADDRESS>--domains="staging.example.com" --domains="dev.example.com" --domains="example.com" --domains="www.example.com" --server=https://acme-staging.api.letsencrypt.org/directory run
2016/06/11 11:05:27 No key found for account<EMAIL_ADDRESS>Generating a curve P384 EC key.
2016/06/11 11:05:27 Saved key to /home/.lego/accounts/acme-staging.api.letsencrypt.org/example<EMAIL_ADDRESS>2016/06/11 11:05:27 [INFO] acme: Registering account for<EMAIL_ADDRESS>2016/06/11 11:05:28 !!!! HEADS UP !!!!
2016/06/11 11:05:28
Your account credentials have been saved in your Let's Encrypt
configuration directory at<EMAIL_ADDRESS>You should make a secure backup	of this folder now. This
configuration directory will also contain certificates and
private keys obtained from Let's Encrypt so making regular
backups of this folder is ideal.
2016/06/11 11:05:28 [INFO][staging.example.com, dev.example.com, example.com, www.example.com] acme: Obtaining bundled SAN certificate
2016/06/11 11:05:28 [INFO][staging.example.com] acme: Trying to solve HTTP-01
2016/06/11 11:05:29 [INFO][staging.example.com] Served key authentication
2016/06/11 11:05:30 [INFO][staging.example.com] The server validated our request
2016/06/11 11:05:30 [INFO][dev.example.com] acme: Could not find solver for: tls-sni-01
2016/06/11 11:05:30 [INFO][dev.example.com] acme: Trying to solve HTTP-01
2016/06/11 11:05:30 [INFO][dev.example.com] Served key authentication
2016/06/11 11:05:31 [INFO][dev.example.com] The server validated our request
2016/06/11 11:05:31 [INFO][example.com] acme: Trying to solve HTTP-01
2016/06/11 11:05:31 [INFO][example.com] Served key authentication
2016/06/11 11:05:32 [INFO][example.com] The server validated our request
2016/06/11 11:05:32 [INFO][www.example.com] acme: Trying to solve HTTP-01
2016/06/11 11:05:32 [INFO][www.example.com] Served key authentication
2016/06/11 11:05:33 [INFO][www.example.com] The server validated our request
2016/06/11 11:05:33 [INFO][staging.example.com, dev.example.com, example.com, www.example.com] acme: Validations succeeded; requesting certificates
2016/06/11 11:05:34 [INFO] acme: Requesting issuer cert from https://acme-staging.api.letsencrypt.org/acme/issuer-cert
2016/06/11 11:05:34 [INFO][staging.example.com] Server responded with a certificate.
please note that i've replaced my domain names with example.com here, I didn't actually try to obtain certs for example.com

Hey!
When supplying multiple domains to the --domains switch, lego creates a SAN (Subject Alternate Names) certificate which results in only one certificate but this certificate is valid for all domains you entered. The first domain in your list is added as the "CommonName" of the certificate and all other domains are added as "DNSNames" to the SAN extension inside of your certificate.

@xenolf Thanks!


Fixed logos when hovered

Notes for Reviewers
This PR fixes #109
Signed commits

[x] Yes, I signed my commits.

@iArchitSharma @leecalcote Done some small changes, Thanks

@Raj100679 Please check the brand guidelines - https://layer5.io/company/brand and do the changes and use the white version or the light grey version of logos according to the guidelines.

Sure thing, will do the necessessary changes, Thanks

https://github.com/layer5io/docs/assets/85561967/7eafbc87-b7a4-451d-ad98-26f03d26ff4b
@leecalcote @iArchitSharma Is there any logo for meshmap which could be suitable here, I was not able to find it

@Raj100679 By changing _styles_project.scss  you are messing all the images in hyperlink changing them to a white color

@Raj100679 if you scroll down you can find download link of meshmap logo assests
But here is the logo anyway:


Fixed refcount issue in Python dlib.jitter_image and dlib.get_face_chips

Pybind was incrementing reference count when adding handle to a list. This has been fixed now. Apologies for not catching it in the last commit.
Test code:
import sys

import dlib
import cv2
import numpy as np

# Load all the models we need: a detector to find the faces, a shape predictor
# to find face landmarks so we can precisely localize the face
detector = dlib.get_frontal_face_detector()
sp = dlib.shape_predictor("shape_predictor_5_face_landmarks.dat")

# Load the image using OpenCV
bgr_img = cv2.imread("tom.jpg")

# Convert to RGB since dlib uses RGB images
img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2RGB)

# Ask the detector to find the bounding boxes of each face.
dets = detector(img)
face = sp(img, dets[0])

# Get the aligned face image
image = dlib.get_face_chip(img, face, size=320)
count = sys.getrefcount(image)
assert count == 2, "Memory leak detected in get_face_chip"

# Get 5 jittered images without data augmentation
jittered_images = dlib.jitter_image(image, num_jitters=5)

# Ref count check for jitter_image
count = sys.getrefcount(jittered_images[0])
assert count == 2, "Memory leak detected in jitter_image"

# Ref count check for  get_face_chips
faces = dlib.full_object_detections()
faces.append(face)
images = dlib.get_face_chips(img, faces, size=320)
count = sys.getrefcount(images[0])
assert count == 2, "Memory leak detected in get_face_chips"

print("No memory leak detected")

Cool, thanks for catching this.


added "offset" option

Use offset: { left: , top:  } to shift info window position left and top.

I signed it as VarDump s.r.l. (using<EMAIL_ADDRESS>Il 02/03/16 17:26, googlebot ha scritto:

Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project. Before we can look at
your pull request, you'll need to sign a Contributor License Agreement
(CLA).
:memo: Please visit https://cla.developers.google.com/ to sign.
Once you've signed, please reply here (e.g. |I signed it!|) and we'll
verify. Thanks.

If you've already signed a CLA, it's possible we don't have your
GitHub username or you're using a different email address. Check
your existing CLA data https://cla.developers.google.com/clas
and verify that your email is set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
If you signed the CLA as a corporation, please let us know the
company's name.

—
Reply to this email directly or view it on GitHub
https://github.com/googlemaps/js-info-bubble/pull/24#issuecomment-191313099.

InfoWindowOptions already has a "pixelOffset" property that references a Size type.
https://developers.google.com/maps/documentation/javascript/3.exp/reference#InfoWindowOptions
I'd suggest updating the code to use this, or at least use the same naming (i.e. using "pixelOffset" instead of just "offset" as well as Size's "width"/"height" properties instead of "left"/"top") this would make porting from InfoWindow to InfoBubble easier.


Display enabled: true | false on each model page

Describe the feature
Would love to see whether a model is enabled: true on the the models' page. A model could be disabled either in the dbt_project.yml file or on the model_file.sql. I think a good place to display this information is in the Detail section of the model, next to tags & package. Perhaps even highlight it green vs red for (enabled vs disabled).
Describe alternatives you've considered
Currently, the only way to show this information in the documentation is by placing the enabled: false in the config at the top of the file, and assuming enabled: true otherwise. This is not ideal since it is possible (and IMO ergonomic) to use the dbt_project.yml file to control this behavior. Additionally, even if we adhere to specifying enabled: false in each model individually, the documentation is geared towards business user who might not know enough sql / jinja / dbt to understand the significance of enabled: false or may not browse below the fold to see the sql snippet.
Additional context
Who will this benefit?
This will help improve end users ability to discover what is set up & should be fresh, and what artefact may be unsupported currently
Are you interested in contributing this feature?
Would love to contribute, but I'm patently bad at javascript & front-end stuff. If this is a new-comer friendly feature, I would greatly appreciate some pointers on where to start looking.

Hey @haleemur, fair point—I'd like to get to a place where we can start surfacing more configurations in the dbt-docs to benefit data modelers who use it as a way to quickly understand what's going on in the project.
In the case of enabled: false, however, I don't believe that disabled models should show up in the docs site at all! Is that something you've seen?


Remove internal retry in discovery_check_swarm_info

Caller retries are already in place, for example
./test/integration/discovery/consul.bats:43:	retry 5 1 discovery_check_swarm_info
./test/integration/discovery/consul.bats:53:	retry 10 1 discovery_check_swarm_info

Add outputs to frequently failing zk tests.
Signed-off-by: Dong Chen<EMAIL_ADDRESS>

LGTM ping @abronan

LGTM


Upload an image from local drive

How do I upload an image from the local drive to a web page?

Uploading a file is really just filling in the name of the file into some input element in a form and then submitting the form. For example, if you have an HTML form like this:
<form action="/image-upload">
  <input type="file" name="image" accept="image/*">
  <input type="submit">
</form>

you would just run the SendKeys test action to fill the name of the file, then the Click action to submit the form, like this:
- description: Type the file name into the input element
  action: org.getopentest.selenium.SendKeys
  args:
    locator: { name: image }
    text: C:\images\image1.jpg

- description: Click the submit button
  action: org.getopentest.selenium.Click
  args:
    locator: { css: input[type=submit] }

The only other issue that remains is how to get the full path to the image. The quick and dirty way to do it is to just store it in a known path on disk, like the C:\images directory I used in the example above. This is not a good choice, because the image is part of the test and should be stored in the test repository, just like the tests that are using it. So what you should do is create a directory named images in the root of your test repo and save the image in there. You can use subdirectories to organize your images, if you like. Then, in your test, you can download the image from the test repo to the test actor in a temporary path, and use that path for uploading the image. This is how the code looks like:
- description: Download image from test repo to the test actor
  action: org.getopentest.actions.GetTestAsset
  args:
    assetType: image
    assetRelativePath: image1.jpg
    targetFile: $tempDir + "/image1.jpg"
    overwrite: true

- description: Type the file name into the input element
  action: org.getopentest.selenium.SendKeys
  args:
    locator: { name: image }
    text: $tempDir + "/image1.jpg"

- description: Click the submit button
  action: org.getopentest.selenium.Click
  args:
    locator: { css: input[type=submit] }

Please note that the GetTestAsset action is not yet documented, but hopefully its arguments are mostly self-explanatory. Let me know if you have questions. The $tempDir syntax is documented here.

trying this method:
But getting this error

The problem is that the input element for the file upload is hidden, which causes the SendKeys action to fail. The way to solve this is to make the element visible before calling the SendKeys action by executing client-side JavaScript. Here's the Stack Overflow link: https://stackoverflow.com/a/40990427/2196067. You can execute client-side JavaScript in OpenTest by using the ExecuteScript keyword.

Not working

description: Verify on mobile view
action: org.getopentest.selenium.ExecuteScript
script: |
if ($config("selenium.custom.isMobile"))
{
$runAction('org.getopentest.selenium.Click',{
locator: $data("locators/Header").HeaderMenuLink
});
           $delay(2000)

          $runAction('org.getopentest.selenium.NavigateTo',{
                 url: "https://uat.bcom3test.com/app/profile/edit"
           });

           $delay(2000)

          $runAction('org.getopentest.selenium.SendKeys',{
             locator: {xpath: "//input[@type='file']"} ,
             text: "C:\Users\sapsharm\opentest\test-repo\images\Bird.jpg"
          });

           $delay(4000)
          }

          else

          {
             $runAction('org.getopentest.selenium.Click',{
                 locator: $data("locators/Header").headerprofilepic
           });

           $delay(2000)

          $runAction('org.getopentest.selenium.Click',{
                 locator: $data("locators/EditProfile").Edit
           });

           $delay(2000)

          $runAction('org.getopentest.selenium.SendKeys',{
             locator: {xpath: "//input[@type='file']"} ,
             text: "C:\Users\sapsharm\opentest\test-repo\images\Bird.jpg"
          });

           $delay(4000)
          }


OCPBUGS-5394: Fix invalid verification error when using aggregationLengthV6 only

Verification webhook incorrectly fails when BGP Adv. has only aggregationLengthV6 configured with IPv6 address pools only, because aggregationLength has default of 32 adv.AggregationLength will always be != nil even with ipv6 only config.


minify grafana config and exclude template files to avoid too large configmap

fixed #1147
with following observation:

previous method of creating grafana configmap puts all files under grafana-configuration directory, including template files. This doubles configMap size.
json files can be easily compressed using minify tools.

This PR reduced configMap size from 277920 byte to 61082.

Coverage increased (+13.4%) to 65.259% when pulling c5b52f2ed1963c56c61c10d37b33dbc7eaf18262 on dixu/minify-grafana-configmap into 36ec012c8396c1b6441182e894cb6743556e389a on master.

Configmap create from files and from directory seems get the same result, why you said doubles configMap size?

I am worry about that although the json file is compressed, if the number of dashboards increase in the future, the size may also be exceeded.

create configMap from directory will include .template file. This obviously double size.
Yeah, current size is 21% of limit. We might still exceed size limit if we add 30 more json files, I expect this will not happen in short term.
We can treat this as hot fix. You can add a full-fledged solution(split into different configMaps) in future.


on tablet (w720), no CheckBox visible

Hello,
on my tablet is no CheckBox visible.
Please Help

Are you sure that you have selected correct selection_type (for eg, Directories won't be having checkboxes in case of FILE_SELECT type but file would)?

i'am use that:
DialogProperties properties = new DialogProperties();
        properties.selection_mode = DialogConfigs.SINGLE_MODE;
        properties.selection_type = DialogConfigs.DIR_SELECT;
        properties.extensions = null;
        properties.root = new File(DialogConfigs.DEFAULT_DIR);

on smartphone is good
(sorry for my english)

Can you upload a screenshot? I have tried it with my nexus 10 and it is working perfectly....

The screenshot above is the first post.
I believe I have found the error.
It lies on the theme. Here I test my app in the Dark and Light Theme.
In Light Theme it's okay, but Dark Theme checkbox is not visible.
It is available, only the colors do not match.
Can the colors generally somewhat adaptable to the material Theme?

The colors of widgets adapt the default theme....

Can we close the issue, or I can help you with something?

I am recently working on styling the dialog....

yes, then we can close.

The issue was fixed in v1.0.3.


QR 3345 Services provides feedback when starting in background mode

Enable service framework to provide more feedback and act more intelligent when starting up to handle initialisation issues, and not hanging in started state without actually starting.
TODO After merge

[ ] Publish to npm

Seems OK to mi. A bit too high-level for mu limited experience with JS.


CreateRootElement never called

The CreateRootElement method never runs because an exception occurs during the execution of the SetupCustomTitleBar method
Template10 v1.12
Visual Studio 2017
MinTarget: Creators Update 1703 (build 15063)
Target: Fall Creators Update 1709 (build 16299)

This worked for everyone else. My guess is you must have figured it out. Can you share?


Update Composer dependencies (2020-05-31-00-09)

Visual regression test passed!
View the visual regression test report


catkin_make failed when there exist more than one python scripts with the same filename.

create a catkin workspace.
checkout rosserial repository.
kick off catkin_make.

-- +++ processing catkin package: 'rosserial_embeddedlinux'
-- ==> add_subdirectory(rosserial/rosserial_embeddedlinux)
CMake Error at C:/opt/ros/melodic/x64/share/catkin/cmake/platform/windows.cmake:128 (add_executable):
  add_executable cannot create target
  "make_libraries.py_executable_install_python" because another target with
  the same name already exists.  The existing target is an executable created
  in source directory "C:/jackal/src/rosserial/rosserial_arduino".  See
  documentation for policy CMP0002 for more details.
Call Stack (most recent call first):
  C:/opt/ros/melodic/x64/share/catkin/cmake/catkin_install_python.cmake:52 (add_python_executable)
  rosserial/rosserial_embeddedlinux/CMakeLists.txt:16 (catkin_install_python)

CMake Error at C:/opt/ros/melodic/x64/share/catkin/cmake/platform/windows.cmake:136 (install):
  install TARGETS given target "make_libraries.py_executable_install_python"
  which does not exist in this directory.
Call Stack (most recent call first):
  C:/opt/ros/melodic/x64/share/catkin/cmake/catkin_install_python.cmake:52 (add_python_executable)
  rosserial/rosserial_embeddedlinux/CMakeLists.txt:16 (catkin_install_python)

thanks for reporting! closing since this is the same issue as https://github.com/ms-iot/ROSOnWindows/issues/94


Basic wallet to send transactions to shard

The wallet should have the following commands:

getbalance <addr> - gets the balance of an address
sendtoaddress <fromaddr> <toaddr> <amount> - sends money to a certain address
redeem <toaddr> - redeems premine

Done in https://github.com/phoreproject/synapse/pull/64/commits/35082dbfbc89094d7178dcc09c6f0447de544aaf


[Enhancement] port olap chunk buffer dynamic limiter  mechanism

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

run starrocks_admit_test


(maint) Attach pe classifier groups to Production environment group

Runs of PE Puppet Acceptance for 3.8.x began failing several environment
tests after the new "Production environment" group was added to the
default pe classifications in PE-8444.  This new "Production
environment" group set the production environment for all pe nodes.  The
failing environment tests were making us of the helper method
lib/puppet/acceptance/classifier_utils#create_group_for_nodes to
create test groups in the classifier setting environment for nodes
under test.  But the method was setting the parent to the default root
group, and this was causing the classifier to return a conflict error
due to two separate groups attempting to override environment for the
same nodes.
Error: Could not retrieve catalog from remote server: Error 400 on
SERVER: Failed when searching for node
g4rlqrppmmi75av.delivery.puppetlabs.net: Classification of
g4rlqrppmmi75av.delivery.puppetlabs.net failed due to a classification
conflict: The node was classified into groups named "PE Certificate
Authority", "PE Console", "PE PuppetDB", "Production environment", "PE
ActiveMQ Broker", "PE Agent", "PE MCollective", "Special Environment",
and "PE Master" that defined conflicting values for the environment.
(In this case the conflict was between the groups "Production
environment" and "Special Environment" created by the test)
The fix was to get the new "Production environment"'s uuid and have it
be the parent of the test groups being created.

So the first question for this is whether it should be merged to master.
It will be needed in the 3.7 branch, which will then need to be merged to pe-puppet/3.8.x so that the PE Puppet Acceptance can pass.
So I've got this backwards, this should merge to 3.7, and then be merged up through stable/master as needed.  I'll close and reopen

Closed in favor of #3804


Plugin description has no use

What is the plugin description for? I would expect for it to appear while mouse hovering the plugin name in the project settings, but in 3.0 it doesn't show up and in master you can only read it if you click Edit plugin.
The documentation doesn't say anything about this.

CC @willnationsdev

@char0xff It's just not being displayed in the UI for some reason. I've added it to the "name" tooltip.


missing favorites and error occurred - list index out of range [x] feed.mobile

Issue Template
Please use this template!
Initial Check

[QUESTION] What is the the way to get all favorites? Thanks.

checked the following:

[] Python version is 3.6;
[] Updated Twint with pip3 install --upgrade -e git+https://github.com/twintproject/twint.git@origin/master#egg=twint;
[] I have searched the issues and there are no duplicates of this issue/question/request.

Command Ran

#!/usr/bin/python3
import twint
c = twint.Config()
c.Username = "USERNAME"
c.Since = "2018-01-01"
c.untill = "2018-12-31"
c.Limit = 20000
twint.run.Favorites(c)

Description of Issue

I  have run the command above, to collect all favorite in CSV file,
I faced two problems:
first:
after a while of fetching some favorites tweets I got this error. Actually, yesterday it was bring tweets until (2018-06-07) but today bring until (2018-12-13)..
second:
it was not bring all favorites tweets, even though apply conditions like (--location, --lang, --year before 2014, --since 2015 and more, --until and --resume using last favorite's id fitch in csv) in a way to bring all favorites. it always start from beginning.

Environment Details

Using mac OS

Thank you In advance..

Great! Thank you! That's really useful.
I'm going to check it out in the next days, thank you for your patience
-------- Messaggio originale --------
On 4 Feb 2019, 21:29, Arwa200 ha scritto:

i've tried with a new feature that you post
i got the following from log for favorites,
https://drive.google.com/file/d/1mpaos7opx9Y8W3GuI655Fd9TsZdZsBtJ/view?usp=sharing
for the last line says that no more tweet, i am sure that there more than this number, because i used an automatic scroll down to see if there is more tweet or not..
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@Arwa200 I have the solution, so Twitter is blocking the IP. Using a VPN or something solves the issue, I'm going to clean-up the code and push
Then you could try and let me know what you'll get
This might be related to #340

@pielco11 sure, so excited to try it with a new solution.

Unfortunately it lasted just few times, I guess that I did not find the solution, yet. I'm still testing right now

Firstly I tried with mobile.twitter.com and got the error, but the date of the last tweet is about a month before than the last scraped tweet which could still be ok since I do not get always the same amount of tweets.
Secondly I retried via twitter.com (Twint uses the mobile version, not desktop) and I can scroll down as much as I want.
Now let's go back to the first case, if I keep trying to scroll down, no more tweets are loaded. I have to wait a while and then click over "Try again". So I guess that Twitter is blocking mobile requests after a while and then asks for user interaction to keep scrolling

@Arwa200 I hope that you will find this as an exhaustive debug operation, if you have other ideas or suggestions, just say

@pielco11 Thank you very much, appreciate your effort for building such great tool ..
well, I'm thinking if there is any way to scraping data from twitter Advanced search , while l know it is not supported favorite search just hashtags and tweets
also, have you ever try with a normal API with adding function to save last tweet's id that fetched then call for next time starting with that id?

Twint automatically retries the query, even if I change the IP or wait a while (even 20 minutes) Twitter does not return more tweets

I will make an auto retweet by tool in chrome, then retrieve it with twitter archive, and this is maybe a little far from this tool..

#197


Remove EMC Power

There does not appear to be anyone using EMC Power
devices. Remove it from IML.
Signed-off-by: Joe Grund<EMAIL_ADDRESS>

This change is

Landed to b<IP_ADDRESS>


 For now RUSTC_WRAPPER is
overridden for normal execution but we can eventually one day probably support
RUSTC_WRAPPER!
Closes #5981

r? @matklad
(rust_highfive has picked a reviewer for you, use r? to override)

r? @dwijnand
@bors: delegate=dwijnand

:v: @dwijnand can now approve this pull request

:pushpin: Commit 51be74244bb1997df3afa0f6e8e4510c049808cd has been approved by dwijnand

@bors: r+

:hourglass: Testing commit 51be74244bb1997df3afa0f6e8e4510c049808cd with merge 65a6fa6933f779d0661203994b89cf5960374122...

I also manually tested this fixes my case in #5981:
23:53:40 $ type dcargo
dcargo is a function
dcargo ()
{
    /d/cargo/target/debug/cargo "$@"
}

23:53:42 $ dcargo new --lib foo && command cd foo && dcargo fix --lib
     Created library `foo` project
    Checking foo v0.1.0 (file:///Users/dnw/Desktop/foo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.55s

🎉

:broken_heart: Test failed - status-appveyor

:broken_heart: Test failed - status-appveyor

---- build_script::switch_features_rerun stdout ----
running `C:\projects\cargo\target\debug\cargo.exe run -v --features=foo`
running `C:\projects\cargo\target\debug\cargo.exe run -v`
running `C:\projects\cargo\target\debug\cargo.exe run -v --features=foo`
thread 'build_script::switch_features_rerun' panicked at '
Expected: execs
    but: exited with exit code: 101
--- stdout
--- stderr
       Fresh foo v0.0.1 (file:///C:/projects/cargo/target/cit/t353/foo)
error: failed to link or copy `C:\projects\cargo\target\cit\t353\foo\target\debug\deps\foo-5dfa908d8c0c3515.exe` to `C:\projects\cargo\target\cit\t353\foo\target\debug\foo.exe`
Caused by:
  Access is denied. (os error 5)
', tests\testsuite\support\mod.rs:731:13

@bors: retry

:hourglass: Testing commit 51be74244bb1997df3afa0f6e8e4510c049808cd with merge b15ee255e5cf625f15ff3f5ecdc6efb76e402768...

:sunny: Test successful - status-appveyor, status-travis
Approved by: dwijnand
Pushing b15ee255e5cf625f15ff3f5ecdc6efb76e402768 to master...


AutoHide is not working

Hi,
i think this module is not mantained. Thats very sad.
I try to use the AutoHide feature: Here is my config:
{
module: "MMM-MotionEye",
position: "bottom_left",
config: {
url: "http://motioneye:8081",
autoHide: true,
forcedRefreshInterval: 60000,
width: "400px",
debug: false
}
},
The camrea is alsways shown. I really want to hide the cam.
is that possible somehow?

Somehow it was working after an hour or so.
Also- you have to enable access to the mirror via
address: "<IP_ADDRESS>" and whitelist
The the commands http://mirror:8080/motioneye and http://mirror:8080/motioneye/hide are working.


Update chromedriver

Signed-off-by: Blake Johnson<EMAIL_ADDRESS>Was seeing
ℹ ｢wdm｣: Compiled successfully.
[09:23:33] I/launcher - Running 1 instances of WebDriver
[09:23:33] I/direct - Using ChromeDriver directly...
[09:23:33] E/launcher - session not created: This version of ChromeDriver only supports Chrome version 76
  (Driver info: chromedriver=76.0.3809.68 (420c9498db8ce8fcd190a954d51297672c1515d5-refs/branch-heads/3809@{#864}),platform=Mac OS X 10.12.6 x86_64)

When trying to run tests.

https://github.com/chef/automate/pull/2074


Add eslint-plugin-json-schema-validator

This PR adds eslint-plugin-json-schema-validator.

Although I know this may validate data which gets consumed as a normal part of one's JavaScript application and enforcing best practices there, I would think that this might fall more under our specific "Languages" section?

Since eslint-plugin-json-schema-validator can also be verified with JavaScript, JSON and YAML, I found it difficult to categorize it as "Languages". Do you think it's better to specifically categorize it as "JSON"?

Yes, understood, and I can see why you consider it as such a tool since that is its actual function, but to me, I'd be concerned that those working with JSON (or YAML) would be more likely to miss out on your very promising tool because they would be looking through "Languages" to find support for JSON Schema (and would be the users most likely to want to discover JSON Schema capabilities). Even those seeking to work with JavaScript objects in such a way would still probably think to look to Languages to find tools for enforcing JSON schema on their data structures.
(FWIW, I'd say the same thing if I were to turn my jsdoc-sonschema project into a linting tool; even if it could process jsdoc within JavaScript and then use that to validate JavaScript as well as JSON objects, if forced to choose a single audience, I think "Languages" would be it.)
So while I understand your project is not merely for handling some external data types, my thinking is that its home that would find the most likely interested users would be under Languages, especially with awesome list projects such as awesome-eslint not aiming for such a degree of precision of allowing multiple entries or projects listed within sortable tables and such.
But if you remain unconvinced, I don't think it's wrong where you have it, and indeed some looking through Practices might become interested to explore it further.

Thank you for your comment!
I moved it to the "Languages"."JSON" section.


THIS PROGRAM IS A VIRUS I CHECKED THE SOURCE CODE

self-explanatory

please add more details

You can't make an issue like this and not reference the lines of code that make this a virus and why.

I analyzed all the source code for anything malicious, but found nothing. The implementation is simple and the dependencies are reliable.


feat: main feat

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@80ff345). Click here to learn what that means.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff            @@
##             main        #1   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         2
  Lines           ?        24
  Branches        ?         1
========================================
  Hits            ?        24
  Misses          ?         0
  Partials        ?         0

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


gtk_widget_set_visual and friends are not bound

At least gtk_widget_set_visual() is not bound, but I imagine other visual related functions may be missing.

set_visual is bound: https://github.com/gtk-rs/gtk/blob/master/src/auto/widget.rs#L2686
I'm closing this issue so don't hesitate to reopen for the other missing functions.


ScalingConfiguration when engine is not Aurora is an invalid property

cfn-lint version: (cfn-lint --version) 0.26.2
Description of issue.
Sample CloudFormation error on Create|UpdateStack:
You can't specify scaling configuration for non Aurora Serverless cluster. (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterValue; Request ID: bff47f04-6bbc-492c-a74a-b46b1988f957)
It would be nice for cfn-lint to surface this attribute error so that it can be caught before the  Create|UpdateStack action.

In cfn-lint --version 0.28.0, this test appears to be firing false failures:
Database:
  Type: AWS::RDS::DBCluster
  Properties:
    BackupRetentionPeriod: 30
    DBClusterParameterGroupName: default.aurora-postgresql10
    DBSubnetGroupName: !Ref DatabaseSubnetGroup
    EnableHttpEndpoint: true
    Engine: aurora-postgresql
    EngineMode: serverless
    EngineVersion: '10.7'
    KmsKeyId: !Ref EncryptionKey
    MasterUsername: !Sub '{{resolve:secretsmanager:${DatabaseSecret}::username}}'
    MasterUserPassword: !Sub '{{resolve:secretsmanager:${DatabaseSecret}::password}}'
    ScalingConfiguration:
      AutoPause: false
      MaxCapacity: 4
      MinCapacity: 2
    StorageEncrypted: true

This resource produces E3028.

@chrisoverzero I think we resolved the E3028 error in this template.

Rule E3028 solves this issue


UX: fully reimplements browse page

new UI with better mobile support
implements infinite scrolling
allows to display closed and archived channels
allows filtering of channels
displays muted state from the list

Desktop light mode:

Mobile dark mode:

No results view:

Archived channel:

@chapoi If you want to do few tweaks on it early next week be my guest, otherwise that will be after the merge. One early feedback from @mcwumbly is that we might possibly want two lines of description instead of one. I also feel like it would be interesting it you think that makes sense.

Oh yes I saw it the other day and forgot, will fix


karabo.sourcedetection.result.PyBDSFSourceDetectionResult contains again detection (or something similar).

Currently, running the following code block gives an error:
detection_result = SourceDetectionResult.detect_sources_in_image(restored)
detection_result.detection.show_fit()

AttributeError: 'PyBDSFSourceDetectionResult' object has no attribute 'detection'
Tests for this are commented out, thus this is not tested. This can be reproduced by running a fixed version of how_to_use_karabo_example.ipynb (as soon as the following is merged: #130

I think this was replaced by the class SourceDetectionEvaluation, thus I think this can be closed!


Use Ubuntu 19.10

This pull request bumps the Ubuntu version from 19.04 to 19.10.
Somehow, vagrant up gets time out. Adding config.vm.boot_timeout = 600 to workaround the time out error below.
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/eoan64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/eoan64' version '20191022.0.0' is up to date...
==> default: Setting the name of the VM: rails-dev-box_default_1571838570411_83143
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 3000 (guest) => 3000 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: <IP_ADDRESS>:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
$

I've seen there time outs in other projects too, not sure what is going on, but does not seem related to this particular VM.
Thanks!

Have reverted by now, could not get guest additions working and had no shared folders in particular.
Let's see if this changes in the future.

Thanks for the update. I have opened an issue at https://bugs.launchpad.net/cloud-images/+bug/1851186 for missing virtual box guest additions.
As I already have installed vagrant-vbguest plugin then this issue did not occur. I already have reproduced this error by uninstalling the vagrant-vbguest plugin.

TL;DR
I was able to setup the environment by adding/changing my VagrantFile (as mentioned from the author Yasuo Honda):
config.vm.box      = 'ubuntu/eoan64' # 19.10
config.vm.boot_timeout = 600

and then running in the terminal:
vagrant plugin install vagrant-vbguest

LONG VERSION
I am experiencing the following issue while running vagrant up.
Maybe related to end of support for Ubuntu 19.04 the 23rd of January 2020.
The image for Ubuntu 19.04 is not available at https://cloud-images.ubuntu.com as I verified in the locator tool.
host$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'ubuntu/disco64' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: 20200122.0.0
==> default: Loading metadata for box 'ubuntu/disco64'
    default: URL: https://vagrantcloud.com/ubuntu/disco64
==> default: Adding box 'ubuntu/disco64' (v20200122.0.0) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/ubuntu/boxes/disco64/versions/20200122.0.0/providers/virtualbox.box
    default: Download redirected to host: cloud-images.ubuntu.com
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

The requested URL returned error: 404 Not Found

Changing the version to Ubuntu 19.10 (Eoan) solves the issue, but /vagrant shared folder was not available.
vagrant$ ls /vagrant
ls: cannot access '/vagrant': No such file or directory

As suggested from Yasuo Honda and Xavier Noria
vagrant plugin install vagrant-vbguest

The shared folders are available after restarting the machine:
vagrant@rails-dev-box:~$ ls /vagrant
bootstrap.sh  rails      ubuntu-bionic-18.04-cloudimg-console.log
MIT-LICENSE   README.md  Vagrantfile

The bug report was experience on Virtualbox 5.2.34 and Vagrant 2.2.2 on Ubuntu 18.04.3 LTS.
I am currently using MacOS with VirtualBox 6.1.2 (latest release).
MacOS 10.15.2
VirtualBox 6.1.2 r135662 (Qt5.6.3)
vagrant 2.2.7
vagarnt vbguest GuestAdditions 6.1.2

VirtualBox 6.1.2 is available also for linux at VirtualBox page.
I would be happy to help further with the investigation.
Thanks a lot

@fabriziobertoglio1987 thanks! Plugin installation has been documented in https://github.com/rails/rails-dev-box/commit/4d87263a16cb70a8883dbe3446be60dcdc870116.


[Reopen] Write wavSmpl section

Fix #63
Sorry but I shouldn't have closed #64, which I'm unable to reopen now.
Anyway, the wavSmpl section issue needs to be fixed.

Maybe we should just follow what VGAudio is doing.


Scaling experiments v2

This is a follow up adding more information, scripts, etc.

nice work btw !
other than my nits it is:
/lgtm

Thanks for the review @Rozzii , I have updated!

/retest

@lentzi90 I think this wont merge until @Rozzii approves it?

Yes I think you are correct


Repeat Mode ?

[x] I have verified there are no duplicate active or recent bugs, questions, or requests
How to change repeat mode ?! I can not find a way to do it ?!

Thanks

I realize this question is old however I'm still answering it as documentation for others
There isn't a built-in way to handle repeat functionality however you can provide this functionality yourself by extending the DefaultPlaylistHandler.getNextPlayableItem() to check for your custom repeat mode flag (e.g. single-item or full playlist) and return either the item for repeat or the next item


<EMAIL_ADDRESS>The library contains critical security issues and should not be used for production!

Describe the bug
When installing nuxt-og-image I get this error because of some insane chain of dependencies. I don't know where in the chain the issue should be added, but considering nuxt-og-image is the actual library I care about I'm putting here.
 WARN  deprecated<EMAIL_ADDRESS>The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm.

Reproduction
No response
System / Nuxt Info
I'm using pnpm to install

┌─────────────────────┬────────────────────────────────────────────────────────┐
│ critical            │ vm2 Sandbox Escape vulnerability                       │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Package             │ vm2                                                    │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Vulnerable versions │ <=3.9.19                                               │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Patched versions    │ <0.0.0                                                 │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ Paths               │ . ><EMAIL_ADDRESS>><EMAIL_ADDRESS>>          │
│                     │<EMAIL_ADDRESS>><EMAIL_ADDRESS>>               │
│                     │<EMAIL_ADDRESS>><EMAIL_ADDRESS>>        │
│                     │<EMAIL_ADDRESS>><EMAIL_ADDRESS>>            │
│                     │<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>  │
├─────────────────────┼────────────────────────────────────────────────────────┤
│ More info           │ https://github.com/advisories/GHSA-cchq-frgv-rjh5      │
└─────────────────────┴────────────────────────────────────────────────────────┘

You can use overrides in package.json for npm or resolutions for yarn - here's a reference:

npm overrides: https://github.com/6ixfalls/sixfolio/commit/c97dcb91e13a58410d8a1e62320e02520c3fd0fc
yarn resolutions: https://github.com/6ixfalls/sixfolio/commit/d49c88a2923b6afa18aca706703e5d13c33cb4da

Concept https://github.com/TooTallNate/superagent-proxy/issues/48#issuecomment-1654802068 - This doesn't seem to affect functionality for my use-case.

To give some context on this error, this is from inline-css dependency which is used to inline styles.
The inline-css implementation won't process fetch's so the vm2 code should never run.
I'd like to replace this dependency with something else but I don't have the capacity at the moment.

I took care of it once, and I can contribute by doing the same to this package.

I took care of it once, and I can contribute by doing the same to this package.

That would be amazing!

Fixed in 2.0.27 thanks to the great work of @aoor9 :raised_hands:


Making scaledown of match / execute servers more gradual and slower

To alleviate #605
This would slightly increase costs of year-round runs, especially when someone runs only one match in the random middle of the year. But those increases shouldn't be much anyways
Happy to tweak params, or just not do this anyways. I mainly made this PR just to close my tabs xp
https://cloud.google.com/compute/docs/autoscaler#scale-in_controls
https://cloud.google.com/compute/docs/autoscaler/understanding-autoscaler-decisions#delays_in_scaling_in

Noting that #720 already alleviates this a lot by making there be less machines. If we can come up with a test plan to evaluate this before/after, we can deploy and evaluate what works better.
Noting also that scaling is already delayed by 1-2 mins because pub/sub metrics take time to propagate. So by the time scaling in happens, the scrim queue is actually far less than the assignment ratio.

about #720 -- Yes good catch (had thought about that but forgot to mention). For a plan... what if I watch the queue during the next tournament as-is, and we can evaluate how much scrimmage servers interrupted? (like how much the bad behavior is still present)
I can also deploy this version and watch a tournament too
about delay -- good to know, thanks; That should help a ton for scaling in, and I can make scaling out a bit faster. Unfortunately relying on the baked-in 1-2 minute delay isn't probably long enough on its own though


is there a way to have multiple wrappers in one component

In the docs component PanelWrapperComponent, one wrapper like this works like charm:

    <ng-container #fieldComponent></ng-container>

For my case, I want to have inside this div multiple wrappers like this:

    <ng-container #fieldComponent></ng-container>  //1
    <ng-container #fieldComponent></ng-container>  //2
    <ng-container #fieldComponent></ng-container>  //3

and for each one, I want to pass a certain fieldGroup to render.
Is this possible?

I guess there was an obvious solution but didn't see it. For those who have same issue, you can do like this:


User-friendly way to purge the queue

On further consideration, I don't think this is necessary. Closing as won't fix.


IE11 support

In IE11 doesn't work without https://cdnjs.com/libraries/babel-polyfill

Could you show errors from console?
Maybe it's reasonable to include polyfill for missing things, not whole babel-polyfill.

Could you show errors from console?
Maybe it's reasonable to include polyfill for missing things, not whole babel-polyfill.

"SCRIPT5022: Исключение брошено и не поймано", link: https://docs.microsoft.com/ru-ru/previous-versions/w4e7h3yz(v=vs.94)
Here: ...if("function"!=typeof Promise)throw new TypeError("Promise.prototype.finallyrequires a globalPromise be available.");


add compile time conversions from & into [u8; 32]

It is useful to be able to convert from Hash into [u8; 32] and vice-versa at compile time.

I hesitate in changing as_bytes to be const, but it could be done as well.

Making .as_bytes() into a const fn sounds like a good idea to me, let's go ahead and do that. With that in place, I don't think a separate into_bytes method is necessary, since you can just dereference the return value of as_bytes.
As far as a const constructor, I wonder if it would make sense to follow the common Rust convention of defining a Self::new method (in our case taking [u8; 32]), which we'd naturally make const. Eventually I suppose Rust will standardize a way to make the From implementation const also, but there are many types that support both new and From/Default, so the duplication doesn't feel to bad to me. What do you think?

Let me know your thoughts about this approach:
diff --git a/src/lib.rs b/src/lib.rs
index b3621c1..18dfd03 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -176,19 +176,19 @@ fn counter_high(counter: u64) -> u32 {
 /// An output of the default size, 32 bytes, which provides constant-time
 /// equality checking.
 ///
-/// `Hash` implements [`From`] and [`Into`] for `[u8; 32]`, and it provides an
-/// explicit [`as_bytes`] method returning `&[u8; 32]`. However, byte arrays
-/// and slices don't provide constant-time equality checking, which is often a
-/// security requirement in software that handles private data. `Hash` doesn't
-/// implement [`Deref`] or [`AsRef`], to avoid situations where a type
-/// conversion happens implicitly and the constant-time property is
-/// accidentally lost.
+/// `Hash` implements [`From`] and [`Into`] for `[u8; 32]`, and also the `const`
+/// functions [`new`] and [`as_bytes`]. However, byte arrays and slices don't
+/// provide constant-time equality checking, which is often a security
+/// requirement in software that handles private data. `Hash` doesn't implement
+/// [`Deref`] or [`AsRef`], to avoid situations where a type conversion happens
+/// implicitly and the constant-time property is accidentally lost.
 ///
 /// `Hash` provides the [`to_hex`] and [`from_hex`] methods for converting to
 /// and from hexadecimal. It also implements [`Display`] and [`FromStr`].
 ///
 /// [`From`]: https://doc.rust-lang.org/std/convert/trait.From.html
 /// [`Into`]: https://doc.rust-lang.org/std/convert/trait.Into.html
+/// [`new`]: #method.new
 /// [`as_bytes`]: #method.as_bytes
 /// [`Deref`]: https://doc.rust-lang.org/stable/std/ops/trait.Deref.html
 /// [`AsRef`]: https://doc.rust-lang.org/std/convert/trait.AsRef.html
@@ -200,11 +200,19 @@ fn counter_high(counter: u64) -> u32 {
 pub struct Hash([u8; OUT_LEN]);

 impl Hash {
+    /// Create a new `Hash` from 32 bytes.
+    /// constant-time equality checking, so if  you need to compare hashes,
+    /// prefer the `Hash` type.
+    #[inline]
+    pub const fn new(bytes: [u8; OUT_LEN]) -> Self {
+        Self(bytes)
+    }
+
     /// The raw bytes of the `Hash`. Note that byte arrays don't provide
     /// constant-time equality checking, so if  you need to compare hashes,
     /// prefer the `Hash` type.
     #[inline]
-    pub fn as_bytes(&self) -> &[u8; OUT_LEN] {
+    pub const fn as_bytes(&self) -> &[u8; OUT_LEN] {
         &self.0
     }

diff --git a/src/test.rs b/src/test.rs
index 4b6272c..1d9b9aa 100644
--- a/src/test.rs
+++ b/src/test.rs
@@ -603,3 +603,25 @@ fn test_issue_206_windows_sse2() {
         assert_eq!(crate::Hasher::new().update(input).finalize(), expected_hash);
     }
 }
+
+#[test]
+fn test_hash_conversions() {
+    let bytes1 = [99; 32];
+    let hash1: crate::Hash = bytes1.into();
+    let bytes2: [u8; 32] = hash1.into();
+    assert_eq!(bytes1, bytes2);
+    let bytes3 = *hash1.as_bytes();
+    assert_eq!(bytes1, bytes3);
+    let hash2 = crate::Hash::new(bytes1);
+    assert_eq!(hash1, hash2);
+    let hex = hash1.to_hex();
+    let hash3 = crate::Hash::from_hex(hex.as_bytes()).unwrap();
+    assert_eq!(hash1, hash3);
+}
+
+#[test]
+const fn test_hash_const_conversions() {
+    let bytes = [99; 32];
+    let hash = crate::Hash::new(bytes);
+    _ = hash.as_bytes();
+}

I'm not very opinionated on it tbh, but a new does make me feel like we're indeed "constructing" a Hash rather than simply converting from its internal representation. Personally I would vote for keeping from_bytes, but either way works.

I think you're right. Landing this as-is.

Let me know if you need this to get released sooner rather than later? I might like to take one last look at the API at release time before we commit to it forever :)


Importing a .tsv to the image DB fails upon only one defective row

Describe the bug
If anything goes wrong on the copy of any row of a .tsv file into the image database, the import of the entire file fails.  Given that we occasionally find a malformed unicode character, and that manual intervention is required to import the rest of the file, we should add the ability to skip some maximum number of rows before admitting failure for the import of a file.
To Reproduce
Try to import a file with a malformed unicode character.
Expected behavior
We should set some maximum number of allowed defective rows, and continue the import (skipping any defective rows) until the max is reached.

Makes sense to me. I assume we will have reports for each attempted upload, should we have skipped any rows, so that for instance if we are repeatedly getting bad data from the same source we'll be able to tackle that at the source?

Marking this as 'not ready for work' until my changes with a DB testing setup are merged (so that the implementer can test their changes)

Shall I take this?

Go ahead, you don't need prior approval since this is marked "help wanted"

Thanks! Will work on it

Hi @mathemancer . Just to be sure that I'm following the correct steps for reproducing this error...
I corrupted the 'none_missing.tsv' file and tried to run the test_import_data_loads_good_tsv function in test_sql.py.
        Necessary to execute COPY command without access to a superuser.

        Note: if this method is called with a "COPY FROM" statement and
        the specified input file does not exist, it creates an empty
        file and no data is loaded, but the operation succeeds.
        So if users want to be aware when the input file does not exist,
        they have to check its existence by themselves.
        """
        if not os.path.isfile(filename):
            with open(filename, 'w'):
                pass

        with open(filename, 'r+') as f:
            with closing(self.get_conn()) as conn:
                with closing(conn.cursor()) as cur:
>                   cur.copy_expert(sql, f)
E                   psycopg2.errors.InvalidTextRepresentation: invalid input syntax for type json
E                   DETAIL:  Character with value 0x0f must be escaped.
E                   CONTEXT:  JSON data, line 1: {"description": "A small planetary gears Ã...
E                   COPY provider_image_datatesting, line 9, column meta_data: "{"description": "A small planetary gears Ão1∂√±õû≥Q§êÜ system with a ratio of 4:1 pe..."

.local/lib/python3.7/site-packages/airflow/hooks/postgres_hook.py:114: InvalidTextRepresentation
----------------------------- Captured stdout call -----------------------------
[2020-03-30 22:56:07,657] {sql.py:65} INFO - Loading /tmp/pytest-of-airflow/pytest-7/test_import_data_loads_good_ts0/test.tsv into provider_image_datatesting
[2020-03-30 22:56:07,658] {base_hook.py:84} INFO - Using connection to: id: postgres_openledger_testing. Host: postgres, Port: 5432, Schema: openledger, Login: deploy, Password: XXXXXXXX, extra: None
------------------------------ Captured log call -------------------------------
sql.py                      65 INFO     Loading /tmp/pytest-of-airflow/pytest-7/test_import_data_loads_good_ts0/test.tsv into provider_image_datatesting
base_hook.py                84 INFO     Using connection to: id: postgres_openledger_testing. Host: postgres, Port: 5432, Schema: openledger, Login: deploy, Password: XXXXXXXX, extra: None

Yes, this is the issue.  I'm not sure it's possible to solve, since the Airflow PostgresHook uses bulk copying in the background.

Also, be aware that we're in the process of rewriting the importing to load from S3, and that will involve using a postgres extension.  Luckily, that extension also uses the PostgreSQL COPY command in the background, so any solution should port over with minimal changes.

Based on what I can gather from this https://www.postgresql.org/docs/9.2/sql-copy.html (see Note under CSV Format section) we may need to have an external function which filters the malformed rows, write the good rows to a new tsv and try to load that to a table. Not a very elegant method though. But if you think this is ok, I can give it a try

How do you propose determining if a row is malformed?  Most of the basic problems (type, required fields exist, correct number of fields) are handled by the storage.ImageStore class.  The 'real' errors are more esoteric in general.
I guess we could try to figure out how to check for unicode errors, but I'd rather handle that during writing to the TSV than when trying to load it...
Maybe this ticket still needs some thought before beginning development.
Even worse:  We'll have to wait for some time to get relevant logs (if, indeed, they ever become available).  For legacy reasons, we used to lose all logs of past loading efforts every time a new version of this project was deployed.  While this is no longer the case, we don't actually have any logs (that I'm aware of) with the relevant error in them.

Even worse:  We'll have to wait for some time to get relevant logs (if, indeed, they ever become available).  For legacy reasons, we used to lose all logs of past loading efforts every time a new version of this project was deployed.  While this is no longer the case, we don't actually have any logs (that I'm aware of) with the relevant error in them.
As I type this, that sounds awful.

A supremely inelegant solution would be to parse the error message, find the actual COPY error (which should contain a relevant line), delete that line from the file, and die.  Then, airflow will try again, but with the modified file.
On the plus side, this has the advantage of being agnostic to the actual library that's calling the PostgreSQL COPY command (as long as the error message is still returned)


Call-out unclear

The call-out on this page currently reads:
As of 1-Oct-2020 Cherwell and Provance ITSM integrations with Azure Alert will no longer be enabled for new customers. New ITSM Connections will not be supported. Existing ITSM connections will be supported.
Does this means all "New ITSM Connections will not be supported" or does this mean "New ITSM Connections to these platforms will not be supported."

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8f852b26-da25-45ec-710b-7e1be5f54f40
Version Independent ID: 59643246-7633-ad6a-7ec3-0f9556e5fb53
Content: IT Service Management Connector overview - Azure Monitor
Content Source: articles/azure-monitor/alerts/itsmc-overview.md
Service: azure-monitor
Sub-service: alerts
GitHub Login: @rboucher
Microsoft Alias: abbyweisberg

@tv505, thank you for your question. Based on the documentation, "New ITSM connections to Cherwell and Provance" will not be supported. The suggestion is to use Webhook  action to Cherwell and Provance endpoint as another solution to the integration. Please refer to this link for details.
ServiceNow and System Center Service Manager are still supported for new connections. Please refer to their individual page for more details:

Connect ServiceNow with IT Service Management Connector
Connect System Center Service Manager with IT Service Management Connector

@tv505, We will now proceed to close this thread as we have not heard back from you. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.


Feature/syal 880

Hi @MaksimR-AVISPL
This is an implementation monitoring data and UT for the Makito X Encoder.
Please help me to review it
Thanks

Not sure why LICENSE and README.md files were removed. Are you planning on restoring those?


[SP-6178] Backport of PDI-19541 - Schedule Perspective in Spoon does not show after scheduling a weekly job in Pentaho 9.3

@smmribeiro please review

:white_check_mark: Build finished in 19m 50s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:exclamation: No tests found!
:information_source:  This is an automatic message


index.html has no code

index is currently left blank. Make a basic index page for the project, no CSS.

I'll make a quick index page, nothing fancy or spectacular.


Can't unset all custom user attributes with auth->setCustomUserAttributes

The problem
Hello. Thanks for the great library!
I have spent more than 5 hours trying to figure out how to completely unset user customAttributes using getAuth()->setCustomUserAttributes with no success. I've tried an empty array [], an emty object (object)[] with no results. I tried with null but the type of arguments is an array unnullable. Finally after some debugging I figured out that in order to delete all custom attributes an empty object has to be given at the request data like this (printed with json_encode($options) at request function before try/catch):
{"json":{"localId":"...","customAttributes":{}}}
but the JSON encoding at https://github.com/kreait/firebase-php/blob/master/src/Firebase/Request/UpdateUser.php#L160 converts any objects to strings so firebase ignores them:
{"json":{"localId":"...","customAttributes":"{}"}}
When I removed the encoding and passed $data['customAttributes'] = $this->customAttributes; with (object)[] (haven't tried with single []) firebase deleted all user custom attributes.
Unless I am missing something, I think in order for this to work there have to be a check whether customAttributes is an empty array and then pass without using JSON encoding and use JSON encoding for all other situations.
Environment

PHP Version:

PHP 7.1.29 (cli) (built: May  3 2019 07:39:35) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.29, Copyright (c) 1999-2018, by Zend Technologies

Firebase PHP SDK version:

kreait/firebase-php                   4.22.0   Firebase Admin SDK
kreait/firebase-tokens                1.7.2    A library to work with Firebase tokens
kreait/gcp-metadata                   1.0.1    Get the metadata from a Google Cloud Platform environment.

Code to reproduce issue
// Expecting to remove all custom user attributes and it does not
$firebase->getAuth()->setCustomUserAttributes($uid, []);

Thank you for the detailed issue description!
I just added 8004c59c2ee25075b79218b83a07d32e52f2d873, which should fix the issue. With this, you should get the expected result when executing the method as you wrote it, but you could also use \Kreait\Firebase\Auth::deleteCustomUserAttributes($uid) which does exactly the same 😅
Let me know if this works for you, and I will create a new release soon!

Hello @jeromegamez and thank for for tha superfast fix!
I can confirm that in https://github.com/kreait/firebase-php/commit/8004c59c2ee25075b79218b83a07d32e52f2d873 is now working as expected. Passing an empty array to setCustomUserAttributes will reset all custom user attributes and deleteCustomUserAttributes will also delete everything.
Thanks again! 🍺🍺🍻

And here's the 4.23 release! 🎉


Django 1.7 allows Class names in INSTALLED_APPS

Django 1.7 has added support for including class names in INSTALLED_APPS. This has broken the module importing via importlib, if any are specified.
This is particularly used if you wish to disable admin autodiscovery: http://django.readthedocs.org/en/latest/ref/contrib/admin/#discovery-of-admin-files
I've ported the change from here:
https://github.com/celery/celery/commit/4294293600d9ff0443b747861553eb63147b01b0
which seems to work for me, although am unsure if it's ideal in this situation.

Hi, that's absolutely worth considering. Thanks for the suggestion. But I'm not yet convinced with the actual code. I think the cleanest way would be to use the django.apps machinery when using Django 1.7 or higher. From there you can get all installed apps and their modules without even looking at the strings in settings.INSTALLED_APPS.
Do you want to give it a try going in that direction?

How's that, @gregmuellegger?

Awesome!! Thanks for the cool patch :)

Hey I just released a new version containing your changes :)
https://pypi.python.org/pypi/django-autofixture/0.10.0


Touch SSO container's reconfig touchfile via ansible

Under high load situations, "ansible-playbook" was exiting with a 0 return
status (true) despite its never having run any of the tasks in the
playbook. By moving the
"I'm done!" touchfile to the Ansible playbook, we can make sure that the
playbook ran to completion.
Also, add a signal handler for SIGTERM and SIGINT since it seems that our
error path didn't work well. It appears that the SIGKILL was not delivered
to PID 1 when there were reconfigure errors. (Dockerism?)

@dbaker-rh approved in stg PR #2582


Error occurs when decoding decimal on AnyRow

Hi,
Thanks for this great library. 👍
Bug Description
Error occurs when decoding decimal with call let v: Decimal = row.get(column_name) where row is AnyRow
the trait `sqlx::Decode<'_, sqlx::Any>` is not implemented for `rust_decimal::Decimal`

Minimal Reproduction
A small code snippet or a link to a Github repo or Gist, with instructions on reproducing the bug.
Info
SQLx version: 0.6.2
SQLx features enabled: ["sqlx/decimal", "sqlx/mysql", "sqlx/any", "sqlx/chrono", "sqlx/runtime-tokio-native-tls"]
Database server and version: MySQL 8.0.28
Operating system: macOS 13.0
rustc --version: 1.64.0

What rust_decimal version are you using?
Sounds like you have two incompatible versions

Hi @dragonnn, I figured out that I need to disable MSSQL in order to make it compile.

Hi @dragonnn, When I just enable mysql with features, it still cannot compile.