PMID:33771877, some terms and extensions not displayed

A few of the terms, and most of the extension that we used in this session
https://www.pombase.org/reference/PMID:33771877
are not on the website
https://www.pombase.org/reference/PMID:33771877

OK, it is where we used the new  "assayed region" extension, so presumably some configuration is missing somewhere.....

Yep "assayed_region() not allowed for fission_yeast_phenotype".  Shall I add it?
From https://curation.pombase.org/dumps/builds/pombase-build-2021-05-02/logs/log.2021-05-02-21-44-17.curation-tool-data-load-output :
warning in d21245ab5467d47b: assayed_region() not allowed for fission_yeast_phenotype, annotation: d21245ab5467d47b-genotype-2 <-> protein displaced from 3' end to 5' end of RNA polymerase II-transcribed genes during mitotic metaphase
warning in d21245ab5467d47b: assayed_region() not allowed for fission_yeast_phenotype, annotation: d21245ab5467d47b-genotype-2 <-> protein displaced from 3' end to 5' end of RNA polymerase II-transcribed genes during mitotic metaphase
warning in d21245ab5467d47b: assayed_region() not allowed for fission_yeast_phenotype, annotation: d21245ab5467d47b-genotype-2 <-> protein displaced from 3' end to 5' end of RNA polymerase II-transcribed genes during mitotic metaphase
warning in d21245ab5467d47b: assayed_region() not allowed for fission_yeast_phenotype, annotation: d21245ab5467d47b-genotype-2 <-> protein displaced from 3' end to 5' end of RNA polymerase II-transcribed genes during mitotic metaphase
warning in d21245ab5467d47b: storing feature_cvterm from PomBase-genotype-2350 to increased protein localization to chromatin at 3' end of RNA polymerase III-transcribed genes during mitotic metaphase [assayed_using] SPCC306.03c - failed to store feature_cvterm: that annotation has already been stored in Chado with properties:  evidence: "Chromatin immunoprecipitation experiment"  from session: d21245ab5467d47b
warning in d21245ab5467d47b: assayed_region() not allowed for fission_yeast_phenotype, annotation: d21245ab5467d47b-genotype-3 <-> normal protein distribution along RNA polymerase II-transcribed genes during mitotic metaphase
warning in d21245ab5467d47b: assayed_region() not allowed for fission_yeast_phenotype, annotation: d21245ab5467d47b-genotype-2 <-> abnormal protein distribution along RNA polymerase II-transcribed genes
warning in d21245ab5467d47b: assayed_region() not allowed for fission_yeast_phenotype, annotation: d21245ab5467d47b-genotype-2 <-> abnormal protein distribution along RNA polymerase II-transcribed genes
warning in d21245ab5467d47b: assayed_region() not allowed for fission_yeast_phenotype, annotation: d21245ab5467d47b-genotype-2 <-> abnormal protein distribution along RNA polymerase II-transcribed genes
warning in d21245ab5467d47b: assayed_region() not allowed for fission_yeast_phenotype, annotation: d21245ab5467d47b-genotype-2 <-> abnormal protein distribution along RNA polymerase II-transcribed genes

Yep "assayed_region() not allowed for fission_yeast_phenotype". Shall I add it?

I went ahead and committed the config change.

great, thanks.

The load had a glitch so I restarted.  It's still running.  I'll check this when it's done.

Changing the configuration didn't fix things.  The error has changed though.  I'll investigate tomorrow.
warning in d21245ab5467d47b: can't find relation cvterm for: assayed_region in these CVs: relationship go/extensions/gorel fypo_extension_relations PSI-MOD_extension_relations external fission_yeast_phenotype
warning in d21245ab5467d47b: can't find relation cvterm for: assayed_region in these CVs: relationship go/extensions/gorel fypo_extension_relations PSI-MOD_extension_relations external fission_yeast_phenotype
warning in d21245ab5467d47b: can't find relation cvterm for: assayed_region in these CVs: relationship go/extensions/gorel fypo_extension_relations PSI-MOD_extension_relations external fission_yeast_phenotype
warning in d21245ab5467d47b: can't find relation cvterm for: assayed_region in these CVs: relationship go/extensions/gorel fypo_extension_relations PSI-MOD_extension_relations external fission_yeast_phenotype
warning in d21245ab5467d47b: storing feature_cvterm from PomBase-genotype-2350 to increased protein localization to chromatin at 3' end of RNA polymerase III-transcribed genes during mitotic metaphase [assayed_using] SPCC306.03c - failed to store feature_cvterm: that annotation has already been stored in Chado with properties:  evidence: "Chromatin immunoprecipitation experiment"  from session: d21245ab5467d47b
warning in d21245ab5467d47b: can't find relation cvterm for: assayed_region in these CVs: relationship go/extensions/gorel fypo_extension_relations PSI-MOD_extension_relations external fission_yeast_phenotype
warning in d21245ab5467d47b: can't find relation cvterm for: assayed_region in these CVs: relationship go/extensions/gorel fypo_extension_relations PSI-MOD_extension_relations external fission_yeast_phenotype
warning in d21245ab5467d47b: can't find relation cvterm for: assayed_region in these CVs: relationship go/extensions/gorel fypo_extension_relations PSI-MOD_extension_relations external fission_yeast_phenotype
warning in d21245ab5467d47b: can't find relation cvterm for: assayed_region in these CVs: relationship go/extensions/gorel fypo_extension_relations PSI-MOD_extension_relations external fission_yeast_phenotype
warning in d21245ab5467d47b: can't find relation cvterm for: assayed_region in these CVs: relationship go/extensions/gorel fypo_extension_relations PSI-MOD_extension_relations external fission_yeast_phenotype

I can't see assayed_region in the extension configuration.  Where does it come from?

The config just uses "assayed region" as display text for some assayed_using entries. Val, did you add some assayed_region by admin text edit?

Hmm, I did, but in that case, how will Canto know the difference when gene product has an assayed region and an assayed protein. They will both be assayed_using?
tfs1 | tfs1DN(aaD274A, E275A)[Overexpression] | FYPO:0007736 | protein displaced from 3' end to 5' end of RNA polymerase II-transcribed genes during mitotic metaphase |
assayed_using cut3 , assayed_region exg1 |
assayed_using cut3 , assayed_region ecm33 |
assayed_using cut3 , assayed_region gas1 |
assayed_using cut3 , assayed_region eng1

how will Canto know the difference when gene product has an assayed region and an assayed protein?

From the domain and range specifications in the config

but this gene has both protein (cut3), and region (exg1)? both would be assayed_using?

both would be assayed_using?

which is the relation, not the domain or range

but I cant do this simultaneously:
assayed protein cut3 , assayed gene or region exg1 |
they are mutually exclusive...once I use one, the other option isn't available.

Hmm. Kim will have to confirm, but I think that may be because Canto is mushing together three ID types that are distinct in the config - GeneID, TranscriptID, ProteinID. If so, adding an assayed_region relation should be an effective workaround.

Hmm. Kim will have to confirm, but I think that may be because Canto is mushing together three ID types that are distinct in the config - GeneID, TranscriptID, ProteinID.

Yep, they are just aliases for each other.  They are treated identically.

What do I need to do hare @mah11 ?

close if & when the changes in #65 work


Added script to update services

Added a cheeky script to update services
To be used when doing security updates.

"cheeky"... I just hope to goodness that anyone using this script will apply on staging first and diligently check the service listing pages for the results of each change before running against prod.

:+1:


Can this package support the one-gpu machine

Hi, dear guys of tutelage team.
I have run the script and do some small modifications.
python -u main_moe.py --cfg configs/swinmoe/swin_moe_small_patch4_window12_192_32expert_32gpu_22k.yaml --data-path /data/user1/junyan/datasets/ImageNet/ImageNet_Val --batch-size 128 --resume checkpoints/swin_moe_small_patch4_window12_192_32expert_32gpu_22k/swin_moe_small_patch4_window12_192_32expert_32gpu_22k.pth
However, I have received the error message:

File "main_moe.py", line 374, in
main(config)
File "main_moe.py", line 141, in main
max_accuracy = load_checkpoint(config, model_without_ddp, optimizer, lr_scheduler, loss_scaler, logger)
File "/data/user1/junyan/adv_training/Swin-Transformer/utils_moe.py", line 45, in load_checkpoint
msg = model.load_state_dict(checkpoint['model'], strict=False)
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1039, in load_state_dict
load(self)
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1037, in load
load(child, prefix + name + '.')
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1037, in load
load(child, prefix + name + '.')
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1037, in load
load(child, prefix + name + '.')
[Previous line repeated 3 more times]
File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1034, in load
state_dict, prefix, local_metadata, True, missing_keys, unexpected_keys, error_msgs)
File "/root/.local/lib/python3.6/site-packages/tutel/impls/moe_layer.py", line 54, in _load_from_state_dict
assert buff_name in state_dict, "Could not find parameter %s in state_dict." % buff_name
AssertionError: Could not find parameter layers.2.blocks.1.mlp._moe_layer.experts.batched_fc2_bias in state_dict.

I have only one gpu. I am not sure whether multiple gpus are essential for this task. Is there a possibility to run it on one gpu? Furthermore, how can I resolve this problem of error?
I am looking forward to your response.
Thanks a lot.
Best Regards!

Thanks for your kind comment.

One GPU per machine? Can you explain how many machines you'd like to run it?

Hi, dear guys, @ghostplant.
I have several different one-gpu machines. To save the computation resource, running the program in a one-gpu machine would be economical for me. Actually, I mainly study some specific properties of MOE. Therefor, if it is OK, as you mentioned, just want to run it using 1 GPU on 1 machine.

If you run it with a one-gpu machine, seems like you need to ensure this GPU memory size is enough to store all 32-expert parameters. The way to convert swin_moe_small_patch4_window12_192_32expert_32gpu_22k.pth to single-gpu can follow the utility here, where the second example is to merge 32 different checkpoint files into a single checkpoint file and it will be compatible for single gpu to load.

Hi, @ghostplant. Thanks for your guidance.  Can this package support run a single-gpu machine to test ImageNet? The user should implement this program manually, or is there a relevant demo?
Thanks & Regards!
Momo

What do you mean by ImageNet? SwinV2 using ImageNet? (If so, I suggest asking this question in Swin-Transformer repo)


[plugin:vite:css] Undefined variable

Halo Ahmed, i found some error when try to run your awesome template

i have been search on stackoverflow but it's not yet fix..
oh ya i'm newbie btw .

I saw that you closed the issue. Did you fix the problem?

ya it's fixed .
i try to create new variable for "primary-text-emphasis-dark" and it's work .
thanks for your attention.


Falsy terminal option registers invalid command on Windows

Describe the bug:
When on Windows with Node 14 LTS, calling the register function with the terminal option set to false or undefined results in an invalid command being registered – the problem is in the following line:
(terminal && 'cmd /k ') + command

which produces commands that start with "false" or "undefined". Replacing it with
(terminal ? 'cmd /k ' : '') + command

makes the command work.
To Reproduce:
Step through the usage example with a debugger, pass false for the terminal option:
ProtocolRegistry.register({
    protocol: 'testproto', // sets protocol for your command , testproto://**
    command: `node ${path.join(__dirname, './tester.js')} $_URL_`, // this will be executed with a extra argument %url from which it was initiated
    override: true, // Use this with caution as it will destroy all previous Registrations on this protocol
    terminal: false, // Use this to run your command inside a terminal
    script: false
}).then(async () => {
    console.log('Successfully registered');
});

Expected behavior:
Passing false for the terminal option should register a correct command.

Confirmed bug

Hi @rfricz it will be great if you can raise a pr against this.

Fixed with commit: c8e1f04055e6f7a481c1ac61eeee60b7211ec7b1
New npm version published

Thanks for fixing this so quickly!

Its my pleasure.
May be because its my first npm module


diff-lcs has changed its format in 1.4

The recent diff-lcs update changed some parts of the diff output, breaking our builds, these seem trivial enough to ignore (e.g. they don't seem wrong, just different).
Draft because I'm going to improve the formatting of this spec a bit whilst I'm here, and I'm going to setup CI to test both versions of diff-lcs.

Related I've asked the diff-lcs team to bump their major version if they make Ruby changes in halostatue/diff-lcs#62

Can you detail the changes that were breaking for you on this with examples as a bug against diff-lcs? As I mentioned in halostatue/diff-lcs#62, I am willing to consider some changes to how diff-lcs works when running under RSpec so that we keep compatibility as much as possible.

@halostatue This PR contains examples of the changed output, the line number headers have changed in some cases, and some unchanged lines have been removed, I'm totally fine with working around that in the two versions like this PR does :)


Documentation Issue

Using the following documentation section:
require 'cloudimage'

Shrine.plugin :cloudimage, Cloudimage::Client.new(
  token: 'token', salt: 'salt', sign_urls: false, signature_length: 10
)

results in the following error: ArgumentError: wrong number of arguments (given 2, expected 1)
By either using the first option or adding client: before the Cloudimage Client creation, appears to work as expected.
i.e.
require 'cloudimage'

Shrine.plugin :cloudimage, client: Cloudimage::Client.new(
  token: 'token', salt: 'salt', sign_urls: false, signature_length: 10
)

Thank you @mikecx yup, that's the correct usage, as you can see in the spec:
https://github.com/janklimo/shrine-cloudimage/blob/e351151bf29d9c5c68e1400c1c9c7679a5872ef9/spec/shrine/plugins/cloudimage_spec.rb#L28-L35
Fixed 👍


Two-Factor authentification

When I try to log to account that uses 2-factor authentication i get message:
fail: Update your app to log in with two-factor authentication. (needs_upgrade)
Cant seam to figure the way around it, any suggestions?

@ahmdrz why was this issue closed? there isn't any way to log in using 2FA right now.

@ahmdrz why was this issue closed? there isn't any way to log in using 2FA right now.


boost179: init at 1.79.0

Description of changes
Add latest boost version at 1.79.0
https://www.boost.org/users/history/version_1_79_0.html
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

lgtm!
I'm guessing as this is a new package it won't need to go into staging?
This will mean that boost17x and boost will be even more out of date (both are on 1.77 atm), I'm not sure what should be done about it though
tagging @vcunat as I'm out of my depth

If you want to reshuffle default boost versions, I'd suggest to:

base on some commit with few failures, probably from https://hydra.nixos.org/jobset/nixpkgs/trunk
file a (different) PR and ping me, I can create a jobset
people can watch comparison between the two and keep fixing regressions
merge when ready

I think it's too late for 22.05, but it certainly is possible to do all except the merge step already.
Actually the whole post would hold for almost any change with higher likelihood of breakage.

Hi @vcunat, @wheelsandmetal. Can we merge this now and do the boost17x change in a separate PR? This is a blocker for #172778, and I'd like to get it in before the 22.05 freeze.

Updating defaults should in no way block this PR, if that was unclear.  And package additions are eligible for backport to stable any time, too.

/cc maintainer @hjones2199  (automation isn't clever enough for this case, apparently)


[RFC] Step-based checkpointing in torchtune

Enabling step-based checkpointing in torchtune
Original context: #2070
What are we currently doing?
We currently only checkpoint at epoch boundaries. That means a fine-tuning run has to iterate through all data in a dataset before saving a checkpoint. That's a problem when GPUs (especially interconnected GPUs) can fail frequently, losses can diverge, and datasets keep getting larger and larger.
We provide a tiny amount of flexibility by allowing the user to specify max_steps_per_epoch, so they can short-circuit the epoch and save sooner. In addition, it's always possible to split a dataset into chunks and train over them independently, resuming from training to simulate a larger training run.
Both of these "hacks" are not ideal and we've had users continually asking if they can control checkpointing based on number of training steps. (#988, #1107)
What does step-based checkpointing look like for the user?
I think the best way to do this would to show an example. Let's take our Llama3 8B single device full fine-tuning recipe, which utilizes the Alpaca dataset. The Alpaca dataset has ~52k samples. Using a batch size of 2 and a gradient accumulation of 16 steps, we can estimate around 1625 steps in this training run. Let's save a checkpointing every 500 steps!
From the config, we can specify:
save_every_n_train_steps: 500

And in our output directory, we can expect to see something like this:
output_dir/
	step_500/
		llama3_8b_single_device.yaml
		config.json
		model-0000-of-0003.safetensors
		...
	step_1000/
		...
	step_1500/
		...
	step_1625/
		...

You'll see that at the end of the training loop, a final checkpoint is saved regardless of how many steps have passed since the last checkpoint was saved.

At this point you might be saying: @joecummings, do you think memory grows on trees? Do you think we all drive Bugattis and smash up Grace Hopper machines for fun? Each Llama3 8B model is roughly 16 GB of memory and we've saved 4 copies of that in addition to the base model we used. That's 80 GB just for checkpoints! Not even to mention if we wanted to save the optimizer states, too...
Introducing:
keep_last_n_checkpoints: 1

This param will prune all the checkpoints except for the last N specified, leaving you with just the checkpoints you're interested in:
output_dir/
	step_1625/
		llama3_8b_single_device.yaml
		config.json
		model-0000-of-0003.safetensors
		...

What about the concept of epochs?
The concept of epochs will stay as a way to control how long training runs, as will the possibility to shorten training using max_steps_per_epoch; however, checkpointing will be entirely handled by a specification of steps.
Will this slow down training?
Great question! Checkpointing can take a long time, especially if saving the optimizer state for resuming training at a later date. For single device recipes, this likely isn't a huge issue, but for distributed recipes where the state dict needs to be collected on rank zero before saving, this can be verrrrrrry slow so anything that increases the frequency of checkpointing will increase the time it takes for training to complete. There are two ways to mitigate this:

Specify a longer period so you save checkpoints less frequently
Look into using DCP checkpointer for any intermediate checkpoints, which drastically reduces the time it takes to save. See #2006 for more information on this.

What changes need to be made in code?
In the recipe:
num_steps = 0
for curr_epoch in range(self.epochs_run, self.total_epochs):
	steps_run_since_last_saved_ckpt = 0
	for idx, batch in enumerate(self._dataloader):
		# Model forward
		...
		if doing_bwd_pass:
			steps_run_since_last_saved_ckpt += 1
			num_steps += 1

		if steps_run_since_last_saved_ckpt == save_ckpt_every_n_steps:
			self.save_checkpoint(ckpt, step=num_steps)
			steps_run_since_last_saved_ckpt = 0

# One final save
self.save_checkpoint(ckpt, step=num_steps)

And in the checkpointer:
def save_checkpoint(ckpt, step):
	# Prune old checkpoints if needed
	checkpoints_already_saved = get_all_prev_checkpoint_paths(self.output_dir)
	if len(checkpoints_already_saved) >= self.keep_last_n_checkpoints:
		prune_old_checkpoints(checkpoints_already_saved)

	# Create new folder for path
	new_ckpt_path = output_dir / step_{step}
	new_ckpt_path.mkdir(exist_ok=False)
	# Save new checkpoint
	torch.save(ckpt, new_ckpt_path / "model.bin")

Inspiration from relevant repositories:

TorchTitan
TorchTNT

It makes sense to me.
I am not 100% sure how i feel about keeping epochs AND steps, since defaulting to one might simplify things. Internally, we only have the concept of steps, and it is up to the user to use bsz + len(dataset) to calculate how many steps == 1 epoch (which is a bit annoying).
Can we have a config showing the args for streaming dataset and checkpointing? If it looks simple, i like keeping both
regarding keep_last_n_checkpoints=1, my only question is if there's a safer alternative than deleting files. Probably not...

Yay step-based checkpointing! Some thoughts:

I second Felipe's comment about dropping support for epoch-based checkpointing. Our code will be cleaner and simpler if our whole ecosystem of checkpointing/validating/logging/etc is only step-based. The users who prefer epochs can easily calculate the number of steps in an epoch.

Regarding keeping the last n checkpoints, should we also allow keeping the best checkpoint (once we add support for validation)? When I run training jobs for large models, I don't want to save too many checkpoint and run out of disk space, but I also don't want to have training collapse overnight and find out that all the good checkpoints have been already deleted. Since we don't have validation/evaluation during training yet, we could choose the best based on the training loss for now.

There's this annoying trade-off when choosing the steps intervals for checkpointing/validating/etc. Large intervals are nice because then you don't slow training down too much. But small intervals are nice because you get quick feedback that everything is working correctly and the extra data points are important early on when things are changing pretty quickly. Personally, I use a logarithmic step-based checkpointing/validating/etc. schedule, where the interval is small during early training and gets longer as training goes on. I'm not sure if other people like this too, but it's trivial to implement and supporting it wouldn't complicate our code very much.

I am not 100% sure how i feel about keeping epochs AND steps, since defaulting to one might simplify things. Internally, we only have the concept of steps, and it is up to the user to use bsz + len(dataset) to calculate how many steps == 1 epoch (which is a bit annoying).

I totally get this. I might; however, be annoying and punt this to a different discussion b/c right now I am keeping epochs as a method to determine how long to train the model, whereas steps only determine when to checkpoint. I'd rather give more time to properly educate users if we do end up taking away epochs entirely.

regarding keep_last_n_checkpoints=1, my only question is if there's a safer alternative than deleting files. Probably not...

Yeah, this makes me a little uncomfortable, too, but it does seem to be the standard in other training code like Titan and TNT.

@calvinpelletier

Regarding keeping the last n checkpoints, should we also allow keeping the best checkpoint (once we add support for validation)? When I run training jobs for large models, I don't want to save too many checkpoint and run out of disk space, but I also don't want to have training collapse overnight and find out that all the good checkpoints have been already deleted. Since we don't have validation/evaluation during training yet, we could choose the best based on the training loss for now.

Yes, I think this is a natural extension to this work. If you look at the TNT code, they actual have some scaffolding to do this. I'd be happy to add that as a follow-up or even have this be community contributed.

There's this annoying trade-off when choosing the steps intervals for checkpointing/validating/etc. Large intervals are nice because then you don't slow training down too much. But small intervals are nice because you get quick feedback that everything is working correctly and the extra data points are important early on when things are changing pretty quickly. Personally, I use a logarithmic step-based checkpointing/validating/etc. schedule, where the interval is small during early training and gets longer as training goes on. I'm not sure if other people like this too, but it's trivial to implement and supporting it wouldn't complicate our code very much.

This makes a ton of sense and how I would want to incorporate this information now is to make sure it's easy to extend to such a use case when the time comes.


liblink: encode stlr stlrw correctly

gdb is now happy
(gdb) disassemble 'runtime.atomicstore'
Dump of assembler code for function runtime.atomicstore:
   0x0000000000124730 <+0>:     ldr     x0, [sp,#8]
   0x0000000000124734 <+4>:     ldrsw   x1, [sp,#16]
   0x0000000000124738 <+8>:     stlr    w0, [x1]
   0x000000000012473c <+12>:    ret
End of assembler dump.
(gdb) disassemble 'runtime.atomicstore64'
Dump of assembler code for function runtime.atomicstore64:
   0x0000000000124740 <+0>:     ldr     x0, [sp,#8]
   0x0000000000124744 <+4>:     ldr     x1, [sp,#16]
   0x0000000000124748 <+8>:     stlr    x0, [x1]
   0x000000000012474c <+12>:    ret
End of assembler dump.

Requires #81, #83

Merged (except the STLR stuff which was done differently)


Update remote-education-practices-during-coronavirus.slim

New content from the Master document.
More updates to follow.

Malformed indentation, have corrected it.

All done, for now....
Had so many PR failed messages I just ignored them all.
Any ways, this is ready to merge now. Thanks


Home

No gradient at the top
The account color is white and the color in the background is not white

duplicate


Remove link to ohanapi.org

Why: The domain name registration expired and someone else bought it.

Coverage remained the same at 83.463% when pulling 825c11238884b475e3b1f4d79231528ae72d0fc3 on remove-ohanapi-org-link into 8e40bd0a5700569efb117f3ce74fdfdca9ff713e on master.


Add IsHealthy to MetricMetadataAPI for health checking

Although the server won't boot up without being able to talk to Cassandra, if if goes away it'd be nice to be able to check the status of the underlying connections in the MetricMetadataAPI.
R: @Nathan-Fenner || @syamp

It seems like a good idea.
Would it be better to return an error so that whoever checks it can (at least hopefully) get some indication of what went wrong?

Yeah, originally I was thinking that there wouldn't be a case where the health check would succeed but other requests fail. However, if we add other backends for the metadata API they could have varying failure cases.
What do you think about the name CheckHealth and have it return an error?

I think that makes sense. CheckHealth() error seems like a good interface for it, and the name seems good.

It actually would make sense to do the same thing for the TimeseriesStorageAPI.

Good idea, I'll add it there as well - for Blueflood the only way to check is with a  GET /v2.0 so that'll have to do.


Which db is best with Superset 0.24 and later (0.25+)?

Make sure these boxes are checked before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if any
[x] I have reproduced the issue with at least the latest released version of superset
[x] I have checked the issue tracker for the same issue and I haven't found one similar

Superset version
0.25
Expected results
Real-time situations with Superset and back-end db
Actual results
Have been testing MySQL and PostgreSQL
Steps to reproduce
//
Hey guys, can anyone point out which of the db solutions MySQL / PostgreSQL is best for Superset for versions > 0.24?
I have tested with both, and can not decide which is best taking into account speed and long run.
Thank you.

They're both fine, as should be most other SQL Alchemy databases.

Regarding speed in showing data in Superset, which one do you prefer?

I wouldn't expect a significant difference between those two. But if you want my personal opinion, I would personally use Postgres if offered those two options.


precision reporting issue

When using mixed precision, the output said
    precision : not set

Check the print line, to make sure it is working properly.

this was just misleading.  I now says "platform default".


support WKWebView.loadFileURL

I want to present a webpage I generate in Dart, which links to various files that are present in the app's document and temporary files directories.
This works on Android, but doesn't work on iOS without various workarounds (e.g. running the InAppWebServer or copying all the files into the OS temp directory).
However, it would work, if there were a way to load the page using loadFileURL and specify the allowingReadAccessTo setting.
Various information about this:
Apple developer docs: https://developer.apple.com/documentation/webkit/wkwebview/1414973-loadfileurl
Brief example of use (see item 3): https://www.hackingwithswift.com/articles/112/the-ultimate-guide-to-wkwebview
Stack Overflow thread with workarounds and example code: https://stackoverflow.com/questions/39336235/wkwebview-does-load-resources-from-local-document-folder
Another SO thread with workarounds and example code: https://stackoverflow.com/questions/24882834/wkwebview-not-loading-local-files-under-ios-8/28676439#28676439
For flutter_inappwebview, I wonder if it might be configured as an iOS specific config, to provide the allowingReadAccessTo path in IOSInAppWebViewOptions, and if that is present when the initialUrl uses the file:// scheme, then InAppBrowserWebViewController uses loadFileURL(url, allowingReadAccessTo: ...).

Yeah sure! Thanks! 👍  I was reading about this method to expose it but I didn't understand what it would be used for.
So, I will add the allowingReadAccessTo option to IOSInAppWebViewOptions for the initialUrl option.
Also, I will add a new iOS-specific argument called iosAllowingReadAccessTo to the InAppWebViewController.loadUrl() method, so you can call it wherever you want using the controller and not just for the initialUrl.
This way, if you use loadUrl() method with an URL that uses the file:// scheme and set also the iosAllowingReadAccessTo argument, it will call the native WKWebView.loadFileURL method.

@SteveAlexander I tried (on iOS 14.4) some examples but I cannot find a test that without WKWebView.loadFileURL is not working.
If I use simply WKWebView.load(), it just works every time. It can load resources using file:// scheme.
Could you give me a reproducible example (Dart code) that is not working for you on iOS? Thanks!

No problem! I found my test case!

Great, glad you got it sorted. I’ve found it’s only need on a physical device. On simulators, WebKit can access the file system more freely.


Toggle References View Position

I am using the Search Results and the Find All References quite a lot.
Both are very useful in an editor while programing.
Yet I would like to have both in the same spot. It doesn't make sense for me to look at search results in 2 different places.
As the search results lines can be quite long, I prefer these results in the bottom panel next to OUTPUT and TERMINAL.
This is already possible for the Search Results using : "Toggle Search View Position",
yet the option "Toggle References View Position" does not exists.
So I'm currently forced to see the my search results in the side bar.

/duplicate of #80867


critical: cannot make waifu

It shows this error on third step of minting:
Error: [WAIFU::DO] Unable to CAMPAIGN for reasons Error: D1_ERROR: ERROR 9015: SQL engine error: query error: Error code 2067: A UNIQUE constraint failed (UNIQUE constraint failed: mints_berlin_waifu.address)

Hello, this is not the right repository to post this;
Please open the issue in nft-gallery

https://github.com/kodadot/nft-gallery/issues/new/choose
Thanks


Closes 1842 remove colon@devel

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests, which should consider realistic data scenarios and edge cases, e.g. empty datasets, errors, boundary cases etc. - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples, including keywords and families. Refer to the categorization of functions to tag appropriate keyword/family.
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue in the Development Section on the right hand side.
[x] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

@zdz2101
I just changed the name of the branch to remove # and that apparently deleted the previous pull request.
I updated the NEWS.md file.

adding https://github.com/pharmaverse/admiral/pull/1922 for reference to previous conversation on this issue


tuple-like key_value_pair (for structured bindings)

At the moment key_value_pair cannot be used for structured bindings without user boilerplate.
Since it does model a pair anyway and offers an interface similar to std::pair, it would be nice for it to also specialize std::tuple_size, std::tuple_element and a form of get when using C++17 or above
This would make the following code well-formed in C++17 or above:
object o{{"one", 1}, {"two", 2}};
const auto it = o.find("one");
if (it == o.end())
  handle_error();
const auto& [key, value] = *it;

Note that replacing object with std::map<std::string, int> would produce well-formed C++17 code (see https://godbolt.org/z/fVZUkC)
If this is something the authors would like too see too, I'd happily make a PR for it

This needs:

To be conditionally enabled when C++17 or later
To have tests, also conditionally enabled

@AeroStun up to you if you want to try it as a pull request, but if not then @sdkrystian will do it.

I'll give it a try right now; might come back with questions if I fail to find an answer by reading the current code

We don't need this conditionally enabled.

Ah is C++11. Hmm... including  from value.hpp is heavyweight. Maybe this should go in a different header so that someone can avoid getting those headers if they don't need it.

Well, given <array> and <utility> contain specializations of std::tuple_element and std::tuple_size, isn't it fair to assume that we can rely on those being included instead? (they are already included in value.hpp)

If true, that's a good point! I don't recall why I include <array> though, doesn't sound needed.

Self-correction: you don't include <array>, only <utility>

Yes you can specialize it after including <utility> good idea!

I have an implementation done  -- not sure if we want to document all this boilerplate.

We don't need to include std symbols in the reference, but we should include json::get in the reference, and in the exposition we should point out that structured bindings will work. Perhaps in a sub-section with the heading "C++17 and later."

I have https://github.com/AeroStun/json/commit/5f4d3fca4e4fa5112bdcbf928a5b3c15872aa751 running some CIs

@sdkrystian when a user offers to submit a contribution, let them :)

@AeroStun I left comments: https://github.com/AeroStun/json/commit/5f4d3fca4e4fa5112bdcbf928a5b3c15872aa751

@vinniefalco Addressed comments: https://github.com/AeroStun/json/commit/333e3bb5b885e5ca97d3c8fe49155f191a1eca6d

I'm pretty much ready to squash and PR except clang-3.8 on Travis fails, likely due to a compiler bug
https://travis-ci.com/github/AeroStun/json/jobs/348807479#L1276
Googling around seems to suggest that this is related to https://bugs.llvm.org/show_bug.cgi?id=17537#c4
How do you want to handle old compilers having nasty bugs?

Well it depends. Does Boost.JSON support clang-3.8?

Unfortunately it does (according to the docs)

Tested with these compilers: msvc-14.1+, gcc 4.8.4+, clang 3.6+.

We have to figure out a work-around.

Please submit the branch as a pull request

I found a workaround in the meantime
Going to squash and PR

Addressed by #112


Update dependencies, removal of deprecated funcs

Updated dependencies
Removed unused variable
Replaced ioutil.ReadAll with io.ReadAll, which is deprecated since go 1.16

Ping @awnumar

Seems like cirrus ci no longer supports OSX, and is running out of memory for the Linux tests.

@awnumar Any chance of getting this merged?

@awnumar Done :-) thanks!

The ones I updated are already outdated 😂


x/website:

It is regarding the instruction about how to install go in linux
here are the steps you mention :

tar -C /usr/local -xzf go1.14.6.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin    // yah it is fine but

*** sudo ln -s /usr/local/go/bin/go /bin/go ****
// just symlink the file into bin then we can access go without using the second command every time and it will be easy for other new users to who don't know about this commands.

we can access go without using the second command every time

You add /usr/local/go/bin to PATH in the bash_profile file once, and then you'll always be able to just call go; you don't need to manually export the modified PATH every time you open a terminal. It actually says so:

you can do this by adding this line to your /etc/profile (for a system-wide installation) or $HOME/.profile:

Closing here, since it seems to me you have misunderstood the instructions.


Lanes table

A formatted table with options and descriptions of the available lanes to run when no lane is provided.

@hemal you will also most probably need to squash all those commits into one :)

From my point of view, the only change I am unsure of now is the use of exit. It kind of change the API of the choose_lane method

Also should we change the choose_lane (or its caller) to ensure it doesn't ask for user input in Help.ci? mode

@lacostej Good thought. UI.input will throw an exception if invoked in a CI context, so I think we'll know quickly if that happens. :+1:

LGTM @hemal

Tackling https://github.com/fastlane/fastlane/issues/1370 FR


add: Test for empty env vars

See internal ticket APPX-85

@davidgubler I've explained in more detail in the internal ticket.
Tl;dr - With the above commit I have added a guard to the prechecks the displays an error and quits if there are nil values in the environment variables, to keep the program from panicking due to user input.

@martini-source Thanks for the feedback! The current pull request does the following:

Add a warning for environment variables that are null
Handles environment variables that are null gracefully (treats them as empty string)
Fixes some consistency issues in the pre-check errors/warnings
Adds a test for various variants of empty environment variables using the list syntax in the compose file
Same for the map syntax

WDYT?

@martini-source  Thanks for the review!


idris2: init at version 0.2.0-840e020

A purely functional programming language with first class types

Motivation for this change
Add a new derivation for Idris2, the successor of Idris.
This is my first new derivation. It does not have the fancy infrastructure that idris or haskell have, and it does not add any of the tooling that should be there. But I figured it's better than nothing.
I'm more than happy to edit this to support best practices, if anyone has suggestions.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[X] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Since idris2 does not yet have the ecosystem of idris1 (package manager etc), its too early to provide the same infrastructure yet.

There's also the option to bootstrap via Idris 1 with Idris2-boot rather than using the pre-generated compiler output in the repository. Not worth blocking the package for, but maybe a note could be added for future work?

There's also the option to bootstrap via Idris 1 with Idris2-boot rather than using the pre-generated compiler output in the repository. Not worth blocking the package for, but maybe a note could be added for future work?

As far as I understand, the current build uses a precompiled scheme of idris2-boot. I thought about compiling idris2-boot as you suggested, but that would involve building -> idris -> idris2-boot -> idris2 which seems less optimal than precompiled scheme -> idris-boot -> idris2 since it has more dependencies and will also take significantly longer, I'd assume.
I'm open to be convinced that we should indeed go the idris2-boot route, instead; if there's good reasons not to use the current scheme way.

Keeping in line with the general preference to build from source over using binaries, it's nicest to bootstrap from a source form where possible rather than having to rely on third-party compiler output. Reasons include mitigating Reflections on Trusting Trust attacks, and generally ensuring as pure, hermetic, and reproducible a build environment for nixpkgs as possible rather than bringing in the "unaccounted-for externality" of the output of someone else's compiler run.
However, it's true that in this case that involves bootstrapping through Haskell and the previous version of the language, which would be slow and involve a lot of build-time dependencies. The best thing in the long run is probably to offer an option to turn off the full bootstrap; Hydra can leave it on and share the result via the binary caches, but people doing development on the compiler who want faster builds could switch it off.
Again, though, it might be some fuss to get this wired up fully so I don't mean to imply I think this should all be done in this PR ^^ Just a future direction to consider.

Hi @wchresta, v0.2.0 has been released, you might want to change this PR.
Also, this PR supersedes #76971 which should be closed.

Keeping in line with the general preference to build from source over using binaries, it's nicest to bootstrap from a source form where possible rather than having to rely on third-party compiler output. Reasons include mitigating Reflections on Trusting Trust attacks, and generally ensuring as pure, hermetic, and reproducible a build environment for nixpkgs as possible rather than bringing in the "unaccounted-for externality" of the output of someone else's compiler run.
However, it's true that in this case that involves bootstrapping through Haskell and the previous version of the language, which would be slow and involve a lot of build-time dependencies. The best thing in the long run is probably to offer an option to turn off the full bootstrap; Hydra can leave it on and share the result via the binary caches, but people doing development on the compiler who want faster builds could switch it off.
Again, though, it might be some fuss to get this wired up fully so I don't mean to imply I think this should all be done in this PR ^^ Just a future direction to consider.

Afaik our ghc is build from pre-compiled binaries while chez is built with only a C compiler, which means that we rely on less boot binaries using the scheme version for now.

Result of nixpkgs-review pr 88645 1

1 package built:
- idris2


Yolov5 model conversion error, ValueError: axes don't match array

1. OS you are using e.g. Ubuntu 20.04, WIndows10, etc
macOS BigSur 11.4
2. OS Architecture e.g. x86_64, armv7l, aarch64, etc
x86_64
3. Version of OpenVINO e.g. 2021.2.185, etc
openvino                 2021.3.0
openvino-dev             2021.3.0
4. Version of TensorFlow e.g. v2.4.1, tf-nightly==2.5.0.dev20210128, etc
tensorflow-cpu           2.3.1
8. Version of ONNX e.g. v1.8.0, etc
onnx                     1.9.0
11. URL of the repository from which the transformed model was taken
https://github.com/ultralytics/yolov5
13. Issue Details
Hi! Thanks for this great tool, it's really handy for people playing with multiple frameworks like me! Here's a problem I ran into today and unfortunately I could not figure it by myself :( . I'll really appreciate it if you can help me on this a little.
I first converted an onnx model from YOLOv5 pre-trained checkpoint, then converted it to OpenVINO IR, when I run openvino2tensorflow, bellow error happened:
$ openvino2tensorflow \
  --model_path tmp/yolov5s.xml \
  --model_output_path ./tmp \
  --output_pb
TensorFlow/Keras model building process starts ======================================
Traceback (most recent call last):
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1812, in _create_c_op
    c_op = pywrap_tf_session.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimensions must be equal, but are 3 and 76 for '{{node Add_56}} = Add[T=DT_FLOAT](Add_55, Add_56/y)' with input shapes: [1,76,3,2,120], [1,1,76,120,2].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/alan/.conda/envs/DL/bin/openvino2tensorflow", line 500, in convert
    tf_layers_dict[layer_id] = tf.math.add(tf_layers_dict[edge_id0], tf_layers_dict[edge_id1])
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/ops/gen_math_ops.py", line 357, in add
    "Add", x=x, y=y, name=name)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py", line 744, in _apply_op_helper
    attrs=attr_protos, op_def=op_def)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/func_graph.py", line 593, in _create_op_internal
    compute_device)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 3485, in _create_op_internal
    op_def=op_def)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1975, in __init__
    control_input_ops, op_def)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1815, in _create_c_op
    raise ValueError(str(e))
ValueError: Dimensions must be equal, but are 3 and 76 for '{{node Add_56}} = Add[T=DT_FLOAT](Add_55, Add_56/y)' with input shapes: [1,76,3,2,120], [1,1,76,120,2].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1812, in _create_c_op
    c_op = pywrap_tf_session.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimensions must be equal, but are 3 and 76 for '{{node Add_57}} = Add[T=DT_FLOAT](Add_55, Add_57/y)' with input shapes: [1,76,3,2,120], [1,1,76,120,2].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/alan/.conda/envs/DL/bin/openvino2tensorflow", line 506, in convert
    tf_layers_dict[layer_id] = tf.math.add(tf_layers_dict[edge_id0], tf_layers_dict[edge_id1])
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/ops/gen_math_ops.py", line 357, in add
    "Add", x=x, y=y, name=name)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py", line 744, in _apply_op_helper
    attrs=attr_protos, op_def=op_def)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/func_graph.py", line 593, in _create_op_internal
    compute_device)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 3485, in _create_op_internal
    op_def=op_def)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1975, in __init__
    control_input_ops, op_def)
  File "/Users/alan/.conda/envs/DL/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1815, in _create_c_op
    raise ValueError(str(e))
ValueError: Dimensions must be equal, but are 3 and 76 for '{{node Add_57}} = Add[T=DT_FLOAT](Add_55, Add_57/y)' with input shapes: [1,76,3,2,120], [1,1,76,120,2].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/alan/.conda/envs/DL/bin/openvino2tensorflow", line 2898, in <module>
    main()
  File "/Users/alan/.conda/envs/DL/bin/openvino2tensorflow", line 2894, in main
    yolact, restricted_resize_image_mode, weight_replacement_config, debug, debug_layer_number)
  File "/Users/alan/.conda/envs/DL/bin/openvino2tensorflow", line 508, in convert
    tf_layers_dict[layer_id] = tf.math.add(tf_layers_dict[edge_id0], tf_layers_dict[edge_id1].transpose(0,2,3,1))
ValueError: axes don't match array

I have no idea why Add_56 takes such inputs in the error message, as the .xml looks like this:
<layer id="59" name="Add_56" type="Add" version="opset1">
	<data auto_broadcast="numpy"/>
	<input>
		<port id="0">
			<dim>1</dim>
			<dim>32</dim>
			<dim>152</dim>
			<dim>240</dim>
		</port>
		<port id="1">
			<dim>1</dim>
			<dim>32</dim>
			<dim>152</dim>
			<dim>240</dim>
		</port>
	</input>
	<output>
		<port id="2" names="183" precision="FP32">
			<dim>1</dim>
			<dim>32</dim>
			<dim>152</dim>
			<dim>240</dim>
		</port>
	</output>
</layer>

Mentioned model files can be found here: https://static.imalan.cn/share/yolov5s.zip, thanks for your help in advance!

I met the same problem, and fix the problem.
The problem is conversion rule of  5-dim Transpose layer. The input and output shape of transpose layer is like:
input (1, 80, 80, 3, 85)
output (1, 80, 3, 85, 80)

And VariadicSplit layer conversion also have the problem. The split axis is wrong. In yolov5s, valiadic split is like:
input (1, 80, 80, 3, 85)
output (1, 80, 80, 3, 81), (1, 80, 80, 3, 2), (1, 80, 80, 3, 2)

so the split axis is 4. But openvino2tensorflow determines wrong axis.
I modified the code as a hotfix, and yolov5s model can be converted successfully.  (I also confirmed that the inference result is correct.)
https://github.com/lp6m/openvino2tensorflow/commit/558c0ae510ce2a9732b816c643fd29c574d418c3
My hotfix isn't generic, so it's inappropriate for other models.

You can modify the fixed parameters of a layer externally without having to modify the program.
https://github.com/PINTO0309/openvino2tensorflow#6-7-replace-weights-or-constant-values-in-const-op

Thanks for the instruction! Although I've wrote my own conversion script dedicated for YoloV5, I will still give your way it a try!

Is there any generic way in order to make the conversion?


Redstone Transmitter - clear / change the channel - rftools-1.10-5.11

Hi McJty,
This may be related to issue #622
I have managed to accidentally get two transmitters on the same channel. Is there a way to reset the transmitter such that a new channel will be created when it's placed?
I've tried breaking and replacing, putting into a crafting window, left & right clicking in air and shift L&R clicking in air.
Changing the transmitter channel by right-clicking another transmitter works normally. The problem is in reusing the device with a new channel.
Thanks!
Cosmetic issue you probably already know about: WAILA shows channel 0 but the console is reporting the channel number correctly.

Hmm, strange about WAILA. Did you to see if TOP (The One Probe) is correct?
Aslo there might not be a way to reset the channel. I'll check it out

Putting a redstone transmitter in the crafting table clears the channel so you can use that. Please reopen if this is not working for you but it did for me

I swear that didn't work when I tried it. It did this time. Thanks!

Hey, I found out why I was confused. Putting the transmitter in a crafting grid will reset it, but this doesn't work with other devices like sequencers, receivers, etc.
Not a major issue but while they retain settings, they won't stack in the inventory. As time and enthusiasm allow, you may care to add that functionality to all your blocks.

There is no way to reset a Redstone Receiver on 1.12 with the latest version.

I can confirm that I'm stuck with a redstone receiver set on channel 2 by accident, had to craft and place a new one just so I could have separated channels to control 2 mob spawners.

@mcdodge34 You didn't have to do that. Channels aren't permanent, so you could have reassigned one of the receivers' channels that you already set, just by setting it again the same way on a different transmitter.

Not using transmitter, but screen button to control a mob spawner wirelessly from a screen...

Good point. There's indeed currently no way to give a button a new channel without also simultaneously giving a formerly-blank receiver the same channel.

Maybe something for a new version then...

Indeed. I'll try to rework how channels get assigned sometime this week.

Okay, here's how I'm going to make this work:

Transmitters will no longer automatically get a channel when placed.
Crafting a transmitter, receiver, or button by itself will unset its channel.
Right-clicking a transmitter or receiver that has a channel with a transmitter, receiver, or button (whether or not it has a channel) will set the channel of what you're holding to match what you clicked on.
Sneak-right-clicking a transmitter or receiver (whether or not it has a channel) with a button that has a channel will set the channel of what you clicked on to match the button you're holding.
Right-clicking a transmitter or receiver that doesn't have a channel with a transmitter, receiver, or button (whether or not it has a channel) will create a new channel and set it on both what you clicked on and what you're holding.

Great, that will make such a difference, now if we could get redstone conduits like in enderio that can be totally hidden, but we can always dream of that I guess...


don’t manage ojdbc

This PR changes the code to no longer expose as managed ojdbc version. Instead consume it from SQL
This PR reverts https://github.com/micronaut-projects/micronaut-oracle-cloud/pull/804 That PR was a mistake.
This PR changes the code to no longer expose the com.oracle.database.jdbc:ojdbc-bom
We were already importing SQL. Thus, we should consume ojdbc from SQL instead of exposing it in oracle cloud and consuming in SQL since that will create a circular dependency.

Please note, we never shipped a version of Micronaut Oracle cloud 3.6.0, the version which contains #804 in the platform BOM.


Layout and animation is broken

New Issue Checklist

[X] I have looked at the Documentation
[X] I have read the F.A.Q.
[X] I have filled out this issue template.

Issue Info

Info
Value

Platform
ios

Platform Version
10.0

SnapKit Version
3.0.1

Integration Method
cocoapods

Issue Description

SnapKit version
Broken

0.22.0
false

3.0.1
true

self(UIView) not respect to bottom side of subtitleLabel.
Insets not work at all
Animation is broken!

view
frame

titleLabel
(15.0, 45.0, 345.0, 86.5)

subtitleLabel
(15.0, 65.0, 345.0, 18.0)

self
(-187.5, -49.0, 375.0, 98.0)

subtitleLabel.x must be    146.5 (20.0 + 5.0 + 20.0 + 86.5 + 15.0)
self.height        must be    179.5 (146.5 + 18.0 + 15.0)
self.x                must be   -179.5
self.y                must be   -20
    func initialize() {
        self.snp.makeConstraints { (make) in
            let superview = self.superview!
            make.top.equalTo(superview.snp.top)
            make.left.equalTo(superview.snp.left)
            make.right.equalTo(superview.snp.right)
        }

        // Title Label
        let _titleLabel = UILabel(frame: CGRect.zero)
        _titleLabel.numberOfLines = 0
        _titleLabel.textColor = UIColor.white
        _titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.headline)
        self.addSubview(_titleLabel)
        _titleLabel.snp.makeConstraints { (make) in
            let superview = _titleLabel.superview!
            make.top.equalTo(superview.snp.top).inset(statusBarHeight + 5 + 20)
            make.left.equalTo(superview.snp.left).inset(15)
            make.right.equalTo(superview.snp.right).inset(15)
        }
        titleLabel = _titleLabel

        // Subtitle Label
        let _subtitleLabel = UILabel(frame: CGRect.zero)
        _subtitleLabel.numberOfLines = 0
        _subtitleLabel.textColor = UIColor.white
        _subtitleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.subheadline)
        self.addSubview(_subtitleLabel)
        _subtitleLabel.snp.makeConstraints { (make) in
            let superview = _subtitleLabel.superview!
            make.top.equalTo(_titleLabel.snp.top).inset(20)
            make.left.equalTo(superview.snp.left).inset(15)
            make.right.equalTo(superview.snp.right).inset(15)
            make.bottom.equalTo(superview.snp.bottom).inset(15)
        }
        subtitleLabel = _subtitleLabel
    }

    func dismiss() {
        // Hide with animation
        UIView.animate(withDuration: 1.3, delay: 0.0, usingSpringWithDamping: 0.6, initialSpringVelocity: 1.0, options: [], animations: { [weak self] in
            guard let strongSelf = self else { return }
            strongSelf.snp.updateConstraints({ (make) in
                let superview = strongSelf.superview!
                make.top.equalTo(superview.snp.top).inset(-strongSelf.frame.height)
                strongSelf.layoutIfNeeded()
            })
        }, completion: { [weak self] (finished) in
            guard let strongSelf = self else { return }
            strongSelf.removeFromSuperview()
        })
    }

    func show() {
        // Initial hidden
        self.snp.updateConstraints { (make) in
            let superview = self.superview!
            make.top.equalTo(superview.snp.top).inset(-self.frame.height)
            layoutIfNeeded()
            // Output
            print(self.titleLabel.frame)
            print(self.subtitleLabel.frame)
            print(self.frame)
        }

        // Show with animation
        UIView.animate(withDuration: 0.3, delay: 0.0, usingSpringWithDamping: 0.6, initialSpringVelocity: 1.0, options: [], animations: { [weak self] in
            guard let strongSelf = self else { return }
            strongSelf.snp.updateConstraints({ (make) in
                let superview = strongSelf.superview!
                make.top.equalTo(superview.snp.top).inset(-20)
                strongSelf.layoutIfNeeded()
            })
        }, completion: { [weak self] (finished) in
            // ...
        })

        // Dismiss after 2 seconds
        let delayTime = DispatchTime.now(withDelay: 2.0) // DispatchTime extension
        DispatchQueue.main.asyncAfter(deadline: delayTime) { [weak self] in
            guard let strongSelf = self else { return }
            strongSelf.dismiss()
        }
    }

@cooler333 can you try to simplify your example a bit to confirm this?
Something like this on dismiss:
// Initial hidden
        self.snp.updateConstraints { (make) in
            let superview = self.superview!
            make.top.equalTo(superview.snp.top).offset(500)
        }
        UIView.animate(withDuration: 0.5) { self.layoutIfNeeded(); self.superview.layoutIfNeeded() }

And see if anything happens? It's hard to follow such a complex code example without the full source to diagnose.
First guess is you may need to call self.superview.layoutIfNeeded() as well as self.layoutIfNeeded().
Also if you call layoutIfNeeded() inside a SnapKit constraint maker closure UIKit will not yet have the newly created constraints, you need to call layoutIfNeeded AFTER the constraint maker closure is finished.

        layoutIfNeeded()
        superview?.layoutIfNeeded()

This helps! fixed it.
but in iOS 9 + swift 2.3 have different behaviour. very strange. Thank You!

@cooler333 sometimes the internals of iOS change a bit, as a rule of thumb you need to call layoutIfNeeded() on the closest common superview of the two views the constraint is from and to.
So for self -> self.label you need to call it on self.superview

SnapKitIssueExample.zip
Example project

recently upgraded to SnapKit 3, found updateConstraints doesn't work consistently: similar @cooler333 show/hide animation, but my issue is updating constraints seems to work only for the first time, then updating won't have any effect. same codebase upgrade from Swift 2, didn't change a line. now it's broken


Navigation with Sign up Screen Steps 1 and 2

Requirements for feature

[ ] Create Sign Up Screen Steps 1 and 2
[ ] Ensure input validations are taken care of using our infra already created
[ ] Implement navigation between both screens
[ ] Setup a model for the sign up flow (MVVM) and sync with assignee of #35 so that all screens of the flow is consistent

Any context for feature

The main highlight of this task is that it adds navigation / routing to our app. The way we route pages here will be used to route all our views so implement this with care. Make sure to sync up early so that all screens of this flow are consistent.
Resources / tips for development
I would have to look up resources so you should take a shot at it first! Please let me know if you need resources and I can find some.

Expected to be completed by Sunday


Feature/add init import for stream loader

What type of PR is this? (check all applicable)

Optimization

Description
Small improvement. #SyntaxSugar

This is OK to merge without integration test. PM me if you want me to force-merge this.


Aggregations

Link to feature: https://prisma.productboard.com/feature-board/planning/features/1155325


DeltaTable large_dtypes deprecated expected behavior?

Environment
--------Version info---------
Polars:              1.6.0
Index type:          UInt32
Platform:            macOS-14.5-arm64-arm-64bit
Python:              3.12.3 (main, Jun  6 2024, 07:44:06) [Clang 15.0.0 (clang-15<IP_ADDRESS>)]
----Optional dependencies----
deltalake            0.19.2
numpy                2.1.1
pyarrow              17.0.0

Bug
What happened:
In version 0.19 large_dtypes flags were deprecated causing my workflow with merging deltatables including list types to break.
What you expected to happen:
Continue to be able to merge on tables including list (arrow largelist)  type columns.   Or if that is intentionally unsupported, at least some documentation/migration guide to let me know what I have to change.
How to reproduce it:
works in 0.18.x, fails on 0.19.x
    pl.DataFrame({"a": ["test"], "b": [[1]]}).write_delta(tmp_path)
    pl.DataFrame({"a": ["test1"], "b": [[1]]}).write_delta(
        tmp_path,
        mode="merge",
        delta_merge_options={
            "predicate": "s.a = t.a",
            "source_alias": "s",
            "target_alias": "t",
        },
    ).when_not_matched_insert_all().execute()

More details:
Using polars implies large_dtypes=True which is included in the underlying call to write_deltalake.  If I bypass polars function and call DeltaTable.create with a schema including only non-large types things work as expected.  Is it intended that the TableMerger does not support large_dtypes?  Broader question (between both polars and delta): what is the implications of forcing non-large types and interacting with polars?  I know the polars maintainers have strong opinions that they should be using the large types, but for my workflows, I don't need anywhere near the # of elements supported by the standard list, so largelist is just using extra space.

Please share an error msg

Please share an error msg

I've updated the message, can't believe I forgot.

@ericvandever this is out of our control, I've created an issue upstream in datafusion.
The only reason it worked before is because the data was downcasted to List prior the merge

@ericvandever this works now with latest release


Fix ungraceful Celery workers shutdown in container

Description

Checklist:

[x] I've made sure that tests/test_cookiecutter_generation.py is updated accordingly (especially if adding or updating a template option)
[x] I've updated the documentation or confirm that my change doesn't require any updates

Rationale

I use this awesome project to bootstrap a containerized Django + Celery application on AWS ECS.
I found out when I rolled upgrade Celery deployment in ECS, the old Celery pods shut down ungracefully. These old pods kept receiving tasks even if they are dying in the near future. Any ongoing tasks will then hang in some weird state.
Fix #1743
How to reproduce

Create a project with celery and docker enabled
Start the applicationdocker-compose -f production.yml up --build

Open another terminal to follow the logs of celerydocker logs -f my_awesome_project_celeryworker_1

Stop the containerdocker stop my_awesome_project_celeryworker_1

See how the logs of celeryworker ended.

Expected

Should see a warm shutdown in Celery log.

Reality

Not logs showing warm shutdown. After the timeout, the container shut down ungracefully.

How to Fix

Add exec before celery

Explanation

In docker-compose,  kubectl, and AWS ECS, the way the Control pane gracefully shut down a container is

Control pane send a SIGTERM
The dying Application handles the SIGTERM by doing the unfinished tasks or sending the task back to the queue.
Control pane send a SIGKILL If grace period exceeds (configurable, usually 30s to 60s) (Ungraceful shutdown)

Celery has a built-in SIGTERM handling (although undocumented...), by doing the ongoing task or pushing the task into the queue and stopping receiving any new task.

AWS Explanation for ECS: https://aws.amazon.com/blogs/containers/graceful-shutdowns-with-ecs/
Note: This is not ECS specific but also Kubernetes, docker, and docker-compose. I paste this page only because it is easier to read.

Some screenshots
Without graceful shutdown

With graceful shutdown

Thank you for your clear and well explained pull request!

OBH, I am not very familiar with celery beats.
However, my guess is

All the celery beat does is produce tasks to the queue periodically, which should be pretty fast (under good networking).
All scheduled tasks are stored in the Django database(as they advertised).

As a result, whether Celery Beat shut down gracefully or not should not matter as much as Celery's worker.
Still, I do some tests. The only observable change is the docker stop command takes less time (10s -> 0.7s), which is as expected since the Celery main process receives a SIGTERM it just exits without extra handling.
It still makes sense to add exec at the front for celery beat since this way SIGTERM is passed to celery makes pod get stoped/deleted faster. This will make service upgrades/shutdown faster in some circumstances.

Yes, I see, makes sense. I'm happy to accept this as is, since workers are the most visible issue, but I'll leave this open for a bit to give you time to adjust it if you want.

I take a look at celery flower and seems that celery flower has a dummy SIGTERM handling as well. Not sure whether flower will implement some logic in the future. Should test flower for playing safe for the future.
I guess I would not able to see the log in the current script. I will add exec and test tomorrow with my laptop. If the logs change and beat/flower live happy and alive, I will commit another change.

The exec should be added to beat and flower as discussed above. Updated and ready to merge
Before

Installed procps and check ps output to double confirm. Celery main process is not forked from the script, being PID 1 so it can receive SIGTERM as expected.
Before

After

Thanks for this fix! 🎉


Add underscoreio/doodle

Note that the library needs the following resolver to be added:
resolvers += Resolver.bintrayRepo("underscoreio", "training")

Would love to add this lib, but not going to start adding random resolvers 😏

Alright!


Compilation error when having serde_json as a dependency

error[E0283]: type annotations needed
  --> /home/jonas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_replicon-0.11.0/src/client.rs:57:29
   |
57 |                         let end_pos = message.len().try_into().unwrap();
   |                             ^^^^^^^
...
85 |                         if cursor.position() == end_pos {
   |                                              -- type must be known at this point
   |
   = note: multiple `impl`s satisfying `u64: PartialEq<_>` found in the following crates: `core`, `serde_json`:
           - impl PartialEq for u64;
           - impl PartialEq<serde_json::value::Value> for u64;
help: consider giving `end_pos` an explicit type
   |
57 |                         let end_pos: /* Type */ = message.len().try_into().unwrap();
   |                                    ++++++++++++

Note that serde_json is included with default bevy features (bevy_gltf)

Doesn't happen on CI. How can I reproduce it?

Got it, just adding bevy_gltf to deps reproduces the issue.


Add Euphoria in Available languages section in readme file.

I would love to take up this issue, can you pleas assign to this me


Replat slim framework on endpoint routing

https://github.com/davidfowl/Web.Framework/tree/master/Web.Framework

PR is not merged but this is done.


Fix find and label ManagedCluster commands

Both commands had a typo. region-one should be managed-cluster.

@mbaldessari @mhjacks - The linter is failing on gitleaks when searching the hashicorp-vault document.
otherwise - /lgtm


Lesson-01// Laba VS Pikachu (32:33)!!! Pikachu - WINS!

1:4   error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
2:56  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
3:82  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
4:3   error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
5:36  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
6:23  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
7:43  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
8:5   error  Opening curly brace does not appear on the same line as controlling statement  brace-style
8:6   error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
9:76  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
10:9   error  Opening curly brace does not appear on the same line as controlling statement  brace-style
10:10  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
11:45  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
12:9   error  Closing curly brace does not appear on the same line as the subsequent block   brace-style
12:10  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
13:26  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
14:6   error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
15:5   error  Expected blank line before this statement                                      padding-line-between-statements
15:29  error  Operator '+' must be spaced                                                    space-infix-ops
15:63  error  Missing space before =>                                                        arrow-spacing
15:63  error  Expected parentheses around arrow function argument                            arrow-parens
15:71  error  Missing radix parameter                                                        radix
15:88  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
16:2   error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
17:1   error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
18:19  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
19:14  error  Expected linebreaks to be 'LF' but found 'CRLF'                                linebreak-style
19:14  error  Missing trailing comma                                                         comma-dangle
20:3   error  Newline required at end of file but not found                                  eol-last
✖ 29 problems (29 errors, 0 warnings)
28 errors and 0 warnings potentially fixable with the --fix option.

👍


Add "Genome" column to project table

To inform users of which reference genome a project uses, a column labeled "Genome" should be present in the project tables. It can pull the genome build info from an arbitrary sample_data entry.
More robustly, instead of pulling from an arbitrary sample, the solution could iterate over all samples and collect the reference genome builds as a set. Usually there should only be one in the set, but if multiple are found this is bad (unsupported by the website) and the column should perhaps print "MULTIPLE" or something informative about the issue.

Is this something we should also be verifying at the level of the AmpliconSuiteAggregator?
For the portal, we can do a scan of the run json for multiple genomes and output the corresponding error.

I dealt with the website version. Edwin you can tackle it from the Aggregator side.
Thanks,
Forrest

New fix for Aggregator is merged, module updated.


org-time-stamp gets incremented to next day if TODO is carried over

Hi,
I'm not sure if this is actually a bug or I'm not understanding expected behavior.
When I have a TODO created in my Journal, and I insert a org-time-stamp, such as:
<2022-03-29 Tue>
If the item is not completed, and carries over to the next day, the timestamp also gets updated. I like using these
to keep date-accurate notes of when I did certain things. Is there a way to stop these form being incremented to
the next day, or again, am I misunderstanding the expected behavior of org-journal ?
Thanks, and I love using org-journal.
OS: Latest macOS
Version: Emacs 27.2

Are you using daily files, or weekly/monthly?
Could you post an example of one of those journal entries with a timestamp that trigger the issue?

Sure. It's daily entries, here's an example of one I carried over from yesterday, but the timestamp got bumped to today's date:

The timestamp right after logbook was Monday, but after it carries over to the next day, it increments or updates it, it seems.

I wonder if the carryover logic just looks for date-like strings in the carryover item, and changes them to the current date. The carryover code is not too complicated, though.
If you find the cause, I'd be grateful for a pull request!

Absolutely, I'll debug and see what I can find. Thanks!

I've also run into this, it seems that all inserted timestamps in the entire daily journal file regardless of where they are get updated when carried over.


Jeep Wrangler on Takistan cannot be recycled

title, doesn't seem to be recognized as a recyclable.

Closing due to aging.


Fixing installation for node v4.2.1

Upgrading Nan to latest so that package can be installed on node 4.2.1(LTS)
Fixes #48, #49
Any suggestions on how to write a test that covers most of logic?

Hey @ZECTBynmo, just wandering, are you still maintaining this project?

@vsukhomlinov Thanks for the pull request. I'm theoretically still maintaining the project, but I have a lot of real world stuff going on right now, including some health issues, so I'm doubly appreciative for the help.
I'll hopefully get a chance to look over this PR this week some time and push out an npm update, but I can't promise anything. If someone else (maybe one of the creators of the issues you mentioned) comes in here and vouches for the patch, I'll accept it on faith :)

I'm not one of the issue creators but I can state that it builds on my main machine and works on Node 4.2.1 on Mac OS X El Capitan.

Thanks @vsukhomlinov and @mzgoddard. Sorry for my slow progress


Fix NetworkManager patches with fetchpatch and updated hashes

Motivation for this change
Had someone on IRC who couldn't nixos-rebuild because the second patch here had changed hashes. Looks like there's some irrelevant version number gitlab is appending to the patch file. Using fetchpatch should prevent this from being an issue in the future if I understand correctly.
Sidenote, while I was testing this out, I found I could download the results of the old expression from https://cache.nixos.org by running nix-build -A networkmanager.patches. (EDIT: IRC user couldn't because they had substituters = http://nixos-arm.dezgeg.me/channel). However it's been pointed out to me that fetchurl is supposed to enable preferLocalBuild, which is supposed to prevent this. Is this a bug in Nix?
Sidenote 2, is there a particular reason this derivation doesn't have enableParallelBuilding = true? It's quite a slow build without that, for my 32 thread machine :P
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

Didn't realize network-manager was such a common dependency. Should this go to staging then?

I'd go for staging

Done. Can I get a reviewer?

@Infinisil done.


When a file validation fails and a download starts again, the new download is not added to the Current Downloads list

Describe the bug
If validation of a file has been provided a checksum after its download fails, the download restarts however the new download does not add itself to the current downloads list and therefore does not get added to the Current Downloads window.
Steps to reproduce

Provide a file download with a checksum (can be anything as we want it to fail)
See the download is in the Current Downloads window
Wait until file verification fails and auto-retry starts a new download
See the new download is not in the Current Downloads window

Expected behaviour
The download should still appear in the Current Downloads list even when it is downloaded again.
Download Manager Version
<IP_ADDRESS>
Windows Version
Windows 11 Pro Insider Preview 22H2 23424.1000
Comments
No response

Fixed in c836c1e


Add NFS provider support

What type of PR is this?
Add NFS provider support

/kind new feature

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Test Report Added?:

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind TESTED
/kind NOT-TESTED

Test Report:

Special notes for your reviewer:

@AmitRoushan @PravinRanjan10 pls review


Port regionWorker, step 2

@coocood PTAL, thanks.

@coocood comment are addressed and part test of regionWorker are ported. PTAL again thanks.

@coocood PTAL again, thanks.

@coocood PTAL again, thanks.


Local pull request success status testing

Docs Build status updates of commit a50bd2f:
:clock10: Pending: waiting for processors (10 builds ahead of you)
:warning: Docs Build is busy, currently there are 10 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit a50bd2f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

E2E_DocsBranch_Dynamic/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


additional selector for filter

Hi. I have some troubles with yandex.direct banners.  I can't block by css selector $= or ^=
$= this is mean last part of string
class="zOkeOlan76rw41Ayf__loyier-exsist"
##div[class$="__loyier-exsist"] - must blocked this element
same for "~=" part string in middle string
and "^=" start form
Can you add this support in future version?

Sorry, I didn't see the issue because you had closed it.
Recently, I tried to block yandex.direct banners by "brute-force" listing their random classes. But it is not very good way to do it. Better way is to block yandex.direct through Javascript, as authors of Ru Adlist do.


Glamor present even when not used

I have<EMAIL_ADDRESS>and don't refer to glamor anywhere in my code, and yet I see that glamor is in my yarn.lock, even after yarn install --force.

@sedubois it's something I have pointed out before in #next I believe. It's because next/css is deprecated but not removed. The real interesting thing here is, we still use Glamor here https://github.com/zeit/next.js/blob/c21531151f1578ede3699f3565e55553261bd92f/server/document.js#L3


Feature Request: alternative to sourcing ~/.zshenv for PASSWORD_STORE_DIR

Feature Requested
Currently alfred-pass discovers your PASSWORD_STORE_DIR by calling app.doShellScript('source ~/.zshenv; echo "$PASSWORD_STORE_DIR"'), falling back on the default store directory if this fails or does not return a path. This is fine for simple cases, but there's a problem: the doShellScript() command always uses sh rather than your login shell, and sh doesn't understand any Zsh-specific syntax.
Therefore if your ~/.zshenv happens to use any of that syntax - say, a glob qualifier - then alfred-pass will fail to source it and will always fall back on using the default password store directory instead.
I've done some experimentation on possible alternative ways to discover this configuration. Probably the most obvious way would be simply to use Zsh instead of sh. This can be achieved by replacing the existing source call with something like app.doShellScript('exec zsh -c \'echo "$PASSWORD_STORE_DIR"\''). I believe the performance characteristics should be fairly similar for any ~/.zshenv that worked previously, since it's running exactly the same startup script through a different shell.
If for whatever reason making this change isn't viable, I came up with a few other possibilities, which could be provided in addition to the existing behaviour:

A call to app.doShellScript('launchctl getenv PASSWORD_STORE_DIR') works perfectly in my case, because I've manually set that variable in launchd using EnvPane. This call also safely returns nothing if the variable doesn't exist, and it's quick because it's not evaluating your shell startup script at all and just asks launchd what to do. It does however require the user to set their environment up using EnvPane or another MacOS-specific tool, rather than a generic shell startup file.
It would be possible for alfred-pass to add an explicit user preference for setting the password store dir, using the Configuration Builder section in the (x) workflow config. These preferences are passed to scripts as environment variables automatically, so simply naming a preference PASSWORD_STORE_DIR would do the trick. In this case there's no extra processing required at all, since the variable is already set ahead of time.

Thoughts? I think this would help out Zsh power users who do fancy things in our startup scripts, who are also the prime target audience for a workflow like this one.
Relevant Screenshot
No response
Checklist

[X] The feature would be useful to more users than just me.

Good point, haven't thought about that case.
Fixed in 2.1.1: https://github.com/chrisgrieser/alfred-pass/releases/tag/2.1.1

This change is working excellently for searching and copying existing passwords (yay, transient flag!), but there seems to be a problem when generating a new password: the folder selection step displays folders inside the workflow's own directory, instead of inside my password store.
I think this is because select-folder-for-new-pw.js is also a JXA script rather than a shell script, and it's figuring out the password store directory in the same way pass-cli-search.js was previously?

...you were so thorough in your initial post that I didn't check for other locations :P
Anyway, both are fixed: https://github.com/chrisgrieser/alfred-pass/releases/download/2.1.3/alfred-pass.alfredworkflow
Btw, if you already found the issue and have a fix, you are very welcome to make a PR


How does event truncation work in month view?

Hi, so far I understand that events get truncated when these bars are beyond the available row height.
goal
I am trying to show a maximum of 2 events per day and truncate the rest in month view.
DragAndDrop addon was also used.
i have tried
I have 3 events in a day and only tried to adjust the min-height of .rbc-month-row, and the vertical padding and bottom margin of .rbc-event
result
The adjustments above always end up with 1 bar visible and a +2 more

closing, resolved by adjusting height / min-height in calendar's  style prop


Cannot execute AQL using Creating or updating an unsigned Release Bundle

Describe the bug
When AQL is specified in the spec file, the POST method contains a bad payload as below.
{"name":"cliTest","version":"1.0.0","dry_run":false,"spec":{"queries":null}}
To Reproduce
$ cat aql.json
{
  "files": [
    {
      "aql": {
        "items.find" : {"repo" : "generic-local"}
      },
      "target": "generic-local/data/"
    }
  ]
}
$ jfrog rt rbc --dist-url=http://localhost:8182/distribution --user=admin --password=P@ssw0rd123 --spec=aql.json cliTest 1.0.0
[Error] Distribution response: 400 Bad Request
{
  "detail": "Missing queries",
  "message": "Invalid parameters for release bundle creation",
  "status_code": 400
}
$

Expected behavior
Can execute the same as REST API (Create Release Bundle Version)
Screenshots
None
Versions

JFrog CLI version: 1.39.0
JFrog CLI operating system: Mac
Artifactory Version: 7.7.3

Additional context
None

I posted a basic AQL for explaining the issue. We cannot use the element pattern when we want to use complex queries.

Got it @iwashitah.
We're working on fixing this issue. We'll send out another update soon.

@iwashitah,
Version 1.39.1 is released and includes the fix. Looking forward to your feedback for it.
Thanks for fixing this @yahavi!

I confirmed the issue was solved. Please close this issue.
Thank you for the quick fix.


Jolokia returns wrong content type

Since the server is returning the wrong content type header, clients that require it for correct formatting or deserializing may fail.
How is Jolokia instrumented / How to reproduce
java -javaagent:libraries/agent/jolokia-jvm-1.7.1.jar=port=7777,host=localhost -classpath 'config:libraries/*' com.example.Main param1 paream2

Actual behaviour
Jolokia returns the content type as text/plain:
curl http://<IP_ADDRESS>:7777/jolokia/ -v
*   Trying <IP_ADDRESS>:7777...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 7777 (#0)
> GET /jolokia/ HTTP/1.1
> Host: <IP_ADDRESS>:7777
> User-Agent: curl/7.80.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Pragma: no-cache
< Date: Mon, 22 Nov 2021 07:39:49 GMT
< Transfer-encoding: chunked
< Content-type: text/plain; charset=utf-8
< Expires: Mon, 22 Nov 2021 06:39:49 GMT
< Cache-control: no-cache
<
* Connection #0 to host <IP_ADDRESS> left intact
{"request":{"type":"version"},"value":{"agent":"1.7.1","protocol":"7.2","config":{"listenForHttpService":"true","maxCollectionSize":"0","authIgnoreCerts":"false","agentId":"<IP_ADDRESS>-10205-6537cf78-jvm","agentType":"jvm","policyLocation":"classpath:\/jolokia-access.xml","agentContext":"\/jolokia","mimeType":"text\/plain","discoveryEnabled":"true","streaming":"true","historyMaxEntries":"10","allowDnsReverseLookup":"true","maxObjects":"0","debug":"false","serializeException":"false","multicastGroup":"<IP_ADDRESS>","maxDepth":"15","authMode":"basic","authMatch":"any","canonicalNaming":"true","allowErrorDetails":"true","realm":"jolokia","includeStackTrace":"true","multicastPort":"24884","useRestrictorService":"false","debugMaxEntries":"100"},"info":{}},"timestamp":1637566789,"status":200}

Expected behaviour:
Content-Type header for JSON should be application/json.

By default the content-type is "text/plain" to work around certain limitations of HTTP proxy at that time that usually filtered out "application/json" (afair, that was 2011). However, you can switch to "application/json" by setting the configuration option mimeType (or provide this as a request parameter).
See the docs at https://jolokia.org/reference/html/ for details.

@rhuss Ok, i have found that here:
https://github.com/rhuss/jolokia/blob/913a35138235e8f53b31662b11b12992cf4bf702/agent/core/src/main/java/org/jolokia/config/ConfigKey.java#L170
https://github.com/rhuss/jolokia/blob/913a35138235e8f53b31662b11b12992cf4bf702/agent/jvm/src/test/java/org/jolokia/jvmagent/handler/JolokiaHttpHandlerTest.java#L89
So I guess it behaves wrong by the HTTP spec (wrong mime-type that describes what the content is) but correct the the Jolokia spec (mime-type is text/plain unless overridden to be application/json).
Would it make sense then, to change the default to JSON and allow plaintext as a fallback. I don't think any proxies out there would struggle with that nowadays as almost all web applications and websites transfer JSON data over XHR.

So I guess it behaves wrong by the HTTP spec (wrong mime-type that describes what the content is)

I wouldn't say that it behaves wrong as JSON is also plain/text (i.e. every JSON document is also a text document, but not every text document is a JSON document).
Tbh, I hesitate to switch the default because of possible backward compatibility issues that I can't foresee, but I would expect quite some considering the age of Jolokia and that it is still used in many productions sites so that I would still like to keep Jolokia updatable without changes when e.g. fixing CVEs (the only reason possibly for such installation to consider an update).
You can switch the default content type on a per-request basis, but also in the startup configuration of the agent, so that it is globally changed. That is what I would recommend for your use case.

OK


Question: Is it possible to modify ~/.config/vesktop/state.json and ~/.config/vesktop/settings.json?

Is it possible to modify ~/.config/vesktop/state.json and ~/.config/vesktop/settings.json?

Ye there's no reason this can't be implimented. I'll start working on it for at least Vesktop.
~/.config/discord/settings.json should also be added, but it has some really ugly JSON fields that'll take a bit.

Let me know if PR #19 works for you. I haven't gotten a chance to actually test it, but it should work since its pretty simple. Only thing I could imagine is weird interaction with mkVencordCfg messing up the JSON.

should be fixed now after merge of PR #19. lmk if you still get the weird default error, but should be fixed

Also, this would fundamentally not work as if state.json is read only, vencord crashes.

Judging by the dev's comments it's not likely they will fix it: https://github.com/Vencord/Vesktop/issues/220
But using the patch posted in that thread can be used as a workaround

Ye this doesn't look good for this working. I'll leave the options in, but might add warnings to the documentation that this isn't really supported. That or they could be removed entirely. I might also be possible to create a shell script that generates this file outside of the nix store, but idk what that implementation would look like / if its a good idea.