Migrate LogCollect CASTOR endpoint to CTA

Impact of the new feature
WMAgent
Is your feature request related to a problem? Please describe.
CASTOR has been recently put in read-only mode and it's getting decommissioned in favor of the CERN CTA tape technology.
That means WMAgent components that depend on CERN CASTOR have also to be migrated/adapted to this new technology.
Describe the solution you'd like
Discussion with experts is still in the initial phase, however some of the information provided by Katy (and her contacts at CERN are):
The production instance name will be eosctacms.cern.ch
The Rucio prefix should be /eos/ctacms/archive but I will confirm when the final import is finished.
So the PFN would be : root://eosctacms.cern.ch//eos/ctacms/archive

It's still not clear whether xrdcp will work and what authentication/authorization mechanism will be required. So this needs further discussion.
Describe alternatives you've considered
Another alternative suggested by Eric V. would be to manage those logs with Rucio, or perhaps use the rucio upload mechanism to write these files to the CTA storage. Another topic that requires further discussion.
Additional context
Just to add some context, the current behaviour of such LogCollect jobs is the following:

if possible, use edmCopyUtil from the CMSSW release (thus CMSSW needs to be bootstrapped) to stage files in
copy files from /store/unmerged/logs into the worker node scratch area
add all the successful logs in the scratch area to a big tarball (delete every one of them as soon as they get added to the tarball)
write the tarball to CASTOR (/store/logs/prod), abort the job if any failure happens
try to write the tarball CERN EOS in a best effort mode (failures are discarded)
last but not least, delete every single file that we managed to copy from the /store/unmerged/logs to the scratch area. These are deleted from /store/unmerged/logs

FIXME TODO:
While looking at the code, there seems to be a bug on the file deletion from the scratch area (not every log is deleted, but only the last one in the loop):
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/WMSpec/Steps/Executors/LogCollect.py#L204
and a second problem - or improvement - would be to delete all the logArchive files passed to this job, not only those that we managed to copy to the scratch area:
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/WMSpec/Steps/Executors/LogCollect.py#L262

Just an update on this issue. I have performed some interactive tests with rucio upload, also discussed a few things with Katy and Eric, here is a summary and the current status.
Eric has created a new scope, called logs, where we can write these logs to.
A new Rucio account has also been created for these activities, the account name is wma_logs.
Last but not least, given that grid jobs run with my personnel proxy, Eric mapped my personnel DN to the wma_logs rucio account.
Here is the outcome of the interactive tests I was running on lxplus.
Setting up the rucio client environment:
source /cvmfs/cms.cern.ch/cmsset_default.sh
voms-proxy-init -voms cms -rfc -valid 192:00
source /cvmfs/cms.cern.ch/rucio/setup.sh
export RUCIO_ACCOUNT=wma_logs

then accessing the directory with the log tarball, and writing it to CERN EOS:
amaltaro@lxplus783:~/workspace $ rucio -v upload --scope logs --rse T2_CH_CERN --lifetime 86400  --name /store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar LogCollect-cmswn2292-1-logs.tar
...
2021-01-13 15:08:12,391	INFO	Preparing upload for file LogCollect-cmswn2292-1-logs.tar
...
2021-01-13 15:08:12,572	INFO	Successfully added replica in Rucio catalogue at T2_CH_CERN
2021-01-13 15:08:12,689	INFO	Successfully added replication rule at T2_CH_CERN

...
2021-01-13 15:08:14,253	INFO	Trying upload with root to T2_CH_CERN
2021-01-13 15:08:14,253	DEBUG	uploadclient.py	Processing upload with the domain: wan
2021-01-13 15:08:14,439	DEBUG	uploadclient.py	The PFN created from the LFN: root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar
2021-01-13 15:08:14,763	DEBUG	utils.py	put: Attempt 1
2021-01-13 15:08:15,023	INFO	Successful upload of temporary file. root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar.rucio.upload
2021-01-13 15:08:15,023	DEBUG	uploadclient.py	skip_upload_stat=False
2021-01-13 15:08:15,024	DEBUG	uploadclient.py	stat: pfn=root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar.rucio.upload
2021-01-13 15:08:15,026	DEBUG	uploadclient.py	Filesize: Expected=225280 Found=225280
2021-01-13 15:08:15,027	DEBUG	uploadclient.py	Checksum: Expected=675eedbd Found=675eedbd
2021-01-13 15:08:15,027	DEBUG	uploadclient.py	Renaming file root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar.rucio.upload to root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar
2021-01-13 15:08:15,030	DEBUG	uploadclient.py	Upload done.
2021-01-13 15:08:15,031	INFO	Successfully uploaded file LogCollect-cmswn2292-1-logs.tar

few observations are:

the file gets properly renamed to whatever we pass in the end of the --name parameter
rucio upload first adds that file replica to the Rucio catalogue, then it makes the transfer
--lifetime 86400 is provided in this test. Help pages say it's the lifetime of the rule(?) Did we also get a rule created here? Is the file eligible for deletion after that lifetime?

What's left to be investigated is how we can create a container (or block) and attach these replicas to them. The agent does not keep track of the output of LogCollect jobs, so making such operation on the agent side would be quite intrusive with many changes.
@ericvaandering @KatyEllis FYI

Just an update on this issue. I have performed some interactive tests with rucio upload, also discussed a few things with Katy and Eric, here is a summary and the current status.
Eric has created a new scope, called logs, where we can write these logs to.
A new Rucio account has also been created for these activities, the account name is wma_logs.
Last but not least, given that grid jobs run with my personnel proxy, Eric mapped my personnel DN to the wma_logs rucio account.
Here is the outcome of the interactive tests I was running on lxplus.
Setting up the rucio client environment:
source /cvmfs/cms.cern.ch/cmsset_default.sh
voms-proxy-init -voms cms -rfc -valid 192:00
source /cvmfs/cms.cern.ch/rucio/setup.sh
export RUCIO_ACCOUNT=wma_logs

then accessing the directory with the log tarball, and writing it to CERN EOS:
amaltaro@lxplus783:~/workspace $ rucio -v upload --scope logs --rse T2_CH_CERN --lifetime 86400  --name /store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar LogCollect-cmswn2292-1-logs.tar
...
2021-01-13 15:08:12,391	INFO	Preparing upload for file LogCollect-cmswn2292-1-logs.tar
...
2021-01-13 15:08:12,572	INFO	Successfully added replica in Rucio catalogue at T2_CH_CERN
2021-01-13 15:08:12,689	INFO	Successfully added replication rule at T2_CH_CERN

...
2021-01-13 15:08:14,253	INFO	Trying upload with root to T2_CH_CERN
2021-01-13 15:08:14,253	DEBUG	uploadclient.py	Processing upload with the domain: wan
2021-01-13 15:08:14,439	DEBUG	uploadclient.py	The PFN created from the LFN: root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar
2021-01-13 15:08:14,763	DEBUG	utils.py	put: Attempt 1
2021-01-13 15:08:15,023	INFO	Successful upload of temporary file. root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar.rucio.upload
2021-01-13 15:08:15,023	DEBUG	uploadclient.py	skip_upload_stat=False
2021-01-13 15:08:15,024	DEBUG	uploadclient.py	stat: pfn=root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar.rucio.upload
2021-01-13 15:08:15,026	DEBUG	uploadclient.py	Filesize: Expected=225280 Found=225280
2021-01-13 15:08:15,027	DEBUG	uploadclient.py	Checksum: Expected=675eedbd Found=675eedbd
2021-01-13 15:08:15,027	DEBUG	uploadclient.py	Renaming file root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar.rucio.upload to root://eoscms.cern.ch:1094//eos/cms/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar
2021-01-13 15:08:15,030	DEBUG	uploadclient.py	Upload done.
2021-01-13 15:08:15,031	INFO	Successfully uploaded file LogCollect-cmswn2292-1-logs.tar

few observations are:

the file gets properly renamed to whatever we pass in the end of the --name parameter
rucio upload first adds that file replica to the Rucio catalogue, then it makes the transfer
--lifetime 86400 is provided in this test. Help pages say it's the lifetime of the rule(?) Did we also get a rule created here? Is the file eligible for deletion after that lifetime?

What's left to be investigated is how we can create a container (or block) and attach these replicas to them. The agent does not keep track of the output of LogCollect jobs, so making such operation on the agent side would be quite intrusive with many changes.
@ericvaandering @KatyEllis FYI

Yeah, there is a rule: -bash-4.2$ rucio list-rules logs:/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar
ID                                ACCOUNT    SCOPE:NAME                                                                                STATE[OK/REPL/STUCK]    RSE_EXPRESSION      COPIES  EXPIRES (UTC)        CREATED (UTC)

4a7f0397a3f34ca0a6b13214c6bb4bdc  wma_logs   logs:/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar  OK[1/0/0]               T2_CH_CERN               1  2021-01-14 14:08:12  2021-01-13 14:08:12
Shall we coordinate by Slack with setting up a subscription which copies these to CTA?

Yeah, there is a rule: -bash-4.2$ rucio list-rules logs:/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar
ID                                ACCOUNT    SCOPE:NAME                                                                                STATE[OK/REPL/STUCK]    RSE_EXPRESSION      COPIES  EXPIRES (UTC)        CREATED (UTC)

4a7f0397a3f34ca0a6b13214c6bb4bdc  wma_logs   logs:/store/logs/prod/2021/01/WMAgent/amaltaro_TaskChain_ProdMinBias_Jan2021_Val_210112_212625_3216/LogCollect-cmswn2292-2-logs.tar  OK[1/0/0]               T2_CH_CERN               1  2021-01-14 14:08:12  2021-01-13 14:08:12
Shall we coordinate by Slack with setting up a subscription which copies these to CTA?

Another update to this thread, after what we discussed in yesterday's Rucio transition meeting.
In addition to running the rucio upload command to transfer (and register) the log tarball to the CERN EOS storage, we will also try to create a container DID and attach the tarball file to it. These 3 operations will all be done from the worker node.
Container DID will likely be named after the workflow name, thus we should expect and properly handle the DataIdentifierAlreadyExists exception.

Another update to this thread, after what we discussed in yesterday's Rucio transition meeting.
In addition to running the rucio upload command to transfer (and register) the log tarball to the CERN EOS storage, we will also try to create a container DID and attach the tarball file to it. These 3 operations will all be done from the worker node.
Container DID will likely be named after the workflow name, thus we should expect and properly handle the DataIdentifierAlreadyExists exception.

Defined as low prio, from the point of view of the P&R team (Hasan)

And from the question raised during the O&C weekly meeting, here is a breakdown of how much space these logs are meant to take in CERN CTA:
amaltaro@vocms0275:~ $ du -sh /eos/cms/store/logs/prod/2022/01/WMAgent/
7.3T	/eos/cms/store/logs/prod/2022/01/WMAgent/
amaltaro@vocms0275:~ $ du -sh /eos/cms/store/logs/prod/2022/02/WMAgent/
6.1T	/eos/cms/store/logs/prod/2022/02/WMAgent/
amaltaro@vocms0275:~ $ du -sh /eos/cms/store/logs/prod/2022/03/WMAgent/
4.9T	/eos/cms/store/logs/prod/2022/03/WMAgent/

considering the past 3 months. This EOS area has exactly the same tarballs that we would be trying to write to CTA.

Having not heard any requests to get this feature ready for data taking, and from a feedback from Danilo that the current data volume is okay to be kept in EOS, I am downgrading it (removing the Data taking label) and we can work on it in the quarters to come.


A benchmark suite for the getTokenSupply RPC call

Summary of Changes
$ cargo run -- --identity ~/.config/solana/id.json --rpc-bench supply  --iterations 0 --url l --mint 7z5aMSb5zfJThETMRgFFd3XNKKVcZGNtWQDS3qfgbQ2t --space 165
   Compiling solana-accounts-cluster-bench v2.2.0 (/home/sol/src/agave/accounts-cluster-bench)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.41s
     Running `/home/sol/src/agave/target/debug/solana-accounts-cluster-bench --identity /home/sol/.config/solana/id.json --rpc-bench get-supply --iterations 0 --url l --mint 7z5aMSb5zfJThETMRgFFd3XNKKVcZGNtWQDS3qfgbQ2t --space 165`
[2024-12-06T18:42:06.661480951Z INFO  solana_accounts_cluster_bench] Targeting http://localhost:8899
[2024-12-06T18:42:06.665059843Z INFO  solana_accounts_cluster_bench] Starting balance(s): [716751912000]
[2024-12-06T18:42:06.666102345Z INFO  solana_accounts_cluster_bench] creating 4 new
[2024-12-06T18:42:06.670058724Z INFO  solana_accounts_cluster_bench] txs: 4
[2024-12-06T18:42:06.694965974Z INFO  solana_accounts_cluster_bench] ids: 4
[2024-12-06T18:42:07.195840823Z INFO  solana_accounts_cluster_bench] creating 4 new
[2024-12-06T18:42:07.196728911Z INFO  solana_accounts_cluster_bench] txs: 4
[2024-12-06T18:42:07.222877641Z INFO  solana_accounts_cluster_bench] ids: 4
[2024-12-06T18:42:07.723840888Z INFO  solana_accounts_cluster_bench] creating 4 new
[2024-12-06T18:42:07.724684651Z INFO  solana_accounts_cluster_bench] txs: 4
[2024-12-06T18:42:07.752880742Z INFO  solana_accounts_cluster_bench] ids: 4
[2024-12-06T18:42:08.254251294Z INFO  solana_accounts_cluster_bench] creating 4 new
[2024-12-06T18:42:08.255053679Z INFO  solana_accounts_cluster_bench] txs: 4
[2024-12-06T18:42:08.280374956Z INFO  solana_accounts_cluster_bench] ids: 4
[2024-12-06T18:42:08.785215383Z INFO  solana_accounts_cluster_bench] creating 4 new
[2024-12-06T18:42:08.786055229Z INFO  solana_accounts_cluster_bench] txs: 4
[2024-12-06T18:42:08.814294903Z INFO  solana_accounts_cluster_bench] ids: 4
[2024-12-06T18:42:09.315359453Z INFO  solana_accounts_cluster_bench] creating 4 new
[2024-12-06T18:42:09.316128715Z INFO  solana_accounts_cluster_bench] txs: 4
[2024-12-06T18:42:09.340822630Z INFO  solana_accounts_cluster_bench] ids: 4
[2024-12-06T18:42:09.841802149Z INFO  solana_accounts_cluster_bench] total_accounts_created: 24 total_accounts_closed: 0 tx_sent_count: 24 loop_count: 7 balance(s): [716702729280]
[2024-12-06T18:42:10.343158744Z INFO  solana_accounts_cluster_bench] creating 4 new
[2024-12-06T18:42:10.343978462Z INFO  solana_accounts_cluster_bench] txs: 4
[2024-12-06T18:42:10.368246488Z INFO  solana_accounts_cluster_bench] ids: 4
[2024-12-06T18:42:10.665760710Z INFO  solana_accounts_cluster_bench] t(0) rpc(Supply) iters: 6486 success: 6487 errors: 0
[2024-12-06T18:42:10.665803661Z INFO  solana_accounts_cluster_bench]  t(0) rpc(Supply average success_time: 615 us

Related: #3242.

Requires re-review because we don't use stacked PR workflows here so I had to resolve a conflict, and resolving the conflict dismisses all reviews.


%bank% placeholder sometimes not parsing correctly

Describe the Bug
The bank placeholder doesn't appear to work if the town's name is too long, it seems? It throws this error quite often:
[02:17:56 ERROR]: [Pl3xMap-Towny] Error applying the replacement %bank% for information on town **The_Floridian_Communist_Ideology!**
Expected Behavior

The plugin should parse placeholders without throwing any errors
Plugin Version

1.0.0-ALPHA-3
Towny Version
<IP_ADDRESS>
Pl3xMap Version
1.0.0-BETA-154
Server Software Version
Purpur version git-Purpur-1350 (MC: 1.17.1)
Additional Comments
This bug only appears to happen with towns with overly long names, never seen it occur for regular towns.

Hi, thanks for reporting this.
Along with the error message, there should be a stack trace (kind of a long message that spits out where the problem occurs in the code) which includes a Caused by: line(s). If you could post that stack trace, I would really appreciate it.

That was actually the only thing getting spammed, not much else. I would've posted the stacktrace otherwise. Anyways, this issue seems to come from towny itself? Basically what happened was there was a town that somehow bypassed towny's character limit, and the town itself was completely buggered. Ended up renaming the town to something shorter (Communist_Florida), and that fixed all the issues, which is why I closed this issue in the first place. Should've left a comment explaining that though, my bad 😛

Ah okay, glad you got it sorted out. It seems like you intended to close this issue, but it's still marked as open, so I'll close it.


Error at package installing

I started to follow the  setup steps as mentioned in the Readme and after installing this package  tried running it on iPhone 14 Pro Simulator, I'm facing the following issue:
Swift Compiler Error (Xcode): No such module 'ActivityKit'
I have Xcode 14.0.1 version. Can you please guide me on how to solve this issue?

Hello !
Thanks for using live_activities
It’s normal because you need to use Xcode 14.1 at least to use activity kit 👍


An adjustable/tunable mouse pointer active zone utility app

Description of the new feature / enhancement
Many many years ago in a far far away galaxy I had a mouse utility that allowed to fine-tune and adjust everything in matters mouse including the pointer active zone area (tip).
For example: the response active area size of the tip of the pointer arrow, 1 or more pixels or even at a different location i.e. in the center of the pointer arrow.
Most importantly, when sizing a window, the pixel range where the mouse pointer switches over to the sizing double arrow over the windows border. For example 2 - 3 pixels or more tolerance and not the current default setting of 1pixel.
Scenario when this would be used?
Since the geniuses of Windows 10 et al decided that now on the borderless windows you have to be accurate within 1 pixel for that sizing double arrow to show and function, good luck with that if you have a 4K screen resolution. It's very frustrating and nearly impossible to say the least. next to impossible on a touchpad.
As it is right now, I have to be exactly with the pointer [tip] over edge of a window otherwise it will not work and I never get the sizing double arrow.
To be clear I don't mean a mouse pointer design app.
Rather a utility app that allows to adjust the default active area of the default mouse pointer et al.
Supporting information
I tried to find such out there but I have not gotten any relevant results.

/needsinfo This feature is asking that the click targets for the edges of the windows be easier to grab, correct? For example, if I am trying to resize my windows on a wide-screen monitor, I want that edge of the window to be easier to grab than this very narrow margin without also clicking behind what I want to grab.
I want to make sure I understand the ask correctly as this is my interpretation, thanks!

/needsinfo This feature is asking that the click targets for the edges of the windows be easier to grab, correct? For example, if I am trying to resize my windows on a wide-screen monitor, I want that edge of the window to be easier to grab than this very narrow margin without also clicking behind what I want to grab.
I want to make sure I understand the ask correctly as this is my interpretation, thanks!

CORRECT!
Odd is did reply a while ago


Set 2 hours timeout for Dotty jobs

Apparently the default for Jenkins is 24 hours which is much too long.
Our tests shouldn't take longer than ~30 minutes so 2 hours is very
conservative.
CC @DarkDimius

and deployed


Updates to README and Rule Authoring guide

General wording updates
Clarify .NET 5 requirement
Add instructions for how to download (GitHub releases)
Instructions for executing the analyzer on the CLI

Clarification on where the built-in rules come from

Put note about using parameters in analysis on its own line
Replace references to Evaluate operator with allOf in rule authoring guide.

Add note that while Evaluate isn't yet available, allOf is a sufficient work-around.

Just because you put the inputs in a table format, maybe instead of "(Optional)" we add a required column? Similar to the templates documentation.

I think because there are only 2 inputs, having a dedicated column for that might be a little too much.

@JohnathonMohr Can you link this PR to this issue? https://github.com/Azure/template-analyzer/issues/34 You'll likely have to update the status of the issue since the PR was closed before it was linked.


Wrong DBBACKUP_CLEANUP_KEEP on multiple dbs

When one DB is used, everything works fine. However, when you have 2 DBs DBBACKUP_CLEANUP_KEEP is used for those 2 DBs combined! In the end I have (when using defaults) only 5 backup files for each DB.

Hello @adi- Thanks for reporting this issue.
If I understand well, you set DBBACKUP_CLEANUP_KEEP to 10,
And want to keep 10 for each database ?

Yes. For me it is a reasonable functionality.

@adi- Ok, effectively DBBackup has not yet been implemented for that.
But just let me some time and you'll have it in v3.0.3.

Great! Thanx!

@ZuluPro v3.0.3 milestone is completed. Could you push it to pipy?

Oops sorry, I forgot to publish :D


operator seldon-operator-certified (1.12.0)

Re-add files missing from operators/seldon-operator-certified folder merged in https://github.com/redhat-openshift-ecosystem/certified-operators/pull/405 (see https://github.com/redhat-openshift-ecosystem/certified-operators/issues/576).
Signed-off-by: Rafal Skolasinski<EMAIL_ADDRESS>

closing until https://github.com/redhat-openshift-ecosystem/certified-operators/pull/614 is merged as there can only be one at a time


_pendingDimensions': is not true.

'package:flutter/src/widgets/scroll_position.dart': Failed assertion: line 593 pos 12: '_pendingDimensions': is not true.

https://github.com/flutter/flutter/issues/66240

I had the same problem. Then I found that the new version 1.6.2 has fixed this.

Duplicate #352 .


Fix the Readme file

Fix the Readme file, add and modify some more features.

Hey @sristy17 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


mobile app

I'm submitting a ...
[ ] bug report
[x ] feature request
[ ] question about the decisions made in the repository

What is the expected behavior?
Do you thinking about add support for mobile native app development too like nativescript or ionic framework? It would be great if you can add it to this project.

And guys just thank you for great work you made. <3

Hey @glorindel, thanks for your kind words. You can take a look at our React Native UI Kit here https://github.com/akveo/react-native-ui-kitten, probably this the closest thing we have.

very nice project like this one :) but in react ... whatever this is still best angular dashboard I see

Thanks! Closing for now.


Implement Testnets

Hi @tombeynon! Is there any possibility of adding testnets? (and, in doing so, as a side-effect, also provide CORS proxy)

Hey Jason! https://testcosmos.directory is the testnet version, sources chains from the testnets directory in the registry. All the usual subdomains behave the same, rest.testcosmos.directory etc.
I need to update the UI to link between the two. This is what https://testnet.restake.app uses btw

Oh wow, thanks a million. I'll pass this on to the user who was looking to use it!

@tombeynon https://rest.cosmos.directory/osmosistestnet shows up as not available, but the underlying endpoint does work: https://testnet-rest.osmosis.zone/

It's rest.testcosmos.directory - was easier just separating the domains entirely.
https://rest.testcosmos.directory/osmosistestnet

Ah ok, thanks! The frontend displays it differently though, so it caused some confusion...


Blog development

[ ] Set up database with initial schema
[ ] Design blog page
[ ] Design article page

[ ] Table of contents
[ ] Attractive code block

[ ] Set up API in Nextjs and connect it to the DB to make blog and article pages functional
[ ] Comment system with a third party tool (Disqus or an alternative)

dvcvdc

Design blog page
Due date -

[ ] Pick and propose 3 different templates to the rest of the team
[ ] Design the blog page based on the template

Design article page
Start date -
Due date -
Owner - @pierrelstan
Inspiration - Delba's blog,

[ ] Design the article page based on the template
[ ] Play around with MDX to learn to use it

[ ] Optional header image
[ ] Table of Contents on the right side
[ ] Attractive syntax highlighter (check out Delba's article above)

[ ] Set up MDX in the code and set up an example article

Like system for articles
Start date - Mon May 1
Due date -
Owner - @GilTorch

[ ] Set up database with initial schema and settle on DB hosting @nickdotht  (2 days)
[ ] Discovery/Adaptation with DB tech (2 days)
[ ] Create schema/DB structure (1 day)
[ ] Settle on the like button design and functionality (.5 days)
[ ] Share final design with the rest of the team (4 days)
[ ] Implement the design (1 day)
[ ] Set up API routes to process and limit likes on articles (2 days)
[ ] Make the like button functional (2 days)


runserver_plus constantly uses about 30% of one CPU

Hey there,
I'm really pleased with runserver_plus but found today that it uses 30% of one CPU (according to top & htop)
When I run strace on the process, I see thousands of stat calls. I guess it's checking all my files (even libraries) for changes.
I'm on Linux -- Ubuntu 14.04 "trusty". Is there any way to enable an alternative to this exhaustive polling on my platform, other than --noreload?
Thanks!
Evan

I think I may have answered my own question: The problem lies in werkzeug, which once supported inotify but no longer does.
In the 0.10 release notes, this is the latest mention of inotify:

Version 0.7.1
(bugfix release, released on July 26th 2011)
Fixed a problem with newer versions of IPython.
Disabled pyinotify based reloader which does not work reliably.

http://werkzeug.pocoo.org/docs/0.10/changes/

Thanks for figuring this one out !
I will add a note to the documentation about this so that it might help others trying to figure out the same issue.

Have you tried with the watchdog module as per http://werkzeug.pocoo.org/docs/0.10/serving/#reloader ?

Thanks for the tip! I did a pip install watchdog and the issue is gone! Marvelous!
Interestingly, runserver_plus now reports it is using inotify:

Running on http://<IP_ADDRESS>:8000/ (Press CTRL+C to quit)

Restarting with inotify reloader

Hey ezheidtmann,
Have you had any problems with runserver_plus not restarting on file changes when using watchdog?
I've experienced the same high CPU issues and that was solved by watchdog forcing werkzeug to use the inotfiy reloader. But unfortunately it is now missing most file changes, which seems to be the issue that lead to it being removed the first time.
Ideally I would like to use the polling method, but extend the time between polls to spare the CPU.  Anyone know if that is possible?
Thanks!

I have added support for specifying 'reload_interval' in werkzeug in 3ab67d4a8376f8ee04bc32547269f1bb19742f83.
You should now be able either add:
RUNSERVERPLUS_POLLER_RELOADER_INTERVAL = 5

To your settings files or use:
$ ./manage.py runserver_plus --reloader-interval 5

on the command line to control the interval between scans in poller mode.

Could you please check if this works for you ?
If anybody could make a PR to add this to the documentation as well I would be very grateful.

Thanks a lot trbs.
It works as expected.


IOU - RBR is present in LHN with transaction thread

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/39689
PROPOSAL:https://github.com/Expensify/App/issues/39689#issuecomment-2040156570
Tests

I've tested the scenarios with MacOS / Chrome / Safari / Android / IOS
Steps to follow:
Open the Expensify application in your device and follow below steps:

Open the App
Login with User A and request money from User B.
User A go offline.
User B pay the request.
User A delete the request while offline.
User A go online.
User A go to transaction thread (one report view).
The error "Unexpected error deleting the money request, please try again later" should be present in one transaction report view.

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Open the Expensify application in your device and follow below steps:

Open the App
Login with User A and request money from User B.
User A go offline.
User B pay the request.
User A delete the request while offline.
User A go online.
User A go to transaction thread (one report view).
The error "Unexpected error deleting the money request, please try again later" should be present in one transaction report view.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/43398804/013c1a32-1e14-416f-b916-3cec8e08ec73

Android: mWeb Chrome

https://github.com/Expensify/App/assets/43398804/963c03f8-c65a-4377-b6bf-1dbb9b0d8865

iOS: Native

https://github.com/Expensify/App/assets/43398804/1875734b-f27b-4660-ba11-6e6a95b4fff5

iOS: mWeb Safari

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/43398804/98322088-a334-4453-8480-34ae904e0403

MacOS: Desktop

https://github.com/Expensify/App/assets/43398804/3642d62c-41bb-4300-965d-c038568445b9

@abdulrahuman5196 PR ready. Can you please review the PR? 🙂

Hi, Sorry for delay. Will work on review.

Checking now

Checking now

Checking now

Any update here, sir? @abdulrahuman5196

Any update here, @abdulrahuman5196 ?

@kaushiktd The change is not working
https://github.com/Expensify/App/assets/46707890/5f91375b-e2ae-4651-99de-01a5bb37aa9b

@abdulrahuman5196 I've updated the code. Please check and let me know. Please find attached video recording here.

@abdulrahuman5196 friendly bump on this for review

@kaushiktd Code looks good. Can you fix the merge conflicts? And I can work on platform testing.

@abdulrahuman5196 Can you please check now ?

@kaushiktd Code looks good. Can you fix the merge conflicts? And I can work on platform testing.

It is fixed @abdulrahuman5196

Checking now

@kaushiktd Clicking close button doesn't remove the error
https://github.com/Expensify/App/assets/46707890/46d2dee6-6f2b-474b-b266-169821e5bdf8

@kaushiktd Clicking close button doesn't remove the error. Do fix it and update
Screen.Recording.2024-05-23.at.1.12.22.AM.mov

I will look into this soon.
On a side note, I would TRULY appreciate it if you could check the PR on your earliest convenience. By the time you get back on this, many changes merged in the code and every time I have to make changes because of this. This already took too much time because of a delay in response. I hope you understand that. 🙂

Please check @abdulrahuman5196

@abdulrahuman5196 friendly bump on this!

I'd like to follow up one more time before I seek help from slack. @abdulrahuman5196 You're extremely busy on something else, which may be completely understandable but these delay in reviewing PR and sharing feedback is becoming infinite work as long as other issues keep merging and affecting this one causing me to repeat one thing again and again. Hope you understand my side as well @alexpensify @madmax330

I will work on this issue in couple of hours.

Hope you enjoyed your weekend, @abdulrahuman5196
Eagerly waiting for the feedback

checking now

I have a doubt, isn't the error message supposed to come below the bill image? @madmax330 @alexpensify
Or is my expectation wrong?

https://github.com/Expensify/App/assets/46707890/00bc7ff4-eb08-4f03-8e58-cae17ed82ad3
cc: @kaushiktd

I have a doubt, isn't the error message supposed to come below the bill image? @madmax330 @alexpensify Or is my expectation wrong?

 Screen.Recording.2024-05-28.at.4.50.02.PM.mov
cc: @kaushiktd

@abdulrahuman5196  Errors are showing with the OfflineWithFeedback component, and this component is displaying errors below the content. You can check here.

@abdulrahuman5196  Errors are showing with the OfflineWithFeedback component, and this component is displaying errors below the content. You can check here.

@kaushiktd but in this pr the error message is shown above the bill image content which would be wrong then?

Ok anyways, I will let @madmax330 / @alexpensify respond to this https://github.com/Expensify/App/pull/40460#issuecomment-2134986382 to see if we need to change the order of showing the error. Or is the above fine.

@abdulrahuman5196 I have been assigned another issue and I need to make PR for that issue as well but this is not merged yet so how can I create new PR without affecting this? I am not able to see fork option because this one is still in progress.

Friendly bump on this @madmax330 @alexpensify

@abdulrahuman5196 @kaushiktd the error should not be above the receipt, but if that was not introduced in this PR let's create a separate GH for it.

@madmax330 I believe it should be addressed separately since that will be a different issue than this one.

@kaushiktd was this already this way or did this PR introduce it?

@kaushiktd was this already this way or did this PR introduce it?

It was this way already. @madmax330

Ok then no need to hold this PR on it, we can make a separate issue for it 👍🏽

@kaushiktd Android chrome and iOS safari videos are not present. And the videos are old and doesn't reflect the multiple changes made. Kindly re-add the videos.

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/46707890/e37447e9-fa0a-42ca-ae09-99e07cf6ffae

Android: mWeb Chrome

https://github.com/Expensify/App/assets/46707890/88252fef-68ce-4034-a78a-68cec7aced2d

iOS: Native

https://github.com/Expensify/App/assets/46707890/9437cfee-3344-4b49-886b-a93e313c21b4

iOS: mWeb Safari

https://github.com/Expensify/App/assets/46707890/d9e89a55-a860-4f48-89b6-a5fb59724d25

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/46707890/b0400630-1c8e-4876-b60b-b1495e9d9a66

MacOS: Desktop

https://github.com/Expensify/App/assets/46707890/2f58a1c2-dae9-4b19-9b72-0a78b8fe76a0

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@abdulrahuman5196 @madmax330 can you please manually send me upwork invite? I have not received it yet.

@kaushiktd no worries BZ member will take during the payment time.

This PR is failing because of issue https://github.com/Expensify/App/issues/39689
The issue is reproducible in: Web
https://github.com/Expensify/App/assets/93399543/58b43dea-9542-4ac1-81f1-8f64d410e660

I've checked our PR code using the steps mentioned in the PR request. It is working properly as expected on both the development and staging servers.
https://www.loom.com/share/d676aa1541744001af10cee0bb4aef1d?sid=893bf215-5647-4516-b5e4-6ac955352ffe

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.79-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@abdulrahuman5196 @madmax330 Ammm, have not received any manual invitation on my Upwork yet. Can you help here please?

I'll reply to your question in the original GH.


Is it possible to run only a selection of SAS-code?

This is not a bug, but I dont know where else to ask questions about use of 'language-sas'.
My question is:
Is it possible to run only a selection of SAS-code? (in SAS Enterprise Guide I would highlight a piece of code and press F3, and only the selection would run).

Unfortunately it is not possible. That is the limitation of the UNIX version of SAS. You have to run the entire program at once. If you want to run part of the code, you have to comment the other part out (using Ctrl+/)

In windows, you can highlight code and run it. But not in *nix.
Better places to ask about SAS include stackoverflow and the SAS communities. Good luck.


"too many indices for tensor of dimension 4"

After installation (across three different setups) the following code does not work:
from butterfly import Butterfly
Butterfly(10,10)

Error: "too many indices for tensor of dimension 4".
Question. Can anyone make a Google Colab that imports Butterfly without error?

Sure, I'll create a docker image and/or Colab this weekend.
I'm a bit swamped with deadline until Friday.

Thanks for the fast reply! The colab would be awesome. I'm not sure what the benefits of docker would be compared to colab.


Edited docs even more

Edited docs for pd utils, timer, secret, exceptions and overview.

plz remove the html files

this is not bugbust pull request. we had this open when chap was assigned to update the docs kaa.


Add kexuanwang's file

created a branch, created a file and made a commit, and opened a pull request

I think you may mark the position of the tip.


chip_io LVS transistor level failure

As per the discussion with @d-m-bailey and @RTimothyEdwards, chip_io is failing LVS transistor level because of missing spice subcircuits in the PDK
subcircuits missing:
gf180mcu_fd_io__bi_t
gf180mcu_fd_io__in_c
gf180mcu_fd_io__dvss
gf180mcu_fd_io__dvdd
gf180mcu_fd_io__in_s

Changes that needed to be done in gl netlist:

I had to add gf180mcu_fd_io__fill5 to the gl netlist as it wasn't there
const_one bits were reversed

After these changes calibre LVS only has property errors.
To make sure that it is not an issue with chip_io, I ran LVS on gf180mcu_fd_io__bi_t standalone (cdl from library VS gds from library), which produced property errors.

@marwaneltoukhy :  Have you committed those corrections and made a pull request?

@marwaneltoukhy :  The existing verilog/gl/chip_io.v does not have either fill5 or fill10.  To make device counts match, I had to add:
  gf180mcu_fd_io__fill10 filler10 [1031:0] (
    .DVDD(vdd),
    .DVSS(vss),
    .VDD(vdd),
    .VSS(vss)
  );
  gf180mcu_fd_io__fill5 filler5 [2:0] (
    .DVDD(vdd),
    .DVSS(vss),
    .VDD(vdd),
    .VSS(vss)
  );

@RTimothyEdwards Calibre only flagged the fill5, and when I tried to add fill10, it flagged device mismatch (more cells in source than layout). Still investigating this behavior.


assigning licenses of per app per user plan

needs a more description with diagrams on how we assign these type of licenses and how to maintain them, for example if I assign 50 licenses to an environment, as an admin how would I know howmany are consumed and by whom? without a way to see that info this is an half-baked admin experience.

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

ID: d4ff6033-4188-72a1-a775-867273fe1d96
Version Independent ID: 9250b4bd-f0ce-f0a4-7ebf-fb2bd3492910
Content: Manage licenses in your organization - Power Platform
Content Source: power-platform/admin/signup-question-and-answer.md
Service: power-platform
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@mganeshphani
Sorry for the delayed response and thanks for the feedback. We'll consider this for addition to the content with future revisions.


[🐞] Event handlers either disappearing or included twice depending on the component JSX

Which component is affected?
Qwik Runtime
Describe the bug
There is a weird interaction between component event handlers like useOn, useOnDocument or useOnWindow and the JSX structure.
Reproduction
You can see this stackblitz as well: https://stackblitz.com/edit/qwik-starter-mkqcen?file=src%2Froutes%2Findex.tsx
Press any key on the page to start and see both components render the events counts.
Press the escape key to switch the component render which changes the behavior.
BUG 1
When the component renders fragment, Qwik places a <script type="placeholder" tag with the Qwik event handlers (like on-document:xxx). If the component changes to render a DIV for example, that placeholder is removed and the DIV now has the event handlers. So far so good.
But if the component renders back to a fragment then the DIV is not replaced back with a placeholder tag thus losing the event handlers altogether.
BUG 2
An easy workaround seems to be to avoid using a fragment as root in the JSX and say wrap the whole component in a DIV.
But when the component changes to render an inner DIV, that inner DIV then also gets the event handlers, causing those events to be processed twice.
Reproduction
https://github.com/jwickers/qwik-useon-events-bug
Steps to reproduce
Run npm install and npm run start.
System Info
System:
    OS: macOS 13.3.1
    CPU: (16) x64 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
    Memory: 36.66 GB / 64.00 GB
    Shell: 5.9 - /usr/local/bin/zsh
  Binaries:
    Node: 18.16.0 - ~/.nvm/versions/node/v18.16.0/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.6.7 - ~/.nvm/versions/node/v18.16.0/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 114.0.5735.106
    Edge: 114.0.1823.37
    Firefox: 92.0
    Firefox Developer Edition: 109.0
    Safari: 16.4
  npmPackages:
    @builder.io/qwik: ^1.1.5 => 1.1.5
    @builder.io/qwik-city: ^1.1.5 => 1.1.5
    undici: 5.22.1 => 5.22.1
    vite: 4.3.9 => 4.3.9

Additional Information
No response

Thanks a lot @jwickers and sorry for the delay
If this isn't fixed by now, it'll definitely be easier to solve in V2 I believe
We'll add a test for it in the V2 branch to verify this is not repeating

fixed in v2 https://qwikdev-build-v2.qwik-8nx.pages.dev/playground/#f=7Vjfa9swEH7fX6GFUbs0mI2NPZg1ozSBddvDoGPdHh1Ha0s8K1hOQgj53%2FedTpblH11LWUtL%2BxJi%2B3T33en06e68pHn77s17t1MQeDXET50G9NTIXvuCL2b74HPf8MUN0o3D8x3cXHPyYX%2FysWiGpNflF7mBmLMeBgHcqUTmcnNsrglf4rUnYBiqX6TrRhhu7UW%2Fc1CcJaw33yxMBy4COyylMcmyVR0SNFyN4xIm4th3KhiKuVlIR6oVck6XwOAPKOTYpTCUHi5Yc84xiIMDRlHjWCdF3gFidYoK9G6fc6QfAUIMysodBib4UK4g0kBT7UUfllJI%2BGvW4IYQcH%2BqkmI2oRc3wuxQONSivQVkIErVTDa9uvIEbtvr9%2FY6Kl9ikyY6TRYyEB%2BtgnahzQcS8DNVHA7OCynzwehMFXONk9gQai2iZaOvxiJFJO4g2rUVVEX7PzWaEpWraahs58jtdFK%2BVhqb%2B3yNvsbjvog7EW5E1Vf0Sy2pCNKofMTk9Pjo20REUYRKFtUV6geTSxoXscjQPKAAWCPiEUo4ct7g2wYi2HkKu6GgqLNsxyvPAR%2B9jxXFCwoiqqyx1hPjtTXzUg5eTYFnBUgZLj4dJrQePxhCdHgeHy866P%2BRHr3zejcMWcjZYDRWS%2BQac8ozTd45TSZoDjE3YHBmRoHOMS2zjWVMT6Hlw3smy3oa5fPlLSdfizpAnyQ8R8uZeBOG8iIBpWI2INGDlMo4VsUJYTOe6yE6SnTzCOFYrpw69GDmLNJmG5do0IWw0%2B6KNAFPkKnp8txoovGEu5%2FQw6WwAHuIglPIHbQqKCwWROTqeOfHh2bVXJf6PZ4SZE0TgdphjPGARYvPpz9JYm2vHDT3iRif%2FBia1GDjTh1lDMcIkgANh8v1ZSrJ04jbeAprphWmIebiIH1k%2FCTXC%2BQWfEpqdVOFuQR9NcYpajDsspT%2BX%2BYa3S7F7CLBDMQlLx7zGTp8Fxchjn5j1MVZb%2BPPXvO0zCijYcoftQJ2APQOQXUAVJ7Vm6B4AlUdieviX13ZdhvayfvcGz%2B%2B3vgv

I'm closing this since it's fixed in v2. We're hoping to get the alpha out soon.


Remove rubocop-performance post install message

Can the post install message about the rubocop-performance be removed at some point? It's already documented at https://github.com/rubocop-hq/rubocop/blob/master/manual/extensions.md and that should be sufficient.
My team embeds the rubocop gem in a wrapping gem that installs rubocop-performance and configures a premade .rubocop.yml file.  The post install message makes some developers think they need to take some action.

Yeah, I agree we should remove it at this point. @koic Can you handle this?

I agree too. I opened a PR #7049.

Thanks for the fast turnaround!


Issue edit button broken on gitea 1.13 on Pale Moon web browser

Gitea version (or commit ref): 1.13.1
Git version: 2.24.3
Operating system: CentOS 7
Gitea installed from binary linux x64 download on releases page
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No

Log gist:

Description
on an existing issue, pressing the edit button (to edit the issue title) does nothing
...
Screenshots
Should be self-explanatory

Can't reproduce this in current Firefox. Which browser are you using?

Can't reproduce this in current Firefox. Which browser are you using?

Pale Moon.
I checked the devtools for any hint but there doesn't seem to be anything there that's helpful.
1.14 as on the try server seems to be fine -- Unfotunately this did mean I had to revert to 1.12 on our production server since mos of us are using Pale Moon there.

Pale Moon.
I checked the devtools for any hint but there doesn't seem to be anything there that's helpful.
1.14 as on the try server seems to be fine -- Unfotunately this did mean I had to revert to 1.12 on our production server since mos of us are using Pale Moon there.

Pale Moon.
I checked the devtools for any hint but there doesn't seem to be anything there that's helpful.
1.14 as on the try server seems to be fine -- Unfotunately this did mean I had to revert to 1.12 on our production server since mos of us are using Pale Moon there.

Pale Moon.
I checked the devtools for any hint but there doesn't seem to be anything there that's helpful.
1.14 as on the try server seems to be fine -- Unfotunately this did mean I had to revert to 1.12 on our production server since mos of us are using Pale Moon there.

Outdated, need more clues


[enhancement]: reopen #10125

Task name
reopen #10125
Describe your feature request here
#10125 is a valid feature request that would prevent immense pain and debugging effort for many people
It was closed with no reason stated. Please reopen and consider.

Hahahaha still valid.

Please fix this...


Issue 4189 keystore upgrade

This PR is step 1 of a 2 step approach to allows the usage of different passwords for the for the unlocking of a Java keystore and the private key contained within:

upgrade keystore-go to v4
add support for private key passwords to the cert-manager API

This PR should be followed by another one that implements no 2. above to be able to close #4189 .

/assign @mol-george

Sorted imports and reinstated the comment.

/test pull-cert-manager-e2e-v1-22

/test pull-cert-manager-e2e-v1-22

/lgtm
/approve

/release-note-none


network_id may be misidentified in SamplesRequest

I'm in the process of converting this hacklet script to python because I want to integrate it into some continuous energy monitoring tools that I'm tinkering with, and I'm somewhat confused in the SamplesRequest packet structure:
The SamplesRequest message describes:
		uint16 :network_id
		uint16 :channel_id

However, the network ID that is shoved into the uint16 is a 64-bit variable. I don't know exactly how ruby handles this, but in my application, it looks like it's being clamped to 0<=n<=2**16, so in the debug trace, I'm seeing 0xFFFF being used as the network ID.
I'm not sure how this works, but it does seem to work.
This isn't the only place that the 64-bit network ID is shoved into a 16-bit variable, either.
Furthermore, I can confirm that I can use random network IDs > 2**16, and successfully read the power draw on my modlet (I'm only interested in monitoring power usage). Is it possible the field identified as network_id is for something else, and it has to be 0xFFFF for the script to work as expected?

Closing because my Modlet spontaneously stopped working.
TL:DR don't buy a modlet for basically anything.


Add feature header checkbox

Added the checkbox functionality by introducing a enabled attribute to the NameValueModel.

Hi @DenserMeerkat ,
Please add test cases for these changes.
More details - Link

Hi @DenserMeerkat , Please add test cases for these changes. More details - Link

👍 Ok, will  add the required tests and make a commit.

Hi @ashitaprasad, I've fixed the existing tests for the model changes and added tests for the newly introduced conversion methods.

Hi @DenserMeerkat, Apologies as we got busy with the release. We will review this PR this week.

✌🏼 No issues.

Please take a look at my comments and feel free to reach out in case of any difficulty. Thanks!

@animator Thanks for the review and corrections.
Will open a new PR which follows the mentioned backward compatible approach to handle checked items to implement the checkbox functionality.

Sure @DenserMeerkat 👍
Feel free to ping on discord channel if you need any help.


how to use etcd::KeepAlive?

Help, what's wrong with my code, the same to the examples.

got this error during building.

Include "etcd/KeepAlive.hpp" would fixes the error.

And, you should be a magic value 1 as the lease_id (the fourth argument). It should be response from leasegrant.

Closing.


Switch to https://www.nuget.org/packages/packageurl-dotnet/

The official package-url dotnet implementation just got an update to have it pushed to nuget, switched from the copied implementation to the one on NuGet.

/azp run

Commenter does not have sufficient privileges for PR 304 in repo microsoft/OSSGadget

@gfs could you run it for this PR too? We just switched to the nuget package on our side too.

/azp run

/azp run

/azp run

/azp run

/azp run

Will fix the missing import from the merge this evening.

/azp run

The PackageUrl dotnet implementation doesn't have support for Json deserialization like the implementation that was pasted and slightly modified in OSSGadget, so I just put a PR out on the repo to add support for it: https://github.com/package-url/packageurl-dotnet/pull/16

/azp run

The PackageUrl dotnet implementation doesn't have support for Json deserialization like the implementation that was pasted and slightly modified in OSSGadget, so I just put a PR out on the repo to add support for it: package-url/packageurl-dotnet#16

If they dont approve that PR (they may not because it uses newtonsoft instead of system.text.json) it can just be added back as Extension methods in ossgadget.

The PackageUrl dotnet implementation doesn't have support for Json deserialization like the implementation that was pasted and slightly modified in OSSGadget, so I just put a PR out on the repo to add support for it: package-url/packageurl-dotnet#16

If they dont approve that PR (they may not because it uses newtonsoft instead of system.text.json) it can just be added back as Extension methods in ossgadget.

Updating it to system.text.json now.

/azp run

I'm seeing 3 download tests failing after your last change (despite rerunning the failed tests).
I'll double check the failures locally tonight.

I'm not sure this is related to the changes in the PR, but it seems like some of the download tests are failing.
The cocoa pods test finds a pod using an md5 of the package name and then looks up the url here: https://github.com/CocoaPods/Specs. However, for the test case the MD5 comes out with 8/d/6 but the actual path on the repo is 8/2/7: https://github.com/CocoaPods/Specs/blob/master/Specs/8/2/7/RandomKit/5.2.1/RandomKit.podspec.json.
https://github.com/microsoft/OSSGadget/blob/a0f6af11f8648f1fd363f293976778048cf2bf75/src/Shared/PackageManagers/CocoapodsProjectManager.cs#L174-L192
I haven't investigated the CRAN or CPAN failures yet.

Nope, while the tests we have definitely could be better, the problem here was that the PackageUrl class that we had embedded included some customizations, e.g.:

The problem is that PackageURL toLower()'s the name, but when you toLower() RandomKit, you get randomkit, which MD5's to 8/d/6, which is wrong. So for a couple package types (cpan, cran, cocoapods, and vsm) we need to leave the names in whatever case they came in as.

Similarly below in that same file for namespaces.
IIRC, that was the reason I didn't use the existing package.

Nope, while the tests we have definitely could be better, the problem here was that the PackageUrl class that we had embedded included some customizations, e.g.:

The problem is that PackageURL toLower()'s the name, but when you toLower() RandomKit, you get randomkit, which MD5's to 8/d/6, which is wrong. So for a couple package types (cpan, cran, cocoapods, and vsm) we need to leave the names in whatever case they came in as.

Similarly below in that same file for namespaces.
IIRC, that was the reason I didn't use the existing package.

Was this the only change required? we could open a PR upstream to see if they would take this change.

https://github.com/package-url/packageurl-dotnet/pull/18

Yep, makes sense to try to upstream. Though IIRC some of the types aren't in the spec (cpan is unofficial, and I just made up vsm for Visual Studio Marketplace). Not that they aren't reasonable to include / add to spec.

I opened a PR to add those types to the spec as well.  It looks like there are a number of implementations - not just the C# one, so I'm not sure if those would also require this change to the case sensitivity handling but I think that's out of scope for us. https://github.com/package-url/purl-spec/pull/155/files

package-url/packageurl-dotnet#18

This has been merged. I assume they will publish a new nuget soon @jpinz.

@gfs just pinged the maintainer of the packageurl-dotnet repo asking if they can publish a new version when they get a chance, so we can unblock this PR.

/azp run

/azp run

LGTM.
@jpinz is this ready to merge?

LGTM.
@jpinz is this ready to merge?
Should be good! Hoping to get the other PR in today/tomorrow as well and consuming the new version that contains both changes.


gitrepo: set conditions in gitCheckout

Signed-off-by: Sanskar Jaiswal<EMAIL_ADDRESS>

Looks like we have more test flakes. Should be fixable similar to this fix https://github.com/fluxcd/source-controller/pull/730


Update README's CHANGE_URL details

I added two lines in the README.md specifying which change URL to use in order to take advantage of Happo's GitHub integration.

Thanks @nicklee100! FYI - I might move this to a different place after merging. The information will still be there however.


Slash in windows path not ok?

Taken from #9:
Hey, I just tried 0.8. Ensime is now starting, however there is an error during the startup of the server:
[info] Done updating.
[error] [C:\Users\Felix.atom\packages\Ensime\ensime_update_\build.sbt]:24: invalid escape character
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
Which leads to this sbt line:
val out = file("C:\Users\Felix.atom\packages\Ensime/classpath_2.10.4_0.13.5")
So it looks like an issue related to windows. Also I got an error for shutting down ensime, which I have posted as a separate issue.

@SourceSink If you have the time, please try 0.8.1. My guess is that my hardcoded "/" was problematic so https://github.com/hedefalk/atom-ensime/commit/6a0ec547633a9dc078f59ea9c7579b7e074251aa
but it's hard to test without Windows... If there's still problems, maybe you could help me by editing your
C:\Users\Felix.atom\packages\Ensime\ensime_update\build.sbt folder to figure out the correct Windows way. You could test by manually running "sbt saveClasspath clean"

I tried 0.8.1 however the error remains. Also the sbt file seems to be re-generated every time ensime is started from Atom.
I tried to hardcode the changes, yet they get overwritten as soon as I execute Ensime: Start. When I try to run sbt in the ensime_update folder I get the following exception:
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.ensime#ensime_2.10;0.13.5: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]          org.ensime:ensime_2.10:0.13.5 (C:\Users\Felix.atom\packages\Ensime\ensime_update_\build.sbt#L17-18)
[warn]            +- default:ensime_update__2.10:0.1-SNAPSHOT
Von: Viktor Hedefalk<EMAIL_ADDRESS>Gesendet: Mittwoch, 10. Juni 2015 19:50
An: hedefalk/atom-ensime
Cc: SourceSink
Betreff: Re: [atom-ensime] Slash in windows path not ok? (#14)
@SourceSink https://github.com/SourceSink  If you have the time, please try 0.8.1. My guess is that my hardcoded "/" was problematic so  https://github.com/hedefalk/atom-ensime/commit/6a0ec547633a9dc078f59ea9c7579b7e074251aa 6a0ec54
but it's hard to test without Windows... If there's still problems, maybe you could help me by editing your
C:\Users\Felix.atom\packages\Ensime\ensime_update\build.sbt folder to figure out the correct Windows way. You could test by manually running "sbt saveClasspath clean"
—
Reply to this email directly or view it on GitHub https://github.com/hedefalk/atom-ensime/issues/14#issuecomment-110850734 .  https://github.com/notifications/beacon/AFwtTf4ZFOnlg7CaDqxTM1QhC3BS3UHGks5oSHA_gaJpZM4E-rR2.gif

Yeah, it will be overwritten every time you do update server.
But the version seems super-weird. org.ensime#ensime_2.10;0.13.5: sounds like ending with a sbt version, not the ensime server version. So it's not weird sbt can't resolve it.
My ~/.atom/packages/Ensime/ensime_update_/build.sbt has:
libraryDependencies += "org.ensime" %% "ensime" % "0.9.10-SNAPSHOT"
and
val out = file("/Users/viktor/dev/projects/atom-ensime/classpath_2.10.4_0.9.10-SNAPSHOT")
I hardcoded 0.9.10-SNAPSHOT as a default in the settings of the atom plugin (I think Emacs does the same)

Is the hardcoded version published yet?
Also how can I try to change the path, when the file is overwritten every time I start ensime?
Von: Viktor Hedefalk<EMAIL_ADDRESS>Gesendet: Mittwoch, 10. Juni 2015 23:20
An: hedefalk/atom-ensime
Cc: SourceSink
Betreff: Re: [atom-ensime] Slash in windows path not ok? (#14)
Yeah, it will be overwritten every time you do update server.
But the version seems super-weird. org.ensime#ensime_2.10;0.13.5: sounds like ending with a sbt version, not the ensime server version. So it's not weird sbt can't resolve it.
My ~/.atom/packages/Ensime/ensime_update_/build.sbt has:
libraryDependencies += "org.ensime" %% "ensime" % "0.9.10-SNAPSHOT"
and
val out = file("/Users/viktor/dev/projects/atom-ensime/classpath_2.10.4_0.9.10-SNAPSHOT")
I hardcoded 0.9.10-SNAPSHOT as a default in the settings of the atom plugin (I think Emacs does the same)
—
Reply to this email directly or view it on GitHub https://github.com/hedefalk/atom-ensime/issues/14#issuecomment-110917794 .  https://github.com/notifications/beacon/AFwtTfRL7VKa3QmEsATUgHlseo53b4Etks5oSKF_gaJpZM4E-rR2.gif

@SourceSink Sorry, I think I need to explain this a little further. And thank you for your patience, I know it's no fun at all when you want to try a tool out and it just doesn't work. I really appreciate your reporting since I haven't had a chance to try Windows out.
When you run Ensime:start, the client looks at your .ensime's scala version and plugin settings ensime version, in my case 2.10.4 and 0.9.10-SNAPSHOT. It then looks inside the plugins own directory to see if there is a classpath-file for that combination already present. If not, it tries to create one. It does this by writing out an sbt file. This one has not really anything to do with your project, but is just used for bootstrapping the server. It's a template looking like this:
import sbt._

  import IO._

  import java.io._

  scalaVersion := \"#{scalaVersion}\"

  ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) }

  resolvers += Resolver.sonatypeRepo(\"snapshots\")

  resolvers += \"Typesafe repository\" at \"http://repo.typesafe.com/typesafe/releases/\"

  resolvers += \"Akka Repo\" at \"http://repo.akka.io/repository\"

  libraryDependencies += \"org.ensime\" %% \"ensime\" % \"#{ensimeServerVersion}\"

  val saveClasspathTask = TaskKey[Unit](\"saveClasspath\", \"Save the classpath to a file\")

  saveClasspathTask := {
    val managed = (managedClasspath in Runtime).value.map(_.data.getAbsolutePath)
    val unmanaged = (unmanagedClasspath in Runtime).value.map(_.data.getAbsolutePath)
    val out = file(\"#{classpathFile}\")
    write(out, (unmanaged ++ managed).mkString(File.pathSeparator))
  }

The plugin then runs "sbt saveClasspath clean" on this file, generating a classpath file for this combination of scala/ensime.
This classpath file is later used when starting the ensime server.
So, the issue you had first was that sbt choked on the string in
val out = file("C:\Users\Felix.atom\packages\Ensime/classpath_2.10.4_0.13.5")
Did you ever get past this?
My suggestion was then to manually edit this sbt file to be something that is more likely correct (only backslash?) and then manually run "sbt saveClasspath clean" (without doing anything with Atom since this will overwrite as you noticed). I would like to know what the one Ensimes writes out is as well to figure out if my fix was ok. I'm trying to use node's fs package to use a platform dependent separator…
It also seems very weird that you have "0.13.5" as Ensime version. Either this is some bug I have introduced or can it be you might have accidentally written this in the package settings? I will suggest going with the default 0.9.10-SNAPSHOT (that hardcoded default has always been there)

The problem seems to be that the file is regenerated whether it is present or not. Can you try to use triple quotes on the class path in the template?
So the line looks like this:
val out = file(\”\”"#{classpathFile}\”\”")
That might solve the problems with the escape character.
For the versioning: I use sbt 0.13.5 and have generated the ensime file from there. Also the project uses Scala 2.11.6, but I think that won’t influence your code.
Von: Viktor Hedefalk<EMAIL_ADDRESS>Gesendet: Freitag, 12. Juni 2015 11:50
An: hedefalk/atom-ensime
Cc: SourceSink
Betreff: Re: [atom-ensime] Slash in windows path not ok? (#14)
@SourceSink https://github.com/SourceSink  Sorry, I think I need to explain this a little further. And thank you for your patience, I know it's no fun at all when you want to try a tool out and it just doesn't work. I really appreciate your reporting since I haven't had a chance to try Windows out.
When you run Ensime:start, the client looks at your .ensime's scala version and plugin settings ensime version, in my case 2.10.4 and 0.9.10-SNAPSHOT. It then looks inside the plugins own directory to see if there is a classpath-file for that combination already present. If not, it tries to create one. It does this by writing out an sbt file. This one has not really anything to do with your project, but is just used for bootstrapping the server. It's a template looking like this:
import sbt._
import IO._
import java.io._
scalaVersion := "#{scalaVersion}"
ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) }
resolvers += Resolver.sonatypeRepo("snapshots")
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/\ http://repo.typesafe.com/typesafe/releases/ "
resolvers += "Akka Repo" at "http://repo.akka.io/repository\ http://repo.akka.io/repository/ "
libraryDependencies += "org.ensime" %% "ensime" % "#{ensimeServerVersion}"
val saveClasspathTask = TaskKey[Unit]("saveClasspath", "Save the classpath to a file")
saveClasspathTask := {
val managed = (managedClasspath in Runtime).value.map(.data.getAbsolutePath)
val unmanaged = (unmanagedClasspath in Runtime).value.map(.data.getAbsolutePath)
val out = file("#{classpathFile}")
write(out, (unmanaged ++ managed).mkString(File.pathSeparator))
}
The plugin then runs "sbt saveClasspath clean" on this file, generating a classpath file for this combination of scala/ensime.
This classpath file is later used when starting the ensime server.
So, the issue you had first was that sbt choked on the string in
val out = file("C:\Users\Felix.atom\packages\Ensime/classpath_2.10.4_0.13.5")
Did you ever get past this?
My suggestion was then to manually edit this sbt file to be something that is more likely correct (only backslash?) and then manually run "sbt saveClasspath clean" (without doing anything with Atom since this will overwrite as you noticed). I would like to know what the one Ensimes writes out is as well to figure out if my fix was ok. I'm trying to use node's fs package to use a platform dependent separator…
It also seems very weird that you have "0.13.5" as Ensime version. Either this is some bug I have introduced or can it be you might have accidentally written this in the package settings? I will suggest going with the default 0.9.10-SNAPSHOT (that hardcoded default has always been there)
—
Reply to this email directly or view it on GitHub https://github.com/hedefalk/atom-ensime/issues/14#issuecomment-111432088 .  https://github.com/notifications/beacon/AFwtTaq6mUAydXEM0f7Uj5Z5RF9DnUHxks5oSqLGgaJpZM4E-rR2.gif

I'm not sure what you mean - yes the .sbt file is regenerated, but that shouldn't be an issue if you follow my instructions in my previous comment…?
But I'll suggest one of the following:

Move the file ~/.atom/packages/Ensime/ensime_update_/build.sbt somewhere else and edit away. Then try to run "sbt saveClasspath clean" on it and when you have a working one, please report back and I'll try to make the plugin produce a similar one.

Directly edit the build.sbt template in ~/.atom/packages/Ensime/lib/ensime-startup.coffee. You can try your edits by hitting ctrl-alt-cmd-L (or similar) to reload the Atom instance you're testing with (this will reload the package). When you have something working for your system, either report back what the template should be or even better, issue a pull request :)

Could you by the way post both your .ensime and the build.sbt that Atom generates? Might be helpful if I overlooked something.

I went with directly editing the coffee script and actually got it to work. My coffee script looks like this:
Download and startup of ensime server
fs = require('fs')
path = require('path')
{sexpToJObject} = require('./swank-extras')
{exec, spawn} = require('child_process')
lisp = require('./lisp')
{log, modalMsg, projectPath} = require('./utils')
EnsimeServerUpdateLogView = require('./views/ensime-server-update-log-view')
createSbtStartScript = (scalaVersion, ensimeServerVersion, classpathFile) ->
"""
import sbt._
import IO._
import java.io._
scalaVersion := "#{scalaVersion}"
ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) }
resolvers += Resolver.sonatypeRepo("snapshots")
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/\"
resolvers += "Akka Repo" at "http://repo.akka.io/repository\"
libraryDependencies += "org.ensime" %% "ensime" % "#{ensimeServerVersion}"
val saveClasspathTask = TaskKey[Unit]("saveClasspath", "Save the classpath to a file")
saveClasspathTask := {
val managed = (managedClasspath in Runtime).value.map(_.data.getAbsolutePath)

val unmanaged = (unmanagedClasspath in Runtime).value.map(_.data.getAbsolutePath)

val out = file(\"\"\"#{classpathFile}\"\"\")

write(out, (unmanaged ++ managed).mkString(File.pathSeparator))

}
"""
\ …
Which produces this sbt file:
import sbt._
import IO._
import java.io._
scalaVersion := "2.10.4"
ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) }
resolvers += Resolver.sonatypeRepo("snapshots")
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
resolvers += "Akka Repo" at "http://repo.akka.io/repository"
libraryDependencies += "org.ensime" %% "ensime" % "0.13.5"
val saveClasspathTask = TaskKeyUnit
saveClasspathTask := {
val managed = (managedClasspath in Runtime).value.map(_.data.getAbsolutePath)
val unmanaged = (unmanagedClasspath in Runtime).value.map(_.data.getAbsolutePath)
val out = file("""C:\Users\Felix.atom\packages\Ensime\classpath_2.10.4_0.13.5""")
write(out, (unmanaged ++ managed).mkString(File.pathSeparator))
}
However I ran into another error on startup:
·       [info] Loading global plugins from C:\Users\Felix.sbt\0.13\plugins
·       [info] Loading project definition from C:\Users\Felix.atom\packages\Ensime\ensime_update_\project
·       [info] Set current project to ensime_update_ (in build file:/C:/Users/Felix/.atom/packages/Ensime/ensime_update_/)
·       [info] Updating {file:/C:/Users/Felix/.atom/packages/Ensime/ensime_update_/}ensime_update_...
·       [info] Resolving org.scala-lang#scala-library;2.10.4 ...
·       [info] Resolving org.ensime#ensime_2.10;0.13.5 ...
·       [info] Resolving org.ensime#ensime_2.10;0.13.5 ...
·       [warn] module not found: org.ensime#ensime_2.10;0.13.5
·       [warn] ==== local: tried [warn] C:\Users\Felix.ivy2\local\org.ensime\ensime_2.10\0.13.5\ivys\ivy.xml [warn] ==== public: tried [warn] https://repo1.maven.org/maven2/org/ensime/ensime_2.10/0.13.5/ensime_2.10-0.13.5.pom [warn] ==== sonatype-snapshots: tried [warn] https://oss.sonatype.org/content/repositories/snapshots/org/ensime/ensime_2.10/0.13.5/ensime_2.10-0.13.5.pom
·       [warn] ==== Typesafe repository: tried [warn] http://repo.typesafe.com/typesafe/releases/org/ensime/ensime_2.10/0.13.5/ensime_2.10-0.13.5.pom [warn] ==== Akka Repo: tried [warn] http://repo.akka.io/repository/org/ensime/ensime_2.10/0.13.5/ensime_2.10-0.13.5.pom
·       [info] Resolving org.scala-lang#scala-compiler;2.10.4 ...
·       [info] Resolving org.scala-lang#scala-reflect;2.10.4 ...
·       [info] Resolving org.scala-lang#jline;2.10.4 ...
·       [info] Resolving org.fusesource.jansi#jansi;1.4 ...
·       [warn] ::::::::::::::::::::::::::::::::::::::::::::::
·       [warn] :: UNRESOLVED DEPENDENCIES :: [warn] ::::::::::::::::::::::::::::::::::::::::::::::
·       [warn] :: org.ensime#ensime_2.10;0.13.5: not found [warn] ::::::::::::::::::::::::::::::::::::::::::::::
·       [warn] [warn] Note: Unresolved dependencies path:
·       [warn] org.ensime:ensime_2.10:0.13.5 (C:\Users\Felix.atom\packages\Ensime\ensime_update_\build.sbt#L17-18) [warn] +- default:ensime_update__2.10:0.1-SNAPSHOT
·       sbt.ResolveException: unresolved dependency: org.ensime#ensime_2.10;0.13.5: not found at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:291) at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:188) at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:165) at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:155) at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:155) at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:132) at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:57) at sbt.IvySbt$$anon$4.call(Ivy.scala:65) at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:98) at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:81)
·       at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:102) at xsbt.boot.Using$.withResource(Using.scala:11) at xsbt.boot.Using$.apply(Using.scala:10) at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:62) at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:52) at xsbt.boot.Locks$.apply0(Locks.scala:31) at xsbt.boot.Locks$.apply(Locks.scala:28) at sbt.IvySbt.withDefaultLogger(Ivy.scala:65) at sbt.IvySbt.withIvy(Ivy.scala:127) at sbt.IvySbt.withIvy(Ivy.scala:124) at sbt.IvySbt$Module.withModule(Ivy.scala:155) at sbt.IvyActions$.updateEither(IvyActions.scala:165) at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1369) at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1365) at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$87.apply(Defaults.scala:1399) at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$87.apply(Defaults.scala:1397) at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:37) at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1402) at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1396) at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:60) at sbt.Classpaths$.cachedUpdate(Defaults.scala:1419) at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1348) at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1310) at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40) at sbt.std.Transform$$anon$4.work(System.scala:63) at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226) at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226) at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17) at sbt.Execute.work(Execute.scala:235) at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226) at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226) at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159) at sbt.CompletionService$$anon$2.call(CompletionService.scala:28) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) [error] (*:update) sbt.ResolveException: unresolved dependency: org.ensime#ensime_2.10;0.13.5: not found
·       [error] Total time: 3 s, completed 12.06.2015 14:33:03
·       ensime startup exec error: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=2G; support was removed in 8.0
Von: Viktor Hedefalk<EMAIL_ADDRESS>Gesendet: Freitag, 12. Juni 2015 12:12
An: hedefalk/atom-ensime
Cc: SourceSink
Betreff: Re: [atom-ensime] Slash in windows path not ok? (#14)
I'm not sure what you mean - yes the .sbt file is regenerated, but that shouldn't be an issue if you follow my instructions in my previous comment…?
But I'll suggest one of the following:

Move the file ~/.atom/packages/Ensime/ensime_update_/build.sbt somewhere else and edit away. Then try to run "sbt saveClasspath clean" on it and when you have a working one, please report back and I'll try to make the plugin produce a similar one.

Directly edit the build.sbt template in ~/.atom/packages/Ensime/lib/ensime-startup.coffee. You can try your edits by hitting ctrl-alt-cmd-L (or similar) to reload the Atom instance you're testing with (this will reload the package). When you have something working for your system, either report back what the template should be or even better, issue a pull request :)
—
Reply to this email directly or view it on GitHub https://github.com/hedefalk/atom-ensime/issues/14#issuecomment-111437470 .  https://github.com/notifications/beacon/AFwtTbBCTuwo_s9xjfaCG1KJ3XR-iCcQks5oSqfbgaJpZM4E-rR2.gif

Ok, one more question:
how did the line
val out = file("""C:\Users\Felix.atom\packages\Ensime\classpath_2.10.4_0.13.5""")
look when it was generated and didn't work? Was there one double backslash in the end?

And again 0.13.5 is just wrong. That is an sbt version, there is no such Ensime version. I have no idea how this could get in there in any other way than that you have put it in atom package settings?

Ok, according to https://github.com/hedefalk/atom-ensime/issues/14#issuecomment-110882805 I think you have the exact problem with the auto-generated one since I made the change in 0.8.1 and your hand-written. So I will close this issue. The path separator is correct it seems. The issue you have now is that you have a sbt version number in place of a ensime server version.
Feel free to open another if you're sure you haven't written 0.13.5 yourself :)

Same error here, I didn't understand what should I do to solve it?
[info] Loading global plugins from C:\Users\Omid\.sbt\0.13\plugins
[info] Loading project definition from C:\Users\Omid\.atom\packages\Ensime\ensime_update_\project
[error] [C:\Users\Omid\.atom\packages\Ensime\ensime_update_\build.sbt]:32: invalid escape character
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?

@hedefalk this is the only line in the build.sbt that could be generated wrong:
val out = file("C:\Users\Omid\.atom\packages\Ensime\classpath_2.11.4_0.9.10-SNAPSHOT")

@omidb Weird! Do you know how a file path should look in Windows? If you could hand-modify the build.sbt so it works and report back I could fix it, but at the moment I don't understand what's wrong. To me that path looks like it should, but I'm totally Windows-illiterate. I now I changed everything to use and abstracted file.sep instead of "/" in my last push (there were stilla few of those left). 0.12 that is in apm.

Well the path is correct, the problem is that the slashes are interpreted as escape characters.
Therefore the fix is to edit the template and use triple quotes. This leads to all escape characters being ignored and should work under linux as well as windows.
@hedefalk can you change that in the template and push that as update?
Von: Viktor Hedefalk<EMAIL_ADDRESS>Gesendet: Freitag, 26. Juni 2015 08:50
An: ensime/ensime-atom
Cc: SourceSink
Betreff: Re: [ensime-atom] Slash in windows path not ok? (#14)
@omidb https://github.com/omidb  Weird! Do you know how a file path should look in Windows? If you could hand-modify the build.sbt so it works and report back I could fix it, but at the moment I don't understand what's wrong. To me that path looks like it should, but I'm totally Windows-illiterate. I now I changed everything to use and abstracted file.sep instead of "/" in my last push (there were stilla few of those left). 0.12 that is in apm.
—
Reply to this email directly or view it on GitHub https://github.com/ensime/ensime-atom/issues/14#issuecomment-115547612 .  https://github.com/notifications/beacon/AFwtTa9as4t7lyWtX_m9nEtpDomYSAQUks5oXO2ugaJpZM4E-rR2.gif

@SourceSink Ah, got it finally! I didn't read you message above properly! Guess I was confused since both CoffeeScript and Scala uses tripe quotes.


Show text messages ordered on date-time

Text messages are randomly shown, better to sort them on date-time and show them in order.

I think this can be closed, @Drjoachim  ?  As messages are just carrouselled around ?


Implement PaC pruning on Component deletion

Signed-off-by: Mykola Morhun<EMAIL_ADDRESS>This PR:

Adds functionality that submits a PR into Components repository when it gets deleted. The PR deletes Pipelines as Code definitions related to the Component. Also removes repository webhook if used. Works for both supported git providers: GitHub and GitLab.
Introduces a new finalizer pac.component.appstudio.openshift.io/finalizer in order to do Pipelines as Code clean up on Component deletion.
Splits Pipelines as Code and initial build logic into separate files

/retest

/retest

/retest

/test build-service-e2e

/test build-service-e2e

/test build-service-e2e

/test build-service-e2e

/test build-service-e2e

I can confirm that the CI failures in this PR are related to the issues with CI we were hitting for past couple of days. I've tried to run the build tests locally against cluster-bot cluster with stonesoup that uses this branch of build-service and didn't hit any issues.


demo index mentioned in readme doesn't exist

Description
On https://codesandbox.io/s/ms-is-mese9?fontsize=14&hidenavigation=1&theme=dark&file=/src/app.js:173-340 I see
  "https://ms-adf78ae33284-106.lon.meilisearch.io/",
    "a63da4928426f12639e19d62886f621130f3fa9ff3c7534c5d179f0f51c4f303",

and on the readme (same for the other flavours) I see
  "https://integration-demos.meilisearch.com",
  "q7QHwGiX841a509c8b05ef29e55f2d94c02c00635f729ccf097a734cbdf7961530f47c47"

Expected behavior
All documented examples to work
Current behavior
The "integration demos" don't work
Screenshots or Logs

Environment (please complete the following information):

OS: macOS
Browser: Safari Release 161 (Safari 16.4, WebKit 186<IP_ADDRESS>)
Meilisearch version: ?
instant-meilisearch version: 0.11.0
instantsearch.js version: all

Thanks a lot for pointing this out 🙏 fixed in #1006


update playbook link

for second incident response playbook link: https://www.incidentresponse.com/playbooks/

fixed, thanks!


fix: delete commentout

Closes #2770
Description

Current behavior (updates)

New behavior

Is this a breaking change (Yes/No):

Additional Information

This is a pull request from a forked repository, so the Vercel error is not a problem.

Thanks!


Add Apostle-Pablo's file

For  now, i'm already create branch, create file and create a pull request.

I'll do what i need


Group session not restarting after a timeout

My bot was in a group which had nothing posted for over 24 hours, I then sent a message to the group and the bot did not see it or even rejoin the group chat. It stayed in all other group sessions and they all had multiple messages posted during this time.

Corrade had an issue with this too and I recall even regular users having this issue. Maybe something SL related?

I've been using node-metaverse now for over a year as a discord-group chat relay, and I haven't encountered this issue.  I'm going to close it.


Allow search by address on Manage website access screen

Expect: Allow search by address on the Manage website access detail screen

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-198-891-merge-2023-07-13T02-54-53.ipa
Devices test: IP 11
Validation passed.


Unable to find bash

I cannot work on an env on CentOS Linux 7 (Core):
$ pip install --user pew
$ PATH=PATH:~/.local/bin
$ export PATH
$ pew new test
Using base prefix '/usr'
New python executable in /user/7/.base/lefoulov/home/.local/share/virtualenvs/test/bin/python3.5
Not overwriting existing python script /user/7/.base/lefoulov/home/.local/share/virtualenvs/test/bin/python (you must use /user/7/.base/lefoulov/home/.local/share/virtualenvs/test/bin/python3.5)
Installing setuptools, pip, wheel...done.
Launching subshell in virtual environment. Type 'exit' or 'Ctrl+D' to return.
Unable to find bash
$ pew ls
test
$ pew workon test
Launching subshell in virtual environment. Type 'exit' or 'Ctrl+D' to return.
Unable to find bash
$ bash
bash: bash: command not found...

Do you need bash to run pew on Linux?

No, but what is it that you want to accomplish?
pew will fork the $SHELL selected by the user, which means that it has to be able to resolve the executable name to its path
if bash is not inside PATH it won't be able to do that... if you have another shell (e.g. fish) inside ~/.local/bin, as long as SHELL is set to fish, it'll work
You probably meant
PATH=$PATH:~/.local/bin

instead of
PATH=PATH:~/.local/bin

Oh sorry, you're right. That's the same problem as #124, due to user installation.
Thanks.


algorithmic complexity

https://github.com/Vorago/open-ide/blob/3cbbf13dfbbe15f25ed551ddbda8ce316e59cd75/main.go#L118
Yeep this is the simple Intersection way but comparison of each element in 'a' to each in 'b' gives us O(n^2) complexity in the end. Put 'b' (at least) into a map O(n). to go through 'b' completely only once and not at each iteration again.

I was aware of that flaw, but went for it anyway in the prototype. Actual number of open windows in any given time is < 100 on my laptop.
Fixed it anyway. Thank you.


Add a custom 404 page for readthedocs

It's possible to add a custom 404 page for scores on readthedocs. This would be worth doing, as there are some search results to nonexistent bits of documentation, or if follows a bad or dead link for any reason. Adding the custom 404 would allow a redirect to latest or develop documentation, so that it's clear there is at least documentation there to be read.

Note as of November 2024, this still needs doing, anyone is welcome to pick this up.


Add support for is_child in addition to elastic.is_child SpanLink attribute

#185 added support for receiving inferred-span with our vendor-specific OpenTelemetry inferred-spans extension.
We recently contributed that extension upstream. In that process, we changed the SpanLink attribute for overriding parent-child relationships from elastic.is_child to just is_child. Therefor, apm-server needs to support both elastic.is_child and is_child.

@kruskall you'll need to merge, because I don't have the merge permission on this repo


Need to be able to control the left column in watch/variable window

If the variable name or operation is very long, the watch window needs to be widened to see the value.  E.g.  If too long, I get this:

In order to see the value, I have to widen the entire watch window like this:

Sorry I don't understand the request, please explain a little more


Dynamic dependencies

When building just the core lib, we don't need any of the dependencies.
I suggest something like:
dependencies = []

if get_option('sdl2').enabled()
    sources += 'examples/imgui_impl_sdl.cpp'
    dependencies += dependency('sdl2')
endif

The same should be done with the example include dir.
I. e.:
main_include_dir = include_directories('.')
example_include_dir = include_directories('example')

and make the inclusion dependent on the options. However this is more complicated and less important than the first point.

https://github.com/mesonbuild/imgui/blob/0f33384098394c515c6e83fe1e1e27d39e0c3b5d/meson.build#L58-L66
It should probably try to find each one using feature options, and if successfully found, add it to an array of dependencies, then append the relevant source file... rather than inlining it into the library() call.
sdl_dep = dependency('sdl2', required: get_option('sdl2'))
sdl_dep.found()

should short-circuit if -Dsdl2=disabled, but currently if it is auto, the dependency gets non-fatally looked for and the sources are not included.
That being said, it seems to me like it won't ever force you to have the dependency installed when the meson option isn't enabled...

Fixed in #8 but github did not close it correctly...

Fixed in #8 but github did not close it correctly...