Cosmos: public API and doc cleanup

Make remaning public APIs that take integer throughput value setting pakage private.
Make readAll* APIs on control plane that take a FeedOption argument package private. Add missing simple readAll* public APIs.
Various doc related rewording.

I think some tests will fail.

Good catch 👍


Better Localization For Unregistered Vehicles

Description
Implemented changes to account for all 2d bounding box corners during localization of unregistered vehicles.

Where has this been tested?

Platform(s): 18.04
Python version(s): 3.6
Unreal Engine version(s): 4.24

This change is

Works as intended!


DOBF for cpp

In the readme of DOBF, example is given with langs cpp java and python. But I wonder of the obfuscation code for cpp is implemented or not?

Hi,
I updated the ReadMe to remove cpp when preprocessing for the DOBF objective. Sorry about the confusion.
We did not implement DOBF for C++ and we have no plans to do it in the near future. I believe it would be doable using the AST obtained from tree-sitter though.


Add test for default values in annotated schema

Maybe needs https://github.com/pydantic/pydantic-core/pull/643

Yep


Make Flexget dependent on Path 6.2 or higher

Fallout from http://flexget.com/ticket/3064

You are quick! Thanks!

No problem. Flexget has saved me a ton of time and effort in the last couple of years since I started using it, so it's nice to give something back.
Incidentally, Path 8.1 restores the 'path' alias with a deprecated warning.


I was scammed and I need help . I can see that my transaction iD and wallet address of recipient and it says not yet redeemed .

I was scammed and I need help . I can see that my transaction iD and wallet address of recipient and it says not yet redeemed .

The website was dogecoin-snl.com and I learned about this giveaway from YouTube . Why do they air scammers ?
Originally posted by @klawdarza in https://github.com/dogecoin/dogecoin/issues/1880#issuecomment-841596661

Your coins are gone.

Thank you for confirming .. I didn't know who to ask if it was finally gone.thank you . It hurts.

This is the Dogecoin repository. Im sorry for your coins, but this has nothing to do here honestly.

If my backed up HD helps, LMK - I am not a coder, just a node.  if you need me DogDevs, lmk

Hi Kit , is your comment for me ? I don't know what backed up HD means .. but if you want to help me .. of course ..
I do know that if someone would check the address in the chain they will realize there is a bigger issue than me losing coins . The amount I sent is not the amount received by the wallet .. there is a bug .
Thank you thank you so much

No offense - there is not a bug. You clicked a link that was like iirc
dogecoin-snl.com. And then sent obvious scammers your doge.
I'm sorry for your loss.
Your coins are gone.
The blockchain is immutable.
Devs have no control over it & can do nothing to revert transactions.
If you wish to track down the scammer. Take it to reddit or discord.
This is not the correct forum for your issue.
Please close this issuebqnd take it to reddit or discord where it belongs.
No one can do anything for you here. You sent coins to someone who promised
to double them. You did not get them back.
This also happens to new players in RuneScape with gold.
Please, close this issue and take it to the community.
This has nothing to do with the dogecoin codebase.
I'm sorry for your loss.
The blockchain is immutable.
Please. Stop.
On Mon, May 17, 2021, 3:50 AM klawdarza @.***> wrote:

Hi Kit , is your comment for me ? I don't know what backed up HD means ..
but if you want to help me .. of course ..
I do know that if someone would check the address in the chain they will
realize there is a bigger issue than me losing coins . The amount I sent is
not the amount received by the wallet .. there is a bug .
Thank you thank you so much
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dogecoin/dogecoin/issues/1938#issuecomment-842097414,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3WRFLOU5YLHHX7O2QC2DDTODDEHANCNFSM4454SQGA
.

Hi Kit , is your comment for me ? I don't know what backed up HD means .. but if you want to help me .. of course ..
I do know that if someone would check the address in the chain they will realize there is a bigger issue than me losing coins . The amount I sent is not the amount received by the wallet .. there is a bug .
Thank you thank you so much

I checked the transaction. Since you sent your amount from Binance hot wallet, there were some others too who sent to the same address. Binance bundled all those transactions and sent it in one input.
Here's the transaction ID (from your screenshot): https://dogechain.info/tx/fc27ef7705e1331634ff324a7b88d94794271c7d645699f11ed98089481ee58b
It's showing not yet redeemed, but I think that's because their client hasn't synced. But it's got 11k+ confirms so the transaction is already processed.
Learn about crypto first. Don't send from an exchange wallet for an external transaction - it makes it hard to track, and also you won't get any refunds because the address is the exchange's hot wallet - not your deposit address.

No offense too but after  much thought,
I didn't send my coins because I didn't  have a wallet . I bought dogecoins from Binance and Binance sent them .
I don't know if Binance uses a  wallet  to do that or not .
Second,I was instructed to send my coins from a Doge wallet and not from a platform .. and they specifically mentioned that if I sent through Binance or Robinhood etc , it was more complicated because I would have to connect my Doge wallet to Binance and send them that wallet address ..
I didn't send my trust wallet nor connect  it to Binance.
I was directed  to a site called Wallet Verifier and it integrates all kinds of Doge wallets including Dogewallet .
Please bare with me because this issue is more than just a bunch of coins lost .
Ultimately , it has to do with  Dogecoin having no

It is a bug . The transaction was only for 8,043.4. Dogecoins .
Why is the amount on the address 20,000 dogecoins
It also remains unredeemed .
In dogechain, the wallet ha 1.6 mil dollars , in unmineable , it has 0 , in blockchair, the address is not valid .
Is this not an issue that must be resolved ?
The issues above can be referenced in a few other posts ...
Dogechain if it is indeed true that it is for the common people cannot justify to the Fed or the ignorant , sorry you have no recourse .
No .. that's not acceptable. That's not going to be acceptable because we don't have the ethical backbone .
We don't want a currency wherein we need to do research if the recipient is not a scammer or one whose wallet has been used numerous times for scamming . The Doge blockchain has numerous issues which need to be solved .
Also , Don't we have to declare every earning and expense and loss  to IRS ?
Sorry but I am tired of being told that this is not the right forum .
I realized now that decentralized means no one gives a hoot about me or those who were scammed .
No one is accountable and no one to help .
In fact ,I tried telling my mom to report this to Reddit and she gave up because the Doge developer wants karma before she can comment or she has to invite people to be in discord  . What is that?
I am not into video games and we want simple forum to air our concerns .
It's ok..you can take this down if you like and there is no forum I can post it on anyway ..
I feel like decentralized means defunding the police .
To each his own .
No that's not possible . Some of us are so tired with physical labor that we can't even lift our arm much less research if the currency of the future tells me I have to research and study ..
Thank you . I represent half of the population . Of the world . Uploading
118472789...]

Hi @blacklightpy maybe I am a magnet for scammers but I was tweeting  today and I get a notification that says I am added to a list  and it's the address of the scammer.
How can he be stopped ?
If you go to Twitter  , the scammer uses Binance as name  and has a link .
Thank you

What is repository ?

stop wasting the devs time with this.

@klawdarza Hello?
THIS IS NOT THE PLACE FOR THIS!
This is about developing doge core source code - Please, go somewhere else! Github Issues are no-way meant to resemble such a forum.
If this only was better moderated...... :(

I'm sorry for your coins, but this is not the place for this.

guys, please at least have some empathy for this person and forgive her for her lack of insight
@klawdarza i'd advise you to leave everything as is
and stop assuming us to be at fault for your actions, we're not your guardians
bye

I don't know if Binance uses a wallet to do that or not .

All coins belong to a wallet. In centralized exchanges you just trade under their custody so you are not given their keys.

It is a bug . The transaction was only for 8,043.4. Dogecoins .
Why is the amount on the address 20,000 dogecoins

It's not a bug. You used a centralized exchange instead of your own wallet. They always bundle transactions while sending. It's not Dogecoin's fault. It just means that at the moment you sent, some others too sent coins, and Binance couple them. It's an exchange, so you're not expected to make direct purchases from there, also considering it's irrational because of the high fees.

In dogechain, the wallet ha 1.6 mil dollars , in unmineable , it has 0 , in blockchair, the address is not valid .

In Dogechain and Blockchair, the address D6Sb98cbaDyQpYbHCMQmpaLxZe6LctqAj3 (scammer) currently has 3,078,049 DOGE and DST6SbB33rukG7mYCgc3qus4jY2DzH3PHR (temporary exchange wallet) had 82,022,266.62497368 DOGE initially and 0 DOGE now, after the transaction. Unminable isn't a blockchain explorer - it's a mining platform, and it only shows their balance towards your address.

Is this not an issue that must be resolved ?

No

Specifically phantom wallet addresses

I told you it's a mistake. Even then, you can send coins to an unusable address to burn the coins. So the existence of Phantom wallets is not a bug either even though that's not what happened in your case.

and the blocks that can't be closed ..

???

Dogechain if it is indeed true that it is for the common people cannot justify to the Fed or the ignorant , sorry you have no recourse .

Your feelings are irrelevant. Yet I doubt even the banks would help you in this case. You can justify this to the feds and there's nothing stopping you from that, although I doubt if they'll help.

No .. that's not acceptable. That's not going to be acceptable because we don't have the ethical backbone .
We don't want a currency wherein we need to do research if the recipient is not a scammer or one whose wallet has been used numerous times for scamming .

You lost your coins because of your greed. Dogecoin will not implement KYC. Cryptocurrencies fundamentally provide you financial freedom, but you are responsible for your choices.

Don't we have to declare every earning and expense and loss to IRS ?

You can report that you got scammed, and count it as loss.

I realized now that decentralized means no one gives a hoot about me or those who were scammed .

Exactly. But not exactly. Decentralized means you are given financial security at the condition of responsibility. Banks have the same thing. If a bank makes a mistake, they can't get help because they were supposed to be responsible.

No one is accountable and no one to help .

You were accountable for your actions. And yeah, there's no one to help - because that's how a system works. You can't yell at a knife because you can't play football with it, because that's not what it's designed for. Cryptocurrencies give you the ability to verify whatever's going on under the hood because it works under open source code, so you don't have to trust anyone and just verify the code independently. If that doesn't suit you, maybe cryptocurrencies are not for you - although it's better for you. Maybe give the responsibility of handling your coins to someone else. The world doesn't revolve around you and you should know how how to have financial security.

The ignorant don't deserve to be scammed

Cryptocurrency itself is a protocol and it doesn't get you scammed in it's own way. You walked right into the hands of a scammer and that's why you lost your coins.
The fundamental idea of Bitcoin is that if you have your private keys, no one can take custody of your funds without your consent. That also means that if you make a mistake, no one can take funds back from the scammer too.
The best you can do is to file a case againat the scammer and hope he gets caught. But anyways I think you'll atill have a hard time getting your coins because you sent it from the exchange wallet and also you have no idea how cryptocurrencies work.

Hi @blacklightpy maybe I am a magnet for scammers but I was tweeting today and I get a notification that says I am added to a list and it's the address of the scammer.
How can he be stopped ?

Keeping your online identity clean of scammers is a personal responsibility. Twitter is filled with spammers and it's possible that you got targeted. Maybe try cleaning up your online information, and if not, make a new Twitter account. This is unrelated to Dogecoin.
Please understand that this is not your common sense advice platform. Any such discussions should go on Reddit. This is where we discuss technical limitations and updates to the codebase. Your case is not a technical error, rather a personal mistake.
To finish with some quotes to hopefully make you understand,
"Until you take responsibility for your actions, someone else runs your life" ~Orrin Woodward
"Liberty means responsibility. That's why most men dread it." ~George Bernard Shaw


Implement method chaining

Fixes #1514
Description of the changes:

Implemented method chaining in C++ API

Before submitting a Pull Request:

[X] I reviewed CONTRIBUTING.md
[X] I built my changes locally
[X] I ran the unit tests
[X] I ran the functional tests with a device
[X] I ran the performance tests with a device

I tested changes on:

[ ] Windows
[X] Linux

What is method chaining and why do we want to enable it?


feat: Display All Pinned Notes Separately on Notes Page

Issue Template
Description
Currently, pinned notes are either displayed mixed with regular notes or not highlighted separately. This makes it difficult to distinguish important notes from others. To improve note organization and prioritization, I propose displaying pinned notes in a dedicated section or displaying them separately on the notes page.
Acceptance Criteria:

Pinned notes should be displayed in a separate section above regular notes.
The layout should clearly differentiate pinned notes from unpinned notes, e.g., through styling or visual separation.
The section for pinned notes should remain empty if no notes are pinned.
Ensure responsiveness and proper alignment across different screen sizes.
Allow the user to unpin notes, which should move them back to the regular notes section.

hey @theashikagupta @yashmandi ,  can you assign this to me

Assigned ! @Saurabhchaudhary9799


Domain-randomization API

MiniWorld will have domain randomizaton so that we can transfer policies to small robots, to be used in miniature cardboard rooms. I would like to have an API for domain randomization that is a bit more principled, less ad-hoc than what's in gym-duckietown.
We probably want a class DomainParams, which stores a list of parameters that can be sampled. Each parameter should have a unique name, as well as min, max and default values, with the default value being assigned when domain randomization is turned off. Values will also have types/shapes (eg: int, float, rgb_color, vector). This system will allow someone to instantiate simulator and easily control the range of randomized values if they want to.
It might be useful to have a mechanism to sample all values at once, eg:
vals = params.sample(rng)
However, it may also be useful to be able to sample a subset of the parameters, possibly by specifying the names of all values to be sampled:
vals = params.sample(rng, ['cam_height', 'cam_angle'])
The use case for this is that there will be various objects/entities in the world, and we may want to randomize various parameters for each object independently.
@liampaull @bhairavmehta95

I've implemented domain randomization for a set of parameters, including textures, lighting, and robot dynamics.
@bhairavmehta95 I invite you to take a look. Feel free to use this code for gym_duckietown if you want: https://github.com/maximecb/gym-miniworld/blob/master/gym_miniworld/params.py


Adding scalariform formatting preferences

Inspired by the sbt-scalariform plugin
itself.
@Christewart I think this is a better approach than having things reformatted surprisingly, like
what happened with https://github.com/bitcoin-s/bitcoin-s-core/pull/134.

agreed, I don't like the fact that things can be formatted unexpectedly that causes huge diffs

I'm not sure what the best formatting stuff is though. It seems like those settings have weird things like
if () {
}
else if () {

}
else {

}

Yea, I figure the actual declared formatting preferences will evolve overtime as things go.
On March 28, 2018 at 12:53:48 PM, Chris Stewart<EMAIL_ADDRESS>wrote:
I'm not sure what the best formatting stuff is though. It seems like those settings have weird things like
if () {
}
else if () {
}
else {
}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I'll look at this more closely later


in run_xpress: xpress.problem class does not have attribute "tofile"

Dear pypsa/linopy-Team!
I'm currently in the process of integrating linopy into our pypsa-based project, and stumbled upon following problem: In linopy/linopy/solvers.py, in the run_xpress function the lines

if solution_fn is not None:
    try:
        m.tofile(path_to_string(solution_fn), filetype="sol")
    except Exception as err:
        logger.info("Unable to save solution file. Raised error: %s", err)

raise the error

INFO:linopy.solvers:Unable to save solution file. Raised error: 'xpress.problem' object has no attribute 'tofile'

The variable m is an object of the xpress.problem class, which, according to the error message and the fico xpress python interface reference manual, does not have an attribute or function "tofile". The xpress.problem class does have a function problem.writesol, which is there to write out the solution to the problem. This may be an acceptable substitution.
If I replace

m.tofile(path_to_string(solution_fn), filetype="sol")

with

m.writesol(path_to_string(solution_fn))

the error is no longer raised. This, however, does not produce a .sol file, but two files, one in an .hdr and one in the .asc format. I was not able to find an xpress function that would write the solution in the .sol format.
I hope this helps!
Best
Nina Fröhling

One additional bit of information: This happens with an older Xpress version (9.0.2) as well as with the latest version (9.4.2). In the latest version, however, the error does not cause the program to abort- in the older version, it does cause the program to abort. I have not tested versions except for 9.0.2 and 9.4.2.

@nifroehling, thanks for investigating! And I agree with your findings. I have implemented writesol in #364, and for now let's accept the alternative file format.

Hi Fabian, thank you for the quick response! Best, Nina


fix(turborepo): Drop implicit path conversions

Description
We shouldn't need to convert paths to system paths implicitly. A valid system path is difficult to validate and we should know when we have one already.
Testing Instructions

existing test suite

Test failures at least partially due to https://github.com/vercel/turbo/pull/5386


training question

Each time i trained DANNet the performance is derived differently.
Such as in Dark zurich val dataset miou= 35.5 ~ 36.5.
Is this because of gan's learning difficulties?

and  in the testing step, the trained model (PSP/deeplab) can only show an IOU of 36.76……

Hi @jimmy9704 and @WANGLEKV,

Each time i trained DANNet the performance is derived differently. Such as in Dark zurich val dataset miou= 35.5 ~ 36.5. Is this because of gan's learning difficulties?

You are right that the training of GAN is not very stable. As shown in Figure 7, 36.76 is achieved by adjusting the mean and std using the validation set. And this model with the picked mean and std are applied to the testing set.

and in the testing step, the trained model (PSP/deeplab) can only show an IOU of 36.76……

Hi @WANGLEKV,
It is possible to get mIoU around 36 on the validation set. On the test set, the mIoU is usually around 45. Is 36.76 achieved on the testing set? What's the performance on the val set?


Video won't pause

<Video ref='myVideo'
  		source={{uri:(movie.content)}} // Can be a URL or a local file.
  		onButtonClick={ () => this.setState({play: !this.state.play}) }
       rate={1.0}                   // 0 is paused, 1 is normal.
       volume={0.0}                 // 0 is muted, 1 is normal.
       controls = {true}
       muted={true}
       seek={1.0}
       paused={false}               // Pauses playback entirely.
       resizeMode="cover"           // Fill the whole screen at aspect ratio.
       repeat={false}                // Repeat forever.
       onLoadStart={this.loadStart} // Callback when video starts to load
       onLoad={this.setDuration}    // Callback when video loads
       onProgress={this.setTime}    // Callback every ~250ms with currentTime
       onEnd={this.onEnd}           // Callback when playback finishes
       onError={this.videoError}    // Callback when video cannot be loaded
        style={{height:90,width:ScreenSize.width/3,borderWidth:1}} />;

setDuration(){
	 that.setState({
	 	play:true,
	 });
	    );
},

+1

It looks like paused is always set to false here -- you need to set paused={this.state.play}

On android, the mMediaPlayerValid property of the video view seems to get set to false, essentially negative any operations performed thereafter. A quick fix is to go into ReactVideoView.java and modify onCompletion to only set the player to invalid if there is no repeat enabled like so:
        if (!mRepeat) {             mMediaPlayerValid = false;         }


Report page: Refresh every 5 minutes while pipeline in progress

People complained the state wouldn't change / they wouldn't know when their sample was done
Tested locally

@tfrcarvalho this one doesn't do an axios call to fetch the data (and everything is in props) so it'd require a bit more of a rewrite or making another controller action. What do you think?

ok, i see. All props come from rails.
I just want to make sure this does not survive once we refactor.
Can you add a comment explaining why you do the refresh and note should not be kept once we refactor?

@tfrcarvalho updated!


Avoid getting banned?

Hey this tool is awesome, i was going to scrape huge data, but i got some doubt... what about... i usually make some jquery or js script to run in the browser because curl requests are often banned specially by cloudflare websites...
Do you have any advice about using this tool for to collect huge data (3000/5000 pages data)?

Use different proxy every X-requests?

@yopbeast If you really want to simulate a human behavior, maybe nightmare would be better.
Also, you could try spoofing the user agent and like @Huvik said, you can use a proxy.
Hope that helps.

thanks yes, thanks for the advice!


f strings not supported on python 2. Cant install with pip2

I have tried to install it but I am getting the following syntax error.
Collecting coincurve
Using cached https://files.pythonhosted.org/packages/65/31/9f13921cc7ca27059af4def1a9d1277a6a252dea967b62f9ea05cc2a4115/coincurve-15.0.0.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 20, in
File "c:\users\abidja~1\appdata\local\temp\pip-build-kfxj2q\coincurve\setup.py", line 38
LIB_TARBALL_URL = f'https://github.com/bitcoin-core/secp256k1/archive/{UPSTREAM_REF}.tar.gz'
^
SyntaxError: invalid syntax

https://ofek.dev/coincurve/history/#1500


Dv360 upload line items

Make sure to mark the boxes below before creating PR: [x]

[ ] Description above provides context of the change
[ ] Unit tests coverage for changes (not needed for documentation changes)
[ ] Commits follow "How to write a good git commit message"
[ ] Relevant documentation is updated including usage instructions.
[ ] I will engage committers as explained in Contribution Workflow Example.

In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.
Read the Pull Request Guidelines for more information.

Codecov Report

Merging #793 into master will increase coverage by 3.62%.
The diff coverage is 86.68%.

@@            Coverage Diff             @@
##           master     #793      +/-   ##
==========================================
+ Coverage   84.41%   88.04%   +3.62%
==========================================
  Files         679      935     +256
  Lines       38497    45198    +6701
==========================================
+ Hits        32499    39794    +7295
+ Misses       5998     5404     -594

Impacted Files
Coverage Δ

airflow/api/auth/backend/default.py
92.30% <ø> (ø)

airflow/api/auth/backend/deny_all.py
0.00% <ø> (ø)

airflow/api/client/json_client.py
0.00% <0.00%> (ø)

...rflow/api/common/experimental/get_dag_run_state.py
100.00% <ø> (ø)

airflow/api/common/experimental/get_dag_runs.py
100.00% <ø> (ø)

airflow/api/common/experimental/get_task.py
100.00% <ø> (ø)

...rflow/api/common/experimental/get_task_instance.py
84.61% <ø> (ø)

airflow/cli/commands/connection_command.py
85.93% <ø> (ø)

airflow/cli/commands/pool_command.py
89.06% <ø> (ø)

airflow/cli/commands/role_command.py
100.00% <ø> (ø)

... and 1158 more

Continue to review full report at Codecov.

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


fix: code block parsing

Description
Roam stores information about code blocks' programming language in the block's text:
```python
some code
```

This PR adds a capturing group to the code block regex, to get the language, and updates the parsing function to use the second capturing group (the code) only in the output.

Codecov Report

Merging #14 (089263e) into beta (284d01c) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Current head 089263e differs from pull request most recent head a03ae0f. Consider uploading reports for the commit a03ae0f to get more accurate results

@@           Coverage Diff           @@
##             beta      #14   +/-   ##
=======================================
  Coverage   96.61%   96.61%
=======================================
  Files          28       28
  Lines         560      560
  Branches      129      129
=======================================
  Hits          541      541
  Misses         18       18
  Partials        1        1

Impacted Files
Coverage Δ

src/translator/regex.js
100.00% <ø> (ø)

src/translator/code.js
100.00% <100.00%> (ø)


Archive the old THOMAS pages so we have a reference for historical data

We should save an archive of the HTML pages of THOMAS so we have a reference for historical data, in case we need to scrape it again.

Agree with this entirely. It's also helpful to put this suggestion on the
GPO/LOC's github page so they archive it too.
On Mon, May 2, 2016 at 1:38 PM, Joshua Tauberer<EMAIL_ADDRESS>wrote:

We should save an archive of the HTML pages of THOMAS so we have a
reference for historical data, in case we need to scrape it again.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/unitedstates/congress/issues/174

I've re-run my THOMAS scraper over all its data so I now have an archive.

Thank you for doing that, Josh. It's important that we have a final copy,
just in case. :)
On Fri, Jul 1, 2016 at 8:51 AM, Joshua Tauberer<EMAIL_ADDRESS>wrote:

I've re-run my THOMAS scraper over all its data so I now have an archive.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/unitedstates/congress/issues/174#issuecomment-229938574,
or mute the thread
https://github.com/notifications/unsubscribe/AC0a0AntjMJOAkVuR5fkIPCcuHCuhwEqks5qRQ1CgaJpZM4IVi9I
.


Gazette v2 gazconsumer equivalent

Gazette v1 included a binary called gazconsumer which exposed metrics that could be stitched together from both the broker and consumer processes, for example, consumer lag.
There is currently no such tool in v2 and the functionality should be ported.

I'd been thinking this should be part of gazctl shards list -- eg an extra flagged column added to the table / json view. There's a consumer Stat RPC which already includes / returns the journal read offsets of the shard, and brokers can be asked for journal write offsets, so it's a matter of issuing the RPCs and stitching the results.

This sounds perfect. This was just something I saw in v1 and noted there should be some analogue, but I think if we can avoid a new binary that is great.

This looks fixed / can be closed? Thx


New book for quantum algorithms and QML

Hello!
I'd like to suggest this unitary.fund project: https://quantumalgorithms.org
As suggested on slack by Tan Jun Liang, I checked the overlap with the other resources linked in the section Quantum Machine Learning, and there is no overlap (as most of the other resources are about python code or implementation, and this book is about theory and algorithms).
Thank you!

feel free to open a new issue or pull request for any suggestion change.


Adding the VMs to the LB

Am I missing something or does this just create 2 VMs and a Load Balancer that aren't in any way connected without additional work?

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

ID: aef91226-6c89-f8f1-3400-28d633cd1791
Version Independent ID: 19ea3aee-2e71-0764-110c-fadf241c377f
Content: Tutorial - Create an Azure VM cluster with Terraform and HCL
Content Source: articles/terraform/create-vm-cluster-with-infrastructure.md
Service: terraform
GitHub Login: @TomArcherMsft
Microsoft Alias: tarcher

@mapeterson42 According to the checklist at the beginning of the article, that is correct. If you would like, I can add to our documentation backlog the idea of extending this tutorial. #please-close

Why is this closed?
A basic tutorial on the Microsoft Docs site should work.  This does not and could be an endless source of frustration for newcomers to terraform and azure.
All it needs is a missing azurerm_network_interface_backend_address_pool_association resource.
resource "azurerm_network_interface_backend_address_pool_association" "example" {
count = 2
network_interface_id    = element(azurerm_network_interface.test.*.id,count.index)
ip_configuration_name   = "testConfiguration"
backend_address_pool_id = azurerm_lb_backend_address_pool.test.id
}

@mattgillard You're correct. I replied 2 years ago, so I'm not sure what I was thinking but it appears I misunderstood the OP's point. I'm finishing up a complete rewrite of the AGIC/AKS article and will fix this next.

@mattgillard Quick FYI that I haven't forgotten this, but some things are in flight I can't talk about. I'll try to get this done by Monday.


Uglification error after moving from 2.2.1 to 2.3.0

My application build started failing after moving from 2.2.1 to 2.3.0:
ERROR in assets/js/lib.17dbc7ed.js from UglifyJs
Unexpected token: name (CacheControl) [assets/js/lib.17dbc7ed.js:45088,6]

Moving back to 2.2.1 fixes the issue. Seems related to @tusbar/cache-control.
Using<EMAIL_ADDRESS>and the included uglify plugin.

Hey @nolde !
Thanks for reporting this. Will look into it ASAP.
Cheers

I don't have the issue when using webpack@4 to build an app which is using<EMAIL_ADDRESS>Don't have time to try it out with webpack@3 right now.

Thanks for the quick response, @RasCarlito !
I am also having a hard time pinpointing the exact issue. I'll have to create a project to simulate only this issue.
Meanwhile, I did notice that you do not generate an ES6 module output for you library. Maybe adding that would allow for more control over the process from my side, as I would have @tusbar/cache-control as part of my node_modules.
I will update this when if I find anything new. For now, moving back to 2.2.1 is fine.

There is probably an issue with my webpack build of the dist folder.
Good point about exposing an ES6 module, I'll add an issue to tackle that subject. 😄
I did not want an extra external dependency so @tusbar/cache-control is being bundled into the dist version on the contrary of lodash and axios which are kept external.
But maybe that is the issue and I'll just stop bundling @tusbar/cache-control 🤔
If you have time extracting the issue into a seperate project that would be of great help!

Hi @RasCarlito !
I have created a repo that can reproduce the issue: https://github.com/nolde/axios-cache-test
That said, the reason is that class CacheControl has not been transformed by babel. Uglify does not understand it and breaks. I would say that, given that you are already converting everything else in the package, making sure ES6 classes are converted as well seems to make sense, and would fix the issue.
Meanwhile, I'll try to tell babel, on my side, to handle that.

Ok! Awesome thanks.
So it does not fail for me because I don't have Uglify configured in my test and I run the code in latest chrome so classes are supported.
Cheers

@nolde have you found a workaround for this? Having the same issue but haven't found a way to solve it...

Hi @nickverstocken!
I tried to make babel parse it in my side, but I have been unable to do it reliably. Didn't try too hard, though. :-)
My workaround is to move back to version 2.2.1, which does not have the same problem. If you do not have a hard dependency on any new features, I would recommend this option until @RasCarlito fixes the transpilation issue on his side.

@nolde  Yeah I did the same the only downside now is that in my webapp I can't use the ignoreCache option anymore. I hope this get fixed soon or I will take a look to create PR on my own 😉 Thanks anyway for thde reply!

Tried to fix this in #79 but no luck so far 😢

Could you test my change to verify whether it works, @RasCarlito ? I could not build it in Windows.

Awesome! Will try it out ASAP ;)

Hello @RasCarlito !
Just FYI, I just tried to build it using a Linux image through docker. I thought the problem was Windows, but since I got the exact same error, I would say that there is something wrong in your setup, but for some reason your current environment is masking it.
Maybe your using some tool installed globally?
The error is the following:
/home/axios-cache-adapter # npm run build

><EMAIL_ADDRESS>build /home/axios-cache-adapter
> npm run clean && webpack && NODE_ENV=production webpack && NODE_BUILD_FOR=node webpack && NODE_ENV=production NODE_BUILD_FOR=node webpack

><EMAIL_ADDRESS>clean /home/axios-cache-adapter
> rimraf dist

/home/axios-cache-adapter/node_modules/webpack-cli/bin/config-yargs.js:89
                                describe: optionsSchema.definitions.output.properties.path.description,
                                                                           ^

TypeError: Cannot read property 'properties' of undefined
    at module.exports (/home/axios-cache-adapter/node_modules/webpack-cli/bin/config-yargs.js:89:48)
    at /home/axios-cache-adapter/node_modules/webpack-cli/bin/webpack.js:60:27
    at Object.<anonymous> (/home/axios-cache-adapter/node_modules/webpack-cli/bin/webpack.js:515:3)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)

@RasCarlito , did you ever get around testing my thing?

Shouldn't the bundled version in dist folder be completely transpiled to ES5? Now it contains untranspiled class CacheControl which breaks IE11 with syntax error.

Hey @nolde just left you a comment on #80 😄

Hi @RasCarlito !
Awesome! Just left you a message on #80 as well!

Thanks for your help, @RasCarlito !

Hi @RasCarlito !
Sorry to be obnoxious, but do you have any idea on when you'll be able to release 2.3.1 with this fix in it?

Hi @nolde ! No worries sorry it takes so long.
I was about to release it but when trying out the build one last time it did not work. The cache-control code was left as a class in the dist version 😢
So I started working on another solution here #91 but it lead me to an issue when transpiling the cache-control code which uses module.exports while the rest of my code base uses export default.
I forked cache-control to change the export syntax and pointed my dependency directly on my fork without publishing it to npm (I think it's ok as I only want to bundle the dependency in the dist version). But now my travis builds are unhappy about installing my forked version of cache-control from github directly 😞
I am re-opening this issue in the meantime. I really want to fix this quickly.
I could consider using the solution in #90 which finally leaves the transpilation burden to the user land.
Else I need to publish my forked version of cache-control so that the travis builds pass.
Again, sorry it takes so long.
Thanks for everyones inputs and help on this 🚀
Cheers 🍻

Should now be fixed with #91 will at last make the 2.3.1 release 🎉

Released >> 2.3.1
@nolde Could you confirm it fixes your initial issue?
Cheers 🍻

Issue solved, just tested using v2.3.2!
Thanks @RasCarlito !


How do I get a title for the window in lightweight charts using python?

Question
I have the following python code that gives me the following window:

But unfortunately the chart doesn't have a title, which I absolutely need for pyautogui. Is there an easy way to give the lightweight chart a title (as in the following image WINDOWS 1 inserted using Photoshop)?

Code example
import pandas as pd
from lightweight_charts import Chart

SYMBOL = 'GOOGL'

def get_bar_data(symbol, timeframe):
    if symbol not in ('AAPL', 'GOOGL', 'TSLA'):
        print(f'No data for "{symbol}"')
        return pd.DataFrame()
    return pd.read_csv(f'parttime_larry/lightweight-chart/bar_data/{symbol}_{timeframe}.csv')

if __name__ == '__main__':
    chart = Chart(toolbox=True)
    chart.legend(True)

    chart.topbar.textbox('symbol', SYMBOL)
    df = get_bar_data(SYMBOL, '5min')
    chart.set(df)

    chart.show(block=True)

You can do it by instantiating a Chart as follows:
chart = Chart(title='Your Window Title', toolbox=True)

unfortunately I get the following error: TypeError: Chart.init() got an unexpected keyword argument 'title'

Which version you are using? You need to install the latest version of the package:
pip install lightweight-charts==<IP_ADDRESS>

You are my hero. With version <IP_ADDRESS> it works. Thanks


Issue 2456 feature branch merge - Clustered loader writer implementation

Pull request to merge feature branch  of clustered loader writer implmentation

That is serious stuff :-) I'll look at it as soon as I can. However, it seems it needs a rebase.

This does not need a rebase, this feature has followed the model of feature branching. So only merge conflicts will be resovled. The review has already been done and this needs to go today. See https://github.com/AbfrmBlr/ehcache3/pull/3

test this please

rebased

test this please

test this please

test this please

rebased


use psd.js   error: Buffer is not defined

Describe the bug
使用 vite 构建的环境，引入psd.js时则报 Buffer is not defined
使用 webpack 则 正常。

Reproduction

System Info
Output of npx envinfo --system --npmPackages vite,@vitejs/plugin-vue --binaries --browsers:

Used package manager:
Logs

Before submitting the issue, please make sure you do the following

[ ] Read the Contributing Guidelines.
[ ] Read the docs.
[ ] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[ ] Provide a description in this issue that describes the bug.
[ ] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[ ] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

[ ]
index.498596ae.js:16 ReferenceError: Buffer is not defined
at s.readUnicodeString (index.498596ae.js:16)
at e.parse (index.498596ae.js:16)
at t.load (index.498596ae.js:16)
at t.get (index.498596ae.js:16)
at e.get (index.498596ae.js:16)
at e.parseLayerInfo (index.498596ae.js:16)
at e.parse (index.498596ae.js:16)
at t.parseLayers (index.498596ae.js:16)
at t.parse (index.498596ae.js:16)
at t.load (index.498596ae.js:16)
[ ]

清参考https://github.com/vitejs/vite/discussions/3126#discussioncomment-655531

The webpack is ployfill node builtin by default, but vite will not. You need add it self, please have a try with @bluwy said.


Arch support

This is mainly to track what still has to be done to install this on arch linux.

[X] Arch users don't have the libtinfo5 package installed, yet it is required.
Installing: https://aur.archlinux.org/packages/libtinfo5/ doesn't work.
[X] The gathered llvm_version from ~/coriander/soft/llvm-4.0/bin/clang++ --version is incorrect('information' instead of 4.0.0). lol

~/coriander/soft/llvm-4.0/bin/clang++ --version results in:
/usr/lib/libtinfo.so.5: no version information available (required by /home/iame/coriander/soft/llvm-4.0/bin/clang++)
clang version 4.0.0 (tags/RELEASE_400/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/iame/coriander/soft/llvm-4.0/bin

I'll supply you with  the required PRs to make it work on arch linux :)

nr 1 was fixed in commit: 44df849


Feature/issue 1679 silence advi tests

Summary:
This suppresses the output in ADVI tests, as well as any test that compiles its own models.
Addresses: https://github.com/stan-dev/stan/issues/1679
Intended Effect:
Tests should not require any visual inspection.
How to Verify:
Run tests.
Documentation:
None.
Reviewer Suggestions:
Anyone.

Thanks.  Looks OK to me modulo the comments I made.  This one's not urgent for 2.9.0.  You don't necessarily need to remove all those unnecessary clear commands, but you might as well --- it's sooo much easier to read code without useless calls.

expect an update in 10 minutes. let's get it out of the way.
On Tue, Dec 1, 2015 at 2:59 PM, Bob Carpenter<EMAIL_ADDRESS>wrote:

Thanks. Looks OK to me modulo the comments I made. This one's not urgent
for 2.9.0. You don't necessarily need to remove all those unnecessary clear
commands, but you might as well --- it's sooo much easier to read code
without useless calls.
—
Reply to this email directly or view it on GitHub
https://github.com/stan-dev/stan/pull/1711#issuecomment-161078552.

@bob-carpenter looking better?

Thanks --- looks good to me.  Ready to merge when the tests finish.


Kafka Auto Scaling configuration does not persist between restarts of coordinator/overlord

Affected Version
Druid 0.22.0
Description
We have kafka auto scaling configuration set up and working correctly.
We have 2 instances of coordinator running configured also as overlord.
When we restarted the coordinator, the kafka ingestion tasks were started but we noticed lag started to increase over time.
Auto scaling was no longer happening and there was only one kafka task running.
In Druid Console, checked the payload for the supervisor task and can see
"autoscalerConfig": null
I pushed our original supervisor task again with the following:
    "autoScalerConfig": {       "enableTaskAutoScaler": true,       "taskCountMax": 6,       "taskCountMin": 1,       "scaleOutThreshold": 10000000,       "scaleInThreshold": 500000,       "scaleInStep": 1,       "scaleOutStep": 1,       "scaleActionPeriodMillis": 1800000     }
and it now shows in the supervisor task payload, and task scaling is happening again.

Hello, it also happens when you edit Supervisor without updating taskCount to 1


Channel.alignToReferenceChannel and calibrateFollowingPlan need to take goodFunc

Original report by Galen O'Neil (Bitbucket: oneilg, GitHub: oneilg).

Original comment by Galen O'Neil (Bitbucket: oneilg, GitHub: oneilg).

fixed by PR #130, though it takes a cutRecipeName since I got rid of goodFunc

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

Removing milestone: v0.7 (automated comment)


Progressbar for groupby operations?

I recently learned that tqdm can automatically create a progress bar for you when you are doing expensive groupby/map operations. See for instance here: https://stackoverflow.com/questions/18603270/progress-indicator-during-pandas-operations
Would it be simple to implement something similar in Xarray? The documentation seems to read as if the groupby is heavily inspired by pandas.

Is your feature request related to a problem? Please describe.
No, everything works as expected, this would just be a "quality of life" improvement.
Describe the solution you'd like
The implementation in tqdm states:
Registers the given `tqdm` instance with `pandas.core.groupby.DataFrameGroupBy.progress_apply`.

I suppose something similar would need to be implemented in Xarray, and then we might be able to copy the tqdm logic.
Describe alternatives you've considered
I could loop over whatever dimension I have and make my own progress bar, but that seems like defeating the purpose of groupby.

The main issue with these is that we don't generally get callbacks so we can render progress, because we're trying to keep as much of the operation out of python as possible.
We actually do with groupby at the moment, but we're hopefully moving to numpy_groupies, which will mean we don't run the loop in python.
I'd be interested if there are approaches to this — which would be a very useful feature — for functions that don't return to python before the end of the operation.

NB: the example linked only operates on .apply in pandas, which runs in python, and so is slow. We want to do that as little as possible. Notably, there is no way of a progressbar with groupby in pandas.


tox uses wrong Python interpreter locally

When I do a pdm run tox -e py38 locally (where I have a python2 and python3.8 installed), tox tries to use python2 to setup the virtualenv:
action: py38, msg: installpkg
cwd: /home/tom/proj/assertion
cmd: /usr/bin/python -m pip install --no-deps -U .tox/.tmp/package/1/assertion-0.0.1.tar.gz
Traceback (most recent call last):
  File "/usr/lib64/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/tom/proj/assertion/__pypackages__/3.8/lib/pip/__main__.py", line 21, in <module>
    from pip._internal.cli.main import main as _main
  File "/home/tom/proj/assertion/__pypackages__/3.8/lib/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax

On GitLab, where I use dedicated Python containers, everything works nicely.
I guess the tox-pdm plugin is supposed to select the correct Python version, right?

Can you provide the tox.ini file content?

Here are the vital parts (I guess):
envlist = format,mypy,pep8,py37,py38,py39,coverage

[testenv]
sections = test
commands =
    pytest tests/

...

I also tried to set basepython, but no luck so far.

Fixed on 0.2.0

Tried it with 0.2.0 and I still see the same issue.
Never mind, I already switched to nox (thanks for your hint) and it feels so much better.


Query by ObjectId()

I don't seem to be able to perform a query by object id , such as :
{my_id: ObjectId('50d1e99f128ca529e40000a4')}

Great - but even better : this little tip should be in the documentation!

{_id: {$oid: '50d1e99f128ca529e40000a4'}}
This tip really should  be in the documentation.
I have had waste a lot of time on google it.


[Bug]: Can't delete Identity Providers

Preflight Checklist

[X] I could not find a solution in the documentation, the existing issues or discussions
[ ] I have joined the ZITADEL chat

Environment
Self-hosted
Describe the bug
I can add new Identity Providers but can't delete the old ones.
I tried out the new Identity Provider Templates and wanted to delete my old (not working) ones.
Always when I try to delete a  Identity Provider, it shows Identity Provider Configuration doesn't exist (INSTANCE-4M0xy)
To reproduce
Download the current Zitadel version, create a bunch of Identity Providers and then try to delete them.
Screenshots
https://user-images.githubusercontent.com/9869391/226097302-57f4aa04-cfd2-47d5-996d-e5968f05c968.mov
Expected behavior
No response
Version
2.22.0
Operating System
Ubuntu with PostgreSQL
Relevant Configuration
No response
Additional Context
No response

@CMiksche Thanks for the report. I could reproduce this issue. We will investigate to find out where the problem is.


Speed on Device::Mps is much slower than Device::Cpu on Apple M1

I wrote a test to see how fast a simple model can run on Apple M1 chips, using tch. The actual model, called SanityModel, is just a simple 4 layer feed forward network. I have the following test to evaluate how much time it takes for 1000 iterations.
#[test]
pub fn test_run() {
    let device = Device::Cpu;
    let vs = nn::VarStore::new(device);
    let model = SanityModel::new(vs.root());

    let start = Instant::now();
    for _ in 0..1000 {
        model.forward_t(
            &tch::Tensor::rand(&[1, 5, 10, 12], (Kind::Float, device)),
            false);
    }
    let duration: Duration = start.elapsed();
    println!("Time for 1000 iterations {:?}", duration);
}

With Device::Cpu
Time for 1000 iterations 415.461375ms
test models::sanity::test_run ... ok

With Device::Mps
Time for 1000 iterations 467.140166ms
test models::sanity::test_run ... ok

The problems I have here are,

there is no appreciable performance improvement by using MPS
the time is slightly worse, I've had this go up to more than 700ms.

Environment

OS: macOS Ventura 13.2.1
Kernel: Darwin 22.3.0
Arch: arm64
cargo 1.67.0 (8ecd4f20a 2023-01-10)
libtorch version 2.0.0 for M1 (arm64)

Could you try running the same thing in Python? I don't think there should be much differences between MPS and Cpu in the way tch handle the computation so I would expect similar things to happen on the Python side.
Also note that this is a small computation, so there may well be some overhead that explains the absence of improvement. You may want to check this [PyTorch discussion] on the relative poor performance of MPS on the Python side too.

Looks like you're right. Even the Python version is slower on MPS.
[cpu] Time for 1000 iterations 184.48 ms
[mps] Time for 1000 iterations 650.47 ms

If you don't mind, I'd like to try this test with CUDA to see the difference before closing this issue.

But also, I don't understand why the Python version is faster on CPU than the tch version. And not just by a little bit.

I came across this as well. It has to do with an overhead copying data to GPU and running it there. I was testing a small model (MNIST) and it ended it up being fast on CPU but slower on GPU (M1). However, once I increased the size of my model, the CPU was much slower, and GPU remained the same (assuming the overhead was the same and computation was the same since GPU has higher capacity).
So I would suggest CPU with a bigger model.

@zrthxn @antimora try to increase batch_size and the inference on GPU will be much faster than on CPU.

Yeah,I also meet the problem when i use tch to inference Yolov8s.it's seems that copy data upload to gpu takes too much time, but what confuses me is that I have already put the model and inputs into device in advance.btw,when i use python to infer,the result is GPU faster than CPU.
Rust
pub fn predict(&self, image: &Tensor) -> Vec<Bbox> {
        let start_time=Instant::now();
        let pred = self
            .model
            .forward_t(&image, false);
        let end_time=Instant::now();
        let elapsed_time=end_time.duration_since(start_time);
        println!("YOLOv8 inference time:{} ms",elapsed_time.as_millis());

        let pred=pred.to_device(tch::Device::Cpu);
        let start_time=Instant::now();
        let result = self.non_max_suppression(&pred);
        let end_time=Instant::now();
        let elapsed_time=end_time.duration_since(start_time);
        println!("YOLOv8 nms time:{} ms",elapsed_time.as_millis());
        result
    }

// and main.rs
let device = tch::Device::cuda_if_available();  // compare to tch::Device::Cpu;
 println!("Run inference by device={:?}", device);
 let mut yolov8 = yolo::YOLO::new(weights, 640, 640, 0.25, 0.65, 100, device);
 let img = yolo::YOLO::preprocess(&mut yolov8, &img_path).to_device(yolov8.device);
 let results = yolov8.predict(&img);

GPU result:

CPU result:

There is almost a six-fold difference in the inference of two devices
Python
model=YOLO('./yolov8s.torchscript',task='detect')
res=model.predict('bus.jpg',device='0') # device='cpu'

GPU result:

CPU result:


Blur effect background

Is it possible to add a blur effect to background? In iOS this is very common.using the UIVisualEffectView.

I found #4839, sorry

You could do something like this, by blurring the container child instead.
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new Container(
decoration: new BoxDecoration(
image: new DecorationImage(
image: new ExactAssetImage('assets/dog.png'),
fit: BoxFit.cover,
),
),
child: new BackdropFilter(
filter: new ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0),
child: new Container(
decoration: new BoxDecoration(color: Colors.white.withOpacity(0.0)),
),
),
),
);
}
}
Find At Here


Remove "Intel" from the phrase "Intel FDO"

Description
Removed "Intel" from the phrase "Intel FDO" as the FDO project has requested that we change it to read merely "FDO" instead.
Fixes #513
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Additional Context (Please include any Screenshots/gifs if relevant)
...
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have checked my code and corrected any misspellings
[ ] I have tagged the reviewers in a comment below incase my pull request is ready for a review
[ ] I have signed the commit message to agree to Developer Certificate of Origin (DCO) (to certify that you wrote or otherwise have the right to submit your contribution to the project.) by adding "--signoff" to my git commit command.

@Piyush-Deshmukh Could you please remove the three changed files under the /fdo folder?  Those need to be changed in the "FDO-Support" repo instead (which I just did).
The other files you've changed are fine, thanks.

This work has been completed elsewhere, closing.


Distributing N-API modules for different linux distributions

Hi,
I'm using an npm package that is built using this project, and run into this issue which I'm trying to fix.
The problem is that the package is built and linked with glibc, and some users are trying to run it on Alpine, which uses the musl libc. I understand that this combination is not meant to work, and wonder what's your recommended way for dealing with this.
I have a few options in mind:

Link the libc statically for Linux distributions.
Have separate prebuilds for glibc- and musllibc-based systems.
Fallback to a js implementation in musllibc-based systems.

I'd say that my personal preference would be (1), but I'd love to know your opinions. I'm not exactly sure how any option would be implemented.
Can you please help me with this?
Thanks!

A fourth option would be to pass --tag-libc to prebuildify. This way the prebuild name will include .glibc and be skipped on alpine. An npm install will then fall back to compiling from source. This can also be done manually with npm i --build-from-source.
As for option 2, see prebuildify-cross which can compile a prebuild in an alpine docker image. For an example see leveldown.

Oh, that's great, @vweevers! I guess we should use both --tag-libc and prebuildify-cross.
Thanks for the quick answer and for linking an example!

prebuildify-cross should be installed from github? On npm latest version is 3.1.2 https://www.npmjs.com/package/prebuildify-cross

@fanatid https://github.com/prebuild/prebuildify-cross/issues/8


Add Odin Runes, a Feature-Rich Java UI for Ollama, to README

Description:
Hello,
I've added Odin Runes to the README under the "Community Integrations" section. Odin Runes is a Java-based GPT client that facilitates seamless interaction with GPT models, enhancing productivity in prompt engineering and text generation tasks. This addition highlights the integration between Odin Runes and Ollama, offering users the flexibility to leverage large language models locally within their development workflow.
Changes:

Added Odin Runes to the "Community Integrations" section of the README.

Demo:

Caption: This GIF demonstrates the integration between Odin Runes and Ollama in action.
Context:
This pull request addresses the need to document the integration between Odin Runes and Ollama, providing visibility to users who may benefit from the integration and fostering collaboration between our projects.
Closing Note:
I believe this addition will be beneficial to users and contributors alike. I'm open to any feedback or suggestions regarding the integration or the proposed README addition.
Thank you for considering my pull request.

possible to call it Odin Runes instead of Java UI?

@mchiang0610 sure, no problem Michael. Thanks for the response.
Cheers,

Thank you very much, @mchiang0610 @jmorganca
Is there anything else I can assist with?


Introduce the log package

This package is intended to server as the common logging interface for the openstack operators.

There is an example PR that partially switches over nova to the new interface https://github.com/openstack-k8s-operators/nova-operator/pull/206

It turns out that the this whole thing is not necessary if we use the logger from the ctx directly as it already has the extra fields added to it about the instance that is being reconciled. Here is an example log from this patch applied to nova.
2022-12-19T17:21:17.306+0100	INFO	Reconciling	{"controller": "nova", "controllerGroup": "nova.openstack.org", "controllerKind": "Nova", "Nova": {"name":"nova","namespace":"openstack"}, "namespace": "openstack", "name": "nova", "reconcileID": "154c6142-0dfe-4587-a655-b91f566bd131", "ObjectType": "Nova", "ObjectNamespace": "openstack", "ObjectName": "nova"}

The fields that is added automatically:

"controller": "nova"
"controllerGroup": "nova.openstack.org"
"controllerKind": "Nova"
"Nova": {"name":"nova","namespace":"openstack"}
"namespace": "openstack"
"name": "nova"
"reconcileID": "154c6142-0dfe-4587-a655-b91f566bd131"
The fields we add via lib-common:
"ObjectType": "Nova"
"ObjectNamespace": "openstack"
"ObjectName": "nova"

So clearly what we try to do here is redundant and already there if we use the logger from the context we get as the parameter fo the Reconcile call. So a simple log.FromContext(ctx) is enough in each operators to have structural logging with the information we need. Also ctx can be passed to lib-common so lib-common can do the same if logging is needed.

It turns out that the this whole thing is not necessary if we use the logger from the ctx directly as it already has the extra fields added to it about the instance that is being reconciled. Here is an example log from this patch applied to nova.
2022-12-19T17:21:17.306+0100	INFO	Reconciling	{"controller": "nova", "controllerGroup": "nova.openstack.org", "controllerKind": "Nova", "Nova": {"name":"nova","namespace":"openstack"}, "namespace": "openstack", "name": "nova", "reconcileID": "154c6142-0dfe-4587-a655-b91f566bd131", "ObjectType": "Nova", "ObjectNamespace": "openstack", "ObjectName": "nova"}

The fields that is added automatically:

"controller": "nova"
"controllerGroup": "nova.openstack.org"
"controllerKind": "Nova"
"Nova": {"name":"nova","namespace":"openstack"}
"namespace": "openstack"
"name": "nova"
"reconcileID": "154c6142-0dfe-4587-a655-b91f566bd131"

The fields we add via lib-common:

"ObjectType": "Nova"
"ObjectNamespace": "openstack"
"ObjectName": "nova"

So clearly what we try to do here is redundant and already there if we use the logger from the context we get as the parameter fo the Reconcile call. So a simple log.FromContext(ctx) is enough in each operators to have structural logging with the information we need. Also ctx can be passed to lib-common so lib-common can do the same if logging is needed.

With this, best to switch to that, update operators and lib-common to not use the current funcs, deprecate and remove the logging from lib-common. As there is only Info/Error, we might want to think about give a definition for the verbosity levels for Info [1] ?
Verbosity-levels on info logs. This gives developers a chance to indicate arbitrary grades of importance for info logs,
without assigning names with semantic meaning such as "warning", "trace", and "debug."
Superficially this may feel very similar, but the primary difference is the lack of semantics. Because verbosity is a
numerical value, it's safe to assume that an app running with higher verbosity means more (and less important) logs
will be generated.

If people feel better to have names instead of numerical value, we could also define const in lib-common for those, like 0 == Warn, 1 == Trace, 2 == Debug. Or at least set a level where Debug starts.
We also need to expose the Level to be able to be set by the user.
[1] https://github.com/go-logr/logr#background

It turns out that the this whole thing is not necessary if we use the logger from the ctx directly as it already has the extra fields added to it about the instance that is being reconciled. Here is an example log from this patch applied to nova.
2022-12-19T17:21:17.306+0100	INFO	Reconciling	{"controller": "nova", "controllerGroup": "nova.openstack.org", "controllerKind": "Nova", "Nova": {"name":"nova","namespace":"openstack"}, "namespace": "openstack", "name": "nova", "reconcileID": "154c6142-0dfe-4587-a655-b91f566bd131", "ObjectType": "Nova", "ObjectNamespace": "openstack", "ObjectName": "nova"}

The fields that is added automatically:

"controller": "nova"
"controllerGroup": "nova.openstack.org"
"controllerKind": "Nova"
"Nova": {"name":"nova","namespace":"openstack"}
"namespace": "openstack"
"name": "nova"
"reconcileID": "154c6142-0dfe-4587-a655-b91f566bd131"

The fields we add via lib-common:

"ObjectType": "Nova"
"ObjectNamespace": "openstack"
"ObjectName": "nova"

So clearly what we try to do here is redundant and already there if we use the logger from the context we get as the parameter fo the Reconcile call. So a simple log.FromContext(ctx) is enough in each operators to have structural logging with the information we need. Also ctx can be passed to lib-common so lib-common can do the same if logging is needed.

With this, best to switch to that, update operators and lib-common to not use the current funcs, deprecate and remove the logging from lib-common. As there is only Info/Error, we might want to think about give a definition for the verbosity levels for Info [1] ?
Verbosity-levels on info logs. This gives developers a chance to indicate arbitrary grades of importance for info logs,
without assigning names with semantic meaning such as "warning", "trace", and "debug."
Superficially this may feel very similar, but the primary difference is the lack of semantics. Because verbosity is a
numerical value, it's safe to assume that an app running with higher verbosity means more (and less important) logs
will be generated.

If people feel better to have names instead of numerical value, we could also define const in lib-common for those, like 0 == Warn, 1 == Trace, 2 == Debug. Or at least set a level where Debug starts.
We also need to expose the Level to be able to be set by the user.
[1] https://github.com/go-logr/logr#background

also if we not use a typed wrapper, we should wrap errors outside of the reconcile loop/lib-common where it makes sense using fmt.Errorf() with %w . Wrapping an error with %w makes it available to errors.Is and errors.As:
err := fmt.Errorf("access denied: %w", ErrPermission)
...
if errors.Is(err, ErrPermission) ...

/hold until we decided

On the verbosity levels. I don't feel the need right now to have more than Info and Error which we already have.

On the error wrapping I'm not sure I follow. I suspect this is related to util.WrapErrorForObject If so then I guess we have two independent goals based on that function:

i) make sure that when we create new errors from existing ones we wrap them with %w to allow the error type information to be propagated. This feels like something that should checked from a linter.
ii) make sure that the new error has a message that contains the type, and namespaced name of an object. I think this is solved in most cases at the logging level where the object is included. If other than the object under reconciliation is needed in the error then that would remain to be handled by each caller.

* On the error wrapping I'm not sure I follow. I suspect this is related to `util.WrapErrorForObject` If so then I guess we have two independent goals based on that function:

  * i) make sure that when we create new errors from existing ones we wrap them with %w to allow the error type information to be propagated. This feels like something that should checked from a linter.

OK there is a linter for it already in golangci-lint: https://github.com/polyfloyd/go-errorlint
It is disabled by default in golangci-lint: https://golangci-lint.run/usage/linters/ . I enabled it locally for nova and tested it. It catches the non wrapped errors case
$ cat .golangci.yaml
linters:
  # Enable specific linter
  # https://golangci-lint.run/usage/linters/#enabled-by-default
  enable:
    errorlint

gibi@bedrock:~/upstream/git/openstack-k8s-operators/nova-operator D[master]                                                                                [001] [11:05:44]
$ git diff
diff --git a/controllers/nova_controller.go b/controllers/nova_controller.go
index 934f1e2..20281a0 100644
--- a/controllers/nova_controller.go
+++ b/controllers/nova_controller.go
@@ -98,6 +98,9 @@ func (r *NovaReconciler) Reconcile(ctx context.Context, req ctrl.Request) (resul
        }
        util.LogForObject(h, "Reconciling", instance)

+       err2 := fmt.Errorf("level1")
+       _ = fmt.Errorf("level2 %v", err2)
+
        // initialize status fields
        if err = r.initStatus(ctx, h, instance); err != nil {
                return ctrl.Result{}, err

$ pre-commit run -a
make-manifests...........................................................Passed
make-generate............................................................Passed
make-operator-lint.......................................................Passed
go fmt...................................................................Passed
go vet...................................................................Passed
go-mod-tidy..............................................................Passed
go lint..................................................................Passed
golangci-lint............................................................Failed
- hook id: golangci-lint
- exit code: 1

controllers/nova_controller.go:102:30: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors (errorlint)
	_ = fmt.Errorf("level2 %v", err2)
	                            ^

check for added large files..............................................Passed
fix utf-8 byte order marker..............................................Passed
check for case conflicts.................................................Passed
check that executables have shebangs.....................................Passed
check that scripts with shebangs are executable..........................Passed
check for merge conflicts................................................Passed
check for broken symlinks............................(no files to check)Skipped
detect destroyed symlinks................................................Passed
check yaml...............................................................Passed
check json...............................................................Passed
detect private key.......................................................Passed
fix end of files.........................................................Passed
don't commit to branch...................................................Failed
- hook id: no-commit-to-branch
- exit code: 1
trim trailing whitespace.................................................Passed

I suggest to close this PR and start changing the exiting operators to use the logger from the context.

I suggest to close this PR and start changing the exiting operators to use the logger from the context.

Oh, just saw this.  Sure, we can do that.

On the verbosity levels. I don't feel the need right now to have more than Info and Error which we already have.

correct, I agree that right now its not required. We just need to monitor and if people start to use it that we have a common definition of the levels.

On the error wrapping I'm not sure I follow. I suspect this is related to util.WrapErrorForObject If so then I guess we have two independent goals based on that function:

i) make sure that when we create new errors from existing ones we wrap them with %w to allow the error type information to be propagated. This feels like something that should checked from a linter.

right

ii) make sure that the new error has a message that contains the type, and namespaced name of an object. I think this is solved in most cases at the logging level where the object is included. If other than the object under reconciliation is needed in the error then that would remain to be handled by each caller.

With wrapping I mean that we don't just return the error and it is hard to track where exact the error happened, so its best to wrap it and add a message to be able to better identify it. And use %w so that you can still have the possibility to use errors.Is or so.

* On the error wrapping I'm not sure I follow. I suspect this is related to `util.WrapErrorForObject` If so then I guess we have two independent goals based on that function:

  * i) make sure that when we create new errors from existing ones we wrap them with %w to allow the error type information to be propagated. This feels like something that should checked from a linter.

OK there is a linter for it already in golangci-lint: https://github.com/polyfloyd/go-errorlint
It is disabled by default in golangci-lint: https://golangci-lint.run/usage/linters/ . I enabled it locally for nova and tested it. It catches the non wrapped errors case
$ cat .golangci.yaml
linters:
  # Enable specific linter
  # https://golangci-lint.run/usage/linters/#enabled-by-default
  enable:
    errorlint

gibi@bedrock:~/upstream/git/openstack-k8s-operators/nova-operator D[master]                                                                                [001] [11:05:44]
$ git diff
diff --git a/controllers/nova_controller.go b/controllers/nova_controller.go
index 934f1e2..20281a0 100644
--- a/controllers/nova_controller.go
+++ b/controllers/nova_controller.go
@@ -98,6 +98,9 @@ func (r *NovaReconciler) Reconcile(ctx context.Context, req ctrl.Request) (resul
        }
        util.LogForObject(h, "Reconciling", instance)

+       err2 := fmt.Errorf("level1")
+       _ = fmt.Errorf("level2 %v", err2)
+
        // initialize status fields
        if err = r.initStatus(ctx, h, instance); err != nil {
                return ctrl.Result{}, err

$ pre-commit run -a
make-manifests...........................................................Passed
make-generate............................................................Passed
make-operator-lint.......................................................Passed
go fmt...................................................................Passed
go vet...................................................................Passed
go-mod-tidy..............................................................Passed
go lint..................................................................Passed
golangci-lint............................................................Failed
- hook id: golangci-lint
- exit code: 1

controllers/nova_controller.go:102:30: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors (errorlint)
	_ = fmt.Errorf("level2 %v", err2)
	                            ^

check for added large files..............................................Passed
fix utf-8 byte order marker..............................................Passed
check for case conflicts.................................................Passed
check that executables have shebangs.....................................Passed
check that scripts with shebangs are executable..........................Passed
check for merge conflicts................................................Passed
check for broken symlinks............................(no files to check)Skipped
detect destroyed symlinks................................................Passed
check yaml...............................................................Passed
check json...............................................................Passed
detect private key.......................................................Passed
fix end of files.........................................................Passed
don't commit to branch...................................................Failed
- hook id: no-commit-to-branch
- exit code: 1
trim trailing whitespace.................................................Passed

great, if this linter works well in nova, we should enable it in all of the other operators.


Added --sign to mac

It's a start. Starting to get ugly with all them callbacks though. :)
https://github.com/maxogden/electron-packager/issues/16

nice. what else does this need beyond what you have now?

Some input, I'm not too familiar with codesign. Also wondering if there should be a verification of the sign afterwards but i guess its not needed because it should throw an error if it fails anyway.
But yeah, what's in the commit works.

gonna merge for now

published as 4.1.0


More info on osx.contents

I would like to dive deeper into the config.osx.contents stuff, but I can't find where to read about additional options to put in there. Like I would like to change the zoom of the window, and things of that nature. Any ideas on where I can go for help on this?

Not sure how to add the "question" label. Sorry.

I found the content I wanted on appdmg's repo. https://www.npmjs.com/package/appdmg

@aaronfrost
Can you maybe update the readme, so that people won't struggle in the future?

Definitely. I will submit a PR. Thank you!!!!!!

I have to thank you. :P


Add contribution tutorial

Write a tutorial on how to contribute to the project

Closing issue due to #1.


issue #20: added popup.html

Fixes #20

@aashutoshrathi I have made the changes please review.

@nityanandagohain Can you provide a GIF?

😄

What happened @nityanandagohain


UrlValidator: min_length/max_length parameters

Currently, the UrlValidator (which is based on the StringValidator) sets the max_length parameter to a hardcoded value of 2000 characters, which is a sensible default for URLs.
This should be configurable though, for example when the URL is to be saved in a database field that has a maximum size smaller than 2000 characters.
-> Add a max_length parameter to the UrlValidator, which is passed to the underlying StringValidator. Keep the current value of 2000 as the default.
Also, the min_length parameter is hardcoded to 1. While I don't think it's necessary to expose the min_length parameter directly (why would you need a specific minimum length?), it should be possible to define a UrlValidator that accepts empty strings, though this requires more than just setting min_length=0.
-> Add a parameter alllow_empty to allow empty strings, basically making the Validator optional.

[ ] max_length: int parameter (default: 2000)
[ ] allow_empty: bool parameter (default: False)

Implemented by @lahdjirayhan in https://github.com/binary-butterfly/validataclass/pull/49.


Clone should not duplicate the object

A Tcl object is reference counted so it behaves like a Rc. Calling clone on a Rc does not copy the contents but just the smart pointer. The same should happen for tcl::Object.

Ah ok, duly noted


[ZEPPELIN-1553] Updated pom dependency to support spark 2.0.1

What is this PR for?
The spark 2.0 profile have py4j version 0.10.1, but the spark 2.0.1 dist tarball only contains py4j 0.10.3. Need to update pom.xml for 2.0.1
What type of PR is it?
Bug Fix
Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1553
How should this be tested?
Outline the steps to test the PR here.
mvn clean package -Pspark-2.0.1 -Pscala-2.11 -Ppyspark -Pvendor-repo -DskipTests

Screenshots (if appropriate)
Questions:

Does the licenses files need update?
No
Is there breaking changes for older versions?
No
Does this needs documentation?
No

Thanks @sitsang for the contribution.
But, I think https://github.com/apache/zeppelin/pull/1511 can cover ZEPPELIN-1553, too.

I tried this way and also failed during building. So I opened ZEPPELIN-1544

@LantaoJin Can you paste the errors ? I agree with @Leemoonsoo we should do it in #1511


It is possible for _itemCount to produce Infinity and component tries to render all items

In certain situations, the itemHeight property that is passed into the component could start with 0, which then will be updated once the application is ready. This is because we simply try to avoid setting a static number that may or may not be correct. In other languages, the itemHeight could be taller, and therefore could pose some incorrect number.
{{#virtual-each someNames
    height=listHeight
    itemHeight=listItemHeight as | name |}}
    {{displayed-name name=name onInsert=(action (mut listItemHeight))}}
{{/virtual-each}}

Where in components/displayed-name.js:
didInsertElement() {
    this._super();
    this.sendAction('onInsert', this.$().height()); // Set the height
}

and itemHeight is initiated with 0 in the controllers/foo.js.
Problem is that, until the listItemHeight is updated, the itemHeight property will always be 0, and this is causing the _itemCount to always produce Infinity value.
  _itemCount: computed('height', 'itemHeight', 'bufferSize', {
    get() {
      let height = this.getAttr('height');
      let bufferSize = get(this, 'bufferSize');

      return Math.ceil(height / this.getAttr('itemHeight')) + bufferSize; // Infinity
    }
  }).readOnly(),

Because there's a line in visibleItems where let endAt = Math.min(itemsLength, _startAt + _itemCount);, this will always mean that all of the items is visible at first, in which the DOM will try to draw all items first. In large data set (1000+), this chokes the browser.
I'm proposing that we change the logic to return the bufferSize if neither height or itemHeight is more than 0.
  _itemCount: computed('height', 'itemHeight', 'bufferSize', {
    get() {
      let height = this.getAttr('height');
      let itemHeight = this.getAttr('itemHeight');
      let bufferSize = get(this, 'bufferSize');

      return height > 0 && itemHeight > 0 ? Math.ceil(height / itemHeight) + bufferSize : bufferSize;
    }
  }).readOnly(),

I could submit the change, but would love to run it by you first.
Let me know what you think! 😃

@hadiwina seems reasonable and a patch is welcomed :)


Change how Access/Refresh token nesting works

Following #86 I wonder if we could change something else. The whole token nesting by using Prop => Root => Name is more than a bit sucky. Without reading the comments the options are unclear and the names don't flow Root isn't the root.
Anyone have a better solution? I considered a single property that represents the path some.pathTo.theToken but I'm not sure how easy that is to unwrap or if that is less flexible for some reason.

I'm okay with closing this. Just a thought I'd share

what why. i think it's a good idea

Any ideas for implementation? The simplest way is just to split the string using dots.
http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key
http://stackoverflow.com/questions/8817394/javascript-get-deep-value-from-object-by-passing-path-to-it-as-string
Someone crazy could choose to use a dot within a property name which would screw up the pathing however I don't think we should cater for this initially. See if it ever comes up as a requirement and if so someone could submit a PR to make an option that is non-breaking by default.

i opt for dots

I'm not entirely convinced about this approach. If you nest more than one level, you're doing something weird in your API. If that's the case, I'd like to hear complaints about it so they can explain what this is needed for. I'd prefer to cater for the 99%, and see why the other 1% is having problems with this.
That being said, I wouldn't refuse the PR.

hmm. probably right. so basically just cut down the sample in the comments to no root and token direct child of root

@RWOverdijk this suggestion isn't to allow more nesting (even though technically I guess it could). I'm suggesting this because having 6 options (3 for access, 3 for refresh) seems overkill, the names are confusing and the order is quirky (Prop, Prop => Name or  Prop => Root => Name). I'd rather have 2 options (1 for access, 1 for refresh) and if there is any nesting then dot notation is used.
Just to be clear I believe in most cases you would be picking a property from the root, or at most 1 level deep in the response. I am in complete agreement with you.  Hey, I'd be happy to have a single property and no nesting at all if you're game :-P
If we weren't to change this then I'd suggest we might consider renaming the nesting properties somehow.

Dots, or a general "root" property (for all responses). I'm game yo

i copied over the dot version from sattelizer. implemented here https://github.com/SpoonX/aurelia-authentication


add testing class for compatibility

Those two classes are needed for the testing directory to work.

LGTM.


Style: improve the Styling of Btn ✨

Closes
Closes #1287

Description
I have changed the Icon of Login With Google btn and also add styling inlogin.css
Screenshots
screen-capture.webm
Note to reviewers

Checklist:

[x] I have linked the PR to the correct issue.
[x] I have read the Contribution Guidelines
[x] I have built and tested the changes, and they do not break or show any errors.

Hey @Vaishnavi-Patil2211  I have Improve Some Btn Styling You can Review it

Great!!

Great!!

Hii @Vaishnavi-Patil2211 I have also fixed Google login issue #1283 be active for 10 to 15min
I will making pr for that also


Fix typo in "hidden"

Hm, not sure about this. Hidden in this case makes it seem like an adjective instead of a verb, as there's no subject. Seems to just be saying that there is a hidden post in the discussion, not that the post was hidden (i.e. hid post).

I'm not native, so I can't judge, but lack of subject is the main reason why "hid" sounds weird. In Polish, all other verbs are naturally translated as an impersonal verb: "dodano", "usunięto", "rozpoczęto". For hiding post/discussion consistent verb is "ukryto" which is translated as "hidden". Using "hid" is the only place where the personal verb is used: "[He] hid" - "[On] ukrył". I'm not sure which form is better, but "hid" looks inconsistent here.

It does, but the other verbs don't have a form similar to "hid", I think. I'm not native either though, so I don't know. But "edited post" looks to me like both adjective & verb, while "hidden" without a subject seems to just be a verb. Maybe we should use Hidden as the event is called Hidden, but... I don't know either.

To be honest, all these labels looks a little incorrect for me. I would rather go to to full "Discussion {title} has been removed".

hm maybe


[ci] use GitHub Actions for R CI jobs (fixes #2353)

This PR proposes adding GitHub Actions CI and moving all R jobs to it.
GitHub Actions gives you 20 concurrent jobs for free and access to Mac, Linux, and Windows environments.
See #2353 and discussion in this thread: https://github.com/microsoft/LightGBM/pull/3065#discussion_r428246650
This PR should improve CI times (since AppVeyor runs tasks sequentially and now those tasks will be run concurrently), and should give enough extra CI capacity to test more installation paths for the R package(like R 3.6.x AND R 4.0.0x on #3065 )
Summary of Changes

move lint job from Travis to GitHub Actions
remove R Linux and Mac CI jobs from Azure
remove R jobs from AppVeyor
remove R jobs from Travis
add 6 R jobs to GitHub Actions:

Windows, MSVC
Windows, MINGW
Mac, gcc
Mac, clang
Linux, gcc
Linux, clang

add .ci/download-miktex.R, to make miktexsetup.zip downloads more reliable

Notes for reviewers

I developed this on my fork, and you can look at the build history there: https://github.com/jameslamb/LightGBM/pull/28
I'd like to keep the Azure Windows r-package job, since it gives us access to Visual Studio 2017. GitHub Actions only has Visual Studio 2019 (reference)
I added .ci/download-miktex.R because maybe 1 out of every 8 builds hit this issue: https://github.com/microsoft/LightGBM/pull/3113#issue-422362595
the conda step comes from here: https://github.com/marketplace/actions/setup-miniconda
I had an issue where any code that writes too stderr causes the build to fail, even if the command itself succeeds. I tracked that down to this section of the docs, which state:

Fail-fast behavior when possible. For pwsh and powershell built-in shell, we will prepend $ErrorActionPreference = 'stop' to script contents.

Other references

https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_iddefaultsrun
https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
https://help.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
https://github.com/marketplace/actions/setup-miniconda
https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#supported-runners-and-hardware-resources
https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md
https://stackoverflow.com/questions/2095088/error-when-calling-3rd-party-executable-from-powershell-when-using-an-ide/2095623#2095623
https://stackoverflow.com/a/11826589/3986677
https://github.com/marketplace/actions/setup-miniconda
https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
see "fail-fast behavior" in https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions

@guolinke I think you need to enable GitHub Actions in this repository for them to build

@jameslamb Can you please create a branch under this repo and merge you fork into it? Then we will be able to see the result!
https://github.com/microsoft/LightGBM/actions

@jameslamb Can you please create a branch under this repo and merge you fork into it? Then we will be able to see the result!
https://github.com/microsoft/LightGBM/actions

ohhhhh I didn't realize that was necessary! Ok I'll create a LightGBM branch and open a new PR...so we can see the status as things are changed after reviews

moved to #3119


[Memorandum] define_composite_key may have a bug?

Agree, can't seem to get it to work here, with or without blocking diodes.
keypress just comes up blank. Looks like it worked July-ish 2023 so is a new bug?


Ripples doesn't consider transitive dependencies accurately

In 0.68.0 the :ripples task will output things like:
- Remove <dependency> from 'api'
    :project:a uses this dependency transitively. You should add it to 'api'
    :project:b uses this dependency transitively. You should add it to 'implementation'
   ...

There are some issues with this approach:

project a could be using a transitive dependency of <dependency> and not <dependency> itself.
there is no way to output this right now
I believe there is no real "bad advice" being given as I never faced a case that doesn't compile. But it is highly possible that the advice is too large and should be more accurate, recommending to add one of the dependencies of <dependency> instead of  <dependency> itself.

As I said elsewhere, I think there might be a more general issue with how the plugin handles transitivity. I had a bit of an inspiration this morning, though, so hopefully I can resolve this sooner than later.

in 0.69.1-SNAPSHOT,
We have
A uses annotation --- depends on --> B ---depends on --> C defines annotation
following an advice in B , I downgrade api project(C) to implementation project(C)
but the ripple in project(A) is not detected and A doesn't compile anymore.

In an other case, it is a transitive dependency that is not taken into account:
We have
A  --- depends on --> B ---depends on --> C --- api depends on --> D
following an advice in B , I downgrade api project(C) to implementation project(C)
but the ripple in project(A) is not detected and A doesn't compile anymore. A is using D which was obtained indirectly.

This was recently resolved in 0.71.0.


Add authors to results

Closes #8.

TACK but can we make this linkable similar to toggling the author box on the sidebar?

TACK but can we make this linkable similar to toggling the author box on the sidebar?

I'll look into it.
Also, it may actually better to display the author with a more neutral background as this is not the most important piece of information in the result. What do you think? Not the best UI/UX designer.


Can't debug properly a poltergeist problem

I can't understand why this url https://www.whoscored.com/LiveScores it gives me problem in poltergeist:
Capybara.register_driver :poltergeist do |app|
          Capybara::Poltergeist::Driver.new(app, js_errors: false,
                                                  timeout: 1000,
                                                 phantomjs_options: ['--ignore-ssl-errors=yes'])
        end

  @SITE_URL = 'https://www.whoscored.com/LiveScores'
  @browser = Capybara.current_session
  @browser.visit @SITE_URL

output:
"Request to 'https://www.whoscored.com/LiveScores' failed to reach server, check DNS and/or server status"

But if I open the page in phantom (even without options)
var page = require('webpage').create();
page.open('http://example.com', function(status) {
  console.log("Status: " + status);
  if(status === "success") {
    page.render('example.png');
  }
  phantom.exit();
});

It works everything without any problem. I would like to understand better what is happening

This is caused by not specifying the required ssl-protocol in the phantomjs_options


Create jBallerina debugger roadmap wiki page for Swan Lake release

Description:
$subject.
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Closing since the road map is created and available in  https://github.com/ballerina-platform/ballerina-lang/issues/24971


Prevent users naming themselves "Alice|999"

If a user appends something like "|999" to their name, it will create terrible confusion for users trying to autocomplete mentions.

I think if we setup our parsing appropriately to prefer matches via ID over those with a ame, this shouldn't be a problem requiring us to block creation of such names -- it'll just be annoying to mention a user with such a name.  Or am I missing something?

I guess if we're really just blocking |number, that probably has no real use case.  I'm fine with doing that tweak to our validation; I just don't want to block using pipes in names in general, since there may be use cases for that.

We should only specifically prevent “|number”.  I may not have made that crystal clear.  😔

@zulipbot claim

My work on another issue (#13801 ) is more or less done and pending a review. Can I work on this?

Such usernames are causing the @ call to mention a different user as shown:

@zulipbot claim

@Jagansivam28 I am currently working on this.

@zulipbot  abandon

@ab1nash are you still working on this issue?

@Jagansivam28 yeah really hadn't had time to work on this owing to college work. Sorry for eating up the time. Feel free to work on this.

@zulipbot claim

@ab1nash  ok thank you !

@Jagansivam28 check out js/user_events.js and js/people.js. You possibly have to add these checks when a new user is created and when some user modifies their username.

@zulipbot claim

@ab1nash I think I'll take this over. I'm new here, but this really doesn't look too bad.

@adithyay328 sure! I'm not working on it anyway. That comment was meant to help @jagansivam28 who is (or was?) working on this

@zulipbot claim


Cannot read property 'tap' of undefined

i use create-react-app , but i upgrade webpack4 .19.0.
it throw error.

<EMAIL_ADDRESS>start /Users/mac/Desktop/study/webpack-study/demo1
node scripts/start.js

Cannot read property 'tap' of undefined
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: node scripts/start.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      /Users/mac/.npm/_logs/2018-09-22T08_11_44_724Z-debug.log

/Users/mac/.npm/_logs/2018-09-22T08_11_44_724Z-debug.log

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'start' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
8 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/mac/Desktop/study/webpack-study/demo1/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
9 verbose lifecycle<EMAIL_ADDRESS>CWD: /Users/mac/Desktop/study/webpack-study/demo1
10 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'node scripts/start.js' ]
11 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
12 info lifecycle<EMAIL_ADDRESS>Failed to exec start script
13 verbose stack Error<EMAIL_ADDRESS>start: node scripts/start.js
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at EventEmitter.emit (events.js:214:7)
13 verbose stack     at ChildProcess. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:925:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /Users/mac/Desktop/study/webpack-study/demo1
16 verbose Darwin 17.7.0
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "start"
18 verbose node v8.11.3
19 verbose npm  v5.6.0
20 error code ELIFECYCLE
21 error errno 1
22 error<EMAIL_ADDRESS>start: node scripts/start.js
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

I see this with anything above 4.18.1 of webpack.

So we actually have some integration tests for webpack 4, which are currently locked to 4.19.1, and are working fine.
I've just run the tests with 4.18.1 and 4.20.2 (the most recent version at the time of writing) - and the tests seem to pass.
Does this issue occur on the initial build, or on incremental builds (i.e. in watch mode, after the initial build, after a file is saved)?
If it's an initial build, it would be great if you guys could edit one of the integration tests to reproduce the issue? I think it might be a specific plugin that's causing the issue...

So we actually have some integration tests for webpack 4, which are currently locked to 4.19.1, and are working fine.
I've just run the tests with 4.18.1 and 4.20.2 (the most recent version at the time of writing) - and the tests seem to pass.
Does this issue occur on the initial build, or on incremental builds (i.e. in watch mode, after the initial build, after a file is saved)?
If it's an initial build, it would be great if you guys could edit one of the integration tests to reproduce the issue? I think it might be a specific plugin that's causing the issue...

It can't work with html-webpack-plugin hooks like html-webpack-plugin-before-html-processing, when we tap these events, the error occurred.

This is most definitely still an issue. html-webpack-plugin seems to be the culprit here.
compilation.hooks.htmlWebpackPluginBeforeHtmlProcessing.tap(...
                                                        ^
TypeError: Cannot read property 'tap' of undefined


An error occurred while trying to send from a savings account.

1.Getting this error while trying to pay minor or transfer to checking account.
2.The minor was specific 845.
3.And the checking was max.

can not reproduce.

can not reproduce.