feat: export all resource methods

Will be a better DX for users importing resource methods.
Also includes slight refactor of common.

Codecov Report

:exclamation: No coverage uploaded for pull request base (feat/config-as-code@15244ce). Click here to learn what that means.
The diff coverage is n/a.

@@                  Coverage Diff                   @@
##             feat/config-as-code      #90   +/-   ##
======================================================
  Coverage                       ?   78.30%
======================================================
  Files                          ?       81
  Lines                          ?     1249
  Branches                       ?      118
======================================================
  Hits                           ?      978
  Misses                         ?      270
  Partials                       ?        1

Continue to review full report at Codecov.

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


disable dhcp server service

We are not using dhcp so no need for service, plus it logs a lot of errors in journactl

LGTM


[Feature Request] Option to Expand Potion Effects

Starting from 0.5.0, EMI collapses potion effects that are not moved. This is useful when they interfere with the sidebar, but rather inconvenient when there is enough space for effects to expand. It would be great if users can toggle this option manually.

Added in 1.0.0


add core docs contributing, changelog and security

as per https://paper.dropbox.com/doc/Python-Package-Maintenance-Guidelines--BcbS1tOocmhxg78lje4U19RWAg-ZDYOJ7mgnhaC47Tzu8Jn0

Package guide public - see https://github.com/wagtail/wagtail/wiki/Python-Package-Maintenance-Guidelines#documentation

Amazing! Thanks!


Fix UnboundLocalError: local variable 'verbs' referenced before assig…

Error created in commit 0d057cd

Thanks! I had forgotten about this project, and abandoned it in the middle of whatever I was doing.

Thanks. Really appreciated.


Fast pipeline binding for ForEach-Object

PR Summary
Proof of concept change to speed up ForEach-Object. I don't plan to do further work, but someone else can hopefully use the idea.
This undoubtedly misses something important, but it does make ForEach-Object faster. (Note I include the loop for comparison, the cmdlet is still an order of magnitude slower.)

Script
Before
After

1..100kb | % { }
335ms
180ms

foreach ($i in 1..100kb) { }
10ms
10ms

dir -re PowerShell | % Name
230ms
220ms

PR Context
People often use trivial pipelines with ForEach-Object to micro-benchmark PowerShell and conclude that it is slow, or they should use the foreach statement instead of the cmdlet.
I've long had the idea that we can have dynamic sites like we have for property access or method invocation, for but instead for parameter binding.
This PR is the embodiment of that idea for the single use case of binding InputObject for the ForEach-Object command.
PR Checklist

[ ] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[ ] Summarized changes
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[ ] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

When using & { process { $_ }} instead of Foreach-Object/Where-Object, there is a huge performance gain, apparently caused by using a simple function instead of an advanced function. Parameter binding is no issue for these cmdlets in the vast majority of use cases as users typically only use $_ in their payload scriptblocks, and thus internally switching to a simple function w/o cmdletbinding might improve the speed without having to reinvent the entire cmdlet.

I have an open issue https://github.com/PowerShell/PowerShell/issues/9941 for Where-Object. @daxian-dbw is taking care of it. Maybe those two can be worked together? Seems similar to me?

I guess there is 2 places for perf consideration:

Bindings. If source collection is strong typed collection we could bind only once. For common case source collection may contains free-typed objects and we have to do binding for every object.
Compilation. Perhaps we could compile to something more faster. Ex., for Where-Object a filter function is more faster than scriptblock, maybe a delegate is better. Although maybe this is again binding.

@lzybkr @daxian-dbw could the suggestion from @TobiasPSP  be considered for 7.1? In his blog he shows many alternative approaches to speed up pwsh that should be unnecessary due to optimizations in the core.

@mi-hol Please check out the issue https://github.com/PowerShell/PowerShell/issues/10982. There is tons of discussion there.

Why did this PR get marked as 'Waiting on Author' when there wasn't any maintainer feedback that I can see?

Why did this PR get marked as 'Waiting on Author' when there wasn't any maintainer feedback that I can see?


Rules loaded twice on each tokenize() call

I am just a messenger, so shoot me. @IgorTavcar has noticed in his analyses of the classla package that in the obeliks.rules.tokenize() method the function load_rules() is invoked twice for each tokenize() call. He suggests for the rules to be loaded and cached during the initialization phase of the processor.
He has also a very nice visualization at https://github.com/IgorTavcar/classla_lab#tokenization that shows ~80% of the processing time being used on rule loading.

load_rules() is invoked twice because it is used to load two separate files. See https://github.com/clarinsi/obeliks/blob/fc4de4c8d0a3f3d0419bfa5a4b066ae1ede19fca/obeliks/rules.py#L168-L169.
Reusing already loaded rules is possible but it would require some modification of the module interface. So instead of calling obeliks.run() the user would first instatiate a processor object, which holds cached state and then call run on that. Furthermore, I could also put the rules in a single file to reduce system call overhead, if that would help performance wise.
What do you guys think? @IgorTavcar @nljubesi

I am very much in favour of loading rules once during the instantiation of the tokenizer, rather on each tokenize() call.
Not sure whether merging rules will help (if these are different rules, and all are needed), but given that 80% of the current tokenization time goes to rule loading, I would suggest you check that only necessary rules are loaded (once).


Getting error TypeError: openssl_md5() takes at most 1 argument (2 given)

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
the code should run as usual and process the fine tuninng
Current behaviour
I am getting error
[2023-09-07 15:16:20,539] [INFO] [axolotl.load_tokenized_prepared_datasets:125] [PID:16832] [RANK:0] Prepared dataset loaded from disk...
Traceback (most recent call last):
File "scripts/finetune.py", line 278, in
fire.Fire(do_cli)
File "/home/rahmat.khan/llama/lib/python3.8/site-packages/fire/core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/home/rahmat.khan/llama/lib/python3.8/site-packages/fire/core.py", line 475, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/home/rahmat.khan/llama/lib/python3.8/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "scripts/finetune.py", line 271, in do_cli
dataset_meta = load_datasets(cfg=parsed_cfg, cli_args=parsed_cli_args)
File "scripts/finetune.py", line 234, in load_datasets
train_dataset, eval_dataset, total_num_steps = prepare_dataset(cfg, tokenizer)
File "/home/rahmat.khan/code_llma/axolotl/src/axolotl/utils/data.py", line 58, in prepare_dataset
train_dataset, eval_dataset = load_prepare_datasets(
File "/home/rahmat.khan/code_llma/axolotl/src/axolotl/utils/data.py", line 503, in load_prepare_datasets
train_fingerprint = hashlib.md5(
TypeError: openssl_md5() takes at most 1 argument (2 given)
Traceback (most recent call last):
File "/home/rahmat.khan/llama/bin/accelerate", line 8, in
sys.exit(main())
File "/home/rahmat.khan/llama/lib/python3.8/site-packages/accelerate/commands/accelerate_cli.py", line 45, in main
args.func(args)
File "/home/rahmat.khan/llama/lib/python3.8/site-packages/accelerate/commands/launch.py", line 979, in launch_command
simple_launcher(args)
File "/home/rahmat.khan/llama/lib/python3.8/site-packages/accelerate/commands/launch.py", line 628, in simple_launcher
raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
subprocess.CalledProcessError: Command '['/home/rahmat.khan/llama/bin/python', 'scripts/finetune.py', 'train_rk.yaml']' returned non-zero exit status 1.
Steps to reproduce
this is my yaml file
base_model: TheBloke/CodeLlama-13B-Instruct-GPTQ
base_model_config: TheBloke/CodeLlama-13B-Instruct-GPTQ
model_type: LlamaForCausalLM
tokenizer_type: LlamaTokenizer
is_llama_derived_model: true
hub_model_id: athenaCodeLlama-13b
load_in_8bit: false
load_in_4bit: true
qptq: true
gptq_groupsize: 128
gptq_model_v1: false
strict: false
datasets:

path: kaxap/pg-gpt4SQL-sql-instructions-1k
type: alpaca
dataset_prepared_path: last_run_prepared
val_set_size: 0.02
output_dir: ./qlora-out

adapter: qlora
lora_model_dir:
sequence_len: 2048
sample_packing: true
lora_r: 32
lora_alpha: 16
lora_dropout: 0.05
lora_target_modules:
lora_target_linear: true
lora_fan_in_fan_out:
wandb_project: axolotl
wandb_entity:
wandb_watch:
wandb_run_id:
wandb_log_model:
gradient_accumulation_steps: 2
micro_batch_size: 1
num_epochs: 3
optimizer: paged_adamw_32bit
lr_scheduler: cosine
learning_rate: 0.0002
train_on_inputs: false
group_by_length: false
bf16: true
fp16: false
tf32: false
gradient_checkpointing: true
early_stopping_patience:
resume_from_checkpoint:
local_rank:
logging_steps: 1
xformers_attention:
flash_attention: true
warmup_steps: 100
eval_steps: 0.01
save_strategy: epoch
save_steps:
debug:
deepspeed:
weight_decay: 0.0
fsdp:
fsdp_config:
special_tokens:
bos_token: ""
eos_token: ""
unk_token: ""
Possible solution
No response
Which Operating Systems are you using?

[X] Linux
[ ] macOS
[ ] Windows

Python Version
3.8.10
axolotl branch-commit
main
Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of axolotl.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

fixed by #533


High CPU on MacOS (Intel)

Describe the bug
High CPU usage by the Electron renderer helper on Intel Mac.
To Reproduce
Steps to reproduce the behavior:
Connect to logs on WPILIB AdvantageScope. I use a MacBook Air 2020 with a 1.1 GHz Quad-Core Intel Core i5 without struggle for almost everything else.
Expected behavior
A clear and concise description of what you expected to happen.
My computer shouldn't struggle to perform other basic tasks while AdvantageScope is running. I expect AdvantageScope to run without crippling my computer.
Screenshots
If applicable, add screenshots to help explain your problem.
Version (required):
Copyright © 2021-2024 FRC 6328

Version: 3.0.1
Distributor: WPILib
Platform: darwin-x64
Build Date: 1/6/2024, 07:31:54 UTC
Electron: 26.2.1
Chromium: 116.0.5845.188
Node: 18.16.1

Additional context
Add any other context about the problem here.
High CPU from AdvantageScope (Helper). When connected to logs there are two AdvantageScope (Helper) processes, one AdvantageScope process, and a process named AdvantageScope (GPU). All AdvantageScope (Helper) use a consistent 90%-100% cpu when connected to a simulator or robot.

It would be helpful if you could run a performance profile in order to narrow down the root cause. Could you download the build of AdvantageScope from the artifacts here? This version includes several performance optimizations added since 3.0.1 and uses a different version of Electron that works around a bug with performance data exports. Here's the process to follow:

Connect to the robot/simulator such that you're seeing this issue (if the new version doesn't seem to fix it).
Open the developer tools under "View" > "Toggle Developer Tools" in AdvantageScope.
Go to the "Performance" tab, and click the circle on the upper left to begin recording. After ~10 seconds, click "Stop".
Click the download button to the right of the recording button, then save the JSON file and upload it here.

I know this is a bit tedious, but there are unfortunately a lot of potential causes for an issue like this and I haven't been able to recreate it thus far. The performance profile will provide useful data about which tasks are causing the issue.

Yes, I will send this over once I find some time to do this. I can probably do this some time tomorrow.

Ok, I just got around to updating my WPILib. I'm sorry it took so long! It seems that it is no longer an issue.

If you still want a performance profile on the latest version I can make one.


Warnings when site is protected via htaccess password

I'm looking at an issue currently when attempting to run getStyles from the Manifest, on a site behind .htpassword protection.
At this moment, our code doesn't need to use any form of hash and just needs to get a list of style urls so we can enqueue them into WordPress.
We currently are faced with a large amount of warnings on the site due to 401 errors when trying to get the contents of the file to return the hash to a user.
You can find out class for handling Assets here: https://github.com/creode/wordpress-theme-core/blob/main/includes/class-assets.php#L113. Our issue comes from line 113 and the callstack runs back to the calculateFileHash function.
Given my infamiliarity with the ins and outs of that function and where it could be used, I'm not sure about the right solution here. My initial thoughts is to add some kind of custom exception that can be caught in the event the file cannot be hashed. Currently we just have a general ErrorException being thrown, which makes it difficult to catch and discard this error.
Let me know your thoughts.
Thanks,

Would you be so kind and post an example of the error you're getting, or better, a stack trace?
Since you mentioned not needing the hashes, you could also disable their creation for the time being:
 $this->manifest->getStyles( $entrypoint, false );

Ahh good call. I missed that second argument. I’ll try it out and see if
that works. Thank you
On Thu, 26 Dec 2024 at 20:45, Jan T. Sott @.***> wrote:

Would you be so kind and post an example of the error you're getting, or
better, a stack trace?
Since you mentioned not needing the hashes, you could also disable their
creation for the time being:
$this->manifest->getStyles( $entrypoint, false );
—
Reply to this email directly, view it on GitHub
https://github.com/idleberg/php-vite-manifest/issues/8#issuecomment-2563089233,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AELKNLCDBICIVH5IDLDP4VD2HRTGDAVCNFSM6AAAAABUC67SP6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRTGA4DSMRTGM
.
You are receiving this because you authored the thread.Message ID:
@.***>


CSUB-167: version check testnet without version modification

Description of proposed changes:
Practical tips for PR review & merge:

[ ] All GitHub Actions report PASS
[ ] Newly added code/functions have unit tests

[ ] Coverage tools report all newly added lines as covered
[ ] The positive scenario is exercised
[ ] Negative scenarios are exercised, e.g. assert on all possible errors
[ ] Assert on events triggered if applicable
[ ] Assert on changes made to storage if applicable

[ ] Modified behavior/functions - try to make sure above test items are covered
[ ] Integration tests are added if applicable/needed

This is only for testing purposes.


fix/home-binding

Please review before merging.

:tada: This PR is included in version 1.50.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


How to use interface and type?

Describe the bug
export interface Test1 {
  name: string;
}

export type Test2 = {
  name: string;
}

How to use interface and type?
Reproduction
none
System Info
System:
    OS: Linux 5.16 Fedora Linux 35 (Workstation Edition)
    CPU: (6) x64 Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz
    Memory: 13.52 GB / 31.28 GB
    Container: Yes
    Shell: 5.1.8 - /bin/bash
  Binaries:
    Node: 16.15.1 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/bin/yarn
    npm: 8.11.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 100.0.4896.127
    Firefox: 99.0.1

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

I want 'interface' and 'type' to be exported in 'auto import. D.ts' like' class'

What should I do?

Duplicated https://github.com/antfu/unplugin-auto-import/issues/61


Fix switch fallthrough

Signed-off-by: Guilherme Campos Camargo<EMAIL_ADDRESS>

Ship it!


Support for a "no results" div

Is it possible to update the search div with "no results" if nothing is found? Today the behavior shows nothing at all if no results are returned. It looks like the config supports
noResultsClass: 'noResults'
noResultsMessage: undefined

however, nothing really seems to be done with this items at the moment.

Has anyone got an implementation to follow here? I can configure noResultsClass and noResultsMessage but like above, nothing happens.

@tommotaylor support for noResultsClass and noResultsMessage was added back here: https://github.com/swiftype/swiftype-autocomplete-jquery/pull/25
Give it a try and let me know if you have any issues.


BOCM-56

Describe your changes
Templates, controller functions, validation pipes etc. for case officer journey check and confirm page + complete page
Issue ticket number and link
https://pins-ds.atlassian.net/browse/BOCM-56
Type of change 🧩

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


fn render should not format Kptfile and the fn config files used in a Kptfile

We need to verify if eval has this issue too.

cc: @phanimarupaka

This is by design. @phanimarupaka added the behavior recently.
@mengqiy why kpt render shouldn't format meta resources ?

There are 2 resources in this context:

Kptfile
fn-config.yaml files that are referenced by Kptfile.

I don't have a strong opinion about formatting Kptfile.
But IMO fn-config.yaml files should be invariants. Formatting them generates noise when looking at the diff of a package.


[fix][doc] Point Python and C++ docs to new GitHub repos

Motivation
With the recent PIP to move the Python and C++ clients to their own GitHub repo, we need to update the documentation.
Documentation

[x] doc

@merlimat @lhotari - I added links to redirect any users that have bookmarked the client directories


[T3A3][W14-A3] Yong Jia Wern

Ready for review

Accepting this PR without a review because another of your PRs for this tutorial was reviewed in detail.


The percentages not computed correctly for award ceremony.

Once again, this should be an easy fix.

Any idea why this issue is still open? This bug is visible every day...
Also, is it possible to add some color to that embed? Perhaps #445282?

Yes I'll close this an make another issue about having some color in the embed.


SASS/SCSS challenges are broken in Firefox

When I revert PR https://github.com/freeCodeCamp/freeCodeCamp/pull/42195 it works again.
I didn't really figure out what is causing it but if I log out the innerHTML of the frame before and after the Promise.all inside the transform function I first see the content and then empty
const transformHtml = async function (file) {
  const transform = async frame => {
    console.log('before');
    // correct content
    console.log(frame.contentDocument.documentElement.innerHTML);
    await Promise.all([
      transformSASS(frame.contentDocument),
      transformScript(frame.contentDocument)
    ]);
    console.log('after');
    // empty content
    //
    console.log(frame.contentDocument.documentElement.innerHTML);
    return { contents: frame.contentDocument.documentElement.innerHTML };
  };

  const { contents } = await transformWithFrame(transform, file.contents);
  return transformContents(() => contents, file);
};

Forum post: https://forum.freecodecamp.org/t/scss-not-showing-in-iframe/495117

These changes appear to make it work, I'm not able to explain why this makes it work. Maybe it will give somebody idea what is going out here.
https://github.com/freeCodeCamp/freeCodeCamp/blob/a2a1c62953bdc78373b582193b6fe24d74ec311f/client/src/templates/Challenges/rechallenge/transformers.js#L214
    const documentElement = frame;

https://github.com/freeCodeCamp/freeCodeCamp/blob/a2a1c62953bdc78373b582193b6fe24d74ec311f/client/src/templates/Challenges/rechallenge/transformers.js#L261
    out = await transform(frame.contentDocument.documentElement);

https://github.com/freeCodeCamp/freeCodeCamp/blob/a2a1c62953bdc78373b582193b6fe24d74ec311f/client/src/templates/Challenges/rechallenge/transformers.js#L271-L274
      transformSASS(frame),
      transformScript(frame)
    ]);
    return { contents: frame.innerHTML };

How does it look?

There might be related, but slightly different issue with jQuery on Firefox - fresh load (after F5) of jQuery challenge won't render preview, but in the next/previous challenge, or visiting challenge again from challenges list - preview will load now. After the above changes that issue also goes away.

I am having trouble in running tests and submitting solutions to the challenge number 5 and onwards challenges in Sass. The tests keep failing despite correct solution. Please resolve this issue. Thanks

I am having trouble in running tests and submitting solutions to the challenge number 5 and onwards challenges in Sass. The tests keep failing despite correct solution. Please resolve this issue. Thanks

@techanthere That doesn't sound related to this issue, as problem here affects previous challenges as well. Please first click the "Get Help" button on the challenge on freeCodeCamp and choose the "Ask for help" option, which will help you create a question in the right part of the forum. Volunteers on the forum usually respond to questions within a few hours and can help determine if there is an issue with your code or the challenge's tests.
If the forum members determine there is nothing wrong with your code, you can create separate issue.
Thank you and happy coding.

@gikf I did see it randomly work a few times with code changes and hot-reload/refresh but when reloading the page manually it broke again. So I guess it might be related to the jQuery challenges issue as well. Does reverting https://github.com/freeCodeCamp/freeCodeCamp/pull/42195 make the jQuery challenges work again?

I didn't test your code. But I don't really understand how you can change the first line and not have to change the rest of the function (the event listeners and return) but maybe I'm just missing something having only skimmed it.

@lasjorg Hm, you know what? Reverting it, doesn't make jQuery challenges work reliably, but rolling back before it does :thinking:.

@ojeytonwilliams @ShaunSHamilton
It would be nice if someone from the PR that seemingly broke the SASS/SCSS challenges in Firefox would post a response to this issue.

@lasjorg Thank you, for the ping. @gikf 's solution is better than anything I tried. So, hopefully we can move forward with that.

Thanks for the detailed debugging and fix @lasjorg @gikf. While I still don't understand what the problem is, the suggestions you made did fix it!  Sorry for the delay getting to the issue and thanks for the nudge.


Key binding for closeTab

Description of the new feature/enhancement
There are key bindings for various tab functions (newTab, duplicateTab, etc...) but I do not see one for closing a tab.
Proposed technical implementation details (optional)
In defaults.json, we should have something like:
{ "command": "closeTab", "keys": "ctrl+shift+x" }

Thanks for the suggestion! The action closePane will actually act to close a tab if there is only one pane in a tab. This has worked well so far as a effective default for "close tab".

Thanks for the suggestion! The action closePane will actually act to close a tab if there is only one pane in a tab. This has worked well so far as a effective default for "close tab".

The closeTab scenario should like this: if I got multi panes and want to close current tab.


Automated cherry pick of #10427

Cherry pick of #10427 on cloud.
/cc  @nickmisasi
NONE

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.


Set use_work_dir_as_temp to true when running at the Sanger

I'm not 100% sure it's what caused the issue with /tmp yesterday, but it's definitely something that I forgot to set.
What do you think of the implementation ?

I put it in conf/test_full.config because this config file is already Sanger-specific
Therefore I don't need to put it in .github/workflows/sanger_test_full.yml
But I still need to put it in .github/workflows/sanger_test.yml because this one is using the "test" profile
I don't update the "test" profile because it's meant to be used by anyone, incl. on GitHub, and we don't want to enforce use_work_dir_as_temp to them. Also, the data are small enough that is shouldn't matter on the farm

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Probably we don't need use_work_dir_as_temp to be true for test profile when running on the farm.
Manually triggered both Sanger Github workflows and  we can see use_work_dir_as_temp = true in the parameters file now, previously for the failed job use_work_dir_as_temp = false.

I manually trigger the full test on the farm again and hope this time it will succeed even if with use_work_dir_as_temp = false.
Otherwise, we only half results on the pipeline webpages: https://pipelines.tol.sanger.ac.uk/genomenote/results#genomenote/results-81c53c6657c377c7d6b7a11085779a8a4d67839e/
The readmapping release run is fine. https://pipelines.tol.sanger.ac.uk/readmapping/results#readmapping/results-91efc18ea1c3d504f75502af47e83f630e0b48d5/

I manually trigger the full test on the farm again and hope this time it will succeed even if with use_work_dir_as_temp = false.
The run succeeded this time.
https://tower.nf/orgs/sanger-tol/workspaces/github-ci/watch/4PYhtmuWyfgplG

Otherwise, we only have half results on the pipeline webpages: https://pipelines.tol.sanger.ac.uk/genomenote/results#genomenote/results-81c53c6657c377c7d6b7a11085779a8a4d67839e/

Hope the results will be updated tomorrow.


Website example charts - possible data issue

Hi team,
I came across two data issues while running the sample charts.
Chart 1: Distribute - Dot Plot 1 link
Copying sample code to Jupyter notebook and running it will fail when trying to read the data from https://ipyvizzu.vizzuhq.com/0.17/assets/data/IMDB_data_data_1974_1990.csv.  Appears extra commas are shifting CSV file columns over by 1 (expecting 4 columns, but a few rows have 5, due to extra comma in the Title name)
Chart 2: Sum - Column to Waterfall link
When I follow the setup instructions and copy the code to Jupyter notebook, there appears to be extra data causing the chart to look cluttered.

Example on webpage:

Code in JN:

Thanks for working on this!

@dannylee8 Thanks for reportin, fixed in #298


feat/configuration-contains-value

I have been working on a new small feature which aims to validate if a value is present in a configuration through a first match validation.
This is useful when looking for specific values in multiple configurations and often can be leveraged to return the right Configuration if a value is present.
It can also be used to validate the integrity of a Configuration.
It is natively present in java.util.Properties (see JavaDoc).
I tried to mimic the structure already implemented for containsKey but added different implementation in order to retrieve the match for a value.
The first tests pass for all Configuration types, but I want to add more tests after the first appreciation of this PR.
I used recursion in some implementations for some Configuration types to retrieve the match for a value.
    @Override
    protected boolean containsValueInternal(final String value) {
        return contains(getKeys(), value);
    }

    private boolean contains(Iterator<String> keys, final String value) {
        if (keys.hasNext()) {
            String nextKey = keys.next();
            Object valueFromKey = getProperty(nextKey);

            if (valueFromKey.equals(value)) {
                return true;
            }

            contains(keys, value);
        }

        return false;
    }

Tests currently fail here but only on GitHub, when I test them locally they don't fail. I would appreciate some feedback on this if possible.

Error:  Failures:
Error:    TestServletConfiguration>TestAbstractConfiguration.testContainsValue:84 should return true for class class org.apache.commons.configuration2.web.TestServletConfiguration ==> expected: <true> but was: <false>
Error:    TestServletContextConfiguration>TestAbstractConfiguration.testContainsValue:84 should return true for class class org.apache.commons.configuration2.web.TestServletContextConfiguration ==> expected: <true> but was: <false>
Error:    TestServletFilterConfiguration>TestAbstractConfiguration.testContainsValue:84 should return true for class class org.apache.commons.configuration2.web.TestServletFilterConfiguration ==> expected: <true> but was: <false>

I'm happy for any feedback.

@rikkarth
Make sure you run mvn by itself to verify that all checks pass.

This is the error when running mvn. Is this some build specification I've missed?
[ERROR] Failed to execute goal com.github.siom79.japicmp:japicmp-maven-plugin:0.20.0:cmp (default) on project commons-configuration2: There is at least one incompatibility: org.apache.commons.configuration2.AbstractConfiguration.containsValueInternal(java.lang.String):METHOD_ABSTRACT_ADDED_TO_CLASS,org.apache.commons.configuration2.ImmutableConfiguration.containsValue(java.lang.String):METHOD_ADDED_TO_INTERFACE -> [Help 1]

Ok, so I'm having an error that I think is build related:
Can you help correct this issue?
[ERROR] Failed to execute goal com.github.siom79.japicmp:japicmp-maven-plugin:0.20.0:cmp (default)
on project commons-configuration2: There is at least one incompatibility:
org.apache.commons.configuration2.AbstractConfiguration.containsValueInternal(java.lang.String):METHOD_ABSTRACT_ADDED_TO_CLASS,
org.apache.commons.configuration2.ImmutableConfiguration.containsValue(java.lang.String):METHOD_ADDED_TO_INTERFACE

Hello @rikkarth
It looks like this PR breaks binary compatibility based on the japicmp error you quote and there are also failing unit tests.
Your profile states you are a "Problem-solving Prodigy", so... either less boasting or more problem solving ;-)
See also:

https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
https://wiki.openjdk.org/display/csr/Kinds+of+Compatibility
https://docs.oracle.com/javase/specs/jls/se8/html/jls-13.html

HTH

@garydgregory , thank you for the feedback and providing the documentation.
I must rethink my profile description.

@garydgregory , thank you for the feedback and providing the documentation.
I must rethink my profile description.

It's hard to read people online but it appears you have good sense of humor 😀

Codecov Report
Attention: Patch coverage is 63.63636% with 8 lines in your changes are missing coverage. Please review.

Project coverage is 89.00%. Comparing base (ad9eaa0) to head (3f91b67).
Report is 137 commits behind head on master.

Files
Patch %
Lines

...figuration2/AbstractHierarchicalConfiguration.java
0.00%
1 Missing :warning:

...commons/configuration2/CompositeConfiguration.java
0.00%
1 Missing :warning:

...ache/commons/configuration2/DataConfiguration.java
0.00%
1 Missing :warning:

.../commons/configuration2/DatabaseConfiguration.java
80.00%
0 Missing and 1 partial :warning:

...s/configuration2/DynamicCombinedConfiguration.java
0.00%
1 Missing :warning:

...ache/commons/configuration2/JNDIConfiguration.java
0.00%
1 Missing :warning:

...iguration2/PatternSubtreeConfigurationWrapper.java
0.00%
1 Missing :warning:

...he/commons/configuration2/SubsetConfiguration.java
0.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #412      +/-   ##
============================================
- Coverage     89.09%   89.00%   -0.09%
- Complexity     3536     3543       +7
============================================
  Files           183      183
  Lines          9635     9653      +18
  Branches       1192     1198       +6
============================================
+ Hits           8584     8592       +8
- Misses          772      778       +6
- Partials        279      283       +4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@garydgregory , thank you for the feedback and providing the documentation.
I must rethink my profile description.

It's hard to read people online but it appears you have good sense of humor 😀

A bit of sense of humour and humility is always nice to have.
I'm very grateful that you and @Claudenw have taken the time to look at my PR, thank you.
As for the compatibility issue, I don't think I'm breaking compatibility by adding a new method to the API, so that means I don't have to bump the version from 2.x to 3.x..
I would like to ask, how are you bumping the version since from past PRs I've read I don't see any change to the pom.

Ok so I believe this is the reason why I broke compatibility.
However, adding overloaded methods has the potential to change method resolution and thus change the signatures of the method call sites in the resulting class file. Whether or not such a change is problematic with respect to source compatibility depends on what semantics are required and how the different overloaded methods operate on the same inputs, which interacts with behavioral equivalence notions. For example, consider adding to Lib an overloading of foo which takes an int:

// Behaviorally equivalent source compatible change
public final class Lib {
  public double foo(double d) {
    return d * 2.0;
  }

  // New overloading
  public double foo(int i) {
    return i * 2.0;
  }
}

@rikkarth
You need to understand how to not break binary compatibility: Please see "13.5.6. Interface Method Declarations" in the JLS at the link I've already provided.

@rikkarth You need to understand how to not break binary compatibility: Please see "13.5.6. Interface Method Declarations" in the JLS at the link I've already provided.

Thank you so much for pointing me in the right direction. First time contributing to a project with this specification, but after reading all this it makes a lot of sense.
I would like to ask if you don't mind looking at my default implementation.
I think if this method is not implemented by the Class implementing ImmutableConfiguration, the caller should get an Exception with this message.
Or should it just return false?
    /**
     * Returns true if this configuration contains one or more keys to this value. This operation is more expensive than
     * the {@link #containsKey containsKey} method.
     *
     * @param value value whose presence in this configuration is to be tested
     * @return {@code true} if this configuration maps one or more keys to the specified value
     * @throws NullPointerException if the value is {@code null}
     * @throws UnsupportedOperationException if this method is not supported by the implementing class.
     */
    default boolean containsValue(String value) {
        throw new UnsupportedOperationException(String.format("Class %s does not support this method.", this.getClass()));
    }

@rikkarth
If you think your PR is ready for review, then set it to "Ready for review" and I'll take a look over the next day or two.

Thank you for taking the time to look at my PR @garydgregory and @Claudenw .
I've submitted my PR for review as instructed.
Have a great day!

Hello @rikkarth

Please rebase on git master to pick up the latest Checkstyle configuration and fixes.
See my comments in this PR
Run mvn by itself to run all build checks

TY!

Done as requested.
While changing all the since tags and adjusting tests signature names I was wondering how dull must have been for you to review this, sorry about that. In future PRs I will know better the design, patterns and style applied to this component from the experience acquired in this first PR.
Thank you for your time again @garydgregory

Done as instructed.

I'll fix it. Had to change computers and my gpg was not signing commits.

I believe it's done now @garydgregory :) had to do some git gymnastics «

I was under the wrong impression you wanted those changes, but I reverted them now!


Fetch more than 25 Stories at once

Does anyone know how to fetch more than 25 stories?  I'm self-hosting a version so that I can grab really large (academic) rss feeds.  They will have 100s of new stories each day.  Every time I run the command below from cron it only adds 25 stories.  I run it several times a day, but then I miss about 1/2 as new ones come in.
/opt/NewsBlur/manage.py refresh_feeds --user=doug --force
Thank you

Thanks for the idea! I added settings.OVERRIDE_STORY_COUNT_MAX.


Any way to know which users are in rooms on other nodes?

Hey,
io.sockets.adapter.rooms doesn't seems to have the list of rooms created on other nodes.
am I missing some thing? or this isn't possibile right now with socket.io-redis adapter?
thanks.

https://github.com/socketio/socket.io/pull/1428


Python 3.12 compatibility

With Version 3.12, the deprecated PEP302 import hooks were removed, leading to import errors as the _SixMetaPathImporter did no longer work.
This pull request introduces the PEP451 methods find_spec, exec_module and a dummy create_module method to the _SixMetaPathImporter class to recreate the functionality in newer Python versions. The old methods are kept to allow backwards compatibility to python versions < 3.4, which should not work with the new methods. This builds and runs the test-suite with python versions 3.8, 3.11 and 3.12. It also builds with Python 2.7, however, the test suite relies on collections.abc, which was only introduced in Python 3.3, so it is incompatible with older versions.
The new find_spec function uses the importlib.util.spec_from_loader function, which was introduced in Python 3.4, so the import is within the function itself, which avoids incompatibilities with older Python versions, as only Python versions >3.4 should call that method.
I've also changed a few strings to raw strings, as escaping dots in normal strings gives a syntax warning in python 3.12.

Can we get a release supporting Python 3.12?
Currently unable to use the package from PyPI.

This all looks fine to me though it does remind me that we really need to get the test suite running in GitHub Actions if we're going to keep this fork alive for any amount of time.
I'll try and get a new release out shortly.


[Windows] Compositor rendering regresses animation

Background
https://github.com/flutter/engine/pull/49262 updated Flutter Windows to render to an offscreen framebuffer instead of directly onto the window's surface. This will allow us to support platform views and multiple views.
Unfortunately, this change regresses package:material_floating_search_bar_2's animation and causes weird artifacts.

Screen recordings of the expected versus actual animations...

This issue also reproduces using the software rasterizer.

Source code to reproduce the issue...
// The Windows compositor changes regresses the animation in
// the `material_floating_search_bar_2` package:
//
// https://pub.dev/packages/material_floating_search_bar_2/versions/0.5.0
//
// Below is a minimal repro of the broken animation. This has two pieces:
//
//  1. The background fades to a grey color
//  2.
// On framework commit 9c2a7560096223090d38bbd5b4c46760be396bc1 this animation works as expected on Windows.
//
// Good gif: https://publish-01.obsidian.md/access/b48ac8ca270cd9dac18c4a64d11b1c02/assets/2023-12-28-compositor_animation_regression_good.gif
// Bad gif: https://publish-01.obsidian.md/access/b48ac8ca270cd9dac18c4a64d11b1c02/assets/2023-12-28-compositor_animation_regression_bad.gif
import 'dart:math';
import 'dart:ui';

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    // Not using `MaterialApp` is necessary to reproduce:
    return Container(
      color: Colors.white,
      child: const Directionality(
        textDirection: TextDirection.ltr,
        child: FloatingSearchBar(),
      ),
    );

    // Switching to `MaterialApp` fixes the issue:
    // return const MaterialApp(
    //   home: Scaffold(
    //     body: FloatingSearchBar(),
    //   ),
    // );
  }
}

class FloatingSearchBar extends StatefulWidget {
  const FloatingSearchBar({super.key});

  @override
  FloatingSearchBarState createState() => FloatingSearchBarState();
}

class FloatingSearchBarState extends State<FloatingSearchBar> with SingleTickerProviderStateMixin {
  late final AnimationController _controller = AnimationController(
    vsync: this,
    duration: const Duration(seconds: 2),
  );

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  void _animate() {
    if (_controller.isDismissed || _controller.status == AnimationStatus.reverse) {
      _controller.forward();
    } else {
      _controller.reverse();
    }
  }

  @override
  Widget build(BuildContext context) {
    return AnimatedBuilder(
      animation: _controller,
      builder: (BuildContext context, _) {
        return Stack(
          children: <Widget>[
            if (!_controller.isDismissed)
              FadeTransition(
                opacity: _controller,
                child: const SizedBox.expand(
                  child: DecoratedBox(
                    decoration: BoxDecoration(color: Colors.black26),
                  ),
                ),
              ),

            _buildSearchBar(),
          ],
        );
      },
    );
  }

  Widget _buildSearchBar() {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.stretch,
      children: <Widget>[
        // This is where the search text input would go...
        GestureDetector(
          onTap: () => _animate(),
          child: Text(
            switch (_controller.status) {
              AnimationStatus.forward || AnimationStatus.completed => 'Click to close',
              AnimationStatus.reverse || AnimationStatus.dismissed => 'Click to open',
            },
            style: const TextStyle(color: Colors.black),
          ),
        ),

        // Below are where the search results would be. Clicking on the search
        // input above reveals the results below.

        // Removing this fixes the background's fade transition.
        ClipOval(
          clipper: _CircularRevealClipper(
            fraction: _controller.value,
          ),
          child: DecoratedBox(
            decoration: BoxDecoration(
              color: Colors.white,
              // Removing this line fixes the background's fade transition.
              borderRadius: BorderRadius.circular(16.0),
            ),
            child: const Padding(
              padding: EdgeInsets.all(64.0),
              child: Text(
                'Hello world',
                style: TextStyle(color: Colors.black),
              ),
            ),
          ),
        ),
      ],
    );
  }
}

class _CircularRevealClipper extends CustomClipper<Rect> {
  const _CircularRevealClipper({required this.fraction});

  final double fraction;

  @override
  Rect getClip(Size size) {
    final double halfWidth = size.width * 0.5;
    final double maxRadius = sqrt(halfWidth * halfWidth + size.height * size.height);
    final double radius = lerpDouble(0.0, maxRadius, fraction) ?? 0;

    return Rect.fromCircle(
      center: Offset(halfWidth, 0),
      radius: radius,
    );
  }

  @override
  bool shouldReclip(CustomClipper<Rect> oldClipper) {
    if (oldClipper is _CircularRevealClipper) {
      return oldClipper.fraction != fraction;
    }

    return true;
  }
}

TODO

[ ] The engine has a dirty region feature that can be disabled. Check if disabling this fixes the issue.
[ ] Enable Skia canvas trace commands to verify "good" and "bad" commits are drawing the same things
[ ] Use a GPU frame debugger (like RenderDoc) to look at GL calls

The bug reproduces using the software rasterizer. This does not appear to be an OpenGL issue

Skia tracing
Here are timeline traces with Skia enabled:

Windows open animation on "good" commit
Windows open animation on "bad" commit
Linux open animation on "bad" commit

You can open these by opening chrome://tracing in your browser and dragging and dropping these files.
Both Linux and Windows while on the "bad" commit render to an OpenGL framebuffer (see FlutterCompositor and EmbedderExternalView). Windows on the "good" commit renders to a single root surface.
The "bad" and "good" Windows commits are difficult to compare as their implementations are very different. However, the Linux and "bad" Windows implementations are quite similar and are comparable.
Comparison of Linux and "bad" Windows traces
Traces under OpsTask::onPrepare:

Linux
Windows

FillRectOpFillRectOpCircularRRectOp
FillRectOpFillRectOpCircularRRectOp

Traces between OpsTask::onPrepare and OpsTask::onExecute

Linux
Windows

Disable(0x0B71)
DepthMask(0)
FrontFace(0x0901)
Disable(0x8037)
Enable(0x8642)
LineWidth(1)
Enable(0x809D)
PixelStorei(0x0CF2, 0)
BindBuffer(bufferState->fGLTarget, glBuffer->bufferID())
InvalidateBufferData(bufferID)
BufferSubData(target, offset, size, src)
BindVertexArray(arrayID)
InvalidateBufferData(bufferID)
BufferSubData(target, offset, size, src)

Disable(0x0B71)
DepthMask(0)
Disable(0x0B44)
FrontFace(0x0901)
LineWidth(1)
Disable(0x0BD0)
PixelStorei(0x0CF2, 0)
PixelStorei(0x0D02, 0)
PixelStorei(0x93A4, 0)
BindBuffer(bufferState->fGLTarget, glBuffer->bufferID())
BufferData(target, bufferSize, nullptr, usage)
BufferSubData(target, offset, size, src)
BindVertexArray(arrayID)
BindBuffer(bufferState->fGLTarget, glBuffer->bufferID())
BufferData(target, bufferSize, nullptr, usage)
BufferSubData(target, offset, size, src)

I have a smaller minimal repro: a clipped circle stacked on top of a faded background:

Minimal source code...
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    // This is necessary to reproduce:
    return Container(
      color: Colors.white,
      child: const Directionality(
        textDirection: TextDirection.ltr,
        child: BlueCircle(),
      ),
    );

    // Switching to this fixes the issue:
    // return const MaterialApp(
    //   home: Scaffold(
    //     body: BlueCircle(),
    //   ),
    // );
  }
}

class BlueCircle extends StatelessWidget {
  const BlueCircle({super.key});

  @override
  Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        const Opacity(
          opacity: 0.3,
          child: SizedBox.expand(
            child: DecoratedBox(
              decoration: BoxDecoration(color: Colors.black),
            ),
          ),
        ),

        SizedBox.expand(
          child: ClipOval(
            clipper: const _CircularRevealClipper(),
            child: DecoratedBox(
              decoration: BoxDecoration(
                color: Colors.blue,
                // Removing this line fixes the app.
                borderRadius: BorderRadius.circular(16.0),
              ),
              child: const SizedBox(height: 256.0),
            ),
          ),
        ),
      ],
    );
  }
}

class _CircularRevealClipper extends CustomClipper<Rect> {
  const _CircularRevealClipper();

  @override
  Rect getClip(Size size) {
    return Rect.fromCircle(
      center: Offset.zero,
      radius: 500,
    );
  }

  @override
  bool shouldReclip(CustomClipper<Rect> oldClipper) => true;
}

I updated the Windows compositor to clear the window surface to red before blitting the backing store's framebuffer. If blitting works as expected, the red should not be visible as the entire surface should have been blitted over. However, red color remains:

This indicates the blitting is not actually replacing the entirety of the window surface.

Patch to clear the window surface to red before blitting...
Apply this patch on https://github.com/flutter/engine/commit/00d7d23fb5b97fd71f28a53ab4dcc9493ec585a7:
diff --git a/shell/platform/windows/compositor_opengl.cc b/shell/platform/windows/compositor_opengl.cc
index 6da274b993..c19cab4af1 100644
--- a/shell/platform/windows/compositor_opengl.cc
+++ b/shell/platform/windows/compositor_opengl.cc
@@ -132,6 +132,10 @@ bool CompositorOpenGL::Present(const FlutterLayer** layers,
     return false;
   }

+  gl_->BindFramebuffer(GL_DRAW_FRAMEBUFFER, kWindowFrameBufferId);
+  gl_->ClearColor(1.0f, 0.0f, 0.0f, 0.0f);
+  gl_->Clear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
+
   auto source_id = layers[0]->backing_store->open_gl.framebuffer.name;
   gl_->BindFramebuffer(GL_READ_FRAMEBUFFER, source_id);
   gl_->BindFramebuffer(GL_DRAW_FRAMEBUFFER, kWindowFrameBufferId);

If I clear the window surface with red before blitting the framebuffer to the window

ANGLE bug report
I believe Flutter Windows is affected by what appears to be a bug in ANGLE's glBlitFramebuffer implementation.
Example app
Here is a Flutter app that draws a rounded rectangle with a circular clip on top of a faded background:

Source code...
This is broken on Flutter commit b417fb828b332b0a4b0c80b742d86aa922de2649.
This works on Flutter commit 9c2a7560096223090d38bbd5b4c46760be396bc1.
import 'package:flutter/material.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  // Pump frames non-stop. This isn't necessary to repro.
  WidgetsBinding.instance.addPersistentFrameCallback((_) {
    WidgetsBinding.instance.scheduleFrame();
  });

  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    // This is necessary to reproduce:
    return Container(
      color: Colors.white,
      child: const Directionality(
        textDirection: TextDirection.ltr,
        child: BlueCircle(),
      ),
    );
  }
}

class BlueCircle extends StatelessWidget {
  const BlueCircle({super.key});

  @override
  Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        const Opacity(
          opacity: 0.3,
          child: SizedBox.expand(
            child: DecoratedBox(
              decoration: BoxDecoration(color: Colors.black),
            ),
          ),
        ),

        SizedBox.expand(
          child: ClipOval(
            clipper: const _CircularRevealClipper(),
            child: DecoratedBox(
              decoration: BoxDecoration(
                color: Colors.blue,
                // Removing this line fixes the app.
                borderRadius: BorderRadius.circular(16.0),
              ),
              child: const SizedBox(height: 256.0),
            ),
          ),
        ),
      ],
    );
  }
}

class _CircularRevealClipper extends CustomClipper<Rect> {
  const _CircularRevealClipper();

  @override
  Rect getClip(Size size) {
    return Rect.fromCircle(
      center: Offset.zero,
      radius: 500,
    );
  }

  @override
  bool shouldReclip(CustomClipper<Rect> oldClipper) => true;
}

TODO: EXECUTABLE ZIP HERE
Here is the expected output:

Here is the actual output of Flutter Windows:

TODO
Analysis
Flutter Windows uses Skia to render to an OpenGL framebuffer. Flutter Windows then blits this framebuffer to the window's surface. The blit updates the entire window surface (the framebuffer and window surface have the same size).
Using RenderDoc, we see that the blit's input texture is expected but the output texture is unexpected.
TODO: RenderDoc frame capture.
TODO: Skia trace that can be viewed using chrome://tracing. This does not include the glBlitOperation.
Clear test
It appears that the blit is not updating the entire window surface. To test this hypothesis, I added a step to clear the window's surface to a red color immediately before blitting the framebuffer. Since the blit should update the entire window surface, no red color should be visible. However, the red color is visible:
TODO: Screen shot.
TODO: RenderDoc frame capture.
Debugging information
Affected Flutter version: TODO
ANGLE version for affected Flutter version: TODO

Fixed by https://github.com/flutter/engine/pull/49726


TouchableOpacity does not let you control opacity when disabled prop changes

Is this a bug report?
Yes
Have you read the Contributing Guidelines?
Yes
Environment
Environment:
OS:  macOS Sierra 10.12.6
Node:  8.7.0
Yarn:  1.2.1
npm:  5.4.2
Watchman:  4.7.0
Xcode:  Xcode 9.1 Build version 9B55
Android Studio:  3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.0.0 => 16.0.0
react-native: ^0.50.3 => 0.50.3
Steps to Reproduce

have a TochableOpacity with prop disabled = true and style opacity: 0.5
toggle disabled flag to false and style to opacity: 1

Expected Behavior
Opacity of component should change from 0.5 to 1
Actual Behavior
Opacity remains the same unless you press the component (which still looks like disabled)

Reproducible Demo
https://snack.expo.io/rJhh9F8Zz
import React, { Component } from 'react';
import { Text, View, StyleSheet, TouchableOpacity, Button } from 'react-native';
import { Constants } from 'expo';

export default class App extends Component {
  state = {
    isDisabled: true,
  }
  onPressBox=()=>{
    this.setState({
      isDisabled: !this.state.isDisabled,
    })
  }
  render() {
    const { isDisabled } = this.state
    return (
      <View style={styles.container}>
        <Text>
          Example of bug in TouchableOpacity.
          The green box is disabled initially.
          If you press "toggle `disabled`" is it supposed become fully opaque.
          It will not change opacity until you tap it.
        </Text>
        <View style={styles.column}>
          <View style={styles.row}>
            <TouchableOpacity
              style={isDisabled?styles.disabled:styles.enabled}
              disabled={isDisabled}>
              <View style={styles.box}>
                <Text>{isDisabled ? "Disabled" : "Enabled"}</Text>
              </View>
            </TouchableOpacity>
            <Button title="toggle `disabled`" onPress={this.onPressBox} />
          </View>
        </View>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
    paddingTop: Constants.statusBarHeight,
    backgroundColor: 'white',
  },
  enabled: {
    opacity: 1,
  },
  disabled: {
    opacity: 0.3,
  },
  row: {
    flexDirection: 'row',
  },
  column: {
    flexDirection: 'column',
  },
  box: {
    width: 100,
    height: 100,
    backgroundColor: 'green',
  },
});

I confirm that, I hope it can be fixed soon. Thanks!

@maxkomarychev I seems the problem is not solved so far. But I found the solution. You just need pass your {isDisabled?styles.disabled:styles.enabled}  style to the Text wrapper (to the View). Hope this will help more people to save time


the window has crashed

i was working on a html & css project advanced sass actually i switched back to cmd and browser and also save and cut and paste several times ........i thinks this was happen to that i also explore in google to solve but i m not enough pro to understand what to do ... pls help me on fixing it

/needsMoreInfo please post your version info and step by step instructions for how to reproduce. Maybe paste screenshots too. Also test with all extensions disabled.


AnimatedEditText only animates first character when using custom keyboard.

HI. I have a problem with your AnimatedEditText. I ran your sample app on my phone having a custom keyboard(Swiftkey keyboard). When i started entering characters, only the first character gets animated.
I debugged and found that onTextChanged() method returns start value as always zero.

Yes, that's a known issue. Swift or swiping effectively replace text which makes it a lot harder to figure out of the text is being added or not. Currently, I do plan to investigate if this is possible to solve. Will keep you posted.

I have created a workaround which works when using Swiftkey keyboards, by finding the current position of the cursor.

Fixed is version 0.0.3.
Swiping will animate text in.
Selecting words from auto suggest will animate in the word.
When typing with auto suggest, only the last character will animate, if you select a word to auto complete only the last character will animate.

I've updated the comments above. However, this was actually fixed in v0.0.4. Seems that swift would add a space after auto complete and swiping where as the default keyboard adds the space when a new word is typed. Should work now.

Great!. Will check it. Thanks.


rv32-ima

Does it work for rv32-ima platform?

@ElectroBoy404NotFound :

Does it work for rv32-ima platform?

Yes. It should work. Use this as reference: examples/physical/hifive/Makefile#L26
Changing, -march=rv32imac to -march=rv32ima should work (I haven't specifically tried this). Also, is there a specific platform you want to try this on?

@ElectroBoy404NotFound :

Does it work for rv32-ima platform?

Yes. It should work. Use this as reference: examples/physical/hifive/Makefile#L26
Changing, -march=rv32imac to -march=rv32ima should work (I haven't specifically tried this). Also, is there a specific platform you want to try this on?

I'm trying this on mini-rv32ima

It isn't working. The build image isn't booting!

some clarification,

Does it work for the rv32-ima platform?

For this, I assumed you were trying to compile for the ima extension of the RISC-V 32 CPU (and referred to that as the platform). The code should compile for that based on my comment.

It isn't working. The build image isn't booting!

If attempting to boot esh on mini-rv32ima, the startup sequence, the linker script, and the memory addresses in the Makefile would need some edits.
Could you share more details on how you are trying to boot?

Ah, i was trying to boot after compiling it directly. Then i tried to run it using the above mentioned platform, it gave nothing on the screen nor done anything.

That makes sense. The way shell works, it takes control of the CPU at the very early stage (quickly after boot). Because you are attempting a port on a new platform, the Setting up new project part of the documentation might help.
In the meantime, can you point me to the Address map of this platform? I can guide you further on how to do the port.

Hi!

That makes sense. The way shell works, it takes control of the CPU at the very early stage (quickly after boot). Because you are attempting a port on a new platform, the Setting up new project part of the documentation might help.
In the meantime, can you point me to the Address map of this platform? I can guide you further on how to do the port.

This is the Address map i know:
0x10000000 :- UART (8250 / 16550)
0x11100000 :- SYSCON
0x11004000 :- CLNT
0x11004004 :- CLNT
0x80000000 :- RAM (16MB)
The image is loaded into RAM before being run.

I found a linker file for this platform:
flatfile.lds

Hi,
I ported it to my platform by modifying everyhting necessory. It is working now. Thank you!

Awesome and Kudos!


[Feature request] - Unsubscribe/unregister for a course

if someone registers for a course, but then it is no longer relevant to be able to unregister

@Sarawilliams123 - I'm reviewing the issues you opened, but they appear to be for a different product, not for the community content contained within this repo. What product are you trying to file issues for?

@carlyrevier its for the community training platform
https://learn.microsoft.com/en-us/azure/industry/training-services/microsoft-community-training/get-started/microsoft-community-training-overview

@Sarawilliams123 - Thank you. Please leave feedback for this content using the "Feedback" control at the top of the page:

This will ensure that your feedback gets to the team who writes this documentation and owns the feature. The repo you've submitted these issues on is unrelated to the team that manages this content and feature. Thank you.


Is there a better or more efficient way I could be writing this Sharp code?

Question about an existing feature
What are you trying to achieve?
I'm sorry if this question looks dumb and silly...
I have 2 images and for different reasons, I have to get the metadata of those images before doing anything else with them. I feel like there is a lot of repetition in my code and I wanted to understand what are the most CPU intensive tasks that I am doing and also if there is any way I could decrease the number of operations I'm doing. For example I do this:
const print_template = await sharp("./images/Sketch001.png") const print_template_metadata = await print_template.metadata()
and then this later on:
    const print_file = await sharp("./images/Sketch001.png")         .composite([{ input: final_nft }])         .sharpen()         .png()         .toBuffer()
All I'd like to understand is, what is the most expending type of operation I'm doing with sharp in my program and is there any way I don't know of that I could do to do less operations and achieve the same result? For example when getting the metadata of an image, is there a way to get it from inside the .composite()?
I hope my question is not too messy and dumb. I put my code below to show what I mean. In the code below I get some images, apply some "filters" to extrapolate some new image etc. It's not important what I do I was just wondering if I was using sharp the wrong way basically.
When you searched for similar issues, what did you find that might be related?

Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this question
`
var result = await deepai.callStandardApi("torch-srgan", {
image: "https://ratdao.mypinata.cloud/ipfs/QmVv7jcg4q1LdPgmM8pwQ3ia9VtYdzLexeCFujeakmF4md"
});
let url = await result.output_url
const plain_nft_data = await axios.get("https://ratdao.mypinata.cloud/ipfs/QmVv7jcg4q1LdPgmM8pwQ3ia9VtYdzLexeCFujeakmF4md",  { responseType: 'arraybuffer' })
const plain_nft_buffer = Buffer.from(plain_nft_data.data, "utf-8")

const enhanced_nft_data = await axios.get(url,  { responseType: 'arraybuffer' })
const enhanced_nft_buffer = Buffer.from(enhanced_nft_data.data, "utf-8")

//
const print_template = await sharp("./images/Sketch001.png")
const print_template_metadata = await print_template.metadata()
//

const resized_nft_image = await sharp(plain_nft_buffer)
.resize(Math.round(0.8 * print_template_metadata["width"]), Math.round(0.7 * print_template_metadata["height"]), {fit: "inside"})
.png()
.toBuffer()

const nft = await sharp(resized_nft_image)
const nft_image_metadata = await nft.metadata()

const nft1 = await sharp(resized_nft_image)
    .sharpen()
    .png()
    .toBuffer()

const enhanced_nft_image = await sharp(enhanced_nft_buffer)
.resize(nft_image_metadata["width"], nft_image_metadata["height"])
.png()
.toBuffer()

const map = await sharp(nft1)
    .composite([{ input: enhanced_nft_image, blend: "out" }])
    .sharpen()
    .png()
    .toBuffer()

const final_nft = await sharp(map)
    .composite([{ input: enhanced_nft_image, blend: "out" }])
    .sharpen()
    .png()
    .toBuffer()`

Please provide sample image(s) that help explain this question

PNG encoding will probably be the bottleneck here, so you might want to experiment with the compressionLevel option for intermediate images.
https://sharp.pixelplumbing.com/api-output#png
(The irony of worrying about a task being CPU intensive when this example appears to relate to an "NFT" is not lost on me.)

ahahah nice, thank you for the help!! I'll look into that

I hope this information helped. Please feel free to re-open with more details if further assistance is required.


add Range.toString() to dart:html

This is an issue to track an earlier pull request which was merged and then backed out. Since it's marked as merged it probably no longer shows up as needing attention, the goal of this issue is to give the merge request some attention.
https://github.com/dart-lang/sdk/pull/28376

CC @alan-knight

Any updates on this?

Our team is currently heads down working on the Dart 2.0 unified frontends and tooling for DDC (since Dartium is deprecated), so this currently isn't a priority. You might have to just use JS interop until the web stack is more settled on our end.
Sorry for the lack of communication.


Add Support for Clip Control Extension (EXT_clip_control / glClipControlEXT)

Description
I am developing an app with OpenGL ES 3.0 and wish to implement reverse z buffer for high precision depth testing. You can see the article I am following if you are not familiar with this technique: https://nlguillemot.wordpress.com/2016/12/07/reversed-z-in-opengl/ . In order to use reverse-z, you need to change the GL clip range to 0.0 to 1.0 (similar to DirectX) rather than -1.0 to 1.0 on the z axis / depth buffer. In desktop GL 4.5 you can use the function glClipControl. For OpenGL ES 3.0 (e.g. on web or mobile) you would need the extension EXT_clip_control and the function glClipControlEXT. https://registry.khronos.org/OpenGL/extensions/EXT/EXT_clip_control.txt . It appears that RenderDoc does not support this extension, resulting in an "unsupported" warning message and the inability to capture a frame. What I am requesting is support for this extension and/or the ability to still capture while using it.

Environment

RenderDoc version: 1.32
Operating System: Ubuntu 24.04
Graphics API: OpenGL ES 3.0

This extension was already supported on proper GL, but it looked like the alias hadn't been set up for GLES. I don't have a test case for it but that commit should work - let me know if it doesn't.

Yeah, it works perfect!!! Thanks a bunch, huge help.

Actually, wait. It's not 100% working. The extension is now supported, so I can run RenderDoc and capture frames. However, the capture is not completely accurate with respect to the depth buffer. See the two images. First one is the app running the moment the frame is captured. The second is the capture in RenderDoc (final backbuffer). So there is some mismatch to how it is handling the depth now.
OpenGL ES3.0 app:

Exact frame captured in RenderDoc:

Can you share your application so that I can repro what's going on?

I found one other missing bit of GLES-equivalence handling on checking again for how the extension is used, so if you want you can try retesting with that change.

I have this problem too. when using RenderDoc to debug Android OpenGL Application that enable gl_clip_control extension. RenderDoc stop capture function. Please fix this with my appreciate.

I have this problem too. when using RenderDoc to debug Android OpenGL Application that enable gl_clip_control extension. RenderDoc stop capture function. Please fix this with my appreciate.

Can you share more details about your reproduction case and which RenderDoc version you are using. The extension support would require using a recent nightly build. RenderDoc v1.33 does not have support for the extension.

I'm working on a minimum reproduction now. The app I'm using just has a bunch of other stuff I have to take out first, cause it's a mess. Can maybe take a look tomorrow. Thanks.

So I put together a small project using the same setup as my larger project. I tested on the latest main pull from GitHub (as of like 1 hour ago) and it appears the issue is resolved.
ReverseZ.zip
But this is just a simple demo (it reads the depth and draws a full screen overlay) so it fixed my specific issue, though I'm not sure how to test it otherwise. You can run the app and press "D" to toggle the depth display. Previously, reading from this texture would have strange results in the RenderDoc capture (e.g. it would not match the display in the actual app).
Also, the code is some old testing stuff, so a bit messy, just search for "REVERSE Z" to see the relevant changes. Thanks.

It sounds like it is working using the latest code from GitHub.
Where does the problem happen and if the problem still occurs we will need a reproduction project.

Closing this due to lack of activity from the reporter and no further information to investigate.
If you are the reporter and this bug is still a problem for you, or you are someone finding this issue and you believe this bug is still a problem and you have more information to share, please do not comment here and instead please open a new issue. You can reference this issue if you wish, but opening a new issue prevents confusion of accidentally linking two unrelated bugs and means that each issue can be handled in a clean process.

Sorry for the delay. I was waiting for some response from the example app I posted last month. In any case, I was able to test RenderDoc v1.34 with my full application, and I can confirm this issue is completely resolved. Thanks.

You said in the message with your example application that it was working, which as Jake said doesn't help identify any bug that may be present so if there were a bug we would need an application that reproduces it.
It sounds like it's working and maybe was working before too, so I'm glad it's resolved for you.


Was this app taken down from the app store?

And if so, could you please release the IPA files here for side-loading it?

Shouldn't be, are you not seeing it?

https://github.com/OdyseeTeam/odysee-ios/assets/104597302/f9f152a4-758f-4a5d-a55f-0b123c60320c

We'll take a look, thank you. Definitely didn't receive any notifications.

@tzarebczan Thanks!
Also from another angle:
https://github.com/OdyseeTeam/odysee-ios/assets/104597302/1f5198d0-d2a0-49bd-b445-5dfaec1c4a35

Thank you again for bringing this to our attention. Looks like the developer program failed to renew recently due to an old card, and main account was linked to someone not with the company anymore.
Just renewed it, so it should be back on the store very soon!

I see it there now, woohoo!


Demonstrate simple Web application

It was raised that a simple Web application is painful with Gradle. Let's build a sample for this use case and identify the pain.
Please comment on what Web framework you are using so we can focus the demonstration.

We added a Spring boot sample: #11339

I think this request was coming more along the way of WAR and EAR type of web application. I created issue https://github.com/gradle/gradle/issues/11417 to track this.


Update to use of SeleniumLibrary

Any chance there will be an update to the base to include the shift from Selenium2Library to SeleniumLibrary as Selenium2Library will be considered deprecated in the latest version per:
http://robotframework.org/Selenium2Library/Selenium2Library.html
I currently use a modded init file to target the SeleniumLibrary to limit the need to install the older library on my docker calls for basic image testing.  Currently it looks like it may only effect the a few calls and as of now the direct change to the call in open_eyes works as is without mods to the other code.

@s-galante I got some time to work on this today. Here is the pull request.

Pull request has been merged. Support for SeleniumLibrary in version 0.56. pip install robotframework-eyes==0.56. Closing this. Thanks @s-galante

Hi Jess, did this improvement get carried into v0.58 or am I missing something?
Thanks!

Sweet! Thanks!


HHH-14212 Fix just another fetch graph issue

https://hibernate.atlassian.net/browse/HHH-14212
still investigating.

[x] create testing case that failed

[ ] fix issue by making the testing case succeed

From what I can see, the problem lies in the fact that we reset the entity graph context between after each row, but a single entity may be hydrated from multiple rows, and that's the case here.
Now how will we determine whether a row is part of the same entity than the previous one... that remains to be seen. We don't have much context to work with in this part of the code, unfortunately. Still looking into this.

close this PR in favour of another PR to reflect the new status


autocomplete should also complete path delimiters like '/'

I want to do a :vsp from a folder, with 1 file (Readme.md), and a couple of folders, 1 of them called Guide (the other folders have different first letters).
However, when I try to autocomplete starting :vps G, the autocompletion goes only to :vsp Guide, and no matter how many times I press tab, the / is not autocompleted. I would prefer if it was autocompleted to :vsp Guide/ so that I do not need to type / myself.

Duplicate of #754


chore(core): Make filetransferManager take in multiple fileTransfers

https://wandb.atlassian.net/browse/WB-19112
Description
Have fileTransferManager take in multiple fileTransfers to prepare for having different file transfers for reference artifact upload and downloads.
Currently reference artifacts are just handled in the python process
More info in design doc: https://www.notion.so/wandbai/Reference-Artifacts-in-Nexus-dda49560441b4d26bc685c00936173a1?pvs=4
Testing
Tested on dev by uploading artifacts and run files, everything worked as expected.

could you please provide more context why one manager needs multiple fileTransfers?
i'm just trying to understand why not just have multiple managers, so would be useful to understand how you expect it to work

https://www.notion.so/wandbai/Reference-Artifacts-in-Nexus-dda49560441b4d26bc685c00936173a1?pvs=4

Hi Katia I have it outlined in this design doc on how I'm expecting this to work! https://www.notion.so/wandbai/Reference-Artifacts-in-Nexus-dda49560441b4d26bc685c00936173a1?pvs=4
As for having new managers instead of fileTransfers in the sendRequestDownloadArtifact we pass in a manager. I don't think it makes sense to pass in different managers depending on what is in the artifact manifest it could have references and/or regular files. But is there something else you had in mind on having multiple managers?

https://www.notion.so/wandbai/Reference-Artifacts-in-Nexus-dda49560441b4d26bc685c00936173a1?pvs=4

Hi Katia I have it outlined in this design doc on how I'm expecting this to work! https://www.notion.so/wandbai/Reference-Artifacts-in-Nexus-dda49560441b4d26bc685c00936173a1?pvs=4
As for having new managers instead of fileTransfers in the sendRequestDownloadArtifact we pass in a manager. I don't think it makes sense to pass in different managers depending on what is in the artifact manifest it could have references and/or regular files. But is there something else you had in mind on having multiple managers?

Thanks for the link to the doc, this context is good enough and i'm glad you went with the struct approach.
The idea of the filetransfer being an interface is that we could swap different ones based on the initialization, i didn't realize that each task will actually need a different filetransfer.


Convert line-breaks to spaces in LHN message preview

Details

Fixed Issues

Fixes #2965
Tests / QA Steps

Navigate to a conversation
Send this message

Cool
Test
Of
New line

Check the message preview in the LHN.
There should be a space between newlines text in the preview.
Multiple new lines should only add one space.

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots

Web

https://user-images.githubusercontent.com/24370807/119172088-17efb680-ba83-11eb-80f1-da2db87bc7b2.mp4
Mobile Web

Desktop

iOS

Android

Blocker: We also need to modify the backend so that it convert  to spaces while sending data from Pusher & API

Bumping here so that blocker can be resolved. Thanks.

@deetergp Have you got a chance to review it? And could you please tag the right guy for backend blocker. Thanks

Hey @parasharrajat 👋 Been a bit swamped with other stuff, but getting up to speed on this. I'm pretty sure the answer to this is "no" but do you know whether there was a GH made for the back end portion of this? If there is, then I don't want to step on someone else's toes, but if one hasn't been made, I will put one together and probably just do the work myself. Thanks!

@parasharrajat Can you explain why backend changes are needed?

Yes. @deetergp. When we save the report using the Report_AddComment we send all the html and this ali returns a response back which includes text as well. I saw that this text is different from what we have send. Also, other user with receive the Pusher event with the message payload that also contains the text. Let me know if I am missing something here.

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

@parasharrajat @deetergp
We found this issue in Android and iOS apps
2 spaces are displayed in LHN for a line break
Expected result
Only 1 space should be displayed for a line break
Actual result
2 spaces are displayed for a line break
Action Performed

Navigate to a conversation
Send this message

Cool
Test
Of
New line

Check the message preview in the LHN.

Platform
iOS ✔
Android ✔
Images/Notes/Video

Will open a separate issue for the above 🔝 Following Rory's comment here https://github.com/Expensify/Expensify.cash/pull/3059#issuecomment-853345313


searchDisjunctiveFaceting function unavailable in ObjC API version 3.5

Hi,
I was trying to a disjunctive search using objective c API, when i searched through the api documentation, i found this
Query* query = [[Query alloc] initWithQuery:@"luxury"];
query.facets = @[@"facilities", @"stars"];
NSDictionary* refinements = @{
@"facilities": @[@"wifi"],
@"stars": @[@"4", @"5"]
};
[index searchDisjunctiveFaceting:query disjunctiveFacets:@[@"stars"] refinements:refinements completionHandler:^(NSDictionary* content, NSError* error) {
// [...]
}];
but when i try writing the code the function  searchDisjunctiveFaceting doesn't appear.

@SyedIsmailAhamed This Objective-C API client is deprecated (has been for several months, now).
All Objective-C samples from the documentation (like the Filtering & Faceting guide to which you are probably referring) actually use the Swift API client. Note that you can still code in Objective-C and use the Swift client; we went to great lengths to ensure that.
There was indeed no disjunctive faceting in the legacy Objective-C client, and there will never be, as this project only receives critical bug fixes.
So my best advice is to migrate to our Swift client. It should be rather straightforward. Furthermore, there is a Migration guide to help you in this process.

Thanks,I managed to to use Swift API client in objective c, but am not getting how do i initialise index object.

/// A proxy to an Algolia index.
///
/// You cannot construct this class directly. Please use Client.getIndex()
///  to obtain an instance.
am unable to get  Client.getIndex()

@SyedIsmailAhamed What do you mean by "unable"?
This code should compile fine with version 3.x:
Client* client = [[Client alloc] initWithAppID:@"YOUR_APP_ID" apiKey:@"YOUR_API_KEY"];
Index* index = [client getIndex:@"YOUR_INDEX_NAME"];

... as can be seen in our Objective-C demo.
Warning: If you use the latest version of the Swift client (4.0), Client.getIndex(_:) is now Client.index(withName:) (-[Client indexWithName:] in Objective-C).


pulsar-perf support setting message key

Fixes #7896
Motivation
In the key-shared mode, only one consumer can consume the message. Therefore, pulsar-perf should support setting message key
Modifications
Added a parameter, user can set the message key generation mode: radom or autoIncrement
Verifying this change
org.apache.pulsar.testclient.PerformanceProducerTest

/pulsarbot run-failure-checks

Move this change to 2.6.2, because the #8090 depends on it.


Architecture Question

I looked into using this package for a project I'm working on, but I wanted to throw out a question about the architecture of your worker. It seems to me that your worker is a little more fragile than it needs to be because it's re-implementing parent methods (seemingly just for unit test purposes).
It seems to me that it would be better to let the parent class do as much as possible. That way any future improvements or bug fixes to the parent worker don't have to be re-implemented in your child worker.
I created a solution based off your work (which is very much appreciated), but tried to keep it more bare-bones. The core logic of my child worker is below (the only methods I override are __construct() and runNextJob()). Do you think this approach is something you would be interested in taking for your implementation?
public function runNextJob($connectionName, $queue, WorkerOptions $options)
{
    try {
        $this->assertClearAndOpenEntityManager();
        $this->assertDatabaseConnected();

        parent::runNextJob($connectionName, $queue, $options);
    } catch (EntityManagerClosedException $e) {
        $this->exceptions->report($e);

        $this->stop();
    } catch (Exception $e) {
        $this->exceptions->report($e);

        $this->sleep($options->sleep);
    } catch (Throwable $e) {
        $this->exceptions->report(new FatalThrowableError($e));

        $this->sleep($options->sleep);
    }
}

Hi @ChrisSchwerdt this is a good idea and I've tried to implement it here: d16f99b, let me know if you have any thoughts.

I think it looks great! Even better now that Laravel 5.4 created an explicit runJob() method so there's no need to sleep() in the child class. Thanks for taking my comments into consideration. 👍


API: Warn or raise for > 1 char encoded sep

The system file encoding can cause a separator to be encoded as more than one character even though it maybe provided as one character.  Multi-char separators are not supported by the C engine, so we need to catch this case.
Closes #14065.

Current coverage is 85.27% (diff: 100%)

Merging #14120 into master will increase coverage by <.01%

@@             master     #14120   diff @@
==========================================
  Files           139        139
  Lines         50511      50517     +6
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          43071      43078     +7
+ Misses         7440       7439     -1
  Partials          0          0

Powered by Codecov. Last update 10bf721...152b685

do we need an additional test for this?

Test is in test_unsuppported.py.

thanks!


Enable the merge button only if the user is the pull-request assignee

Migrated from https://github.com/buildo/infra/issues/134 by @ascariandrea .
I'm still trying to figure out if this could be helpful or not, but we can discuss.
It should be helpful for prevent accidental merges.
We can also disable it for the user that creates the pr, avoiding self-merging pr.
Obviously considering the project specs and workflow.

I think the only effect this would have is to force the user who wants to merge it to self-assign the PR and then merge it :stuck_out_tongue_closed_eyes:
IMO this extension should help us following some convention not force us (that's why you can still merge PRs without a test plan if you really want it)
@buildo/everyone

I would consider this in case we have issues with accidental merges, but this doesn't seem the case, so far. I'd skip it for now.

I would consider this in case we have issues with accidental merges

I think we can always revert merges in the event of a wrong merge

Yup. Not the best scenario ever, but yes. Anyway, closing until we have a concrete use case.


Slow model loading

Hi I'm using blip-2 and the loading of the models into GPU (weights cached) works very slowly
AutoModelForCausalLM.from_pretrained('facebook/opt-6.7b', cache_dir=".")
load_model_and_preprocess(name="img2prompt_vqa", model_type="base", is_eval=True, device=device)
each take a few minutes. Is tat normal?
Can someone help here?

The first time the model is loaded, the library downloads the checkpoints automatically. LLM checkpoints are large. Thus this can take quite a while depending on the connection. Besides the downloading, loading checkpoints for these large models can take a while.

Yes, I'm not talking about the downloading.
Only the loading into memory takes ~5 minutes each. This is huge right?
Any way to speed this up?

If it is within minutes, depending on the hardware, it is most likely expected.
The img2prompt model uses HF implementation for LLM underhood. It may be worth looking what's out there in HF/HF-accelerate for speeding up loading.

I've noticed the same. It's odd because larger models than this seem to load much quicker.

I've encountered a similar issue. When using load_model_and_preprocess as shown below:
model, vis_processors, _ = load_model_and_preprocess(name="blip2_opt", model_type="pretrain_opt6.7b", is_eval=True, device=device)
Loading the model into an A100-40G takes approximately 3.5 minutes. I'm quite curious about the reason behind it.


Variants interface, two implementations, and a test

We need a interface for variants that can be backed by the Google variant as well as VariantContext (from htsjdk). At first, we only need interval and isSNP/isIndel, so that's the interface right now. This shouldn't impact clients much as the interface interface grows because it will initially only be filled by Hellbender code.

...so gradle check works locally. The codeship appears to have an R install related problem, and I have no idea what's going on with CircleCI.

Coverage increased (+0.02%) to 70.78% when pulling c876d7f6e9734ca67c44c0b491dbb31d3a068adc on da_variant_start into 6f1ba7a70dddd67174373aa0ea4afc896ac473e7 on master.

Probably CircleCI might not be at Gradle 2.1 or higher for the Gradle Download Task plugin.

This is failing on codeship due to R issues.  Feel free to ignore that in this case.  Rebasing onto master should fix the failures, but need to bother.

CircleCI isn't configured yet.  We're experimenting with both it and codeship.

Ah, thanks for clarifying @lbergelson.

@pgrosu Sorry for the confusion!

No worries @lbergelson :)

First-pass review complete -- back to @davidadamsphd for modifications.

Coverage increased (+0.7%) to 71.46% when pulling 3a679f4d81a5c38ae388196e3c1c371228a6df5f on da_variant_start into 6f1ba7a70dddd67174373aa0ea4afc896ac473e7 on master.

Second pass review complete -- back to @davidadamsphd

Coverage increased (+0.81%) to 71.57% when pulling e7ca018920f2d3c4a96845cd83ab2052165e5cae on da_variant_start into 6f1ba7a70dddd67174373aa0ea4afc896ac473e7 on master.

One final task, then this is ready for rebase and merge :+1:

Changes Unknown when pulling b3d1e6d6e9c1d81a7d9d1d6b914604c6cdc68a88 on da_variant_start into ** on master**.

Changes Unknown when pulling b3d1e6d6e9c1d81a7d9d1d6b914604c6cdc68a88 on da_variant_start into ** on master**.

Changes Unknown when pulling b3d1e6d6e9c1d81a7d9d1d6b914604c6cdc68a88 on da_variant_start into ** on master**.

Coverage decreased (-0.02%) to 71.58% when pulling 3df1e537fb363caa07ee59f53ce154dc7ef66d85 on da_variant_start into d535d4f2df95875e2c6a4f6df69177f6a2f6bba9 on master.

3 minor comments, then feel free to rebase and merge this yourself.

Coverage increased (+0.03%) to 71.73% when pulling bce58731b67230daf69d5605dd58c2db53a57836 on da_variant_start into c7966d04bba061b8fd3e21118b132aae0e5a7703 on master.


Feat/live results

closes  https://github.com/Stand-With-Crypto/swc-web/issues/1461
fixes
What changed? Why?

PlanetScale deploy request

Notes to reviewers

How has it been tested?

[ ] Locally
[ ] Vercel Preview Branch
[ ] Unit test
[ ] Functional test

closed in favor of https://github.com/Stand-With-Crypto/swc-web/pull/1540


Add Travis CI support

This change is

@ale5000-git Dunno why exactly (probably a rebase), but you included an empty commit in your PR. Marvin avoided it anyway, but you should take care of this before pushing. ;)

@ArchangeGabriel:I don't know what is the cause, I mostly use the web interface of GitHub and sometimes a SVN client to access Git (GitHub support it) because I don't like Git clients too much.


Add check to ensure all hereditary diseases use "has characteristic" some "inherited"

Based on the comment here, a check is needed to ensure that all hereditary diseases use "has characteristic" some "inherited". The change in the linked PR is in the src/ontology/imports/axioms.owl file and more details on that file will be needed to understand how that is used in Mondo.

@twhetzel I think we already have this QC check. I can't find it but let me do a test PR to see if I can figure out what it is called


Premature Context State Modification in DeriveChild Implementation

Impact
The implementation of the DeriveChild command prematurely modified certain properties
of the new or parent context before it was certain that the command would succeed. This
could lead to the behaviour of the parent context changing when computing measurement
hashes or invalidating parent contexts.
Because all of the state-changing statements occurred subsequent to validation of the
supplied context handle and locality, this could not be abused to modify contexts to which
the attacker did not already have accessed, and therefore judged to carry a low overall risk.

Fixed by https://github.com/chipsalliance/caliptra-dpe/issues/191


Verify that sizes in Memory<T> copy methods are compatible.

The requirements for the size parameter is only specified in the documentation for some reason, I think this should be an MFEM_VERIFY, or at least an MFEM_ASSERT.

Why remove the documentation?

Why remove the documentation?

I didn't think it added any value since the contract is enforced by the code, but I can add it back.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

The only question is whether the check should be MFEM_ASSERT or MFEM_VERIFY. Do we have any automated way of identifying and measuring performance regressions?

In these methods, I don't expect performance impact from the checks. The only potential problem with MFEM_VERIFY in inline methods is that it duplicates the error handling code which is much larger than the check itself. However, I don't expect these specific methods to be instantiated many times, so using MFEM_VERIFY should be fine. That said, I'll be fine with switching to MFEM_ASSERT as well.

@camierjs and @acfisher, are you interested in reviewing this?

ping: @camierjs and @acfisher

Merged in next for testing...


Update mouse moved time on header hover

Previously, moving the mouse into the player window from the sides or
bottom would bring up the HUD, but moving the mouse in from the top
would not. With this commit, moving the mouse in from the top of the
window will also bring up the HUD.
Fixes feross/webtorrent-desktop#241

LGTM

LGTM. Thanks @thepelkus-too !