Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs

Hello,
Thanks for doing this -- when it works, it's fantastic, and a major time-saver.
However, I'm getting this problem when I've installed this in a React 15 application.
Looking here it appears that this happens when you get more than one instance of React installed in your application.  Someone in that thread found out that some code they npm installd had its own copy of React.
I checked, and sure enough, I found node_modules/react-number-input/node_modules/react.  I removed that directory and the problem went away.
Thanks!

You need to make sure you install right version of the react-number-input component and also that which ever compilation you're using is not adding extra deps.
It may be caused by main declaration in the package which I am about to remove. Thanks for reporting this.

Currently working on a complete rewrite see branch feature/1.5.4. Try it again on the branch and see if its still an issue.


Is it complete?

Hi, Is this clone is complete? I set it up with my localhost and found that only the home page is working.
There is not any admin part which can be used to manage courses.
Do you have a completed one?

@himanshu-  check master branch, i guess if it doesn't work then it means its not complete

@himanshu- @DanielOX I didn't create admin part for this project yet.


Adds docs badge to README

Codecov Report

Merging #109 (8dd9464) into main (7509132) will decrease coverage by 0.14%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #109      +/-   ##
==========================================
- Coverage   63.37%   63.22%   -0.15%
==========================================
  Files          81       81
  Lines        2714     2714
==========================================
- Hits         1720     1716       -4
- Misses        994      998       +4

Impacted Files
Coverage Δ

ezflow/functional/data_augmentation/operations.py
65.45% <0.00%> (-7.28%)
:arrow_down:


Update deps and fix linting violations

Closes https://github.com/abcxyz/github-token-minter/pull/84

Apparently not all linter issues fixed

Technically it was the linter itself that was broken 💅


[RFC]Add Auto-Round Support

Hi, here is the INC team from Intel. Thank you for developing this amazing project.
Motivation
Our team has developed a new weight-only quantization algorithm called Auto-Round. It has achieved superior accuracy compared to GPTQ, AWQ, and OmniQuant across 11 tasks, particularly excelling in low-bit quantization (e.g., 2-bits and 3-bits). Auto-Round supports quantization from 2 to 8 bits, involves low tuning costs, and imposes no additional overhead during inference. Key results are summarized below, with detailed information available in our paper, GitHub repository, and Hugging Face low-bit quantization leaderboard.

We would like to contribute this quantization algorithm to TGI and enable users to:

Quantize a floating model using Auto-Round.
Perform inference with an AutoRound-quantized model.

1. Quantize Floating Model Using Auto-Round
Extend the current quantize API and add method as a new argument to select different algorithms. Users can utilize it as follows:
text-generation-server quantize \
    --MODEL_ID path/to/float/model/\
    --OUTPUT_DIR /path/to/save/quantized/model \
    --method autoround # <--- select the different methods, such as `gptq`, `autoround`

We propose two options to implement it:
Option 1: Adding Auto-Round as a New Python Dependency (Recommended)
Auto-Round is currently released as a pure Python binary. The option adds auto-round to TGI's requirements_xx.txt and calls Auto-Round's API to obtain the quantized model.
Advantages:

Minimal maintenance effort for TGI. We already integrated it into our INC project, and enabled the integration tests.
Easy synchronization with new enhancements. As we continually improve the Auto-Round algorithm, updates can be effortlessly incorporated into TGI by updating the package version.

Option 2: Porting All Source Code of Auto-Round into TGI
We are also willing to integrate all source code of Auto-Round directly into TGI.
Advantages:

Not introduce third-party dependency.
TGI maintainers have better control.

Here is the overall calling flow for the these two options:
# tgi/server/text_generation_server/layers/autoround/quantize.py

def quantize(
    model_id: str,
    bits: int,
    groupsize: int,
    output_dir: str,
    ...
):
    # Load model...
    model = ...
    # Start quantize model using auto-round
    # Import autoround from auto-round package for Option 1
    # Import autoround from the current folder for Option 2
    import autoround
    rounder = autoround.AutoRound(model, ...)
    rounder.quantize(...)
    rounder.save_quantized(output_dir)

2. Perform Inference with an AutoRound-quantized Model.
We propose extending the current text-generation-launcher API to include autoround as a new option within --quantize. Users can utilize it as follows:
text-generation-launcher \
    --model-id INC/Llama-2-7b-Chat-Autoround \ # Quantized model using auto-round
    --trust-remote-code --port 8080 \
    --max-input-length 3072 --max-total-tokens 4096 --max-batch-prefill-tokens 4096 \
    --quantize autoround   # <------ select autoround

Your feedback is important. Please feel free to comment on the options mentioned above or suggest additional approaches to ensure the most appropriate way to contribute :). Thank you in advance!

Hi,
2 questions from my side
I saw you have a function to export as autogptq format, so it should be possible to do inference already or am I wrong ? Any quality loss to expect when doing this ?
And the seconds one is about 8bit quants, do you already have some benchmarks ?
I would be interested in integrating this :)

Awesome work!
Question about inference: I see that you also support exporting to GPTQ format. What is the benefit of adding an extra autoround option?
(Some background: we are considering to switch to GPTQ-Marlin for supported configurations, since we see much-improved throughput.)

Question about inference: I see that you also support exporting to GPTQ format. What is the benefit of adding an extra autoround option for inference?

Ah, I see you fixed the asymmetric quantization negative zeros bug. There is work on fixing this with a new gptq format revision, in case you hadn't seen it: https://github.com/AutoGPTQ/AutoGPTQ/pull/640

I saw you have a function to export as autogptq format, so it should be possible to do inference already or am I wrong ? Any quality loss to expect when doing this ?

Question about inference: I see that you also support exporting to GPTQ format. What is the benefit of adding an extra autoround option for inference?

Hi @flozi00 and @danieldk ,
Yes, AutoRound supports exporting to AutoGPTQ format without quality loss, but it is for pure 4-bit or 8-bit models.
Currently, AutoGPTQ can only apply a single quantization configuration for all target layers. In contrast, we support quantizing models with mixed various bits to balance accuracy and inference speed.
Additionally, auto-round supports quantizing the lm_head, which can save memory with negligible accuracy loss. For example, it can reduce the model size by more than 10% for W4G128 LLAMA3-8B.
We are also exploring other data types such as w4a4, w4a8, and mx format.

And the seconds one is about 8bit quants, do you already have some benchmarks ?

While 8-bit quantization is supported, extensive benchmarks have not been conducted because our 4-bit quantization results are already quite well :). If you are interested, we are happy to conduct some tests.

Question about inference: I see that you also support exporting to GPTQ format. What is the benefit of adding an extra autoround option for inference?

Ah, I see you fixed the asymmetric quantization negative zeros bug. There is work on fixing this with a new gptq format revision, which you have probably seen. Linking it just in case: AutoGPTQ/AutoGPTQ#640

Thank you for sharing this information. AutoRound supports exporting the format compatible with GPTQ-Marlin kernel as well.

Yes, AutoRound supports exporting to AutoGPTQ format without quality loss, but it is for pure 4-bit or 8-bit models.
Currently, AutoGPTQ can only apply a single quantization configuration for all target layers. In contrast, we support quantizing models with mixed various bits to balance accuracy and inference speed.

That's nice! I wonder if 'mixed-bitness' could be considered for a GPTQ v2 format as well. I think ideally, every quantizer that uses quantized weights, scales, biases, and scale grouping would use the same GPTQ-based format. This would allow us to switch out kernels when new options become available. There has been a lot of development in this space and every improvement in GPTQ inference performance has benefitted all GPTQ-based models.
With respect to training, text-generation-server quantize exists primarily for historical reasons, but we think it's best for users to use AutoGPTQ, Optimum, etc. to quantize models.

Yes, AutoRound supports exporting to AutoGPTQ format without quality loss, but it is for pure 4-bit or 8-bit models.
Currently, AutoGPTQ can only apply a single quantization configuration for all target layers. In contrast, we support quantizing models with mixed various bits to balance accuracy and inference speed.

That's really nice! I wonder if 'mixed-bitness' could be considered for a GPTQ v2 format as well. I think ideally, every quantizer that uses quantized weights, scales, biases, and scale grouping would use the same GPTQ-based format. This would allow us to switch out kernels when new options become available. There has been a lot of development in this space and every improvement in GPTQ inference performance has benefitted all GPTQ format-based models.
With respect to training, text-generation-server quantize exists primarily for historical reasons, but we think it's best for users to use AutoGPTQ, Optimum, etc. to quantize models.

Yes, I agree. From the TGI side, this is the ideal scenario. However, unifying everything is challenging due to various reasons, similar to the existence of multiple LLM serving frameworks. For example, AutoGPTQ limits their calibration dataset to about three datasets and throws an error if you specify others. Additionally, GPTQV2's pull request has been open for 2-3 months with no indication of whether it will be merged.
For AutoRound, we have currently specified the backend name (e.g., gptq:exllamav2 or others https://huggingface.co/Intel/Mistral-7B-v0.1-int4-inc-lmhead/blob/main/config.json ) and will switch to the GPTQ backend as the default CUDA kernel once their issue is fixed. Therefore, I believe TGI should have little difficulty switching to a better option in the future for all the gptq based models.

I tried to export a model using the gptq format but it seems to be not marlin compatible.
Could you specify how to export the marlin compatible weights ?

I tried to export a model using the gptq format but it seems to be not marlin compatible. Could you specify how to export the marlin compatible weights ?
Yes, sorry for the inconvenience. We will provide support within 1-2 days and keep you updated.
Since this backend is not yet supported in Transformers and only supports symmetric quantization, we haven't provided the API to users.

I just started a quantization with 1000 samples and iters
Hopefully it can be loaded with TGI Marlin gptq support https://github.com/huggingface/text-generation-inference/pull/2111

For debugging, use 32 samples with 2 iterations and disable low GPU memory usage for much faster performance. By default, we use 512 samples and 200 iterations and will support a fast config soon. Additionally, I think --sym needs to be added.
Currently, the packing format is Triton, the same as exllamav2. I'm not sure whether TGI supports the conversion, as they are different formats to my knowledge.

https://github.com/intel/auto-round/pull/168
with sym, I have verified marlin on opt-125m, will verify llama3 later

@flozi00   Hi, I have fixed the issue, please have a double check.
auto-gptq==0.7.1
text = "There is a girl who likes adventure,"
opt125m Transformers API: There is a girl who likes adventure, and she is a girl who likes adventure.
I'm not sure if you're being sarcastic or not, but I'm pretty sure you're being sarcastic.
I'm not sure if you're being sarcastic or not, but I'm pretty sure
opt125m AutoGPTQ marlin API: "There is a girl who likes adventure, and she is a girl who likes adventure.
I'm not sure if you're being sarcastic or not, but I'm pretty sure you're being sarcastic.
I'm not sure if you're being sarcastic or not, but I'm pretty sure"
LLAMA3-8B-Instruct Transformers API:  There is a girl who likes adventure, and she is always ready to take on new challenges. She is a true adventurer at heart, and she loves to explore new places and try new things. She is also very brave and never backs down from a challenge, even if it seems scary or
LLAMA3-8B-Instruct  AutoGPTQ marlin API:  There is a girl who likes adventure, and she is always ready to take on new challenges. She is a true adventurer at heart, and she loves to explore new places and try new things. She is also very brave and never backs down from a challenge, even if it seems scary or
reference cmd
CUDA_VISIBLE_DEVICES=0 \
python3 main.py \
--model_name  $model_name \
--nsamples 128 \
--seqlen 512 \
--sym  \
--disable_low_gpu_mem_usage \
--disable_eval \
--deployment_device 'gpu' \

That would make it a lot easier
At the moment i still need to repack it after the export to be marlin tgi compatible

That would make it a lot easier At the moment i still need to repack it after the export to be marlin tgi compatible

Sure, we will support it tomorrow.

I can confirm that the Marlin Kernels for gptq in tgi are working with the exported Models from the Auto round Main branch

@flozi00
We have added support for packing directly to the AutoRound format in  https://github.com/intel/auto-round/pull/172 by setting --deployment_device 'auto_round:marlin' in our latest update. This feature will be merged after extensive testing.
Regarding exporting to the AutoGPTQ format, we found that with the current AutoGPTQ API, it still conducts repacking even with marlin format. Therefore, we do not plan to support this format as exporting to ExLlamaV2 is more compatible.
test_result:
LLama3-8B-Instruct: There is a girl who likes adventure, and she is always ready to take on new challenges. She is a free spirit, and she loves to explore new places and try new things. She is also very curious, and she loves to learn new things. She is a bit of a thrill


New user's photos all showing as "forbidden"

Here's someone who started blitzing today (including at the McLaren blitz) and for some reason all their pics are failing and breaking their observation pages:
http://www.inaturalist.org/observations/loiscapades

Ugh, bummer. I looked at one and while we have a file at S3, it's not an image file. I suspect something might be weird with her phone. I can tell she was using an old version of Android and what seems like an older phone. @budowski, do you know if the Android app should even work with with SDK 15?

Still don't know what happened here, but I'm not sure we can hunt it down without more info.

It should work with SDK 15, though it's very old. Very strange bug  indeed.
What happens when you look at the files in a hex editor? What kind of header does it have?


Inactive links to Slack channel on Registry

I think this link works perhaps?
https://seqcode-public.slack.com/

We need to re-create an invite link periodically. For now, I'll be refreshing it whenever we notice it's out, but eventually we may want a more stable solution

Fixed with a no-expiration link.


Adjust screen size breakpoints

Description
Requesting the ability to adjust breakpoints for screen sizes.
These are currently fixed to <768px, >768px and >1400px
By allowing editing of the breakpoints, it is easier to deploy for whatever fleet of screen widths users have.
Related topics:
XL sizing: https://github.com/ajnart/homarr/issues/1285
iPad screen sizing: https://github.com/ajnart/homarr/issues/891
Please tick the boxes

[X] You've read the docs
[X] You've checked for duplicate issues

We also talked about locking configs with the same # columns as an alternative on discord.

This is not possible in the current version of homarr, due to how the breakpoints are defined. But it might be possible in the future. Closing as done because it is not yet possible


Synth copy

This is a WIP/failed attempt at circumventing anti-aliasing problems described in #154.
The approach failed because it hit the same problem (anti-aliasing) that it wanted to solve for
recursive data types.

Superseded by #156.


Disabling IRQs required.

Great library! However I found that for my case (ESP8266 NodeMCUv2) my LED strip flickered if interrupts weren't suspended. The following example code worked for me on Micropython 1.9.3, continually setting the first half of my 12 pixel chain red, and the second half blue without flicker. Perhaps IRQ suspending could be a default, overridden by a boolean keyword argument to write()
from neoSPI import NeoPixel
from machine import SPI,disable_irq,enable_irq
import time
spi = SPI(1, baudrate=3200000)
pixels = NeoPixel(spi, 12)

while True:
    sec = time.time()
    first = (255,0,0)
    second = (0,255,0)
    while (time.time() - sec) < 5:
        pixels[:6] = first
        pixels[6:] = second
        state = disable_irq()
        pixels.write()
        enable_irq(state)

I'm not sure that the flicker here is caused be interrupts upsetting the transfer since if you're using an ESP8266 and machine.spi(1) then you are using a hardware SPI interface, so interrupts should not be an issue. I think that part of what is going on here is that there is no delay in your loop, which means that you are constantly resetting the values on the pixels. The NeoPixels do not need to be constantly refreshed but they do briefly switch off while they are accepting new data. If you briefly disable the interrupts and then reenable them then you'll probably end up with quite a regular loop time and a very regular flicker will be less noticeable. Can you try taking out the disable_irq() and enable_irq() and add a sleep(0.1) statement instead? If that fixes it then I think the flicker was probably cause by you writing to the pixels too fast.

The experience I had was not regular flickering, as would take place if there was a moment of black on each write. Rather the experience was that it worked nearly all of the time, and there was occasionally a failure to accurately write (e.g. some of the pixels ended up temporarily black or the wrong color). I ambiguously described this as a 'flicker'. The reason for writing so very fast and frequently was to be able to trigger enough writes to be able to see the occasional failure. If you run at routine speeds, it looks like it's working all the time, but then you will get e.g. a 1% failure. When you are writing very regularly, they are more detectable.

OK. I've been trying to reproduce the problem and can not get it to show up. I don't see any flickering with interrupts enabled. What version of MicroPython are you using and what sort of LED strip? I've been using some cheap, no-brand ESP8266 cards that I got on Amazon and I've tried this with both cheap AliExpress LED strips and the curved AdaFruit NeoPixel strips and the only problems that I've had have been down to loose connections.

I am using WS2811-driven 12v 3LED rectangular pixels. For these pixels the signal wires need to be very short and I am having to use a 5V buffer to step up the voltage from 3.3V to 5V for reliability. Not sure how any of these might be having a compounding effect on the signal quality to create this correlation with interrupts. I speculate it might also be dependent on how much local Wi-Fi traffic is being processed by the CPU.

Away from the bench right now, but if I recall, the 5V transceiver is this...
http://www.hobbytronics.co.uk/74hc245-octal-transceiver
...and I was using the latest Micropython image 1.9.3 on a NodeMCU v2

Closing due to inactivity. Reopen if this is still an issue.


Update command-line-management-tool-sqllocaldb-exe.md

Fixed pipe symbol in documentation.  Was showing HTML code of | instead of |

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

This file has mixed line endings which made it hard to only have the lines I intended to change reflect in the diff.

Thank you  @ngbrown for the  content help.


[BUG] Random error with initialization client

Is there an existing issue for this?

[X] I have searched the existing issues

SDK Version
react-sdk v3.1.0
Current Behavior
We currently have logs indicating random requests getting the following error
message:Request error stack:Error: Request error at responsePromise.n.onreadystatechange

Expected Behavior
No error
Steps To Reproduce
// or this is written inside useEffect
const client = createInstance({
    sdkKey: 'SDK_KEY',
    datafileOptions: {
      autoUpdate: true,
      updateInterval: 300000,
    },
    eventBatchSize: 10,
    eventFlushInterval: 1000,
    errorHandler: {
      handleError: (e: Error) => {
        console.log(e.message, e.stack);
      },
    },
    odpOptions: {
      disabled: true,
    },
});

const OptimizelyFlagProvider = () => {
  // some useState

  useEffect(() => {
    const isClientValid = () => {
      return client?.getOptimizelyConfig() !== null;
    };

    client?.onReady().then((ocInstance: OnReadyResult) => {
      if (isClientValid()) {
          // set valid state
      }
      else {
          // set error state
      }
    }(
  }, []);

  return (
    <OptimizelyProvider optimizely={client} timeout={500} user={{ id: 'userId' }}>
       // error and successful body {....}
    </OptimizelyProvider>
   );
}

React Framework
18.2.0
Browsers impacted
Chrome latest version
Link
No response
Logs
No response
Severity
Affecting users
Workaround/Solution
No response
Recent Change
No response
Conflicts
No response

@kimyu92 , due to inactivity, I am closing this issue. If you have more details or the issue occurs again, please feel free to reopen it.
Thanks!


i get into trouble when using it.

when i scroll down over padding-bottom, than  padding-bottom change to become 0, and scroll stops.
how to fix this, or my wrong config ?
hope to get your reply as soon as possible.

i solve this problem successfully,
i put  wrongly.
to be honest,
you could make documentation more detail,
at last,  great thanks to your hard work.
👍


🐛 [Bug] Typo in documentation and hyperlink broken

Bug Description
It appears from the documentation that there are typos here and the links are broken.
If the hyper links are supposed to be directed to the same section on the same page then simply remove the hyperlinks.
To Reproduce
Go to following URL:
https://pytorch.org/TensorRT/_notebooks/dynamic-shapes.html?highlight=dynamic shapes#
Expected behavior

Typo should be corrected
Links should be working

Environment

Build information about Torch-TensorRT can be found by turning on debug messages

Torch-TensorRT Version (e.g. 1.0.0):
PyTorch Version (e.g. 1.0):
CPU Architecture:
OS (e.g., Linux):
How you installed PyTorch (conda, pip, libtorch, source):
Build command you used (if compiling from source):
Are you using local sources or building from archives:
Python version:
CUDA version:
GPU models and configuration:
Any other relevant information:

Additional context

Fixed with: https://github.com/pytorch/TensorRT/pull/1098


Megacommit to make all events EscoriaEvent

This can't be properly split up so that anything works, and most of the changes are restoring the old function signatures.
The more important change is that the event table contains actual event instances.

Seems very cool ! It actually makes the code more readable since many functions get 1 less parameter this way.


Messages: Produce: Success toast overlaps produce button

Produce a message with 'keep contents' on

TODO:

Move the toast or the button somewhere to make the button more accessible

Hi, Looks interesting. Kindly assign to me :)

@ManishS6 hi, any luck? Cleaning up hanging issues for other contributors.


sched/wdog: use small lock to protect g_wdactivelist

Summary
sched/wdog: use small lock to protect g_wdactivelist
reason:
We would like to replace the critical section with a small lock.
This PR requires https://github.com/apache/nuttx/pull/14578 and https://github.com/apache/nuttx/pull/15129 to be merged first.
Impact
wdog
Testing
ci  ostest(qemu-armv8a:nsh_smp)

[Experimental Bot, please feedback here]
No, this PR does not fully meet the NuttX requirements.  While it provides a summary and testing information, it lacks crucial details.
Here's what's missing:

Summary:  Lacks sufficient detail. How does using a small lock work? What specific code changes are made?  Simply stating "replace critical section with small lock" is insufficient.  What benefits does this change offer (e.g., performance, reduced interrupt latency)?
Impact:  The impact section is woefully incomplete.  It only mentions "wdog" which is not helpful.  All "NO/YES" questions need to be answered explicitly, and a description provided for any "YES" answers.  Consider impacts like:

Performance: Does this change improve or degrade performance?
Memory usage: Does this change affect memory usage?
Real-time behavior: Are there any changes to real-time guarantees?

Testing: While it mentions "ci ostest,"  it lacks specific details about the results of the tests. Providing "before" and "after" logs is mandatory, even if they are identical (to demonstrate no regressions). The provided logs are empty placeholders.  Information about the build host (OS, compiler version) is also missing.

The PR needs substantial revision to meet the NuttX requirements.  It needs to provide a more thorough explanation of the changes, a detailed impact assessment, and actual testing logs demonstrating the effect of the change.


Suddenly CI was not found double requirement (six)

Pull Request Test Coverage Report for Build 55

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.662%

Totals

Change from base Build 53:
0.0%

Covered Lines:
295

Relevant Lines:
299

💛  - Coveralls


Ziggo mediabox Next

No code is change in your fork from the original.
Will not accept this, since this it not your work.


fix(Popup): restore ability to render popup from React element

TODO

[ ] update changelog

With recent changes being introduced to shorthand factories (specifically, because of the change that now dictates to pass React Element shorthand value 'as is'), the following way of defining Popup has become broken:
<Popup content={
This is the content that will be rendered 'as is'
} ... />

The way it was broken is that now the content of the
 element is, essentially, not visible (however, while still rendered in the DOM tree), because positioning styles are not applied.

This corresponds to the following example on the docs page:

This PR restores this functionality.

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS

@layershifter
As we've agreed with @layershifter while having discussion around that, moving with this now but leaving this topic for future discussion around shorthand factories, as this change might serve as a warning sign for the approach we've taken, especially if this pattern
isValidElement() ? clone() : create()   // © @layershifter :)

will be repeated for other components in many places.


Update the warning provided when a bad reverse entry is not found in …

…serializer to point to correct import location.
Closes: DNE
What's Changed
Update the warning provided when a bad reverse entry is not found in serializer to point to correct import location.
TODO

Looks like nautobot.extras.tests.test_plugins.PluginAPITest needs to be updated to check for the corrected verbiage.


How should we suggest updating data in a readonly namespace?

I would like to start proposing improvements to the NVD data from the nvd.nist.gov namespace on GSD entries in the hope that someday we can find a way to provide those updates back to the source.  The nvd.nist.gov namespace is readonly and populated by the GSD bot, so editing it directly is not supported.  I know at some point @kurtseifried had provided a correction to a CPE and I think that was done by copying the affected property into a namespace nvd.nist.gov under the GSD namespace, but I'd like to understand if that is really how we want this to work moving forward.
I do have an example of a small proposed GSD entry change at https://github.com/cloudsecurityalliance/gsd-database/pull/2400

So there's two issues here:

what technical method do we use to update the JSON data (e.g. direct overwrite? patch?)
depending on the technical method, if we overwrite the data how do we handle updates from NIST for example? If we use patche(s) how do we apply them and in what order? What happens when a patch gets out of synch with the data (e.g. NIST updates it to delete an entry or something)

My thinking here is we don't touch cve.org/nist, we synthesize that data, patch it, whatever, and put the result into the GSD namespace. Then for example when the API is serving the data the requestor gets the best up to date complete data from GSD.


[Bug - Mobile] Missing duplicate proposal button and share button is partially displayed

Describe the bug
Missing duplicate proposal button and share button is partially displayed on mobile (refer screenshot) when screen size less than 420px
To Reproduce
Steps to reproduce the behavior:

On your mobile go to a proposal

Expected behavior
Should be responsive and these buttons should be displayed
Screenshots

Since we don't prioritize mobile support for the web UI, maybe we should add some note.

But why? 😅 everything else works great on mobile (except a few things) we should have a fix until there is an App available, we can ignore but only this part doesn't look nice when someone wants to see a proposal on mobile (everything else in this page is responsive)

I personally am a friend of mobile first design anyway, and using all the modern stuff, progressive web app and these nice buzzwords.. offline first, etc.. I was simply told the web app isn't supposed to support mobile/small screens. And if that is the case, imho it would be better to support nothing (and telling the user) instead of "this and that". If that's not the case... I need to do some testing on my phone.

It is the case for a lot of things. Voting and proposal page not being one of them IMO 😺

Then I suppose "duplicate proposal" should not be visible?

Can i take up this issue ??

@samuveth Will this UI work ???

Ok, I got enlightened now. Full support is actually the goal. Sorry for my saltiness. 🙈 But then this should be a bit better aligned.
I suggest moving the dropdown menus to the top and and truncating the author name if needed. Also I think there's a more common share icon we could use.

@mktcode Got it, will update accordingly. Thanks.

@ramprakashram I think you should wait a bit still. This is still just a suggestion. I'm now thinking about moving that violet proposal state label somewhere else now. Maybe that will be better.

@mktcode Sure, let me know once you are finalised on the design. 😀

Btw @bonustrack @ChaituVR This one was of course not meant to solve this issue but as an additional information for users, that mobile support is currently not at 100% and some features might be missing/inaccessible. I still think that's a good idea. Some dismissable note that's only shown once.

Or...

I think that's the best and simplest.

@mktcode Yes, looks like the best solution to me

@ramprakashram

@mktcode

@mktcode Can I hide the Avatar, as if i keep the Avatar in Mobile view, the UI Looks very crowded ?

I was thinking about that too you'll have to use truncate (tailwind class) for the username anyway. I think it's ok then.

Yes, I also think the space avatar is more important.

@mktcode The name is already truncated being truncated by the shortenAddress utiity function.

Hmmm yea with actual addresses it's a bit tricky. Usually you don't want hardcoded lengths but css based truncating because it's more flexible. But if you combine it with this utility function you'll end up with something like 0x123...78... which doesn't look nice.
Maybe it should render the address twice. Once shortened with shortenAddress for desktop, and one shortened with css on smaller screens.

@mktcode I have updated the UI as you suggested and raised a PR.


[EPIC] Populate algorithm catalog

EPIC to add a first set of (existing) UDP's to the algorithm catalog.
Guidelines for creating examples will soon appear here:
https://esa-apex.github.io/apex_documentation/eo_service_usage.html
We currently consider these lists:
VITO:

[ ] BAP composite
[ ] FuseTS/AI4Food UDP's (cropsar, mogpr)
[ ] BioPar (VITO version)
[ ] WorldCereal first version
[ ] Max-NDVI composite
[ ] Sentinel-1 stats

Non-VITO:

[ ] ESA WorldWater (DHI)
[ ] GTIF Wind Turbine (DHI)
[ ] PV farm detection (EURAC)
[ ] Sen2Like (EODC)
[ ] Biopar (EODC)

@Patrick1G  This is the overview issue, allowing to easily maintain a list of UDP's we would aim for in the MVP.
@JeroenVerstraelen  @HansVRP  We'll want to consider this for planning.

@jdries that looks like  good starting point.
We could consider a couple of other examples from the community examples repo (also to have a good balance with non VITO workflows)... The parcel delineation algo would certainly also be interesting for users, yet developed by VITO...

oh and PS; what's the point of having an EODC and VITO version of biopar?

@jdries what requirements do we have on the input parameters for the to be included openEO processes?
bbox and temporal range?

@HansVRP  that's usually the minimum, but it actually depends on the UDP.
Now this is considered public API, so once a parameter is introduced, changing it is not backwards compatible.
So the general recommendation is to start out with a minimal set.

Good to know there are no restrictions.
Some of the listed probably also have some parameters related to the used ML network ect.

@jdries @JanssenBrm  to be true to the APEx vision, we would (or will eventually) also expose other algorithms hosted o other platforms. Below is a listing of EOXhub algorithms from the NOR.. Several of those use an Application Package implementation..
I wonder if we could aggregate a few of these early on...

@Patrick1G  this indeed looks like a nice collection to integrate, especially also very mature with respect to having pricing and so on.
The only prerequisite from our side is that we need the OGC Processes API to invoke it (or openEO, but that doesn't seem to be applicable here). I checked the docs, which mention an api on this page:
https://eurodatacube.com/documentation/generate_data_on_demand
but it doesn't look like OGC Processes at first sight. Could you check with EDC if they can give us such an endpoint, or should we reach out?

@Patrick1G this indeed looks like a nice collection to integrate, especially also very mature with respect to having pricing and so on. The only prerequisite from our side is that we need the OGC Processes API to invoke it (or openEO, but that doesn't seem to be applicable here). I checked the docs, which mention an api on this page: https://eurodatacube.com/documentation/generate_data_on_demand but it doesn't look like OGC Processes at first sight. Could you check with EDC if they can give us such an endpoint, or should we reach out?

I asked EOX to look into this, but have not heard anything back (purposefully hesitant?)
I have asked PLES team to look into this in the meantime..

added two examples on this pull request
https://github.com/ESA-APEx/apex_algorithms/pull/39
I'll add more after checking with @jdries the are ok

@p3dr0 @JanssenBrm @psacra
For APEx to integrate the Elip and EDC/EOXhub services/algos above, APEx needs to have a valid subscription to all the relevant platforms, to be obtained from the NOR (now?). This should also cover testing requirements..

We'd need to size it according to the planned test scenarios (daily, hour) and the duration (next 6 months? )
I'll update the list of services on the PR, add the metadata element missing and draft a NoR request for it

@p3dr0  see my other comment for the sizing: please adjust the frequency depending on the scenario cost. I would start from weekly frequency for cheap scenarios. Higher frequency seems like overkill, and because we are likely to run multiple scenarios against the same platform, we will still have a pretty high per platform frequency that allows us to detect general issues in a timely manner.


Fix gherkin tables carrying on to next lines

Also fixed string highlighting applying to the whole table, not just the columns.
Before:

After:

Thanks a bunch!

NP :wink:


fix: dashboard visual issues

Removes odd scrollbar on sidebar and implements scrolling for mobile view.
Replaces default attendee image with a more up to date version of the mascot.
Fixes checkpoint meter bars (previously they couldn't be distinguished.
Centers profile picture on mobile view.
Fixes spacing between profile picture and nav links on navbar.
Fixes login link coloring

 fix: dashboard visual issues


Update documentation screenshots

Description

When generating the new screenshots for https://github.com/filamentphp/filament/pull/11662, I noticed the wrong font weight was used (custom weights in Tailwind config from when we tweaked them for the old font). I've fixed the config in the section footer actions PR, since new screenshots needed to be added there. Then I regenerated all documentation screenshots and split it out into this PR. So this PR still depends on https://github.com/filamentphp/filament/pull/11662 to be merged first.

[x] Visual changes (if any) are shown using screenshots/recordings of before and after.

Code style

[x] composer cs command has been run.

Testing

[x] Changes have been tested.

Documentation

[x] Documentation is up-to-date.

@danharrin I think you forgot to build the assets before regenerating the reordering screenshots? Font weight is wrong on the latest ones. 😄

Redone them

Thanks!


[NestedGroups] Reset nesting to 1 on describe block

PR that introduced the cop: https://github.com/backus/rubocop-rspec/pull/156
Issue that spawned the idea of the cop: https://github.com/backus/rubocop-rspec/issues/177
I recently updated to the newest rubocop-rspec and ran into a problem of rapidly triggering this cop when having a nested describe for my methods. For example, it would trigger:
describe MyClass do
  describe '#foobar' do
    context 'when boop' do
    ^^^^^^^^^^^^^^^^^^^ Maximum example group nesting exceeded
    end
  end
end

which I don't think is a legitimate case.
@mockdeep 's original comment:

It's generally a code smell when the nesting has to go deeper than 1

While I agree that nesting should be limited, I also think that it should only start counting at the very nearest describe block (but I might be mistaken).

@Krystosterone Thanks for the PR! I have some questions / concerns about this approach.
Why should it reset at every describe block? It seems wrong to me that this cop now, with the default configuration, does not flag this:
RSpec.describe MyClass do
  describe '1' do
    describe '2' do
      describe '3' do
        describe '4' do
          describe '5' do
            context '6' do
              describe '7' do
              end
            end
          end
        end
      end
    end
  end
end

Have you considered either of the following options?

Use the describe method construct in RSpec that doesn't require another level of nesting:

RSpec.describe MyClass, '#foobar' do
  context 'when boop' do # this is now within the allowed levels of nesting!
  end
end

Bump your MaxNesting configuration to 3. If you don't like describe TheClass, '.the_method' syntax then bumping your config to three will certainly fit your use case.

@mockdeep would you like to weigh in here?

I've definitely done the 3 level approach that @Krystosterone mentions before. It makes sense if you're doing all of them in the same file:
describe MyClass do
  describe '#my_one_method' do
    context 'when stuff' do
    end
  end

  describe '#my_other_method' do
    context 'when something' do
    end
  end
end

I'm not sure what the best approach for rubocop-rspec is in this regard. It seems like bumping the nesting configuration up to 3 should do the trick, though.

If people use --auto-gen-config then it will automatically bump their config up for them. I realize that many users wont know all of the features that rubocop-rspec provides (my hands are sort of tied here too since this is an extension of rubocop and I can't add flags or runner behavior). I'd be open to bumping the max nesting to three potentially. I think what I would like most is something like this:
RSpec.describe Foo do
  describe '#bar' do
    context 'when doing something' do # does not register a violation
    end
  end
end

RSpec.describe Foo do
  describe 'when I do not describe a method' do
    context 'when doing something' do # registers a violation
    end
  end
end

RSpec.describe Foo do
  describe '#bar' do
    describe '#baz' do # registers a violation
    end
  end
end

RSpec.describe Foo do
  describe '#bar' do
    describe 'invalid usage of describe' do # registers a violation
    end
  end
end

In my case, 3 is also usually the accepted nesting, and not only when I am describing pure ruby methods, but also in feature tests, where # convention is not so broadly used. Something like:
describe 'Users request' do
  describe 'POST sign_in' do
    context 'when credentials are valid' do
      # ...
    end

    context 'when credentials are not valid' do
      # ...
    end
  end
end

If we have to rely on convention (or style), I think it is safer to just accept two describe before a context. Or if you prefer one Rspec.describe and a describe before a context, but I'm not sure I would force it  (I would like to study pro and cons).
Cheers

Just wanted to give this a bump; it's not too huge but I do have a few specs that trigger this cop in a way that seems unfair, including one that's almost exactly like @waiting-for-dev's example. For my specs, the best way for it to go would be allowing Rspec.describe and a describe before the context, but I'm not sure how well that might work for others.

@waiting-for-dev @ChallahuAkbar a separate issue with NestedGroups (#270) made me revisit the cop and I'm planning on bumping the default to allow three levels of nesting. Can you take a look at that PR and maybe try it out and let me know what you think?

@backus it looks good for me. I also thing that 3 should be the default. Thanks!

Never heard from you @waiting-for-dev. Would still be interested in whether #271 satisfied your problem. I'm going to close this PR for now since we are trying to keep the open issue count lower

Whoops, yeah, I'm happy with the way the behavior is now.


GPU Particles 2D/3D don't use scaling for collision when spawning

Godot version
v4.1.2.stable; v4.2.beta2
System information
Godot v4.2.beta2 - Windows 10.0.19045 - Vulkan (Forward+, Mobile) - GLES3 (Compatibility) - dedicated NVIDIA GeForce GTX 1650 (NVIDIA; <IP_ADDRESS>42) - Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz (8 Threads)
Issue description
Under certain conditions (see below), spawning particles don't take into account "Use Scale", spawning the particles away from their intended point or hiding them (depending on the collision type).
This happens when:

A big particle texture is scaled down in Display > Scale
With collisions active and "Use Scale" enabled
Using "Spawn Velocity" or a "speed scale" above 3 in 2D or 12 in 3D
With a collider nearby that would collide if the particle scale was 1.0

Compatibility rendering also has collision scaling issues beyond just the spawning.
The moving particles also don't properly handle the scale when colliding, but with a different size.
*Any references to a Collider means the LightOccluder2D or GPUParticlesCollisionBox3D
Steps to reproduce
The reproduction project has "main_2d" and "main_3d" scenes that show the issue, even in the editor.
Minimal reproduction project
GPUParticles Scaling.zip

Tested in v4.3-stable and v4.4-dev6. The issue is still the same.


[Bug]: Spotlight Search does not work when focused on Finder

Bug Description
Spotlight Search does not work if called from a Finder window. Instead finder-vim-mode actions are performed in the background Finder window.
Relevant Screenshot
No response
To Reproduce

Open Finder
Open Spotlight Search
Try typing something, it will perform vim actions on the background window instead of typing in the search window

Keyboard Layout
U.S.
System UI language
English (US)
Checklist

[X] I updated to the latest version of this plugin.
[X] I updated to the latest version of Karabiner Elements.
[X] I have read about the limitations of Karabiner plugins in the Caveats section of the README.

Oh, I actually considered Alfred users, but haven't thought about people simply
using spotlight.

Hi @chrisgrieser, thank you for your awesome work!
Unfortunately, I wasn't successful in installing this addon. When I run the command proposed in the README, karabiner keeps crushing :( When I manually curl the file and place it in ~/.config/karabiner/assets/complex_modifications directory, karabiner doesn't show Enable button for the addon. Is it reproducible on your end? Could you please assist?

ah yes, the json had some invalid syntax. Issue is fixed, this should not work correctly.
# install Spotlight addon
open "karabiner://karabiner/assets/complex_modifications/import?url=https://raw.githubusercontent.com/chrisgrieser/finder-vim-mode/main/addons/finder-vim-spotlight-addon.json"

Seems to work now! 👍 Once again, thank you for the great plugin!


GeastureRecognizers are not updated via UpdateIncremental on iOS

We have out implementation of CollectionView that frequently uses UpdateIncremental function. I find out that sometimes geastureRecognizers are not updated. There is examle:
let i = ref 0
let view ... =
  incr i
  let a = !i
  View.Label(
    text = string a,
    geastureRecognizers = [
      View.TapGestureRecognizer (fun _ -> printfn "%i" a)
    ]
  )

When I run this example I see different values in UI and stdout. This reproduced only on iOS.

@Dolfik1 Hmm strange. Fabulous use the exact same logic for all the platforms, so UpdateIncremental shouldn't behave differently between Android and iOS.
Moreover the code that updates gesturesRecognizers is the exact same that updates pretty much everything else, so I don't see why it would behave incorrectly here when everything else works as expected...
It is more likely to be a bug in Xamarin.Forms (well, at least on the iOS implementation) which seems to be a common occurrence according to Google.
Or if you wrote your own CollectionView renderer, it could be an invalid use of UpdateIncremental.
Collections can be tricky to handle because of virtualization, the cells are reused and you need to make sure to keep the correct ViewElements that were used to generate those cells. Otherwise you can end up with mismatch.
Fabulous only compares "previous" and "new" ViewElements to decide what to update in the cell.
If the "previous" ViewElement doesn't exactly match the cell, after calling UpdateIncremental you end up with old data that Fabulous didn't cleared/didn't add, such as GestureRecognizers.

I am also experiencing this issue. Taps defined in CollectionView cells fire multiple times after the cell has been recycled. It looks very much as if the event handler for the GestureRecognizer isn't being unhooked when the BindingContext of the cell changes.

I am also experiencing this issue. Taps defined in CollectionView cells fire multiple times after the cell has been recycled. It looks very much as if the event handler for the GestureRecognizer isn't being unhooked when the BindingContext of the cell changes.

@programmation Thanks for your report. Would you happen to have a reproduction that you can share?
Regarding XF 5.0, it's not currently possible to use it as there are a bunch of breaking changes. #836 is aiming to support it.

@programmation Thanks for your report. Would you happen to have a reproduction that you can share?
Regarding XF 5.0, it's not currently possible to use it as there are a bunch of breaking changes. #836 is aiming to support it.

@TimLariviere Thanks for the information about XF 5.0. I'll hold off upgrading until it is supported. I'm also trying to put a sample project together to demonstrate the Taps problem in CollectionView cells.

@TimLariviere Thanks for the information about XF 5.0. I'll hold off upgrading until it is supported. I'm also trying to put a sample project together to demonstrate the Taps problem in CollectionView cells.


npm install failure

When attempting to install this package via npm, the install fails with the following message:
npm install -g tsuml
npm WARN deprecated<EMAIL_ADDRESS>NOTICE: ts-simple-ast has been renamed to ts-morph and version reset to 1.0.0. Switch at your leisure...
npm ERR! code E404
npm ERR! 404 Not Found<EMAIL_ADDRESS>

Nevermind, my issue was the npm registry I was using. Closing this issue.


Error in title)

Topic tiltel says: SELECTSTR Function (Code, Text). What does the last part, (Code, Text), mean?

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

ID: 94a7b774-52a0-3dfc-8082-101f0c573f90
Version Independent ID: ba5fc698-f2e5-f1a7-c4b5-61464a0f347f
Content: SELECTSTR Function (Code, Text) - Dynamics NAV
Content Source: dynamics-nav/SELECTSTR-Function--Code--Text-.md
Product: dynamics-nav-2018
GitHub Login: @jswymer

Hi, the last part in brackets is the way we illustrate which data types the function applies to - in this case the Code data type and the Text data type. We use this notation in the NAV docset, but the Business Central docset is structured differently with regards to methods. Thanks.


availableModules is not iterable at RemoveParentModulesPlugin

Bug report

What is the current behavior?
I launch command:
cross-env NODE_ENV=development webpack ./run/start.web.js
Webpack build is succesful, but when launching my source I get error:
node_modules/webpack/lib/optimize/RemoveParentModulesPlugin.js:101
						for (const m of availableModules) {
						                ^

TypeError: availableModules is not iterable
    at handler (/home/minnak/Darbas/market/app/myccio/node_modules/webpack/lib/optimize/RemoveParentModulesPlugin.js:101:23)
    at SyncBailHook.eval [as call] (eval at create (/home/minnak/Darbas/market/app/myccio/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:13:16)
    at SyncBailHook.lazyCompileHook (/home/minnak/Darbas/market/app/myccio/node_modules/tapable/lib/Hook.js:154:20)
    at Compilation.seal (/home/minnak/Darbas/market/app/myccio/node_modules/webpack/lib/Compilation.js:1234:35)
    at hooks.make.callAsync.err (/home/minnak/Darbas/market/app/myccio/node_modules/webpack/lib/Compiler.js:546:17)
    at _err0 (eval at create (/home/minnak/Darbas/market/app/myccio/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:11:1)
    at _addModuleChain (/home/minnak/Darbas/market/app/myccio/node_modules/webpack/lib/Compilation.js:1093:12)
    at processModuleDependencies.err (/home/minnak/Darbas/market/app/myccio/node_modules/webpack/lib/Compilation.js:1005:9)
    at process._tickCallback (internal/process/next_tick.js:176:11)
yarn

What is the expected behavior?
Successful client launch.

Configs:
const load = () => ({
  target: 'async-node',
  node: { __filename: true, __dirname: true },
  plugins: [
    new webpack.ProvidePlugin({ Promise: 'bluebird' }),
    new webpack.DefinePlugin({
      'global.CONFIG': JSON.stringify(CONFIG_EXPOSED),
      'global.TYPE': JSON.stringify('SERVER'),
      'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
    }),
    new webpack.LoaderOptionsPlugin({
      minimize: true,
      debug: false,
      options: { postcss: postcss(webpack) },
    }),
  ],
});

export function loader() {
  return {
    jsx: {
      use: {
        query: {
          cacheDirectory: true,
          presets: [
            [
              'env',
              {
                modules: false,
                targets: {
                  node: '10.13.0',
                  chrome: '49',
                  edge: '14',
                  firefox: '52',
                  safari: '10',
                  ie: '11',
                },
                exclude: [
                  'transform-async-to-generator',
                  'transform-regenerator',
                  'transform-es2015-typeof-symbol',
                ],
              },
            ],
            'react',
          ],
          plugins: [
            'system-import-transformer',
            'transform-decorators-legacy',
            'transform-runtime',
            'transform-class-properties',
            'babel-root-import',
          ],
        },
      },
    },
    cssModules: { use: ['css-loader'] },
    cssGlobal: { use: ['css-loader', 'postcss-loader'] },
  };
}

export function config(entry) {
  return {
    devtool: 'module-eval-source-map',
    mode: 'development',
    entry: [
      'babel-polyfill',
      'isomorphic-fetch',
      'whatwg-fetch',
      path.join(Dir.run, entry.toLowerCase()),
    ],
    output: {
      path: Dir.nodeBuild,
      filename: [entry, 'dev', 'bundle', 'js'].join('.'),
      chunkFilename: '[id].[hash:5]-[chunkhash:7].js',
      devtoolModuleFilenameTemplate: '[absolute-resource-path]',
      libraryTarget: 'commonjs2',
    },
    externals: [nodeExternalModules()],
    plugins: [
      new MiniCssExtractPlugin({
        filename: '[name].css',
        chunkFilename: '[id].css',
      }),
      new StartServerPlugin(),
      new HotModuleReplacementPlugin(),
      new NamedModulesPlugin(),
      new NoEmitOnErrorsPlugin(),
    ],
  };
}

webpack version:  4.28.2
Node.js version: 9.11.2
Operating System: Ubuntu

Thanks for your report. It would be great if you reduce your issue to a small reproducible example. Best put this example into a github repository together with instructions how to get to the problem.

Found that this issue is related to a different library import.

Found that this issue is related to a different library import.

I'm running into a very similar issue with my build. I know it's been a while, but do you remember how you identified the root cause for this one?


Replumbing: re-implement error reporting for providers

The idea is that providers should only have to report a reason code.
The library code is considered to be libcrypto internal, and are
allocated dynamically and automatically for providers on creation.
We reserve the upper 8 bits of the reason code for internal OpenSSL
use.  This allows our own providers to report errors in form of a
packed number that includes library number, function number and
reason number.
With this, a provider can potentially use any reason number it wants
from 1 to 16777216, although the current error semantics really only
allow 1 to 4095 (because only the lower 12 bits are currently
considered an actual reason code by the ERR subsystem).
A provider can provide a reason string table in form of an array of
ERR_STRING_DATA, with each item containing just the reason code and
the associated string, with the dispatch function numbered
OSSL_FUNC_PROVIDER_GET_REASON_STRINGS matching the type
OSSL_provider_get_reason_strings_fn.
If available, libcrypto will call that function on provider
activation.

Also added the FIPS module adaptation.

Note that this seems to conflict with #8887, but only partially.  The change of semantics for ERR_add_error_data there is fine, but the provider adaptation isn't.

Argh, too early approval...  I realised that we need to add a string for the lib code (prov->error_lib).  I need to go away for a little bit, so that won't happen for one or two hours yet.

Now added the code I intended.

... and hopefully cleared the last Travis issue

A rebase may make Travis happier...

Ping

Ping

Merged.
6592ab81d21fc01e05a01cd5b96c84b069bf8acf FIPS module: adapt for the changed error reporting methods
6ebc2f56f04ac2738d3b9bfc732063ad8f51e75d Replumbing: re-implement error reporting for providers


fix[cartesian]: use distutils from setuptools instead of the standard library

This PR fixes the imports in the module used to compile python extensions to use the distutils versions packaged into setuptools instead of the version from the standard library, which is deprecated and causes some warnings at compilation which can break other tools (e.g.  spack).

cscs-ci run

cscs-ci run default


Use Python guest agent for Debian 8.

In addition, consolidates series of apt requests into a single batch operation.
Running import integration tests in process:

Debian 8, 9
Ubuntu 16.04, 18.04

Integ tests passed:

Debian 8, 9
Ubuntu 16.04, 18.04


Mismatch between docstring and code regarding when on_load_checkpoint hook is called

🐛 Bug
The docstring of on_load_checkpoint hook says that it is called before trying to load_state_dict:
https://github.com/PyTorchLightning/pytorch-lightning/blob/cea5f1f53876399dfaa0d37accdc527af7ca39af/pytorch_lightning/core/saving.py#L203-L206
However, in LightningModule.load_from_checkpoint, it is called after load_state_dict:
https://github.com/PyTorchLightning/pytorch-lightning/blob/cea5f1f53876399dfaa0d37accdc527af7ca39af/pytorch_lightning/core/saving.py#L195-L199
Additional context
Related discussion on Slack: https://pytorch-lightning.slack.com/archives/CQXV8BRH9/p1602168345184000
I think the docstring is correct and the call to on_load_checkpoint should be moved right before load_state_dict to give the model a chance to call setup.

@hbredin mind sending a PR to fix it... 🐰

I can do that. Should I fix the docstring or the code?
I'd go with the code.

I need this code change as well! I'm doing transfer learning and I want to support both loading the original model with the original weights, and modify it for a new task.
on_load_checkpoint would allow me to redo the modifications I've done for transfer learning, so the state_dict of the transferred model can be properly restored.
At present I need to add non-network code to the model to handle this logic, which is ugly and prone to bugs.
This would allow to have the same model to redo the modifications I've made for transfer learning,


mean and std for every channel is 0.5 instead of (0.5071, 0.4867. 0.4408) as mean  and (0.2657, 0.2565, 0.2761) as std

Hi,
For normalizing cifar100 dataset, you used (0.5, 0.,5 0.,5) for mean and std instead of (0.5071, 0.4867. 0.4408) as mean  and (0.2657, 0.2565, 0.2761) as std which is more commonly used. Is this by design? and if so, could you please explain in brief, as to why?

This so that converting between [-1,1] (image for a neural network) and [0,1] (image for viewing) is easy. For problems such as adversarial examples, one often needs to convert back and forth frequently. It also does not make much of a difference to performance if one uses (0.5, 0.,5 0.,5) vs (0.5071, 0.4867. 0.4408).

Thanks. :)


Updated protocol name "https" -> "davs" for listing rucio replicas

Rucio no longer provides replica location for HTTPS protocol, because the name
was changed to DAVS. We had at least one site where our jobs failed due to
no access to input files using StoRM site mover (GGUS:129509) and there are
more sites that also fail while use StoRM site mover but luckily they fallback
to to lcgcp site mover.

Thanks.


Mumble Wont Work normally But when i call on GCphone or on the radio it works no error codes or anything but the rp radio and the gc phone work but not just normally talking any fixes

same issue


HOT RELOAD: Crash after deoptimization

fyi @johnmccutchan
Repro:
out/DebugX64/dart --print-ast --print-flow-graph --disassemble --trace-deoptimization --trace-deoptimization-verbose --trace-compiler --trace-reload --reload-every=50000 --ignore-unrecognized-flags --package-root=out/ReleaseX64/packages/ tests/language/regress_26453_test.dart

It looks like we don't generate the same AST for the closure bar, when we regenerate the unoptimized code after reload. The result is a mismatch with deopt ids.
Crash:
runtime/vm/deferred_objects.cc: 123: error: expected: continue_at_pc != 0

The mismatch comes from compile-time constants that are not present in the constant cache when the inner function bar() is recompiled after isolate reload.

@fsc8000 We attempt to preserve the right compile-time constants.
@turnidge we should meet with Florian today and try and get to the bottom of this.


Client - Failed to start startegy after recreate/update docker image to latest development

Describe the bug
Failed to start the previous version created strategy with filled orders in CSV
Client return 'Unknown error during initialization.'
and 'NoneType' object has no attribute 'restore_market_states'
Steps To Reproduce
0. Using the latest bash scripts in https://github.com/hummingbot/deploy-examples/tree/main

Create hummingbot/hummingbot:latest docker client and setup simple pmm (or any strategy)
Start strategy and wait for order fills
Check CSV of latest docker file (should be using the 1.15.0 version without trade_fees_in_quotes)
Exit the client and remove the client cointainer
Create development docker with (docker build -t hummingbot/hummingbot:latest -f Dockerfile .) using the same name of container
Start the container
Import then start strategy, observe behavior

Actual:
Failed to start same previously created in step2 strategy
Expected:
User able to import/start previously created strategy with filled orders in CSV
logs_pmm-paper1.log
2023-05-17 05:54:27,215 - 1 - hummingbot.client.hummingbot_application - ERROR - Unknown error during initialization.
Traceback (most recent call last):
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
    self.dialect.do_execute(
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: TradeFill.trade_fee_in_quote

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/strategy/pure_market_making/start.py", line 82, in start
    self._initialize_markets(market_names)
  File "/home/hummingbot/hummingbot/client/hummingbot_application.py", line 319, in _initialize_markets
    self.markets_recorder = MarketsRecorder(
  File "/home/hummingbot/hummingbot/connector/markets_recorder.py", line 64, in __init__
    trade_fills = self.get_trades_for_config(self._config_file_path, 2000)
  File "/home/hummingbot/hummingbot/connector/markets_recorder.py", line 153, in get_trades_for_config
    return query.limit(number_of_rows).all()
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2773, in all
    return self._iter().all()
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2916, in _iter
    result = self.session.execute(
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 1714, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
    ret = self._execute_context(
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
    self._handle_dbapi_exception(
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
    util.raise_(
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
    self.dialect.do_execute(
  File "/opt/conda/envs/hummingbot/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: TradeFill.trade_fee_in_quote
[SQL: SELECT "TradeFill".config_file_path AS "TradeFill_config_file_path", "TradeFill".strategy AS "TradeFill_strategy", "TradeFill".market AS "TradeFill_market", "TradeFill".symbol AS "TradeFill_symbol", "TradeFill".base_asset AS "TradeFill_base_asset", "TradeFill".quote_asset AS "TradeFill_quote_asset", "TradeFill".timestamp AS "TradeFill_timestamp", "TradeFill".order_id AS "TradeFill_order_id", "TradeFill".trade_type AS "TradeFill_trade_type", "TradeFill".order_type AS "TradeFill_order_type", "TradeFill".price AS "TradeFill_price", "TradeFill".amount AS "TradeFill_amount", "TradeFill".leverage AS "TradeFill_leverage", "TradeFill".trade_fee AS "TradeFill_trade_fee", "TradeFill".trade_fee_in_quote AS "TradeFill_trade_fee_in_quote", "TradeFill".exchange_trade_id AS "TradeFill_exchange_trade_id", "TradeFill".position AS "TradeFill_position"
FROM "TradeFill"
WHERE "TradeFill".config_file_path = ? ORDER BY "TradeFill".timestamp DESC
 LIMIT ? OFFSET ?]
[parameters: ('pmm-paper1.yml', 2000, 0)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
2023-05-17 05:54:27,230 - 1 - hummingbot.client.hummingbot_application - INFO - Creating the clock with tick size: 1.0
2023-05-17 05:54:27,230 - 1 - hummingbot.client.hummingbot_application - ERROR - 'NoneType' object has no attribute 'restore_market_states'
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/client/command/start_command.py", line 216, in start_market_making
    self.markets_recorder.restore_market_states(self.strategy_file_name, market)
AttributeError: 'NoneType' object has no attribute 'restore_market_states'

Same on binance spot live

Latest version had some changes on sqlite and users must either keep or delete the previous version to have it work


numba Error: No matching definition for argument type(s)

this line
foreground = pymatting.estimate_foreground_ml(image, alpha)
gives an error
--> 214     foreground, background = _estimate_fb_ml(
    215         image.astype(np.float32),
    216         alpha.astype(np.float32),
~\AppData\Local\Continuum\anaconda3\envs\pytorch3d\lib\site-packages\numba\dispatcher.py in _explain_matching_error(self, *args, **kws)
TypeError: No matching definition for argument type(s) array(float32, 3d, C), array(float32, 3d, C), float64, int64, int64, int64
I checked image and alpha is np.float64 between 0.0 and 1.0.
How can this be resolved?

Answering my own question:
alpha must have dimension (H, W), not (H, W, 1), with format np.float64 between 0.0 and 1.0.


Can you add the ability to have a single parent and a line down from them?

Can you add the ability to have a single parent and a line down from them?  It would make it much easier for single mothers who use invetreo or would rather reflect themselves as a single mother.  It would also help the child, by not having to look at anb "unknown" box for their father
Thanks

We would also love to have this feature. Is there any plan to add it currently? If there is interest in having it, we could help by submitting a pull request.

Feature is added in v0.2.0
Here is a link in examples: https://donatso.github.io/family-chart-doc/examples/12-single-parent
It is available in configuration for create-tree as well: https://donatso.github.io/family-chart-doc/create-tree

@donatso awesome, thanks a lot!!!


Amazing project, will it be further updated?

Hi, love the project and I find it very useful. Can I check if the project will still be updated/supported further?
Tim

Hi Tim,
Thanks for the kind words. I would love to start on a v2 and have lots of ideas floating about for it, and many lessons learnt from since I first wrote it. Sadly I just lack any time to make progress, both in and outside of the office.
Are there any quick wins or issues you would like to see addressed with v1?
Regards,
Alex
Rough v2 plan if it ever happens:

Snake Skin in SvelteKit
Snake Core in Rust with plugins in Python
File storage agnostic
Scalable architecture
Pipelines
Multisample scales
Authentication

Hi Alex, thank you for replying
I was just hoping the project is still alive (and apparently it still is!). I just notice some not-yet-developed pages (e.g. I think there is a snake-scales management page) and also cause the last commit is in Feb 2021, so thought I'd check.
For issues I have not ran into any as of yet, as I managed to resolve all of them.
Am excited to see v2 when it does come around! I'd offer to help with v2 development but sadly I do not have the necessary skills (maybe if you want beta testers and/or installation/sysadmin documentations I can offer to help).
Best,
Tim


IFormFile couldn't show as file upload button directly

dotnetcore 3.0
Swashbuckle.AspNetCore : 5.0.0-rc5
Swashbuckle.AspNetCore.SwaggerUI : 5.0.0-rc5
Feature Requests
I used [FromForm(Name = "file"] IFormFile imageFile to upload a image (single file), but the swagger generated this as a object.
I have search some issues and I have a solution following. But I don't want to copy this code anywhere, so I hope that Swashbuckle could support IFormFile render to upload file directly.
[AttributeUsage(AttributeTargets.Method)]
public class FileUploadAttribute : System.Attribute { }

// options.OperationFilter<FormFileOperationFilter>();

public class FormFileOperationFilter : IOperationFilter {

    private static readonly string[] FileParameters = { "contentType", "contentDisposition", "headers", "length", "name", "fileName" };
    private const string FormData = "multipart/form-data";
    private const string Json = "application/json";

    public void Apply(OpenApiOperation operation, OperationFilterContext context) {
        var attr = context.MethodInfo.GetCustomAttributes(true).OfType<FileUploadAttribute>().Any();
        if (!attr) {
            return;
        }
        var content = operation.RequestBody.Content;

        var jsonProperties = GetProperties(content, Json);
        foreach (var parameter in jsonProperties.Where(p => FileParameters.Contains(p.Key))) {
            jsonProperties.Remove(parameter);
        }
        if (jsonProperties.Count == 0) {
            content.Remove(Json);
        }

        var formDataProperties = GetProperties(content, FormData);
        formDataProperties.Add("file", new OpenApiSchema { Type = "file" });
    }

    private static IDictionary<string, OpenApiSchema> GetProperties(IDictionary<string, OpenApiMediaType> contents, string mediaType) {
        if (!contents.ContainsKey(mediaType)) {
            contents.Add(mediaType, new OpenApiMediaType {
                Schema = new OpenApiSchema {
                    Type = "object",
                    Properties = new Dictionary<string, OpenApiSchema>()
                }
            });
        }
        return contents[mediaType].Schema.Properties;
    }
}

As per the ASP.NET Core docs, you're not supposed to decorate IFormFile parameters with the [FromForm] attribute as the binding source is automatically inferred from the type. In fact, the inferred value is BindingSource.FormFile and if you apply the attribute it will be set to BindingSource.Form instead, which screws up ApiExplorer, the metadata component that ships with ASP.NET Core and is heavily relied on by Swashbuckle.
In your case, I would recommend, removing the attribute entirely and renaming the parameter to file. This should give you exactly the result you're looking for without the need to wire up a custom filter.

@domaindrivendev I just do that, but the result comes to a string-like textbox, what I want is a choose file button.

        public async Task<ActionResult<Result<ImageItemDto>>> PostImage(
            [FromRoute] [SwaggerParameter("Group name")]
            string groupName,
            IFormFile file
        ) { ... }

Hmmm - are you using the SerializeAsV2 setting by any chance? This used an upstream library (OpenAPI.Net) to convert the V3 spec generated by SB into a V2 document. I’ve observed some issues with this conversion and this may be another one.

Oh yes, I'm using Swagger v2.
In v2, file parameter's type is file, and has no schema. But in v3, the type is string and the schema is binary.

So if I use v2, I have to write a OperationFilter? (I'm more familiar with v2's format)

Do you have a reason to use V2 rather than V3. The latter will work much better, plus no need for the op filer

@danielcrenna Thanks :) I will use v3.
The reason is just that I am more familiar with v2. (I wrote a library to generate v2 in golang through parsing comments just like // @Route xxx [GET]).


Custom analytics events not recorded in react native app

I was trying to use Pinpoint for analytics. I configured the project using awsmobile-cli.
I followed setup instructions as per: https://docs.aws.amazon.com/aws-mobile/latest/developerguide/react-native-add-analytics.html
My session start events do get recorded but my custom events do not. What am I missing here?
Even tried Analytics.enable() after calling Amplify.configure() but that doesn't seem to help.

@hrkeni can you open the debug mode to see more details when sending the event? window.LOG_LEVEL = 'DEBUG'


Issue 3395

Before creating a new bug report
Please check if there isn't a similar issue on the issue tracker or in the discussions.
Describe the bug
A clear and concise description of what the bug is.
Versions
You can use composer show to get the version numbers of:

spatie/laravel-permission package version:
illuminate/framework package

PHP version:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Desktop (please complete the following information):

OS: [e.g. macOS]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Closing


automatically send the phase event before the phase starts

this started as a small improvement: instead of repeating the same
snippet for each phase, we wanted to do it once in
PhaseState<R,S>::run_phase():
pub async fn run_phase(mut self) -> Option<StateMachine<R>> {
    let phase = <Self as Phase<R>>::NAME;
    self.coordinator_state.events.broadcast_phase(phase); // <-- add this
    self.run().await.unwrap();
    self.purge_outdated_requests().unwrap();
    self.next()
}

It turns out that this doesn't work for the idle phase, because the
round ID is updated in the run() implementation, after the phase
event is broadcasted. Therefore, the event that is emitted has the
wrong round id.
There are multiple solutions:

re-emit an event in the idle phase. That may work but that means
there's a small interval of time during which the listeners still
have an inconsistent Phase event.

add some logic before broadcasting the phase, such that if this
is the idle phase, update the round seed before anything
else. But this logic really belong to the phase itself, so that
feels very hacky

generate the round seed in PhaseState<R, Idle>::new. But
generating a round seed here is again a bit hacky. This should
happen when the phase runs, in the Handle::run impl.

Therefore we went for a 4th solution, and introduced a round id that
is only used internally and has nothing to do with the round
parameters. Updating it in PhaseState<R, Idle>::new is fine, since
it has nothing to do with the phase logic itself. The round
parameters are still fully taken care of in Handle::run.
Interestingly, this has opened the door to some simplifications in the
EventPublisher logic, and we were able to make its API simpler by
removing the round id from the methods arguments altogether.

#build


[VS Code] [Audio] Request failed with status code 502

Error:
Request failed with status code 502
Steps to Reproduce:

Version Data

extensionName
VSLS-Audio

extensionVersion
0.1.48

applicationName
VSCode

applicationVersion
1.33.0

platformName
Windows

platformVersion
18.2.0

Closing as a duplicate of #1829.


The program stops at socket timeout

I always use it on Jetson.
Thanks for the very nice code.
I use the "While" statement to constantly monitor the D register of the PLC,
but when the connection with the PLC is lost, the monitoring program on the Jetson side also stops at socket timeout.
When [self._is_connected] becomes False, I want to try to reconnect from Jetson side until the connection is possible.
I thought about adding return self._is_connected on line 126, but noticed that it stopped on line 123.
Do you have any good way?
Junzz

Thank you for using pymcprotocol.
How about using try and exception block.
If connection is lost, pymcprotocol raises error.
You can catch and reconnect.
Senrust

Thank you for your kindness!
I solved it by adding 'import socket' and 'except socket.timeout : ' .
I will do my best to aim for a production environment.
Junzz


Calculation of perpendicular point of a line (p1, p2) and a point (p3) near the line

Hey @florianreinhart!
First: Thank you very much for this great collection of useful geodesy functions!
This isn't a real issue but more a question. I'm currently struggling on calculating the perpendicular point of a line (p1, p2) and a point (p3) near the line.
Background: We are using MKPolyLine to draw lines on the map. The user should be able to tap (p3) on (or near to) a line segment (p1, p2). Now I need the closest point in the line (the perpendicular point) to the touch point, to show a popup with detailed informations at this line point. It should look like this:

Now I'm asking myself if this is possible with your functions? Maybe I'm missing something, unfortunately I don't find a solution...
Question: Is this calculation possible with your library or is an entire new function needed to get the result?
Thanks in advance!

Hi @phranck,
This should be possible with func alongTrackDistance(toPath path: (start: Coordinate, end: Coordinate)) -> Distance.
However, This function returns the distance from start on your path. You could then calculate the initial bearing for your path and travel the calculated distance with this bearing from your start point to get a point on your path. Some sample code:
let p1, p2, p3: Coordinate

let distance = p3.alongTrackDistance(toPath: (start: p1, end: p2))
let bearing = p1.bearing(to: p2)
let pointOnPath = destination(with: distance, bearing: bearing)

@florianreinhart Yeah, that was my initial thought, too. However, this is more an approximation method than a direct calculation. (-;

It should be quite accurate on a sphere (which is the model that is used for the calculation).
You could try doing the coordinate calculation with MKMapPoints and calculate the "Lotfußpunkt".

Yeah, using MKMapPoint's was my first attempt. Unfortunately, MapKit fails when it comes to calculation around the anti meridian. The can't deal with that!
Anyways, I think I'll go with the approximation method. (-;

should be quite accurate on a sphere

This is key! So, while handling with MKMapPoint's which represents points on a flattened earth with parallel longitudes I think I can't use your functions, can I? 🤔

Oh yeah! You need to convert your MKMapPoints to CLLocationCoordinate2D. The Coordinate type of this library is equivalent to CLLocationCoordinate2D.

Just to illustrate - This is the code I use for getting the perpendicular point. As mentioned, it works very well, but for lines crossing -180/180.
    private func closestPointInLine(withStartPoint p1: MKMapPoint, endPoint p2: MKMapPoint, touchPoint pt: MKMapPoint, allowedPerimeter: Double) -> MKMapPoint? {
        let lineLength = distance(from: p1, to: p2)

        var u = ((pt.x - p1.x) * (p2.x - p1.x)) + ((pt.y - p1.y) * (p2.y - p1.y))
        u = u / pow(lineLength, 2)

        if u >= 0 && u <= 1 {
            let px = p1.x + u * (p2.x - p1.x)
            let py = p1.y + u * (p2.y - p1.y)

            let p = MKMapPoint(x: px, y: py)
            let touchDistance = distance(from: pt, to: p)
            if touchDistance <= allowedPerimeter {
                return p
            }
        }

        return nil
    }

    private func distance(from p1: MKMapPoint, to p2: MKMapPoint) -> Double {
        return sqrt(pow(p2.x - p1.x, 2) + pow(p2.y - p1.y, 2))
    }


[CXF-7093] Change the spring boot example to use samples parent

Sorry - just realized the commits weren't squashed.  Fixed

IMO, looks cleaner, thanks @johnament, leaving decision to @sberyozkin as he authored or/and worked on these examples.

John, does the demo work without a version qualifier of the final jar, when it is started with a "java -jar" ? Also as a side note I'm not convinced -Pserver does not make sense for the server only applications as it hides the specific plugin options - but I'm fine with getting rid of them whenever possible

Well we can make spring boot the default goal.  I'm not sure about your question though.  This just changes the file name and I've been able to run the examples with these instructions....

While I appreciate this quality patch I'd like to say that the way the spring_boot_scan server and client applications are started is really off topic for CXF-7093, however as I noted I can def live with asking users to do 'mvn spring-boot:run' again instead of -Pserver or -Pclient. Re "java -jar" - I'll experiment tomorrow....

I'm not sure what you mean.  That didn't change other than the way mvn is called - mvn -Pclient/server vs mvn spring-boot:run for all 3 modules.  If you want me to make that work I can.  The problem is that the wrong spring boot version was getting used..


opinion about eosio-s2wasm crashes inherited from s2wasm

I noticed that several crashes can be reproduced in eosio-s2wasm, which comes from binaryen/s2wasm. But since binaryen is going to deprecate s2wasm in favor of o2wasm, I'm wondering what EOS plan on these bugs.
Would you please explain a bit?

Binaryen is no longer used and has been removed entirely from the 1.7.0 release candidate.

@jgiszczak  Okay, got it. Thanks.


Cyclic references make pyosmium crash with "Node callback keeps reference to OSM object. This is not allowed."

As explained in task: https://phabricator.wikimedia.org/T261162
Seems that, if there is cyclic reference in frame, pyosmium would complain and crash program. It is not proper solution to do gc.collect from client program. Is there a way to ignore this check somehow?

So the root problem here is that pywikibot keeps an exception frame, which in turn keeps a reference of the function frame including the n parameter and the pywikibot object (which creates the cycle). Pyosmium only cares about the fact that this n parameter is kept. It doesn't care about anything else. Minimal example to reproduce:
class BadHandler(o.SimpleHandler):

    def node(self, n):
        try:
            raise RuntimeError("Whatever")
        except RuntimeError as e:
            remember_me = e

I'm not convinced that this is how exceptions are supposed to be used. We probably could do an additional GC run when an illegal reference was found but that will make your code very slow without any warning. I'd just del entry at the end of the function to make sure the evil exception holder is gone. This breaks the cycle, so there is no further GC run necessary.

So the root problem here is that pywikibot keeps an exception frame, which in turn keeps a reference of the function frame including the n parameter and the pywikibot object (which creates the cycle)

The root problem is that an object (the page) keeps a reference to the an exception, that is created with the object as an argument. That is the cycle. The exception in this cycle then keeps a reference to the traceback which would then reference the frame.
del entry doesn't work because the the cycle containing the frame is broken, but frame is still referred to by the cycle of exception and the exception holder. The simplest workaround would be del n so that the frame, even if referred to by the cycle, would not reference the OSM object.
Though, yes, I do agree that exception holding is unconventional (and perhaps non-Pythonic?), and would cause surprises in memory usage and reference counting, however I can't think of a better way to show that 'oh hey this raised this exception before'. Ideally we would only save the inner frames and reconstruct the stack trace with new outer frames and saved inner frames, however, frames are not mutable and cannot be instantiated....

I ran into the same problem in Google Colab, after interrupting the execution of a notebook cell (which raises a KeyboardInterrupt exception).

The new code without the reference check is now available as a pre-release. Install with  pip install --pre osmium. Please test this and report if there are any regressions.


Better multi owner support, optimize owner check

set _stella_id on bot init instead of doing instance checks for each message event
use bot.is_owner/bot.sync_is_owner for more consistent owner checks
stella is kept as a separate owner, so all related logic is unchanged
import changes because my editor insisted on them. tell me if you want me to undo these
this is untested because deployment steps are not clear

thx appreciate it im lazy to fix them <3 ❤


Optimize context creation

Closes: https://github.com/metarhia/metavm/issues/30

Landed in https://github.com/metarhia/metavm/commit/63323448f8c5fb2a92f08e8d04edc7ed7605bdb5


Ship API, Service, USB Driver and/or through Windows Update

Closing this here as we're tracking the in-box delivery internally.


Click to upload for container

for bootstrap container or simple container where the link "browse your file" is not visible, clicking on container allow user to select file using explorer but that file was not added or recorded by system so I've requested commit a change where $(file).change is triggered and pass $(file).files to pekeUpload.checkfile(file[i]); for further process.
#19
after line 48
				// when user click on container and browse file for upload
				this.obj.change(function(){
                    var files =  this.files; // get files from input $(input[type=file]).files
                    for (var i = 0; i < files.length; i++) {
                        pekeUpload.checkFile(files[i]); // send files for further process
                    }
                });

Thanks for your contribution!


file scope API features

adds support for extracting API features at file scope to indicate statically linked routines, such as extracted via FLIRT. see idea/discussion in #567

enables rules such as:
rule:
  meta:
    name: encrypt data using AES via CryptoPP
    namespace: data-manipulation/encryption/aes
    author<EMAIL_ADDRESS>    scope: file
    att&ck:
      - Defense Evasion::Obfuscated Files or Information [T1027]
    mbc:
      - Defense Evasion::Obfuscated Files or Information::Encryption-Standard Algorithm [E1027.m05]
      - Cryptography::Encrypt Data::AES [C0027.001]
    examples:
      - 8BA66E4B618FFDC8255F1DF01F875DDE6FD0561305D9F8307BE7BB11D02AE363
  features:
    - or:
      - api: "?ProcessAndXorBlock@Enc@Rijndael@CryptoPP@@UBEXPBE0PAE@Z"

we also need to update the documentation

Would love to hear what others think on how we should name this feature.
@re-fox @johnk3r @recvfrom @r0ny123

I think function-name (as proposed by @williballenthin ) or library functions would better reflect the idea.

I think I like function-name the best from the options above, although it's a bit long (would just using function be too ambiguous?)

lets go with function-name thanks to the feedback above!

ready for re-review. feature is named function-name and applies at file scope.

hm need to update tests to xfail SMDA due to not having FLIRT

#585 SMDA not working on Windows for two tests.


tour onShown() vs step onShown();

Is it wanted that if I have onShown() function defined in the tour and another onShown() function defined in the step, only the function defined in the step will be triggered not both?  I suppose this is the same for other onSomething() options?
I was hoping that a general onShown() function at the tour level could be triggered for every steps even when a more specific onShown() function is defined at the step level.

Yes, only the function defined in the step will be triggered. And it's the same for all the onSomething() options.
You can just call your general onShown() function from the specific one.


autotools vs cmake: pyilmbase deployment discrepancies

I could be mistaken, but I believe building pyilmbase with autotools produces libraries named 'imathmodule.so', 'iexmodule.so', and 'imathnumpymodule.so'; but building with cmake produces 'imath.so' and 'iex.so' (and, in my case, 'imathnumpy.so' is successfully built, but not installed).
Having built with cmake, other than missing the imathnumpy module, both imath and iex behave just fine for both python-2 and python-3 (on ubuntu-18.04 and centos-7.4; on osx-10.14.6, python-3 behaves, but my python-2 builds segfault -- I'm assuming that's a problem on my end, and I'll open a separate ticket if the issue persists).
That said, it seems that external libraries built against PyIlmBase  are expecting to find 'imathmodule' (PyAlembic in particular; various others, according to my brief search on github). I could see this becoming a larger problem the longer the discrepancy exists.

I am experiencing this issue (lacking module suffix on the libs when using cmake), and happy to fix it in my own build chain, but would like to understand which is meant to be correct. the module suffix naming always seemed weird, but the now baked-in expectation in dependencies of one name or the other, and the discrepancy between the two build methods seems like an urgent thing to resolve.

This did apparently change with the rewrite of the cmake configuration files. @kdt3rd pointed out that python searches first for imath.so and then for imathmodule.so if that fails, so we eliminate a stat() call by eliminating the "module".
We can easily fix the autotools build to be consistent, but @maxnbk, you mention baked-in expectations for the module name. How baked-in?
What is the community preference here?

revert the cmake config to build imathmodule.so to preserve old behavior?
update the autotools build to use the abbreviated imath.so.

Mainly just every version of Alembic ever, not that that isn't trivially fixable:
https://github.com/alembic/alembic/blob/3c48ce60596c39735a1e923c0c0a5f78a17225c0/cmake/Modules/FindPyIlmBase.cmake#L118
Easily patchable too. if imath.so is preferred, it sounds fixing the autoconf one is the way to go and cmake is doing it "correctly", so we'll move to that - Since I'm using cmake anyway, that is fine for me, but still good to address globally.

As long as there's consistency, I don't really have any preference for whether we go abbreviated or old-style. I had thought earlier that there were a bunch of projects on github expecting 'imathmodule', but upon closer inspection, everything I can find really is either an Alembic fork or an Alembic plugin of some sort; so I guess I'll draw their attention to this thread.
The only remaining inconsistencies I'm seeing are regarding 'imathnumpy' -- but now I'm not sure that what I'm seeing is a difference between cmake and autotools, or a difference between building the full shebang (openexr + ilmbase + pyilmbase) at once, vs building pyilmbase separately. I can do some comparative testing later this week, and I can move the below to a separate issue if it would be more appropriate.
What I can say is, for cmake + the full shebang, on Ubuntu-18, Centos-7, and OSX-10.14, what I'm finding is:

imathnumpy.so does seem compile and link just fine, even though it doesn't get installed when making the full shebang (openexr+ilmbase+pyilmbase); but manually copying imathnumpy.so from the build directory to the install directory afterwards seems to work...
Although (or because?) I'm using cmake, I think something is going a little wonky with the paths in some of the generated pkg-config files -- but I'm not pkg-config-savvy enough to know for sure if what I'm seeing is problematic.


Put std lib import at the top

Current coverage is 96.42% (diff: 100%)

Merging #938 into master will not change coverage

@@             master       #938   diff @@
==========================================
  Files            33         33
  Lines          1792       1792
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1728       1728
  Misses           64         64
  Partials          0          0

Powered by Codecov. Last update 9f57d57...829ebfb


Fixed changing wiki format and renaming with page_file_dir

Okay, so after doing some more thinking I came to a conclusion, that this problem can be solved in a better way. The problem lies in calling add_to_index. It's called three times in gollum-lib/wiki.rb:

def write_page - works fine, didn't touch it
def update_page - gets too many page_file_dirs
def rename - same as above
And one time in gollum/app.rb, in post '/uploadFile', where, in case of --allow_uploads=page the dir argument is deprived of page_file_dir using a regexp.
That makes five calls to add_to_index (I'm counting uploadFile twice, because of the modes it's called in). Three of them need slicing page_file_dir out. It seems to me it will be nicer to make add_to_index not join the page_file_dir part and add explicit joining of it in write_page and /uploadFile. I think I'll try and do that.

okay, i've fixed the problem in a nicer way, there are some chnges in gollum as well. They can be found here: https://github.com/gollum/gollum/pull/1077

Thanks for the work! Think your new strategy is better indeed. I'll try to inspect it more closely this afternoon.

Another possible strategy, would be to make the client page_file_dir agnostic and automatically prepend it to every path received in every service. Thus could be a bit limiting, because it wouldn't be possible to view files not in page_file_dir, but I'm not sure if such actions are safe anyway.
In this approach, the address of the home page (the one that the browser uses) would always be host/Home, regardless of page_file_dir. But that's a major change, and this bug probably needs to be solved quickly.

Another possible strategy would be to make the client page_file_dir agnostic and automatically prepend it to every path received in every service. Thus could be a bit limiting, because it wouldn't be possible to view files not in page_file_dir, but I'm not sure if such actions are safe anyway.

Yes, I would be in favor of that. It seems like what people intuitively expect from the --page-file-dir option anyway. See https://github.com/gollum/gollum/issues/1052


Feature: Improve navigations in Column View

Resolved / Related Issues
Items resolved / related issues by this PR.

Closes #11128

Details
All opened directories in the Column View are now kept after clicking the Back or Forward button.
However, it is hard to keep focus, so the root directory is focused after clicking the button.
Validation
How did you test these changes?

[X] Built and ran the app
[X] Tested the changes for accessibility

Does this help for #6902?

I tried, but #6902 has not been improved.

I have converted this PR to draft as it seems to make #6902 more unpredictable.

Ok, #6902 has not been improved yet, but has returned to the same behavior as before. It looks like another, more complicated fix is needed to fix #6902, so I have returned it to ready for review status.

Ok, #6902 has not been improved yet, but has returned to the same behavior as before. It looks like another, more complicated fix is needed to fix #6902, so I have returned it to ready for review status.

#9769 code might be useful to fix #6902

@ferrariofilippo Thank you, but the problem with #6902 is that the path of each column has to be saved on exit as tab information. This seems more difficult than with the back/forward buttons.

@ferrariofilippo Thank you, but the problem with #6902 is that the path of each column has to be saved on exit as tab information. This seems more difficult than with the back/forward buttons.

That code used to open all the baldes up to the root folder, we might save the first and the last one and then use that algo to achieve our goal

Right now we can only store one path as tab information, but if we can extend that, we can certainly use this code.
Anyway, #6902 is a similar but different problem to this one, so I think this PR is ok.

In addition to the focus, the opened directories aren't selected

Sorry, is "selected" different than "focused"?

Ah, I understand. I guess I need to fix it a bit more.

I close this PR as it should be addressed along with #7589.


⚠ Bofrost.lu has degraded performance

In fa862cc, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1758 ms

Resolved: Bofrost.lu performance has improved in c2028d5 after 15 minutes.


[backport] update slicing of CSR and CSC matrices for compatibility with SciPy 1.4.0

Backport of #2776

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit b26cdb64da5d16d664f5d08aeb3b180cbbc365b4, target branch v7) failed with status FAILURE.

Stable releases of CuPy will not follow API changes in NumPy/SciPy excepts bug fixes according to the development policies.


Johtaylo/typescript samples

This PR combines the three PRs from @leolorenzoluis

fixed a couple of lint issues in welcome
added missing dependencies to multi-turn and cards
updated botbuilder dependencies to 4.7

This PR replaces #1969 #1970 and #1971

hey @leolorenzoluis thanks for the PRs this is great contribution, sorry for the delays! I just pulled your three branches onto a single working branch and fixed up a couple of minor things (you were missing a couple of dependencies in the package.json and running lint) - you can see the history.
I also updated the dependencies to botbuilder 4.7


Acceptance test lighten

Reduced the number of scenarios (and therefore signings) in the Acceptance tests.

Few comments around leaving some of the tests in.

:+1: with the view deed tests back in