Running with bf16 error

Describe the bug
I tested bf16 training with various configurations, including the one given at configs/bf16_125M.yml, but all of them failed.
I list the configurations and corresponding errors bellow.
Code is running on 8 A100 GPUS and the latest gpt-neox repo is used.
Config 1, which is the same as configs/bf16_125M.yml
"zero_optimization": {
    "stage": 0,
    "allgather_partitions": True,
    "allgather_bucket_size": 500000000,
    "overlap_comm": True,
    "reduce_scatter": True,
    "reduce_bucket_size": 500000000,
    "contiguous_gradients": True,
  },

"fp16": {
     "enabled": true,
     "type": "bfloat16", # set bf16 as precision
     "loss_scale": 0,
     "loss_scale_window": 1000,
     "hysteresis": 2,
     "min_loss_scale": 1
   },
"fp32_allreduce": True, # without a patch to torch, bf16 models have to do the allreduce in fp32

error
Traceback (most recent call last):
  File "train.py", line 27, in <module>
    pretrain(neox_args=neox_args)
  File "gpt-neox/megatron/training.py", line 226, in pretrain
    iteration = train(
  File "gpt-neox/megatron/training.py", line 778, in train
    loss_dict, skipped_iter = train_step(
  File "gpt-neox/megatron/training.py", line 684, in train_step
    reduced_loss = train_step_pipe(
  File "gpt-neox/megatron/training.py", line 734, in train_step_pipe
    loss = model.train_batch(data_iter=data_iterator)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 346, in train_batch
    self._exec_schedule(sched)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 1374, in _exec_schedule
    self._exec_instr(**cmd.kwargs)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 658, in _exec_forward_pass
    outputs = super().forward(inputs)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/utils/nvtx.py", line 11, in wrapped_fn
    ret_val = func(*args, **kwargs)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/engine.py", line 1844, in forward
    loss = self.module(*inputs, **kwargs)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/module.py", line 359, in forward
    x = self.activation_checkpoint_func(
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/activation_checkpointing/checkpointing.py", line 754, in checkpoint
    CheckpointFunction.apply(function, all_outputs, *args)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/activation_checkpointing/checkpointing.py", line 588, in forward
    outputs = run_function(*inputs_cuda)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/module.py", line 337, in exec_func
    inputs = layer(inputs)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "gpt-neox/megatron/model/transformer.py", line 912, in forward
    return super().forward(hidden_states, attention_mask), attention_mask
  File "gpt-neox/megatron/model/transformer.py", line 874, in forward
    attention_output, attention_bias = self.attention(
  File "anaconda3/envs/neox/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "gpt-neox/megatron/model/transformer.py", line 705, in forward
    context_layer = self.attention(
  File "gpt-neox/megatron/model/transformer.py", line 502, in attention
    context_layer = torch.bmm(attention_probs, value_layer.transpose(0, 1))
RuntimeError: expected scalar type Half but found Float

Config 2
"zero_optimization": {
    "stage": 0,
    "allgather_partitions": True,
    "allgather_bucket_size": 500000000,
    "overlap_comm": True,
    "reduce_scatter": True,
    "reduce_bucket_size": 500000000,
    "contiguous_gradients": True,
  },

"bf16": {
    "enabled": true,
  },

errors
 File "train.py", line 27, in <module>
    pretrain(neox_args=neox_args)
  File "gpt-neox/megatron/training.py", line 226, in pretrain
    iteration = train(
  File "gpt-neox/megatron/training.py", line 789, in train
    overflow_monitor.check(skipped_iter)  # check for repeated overflow
  File "gpt-neox/megatron/utils.py", line 356, in check
    self.optimizer.overflow
AttributeError: 'BF16_Optimizer' object has no attribute 'overflow'

Also, if running with zero stage 1, there is a NotImplementedError:
File "train.py", line 27, in <module>
    pretrain(neox_args=neox_args)
  File "gpt-neox/megatron/training.py", line 226, in pretrain
    iteration = train(
  File "gpt-neox/megatron/training.py", line 778, in train
    loss_dict, skipped_iter = train_step(
  File "gpt-neox/megatron/training.py", line 684, in train_step
    reduced_loss = train_step_pipe(
  File "gpt-neox/megatron/training.py", line 734, in train_step_pipe
    loss = model.train_batch(data_iter=data_iterator)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 346, in train_batch
    self._exec_schedule(sched)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 1374, in _exec_schedule
    self._exec_instr(**cmd.kwargs)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 258, in _exec_reduce_grads
    raise NotImplementedError()

These deepspeed code snippets are different from latest official deepspeed.

Updata
I find that bfloat16 is only ok with pipe-parallel-size=0 ,  maybe we should use deepspeed pp?
The below config works and is compatible with arguments.py
"pipe-parallel-size": 0,
"bf16": {
    "enabled": true,
  },
  "fp16": {
    "enabled": false,
    "type": "bfloat16",
    "loss_scale": 0,
    "loss_scale_window": 1000,
    "hysteresis": 2,
    "min_loss_scale": 1,
    "initial_scale_power": 12
  },

Yeah, my apologies @Life-0-1 -- putting it in the fp16 dict is deprecated by DeepSpeed and we decided that adding yet another bf16 config would be confusing. I'll update the demo file

@Life-0-1 does this fix solve your issue?

@Life-0-1 does this fix solve your issue?

Yes, this enables bfloat16 training with a more clear config.
But it seems bfloat16 doesn't go well with megatron pipe parallelism? I have to set pipe-parallel-size=0 .
Is it a bug or normal? Can you give me some references about this?
In BLOOM, they used deepspeed pipe parallel, and it seems compatible with bfloat16? I'm not sure with this, please correct me if I'm wrong.

@Life-0-1 what error do you get when you use pipe_parallel_size > 0?

@Life-0-1 what error do you get when you use pipe_parallel_size > 0?
This error occurs with "pipe-parallel-size": 1 and zero stage 1.

Traceback (most recent call last):
  File "train.py", line 27, in <module>
    pretrain(neox_args=neox_args)
  File "gpt-neox/megatron/training.py", line 226, in pretrain
    iteration = train(
  File "gpt-neox/megatron/training.py", line 778, in train
    loss_dict, skipped_iter = train_step(
  File "gpt-neox/megatron/training.py", line 684, in train_step
    reduced_loss = train_step_pipe(
  File "gpt-neox/megatron/training.py", line 734, in train_step_pipe
    loss = model.train_batch(data_iter=data_iterator)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 346, in train_batch
    self._exec_schedule(sched)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 1374, in _exec_schedule
    self._exec_instr(**cmd.kwargs)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 258, in _exec_reduce_grads
    raise NotImplementedError()
NotImplementedError

@Life-0-1 what error do you get when you use pipe_parallel_size > 0?

This error occurs with "pipe-parallel-size": 1 and zero stage 1.
Traceback (most recent call last):
  File "train.py", line 27, in <module>
    pretrain(neox_args=neox_args)
  File "gpt-neox/megatron/training.py", line 226, in pretrain
    iteration = train(
  File "gpt-neox/megatron/training.py", line 778, in train
    loss_dict, skipped_iter = train_step(
  File "gpt-neox/megatron/training.py", line 684, in train_step
    reduced_loss = train_step_pipe(
  File "gpt-neox/megatron/training.py", line 734, in train_step_pipe
    loss = model.train_batch(data_iter=data_iterator)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 346, in train_batch
    self._exec_schedule(sched)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 1374, in _exec_schedule
    self._exec_instr(**cmd.kwargs)
  File "anaconda3/envs/neox/lib/python3.8/site-packages/deepspeed/runtime/pipe/engine.py", line 258, in _exec_reduce_grads
    raise NotImplementedError()
NotImplementedError

Below is the relevant deepspeed code, and the logic behind the code is bf16 only works with zero optimization stage 0.
def _exec_reduce_grads(self):
        self._force_grad_boundary = True
        if self.pipeline_enable_backward_allreduce:
            if self.bfloat16_enabled():
                if self.zero_optimization_stage() == 0:
                    self._bf16_reduce_grads()
                else:
                    assert self.zero_optimization_stage() == 1, "only bf16 + z1 are supported"
                    raise NotImplementedError()
            else:
                self.allreduce_gradients(bucket_size=MEMORY_OPT_ALLREDUCE_SIZE)
        self._force_grad_boundary = False

After setting zero stage to 0, below error occurs:
Traceback (most recent call last):
  File "train.py", line 27, in <module>
    pretrain(neox_args=neox_args)
  File "gpt-neox/megatron/training.py", line 226, in pretrain
    iteration = train(
  File "gpt-neox/megatron/training.py", line 789, in train
    overflow_monitor.check(skipped_iter)  # check for repeated overflow
  File "gpt-neox/megatron/utils.py", line 356, in check
    self.optimizer.overflow
AttributeError: 'BF16_Optimizer' object has no attribute 'overflow'

encountered the same problem.


Update: wiznote.wiznote version 4.13

Removing old versions to reduce clutter
Microsoft Reviewers: Open in CodeFlow

/azp run


Carthage Won't Build Assimpkit

Hi there!
For some reason, Carthage will pull down Assimpkit into my project but then fails on the build stage. I have verified that 7z is installed add accessible.
Do you know what else I can do? Is there a way to bypass the automatic Build step and get that part done on my own?
TERMINAL OUTPUT:
Aarons-MacBook:ARAppExperimentation aaronnicholson$ carthage update
*** Fetching AssimpKit
*** Checking out AssimpKit at "v1.2.0"
*** xcodebuild output can be found in /var/folders/jz/pnpc67p54ns9vzv8d5092twh0000gn/T/carthage-xcodebuild.wKqsm3.log
*** Building scheme "AssimpKit-iOS" in AssimpKit.xcworkspace
Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -workspace /Users/aaronnicholson/Documents/iOS\ Tutorials/ARAppExperimentation/Carthage/Checkouts/AssimpKit/AssimpKit/AssimpKit.xcworkspace -scheme AssimpKit-iOS -configuration Release -derivedDataPath /Users/aaronnicholson/Library/Caches/org.carthage.CarthageKit/DerivedData/9.2_9C40b/AssimpKit/v1.2.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/jz/pnpc67p54ns9vzv8d5092twh0000gn/T/AssimpKit SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO (launched in /Users/aaronnicholson/Documents/iOS Tutorials/ARAppExperimentation/Carthage/Checkouts/AssimpKit)
This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/jz/pnpc67p54ns9vzv8d5092twh0000gn/T/carthage-xcodebuild.wKqsm3.log
LOG FILE CONTENT:
Attached
carthage-xcodebuild.wKqsm3.log

Your carthage update fails because for some unknown reason, your checkout does not have the .7z archives.
From your log:
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64)

Scanning the drive for archives:

Command Line Error:
Cannot find archive

which should ideally be:
Scanning the drive for archives:
1 file, 13415479 bytes (13 MiB)

Extracting archive: /Users/deepaksurti/tmp/AssimpKitCarthage-iOSDemo-v12/Carthage/Checkouts/AssimpKit/AssimpKit/Library/../Assimp/lib/ios/libassimp-fat.7z
--
Path = /Users/deepaksurti/tmp/AssimpKitCarthage-iOSDemo-v12/Carthage/Checkouts/AssimpKit/AssimpKit/Library/../Assimp/lib/ios/libassimp-fat.7z
Type = 7z
Physical Size = 13415479
Headers Size = 138
Method = LZMA:25
Solid = -
Blocks = 1

Everything is Ok

Size:       122698872
Compressed: 13415479
Extracting iOS fat lib...

You need to fix carthage issues. I tried on a sample project with 1.2.0 and there were no issues with carthage installation. There is also a sample project for quick testing of AssimpKit installation with Carthage: https://github.com/dmsurti/AssimpKitCarthage-iOSDemo.

This one was because paths in build script are not quoted.

PR with fix - https://github.com/dmsurti/AssimpKit/pull/100

@anton-plebanovich Thanks so much. I will review this over the weekend/merge it. Cheers.


Adding extension type for pd.RangeIndex

This commit adds Numba extension types for pandas.RangeIndex class,
allowing creation of pd.RangeIndex objects inside and passing and returning them
to/from nopython functions.

Hello @kozlov-alexey! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sdc/extensions/indexes/range_index_ext.py:

Line 45:1: E302 expected 2 blank lines, found 1
Line 46:87: W291 trailing whitespace
Line 251:5: E306 expected 1 blank line before a nested definition, found 0
Line 266:5: E306 expected 1 blank line before a nested definition, found 0
Line 323:30: E712 comparison to True should be 'if cond is True:' or 'if cond:'

In the file sdc/tests/test_indexes.py:

Line 349:35: E203 whitespace before ','


Paste doesn't work in PowerShell terminals when a screen reader is enabled

This is happening because PSReadLine is disabled intentionally

Warning: PowerShell detected that you might be using a screen reader and has disabled PSReadLine for compatibility purposes. If you want to re-enable it, run 'Import-Module PSReadLine'.

Easy fix to use !CONTEXT_ACCESSIBILITY_MODE_ENABLED for the special PS paste command.
fyi @TylerLeonhardt @isidorn

To verify on Windows:

Enable NVDA
Copy something
Open a terminal
Ctrl+V should paste


WIP: validate for overflowing and truncating casts

Fixes #3440

I know this might be undesirable because it costs performance, but the pattern that I usually follow for these kinds of casts is SmallerIntegerType::try_from(bigger_integer_value).unwrap_or_else(|| unreachable!("Can't fail because <insert reason>"))

For the most part, I'm trying to avoid panics because they've caused issues before. Trying to encode too large of a value is generally a recoverable error.


projects/samples/devices doesn't have an exhaustive list of devices

At least accelerometer.wbt is missing. An exhaustive match would be great.

Brake is also not present (but it's certainly less important)

I propose to add:

accelerometer.wbt: a MyBot with an accelerometer and 8 LEDs rotates on a slope and enable only the most bottom LED (equivalent to e-puck_cross-compilation.wbt which is a good example IMO)
brake.wbt: a motorized wheel is turning after some impulsion. After a while, the brake is enabled and the wheel stops. It would be good to see graphically the Brake (for example with graphical linear motor like a bike brake).

Fixed in #730


neofetch command does not display its own version

When I run neofetch it doesn't display 7.1.0, I have to run neofetch --version  on purpose. Could you just add the neofetch version with the normal command?

No. You can add this via your configuration file.
See: https://github.com/dylanaraps/neofetch/wiki/Customizing-Info

you can add this line to your neofetch config: (probably at ~/.config/neofetch/config.conf)

this wiki page is somewhat relevant
BRUH he closed it before I finished typing smh

Thank you, at least it can be done, didn't read the configuration options.


Request to tag a preferred tile diagram

A tile can reference multiple diagrams.  Please consider a method to pin or tag a preferred diagram to a tile.

From a tile's dropdown of matching diagrams, right click on a diagram name to select it as the preferred diagram.


Intro to "Custom Integrations", some Helm/JMeter cleanup

Signed-off-by: Meg McRoberts<EMAIL_ADDRESS>This PR:

Adds a brief discussion about integration services
Updates "Keptn and other docs" to reflect new status of JMeter and Helm
Adds note about JMeter and Helm to "Upgrade" for 0.19.x

https://github.com/keptn/keptn.github.io/issues/1492

@agardnerIT @StackScribe can we close this? it has been stale for some time

Keptn V1 has reached EOL on December 22nd, 2023, so this PR has been closed.


Attempt to reduce the number of embedded stdlib targets being built simultaneously.

We are seeing strange crashes during embedded stdlib build stage on Ubuntu 24.04. These crashes only seem to occur when we dispatch many stdlib emit-module tasks at the same time. While we root-cause it, this change attempts to slow down the process to only two Embedded StdLib tasks at-a-time.
Workaround for rdar://137674862

@swift-ci test


Report XML file no longer generated

After several months of working as expected, it seems junit-formatter is no longer generating the report file. If I lock the version down to either 1.0.0 or 1.0.1 in my mix.exs, the report is generated again and it works as expected. No other version seems to work. We're using the default options.
Apologies in advance for not having much to go on with this issue. I'll keep digging, but I wanted to see if anyone else has any ideas.
Here's a timeline of a few significant events in case it provides any clues, but I don't see any correlations:
Oct. 30, 2016 - junit-formatter 1.2.0
Nov. 7, 2016 - My project added junit-formatter
Feb. 9, 2017 - junit-formatter 1.3.0
Mar. 4, 2017 - My project upgraded to Erlang 19.2 and Elixir 1.4.2
Apr. 5, 2017 - junit-formatter no longer generating the XML results file
System:
Centos 7
Erlang 19.2
Elixir 1.4.2
I'll keep digging, but if anyone has any thoughts, I'd appreciate it.

Hey @stevelove! Thanks for your report!
Can you provide some extra info? For example:
1 - What is your config for JUnitFormatter?
2 - Do you generate reports outside of the projects structure?
3 - Are you using multiple failures that were introduced in Elixir 1.2 (I am still waiting for feedback on #8)?
4 - What is your test_helper.exs config?
Regards,

Thanks for the reply @cs-victor-nascimento, your question about the JUnitFormatter config helped me find a resolution.
We haven't been specifying any configuration because the defaults were acceptable to us. Out of curiosity, I simply added config :junit_formatter, report_dir: "_build/test" and now the report is generated as before, while using the latest version.
I'm happy to close the issue now, unless you'd like to keep it open to associate with any kind of fix.

Hey @stevelove. Nice it worked. Will be closing the issue now. Feel free to re-open if you think it needs more discussing.
Cheers,


Fuelux 3.11.0 not installable on Windows

Hi there,
Fuelux 3.11.0 is not installable on Windows because of the usage of ./postinstall.sh as the post-install script. Npm complains that . is not a valid command or external program. Using sh postinstall.sh would work on my machine (because I use a Unix emulation layer msys2 to not name it). But it would not work on all Windows machine.
It's not yet available on npm registry but installing via github does the same as npm registry I guess. I tried 3.11.0 that fast because we had problem installing previous npm released version (3.10.0) since bower is in devDependencies and as such, postinstall script was not working.
Here test package.json:
{
 "name": "fuelux-install-test-windows",
 "version": "0.0.1",
 "private": "true",
 "dependencies": {
   "fuelux": "ExactTarget/fuelux.git#3.11.0"
 }
}

And npm install output:
$ npm install
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.10.x"} (current: {"node":"0.12.2","npm":"2.7.4"})

><EMAIL_ADDRESS>postinstall C:\Users\movachon\Scrapbook\web\fuelux-install\node_modules\fuelux
> ./postinstall.sh

'.' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Local\\Node\\0.12.2\\node.exe" "C:\\Local\\Node\\0.12.2\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! node v0.12.2
npm ERR! npm  v2.7.4
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>postinstall: `./postinstall.sh`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script './postinstall.sh'.
npm ERR! This is most likely a problem with the fuelux package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ./postinstall.sh
npm ERR! You can get their info via:
npm ERR!     npm owner ls fuelux
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\movachon\Scrapbook\web\fuelux-install\npm-debug.log

Regards,
Matt

My apologies to our Windows user friends. We will certainly get this cleaned up.

No problem. I'm willing to propose a patch but I would like to understand the intention. Here my understanding right now.

Prior say 3.10.0 (did not search extensively which version exactly), bower was a core dependencies and was listed in dependencies bucket of the package.json.
After 3.10.0, bower is now a development dependencies and as such, previous post install script could not work out of the box anymore. So you removed it.
Then it was re-added as a bash script but conditionally with an environment variable.

Was the last step to ease developer working on fuelux? For easier CI building? What would be the impact of simply dropping post-install script?

We auto-deploy Fuel UX to Heroku for designers and others to be able to view the current state of #master branch visually and interact with it.
Now that Fuel UX can be installed on NPM, bower is still needed for the deploy. This is an ENV variable flag to ask Heroku to install Bower, but only Heroku or other deploys that need it. For Fuel UX to deploy as an app itself we can just ask that it do a development install with devDependencies, but in apps that need Fuel UX as an NPM dependency, it is being asked for the production version of Fuel UX and therefore does not install Bower. An example: https://github.com/ExactTarget/fuelux-mctheme/blob/master/package.json#L30
In summary, it's a hack to make Bower work in apps that have Fuel UX as an NPM dependency and use bower in the front end <script> tags.
Another answer and probably the best one is to move these "testing/development/edge version apps" away from Bower usage on the front end and make them use NPM scripts from the node_modules folder. These are not "production apps," so they do not need to bundle their dependencies, nor hide node_modules.
In the mean time, do you have a suggestion for optional install scripts that work in Windows and *nix for the postinstall key?

Turning it into a node script is probably what I would suggest.
Like https://github.com/ExactTarget/fuelux/compare/master...maoueh:fix-windows-npm-install
I use the bower programmatic API but we could launch an command process instead. Tested on my workstation, worked great. Do you want me to open a PR?

Sounds great. Please open.

Collaboration!!! :+1:

Closing since fix has been merged. Thank you all.


ThirdPartyKeys.example file should not be bundled

ThirdPartyKeys.example.plist file is being bundled during the Copy Bundle Resources phase

Solved in #129


The fuse exhausts all threads

Sending more than 10 Feign requests in one request will cause the fuse to exhaust all threads, resulting in only 10 request results being returned, how can I avoid it

Use version 1.0.30

Did you use Hystix as a circuitbreaker? If so, you can take a closer look at Netflix/Hystrix/wiki/Configuration#ThreadPool

Thank you for your answer, it reminds me


Fixes aof file permission with arbitrary user

Due to misconfigured file permissions for the AOF file, the command BGREWRITEAOF only works once and successive BGREWRITEAOF fails with an error message on the server console. This commit fixes it and uses the correct & appropriate operation mode flags for underlying system calls.
Fixes https://github.com/DiceDB/dice/issues/90

@rohanverma94 This change is conflicting atm.
The code base has moved forward lot. Please rebase and re-submit if you are still keen to fix this. We will be cleaning up old PR's if they are inactive. Thanks

I'm occupied with some stuff. I would've resumed this work otherwise. Meanwhile feel free to close this or may be raise new PR.


Allow easy extension of the component

I would like to build a reusable set of selects. In order to do that, I can use the extension mechanism provided by vue:
import VueMultiselect from "vue-multiselect/src/Multiselect";

window.Vue.component("company-form-select", {
    extends : VueMultiselect,
    // customize defaults for that particular select
    props   : {
        trackBy: {default: "my_id"},
        label: {default: "some_label"},
    },
});

This is fine with simple static defaults. However I cannot see any way to have some dynamic defaults.
For example, I would like to retreive the options from a web service. There is no way to override a property with a dynamic value.
Additionnally, you get a warning from vue if you set the value of a prop.
The proper way to allow extension would be to have some properties doubled in the data.
e.g.
props: { options } and data: { currentOptions: this.options }
That would allow extension by overriding currentOptions with a dynamic value or the result of a function call.
Also related: #679
Of course, if you have a way to achieve reusable components without going this way, I would love to know it.

Current work around is to define a brand new single file component which has a template containing a multiselect and use that.
This is however quite bloated:

need to write the whole template again for each extension
the virtual DOM will get useless wrapper nodes
etc.

See also https://vuejs.org/v2/guide/components-props.html#One-Way-Data-Flow


add new control ImageRadioButton

hi i added new control imageRadioButton

@ghost1372 hi, why don't you use iconelement?

@ghost1372 hi, why don't you use iconelement?

hi I forgot, i replaced it now.

@ghost1372 tnx 😆


Decrease white space between menu items on left hand navigation menu

Increase spacing.
Long term move to Sass to compile stylesheets using relationships, instead of absolute values

made some improvements, have not moved to use Sass

Fixed in Version 2.0.0-beta.3


[RFC] Stability Index

Status: Open for comments

Need
Backstage is heading out of alpha and on to a path to an eventual long-term stable release and version 1.0. The community and ecosystem is growing at an increasing rate, and we want to provide a solid foundation for everyone building things in, with, and around Backstage.
At this stage of the project we also want to be able to move fast and break things. There are many areas where we want to be able to revise design decisions, often based on valuable feedback from the Backstage community! We also want to be able to ship new features and systems but keep iterating and gathering feedback before they reach a stable API.
Because of the rapid evolution combined with the stabilization efforts, there's uncertainty in what parts of the project are stable and which are not. Regardless of whether you're contributing to the project directly, setting up your own Backstage, or building plugins, you will be using various parts of the project with differences in stability. Many API surfaces of Backstage are reasonably solid and are unlikely to see any big breaking changes, while others are much more uncertain and may even have planned breaking changes that haven't shipped yet.
There is clearly room for more guidance both for contributors and users, as well as commitment from the core team to ensure stability of certain parts of the platform.
Proposal
Stability Index
We introduce a Stability Index, similar to the one used by Node.js. It is a score assigned to a subset of the project, indicating the level of maturity of the API and the commitment to backwards compatibility. However, because of the current phase of the project, and essentially all API surfaces being experimental, we use a slightly different implementation. Instead of the score indicating a perceived stability, a higher score is instead a commitment to providing a smoother upgrade path for users, through both better documentation and backwards compatibility. Importantly, the Stability Index does not supersede semver, meaning we will still adhere to semver and only do breaking changes in minor releases as long as we are on 0.x.
My proposal is a 0-3 score as follows, each point building on top of the previous one:

Breaking changes are noted in the changelog, and documentation is updated.
The changelog entry includes a clearly documented upgrade path, providing guidance for how to migrate previous usage patterns to the new version.
Breaking changes always include a deprecation phase where both the old and the new APIs can be used in parallel. This deprecation must have been released for at least two weeks before the deprecated API is removed in a minor version bump.
The time limit for the deprecation is 3 months instead of two weeks.

TL;DR:

There's a changelog entry.
There's a migration guide.
2 weeks of deprecation.
3 months of deprecation.

Note that these are commitments to a minimum, as in we may for example still provide a deprecation path even if an API has a stability score of 1.
I am also suggesting that we do not keep this system in place after version 1.0, at least not in its current form. The suggestion is based on something that makes sense for the current state of the project, and may even evolve before we reach version 1.0.
There are some intricacies of employing these rules across the board, as there are various different kinds of breakages that behave in different ways. So there are a couple more points to help guide the process:

Changes that cause breakages outside the main repo without the user doing a version bump should always have a deprecation path. This includes things like changing our example catalog yaml files, which people rely on directly through GitHub.
Breaking changes only apply to public API. In the case of TypeScript packages, the public API is any types exported by the package, except explicit exceptions like marking a particular function experimental or private.
In cases where it is not possible to provide a smooth deprecation path for APIs with a score of 2 or above, the breaking change must be as apparent and clear to the user as possible. It might for example include an error being thrown with clear instructions for how to migrate, or even suggest a new code snippet.
Changes to templates, such as the create-app package, are not considered breaking changes. The stability score refers to the interaction with the template itself.

API Surfaces
For the index to be useful we need to make a sane split of the project in to smaller slices. I suggest that we start the division with each package being its own surface, where some packages are further divided into different sections. We may divide or merge sections as necessary over time, in order to provide the granularity we need.
We also only assign scores to the packages and plugins in the main Backstage repository, and while other plugins are welcome to adopt the Stability Index, it is nothing we would enforce in any way.
Private packages such as the example-app or storybook are excluded.
Implementation
A new documentation page is added with a full map of the project, with a list of all packages and sections. Each package or section includes a short description, the stability index, and possibly a motivation. We could also use this file as a place to note deprecations for removal in the future. It might look something like this:

Backstage Stability Index
Packages
@backstage/catalog-model
Contains the core catalog model, for usage in both the frontend and the Backend.
Stability: 2. The catalog model is evolving, but because of the broad usage we want to ensure some stability.
@backstage/config
Provides the logic and interfaces for reading static configuration.
Stability: 2
@backstage/core
Section: React Components
All of the React components exported from src/components/ and src/layout/
Stability: 1
Section: Plugin API
The core plugin API and the way plugins expose functionality to Apps.
Stability: 2. There are planned breaking changes around the way that plugins expose components for apps.
Deprecations:

v0.2.1 Deprecated the Foo API, it will be removed in a release after 7th Dec 2020.

Section: App API
The APIs used in the app, such as createApp.
Stability: 2
...
@backstage/dev-utils
Provides utilities for developing plugins in isolation.
Stability: 0. This package is largely broken and needs updates.
...
Plugins
Plugins are rarely marked as stable as the @backstage/core plugin API is under evolution.
@backstage/catalog
Stability: 1
...

Risks
A commitment to stability will also mean greater friction for both contributors and for the core team to manage the project as a whole. For this reason we would need to carefully assess what scores we assign, as over-promising may lead to significant overhead.
Tied to the above risk is the fact that managing the deprecations is a bunch of work. Realistically this is necessary regardless of whether we introduce an API Stability Index or not, as long-term stability is hugely important for a project like this.
Another risk is that the division of the project is too granular, coarse, and/or confusing. I'm hoping we'll be able to work out a good model though, and we can definitely keep evolving it over time too.
Alternatives
The scoring system is based around our commitment to smoothing out breaking changes. We could take the approach of scoring based on the perceived stability of the API instead, basically 1 = extremely likely to change and 5 = very unlikely to change. I find that it is easy to not be careful enough when assigning that kind of score though, and that a system with some actual implications of each score is more effective in achieving the intended results.
There are many alternatives to the suggested implementation too. We could for example be much more granular and assign a score for type and method exposed by packages in JSDoc, or move the scores to each package README. I feel that a single file with all packages and sections is likely to be the most valuable at this point. It ensures that we keep the total length and time of reading down, while also providing a single point for a quick overview of the project.

This is my first time coming across this stability index idea. It sounds good.
Should it be be implemented with a testing plan to help ensure that commits are not accidentally sending out unexpected breaking changes to packages which are intended to be stable?

@dtuite Yep, agree that we will need some CI checks to make sure we maintain backwards compatibility. Haven't explored this in-depth yet, but https://api-extractor.com/ seem interesting for ensuring backwards compatibility, along with many other things :grin:
As we start getting closer to stable APIs I'd love to get some higher level and mostly frozen unit tests in place too, testing packages using their exports only.


Thank you

Hi Justin,
As someone who can't contribute to open source code (yet), I just want to say thank you for the rest-uploader! I've been using Joplin to replace OneNote. And I've been using the rest-uploader for several months now. I'm using it to archive paper letters for my personal archive.
So again thank you!
Robert

Robert -
Thanks for the feedback - I appreciate it, and I'm very happy to hear it's working for you!


How can I drag the last element of ListView.builder up to a certain distance?

I want the last element of ListView.builder to be stretched upwards by the distance I set, but BouncingScrollPhysics() allows the last element to be stretched almost to the middle of the screen. How can I change it to custom? What lines of code should I change?
https://youtu.be/MpVcfr4tnA8?si=TWpe74RR3MN2kTwo

@therasuldev
Your question is better suited for support channels like StackOverflow.
Closing from here, as this is more of a support question and not a feature request or a bug report.


Test_File.cho

Would you publish your Test_File.cho here, would you find it helpful as an overview of all statements?

That file has been renamed and it's on the root of the project, check it out:
https://github.com/ricardomfmsousa/vscode-chordpro/blob/master/language-test.cho

Great to see. Thanks!


fix package NULL problem

I had an issue with one of the srel pointers being to a NULL slidemaster, this threw a KeyError from the package. As I wanted to work on a batch of Powerpoints all using the same template, they all gave the same error. I fixed it with these changes, though perhaps there is a better place to do it..
Similar issue: https://github.com/scanny/python-pptx/issues/406

@paulusm thank you, that works ! you are the greatest man on Earth!

完美解决问题，谢谢！

Perfect problem solving, thank you!

This also fixes: #497 . A duplicate issue raised by me.
Thanks @paulusm . But you may need to fix merge conflict and update the PR so @scanny  can accept it. 🙂 👍

Fixed in v0.6.20 due out here tonight or tomorrow.


Update the URL to SOFA feed

Hi @Macjutsuquick heads up -  as shared on slack macadmins-opensource the SOFA feed URL should be updated.
For details also see https://sofa.macadmins.io/use-cases.html#sofa-use-cases:
Please update your scripts that are utilising the SOFA macOS to point to https://sofafeed.macadmins.io/v1/macos_data_feed.json
The old feed addresses of https://sofa.macadmins.io/v1/macos_data_feed.json is deprecated and will be removed soon.

Thanks for the heads up... I'll put this in the next beta build!

Thanks again for the heads-up... this was implemented in the latest release....
https://github.com/Macjutsu/super/releases/tag/v5.0.0-beta3


Iphone xr ios 15.4.1 wont jailbreak

It just reboots without jailbreaking i turned on airplane mode and privacy to now what do  ihave to do?

It just gets stuck at gaining r/w


⚠ Bofrost.be has degraded performance

In 5586168, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2375 ms

Resolved: Bofrost.be performance has improved in 00bbd55.


Scaffolder ui:widget:password docs update

📜 Description
Explicitly calling out that ui:widget:password only masks in secrets in the UI, not in logs and template adopters should use the Secret extension added in scaffolder: Secret extension to hide secrets securely by benjdlambert · Pull Request #21287 to ensure they're secure.
👍 Expected behavior
We want to update the docs in order to make it clear that ui:widget:password only masks in secrets in the UI, not in logs and template adopters should use the Secret extension added in scaffolder
👎 Actual Behavior with Screenshots

👟 Reproduction steps
Navigate to https://backstage.io/docs/features/software-templates/writing-templates/
📃 Provide the context for the Bug.
No response
🖥 Your Environment
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

@delacruzmichael think that we should just remove this section from the docs entirely. Do you want to raise a PR to remove it so that we can encourage the correct way?

@benjdlambert - Sure I can do that


Autogenerated sidebar item from subfolder don't respect index.md at the subfolder root

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
It seems that autogenerated items for subfolders containing an index.md file don't show up as sections.
For instance, on the sample website from the the 5m tutorial, I would have expected this:
const sidebars = {
  tutorialSidebar: [
    "intro",
    {type: 'autogenerated', dirName: 'tutorial-basics'},
    {type: 'autogenerated', dirName: 'tutorial-extras'},
  ],
}

to create two sections in the sidebar because they both contain a _category_.json file but everything is actually flattened at the root. Replacing both _category_.json with an index.md leads to the same results.
Is this expected?
Reproducible demo
CodeSandbox
Steps to reproduce

npm init docusaurus@latest my-website classic
Update sidebars.js from:

tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],

to
const sidebars = {
  tutorialSidebar: [
    "intro",
    {type: 'autogenerated', dirName: 'tutorial-basics'},
    {type: 'autogenerated', dirName: 'tutorial-extras'},
  ],
}

Expected behavior
I would expect two sections to appear in the sidebar since both subfolders contain a _category_.json.

Actual behavior
The content of the two sections is actually flattened at the root.

NOTE: replacing the _category_.json files with an index.md files leads to the same results.
Your environment

Docusaurus version used: 2.4.1

Self-service

[ ] I'd be willing to fix this bug myself.

Try this configuration:https://docusaurus.io/docs/sidebar/autogenerated you can't simply replace with an index.md

you have to autogenerate using the docs dirname here in docusaurus

@caramelmelmel I'm using that configuration, check out the Steps to reproduce section.
More generally, assuming this structure:
docs/
  foo/
    index.md
    Bar.md
    Baz.md

I would expect this:
const sidebars = {
  mySidebar: [
    {type: 'autogenerated', dirName: 'foo'},
  ],
}

to translate in:
Foo ↓
  Bar
  Baz

no you cannot assume that index.md would directly translate to index.html here as docusaurus already automatically maps to docs in its route. Here's how you can do it
in sidebars.js:
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
  // By default, Docusaurus generates a sidebar from the docs folder structure
  tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
};

module.exports = sidebars;

Create this folder structure:

You will get:

if you want to manipulate the keys you cannot just touch the docusaurus.config.js there are other repositories that use the component page routing from the config to perform something like this

Thanks @caramelmelmel, I think the use case I was trying to come across is not entirely clear, let me expand a bit.
Imagine you want to have some part of the sidebar being autogenerated and some part being manually managed:
docs/
  manual-doc/
    index.md
    manual1.md
    manual2.md
  auto-doc/
    index.md
    auto1.md
    auto2.md

The corresponding sidebar config I would think it should suffice is:
const sidebars = {
  tutorialSidebar: [
   {
      label: "Manual Doc",
      link: {type: 'doc', id: 'manual-doc/index'},
      type: "category",
      items: [ ... ],
    },
    {
      dirName: 'auto-doc',
      type: 'autogenerated',
    }
  ],
};

but that would lead to:
Manual Doc ↓
  Manual 1
  Manual 2
Auto Doc
Auto 1
Auto 2

reather than:
Manual Doc ↓
  Manual 1
  Manual 2
Auto Doc ↓
  Auto 1
  Auto 2

Taking your example, this:
const sidebars = {
  tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
};

would still not work as I would expect for:
docs/
  index.md  <-- this index will NOT generate a section
  foo/
    index.md <-- this index will generate a section
    Bar.md
    Baz.md

leading to:
Index
Foo ↓
  Bar
  Baz

rather than:
Index ↓
  Foo ↓
    Bar
    Baz

I guess, regardless by the underlying implementation, I don't fully understand why the index.md in a folder for which we are requesting an autogenerated sidebar should be treated differently from any other index.md in the descendant folders.

but as far as I know the auto and manual configurations cannot mix together

Instead, this could not be a bug. You might want to ask about this in Discord.

Posted on Discord but didn't have much traction.
My biggest concern still stands so I'll leave this open:

I guess, regardless by the underlying implementation, I don't fully understand why the index.md in a folder for which we are requesting an autogenerated sidebar should be treated differently from any other index.md in the descendant folders.

I believe this ultimately makes mixing manual and autogenerated sidebars harder than it should be.

You generate an entire sidebar from a folder; you don't just generate one category. index.md within a folder becomes the category index page only if the folder becomes a category, but the root folder doesn't become a category—it becomes a "sidebar slice".

Thanks @Josh-Cena!
Out curiosity, would there be any downside to make the root folder become a category if there is an index.md inside it and just be a "sidebar slice" if not? I've the feeling this would improve the overall composability but I'm pretty sure if it wasn't designed to work this way, there is some gotcha I'm not considering.

I think a new sidebar item called autogenerated-category sounds good. @slorber WDYT?

@Josh-Cena I think an autogenerated-category (if I understand that this works by making a particular configuration to enable a subfolder in docs become an auto-generated category) should be for specific subfolders in this case then developers have the freedom to configure however they would like to

@slorber what I really think about including index.md in the subfolder is that the user is able to customise the introduction page however he or she likes instead of using a category.json so by providing the /index.md functionality, and then autogenerating the sub bars in a sidebar, based on the presence of this index.md helps to provide this functionality of customisation here.

Neither the presence of index.md nor _category_.json can affect whether a folder becomes a category or a sidebar slice—that would be a huge behavior inconsistency. These files are picked up when and only when the folder is actually destined to become a category.

I don't think there's anything wrong with Docusaurus' behavior—I agree with @slorber that we can try #5689 first, although I think autogenerated-category will still be very intuitive and convenient, but that would be another feature request :)

Thanks @slorber and @Josh-Cena for the comments.
@slorber, regarding:

What you really want is something like this:

const sidebars = {
  tutorialSidebar: [
    "intro",
    {
      type: "category",
      label: "Tutorial basics",
      link: {type: 'doc', id: 'tutorial-basics/index'},
      items: [{type: 'autogenerated', dirName: 'tutorial-basics'},],
    },
    {
      type: "category",
      label: "Tutorial Extras",
      link: {type: 'doc', id: 'tutorial-extras/index'},
      items: [{type: 'autogenerated', dirName: 'tutorial-extras'},],
    }
  ],
}

I was going to say, that's not gonna fully work without a way to exclude tutorial-basics/index from the auto-generated items. I remember we tried this and, besides not being straightforward as you also pointed out, leads to a duplication of the index file that will then appear as both a category and a document inside the category.
Being able to exclude files like in #5689 will definitely help, looking forward to it!
@Josh-Cena, regarding:

Neither the presence of index.md nor category.json can affect whether a folder becomes a category or a sidebar slice—that would be a huge behavior inconsistency.

For some reason, from a user prospective without any clue about the implementation details, I had exactly this expectation! I agree that autogenerated-category would be more intuitive and convenient, not sure about the gain of having it separate from the already existing  autogenerated type when the mere convention of adding an index.md could do the trick (similarly to the category index convention). Regardless, I'd love to see autogenerated-category come to life.
I appreciate you guys taking the time to even evaluate this, keep up the good work! 🙂

I was going to say, that's not gonna fully work without a way to exclude tutorial-basics/index from the auto-generated items. I remember we tried this and, besides not being straightforward as you also pointed out, leads to a duplication of the index file that will then appear as both a category and a document inside the category.

    {
      type: "category",
      label: "Tutorial basics",
      link: {type: 'doc', id: 'tutorial-basics/index'},
      items: [{type: 'autogenerated', dirName: 'tutorial-basics'},],
    },

As far as I remember (not 100% sure) we have logic so that if it's already a category link, index is excluded from the sidebar slice to prevent this.

We'll add the include/exclude feature first and eventually see if autogenerated-category is needed.

not sure about the gain of having it separate from the already existing autogenerated type when the mere convention of adding an index.md could do the trick

If we implement this as a convention, then it becomes impossible to generate a sidebar slice including the index. By implementing your use case we might break another user use case, with no easy workaround to opt-out.
I'd rather keep the ability to be able to support both if possible, even if it makes the API slightly less intuitive.

As far as I remember (not 100% sure) we have logic so that if it's already a category link, index is excluded from the sidebar slice to prevent this.

It actually highlight both links at the same time (category and page) but it does not remove the actual index page from the page list in the category.

Another side effect of this is that when you're viewing the index category page, the pagination's "next" link is the same page. The pagination next link becomes unusable here as it links to itself.
After following all of these threads, I decided to simply do an entire sidebar as autogenerated instead of trying to achieve this. It's too janky without being able to exclude the index file from the autogenerated child items.


Move objectFit property explanation from Image page to Image Style Props one

PR related to the Issue #3579.
As the commit has been released on the 0.71 version, so I did the changes on the next and 0.71 versions

@alvessteve would you mind visiting the CircleCI link, then trying to reauth?

sure @NickGerleman, this have been done :)


fix: schema changed for language field

Description
This PR involves extending the language field inside tools-schema.json where we are now supporting both string and array data type inside this field.
Related issue(s)
Resolves #1425

yo, it is approved

sorry, it got missed in the notifications :sweat_smile:

/rtm


Need to add Grav to the list

I think Grav fits the model and should be on the list. As they describe it...
"Grav is a modern open source flat-file CMS"
Site: https://getgrav.org
Repo: https://github.com/getgrav/grav

Grav is a flat file CMS, not a static site generator. It requires a server to run.


ARROW-9403: [Python] add Array.tolist as alias of .to_pylist

Since interchangeability with numpy.ndarray is not a goal of pyarrow.Array, I am curious where you think the line should be drawn with respect to compatibility functions. I'm concerned it could be a slippery slope.

I'm mainly looking at my own code, especially the unittests. They are littered with .tolist, similar to how this project has a lot of .to_pylist. For very basic operations, you'd expect similar outputs, so that would mean many tests (and code) can stay the same. One could argue the same for .item() and .to_py for scalars, but comparing scalars is less common, and some effort to support two libraries is ok. I'm happy to see that both libraries have a .take method, but only Arrow has .filter. I'm ok with that, again, it's not that common.
Overloading pyarrow's getitem to act as .filter would make them compatible, but putting on my purist hat, I'd rather vote for numpy to adopt a .filter instead.
I'd refrain from ambiguity, so no overloading, an alias like this is... not pretty, but I doubt it will affect readability or maintainability. I could change the docstring not to stimulate more of these ideas :).

From a forward looking perspective, I don't expect new analytics libraries in the future to be implemented with a hybrid of Arrow and NumPy, they'll just use Arrow, except when they need to export to a NumPy (or NumPy-like tensor library, more likely), so I think we should try not to accumulate "NumPy cruft" that will just look anachronistic in 5 years.
@kszucs or @jorisvandenbossche what do you think about the addition of tolist?

I like tolist in general because we're on python land and it's shorter, but pylist aligns better with scalar.as_py() and prevents any confusion with a list array.
In summary I don't have a strong opinion on this, but don't like the idea of having aliases.


linux-58 is dead.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
linux-58 is dead.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Missing IP address was missing, re-seat cable to restore connection.


Desugaring bug

This program fails:
data List a where
  Nil  : List a
  Cons : a -> List a -> List a

baz = let (Cons x _) = (Cons 1 Nil)
       in (x + x)

Fails with
let v7 = \ v5 -> \ v6 -> (Cons2 (v5, v6)) in let v8 = (Nil3) in let v0 = let (Cons2 (v1, _)*** Exception: Maybe.fromJust: Nothing
CallStack (from HasCallStack):
  error, called at libraries/base/Data/Maybe.hs:148:21 in base:Data.Maybe
  fromJust, called at /Users/abhiroopsarkar/C/Sense-VM/frontend/CamIoT/src/Desugaring/Desugar.hs:30:53 in main:Desugaring.Desugar

data List a where {
  Nil : List a;
  Cons : a -> List a -> List a
}
v0 = let (Cons v1 _) = Cons 1 Nil in v1 + v1 :  Int

main = v0 :  n

The issue seems to be in the monomorphiser which is unable to monomorphise the main function. Notice the polymorphic type of the main.

The issue is probably in the type checker, where it doesn't unify the type of main and baz properly.

Smaller test case the replicate the same bug:
baz = let x = 1
          in x

main = baz

The issue is probably that the type of the entire let expression is placed in the environment after the let expression has returned (and thus returned the typing environment to the same state), so the type of baz will become the type schema forall b . b, where it should be forall () . b. When main looks up the type of baz, b will be instantiated to a fresh type variable.


Broadcast Sink doesn't update the Scan Delegator Receive State if Receive state was was added via the Scan delegator Write Control Point

Describe the bug
When a broadcast source gets added to a Scan Delegator receive state via its write_contol_point (from a Broadcast Assistant), this may occur before a broadcast sink entry gets created for that broadcast source.
When the associated broadcast sink then gets created, it tries to add the source again to the Scan Delegator receive state but detects that it has already been added and fails.
sink->flags never gets updated in this case. Later if the broadcast sink module tries to delete this associated receive state, it fails because of the BT_BAP_BROADCAST_SINK_FLAG_SRC_ID_VALID bit had not been set in sink->flags.
Here is an example scenario :

Broadcast Assistant adds a receive state to the Scan Delegator via write_control_point->scan_delegator_add_source

pa_sync_req_cb then gets invoked in a receiver application. The application now knows what broadcast to look for / filter.

In the application, when the desired broadcast gets received via scan_recv_cb, it synchronizes to it and then creates a broadcast sink entry.

This then causes bt_bap_scan_delegator_add_src to be invoked. It looks up the param->pa_sync and sees that it's already added to a receive state and returns.

Later the sink module tries to remove that associated receive state when it gets deleted and it fails

To Reproduce
N/A
Expected behavior
The receive state already added by the Broadcast Assistant should get updated when the associated broadcast sink gets created and update  sink->flags
Impact
A local fix solves it . Otherwise a showstopper.
Logs and console output
Environment (please complete the following information):

OS: Windows 11
Zephyr main branch

@Thalley


javaslang++

Current coverage is 100.00%

Merging #49 into master will not affect coverage as of 65dc437

@@            master     #49   diff @@
======================================
  Files           24      24
  Stmts          246     246
  Branches        53      53
  Methods          0       0
======================================
  Hit            246     246
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 65dc437

Powered by Codecov. Updated on successful CI builds.


Error downloading HP BIOS - The server does not support the necessary HTTP protocol

Hi,
I have a wired issue. When I try to download a BIOS version I get the error:
Start-BitsTransfer : The server does not support the necessary HTTP protocol. Background Intelligent Transfer Service (BITS) requires that the server support the Range protocol header.
in the console. On the otherside I can also see the tmp file in:
\Driver Automation Tool\Temp\HPBIOSTemp\EliteBook 835 G7 Notebook PC\sp154909.cva
In the log I have following error:
======== HP EliteBook 835 G7 Notebook PC BIOS PROCESSING STARTED ========	DriverAutomationTool	11/14/2024 8:02:00 AM	16584 (0x40C8)
- Attempting to find HP BIOS download	DriverAutomationTool	11/14/2024 8:02:00 AM	16584 (0x40C8)
- Quering download using Get-SoftPaq cmdlet and SKU value 8760	DriverAutomationTool	11/14/2024 8:02:00 AM	16584 (0x40C8)
- Latest available BIOS version is 1.18.01	DriverAutomationTool	11/14/2024 8:02:07 AM	16584 (0x40C8)
- Checking ConfigMgr for existing BIOS release - 1.18.01	DriverAutomationTool	11/14/2024 8:02:07 AM	16584 (0x40C8)
- New BIOS download available	DriverAutomationTool	11/14/2024 8:02:08 AM	16584 (0x40C8)
- BIOS Download URL Found: http://ftp.hp.com/pub/softpaq/sp154501-155000/sp154909.exe	DriverAutomationTool	11/14/2024 8:02:08 AM	16584 (0x40C8)
- Creating D:\Program Files\Tools\Driver Automation Tool\Temp\HPBIOSTemp\EliteBook 835 G7 Notebook PC folder	DriverAutomationTool	11/14/2024 8:02:08 AM	16584 (0x40C8)
- Creating \\_DRVPKG\HP\EliteBook 835 G7 Notebook PC\BIOS\1-18-01\ folder	DriverAutomationTool	11/14/2024 8:02:08 AM	16584 (0x40C8)
- Downloading sp154909.exe BIOS update file	DriverAutomationTool	11/14/2024 8:02:08 AM	16584 (0x40C8)
======== Error(s) Occurred ========	DriverAutomationTool	11/14/2024 8:03:10 AM	16584 (0x40C8)
[Error] - BIOS failed to download. Check log for more details	DriverAutomationTool	11/14/2024 8:03:10 AM	16584 (0x40C8)
 	DriverAutomationTool	11/14/2024 8:03:10 AM	16584 (0x40C8)
======== HP EliteBook 835 G7 Notebook PC BIOS PROCESSING FINISHED ========	DriverAutomationTool	11/14/2024 8:03:10 AM	16584 (0x40C8)

The wired thing is, when I now download manually the file from:
http://ftp.hp.com/pub/softpaq/sp154501-155000/sp154909.exe
and copy the file to:
\Driver Automation Tool\Temp\HPBIOSTemp\EliteBook 835 G7 Notebook PC
start the process again, it is working fine.
I can also create in PS a Bits job and the file gets downloaded without a issue. I am not sure if the issue is on our site or it is because just HTTP (would be nice if we can switch to HTTPS) or maybe another permission problem.

I changed in my fork to https and it is working:
https://github.com/stephannn/DriverAutomationTool/blob/master/Current Branch/7.2.2/DriverAutomationTool.ps1
Probably something with our proxy


Handle multiple JWT rules with the same issuer

We need to define how multiple JWT rules with the same issuer (assuming they are slightly different, e.g in audiences spec or location) will be handled. Here are few options, but not limited to:

Use as is, each rule is treated independently. Might need some change in JWT filter to support different providers.
Combine into a single rule, where locations, audiences are union.
Combine into a single rule, where locations, audiences are intersected.
Does not support, the behavior is undefined (one of the rule will be use arbitrary).

This is part of https://github.com/istio/istio/issues/19084
Additional context

@diemtvu
I have a question about the current behavior, hope this is the right place to ask:

Use as is, each rule is treated independently.

What exactly does it mean? If I have two rules for the same issuer but each one is different (e.g. different JWKS or different audiences), which one will be used? The first one? Or all of them and when one succeeds then the request is assumed to be authenticated? Thx in advance :-)


Exercise 3.17

I use visual studio 2015 and when I run the 3.17 solution, I just stay into the loop of cin and the program dont print anything. Did I miss something ?

Had to press ctrl^z and then enter to stop de loop and see the print out.


Language switcher not visible when user scrolls down the page and clicks the language in the nav bar

Describe the bug
When user scrolls down a bit on any page and then clicks on the language switch button on the navbar , the language switcher either shows up partially or not at all (out of view) , user needs to manually scroll up to see the language switcher.
[New users might not even recognize that the language switcher is there in the top of the page]
To Reproduce
Steps to reproduce the behavior:

Go to any page which is scrollable (has height more than the viewable area in the screen)
Scroll down a few times
Click on language switch button on the nav bar
The language switcher comes up but is out of view of the user

Expected behavior
Whenever language switcher is shown , the window should be scrolled up , so that it is clearly visible .
Screenshots

Should be reproducible in all devices.

I would like to /claim this issue

Let me /claim this issue

Hi team, found the issue and tried something.
CHANGES: In navbar.js, after Line#70, added: window.scrollTo(0, 0); to the navbar-left class onClick event handler.
Working as expected in my local machine, please check & update. Thanks 😄

@shuklaayush Looking for my first contribution, please help in creating a pull request, would like to merge my changes into the master.
CHANGES: https://github.com/covid19india/covid19india-react/issues/2172#issuecomment-650068625

Hi @navkumar258, you need to fork the repository and push a commit to your fork before creating a PR. Although it seems like there are already pending PRs which fix this

@shuklaayush thanks for the quick response....will continue to watch the repository and fork if necessary.
@sudevschiz seems like there are already a pending PR for fixing this issue, don't want to duplicate.

Fixed via #2220


Google Ads Overlap Content on News Post

Describe the Issue
I was reading the freeCodeCamp article linked below, and the ads on the page overlapped the content I was trying to look at.

Steps to Reproduce

Go to the page
Scroll down a little
See the overlap

Expected behavior
It should not be overlapping.
Screenshots

System

Device: Windows PC
OS: Windows 11
Browser: Chrome

Additional context
No response

we have lots of space on the right side, we can move this ads container to the right side.
If you have any other suggestions please let me know or if you agree to this implementation then I will raise an MR

@scissorsneedfoodtoo please check.

I can work on a fix if you point me in the right direction for where to edit the main news posts formatting.

Thanks @DylanDevelops - the changes will have to be made on the freeCodeCamp/news repo, but we are limiting PRs on that repo due to technical limitations with deployments and the CI.
Kris should be the best person to investigate and fix this.
Of course, you are welcome to work on it locally and suggest recommendations if you have any. Reach out to us in the chat if you have more questions.
Thanks.

It's totally fine! I'll let you guys handle it and the original PR author who started it.

Thanks for reporting this, @DylanDevelops. I went in and fixed the embeds for this article manually. Those fixes are live now, and the ads no longer overlap the CodeSandbox embeds.
I'll go ahead and close this now. I'll also look into ways we can update our styling to limit the width for these types of embeds from CodeSandbox and Codepen across all of our articles.

Thanks for fixing this! Cheers!


Use mmap for better file writing performance

New Issue Checklist

[X] I have read and understood the CONTRIBUTING guide
[X] I have read the Documentation or CocoaDocs
[X] I have searched for a similar issue in the project and found none

Issue Info

Info
Value

Platform Name
e.g. ios

Issue Description and Steps
I find that calls to -[NSFileHandle writeData:] are one of the biggest bottlenecks for the logger. This makes sense, as it is generally a costly function. It would be great if the logger used a memory-mapped file to do writes. It would have the same durability AFAIK and the performance would be much, much better.

@michaeleisel
Could you try latest release?
Thanks!

If you're referring to #1001, a buffer may solve it for some, but it creates a trade-off between efficiency and durability. mmap does not. Although I do see a lot of other bottlenecks as well upon further review, so perhaps there is lower hanging fruit to pick.

To be honest, I wonder if #1001 should just be reverted. It is more complicated, both for the consumers as well as library developers, and less durable, than mmap. What is the performance data backing the change? Has it been compared to mmap?

As in, #1001 reverted alongside the addition of mmap

Hi, @michaeleisel , do you have more detailed mmap solution?

The top answer of this question shows how to both and read and write using mmap (although we only need to write). Once you’ve set everything up, you can use the mmap’d pointer just like any C pointer, like how they pass it to memset to write to it. But, also be sure to verify that the file writing code (without using any intermediate memory buffers) is a bottleneck in the current implementation. There may be even larger bottlenecks that are simpler to solve, but I wanted to call attention to this one since work was being put into it anyways.

Link: https://stackoverflow.com/questions/26259421/use-mmap-in-c-to-write-into-memory

@michaeleisel Not sure that is the right thing to do when writing in a log file:
https://stackoverflow.com/questions/35891525/mmap-for-writing-sequential-log-file-for-speed

Using a memory buffer incurs both the complexity of implementing the buffer as well as the fragility of only persisting data in memory. IMO it’s a next step after mmap

But appending data to a mapped file will force you to unmap/resize/remap the file which incurs a performance penalty.

CocoaLumberjack uses fixed-size files, correct? So you can "pre-allocate" by making the file as large as it would potentially grow to, e.g. by seeking to the end and writing a single byte.


Explitly ignore UndefinedTable and StatementInvalid exceptions

Since #196 and #197, we're seeing errors in Sentry during the
data sync where we have configured these to be ignored. Example:
https://sentry.io/organizations/govuk/issues/2410319407/?project=202210&referrer=slack
The exception chain in the above Sentry error contains
ActiveRecord::StatementInvalid and PG::UndefinedTable. We have
PG::Error defined as a datasync-ignorable exception by default.
PG::UndefinedTable has PG::Error as an ancestor,
so it should be ignoring the exception.
To determine whether the exception chain introspection is broken,
we're explicitly adding these exception types to the ignore list.
If the errors continue to occur, then the issue is elsewhere.
For the record, I've also SSH'd into the machine on Integration
and ran cat /etc/govuk/env.d/GOVUK_DATA_SYNC_PERIOD, which has
a value of "22:0-8:0". This, despite its dodgy formatting, does
get interpreted correctly by GovukDataSync, therefore I am fairly
certain that data_sync.in_progress?
returns true when called during the data sync.
Moreover, there have been no relevant changes in govuk-puppet to suggest that the data sync ENV variable could be the cause.

Superseded by https://github.com/alphagov/bouncer/pull/303.


Automatically resolve short-names

Buildah started to require full image names which breaks current image
builds.
Setting short-name-mode to disabled -> Use all unqualified-search registries without prompting.

👀

I have verified that these changes work with short/full image names. However I couldn't reproduce the issue seen on a staging cluster - the build step worked with short image name on my cluster even with the old bundle
STEP-BUILD

STEP 1/1: FROM alpine
Resolved "alpine" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
Trying to pull docker.io/library/alpine:latest...


Update cats-effect, cats-effect-laws, ... to 3.3.2

Updates

org.typelevel:cats-effect
org.typelevel:cats-effect-laws
org.typelevel:cats-effect-testkit

from 3.1.1 to 3.3.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Applied Scalafix Migrations

org.typelevel:{cats-effect,cats-effect-laws}:3.3.0 (created no change)

github:typelevel/cats-effect/v3_3_0?sha=series/3.x

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

labels: library-update, early-semver-minor, semver-spec-minor, scalafix-migrations, commit-count:1

Codecov Report

Merging #138 (eac5639) into master (c34eb0e) will increase coverage by 2.43%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #138      +/-   ##
==========================================
+ Coverage   91.46%   93.90%   +2.43%
==========================================
  Files           2        2
  Lines          82       82
==========================================
+ Hits           75       77       +2
+ Misses          7        5       -2

Impacted Files
Coverage Δ

...ala/com/vladkopanev/cats/saga/SagaTransactor.scala
86.84% <0.00%> (+5.26%)
:arrow_up:

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 c34eb0e...eac5639. Read the comment docs.

Superseded by #139.

Superseded by #139.


Fix crash when using ibrowse option save_response_to_file

Sending a request with the ibrowse option :save_response_to_file enabled resulted in a response with a tuple body instead of iodata. process_response_body/1 then tried to stuff this tuple into IO.iodata_to_binary, which crashed with an argument error.

Thanks!

Thanks!


Cherrypick: [BugFix] Resizing widgets problem #4596 (#4597)

(cherry picked from commit 8951990)

LGTM


Buffer tar file on v2 push

Use the same buffering mechanism as v1 to buffer the tar contents on push.  Unlike in v1, the tarsum will not be calculated on push, therefore the tarsum library behavior with size/close cannot be relied on.  Add fixes on read to fix the problematic behavior when reaching EOF.
fixes #10312
fixes #10306

I'm pretty sure changes in pkg/archive/archive.go are going to receive a big "no" at that point in the release process.

I can work on an alternative fix which does not need to touch the archive. It is worth keeping in mind though that the only other code using the TempArchive is the v1 push.  The only reason this code works today is because it is relying on the Tarsum calculation to stop reading once it has detected that it has read an entire tar file.  As it is written, a close will happen on read without returning an EOF, subsequent reads will then be issued a "bad file descriptor" for reading from a closed file.

Ping @tiborvass @unclejack for archive.

Quick note for those who stumble on this PR: the updated implementation doesn't have any modification to pkg/archive. It's much simpler now.

LGTM

If someone manages to try this on a V2 registry that'd be great.
Works fine with v1 registry.
LGTM

So tired I tested w v2 but idk it should maybe only count for half LGTM lol

LGTM (thanks for the fast reviews and tests!)


add functionality to api module functions and implement the remain api modules

This is the final phase in order to have an MVP for autobot. The methods in the different classes in api modules need to have their functionality added. also @ushergodwin already worked on one module but there are the rest of the api modules in the stcikers,games etc subpackages. The methods for these objects are located in the same sections on the telegram api page.
In order to add functionality, The method should first be determined as a post or get method. Post methods push data to the telegram bot while get methods pull data from it. for get methods, they internally call the _get() method with the url and headers as key word arguments. for example `self._get(url = url,headers = kwargs)
the method should taken in only key word arguments as parameters, for example async def send_message (self,**kwargs), then construct a url that it will pass to the internal get or post method. To construct the url, should just call the add_method method on the url class that it has access to from the context. the add_method should be given a name corresponding to the actual telegram method, and it shall return a new url with the telegram method name. Then the method should go ahead and call the underlying _get or _post methods. The return dictionary from the _get and _post methods is then parsed by the method and the method returns the parsed value.  For example
async def send_message (self,**kwargs):
    url = self.url.add_method("sendMessage")
    res = await self._post(url = url,body = kwargs)
    return self.parser.parse(res)

async def get_updates (self,**kwargs):
    url = self.url.add_method("getUpdates")
    res = await self._get(url = url,headers = kwargs)
    return [self.parser.parse(update) for update in res]

for any questions, please raise them in the Q&A section of the discussion
@kallyas @ushergodwin

Duly noted.

@ht-thomas @ushergodwin Is this complete?

@kallyas I think one API module is still incomplete. The one for the general objects.

Oh even general objects, so is the implementation the same?

@kallyas yes. Basically the same as the other API objects. Unless there are methods that require special attention

@kallyas are you planning to work on this?

yes, I'm planning on continuing

@kallyas great. My target is now to make a beta release on sunday. I don't know if it will be possible

Sure, I'll try

@ht-thomas  are they supposed to be in this file? https://github.com/OSCA-Kampala-Chapter/autobot/blob/b69b9ad20857aa941cd28db8543dcc1488a2013e/autobot/telegram/api.py#L2

@kallyas yes, the module already has function signatures that @ushergodwin wrote. Now they need to implement the functionality just like you did with the other API methods


https://www.baidu.com/s?ie=UTF-8&wd=scratchjr+编译&tn=98012088_4_dg&ch=10

Could you please clarify your question or issue?


Open video local storage (library)  exit the application

Bug report

Summary
Open video local storage (library) cash app.

Environment info
"react-native-image-picker": "^2.3.3",
"react": "16.13.1",
"react-native": "0.63.2",

react-native info output:
# paste it here

Library version: x.x.x
Steps to reproduce

Describe what you expected to happen:

Open library.
Choose Video.
Exit the application

Reproducible sample code

Same here.
I did got some error response :
{"error": "Can't resize the image", "fileName": "VID_20200917_172436.mp4", "fileSize": 12943805, "isVertical": true, "originalRotation": 0, "path": "/storage/emulated/0/DCIM/Camera/VID_20200917_172436.mp4", "type": "video/mp4", "uri": "content://media/external/video/media/326095"}
I think it is because the file size is too large.
Is there any solution?

Same problem over here using android 10, react-native 0.63.0 and react-native-image-picker ^2.3.3

This is the stacktrace that Flipper provides when the app crash after a video gets selected.

Same here.
I did got some error response :
{"error": "Can't resize the image", "fileName": "VID_20200917_172436.mp4", "fileSize": 12943805, "isVertical": true, "originalRotation": 0, "path": "/storage/emulated/0/DCIM/Camera/VID_20200917_172436.mp4", "type": "video/mp4", "uri": "content://media/external/video/media/326095"}
I think it is because the file size is too large.
Is there any solution?

I don't know

I have the same problem too. Is this a bug?
Using android 10, rn 0.63.2, rn-image-picker 2.3.4
And I got no error

I have the same problem too. Is this a bug?
Using android 10, rn 0.63.2, rn-image-picker 2.3.4
And I got no error

Wait admin fix. You can open android studio logcat if not error

we have the same problem on Android 10, rn 063.2,  rn-image-picker 2.3.4

I got a same error

I got same error and was solved setting noData param to true
ImagePicker.launchImageLibrary({       mediaType: 'mixed',       allowsEditing: false,       noData: true,       storageOptions: {         cameraRoll: false,         skipBackup: true,         path: 'images'       }     }, (file) => {       if (file && file.type && file.type.includes('image')) {         this.cropImage(file.uri)       }       if (file && file.type && file.type.includes('video')) {         this.cropVideo(file.path)       }     })

@CarvalhoPaulo doesn't work noData: true to get videos. The same error. Thanks anyway.

If possible can you migrate to using version 3.0.0-vnext.1 https://github.com/react-native-image-picker/react-native-image-picker/releases/tag/v3.0.0-vnext.1
Check if your issue is solved.
Check 3.x.x docs for installation and API changes.

If possible can you migrate to using version 3.0.0-vnext.1 https://github.com/react-native-image-picker/react-native-image-picker/releases/tag/v3.0.0-vnext.1
Check if your issue is solved.
Check 3.x.x docs for installation and API changes.

Thanks you. I will try it later and give feedback

If possible can you migrate to using version 3.0.0-vnext.1 https://github.com/react-native-image-picker/react-native-image-picker/releases/tag/v3.0.0-vnext.1
Check if your issue is solved.
Check 3.x.x docs for installation and API changes.

https://stackoverflow.com/questions/61586124/illegalargumentexception-invalid-column-latitude
Looks like this is an issue with android 10 default google photos app. Works properly on android 9 and 11. All tested in emulators. Some one test it with real android 10 device and tell if the issue happens. But the bug is on android side.

+1

Open a new issue with details with latest version to further diagnose. Thanks

Open a new issue with details with latest version to further diagnose. Thanks


dbeaver/dbeaver-ee#1933 Speed up generic container refresh

This is achieved by caching its structure afterward.
Please ensure schema refresh works nicely in generic databases, such as Vertica.

Verified


Agility / Marks of grace- Tier'd supporters get less marks per hour.

The Code below scales the amount of parks per trip based on the percent of the max possible laps per trip.  This was apparently written assuming maxTripLength would always be 30, in which case you get marksPer60 marks/hr on average.
for (let i = 0; i < Math.floor(course.marksPer60 * (quantity / maxQuantity)); i++)
However, with a longer max trip length (ie. if you're a patron/supporter), you get fewer marks per hour than a "normie."
Assume marksPer60 is 20, and Alice has a maxTripLength of 30, and Bob has a maxTripLength of 40.
If both players do their max length (30 and 40 minutes respesctively) they will each the same number of marks on average (10) even though Bob spent 10 minutes longer.
If Bob only does enough laps for a 30 minute trip, he will get 25% less marks per hour (7.5) than Alice does (10) for the same 30 minute trip..
Example:
(I know it's actually quantity/maxQuantity but since they are directly proportional to the trip length/maxTripLength, this example is still valid.)
Marks per hour = 20
Alice - Tier 1, 30 minute maxTripLength
Bob - Tier 5, 40 minute maxTripLength
Average Marks per trip (by length):
           10m     20m       30m         40m
_________________________________________________
Alice  |   3.33    6.66      10          N/A
Bob    |   2.5     5         7.5         10

Suggested Fix:
Scale it to the max possible laps in an hour divided by 2. Let's say there's 20 marksPer60, and you can do 50 laps in an hour. A 25 lap trip now has the max possible iterations (20 x (25/(50/2)) = 20, which is then randomized to 1/2 that number on average with the inner loop's roll(2).
This works for any number of laps, regardless of the user's trip length. 40 laps? (20 x (40/(50/2)) = 32, etc.
		// Calculate marks of grace
		let totalMarks = 0;
		const timePerLap = course.lapTime * Time.Second;
		const agilityTripLength = user.maxTripLength(Activity.Agility);
		const maxQuantity = Math.floor(agilityTripLength / timePerLap);
		const hourQuantity = Math.floor(60 * Time.Minute / timePerLap);
		if (course.marksPer60) {
			for (let i = 0; i < Math.floor(course.marksPer60 * (quantity / (hourQuantity / 2))); i++) {
				if (roll(2)) {
					totalMarks += 1;
				}
			}
		}


Updated to python3

I've confirmed results are the same when running python2 and python3 on HCC1395 WGS Exome and RNA Seq Data, though some of them are sorted differently.

Thanks @Dranion!
It looks like @arkal is helping you already, but I wandered in to look at this too.
Just from looking over the PR, it looks like you're adding a .idea directory that I don't think wants to be there, and I'm not quite sure the manual changes look like what it would want to say after this gets merged (it still points to your repo, for example).

Thanks @Dranion!
It looks like @arkal is helping you already, but I wandered in to look at this too.
Just from looking over the PR, it looks like you're adding a .idea directory that I don't think wants to be there, and I'm not quite sure the manual changes look like what it would want to say after this gets merged (it still points to your repo, for example).

Thanks for pointing that out! I removed the .idea directory and changed the markdown links to relative references.
Since I squashed all the commits here, I'm not sure about making changes to the links in changes.md. I could honestly remove it since the results from py2 and py3 were the same, but I don't know what best practice would be.

Thanks for pointing that out! I removed the .idea directory and changed the markdown links to relative references.
Since I squashed all the commits here, I'm not sure about making changes to the links in changes.md. I could honestly remove it since the results from py2 and py3 were the same, but I don't know what best practice would be.

Changes.md looks good; I hadn't seen that the first time I looked. I think I'm more worried that, bundled with the upgrade, are changes to e.g. README.md that say that this is an experimental Python 3 port, and the original README continues below. If it gets merged, it makes the main project homepage look like this:

After this gets merged, it won't be an experimental Python 3 port; it will be the main thing. And the concept of an "original README" won't make sense anymore.
I feel like most of the notes about porting/having ported from Python 2 to Python 3 should probably live in Changes.md under a heading. Then Changes.md would basically be a changelog.

Changes.md looks good; I hadn't seen that the first time I looked. I think I'm more worried that, bundled with the upgrade, are changes to e.g. README.md that say that this is an experimental Python 3 port, and the original README continues below. If it gets merged, it makes the main project homepage look like this:

After this gets merged, it won't be an experimental Python 3 port; it will be the main thing. And the concept of an "original README" won't make sense anymore.
I feel like most of the notes about porting/having ported from Python 2 to Python 3 should probably live in Changes.md under a heading. Then Changes.md would basically be a changelog.

In that case there's a one thing that should probably be addressed for the README to be less experimental, primarily the fact that s3am is python2 only. I have a quick fork of that but am just beginning to debug it. Restricting the main version to local only is probably a bad idea in the first place. I'll get that functioning before doing more here.

In that case there's a one thing that should probably be addressed for the README to be less experimental, primarily the fact that s3am is python2 only. I have a quick fork of that but am just beginning to debug it. Restricting the main version to local only is probably a bad idea in the first place. I'll get that functioning before doing more here.


updated XPATH coverage service to support not-based XPATHs

Codecov Report
Base: 98.19% // Head: 98.19% // No change to project coverage :thumbsup:

Coverage data is based on head (029ab73) compared to base (cffad67).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #428   +/-   ##
=======================================
  Coverage   98.19%   98.19%
=======================================
  Files         128      128
  Lines        6633     6633
=======================================
  Hits         6513     6513
  Misses        120      120

Impacted Files
Coverage Δ

...notice_validator/adapters/xpath_coverage_runner.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Additional fixes to gitlab ci config

Making compatible with new Dockerfile VERSION handling

Codecov Report

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

@@           Coverage Diff           @@
##           master      #57   +/-   ##
=======================================
  Coverage   25.61%   25.61%
=======================================
  Files           5        5
  Lines         730      730
=======================================
  Hits          187      187
  Misses        543      543

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 70f3b74...53e3529. Read the comment docs.


Update root.tsx with meta export

Changing the template to use the meta export function to do things the "remix" way.
I was using this template to upgrade my vite spa app to remix vite and ran into a hydration issue. After a bit of research and tinkering, I discovered that adding my own meta tags was causing the problem. So I figured I could just use the meta export. Then I thought I'd fix the template so no other poor soul would run into a hydration error because of this issue.

I think we'll want to keep this as-is, but could you provide a reproduction of the hydration issue for us to peek at?
We used to include static tags like this in meta() but made a conscious decision a while back to move them to root component as <meta> tags to remove any unnecessary abstration/indirection.  This way we're doing things the HTML way as much as possible, without unnecessarily reaching for Remixism's.  meta is best used for tags that are dynamic based on your loader results.
Also, FWIW, eventually with React 19's automatic hoisting of <meta>/<link> tags to the <head>, meta() will very likely go away in a future version because you'll be able to just render the dynamic meta tags in your component and let React put them in the <head>.

In addition, <meta charset> is recommended to be in the first 1024 bytes of the HTML document as it signals the parser which encoding is being used. We can ensure this element is placed first by explicitly including it in the document vs the meta() function.

Oh interesting. Didn't know that about the meta tag. I would've thought you have some control over that in Remix if I put those tags in the meta() function, but I have very little knowledge of how Remix actually works.
Short story is that I never fully figured out what was causing the hydration error. Admittedly, I am a noob at figuring out hydration issues (because at work we still use CRA for all our react code), so I'm a bit new to SSR react. I was trying to upgrade a Vite SPA to Remix that use the MUI component library and got an error about the meta tags which I read was a hydration error. I ended up switching to NextJS (even though I'm a big Remix fan, it has horrible support for CSS in JS libraries :( and in Next, everything just...... worked) and was about to move on with my project. Thank you for looking into this. I will close this PR as it is N/a.


Improvement: Dynamically Create an "Edit on CodePen" Button

I think, this can be very useful.
http://blog.codepen.io/documentation/api/prefill/

Dropped.


xrefs vs basicPropertyValues exactMatch

What is the difference between xrefs for a Mondo disease term and the basicPropertyValues field with "pred" : "http://www.w3.org/2004/02/skos/core#exactMatch"? I have looked in the FAQs and documentation, but did not find this information. For context, I was looking at MeSH identifiers in these two fields and for 8,036 Mondo terms the MeSH entry seems to appear in both places, but for 42 Mondo terms the MeSH ID only appears as xrefs (I used the csv files from data.bioontology.org). Here is one example showing the 'Preferred Label', 'xrefs' and 'exactMatch' entries:
benign duodenal neoplasm
DOID:1737|EFO:1000907|MedDRA:10004251|SCTID:92080005|MESH:D004379|NCIT:C4775
http://identifiers.org/snomedct/92080005|http://purl.obolibrary.org/obo/DOID_1737|http://purl.obolibrary.org/obo/NCIT_C4775

Further, how is the 'Other mappings' field on the website populated?

@nicolevasilevsky I think this documentation entry needs to be reworked a bit.
What this question suggests to me is that we should be more deliberate with what we export during a release. Right now MONDO:equivalentTo are all translated into skos:exactMatch (at least for most of the source terminologies).
When this documentation you shared was active, we used to export owl equivalent class axioms (which we still do in "mondo-with-equivalents.owl" release), but nowadays, this does not make sense anymore - we do not at all suggest the use of owl semantics anymore, just the more "loose" interpretation of skos.
However, @MichaelaEBI the answer, if you rewrite slightly, still applies:
skos:exactMatch has a much stronger semantic meaning than xref. From a user perspective I would treat entries with xref as "rough matches", while the skos:exactMatch ones as precise matches.

@nicolevasilevsky is there anything else to do to address this issue?

[ ] Ensure that the user facing documentation on Mondo mappings clarify the difference between xref and skos:exactMatch


z/OSMF - Performance measure

Create a plan to determine scaleabilty of z/OSMF when used by potentially 100-1000s concurrent requests, execute the scale testing, provide guidance on tuning and/or code hot spots for redesign

Closing as this will be covered by the performance team.


Fix notifier inventory summary export test

Story
The notifier-inventory-summary-export is failing with the following error:
×  notifier-inventory-summary-export: Command: `forseti notifier run` (2 failed)
     ✔  Command: `forseti notifier run` exit_status should eq 0
     ✔  Command: `forseti notifier run` stdout should match /Notification completed!/
     ×  Command: `gsutil ls gs://forseti-server-65eb14d9/inventory_summary/|grep<PHONE_NUMBER>866157` exit_status should eq 0

     expected: 0
          got: 1

     (compared using ==)

     ×  Command: `gsutil ls gs://forseti-server-65eb14d9/inventory_summary/|grep<PHONE_NUMBER>866157` stdout should match "gs://forseti-server-65eb14d9/inventory_summary/inventory_summary.1574705947866157.[0-9TZ]*.csv"
     expected "" to match "gs://forseti-server-65eb14d9/inventory_summary/inventory_summary.1574705947866157.[0-9TZ]*.csv"
     ✔  Command: `forseti inventory delete<PHONE_NUMBER>866157` exit_status should eq 0
     ✔  Command: `forseti model delete 7d81364e3e1` exit_status should eq 0

Proposed Solution
The Forseti notifier will output the GCS path of the inventory summary export file as part of the CLI streamed output:
{
  "serverMessage": "Inventory Summary file saved to GCS path: gs://#{forseti-server-storage-bucket}/inventory_summary/inventory_summary.1574705590444937.20191125T195157Z.csv"
}

Parse this filename and verify this file exists. The current test is looking for any export for the given inventory ID. Fix any issues in this test.
Acceptance Criteria

Verify the GCS file included in the CLI output exists
The test is stable

https://github.com/forseti-security/forseti-security/pull/3504

Select a model and create a scanner run before the notifier run.


chore: Allowing multiple PR templates.

Types of changes

[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 change)
[ ] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] All commits are signed-off.

Summary

I want to test how this behaves in practice. I think the extra templates are worthwhile.

Key links:

Sonar coverage

LGTM - I think it is a good idea to have multiple PR templates. Maybe we can also use templates headers for some automation (i.e. add reviewers, send a Slack message). Overall, I think this is good and opens up some new functionality possibilities

That was precisely the idea. I thought we could start gently with some experimentation here (and internally on GHE).


dotnet: 9.0.0-preview.7 -> 9.0.0-rc.1

Description of changes
Cc: @NixOS/dotnet

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 342299 run on x86_64-linux 1

10 packages built:

dotnetCorePackages.aspnetcore_9_0
dotnetCorePackages.dotnet_9.aspnetcore
dotnetCorePackages.dotnet_9.runtime
dotnetCorePackages.dotnet_9.sdk
dotnetCorePackages.dotnet_9.sdk.artifacts
dotnetCorePackages.dotnet_9.sdk.packages
dotnetCorePackages.dotnet_9.vmr
dotnetCorePackages.runtime_9_0
dotnetCorePackages.sdk_9_0
roslyn-ls

Result of nixpkgs-review pr 342299 run on x86_64-linux 1

10 packages built:

dotnetCorePackages.aspnetcore_9_0
dotnetCorePackages.dotnet_9.aspnetcore
dotnetCorePackages.dotnet_9.runtime
dotnetCorePackages.dotnet_9.sdk
dotnetCorePackages.dotnet_9.sdk.artifacts
dotnetCorePackages.dotnet_9.sdk.packages
dotnetCorePackages.dotnet_9.vmr
dotnetCorePackages.runtime_9_0
dotnetCorePackages.sdk_9_0
roslyn-ls

Result of nixpkgs-review run on aarch64-darwin 1

10 packages built:

dotnetCorePackages.aspnetcore_9_0
dotnetCorePackages.dotnet_9.aspnetcore
dotnetCorePackages.dotnet_9.runtime
dotnetCorePackages.dotnet_9.sdk
dotnetCorePackages.dotnet_9.sdk.artifacts
dotnetCorePackages.dotnet_9.sdk.packages
dotnetCorePackages.dotnet_9.vmr
dotnetCorePackages.runtime_9_0
dotnetCorePackages.sdk_9_0
roslyn-ls

@corngood I've been running into the following on a project of mine after this update, have you run into the same?
[ggg@sora:~/Git/GGG-KILLER/Loretta]$ dotnet restore -v diag
/nix/store/pdjbc8jfjp6y95i23lnd87wn0s4ddprv-dotnet-core-combined/sdk/9.0.100-preview.7.24407.12/MSBuild.dll -nologo -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,/nix/store/1k6xg0qsjm49z35zdk94q2rfrgr2hlma-dotnet-sdk-9.0.100-rc.1.24452.12/sdk/9.0.100-rc.1.24452.12/dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,/nix/store/1k6xg0qsjm49z35zdk94q2rfrgr2hlma-dotnet-sdk-9.0.100-rc.1.24452.12/sdk/9.0.100-rc.1.24452.12/dotnet.dll -maxcpucount -target:Restore -tlp:default=auto -verbosity:m -verbosity:diag ./Loretta.sln

Restore failed in 4.6s

@GGG-KILLER that doesn't seem familiar.  Any idea how I could reproduce it?  Have you tried cleaning your working tree and/or ~/.nuget?

Okay, nevermind, it seems after updating my flake somehow fixed it @corngood. Ignore what I said.