Feat: Private/custom rpc flow

Description
This PR adds functionality to to Account Center expanded to  allow end users to update their RPC on mainnet.
If the user's primary wallet is on mainnet and disableProtectedRpc is not set to true within the w3o init the button will display to update their RPC.
The RPC endpoint is configurable per chain obj (although this functionality is only enabled on mainnet) and will default to the BN protect RPC
interface Chain {
  /** An optional protected RPC URL - Defaults to Blocknative's private and
   * protected RPC to allow users to update the chain RPC within their wallet,
   * specifically for private RPCs that protect user transactions
   */
  protectedRpcUrl?: string

  .....
}

type AccountCenter = {
  /**
   * false by default - This allows removal of the
   * Enable Transaction Protection' button within the Account Center
   * expanded when set to true
   */
  disableProtectedRpc?: boolean

  .....
}

Checklist

[x] Increment the version field in package.json of the package you have made changes in following semantic versioning and using alpha release tagging
[x] Check the box that allows repo maintainers to update this PR
[x] Test locally to make sure this feature/fix works
[x] Run yarn check-all to confirm there are not any associated errors
[x] Confirm this PR passes Circle CI checks
[x] Add or update relevant information in the documentation

Button looks good and is working as expected!


[L04] Approved proposals may be executed at any time

After a proposal reaches the Approved stage, it can be executed at any time after the “veto period” ends. However, note that proposals do not expire. Thus, a proposal can lay dormant after the veto period until it is profitable to perform it.
This issue is of low severity due to a few factors which hinder it’s probability. The first is that a proposal may also be cancelled at any time after it is approved. Another factor is that anyone can execute a proposal once it is approved.
We mention this issue to make it clear to users that dormant proposals can lead to abuse. In the event that the network is experiencing high congestion, it may seem like a waste to approve or cancel a proposal due to high fees. However, it should be made clear that dormant proposals being executed at rates that differ substantially from current price of CELO can destabilize markets and drain the Celo reserves. Consider informing users, and perhaps establishing a proposal expiry time, after which approved proposals can no longer be executed.

After brief discussion, we think this is worth informing users (both exchangers & community members) this can happen, but won't make any smart contract changes to implement an expiry (so essentially a wontfix).
We believe that adding an expiry could leave the exchanger with more opportunity for malfeasance. If the price of the asset being bought has fallen drastically since the locked-in price, an exchanger could intentionally try their best to have the proposal expire so it no longer has a "losing" trade. Regardless, we expect usage of GrandaMento to be infrequent & high visibility, so it's likely that exchanges would be executed quickly when possible.


Make Python testing predictable again

Also simplifies (build|run)_python by using tox and generates coverage reports. Because why not.

#4228 should probably go in first so that extension code coverage Just Works™.

What's to be made of
Traceback (most recent call last):
  File "setup.py", line 128, in <module>
    bool(BUILD_WITH_CYTHON))
  File "setup.py", line 118, in cython_extensions
    import Cython.Build
ImportError: No module named Cython.Build

in the failed test run of this?

Looks good content-wise.

The error on Jenkins was from a silly oversight on my part - fixed.

The other error which was also an oversight during fixing of the previous oversight has also been fixed.

... trained to mix concrete and sign complicated insurance forms by ...


Clicks do not work on touch devices

If you are on a device which supports both touch and mouse input (for example a Windows 8 2-in-1) then only touches will sort the table. Clicking with a mouse does nothing. This can be recreated on the demo page if you have a touch enabled device.
Another way to recreate this is to hard code this line:
touchDevice = 'ontouchstart' of document.documentElement

to always be true and then click on a th to attempt to sort.

Same here: it works in Firefox, but in Chrome you have to touch  to sort table.

Ahh, it makes sense that would be the behavior based on this and this.
If we bind to both touchstart and click, maybe we could do something like this? @zackbloom know of a better pattern here?

What you really want is Pointer Events (https://github.com/jquery/PEP), but as browser support is not great yet, a common thing is to bind to both touchstart and click, but either debounce (like the first example in that SO post), or mark the event as handled somehow (like the second).  I think what you suggest would do exactly what you need.

whoa cool, thanks. microsoft is killin it right now :P
cool, yeah. is that kosher though marking the event itself?

Depends who you ask.  I would double check that it doesn't error in old-IE or Safari, but my guess is that you'll get away with it.

hehe k, thx

Fixed with cab1613b721e7a7512417ded8fb62d163c647777

Hmm... Yust tested your demo in the latest Firefox on classic old-school desktop (without touch support) on Windows 10. Here is the screencast: https://www.youtube.com/watch?v=E33lwZd8dio

@smartcorestudio thanks so much for sharing that. v0.8.0 should fix it. Please let me know. Thanks!

It works OK now! Thank you for quick fix!

@smartcorestudio awesome. No problem! Thanks for the video. :+1:


Changed handlers mutability

In the real world streaming parsers must be mutable.
Now it's allowed to change its internal state to be able to track parsing process, cause the parser itself is streaming. For example now it's possible to collect partial headers/body chunks inside the handler for further (or immediate) aggregating or processing.
While parsing you'd probably want to check internal parser's state. Unfortunately Rust's type system forbids us to do so while parser lives, because it now borrows a mutable reference to the handler.
This commit allows us to obtain a mutable reference to the underlying handler while not parsing (probably between parsing iterations). This requires a parser to safe real Handler's type - that's why so many code have been changed.

You're absolutely correct. In fact, I've made the same changes but hasn't had enough time to commit them.
There's one more breaking change coming in 0.2.0: the lifetimes will be ditched in favor of boxed references. I.e. the callback traits will be passed as Box<ParserHandler>.
I'm integrating your changes and preparing the new version now.

Using Box<ParserHandler> will involve virtual function call overhead, which is probably not what you want in a high-performance parser (even if LLVM is possible to devirtualize it sometimes), and can be avoided using static dispatching.
What issue do you resolve by introducing dynamic dispatched handlers?

Yes, the indirection will have some performance cost - I'll do benchmarking before changing anything.
The overall reason for the change is simple: it's a tradeoff between the code simplicity and speed.  Lifetime parameters usually tend to go "viral" - they require the owning struct to define a lifetime parameter as well, and it goes up to the root. So introduction of a single Parser<'a> property to a struct in your code might require you to make a significant amount of changes.
At least, that's the impression I've got from working with lifetimes - though perhaps I just don't fully understand Rust yet. :)
Oh, and I forgot to mention another breaking API change you might need to know about: "Option" func results will be replaced with plain booleans, as was suggested on the Rust users forum.

You can just force the Parser to own its Handler, not borrow. Later, when parsing ends, it can be destroyed using special method.
Something like this:
struct Parser<H: Handler> {
    handler: H,
    ...
}

impl<H: Handler> Parser<H> {
    fn new(handler: H) -> Parser<H> {
        Parser { handler: handler, ... }
    }

    ....

    pub fn into_inner(self) -> Handler { self.handler }
    pub fn get(&self) -> &Handler { &self.handler }
}

The idea to replace Option with bool is ok!

@3Hren,
Oh well, the ownership + the type specialization parameter totally make sense. I haven't thought about it at first because I tried to solve this problem with traits only, which of course aren't sized - hence the Box<ParserHandler>.
Thank you very much for your help!

 :) Thank you for this library, you've saved 1-2 of my days :)


Microsoft upstream?

How is this repo different from the microsoft/azure-pipelines-extensions version of the TF extension?
Can't seem to find any docs on this.
Thank you!

The one from the microsoft repo you mention is an entirely different extension that was created after this one. This one originated in Nov 2018 before the microsoft one was available and was developed as a personal project not as an official microsoft supported extension (i.e. there is no dev team within microsoft dedicated to supporting it). Due to having to recreate the repo earlier this year, it may appear newer than it actually is. However, the dates on the marketplace pages reflect the age appropriately.
If you are looking for differences in features, I would checkout the marketplace pages for each.
microsoft/azure-pipelines-extensions -> ms-devlabs.custom-terraform-tasks
charleszipp/azure-pipelines-tasks-terraform -> charleszipp.azure-pipelines-tasks-terraform

Thank you for the quick reply and the effort you put in this extension :)


API changes review for AssertJ Core

The report on API changes/backward compatibility for the AssertJ Core library since 1.0.0 version: https://abi-laboratory.pro/java/tracker/timeline/assertj-core/
The report is updated 3 times a week (Mon, Wed, Fri). Hope it will be helpful for users and maintainers of the library.
The report is generated by https://github.com/lvc/japi-compliance-checker and https://github.com/lvc/japi-tracker tools.
Thank you.

This is really interesting. However, by looking at the report I would say that it is wrong.
First of all the comparison between 2.x and 3.x releases should be done by comparing 2.x with 3.x. For example 2.1.0 and 3.1.0. The reason for that is that the 3.x release track is everything from the 2.x plus Java 8. Also 2.8.0 is newer than 3.7.0 for example. You can also see that trend on the graphic as well.
I also think that the checks are wrong. If you see some of the removed methods, you'll see that the only difference in the is the name of the generic parameter. That is not an incompatibility, you already have https://github.com/lvc/japi-compliance-checker/issues/38 for it

Removed 2.x from the report. Started working on https://github.com/lvc/japi-compliance-checker/issues/38.
Thank you!

The issue with generic parameters has been fixed in master of the https://github.com/lvc/japi-compliance-checker tool. Reports have been regenerated: https://abi-laboratory.pro/java/tracker/timeline/assertj-core/
Thank you.

That looks nice ! :+1:
Is there a way to drill down to see what the incompatible changes are ?

@joel-costigliola, just click on the interested links in the report: https://abi-laboratory.pro/java/tracker/timeline/assertj-core/
See https://wiki.eclipse.org/Evolving_Java-based_APIs_2 for more info.

Thanks for the report.


Sidecar injection has n^2 behavior with large pods

When a pod has lots of env vars, injection can take a long time. Looks polynomial. With 1000 env vars we are talking multiple seconds and GB of allocations.
The root cause is in the jsonpatch library we use. I am looking into upstream improvements to optimize.

Fix is in https://github.com/gomodules/jsonpatch/pull/36. The library hasn't had updates in 2 years, so TBD how it will be received. We can fork if needed, the library is pretty small.

fix merged


Difficulty sharing a signer

In the code snipper below, I need to use a signer for two purposes: either to sign an off-chain payload, or to sign an on-chain transaction.
The current API makes that difficult (impossible?) as far as I know, without creating two Contract instances. The things I tried are:

Cloning the signer (Ledger is not clonable)
Calling contract.signer() or middleware.signer() etc. (no such method)
Keeping a single Contract, and then using something like contract.connect(signer) when the signer needs to be used with the contract. (doesn't work)

I think either of the above could be a solution, otherwise being able to use a signer by reference would be another possibility. What I really expected to work which didn't was (3).
async fn anchor<P: 'static + JsonRpcClient + Clone, S: 'static + Signer>(
    opts: Options,
    provider: Provider<P>,
    signer: S,
) -> anyhow::Result<()> {
    let abi: Abi = serde_json::from_str(ORG_ABI)?;

    // Read-only contract
    let contract = Contract::new(opts.org, abi.clone(), provider.clone());
    let org_owner: Address = contract.method("owner", ())?.call().await?;

    let safe = ...;
    let id = ...;
    let tag = ...;
    let hash = ...;

    if let Some(safe) = safe {
        let call = contract.method::<_, ()>("anchor", (id, tag, hash))?;
        let data = call.calldata().unwrap();

        // Signer is required here to produce a signature payload.
        anchor_safe(opts.org, data, &safe, &signer).await
    } else {
        // We have to re-create the contract here with a signer instead of
        // provider, to submit a transaction :(
        let signer = SignerMiddleware::new(provider, signer);
        let contract = Contract::new(opts.org, abi, signer);
        let call = contract.method::<_, ()>("anchor", (id, tag, hash))?;

        anchor_eoa(call).await
    }
}

I don't think contract.connect would be possible to implement, right? At least not with different types of signers since Contract instance would be instantiated with type M and it won't be possible to connect a Ledger type signer to a Wallet type signer instantiated contract for instance.

Yeah, what we need is an enum that unifies all signers. This is what I ended up implementing.

Upstream it :D


Sourcemaps do not show file and line for errors

Firefox console shows the file and the line for my error.
In VSCode I can only see the error without the file and line.
VSCode and Extension are the latest
And here also the Launch Config:
{
    "type": "firefox",
    "request": "attach",
    "name": "Firefox",
    "url": "MY_URL",
    "pathMappings": [
        { "url": "webpack:///node_modules/", "path": "${workspaceFolder}/node_modules/" },
        { "url": "webpack:///", "path": "${workspaceFolder}/source/" }
    ],
    "sourceMaps": "client"
}

what does the output look like if you append "showConsoleCallLocation": true to your launch.json?

no change

Also I'm seeing that it also doesn't work for normal console logs.
When I get some time today, I will try to make a small repo with the bug.

Wait, I found the problem - the source locations in the error and console events need to be translated to their original locations, and I simply haven't implemented this yet for the client-side sourcemaps (and server-side sourcemaps in Firefox don't do it either).


postgreSql not available

this is to point out the fact that the link provided to postgreSql is no longer available as youtube complained that the video has been removed. please kindly resolve this in other for us to follow the tutorial the way it should be

Which file are we talking about?


Update Settings “general”

Automatically generated by Netlify CMS

👷 Deploy Preview for koytak processing.

Name
Link

🔨 Latest commit
107b2b2fb34866754555b6d32dfad1a2dbb59c67

🔍 Latest deploy log
https://app.netlify.com/sites/koytak/deploys/65164684a2930000084cf423


Problem with unowned request

With this method controller
https://github.com/nonameplum/blackfish-github-badges/blob/master/Sources/IndexController.swift#L16
I'm getting SIGABRT for response.request in line https://github.com/elliottminns/blackfish/blob/master/Sources/SocketServer.swift#L114
I forked you repo and changed unowned let to weak var to resolve my problem but I didn't fully catch why this happen.

Thanks for raising this.
I'd be happy to have a pull request with your fixes in to update this issue. I'm assuming the request object is being deallocated and the unowned is then pointing to junk memory. Changing it to a weak var basically allows the request to be nil as opposed to garbage. I need to understand more what is causing this and whether or not it's correct to give the Response object a strong ownership.

Closed with #50


Cal

Merging my part of the code into the main branch

Resolved the merge conflicts and completed the review


The shortcut to copy the path of current file is ignored

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

VS Code Version:

Version: 1.80.2
Commit: 2ccd690cbff1569e4a83d7c43d45101f817401dc
Date: 2023-07-27T20:41:52.615Z
Electron: 22.3.14
ElectronBuildId: 22695494
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.15.0-78-generic

OS Version:

Description:    Ubuntu 22.04.2 LTS
Release:        22.04

Steps to Reproduce

Open a file
Check what is the shortcut to copy file / relative path (right click on the file's tab and locate in the list "Copy Path" and "Copy Relative Path". See the screenshot
Press the shortcut (any of them) and see what gets pasted.
You should be able to observe that file path was not copied.

This is the output of "Keyboard Shortcut Troubleshooting" when I press "Ctrl+Alt+Insert"
2023-07-30 13:18:45.273 [info] [KeybindingService]: / Soft dispatching keyboard event
2023-07-30 13:18:45.273 [info] [KeybindingService]: \ Keyboard event cannot be dispatched
2023-07-30 13:18:45.273 [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
2023-07-30 13:18:45.273 [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
2023-07-30 13:18:45.273 [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2023-07-30 13:18:45.465 [info] [KeybindingService]: / Soft dispatching keyboard event
2023-07-30 13:18:45.465 [info] [KeybindingService]: \ Keyboard event cannot be dispatched
2023-07-30 13:18:45.465 [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl,alt], code: AltLeft, keyCode: 18, key: Alt
2023-07-30 13:18:45.465 [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,alt], code: AltLeft, keyCode: 6 ('Alt')
2023-07-30 13:18:45.465 [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2023-07-30 13:18:45.617 [info] [KeybindingService]: / Soft dispatching keyboard event
2023-07-30 13:18:45.617 [info] [KeybindingService]: | Resolving ctrl+alt+[Insert]
2023-07-30 13:18:45.617 [info] [KeybindingService]: \ From 1 keybinding entries, no when clauses matched the context.
2023-07-30 13:18:45.617 [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl,alt], code: Insert, keyCode: 45, key: Insert
2023-07-30 13:18:45.618 [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,alt], code: Insert, keyCode: 19 ('Insert')
2023-07-30 13:18:45.618 [info] [KeybindingService]: | Resolving ctrl+alt+[Insert]
2023-07-30 13:18:45.618 [info] [KeybindingService]: \ From 1 keybinding entries, no when clauses matched the context.
2023-07-30 13:18:45.864 [info] [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.

^^^^ it seems that it correctly identifies all the keys, but fails to trigger the action:

2023-07-30 13:18:45.618 [info] [KeybindingService]: \ From 1 keybinding entries, no when clauses matched the context.

This is how find usages, Ctrl+U looks like, for example:
2023-07-30 13:20:00.442 [info] [KeybindingService]: | Resolving ctrl+[KeyU]
2023-07-30 13:20:00.442 [info] [KeybindingService]: \ From 1 keybinding entries, matched references-view.findReferences, when: no when condition, source: user.
2023-07-30 13:20:00.442 [info] [KeybindingService]: + Invoking command references-view.findReferences.

Invoking command references-view.findReferences.

System information

Item
Value

GPU 0
NVIDIA GeForce RTX 3080

CPUs
AMD Ryzen 9 5950X 16-Core Processor (32 x 2200)

GPU Status
2d_canvas: unavailable_software canvas_oop_rasterization: disabled_off direct_rendering_display_compositor: disabled_off_ok gpu_compositing: disabled_software multiple_raster_threads: enabled_on opengl: disabled_off rasterization: disabled_software raw_draw: disabled_off_ok video_decode: disabled_software video_encode: disabled_software vulkan: disabled_off webgl: unavailable_software webgl2: unavailable_software webgpu: disabled_off

Load (avg)
0, 1, 1

Memory (System)
125.70GB (108.83GB free)

Process Argv
--disable-extensions /home/dimanne/devel/scripts/contrib/llvm-project/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp --crash-reporter-id 1b2bf8d1-5d0e-42d4-a5d9-6e937acf6abe

Screen Reader
no

VM
0%

Extensions
Extensions are disabled

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
py29gd2263cf:30792227
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
2e4cg342:30602488
f6dab269:30613381
showlangstatbar:30737416
vsctsb:30748421
03d35959:30757346
pythonfmttext:30731395
pythoncmv:30756943
fixshowwlkth:30771522
hideindicator:30785051
pythongtdpath:30769146
i26e3531:30792625
pythonnosmt12:30797651
pythonnoceb:30797650
e537b577:30795824
dsvsc013:30795093
dsvsc014:30797589
cmakestatusbarv2:30779594

assign it to me. i will resolve this issue

Looks like it find action, but whencondition on shortcut doesn't match.
What are when conditions if you check this shortcut in Keyboard Shortcuts editor?

@IllusionMH Fabulous, that was lightning quick. You really saved the day!
This was the issue, indeed.


[Bug] Dubbo 3.2.11 work with Istio get no provider, connection error

Pre-check

[X] I am sure that all the content I provide is in English.

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
Dubbo 3.2.11
Steps to reproduce this issue
Use triple call provider api with istio sidecar injection, after about 1-2 hours, get RPC error, the log shows no provider problem.
By troubleshooting, we found the problem may be netty get the wrong connection status, the connection is health, but netty mark it as bad, so the RPC has been terminated.
What you expected to happen
Work fine as it start.
Anything else
No response
Are you willing to submit a pull request to fix on your own?

[ ] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

What's the service discovery mechanism that is used on the consumer side?
Is dubbo consumer SDK or sidecar responsible for subscribing addresses from registry?

https://github.com/apache/dubbo/pull/13600/files
I have commented here, hope this can help, this is very difficult to describe, the way of integration like: https://dubbo.apache.org/zh-cn/overview/tasks/mesh/dubbo-mesh/


Does this only work for people?

Is the model for this library only trained to remove backgrounds from a portrait of a person? Or will it work with other objects as well? For example a book on a table?

Oh. Never mind. It looks like this is just using ML Kits selfie segmentation.


Correctly calculate Job.started_at/Job.finished_at

Since before_docker_run/after_docker_run were called respenctively before/after setting the status and started_at/finished_at, it was causing timing issues in tests and not only.
This PR is aiming at fixing this.

If it's blocking - go ahead. The fix should be easy - the project.packaged_at .


Extension to turn an LNbits wallet into a paper Lightning wallet

The idea is stupid but I like it, it could be interesting for example as "card" to be used in closed environments, or as a toy wallet for kids. Basically you generate two QR codes that represent a wallet:

one is an lnurl-pay code that can be used to deposit any amount to the wallet.
the other is an lnurl-withdraw code that can be used to withdraw any amount, so it can be used to pay for stuff (this is very naïve and a malicious payee can withdraw all sats from the wallet, so only use it to pay trusted actors... just like you do with your card in real world stores by the way).
the lnurl-pay code can also be used to read the wallet balance from other places (LNbits will naïvely display the full balance to everyone who scans it).

This actually sounds kinda cool. To your second point maybe the qrcode can be made smaller, so that others couldn't snipe it from afar

It can be used with creating multiple LNURL-withdraw QR codes, that can only be used once. This would reduce the malicious action of someone reusing the LNURLw to keep withdrawing funds!

I made this manually but it would be nice to have an extension which does it automatically. Check https://github.com/taxmeifyoucan/HCPP2021-Badge


Increased and improved error messaging.

Coverage remained the same at 77.078% when pulling 2ea1066bf1b4094615d642401bd6529ea8a94210 on omegaman123:contiv-crd into 82b53ae7e17a3bdc06d6cbd2b29f866af877d934 on contiv:contiv-crd.


⚠ RPC server - Arbitrum Rinkeby has degraded performance

In 0d58962, RPC server - Arbitrum Rinkeby ($ARBITRUM_RINKEBY_RPC_URL) experienced degraded performance:

HTTP code: 530
Response time: 102 ms

Resolved: RPC server - Arbitrum Rinkeby performance has improved in 4c558cc.


Fan accessory UI remains on after shutting down with automation or scene

It's turning off, but shows me that it's not.

Same thing here: it’s happening when turning off the ac with a logi pop button, it turns it off but on the home app Shows it on, exact same thing with tha towel heater switch rf outlet.

Still reproducible as of October 2018, anybody interested on working with me on fixing this? It is really annoying because it essentially renders all automation and actions (including adding it to another switch [Hue, Logo, etc.]) useless.

I have the same issue…


Gsoc

Solves #83 Please Review and Merge @abhigyank

@fiterace good work on this, can you remove the commits of Rishi and squash your commits into a single one?

@abhigyank In trying to rebase the branch I mistakenly destroyed the whole branch so I have added another pull request. please review that.


kube-prometheus: Bump various versions

@mxinden
Closes #1529

Tested this on a few clusters. Moving forward.

whops, yes we should do that, you want to take care of this @mxinden ?

For future me: Followed up with https://github.com/coreos/prometheus-operator/pull/1534


Add template to jacoco

eng/pipelines/templates/stages/archetype-sdk-client.yml was changed last week to add the -amd switch to the From Source runs and at the same time we needed to skip building com.azure:jacoco-test-coverage due to dependencies. Unfortunately, this means that every pipeline using the archetype-sdk-client.yml template needs to have at least a single library in Jacoco so the !com.azure:jacoco-test-coverage on the command line doesn't cause a build failure.
azure-sdk-template is the "practice" library. There's no actual sdk code being delivered in this module, it's used to test changes to the client release pipeline. This change makes template a dependency of jacoco and then tells jacoco to skip template. This allows the the !com.azure:jacoco-test-coverage on template's From Source to not cause a build failure and also the skip entry won't pollute the coverage report with needless binaries.

/azp run java - template - ci

/azp run java - core - ci

/azp run java - aggregate-reports


Create dataset loader for Indonesian Hoax News Detection

NusaCatalogue: https://indonlp.github.io/nusa-catalogue/card.html?id_hoax_news

Dataset
id_hoax_news

Description
Indonesian Hoax News Detection is a dataset for hoax news detection. 600 Data are retrieved in Indonesian language with 372 valid news and 228 fake news.All data are manually labelled.

License
CC-BY 4.0

#self-assign


Invalid field name policyUrl Error

Affected module

UI

Describe the bug
To Reproduce

Go to "Roles" page

Screenshots or steps to reproduce

Expected behavior
A clear and concise description of what you expected to happen.
Version:

OpenMetadata version: 1.11.1

Additional context
Add any other context about the problem here.

Hey @haithem-souala, Thanks for reporting this.
This is fixed by https://github.com/open-metadata/OpenMetadata/pull/6124


feat: Enable custom runtime sample for JS runtime

Description
I copied all the C# schemas under schemas/sdkSchema folder. the update-schema script will merge all the schema in sdkSchema folder with the custom action schema together.
Follow the readme,

you can add the custom runtime for JS runtime under src/customaction folder.
you can use update-schema.ps1/sh -runtime nodejs to update the schema.
you will see it in the Composer Flow editor

Task Item
close #3893

Screenshots

@luhan2017 can you please address conflicts

Closing this PR, we will support custom runtime in another PR https://github.com/microsoft/BotFramework-Composer/pull/4494


Time slider in a world of divergent date formats

As we have known from our first engagement with this work, dates come in many different formats in OHM.
Our code those far has assumed YYYY-MM-DD, and ideally the community would settle on a single standard and go with that. Though uncertainty is part of the picture, and what to do about that?
Here's an example of an area with lots of year-only dates in 1830:
http://www.openhistoricalmap.org/edit#map=18/49.54794/17.73503
Timeslider demos here are blank because dates don't conform to our code's expectations. Do we start down the road of trying to guess dates from different formats? Or do we potentially look to combine Date Errors highlight work with timeslider?

The reason for year-only tagging is that we know only the year, when the source map was created, e.i. the year when we are sure, that the building existed.
There are two options now:

Change the code and valuate year-only dates as xxxx-01-01 or xxxx-12-31.
Change the date to 1830-01-01 or 1830-12-31. However, if we consider, that in much (maybe most) cases, we know only the year of creation/mapping, the "incorrect" tagging will be arouse permanently. So if we choose the second option, an authomatical correction of year-only dates would be necessary.

Considering the shortened elements here:
https://en.wikipedia.org/wiki/ISO_8601

The standard also allows for calendar dates to be written with reduced accuracy.[16] For example, one may write "1981-04" to mean "1981 April". The 2000 version allowed writing "--04-05" to mean "April 5"[22] but the 2004 version does not allow omitting the year when a month is present. One may simply write "1981" to refer to that year or "19" to refer to the century from 1900 to 1999 inclusive. Although the standard allows both the YYYY-MM-DD and YYYYMMDD formats for complete calendar date representations, if the day [DD] is omitted then only the YYYY-MM format is allowed. By disallowing dates of the form YYYYMM, the standard avoids confusion with the truncated representation YYMMDD (still often used).

re dates, so we could comply with the standard while accounting for imprecision where first 4 digits must be YYYY, first 7 are YYYY-MM, and then 10 full YYYY-MM-DD

Let's have timeslider maker @gregallensworth weigh in and see what he thinks about using ISO 8601 YYYY, YYYY-MM, annd YYYY-MM-DD in the slider code and filters but not going fully into trying to parse out other date formats. Maybe that's a workable middle way that also doesn't force false precision on the source data.

If the TimeSlider were to continue filtering by year only, then the dates themselves could also be years only. The omission of month or day would be just fine; in fact, if the year were our only resolution it would be arguable whether there were a need for month/day inputs at all.
However, I expect that later phases will want to deliver higher-resolution behavior, down to date. And there, partial dates fall very flat.
MBGL's Filtering
MBGL's filtering system is a fairly simplistic set of filters, basically just GTE >=, LTE <=, EQ ==, and NE != No ability is provided to check the length of the date string, to parse it with a regular expression, to modify a copy of the string for comparison purposes, and so on. Just simple string comparisons, on the data as-given.
The date comparison is a simple string comparison using >= and <=:

selection of 2000 as the date,
becomes a filter start_date <= 2000-12-31 AND end_date >= 2000-01-01

However, these string comparisons fall flat when we have malformed date (including truncated dates). For example: 2017 is not within the range of 2017-01-01 - 2017-12-31 and therefore would not match the comparison.
So, in the generated vector tiles being served out to consumers, a proper YYYY-MM-DD is an absolute requirement, if we intend to move forward into higher time resolutions. If this were not a goal, then simple years would be fine, and some existing code could be simplified.
Filling Missing Month/Day in DB or Vector Tile Generation
In theory, some processing step of importing the OHM data into the vector tile system, and/or the views and queries used to produce vector tiles, could introduce false month/day components where they are missing.
If a date of 2000 were a start_date then  it would be changed into 2000-01-01, and if it were an end_date then it would become 2000-12-31 Thus, the vector tiles would always have proper YYYY-MM-DD dates and be amenable to filtering at whatever resolution.
R&D would be required, to come up with a mechanism to do this. There are scores of tables and views managed by the OpenMapTiles import process, and also date format issues such as "about 1970" which could throw a wrench into some processes, as well as a need for the process to be fairly swift and probably done at runtime instead of as a postprocessing SQL query. R&D needed, but this is probably the best way foward.

Completing dates to YYYY-MM-DD during importing to the vector tile system seems as the best solution.

Gregor and I just worked through a better approach here: A process by which we convert all dates to floats as a "sortable date" element.
@gregallensworth will write some notes here on what that approach would mean.

I have been thinking about the time slider, and the larger context outside of four-digit years after the year 0 CE.
The discussion so far has been about ISO 8601 dates, specifically so client-side filtering could continue to use Mapbox GL's simple filtering system, which lacks regular expressions, function callbacks, etc. and offers little more than >= and <= comparisons.
The discussion so far has been about handling truncated dates, potentially rounding them out to proper YYYY-MM-DD strings. But I suspect that this may be trying to plaster over a larger crack.
String comparisons are limited in their scope: 999 is greater than 1234 and -999 comes before -100. If dates could be represented as numbers, then comparisons would be straightforward regardless of the CE/BCE break.
Requirements for a date-to-number conversion system:

Date conversion system must be mathematically sound, accounting for leap days for example.
Ideally, a date conversion system would also have some precedent for credibility and acceptance, as opposed to being an invention of OHM for the purpose of one map control.
Ideally, a date conversion system would have widespread support in programming languages, particularly JavaScript, indicating acceptance and credibility but also allowing external programs to parse the dates.

Candidate: Julian Date

Number of days since the origin time: January 1 4713 BCE
Widely used by astronomers and historians.

References:

I am very interested in this conversation as we have faced similar issues with WikiWar. Due to the nature of the Defacto Social Research Engine upon which WikiWar is built, we also have to contend with fictional calendars (Star Dates, Shire Reckoning, Westerosi time, etc.). In the end we determined that projects would need to specify the calendar in use, and in the case of non-ISO 8601 dates, provide a mechanism for specifying the rules (schema) of the custom calendar.
Getting back to OHM, there may be value in requiring a calendar=julian tag or something similar. This opens up the question of whether OHM should be specifying calendar schemas, but if a given schema is posted on the wiki so people understand what a given date with calendar=julian actually means, it could solve this immediate problem.
It also opens the door to specifying additional calendars (like Islamic calendar AH/BH, various Chinese calendars, etc.) down the road...

❤ converting dates from whatever calendar (defaulting to Gregorian if no calendar= tag is present) is used for date stamps in the tags into Julian Dates for use in vector tile consumers. If people want to include Julian Dates when tagging, awesome, otherwise we handle the conversions and maybe end up a bit off.
I don't like using -01-01 for circa dates, but I think we already have a tagging solution in place (truncated dates) so we don't need to impose structure. Maybe conversion to circa=<days> or something?
@bertdeb how (if it does) does WikiWar handle approximate dates, potentially ranging over multiple years?

Discussed this just now with GreenInfo dev team and @gregallensworth is going to proceed with the changes needed to use Julian date as the sortable fields for start and end, while leaving untouched the source data in OHM. And for any "info" features or displays of an element that show dates, we would show whatever is in the source. So "2012" or "2012-05" would be displayed as such.
For now, we're assuming Gregorian dates as the default and deferring to future iterations further refinements that would allow for other calendar types. But having a single sortable format should create at least a path to future additional methods to deal with divergent formats, etc.

I think we do want to map older things than 4713 BCE. Basically all prehistoric things. Can there be negative Julian dates?
if not, we shouldn't really limit what people can map due to limited support of applications.
With https://github.com/OpenHistoricalMap/osm2pgsql/blob/master/ohm_tags_transform.lua parsing code for OHM we converted string dates into integers rather than postgres date format because of this limitation as postgres couldn't store old dates.

Support for negative Julian dates is variable depending on the implementation.

JavaScript supports negative Julian Days back to some 500,000 BCE
PHP will silently cap to 0 (Jan 1 4713 BCE) but not generate an error.
PostgreSQL generates an error due to timestamp being out of range. SELECT to_char('0001-01-01'::date - interval '5000 years', 'J');

As such, @timwaters concern about dates before 0 J is valid, if OHM is expected to work with such dates.
Looking at that LUA code, the year is split off and stored as an integer. That keeps things nice and simple, if we could accept year as the best resolution. Ideally, we want to express start/end dates in a way amenable for filtering down to the day.
*Candidate Algorithm: Year as Float
Idea here is to treat years as float/decimal numbers, with the month/day forming the decimal portion.

1999-01-01 would be 1999.000000 as a start_date and 1999.002739 as an end_date, covering a 24-hour period.
The 24-hour period of 2000-01-01 would be 2000.000000 through 2000.0027322 since 2000 was a leap year with 366 days
BCE years would be counted "backwards" that December is less negative than January, e.g. -473.000 would be December 31 of 473 BCE and -473.99726 would be January 1 473 BCE.

Such float dates would have unequivocal comparisons, and could express geological spans.
Concerns and challenges:

Not a known mechanism with established acceptance and implementations. I could only find one implementation, for R, and it is limited to positive ISO dates and internally uses Unix epoch.
Creating an implementation sounds not difficult, but  is probably more nuanced than it sounds off the cuff:

Existing date libraries may be ill-equipped to help with some of this heavy lifting, e.g. tm_yday for a year in 100,000 BCE implies that the underlying library could support this date so as to be able to calculate the number of days in that year... So probably have to roll-our-own Pl/PgSQL implementation of tm_yday
Nuances of the Gregorian calendar, e.g. the math for 1999, 2000, and 2100 are slightly different due to the nuances of leap years. Not problems, just nuances to heed when writing it.

References:
https://www.rdocumentation.org/packages/lubridate/versions/1.7.4/topics/decimal_date

I agree that we want to map stuff older than 0 Julian, but suggest that
will be a very small % of what we want to map out of the gates. Suggest we
take a raincheck on solving that now, in the interest of shipping something
sooner. Does that work?
On Tue, May 14, 2019, 7:27 PM Greg Allensworth<EMAIL_ADDRESS>wrote:

Support for negative Julian dates is variable depending on the
implementation.

JavaScript supports negative Julian Days back to some 500,000 BCE
PHP will silently cap to 0 (Jan 1 4713 BCE) but not generate an
error.
PostgreSQL generates an error due to timestamp being out of range. SELECT
to_char('0001-01-01'::date - interval '5000 years', 'J');

As such, @timwaters https://github.com/timwaters concern about dates
before 0 J is valid, if OHM is expected to work with such dates.
Looking at that LUA code, the year is split off and stored as an integer.
That keeps things nice and simple, if we could accept year as the best
resolution. Ideally, we want to express start/end dates in a way
amenable for filtering down to the day.
*Candidate Algorithm: Year as Float
Idea here is to treat years as float/decimal numbers, with the month/day
forming the decimal portion.

1999-01-01 would be 1999.000000 as a start_date and 1999.002739 as
an end_date, covering a 24-hour period.
The 24-hour period of 2000-01-01 would be 2000.000000 through
2000.0027322 since 2000 was a leap year with 366 days
BCE years would be counted "backwards" that December is less
negative than January, e.g. -473.000 would be December 31 of 473 BCE and
-473.99726 would be January 1 473 BCE.

Such float dates would have unequivocal comparisons, and could express
geological spans.
Concerns and challenges:

Not a known mechanism with established acceptance and
implementations. I could only find one implementation, for R, and it is
limited to positive ISO dates and internally uses Unix epoch.
Creating an implementation sounds not difficult, but is probably
more nuanced than it sounds off the cuff:

Existing date libraries may be ill-equipped to help with some of
this heavy lifting, e.g. tm_yday for a year in 100,000 BCE implies
that the underlying library could support this date so as to be able to
calculate the number of days in that year... So probably have to
roll-our-own Pl/PgSQL implementation of tm_yday
Nuances of the Gregorian calendar, e.g. the math for 1999, 2000,
and 2100 are slightly different due to the nuances of leap years. Not
problems, just nuances to heed when writing it.

References:
https://www.rdocumentation.org/packages/lubridate/versions/1.7.4/topics/decimal_date
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/OpenHistoricalMap/openhistoricaltiles/issues/37?email_source=notifications&email_token=AALM4EXYPA7YZCY5SKO6ZK3PVLY7TA5CNFSM4HJQVRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVMGJ5Q#issuecomment-492332278,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALM4EQHPVSIUZIF2NKFPBLPVLY7TANCNFSM4HJQVROQ
.

@gregallensworth Let's go ahead with a try at the Year as Float approach you describe above. Do you want to break this out into separate issues that make most sense for you? I can also give it a try.

Some implementations of both padding out truncated dates and of rendering year-month-day as a decimal number for sorting.
https://github.com/OpenHistoricalMap/decimaldate-python
https://github.com/OpenHistoricalMap/decimaldate-python
https://github.com/OpenHistoricalMap/DateFunctions-plpgsql

I have updated vector tiles to have new fields start_decdate and end_decdate

I have updated the MBGL TimeSlider and its demo to use the decimal sorting, and also to support negative dates.
https://openhistoricalmap.github.io/openhistoricaltiles/mbgl-control-timeslider/demo/#14.600/40.80623/-73.91894/-500,-1000--250
https://openhistoricalmap.github.io/openhistoricaltiles/leaflet-control-mbgltimeslider/demo/#14.600/40.80623/-73.91894/-750,-1000--500

Here is the area that @daelba mapped to 1830 resolution:
https://openhistoricalmap.github.io/openhistoricaltiles/mbgl-control-timeslider/demo/#15.000/49.55012/17.72994/1830,1800-1900
This area, http://www.openhistoricalmap.org/#map=16/49.5476/17.7362&layers=H, includes dozens of features with start_date=1830. Where in the past we had no map elements showing at all, we now have a few. But I would expect many more:

Nearly every item I clicked on here has start_date=1830, except the cathedral, which is start_date=1764.
Given that we're now padding out dates, any thoughts on what would prevent these buildings to show up?

I see it: the start_decdate and end_decdate are NULL if the date is invalid, and Tessera omits this key entirely from the feature. That is to say: a feature which has no end_date set, will have no end_decdate property at all, blank or otherwise.
I have reworked the logic accordingly.
https://openhistoricalmap.github.io/openhistoricaltiles/mbgl-control-timeslider/demo/#16.238/49.54809/17.73493/1830,1825-1960
Not a lot of change to see visually, but some. In 1860 you can see the Judische Schule appear, and in 1863 you can see a rather large building appear somewhat far to the west. In 1876 you can see a building and a small bit of park disappear. In 1921 you can see a small park to the west disappear.

looks great!


Add S.reverse

Fixes #196

@davidchambers sorry it took me so long. As for the implementation: I also added a check for xs.length == 0 which returns xs right away. Does that look OK to you?

Thanks for the updates, Tobi. LGTM aside from the two minor stylistic issues I mentioned above. :)

:deciduous_tree:


⚠ DesiTorrents has degraded performance

In 524a4d6, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 9538 ms

Resolved: DesiTorrents performance has improved in bb5113b.


Memory leak and screen become black when using PlatformView

Steps to Reproduce

create a listview include platform view, for example ervery 5 item there is a AndroidView
repeatedly scroll down and up the listview, so that the AndroidView will be new create and dispose repeatedly.

result: the screen will become black and nothing will be shown after several times of step2.
And in the log, StrictMode show warning of that surface never release.
Out of memory error log occured at the same time
Logs

2018-11-09 13:55:20.215 14249-14258/xxx E/StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
    java.lang.Throwable: Explicit termination method 'release' not called
        at dalvik.system.CloseGuard.open(CloseGuard.java:180)
        at android.view.Surface.setNativeObjectLocked(Surface.java:511)
        at android.view.Surface.<init>(Surface.java:179)
        at io.flutter.plugin.platform.VirtualDisplayController.create(VirtualDisplayController.java:30)
        at io.flutter.plugin.platform.PlatformViewsController.createPlatformView(PlatformViewsController.java:179)
        at io.flutter.plugin.platform.PlatformViewsController.onMethodCall(PlatformViewsController.java:118)
        at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:200)
        at io.flutter.view.FlutterNativeView.handlePlatformMessage(FlutterNativeView.java:163)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:323)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
2018-11-09 13:54:34.450 14249-14258/xxx E/StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
    java.lang.Throwable: Explicit termination method 'release' not called
        at dalvik.system.CloseGuard.open(CloseGuard.java:180)
        at android.view.Surface.setNativeObjectLocked(Surface.java:511)
        at android.view.Surface.<init>(Surface.java:179)
        at io.flutter.plugin.platform.VirtualDisplayController.create(VirtualDisplayController.java:30)
        at io.flutter.plugin.platform.PlatformViewsController.createPlatformView(PlatformViewsController.java:179)
        at io.flutter.plugin.platform.PlatformViewsController.onMethodCall(PlatformViewsController.java:118)
        at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:200)
        at io.flutter.view.FlutterNativeView.handlePlatformMessage(FlutterNativeView.java:163)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:323)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

2018-11-09 13:55:25.168 14249-14416/xxx W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
2018-11-09 13:55:25.186 14249-14416/xxx E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
2018-11-09 13:55:26.240 14249-14887/xxx W/Ads: Not retrying to fetch app settings
2018-11-09 13:55:29.344 14249-14416/xxx W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
2018-11-09 13:55:29.351 14249-14416/xxx E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
2018-11-09 13:55:29.370 14249-14416/xxx W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
2018-11-09 13:55:29.376 14249-14416/xxx E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
2018-11-09 13:55:29.395 14249-14416/xxx W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
2018-11-09 13:55:29.401 14249-14416/xxx E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.

<!-- Finally, paste the output of running `flutter doctor -v` here. -->
[✓] Flutter (Channel dev, v0.10.2, on Linux, locale zh_CN.UTF-8)
    • Flutter version 0.10.2 at /home/xxx/software/flutter
    • Framework revision d8cbb80206 (2 weeks ago), 2018-10-26 01:30:21 -0400
    • Engine revision 6c2ade9fa2
    • Dart version 2.1.0-dev.8.0.flutter-bf26f760b1

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at /home/xxx/software/Android/Sdk
    • Android NDK at /home/xxx/software/Android/Sdk/ndk-bundle
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /home/xxx/software/Android/Sdk
    • Java binary at: /home/xxx/Downloads/android-studio-ide-181.5056338-linux/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    • All Android licenses accepted.

[✓] Android Studio (version 3.2)
    • Android Studio at /home/xxx/Downloads/android-studio-ide-181.5056338-linux/android-studio
    • Flutter plugin version 30.0.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[✓] Connected device (1 available)
    • Nexus 6 • ZX1G22LZ39 • android-arm • Android 7.1.1 (API 25)

• No issues found!

I found that the textureEntry created in PlatformViewsController.java(as below code) never call its release.
@TargetApi(17)
private void createPlatformView(MethodCall call, Result result) {
...
SurfaceTextureEntry textureEntry = this.mTextureRegistry.createSurfaceTexture();
...
}

@amirh

Thanks for the report! flutter/engine#6829 should fix the texture leak.
I'm leaving this open until we verify that the original black screen issue is resolved.

Thanks for your fast fix!
I am sorry about the issue of black screen, because i have found that the black screen issue continue occurring after remove the AndroidView. I think it is another issue.(Maybe the AndroidView just make the black screen issue easier to produce).I  am testing how to reproduce the black issue easily,after test finish i will report a new issue.

Could this be related to https://github.com/flutter/flutter/issues/23181 ?

Could this be related to #23181 ?

I am afraid it is different from #23181, because i didn't open the 'don't keep activities' develop settings.

NativeViewExample.zip
I have apply the fix by update flutter to 0.11.7 • channel dev, and i reproduced the black screen issue again.
I uploaded my test source in NativeViewExample.zip.
Steps to Reproduce
Fast scroll up/down the listview that contain AndroidView repeatly.
Logs[test Device Info: Nexus 6 • ZX1G22LZ39 • android-arm • Android 7.1.1 (API 25)]
2018-11-20 17:24:58.001 1943-1957/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-1] dequeueBuffer: BufferQueue has been abandoned
2018-11-20 17:24:58.278 1943-1976/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-2] dequeueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:01.533 1943-1976/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-12] dequeueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:01.977 1943-2004/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-14] queueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:02.711 1943-2007/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-17] queueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:03.176 1943-2004/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-18] dequeueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:03.580 1943-1956/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-20] queueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:04.395 1943-1957/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-21] dequeueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:04.814 1943-2015/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-24] dequeueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:05.624 1943-2020/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-28] dequeueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:05.700 1943-2013/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-29] queueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:05.860 1943-1976/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-30] dequeueBuffer: BufferQueue has been abandoned
2018-11-20 17:25:05.968 1943-2015/com.example.nativeviewexamplepluginexample E/BufferQueueProducer: [SurfaceTexture-0-1943-31] cancelBuffer: BufferQueue has been abandoned
......
2018-11-20 17:28:14.482 1943-1961/com.example.nativeviewexamplepluginexample E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
2018-11-20 17:28:14.484 1943-1961/com.example.nativeviewexamplepluginexample W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
2018-11-20 17:28:14.485 1943-1961/com.example.nativeviewexamplepluginexample E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
2018-11-20 17:28:14.555 1943-1962/com.example.nativeviewexamplepluginexample W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
2018-11-20 17:28:14.557 1943-1962/com.example.nativeviewexamplepluginexample E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
2018-11-20 17:28:14.560 1943-1962/com.example.nativeviewexamplepluginexample W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
2018-11-20 17:28:14.562 1943-1962/com.example.nativeviewexamplepluginexample E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
2018-11-20 17:28:14.565 1943-1962/com.example.nativeviewexamplepluginexample W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
2018-11-20 17:28:14.566 1943-1962/com.example.nativeviewexamplepluginexample E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
And i found that different device have different phenomenon.
*On SM G9008V • f8a396e5 • android-arm • Android 6.0 (API 23):app crash and exit.
*On Nexus 6 • ZX1G22LZ39 • android-arm • Android 7.1.1 (API 25):screen become black
*On MIX 2 • 3c6e76dd • android-arm64 • Android 8.0.0 (API 26):screen freeze and can not scroll the Listview any more.

I was able to consistently reproduce the issue with the following piece of code:
class WebViewCyclerState extends State<WebViewCycler> {

  int cycles = 1;
  bool running = false;
  Timer timer;

  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Text('Cycled through ${(cycles / 2.0).ceil()} webviews'),
        Container(
          height: 300,
          child: cycles % 2 == 1 ? WebView(initialUrl: 'https://flutter.io',) : null,
        ),
        RaisedButton(
          child: Text(running ? 'STOP' : 'RUN'),
          onPressed: () {
            if (running) {
              timer.cancel();
              setState(() {
                running = false;
              });
              return;
            }
            setState(() {
              running = true;
            });
            timer = Timer.periodic(Duration(milliseconds: 250), (Timer t) {
              setState(() {
                cycles++;
              });
            });
          },
        )
      ],
    );
  }

}

Sent a fix in: https://github.com/flutter/plugins/pull/1221

With flutter/plugins#1221 this is much better, and while I couldn't get it to OOM after that patch, it still looks like there's a slow growth in graphics memory usage, so there might be another leak somewhere. I'm investigating.

After some more digging, it looks like the leak is not platform view specific but happens whenever we recycle textures (I've observed the leak when doing something similar to the snippet above with the video player).
My hypothesis right now is that we are never deleting the textures we allocate at: https://github.com/flutter/engine/blob/733739938bb4f841320e12e32a52c3ba7d69558c/shell/platform/android/android_external_texture_gl.cc#L36
Unfortunately I cannot confirm right now(looks like one of the gclient sync dependencies is super slow right now, and my laptop is not up to date), but my speculative fix would be:
https://github.com/amirh/engine/commit/e72bdf8ffcadb72d04db7e74d26610b99ac5b194
I'll follow up tomorrow morning, confirm the fix and if it works submit it.
cc @chinmaygarde


Adding option to clear text

I believe currently there is only a function to type[]. However, if there is already text in the field, there is no way to clear the text.
Is it possible to add a clear[] function?

It is possible to add another action; however, this would also grow the action space.
The ways to delete the existing content in an input box are

press [meta+a] to select all, then press [backspace]
press [backspace] for k times until empty.

Check out #36 for an example


Change in xhamster.py needed?

Checklist

[x ] I'm reporting a site feature request
[x ] I've verified that I'm running youtube-dlc version 2020.09.06
[x ] I've searched the bugtracker for similar site feature requests including closed ones

Description

The main youtube-dl project has changed line 141 to:
(r'window\.initials\s*=\s*({.+?})\s*;\s*</script>',
r'window\.initials\s*=\s*({.+?})\s*;'), webpage, 'initials',

Is it necessary to change the corresponding line 141 here as well?
Now:
r'window\.initials\s*=\s*({.+?})\s*;', webpage, 'initials',

will be merging updated youtube-dl's master branch.
https://github.com/blackjack4494/youtube-dlc/pull/52
But before that I will check the changes. It's good to see some activity going on again. Tho this recent update is fixing youtube, twitch and adult extractor mainly. Will try to stay in line with youtube-dl's master branch but in addition include PRs that haven't been merged or simply dropped. Also will try to merge fixes more active (meaning faster compared to main project).
:)

@nicolaasjan merged the latest update of youtube-dl so the requested fix should be included. However I did not test it myself (trusting youtube-dl here)


Add Fingerprint 2.0 for 2020 Toyota Corolla Cross (Taiwanese Version)

Add fingerprint for engine, eps, esp, fwdCamera.

This car does not support Stop & Go, also no Full-Speed DRCC

No ALC and ACC below 18mph (30kph)

Dongle ID: 94545a9472a6c942

Also, I'm not sure if I should update README.md or not, as Corolla Cross in the US market has Full-Speed DRCC and SnG feature, but it's not public available yet.
I suspect it will have a  different fingerprint compare to the Taiwanese version.

Does openpilot stop steering under 18mph?

Yes, complete disengadge below 18mph


The script just freezes on the support selection screen

Preparation

[X] I tested the latest release
[X] I looked at other issues (even the closed ones)
[X] I read the Troubleshooting Guide

FGO server
NA
FGA build number
1908
Describe the bug
When i start a battle the script works fine, skill and NP selections and replenish AP but when it goes to support selection screen the script just freezes and do nothing, i have to manually select a support then the script works again in battle.
I used the script before and worked fine but i didnt use it for some time, when i tried again for the event i found this problem
Video
https://user-images.githubusercontent.com/120408549/207119131-3d6a1f87-ae46-4e37-9d58-12efb5acf879.mp4
Device model
Motorola Edge 2021
Android version
12
Screen size
2460x1080
RAM
8 GB

Move the play button to the bottom left.


Flagging Facebook login is not set up completely

Facebook login renders pop up with error: The parameter app_id is required

Closing to keep only issue #163


Invalid name: "@cloudfour/hbs-helpers"

I am really excited to check out your project! However, when running npm start or npm install it bombs out when trying to install the @cloudfour/gulp-tasks and @cloudfour/hbs-helpers modules because of an invalid module name.
npm ERR! Darwin 15.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "i"
npm ERR! node v5.6.0
npm ERR! npm  v3.6.0
npm ERR! Invalid name: "@cloudfour/hbs-helpers"
I am using a Mac Mini (late 2014) on OS X 10.11.4 I also tried installing using node v4.0.0 with the same problem.
Am I the only one running into this issue?

@mattWillis This appears to be a known problem with npm, based on some similar issues.
Can you try installing that package by itself?
npm install @cloudfour/hbs-helpers

Also, are you by chance behind a proxy or using an internal npm registry?

@erikjung thanks for getting back to me. I tried installing the packages individually as well with no luck. Yeah also I saw the issue you posted, it seems to be an error with the "@" symbol. To test this I ran an npm init and tried to include an "@" in the package name and received the following: Sorry, name can only contain URL-friendly characters.
Do you mind if I ask why Cloud Four is using that naming scheme? It seems like removing the symbol would solve the problem. Oh, also, I am not currently behind a proxy or using an internal npm registry.  Thanks again for your quick response!

@mattWillis

Do you mind if I ask why Cloud Four is using that naming scheme? It seems like removing the symbol would solve the problem.

This is the naming scheme for scoped packages:
https://docs.npmjs.com/getting-started/scoped-packages
(See the above URL regarding npm init)
We decided to scope mainly because the tasks and helpers are catered very much to our needs and weren't initially intended to be standalone packages.

@mattWillis
We'll look into how others have resolved the sporadic issues with scoped names.
One possible workaround you can try is to install from the repository instead of the npm registry:
npm install --save-dev cloudfour/core-hbs-helpers.git

(sudo might be needed if you get permission-related errors.)
The package name will be the same, so this might not resolve the problem, but it's worth a shot.

@erikjung Sorry for the delay in getting back to you! I have tried to install the package using your suggested method but still am getting: Invalid name: "@cloudfour/hbs-helpers"
Bummed that I can't try out your project as it seems like it would be a great tool!


Backing up gets a 502 Bad Gateway

Hey there -
I've upgraded to the latest version of fermentrack (although this happened on the previous version).  When I click the "Add Backup" button, it takes its time running (I have probably 20 or so past beer logs), and then gives me a bad gateway page saying:
502 Bad Gateway
nginx/1.18.0
Is this something on my end?  Some timeout variable I need to change?  I have been able to back up in the past, but not for a few months.

Thanks for reporting this. Another user was having the same issue, but I thought it was something specific to his setup. The fact that you're experiencing it as well means that it's something deeper that will require some additional work to resolve.
The issue appears to be something with he fact that I'm generating the backup synchronously with processing the web request. As a workaround, you can SSH into your Pi/server, go to the fermentrack-tools directory, make sure you are on the latest version of both Fermentrack and fermentrack-tools, and then run the following command to generate a backup manually:
docker compose run --rm django python manage.py generate_backup
Once this completes, you should be able to see & download the backup inside Fermentrack's web interface.


[Build] Skip the Packages folder when performing BinSkim scans

The Packages folder contain binaries that are from external sources.
We've applied the policy of "each repo should focus on scanning its own binaries" to most other repos, so adding exclusion of the Packages folder to skip BinSkim scans on the Foundation repo.
How verified:

A private pipeline run shows the Build Stage is successful (no BinSkim errors) with the changes in this PR.

/////
A microsoft employee must use /azp run to validate using the pipelines below.
WARNING:
Comments made by azure-pipelines bot maybe inaccurate.
Please see pipeline link to verify that the build is being ran.
For status checks on the main branch, please use TransportPackage-Foundation-PR
(https://microsoft.visualstudio.com/ProjectReunion/_build?definitionId=81063&_a=summary)
and run the build against your PR branch with the default parameters.

/azp run


Error in scenario conversion (YAML->XOSC) documentation or an absent executable

Describe the bug
It is impossible to convert a TierIV YAML scenario to the OpenScenario as described in the online documentation
To Reproduce
Ubuntu 20.04
Steps to reproduce the behavior:
0. Install ROS2 Foxy, clone and build the scenario_simulator_v2 repo, activate all the necessary environments

Try convert an .yaml scenario file to an .xosc according to the https://tier4.github.io/scenario_simulator_v2-docs/user_guide/scenario_test_runner/ScenarioFormatConversion/
No such executable found, no even a file named scenario_test_utility.py can be found in the repository

Expected behavior
The .yaml file is converted to an .xosc file
Desktop (please complete the following information):

OS: Ubuntu 20.04
Version: master branch commit 2a79b63d 2021-10-11
ROS2 Foxy

https://tier4.github.io/scenario_simulator_v2-docs/user_guide/scenario_test_runner/ScenarioFormatConversion/
The instruction above is too old.
So, please use the command below instead,
ros2 run openscenario_utility yaml2xosc --input </PATH/TO/SCENARIO.yaml> --output <DIRECTORY>
Also, a PR to fix this issue is supposed to be open soon, and then the instruction is updated.

Also, a PR to fix this issue is supposed to be open soon, and then the instruction is updated.
#611 fixed this issue.


Mekanism compatibility issue

Version of Advanced Rocketry
1.4.0-5
Have you verified this is an issue in the latest unstable build
Y
Version of LibVulpes
5.2.3
Version of Minecraft
1.10.2
Description of the problem
Machines do not accept Mekanism gases or their liquid forms.

No, I do not think Mekanism gases are registered as liquids, as Pressurised
Pipes are required to transport them. However, there is a device that
converts them into liquid forms - "Liquid [gas]". I am not sure what needs
to be done about this.
On Fri, Apr 6, 2018 at 1:18 PM, gdarai<EMAIL_ADDRESS>wrote:

What machines you tried? Are Mekanism gases registered as standard
minecraft liquids?
I can confirm, that Pipes don't accept any liquids except for vanilla and
advanced rocketry:
And Pressurized Tank can store any liquid, but cannot actually be filled
using Forge Liquid Bucket.
So what is your case?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zmaster587/AdvancedRocketry/issues/1239#issuecomment-379236056,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AT1vLXBZsTIHq-fG3_rQMydTUJlagbCvks5tl10OgaJpZM4TIUrT
.

Is this still a issue? Please comment if it is and i will reopen if if you are unable? We are closing old issues to see what is still relevant and needs to be fixed.

Hi, figured I'd comment here rather than reopen a new request. With the latest unstable builds for 1.12.2 (1.6.0-151 and Lib 0.4.1-59) this issue still occurs. Mekanism gases are still treated separately from liquids and will not be compatible with Adv Rocketry but also cannot be used once converted to "Liquid" form as described above but then they have a different naming convention to Adv Rocketry. Minetweaker can fix some of the issues but cannot make things like the Gas Charge Pad work with any of Mekanism's versions of the gases/liquids.


packages/cli: add publish config sync to plugin:diff

About to add some custom publish config that we want to keep in sync.
Afaik it's fine to have a publish config and package: private, so things shouldn't get published until the private flag is switched.

Turns out this isn't useful until yarn 2 ._.

@Rugvip So this is just in preparation for yarn 2? I'm confused 🤣

Yeah it kinda ended up being that, because there's no other reason to sync the publishConfig really. Figured it's probably alright to merge anyway since it's some stuff to copy-paste for setting up sync of other parts too :grin:


Windows Authentication is not working when database is outside of the container

I do want to create a NAV2018 docker container which connects to a NAV database located outside of the container. I want to use Windows Authentication for that.
I'm running following command to do that
New-BcContainer `
  -accept_eula `
  -containerName MyTestingContainer `
  -databaseServer 'some.server.somewhere' `
  -databaseInstance '' `
  -databaseName 'AnyDatabase' `
  -artifactUrl (Get-BCArtifactUrl -type OnPrem -country de -version 11.0.46360) `
  -databaseCredential (get-credential) `
  -updateHosts `
  -Credential (get-credential -credential $env:USERNAME)

The container is created successful but when I'm opening the Web Client it shows following error message.
You do not have access to Microsoft Dynamics NAV. Verify that you have been set up as a valid user in Microsoft Dynamics NAV.
I can connect to the "external" database via the NST inside that container when I'm creating the container with NavUserNamePassword as authentication method.
Do I misunderstand how the Windows Authentication method is working?

Containers doesn't really support Windows Authentication, as the container cannot be domain joined.
You can use Windows auth to connect to a Business Central instance running Windows authentication, because I create a user in the container, which uses the same username/password as on the host - that has worked since Windows 3.11 - and still does.
You can however not connect to a service outside the container using Windows auth.

Thanks for the quick reply and clarification.


Release v0.3.0

Codecov Report

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

@@          Coverage Diff           @@
##           master     #18   +/-   ##
======================================
  Coverage    1.70%   1.70%
======================================
  Files          21      21
  Lines        2406    2406
  Branches     1154    1154
======================================
  Hits           41      41
  Misses       2310    2310
  Partials       55      55

Continue to review full report at Codecov.

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


BSoD implementation

I tried to recreate the Win10 BSoD for my submission. Thanks for the challenge.

Your pull request seems good, but must be checked by a human maintainer for the following reason(s):

Your file is not in a project folder ("Friends", "Games"). This may be intentional, but most likely not.

Please be patient until a maintainer has time to look over your contribution.
This is an automated response, beep boop.
if you think there is a mistake, contact a maintainer

6175ded1043a6512212cd61f13e32996e0ede891

Your pull request seems good, but must be checked by a human maintainer for the following reason(s):

This contains potentially hazardous tags that need manual review.

Please be patient until a maintainer has time to look over your contribution.
This is an automated response, beep boop.
if you think there is a mistake, contact a maintainer

6175ded1043a6512212cd61f13e32996e0ede891


Docs link is missing on website

Currently the only link to docs.kanister.io is in a hidden div and there is no way to navigate to the docs from the website.
Since most of docs are in docs.kanister.io there should be a link navigable from kanister.io index page.

Done: https://github.com/kanisterio/website/actions/runs/8543293858


Languages: "Users May Choose Interface Language" not working

Description of bug
In Site Settings > Languages there is a setting "Users May Choose Interface Language" which should allow admins and page editors to choose the UI language. if you enable the option, a list of flags (one for each enabled language) is displayed in the upper right corner. But clicking any of the flags has no effect on the UI language, even after reloading the page.
Steps to reproduce
List the steps to reproduce the behavior:

install DNN and at least one additional language pack
in PersonaBar go to Settings > Site Settings > Languages.
enable "Users May Choose Interface Language"
(reload page)
click any flag on top right corner of PB

Current result
none of the texts displayed in PersonaBar or Edit Bar does get switched to selected language
Expected result
UI is switched to selected language, .
Additional context
This feature is needed, when an admin or author, who is not capable of the content language (but the other language) to edit the content and settings. I just got exactly this request from a community member in the German User Group forum (http://www.dnn-usergroup.de/Community/Forum/tabid/72/aff/13/aft/15160/afv/topic/Default.aspx#25420)
Affected version

[x] 9.2.2
[x] 9.2.1
[x] 9.2
[x] 9.1.1
[x] 9.1
[ ] 9.0

Affected browser

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Internet Explorer
[x] Edge (tested, should apply to other browsers as well).

I am closing this one in favor of the duplicate one that had more comments and also moved it to AdminExprerience.


New-TestResources fails on first few attempts

Most times when I run New-TestResources, I get these errors on the first couple attempts:
WARNING: Attempt 1 failed: Exception calling "Invoke" with "0" argument(s): "The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Your Azure credentials have not been set up or have expired, please run Connect-AzAccount to set up your Azure credentials.". Trying again in 10 seconds...
WARNING: Attempt 2 failed: Exception calling "Invoke" with "0" argument(s): "The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The identity of the calling application could not be established.". Trying again in 20 seconds...

It usually ends up succeeding, but it seems that we should be able to avoid hitting these errors initially.

AFAIK this is normal. The new service principal identity is propagating

@benbp do we think we can do anything real here beyond what we are already doing which is to retry?

@weshaggard I don't think so, because the SP is the provisioner for all downstream steps. https://github.com/Azure/azure-sdk-tools/pull/1983 would address this, I think, because the provisioner would be the user identity instead.


"Reverse" integration of tinytga and tinybmp crates

Hi! Thank you for helping out with Embedded Graphics development! Please:

[x] Check that you've added passing tests and documentation
[x] Add a simulator example(s) where applicable
[x] Add a CHANGELOG.md entry in the Unreleased section under the appropriate heading (Added, Fixed, etc)
[x] Run rustfmt on the project
[x] Run ./build.sh (Linux/macOS only) and make sure it passes. If you use Windows, check that CI passes once you've opened the PR.

PR description
TODO

[x] Split changelogs - closes #230
[x] Tinybmp
[x] Tinytga
[x] Delete e-g builtins for TGA and BMP
[x] Add documentation to e-g lib.rs with a list of external crates with support. e-g-sim and embedded-picofont should probably be added to this list too.
[x] Move image tests in e-g to respective tiny* crates
[x] Revert/fix Cargo.toml dependency imports that use paths
[x] Add documentation for removed/new items

Do you think that's a good idea?

I don't think it's a bad idea :grin: but could we add it later? Easier to add than remove :slightly_smiling_face:.
Review changes addressed, ready for another pass!

Currently Image owns the ImageData. Wouldn't it be better if Image would use a reference to the image data instead? This way the struct that implements ImageData could be stored in a constant.

Wouldn't it be better if Image would use a reference to the image data instead?

Certainly, but I'm struggling with some lifetime stuff. I uploaded a breaking commit - could you take a look at it and see where my naive approach is going wrong?
I'm getting errors like
error[E0277]: the trait bound `tinybmp::Bmp<'_>: embedded_graphics::image::ImageData<_>` is not satisfied
  --> simulator/examples/bmp.rs:15:17
   |
15 |     let image = Image::new(&bmp, Point::zero());
   |                 ^^^^^^^^^^ the trait `embedded_graphics::image::ImageData<_>` is not implemented for `tinybmp::Bmp<'_>`
   |
   = help: the following implementations were found:
             <&'a tinybmp::Bmp<'a> as embedded_graphics::image::ImageData<C>>
   = note: required by `embedded_graphics::image::Image::<'a, I, C>::new`

And
error[E0277]: the trait bound `image::image_raw::ImageRaw<'_, pixelcolor::binary_color::BinaryColor>: image::ImageData<_>` is not satisfied
   --> embedded-graphics/src/image/image_raw.rs:265:21
    |
265 |         let image = Image::new(&image, Point::zero()).translate(Point::new(-1, -1));
    |                     ^^^^^^^^^^ the trait `image::ImageData<_>` is not implemented for `image::image_raw::ImageRaw<'_, pixelcolor::binary_color::BinaryColor>`
    |
   ::: embedded-graphics/src/image/mod.rs:66:5
    |
66  |     pub fn new(image: &'a I, position: Point) -> Self {
    |     ------------------------------------------------- required by `image::Image::<'a, I, C>::new`
    |
    = help: the following implementations were found:
              <&'a image::image_raw::ImageRaw<'a, C, BO> as image::ImageData<C>>

On top of all the weird errors, how could we work around cases like this (simplified) example?
struct Image<'a> {
    buf: &'a [u8]
}

struct WrappedImage<'a> {
    image: &'a Image<'a>
}

fn load_image<'a>(buf: &'a [u8]) -> WrappedImage<'a> {
    let image = Image { buf };

    WrappedImage { image: &image }
}

This throws this familiar error:
error[E0515]: cannot return value referencing local variable `image`
  --> src/lib.rs:14:5
   |
14 |     WrappedImage { image: &image }
   |     ^^^^^^^^^^^^^^^^^^^^^^------^^
   |     |                     |
   |     |                     `image` is borrowed here
   |     returns a value referencing data owned by the current function

I'm starting to have second thoughts about keeping images as a ref inside Image

The current approach is to use include_bytes!() to store the image data as a constant, and load it in at runtime. This incurs some parsing overhead, but parsing headers and stuff in an image is not a huge amount of work, at least for tinytga and tinybmp. Most processing is done in the iterator, so storing the image as a const wouldn't do much to help this I think.
My take on Image is that the Bmp, Tga, etc passed to it "becomes" an Image which is pretty ok IMO. Are there use cases where the programmer would want to reuse the original image later? We could add an .into_inner() or .free() or whatever method to facilitate this if required?
It breaks the pattern described in the above comment (https://github.com/jamwaffles/embedded-graphics/pull/247#issuecomment-582414744).

Are there concrete use cases you can think of where keeping the image as a ref is better than owning it?

Look at the changes in this commit for a possible solution: https://github.com/rfuest/embedded-graphics/commit/0dac951eb2859fdaf1c89a66329052cdbb69d243
It splits the ImageData trait into two traits to make the lifetimes easier to manage. ImageData is very similar to IntoIter and ImageDimensions is a basic trait without the need to consider lifetimes.

This incurs some parsing overhead, but parsing headers and stuff in an image is not a huge amount of work, at least for tinytga and tinybmp.

But for other formats, especially compressed ones, this could be expensive in both memory and runtime.

My take on Image is that the Bmp, Tga, etc passed to it "becomes" an Image which is pretty ok IMO.

I think of Image like a small one time use object that is build to specify where a image is drawn.

Are there use cases where the programmer would want to reuse the original image later?

If it is expensive to create the ImageData it would be beneficial to be able to reuse it when the same image is displayed multiple times, like an icon in a GUI.

Look at the changes in this commit for a possible solution:

Thanks for figuring that out. Pretty gnarly! I've renamed the traits to ImageDataIter and ImageData which I think makes a bit more sense, especially when:

... ImageData is very similar to IntoIter

Both traits could use a doc review.

I think of Image like a small one time use object that is build to specify where a image is drawn.

I see, that makes sense :)

Right, build is passing. Ready for another pass when you have a mo :)

The names for the traits were temporary, but I'm not sure I like the new names. If ImageDataIter is similar to IntoIter the name should reflect this IMO. Maybe IntoPixelIter?
The ImageData trait doesn't provide any functions that access the image data. I did choose ImageDimenstions because the trait only contains functions to access the dimensions at the moment. Additional functions, like a get_pixel function, could later be added as a separate traits. This way the external crates can implement different subsets of functions.

Maybe IntoPixelIter?

Ah yeah, much better name.

Additional functions, like a get_pixel function, could later be added as a separate traits.

Ok, I originally thought they could go in ImageData but I think we discussed this a while back to allow for varying levels of integration for different image formats.

Just reread my other comment which made no mention of this PR being ready for a re-review. When you have time :)

Just reread my other comment which made no mention of this PR being ready for a re-review. When you have time :)

Just to let you know, I haven't forgotten this review yet but won't have time to review it until probably next week.

Cheers for the update. Let me know if there's anything I can do to accelerate the process. I might end up self-reviewing and self-merging this if I get bored so we might have to do some smaller (whoa, yay!)  Ready for another pass. I've changed the docs around a bit. They might not be perfect, but I'd prefer to get this PR over the line now so unless there's anything egregiously misleading in the docs or the functionality is incorrect can we fix-forward in new PRs? Good practice for smaller PRs as well lol.

Sweeeeeeet!
Also...

wowser


<EMAIL_ADDRESS>cli wrapper can not find cli.js due to linux using symlink in node_modules/.bin directory

Using npm (8.5.5), node (v16.13.0), Fedora Linux 35 (Workstation Edition).
npx testament test

CustomError: Cannot find module 'PROJECT_DIR/node_modules/cli.js' imported from PROJECT_DIR
...

Looking at the wrapper and checked that node_modules/.bin/testament is a symlink, the problem can be fixed by using realpath, e.g.
import { spawn } from "child_process";
import { join } from "path";
import { realpathSync } from "fs";
const [node, toolsDir, ...args] = process.argv;

//const cli = join(toolsDir, "..", "..", "cli.js");
const cli = join(realpathSync(toolsDir), "..", "..", "cli.js");
...

Thank you Sir. 🙏

Just released as 0.2.7 -  thank you again!


Use existing isPlayerPlaced value to track who placed a block

What is this?
This is a proof-of-concept of using the isPlayerPlaced value to store an identifier for the player who placed the block.
The existing behavior is to set that value to "1" if placed by a player... and then do nothing with the actual integer stored.
Since we're already storing four bytes per player-placed block, why not use them?
Why make this change?
This change allows for the easy creation of a self_placed filter, which I'll include in a PR to the libreforge repo shortly.
What good is a self_placed filter?

Weapons that deal bonus damage when standing on home turf.
Tools that mine your own blocks instantly.

How it works
This change assigns each player a local ID, and then uses that ID instead of the value "1" for the isPlayerPlaced value.
Local ID is a single INT stored stored on the PlayerProfile. Storing it on the player profile makes it a proxy value for UUID.
Why not use UUID instead of a local ID?
If additional memory use isn't a concern, UUIDs are the most robust solution. However, using a UUID here would increase storage space used by isPlayerPlaced 4x.
Doing it with local IDs, as this PR does, allows us to use the existing value and thus has no increase in per-block storage use.
Given the size of a signed 4-byte integer, a server won't run out of local IDs until Minecraft sells 2 billion copies and all of those copies come to play on a specific server.
Why not rely on the anti-grief integration?
The anti-grief integration only tracks who has permission to modify a given block. Not who placed it in the first place. Even if we were to modify the integration, not every anti-grief plugin implements a "who placed this block" function.
And again, we already store a value here. This is just making use of it.
Performance Analysis
The existing behavior is to write to the chunk's profile each time a player places a block. This behavior is unchanged.
There is now an additional read from the player's profile when placing blocks, to determine the player's local ID. Depending on how that read occurs in the code (I haven't read deeply yet, but I'm assuming it's memoized somewhere so it's not hitting the DB/Disk every read) this should have negligable impact.
Backwards Compatibility
This change doesn't break any existing behavior.
Before this PR, worlds with blocks marked by isPlayerPlaced use the value 1 to denote their placement, and no value if they were not player placed. I've ensured that the local player IDs start at 2, so that there's no conflict on migrating versions.
There's also no conflict if the server downgrades from this version; the actual value set by isPlayerPlaced is ignored prior to this PR.

Hi - a couple things:
I don't think local ID is necessary, UUID is 16-byte and I don't think that the memory overhead is significant. Instead I'd store as a byte array with the player's UUID.

Excellent, that's the much more robust solution!
It does impose a per-player-placed block overhead beyond what eco currently has, which in a worst case scenario could get quite large- roughly 300kb per chunk, assuming players placed every block in a chunk. But in practice players touch a tiny tiny fraction of blocks per chunk, so that's hardly worth stressing over.
I'll go ahead and redo the implementation so that local ID is not necessary. Might be a few days, but it's an even simpler code change than this one is.


added note to use Kubectl port-forward

Signed-off-by: Ayushman<EMAIL_ADDRESS>What this PR does / why we need it
Added note to use kubectl port-forward for ad-hoc UI on CAPD in harbor and knative package README.md

Which issue(s) this PR fixes

Fixes: #1836

What do we think about this PR @vmware-tanzu/pkg-harbor-owners and @vmware-tanzu/pkg-knative-serving-owners?

Hi, we reorganized the structure of the doc for the harbor package. Can you rebase with the main branch and put your content in the right place? Thanks.

Closing this PR due to inactivity due to merge conflicts. If you'd still like to make these improvements, please re-create a PR against main.


Maven - Error downloading library (host access denied)

Describe the bug
Maven occur this error downloading library
Host: https://android-sdk.voxeet.com/release

<Error>
AccessDenied
<Message>Access Denied</Message>
<RequestId>NDP6Q6JHGM8Y25GP</RequestId>
<HostId>dWUzEJBOFVHVMuMmcHyFX5YglJ/r+x6lncYVRZkNi6QYa5Lherj7ltVI6SZHg5BqEq5WRGTbgKk=</HostId>
</Error>

Expected Behaviour
download lib normally
Steps to Reproduce the Problem
I followed the documentation (link)

Add maven { url "https://android-sdk.voxeet.com/release" } in android on allprojects.repositories
Click in Sync gradle

Minimalistic code (recommended)
project gradle
allprojects {
    repositories {
        maven { url "https://android-sdk.voxeet.com/release" }

        google()
        mavenCentral()

        maven { url 'https://jitpack.io' }
        maven { url("$rootDir/../node_modules/react-native/android") }
        maven { url("$rootDir/../node_modules/jsc-android/dist") }
        mavenLocal()

        jcenter()
    }
}

Specifications

Device: Samsumg S10
OS: Android 11
Platform: Android
Version:
"@voxeet/react-native-voxeet-conferencekit": "^0.3.0",

The above error is normally what you can expect when calling directly https://android-sdk.voxeet.com/release. Can you post the full sync logs you got?
Also, it may be possible that the presence of jcenter() is raising this due it's invalidity (I haven't experienced this in the past but maybe that its failure is forcing the chain to check the other urls, thus creating the issue)

I managed to make it work
the order of the dependencies' download repositories were influencing when I was able to consult the maven file
the file was like this
Gradle Project
buildscript {
    ext {
        kotlin_version = '1.4.10'
        buildToolsVersion = "29.0.2"
        minSdkVersion = 21
        compileSdkVersion = 29
        targetSdkVersion = 29
        googlePlayServicesAuthVersion = "16.0.1"
        supportLibVersion = "29.0.0"
        voxeetSdkVersion = "1.4.12"
        mediaSdkVersion = "0.8.2"
    }
    repositories {
        google()
        mavenCentral()
        maven { url "https://maven.fabric.io/public" }
    }

    dependencies {
        classpath('com.android.tools.build:gradle:4.0.2')
        classpath("com.google.gms:google-services:4.3.10")
        classpath("io.fabric.tools:gradle:1.31.0")
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
        maven { url("$rootDir/../node_modules/react-native/android") }
        maven { url("$rootDir/../node_modules/jsc-android/dist") }
        jcenter()
        maven { url "https://android-sdk.voxeet.com/release" }
        mavenLocal()
    }
}


The current transaction code appears to be bound to using BTM... we should consider relaxing this.

We should look in to supporting the lookup of other XA transaction managers beside BTM.

Louis claims that once #850 is fixed that a third party should be able to add support for another transaction manager.  Therefore as we decide to support a given manager we can file an issue for that task.


Windows: MinGW fixes and Windows Travis builders

Unfortunately the MSVC fixes in #658 broke MinGW builds (mainly due to using _WIN32 instead of _MSC_VER when checking if the compiler is MS Visual Studio).
The ifdef-logic has been cleaned up slightly to support both MSVC and MinGW (and possibly Clang etc too).
In addition, a couple of Travis build steps are added that should catch future breakage of the MinGW and MSVC support.

Apologies for being impatient, but any chance of this PR getting reviewed anytime soon? It would be good to get it into master to get better Travis checks for Windows PR:s. @mnunberg ?

I'll try to rebase the branch and fix any conflicts...

@mnunberg I've rebased and all Travis-CI checks passed.


bug(mat-stepper): Custom font not applied to mat-stepper

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
14
Description
When applying a custom font through theming, the font is not applied to some components, e.g. mat-stepper. Other components like mat-button, work well with the custom font.
Reproduction
Steps to reproduce:

Import the custom font
Create a font config with mat.define-typography-config and set $font-family to the custom font
Apply the typography config to the theme
Render a mat-stepper component

See this StackBlitz. This is a fork of one of the mat-stepper examples from the docs, with changes applied to (only) theme.scss.
On the contrary, applying the same steps and rendering a mat-button, everything works well and the button is rendered with the custom font. See this StackBlitz.
Expected Behavior
Text within mat-stepper should use the custom font.
Actual Behavior
Text within mat-stepper uses the default font family Roboto.
Environment

Angular: 15.0.4
CDK/Material: 15.0.3
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): macOS

Fixed by adding @include mat.typography-hierarchy($theme);

Should have been fixed by https://github.com/angular/components/commit/434ec52c8de5c714e458ae12514e5b43c6977933.


Fixes 1700: Update edit/add modal checkmark functionality

Summary
This updates the add/edit modals with the following functionality around validation:
For the add modal:

The controller will focus on url errors first, even if the gpg key has the wrong value as it is dependant on the URL for validation.
Only mandatory fields have a green check mark and the input gpg key box will only have a red mark if we enter the wrong value.
if the name and gpgkey both have errors they will both show a red check as they are not hierarchally dependent.

For the Edit modal:

Validation will only show green checkmarks (showing updated values) if there are no errors showing, and when the validation API returns clear.
If an error is present, no checkmarks will show, forcing the user to focus on the error before confirming any other changes.
The same error flow (gpg key dependent on URL) is present from add modal, on the edit modal.

Testing steps

Step through the add/create modals, noting the above new behaviour.
Highlight any inconsistencies if found.

/retest

When i add or edit a repo that doesn't support metadata signatures, the option to select 'Package and metadata verification' is still present

Otherwise i think this is good