Update fails due to Windows Error 145 (dir not empty)

When calling

platformio update

under Win7, the following error message and traceback appears:

Updating framework-arduinoavr package:
Versions: Current=19, Latest=20          [Out-of-date]
Uninstalling framework-arduinoavr package:      Error: Traceback (most recent call last):
  File "c:\Tools\Python27\lib\site-packages\platformio\__main__.py", line 75, in main
    cli(None, None)
  File "c:\Tools\Python27\lib\site-packages\click\core.py", line 664, in __call__
    return self.main(*args, **kwargs)
  File "c:\Tools\Python27\lib\site-packages\click\core.py", line 644, in main
    rv = self.invoke(ctx)
  File "c:\Tools\Python27\lib\site-packages\click\core.py", line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\Tools\Python27\lib\site-packages\click\core.py", line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\Tools\Python27\lib\site-packages\click\core.py", line 464, in invoke
    return callback(*args, **kwargs)
  File "c:\Tools\Python27\lib\site-packages\platformio\commands\update.py", line 15, in cli
    ctx.invoke(cmd_platforms_update)
  File "c:\Tools\Python27\lib\site-packages\click\core.py", line 464, in invoke
    return callback(*args, **kwargs)
  File "c:\Tools\Python27\lib\site-packages\platformio\commands\platforms.py", line 155, in platforms_update
    p.update()
  File "c:\Tools\Python27\lib\site-packages\platformio\platforms\base.py", line 308, in update
    pm.update(name)
  File "c:\Tools\Python27\lib\site-packages\platformio\pkgmanager.py", line 140, in update
    self.uninstall(name)
  File "c:\Tools\Python27\lib\site-packages\platformio\pkgmanager.py", line 116, in uninstall
    rmtree(join(self._package_dir, name))
  File "c:\Tools\Python27\lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\Tools\Python27\lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\Tools\Python27\lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\Tools\Python27\lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\Tools\Python27\lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\Tools\Python27\lib\shutil.py", line 256, in rmtree
    onerror(os.rmdir, path, sys.exc_info())
  File "c:\Tools\Python27\lib\shutil.py", line 254, in rmtree
    os.rmdir(path)
WindowsError: [Error 145] Das Verzeichnis ist nicht leer: 'C:\\Users\\aaaaa\\.platformio\\packages\\framework-arduinoavr\\libraries\\__cores__\\digispark\\DigisparkTinyPinChange\\examples'

Happy to provide more information if needed.
Thanks and keep up the excellent work!

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/24182264-update-fails-due-to-windows-error-145-dir-not-empty?utm_campaign=plugin&utm_content=tracker%2F2014790&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2014790&utm_medium=issues&utm_source=github).

Which files contains this folder C:\\Users\\aaaaa\\.platformio\\packages\\framework-arduinoavr\\libraries\\__cores__\\digispark\\DigisparkTinyPinChange\\examples?

Strangly the directory is in fact empty. The behaviour also occurs with other directories, e.g.

.platformio\packages\framework-arduinosam\system\CMSIS\Device\ATMEL\sam4s\include

the directory is empty, but Error 145 occurs here as well.
After calling platformio update again, the 'include' directory is being deleted, but then the script complains about the parent directory being not empty ('sam4s'). But this is empty, too. Strange.
After calling platformio update a couple of times, it is all resolved and the update process can be finished successfully.

Hm... PlatformIO can't delete folder if it is opened by another application (Explorer, File Manager, etc) in OS. Could I ask you to delete manually whole C:\\Users\\aaaaa\\.platformio folder and install appropriate platforms again. Then re-test it.
As for "How to reproduce 'update' command?", just open C:\\Users\\aaaaa\\.platformio\appstate.json and manually reduce "version of package", and run platformio update command.
For example, see current version:
"framework-arduinosam": {"version": 10, ...}

Just, set it to
"framework-arduinosam": {"version": 9, ...}

I have reduced the version in appstate.json as you suggested, it did update "framework-arduinosam" but I could not reproduce the behaviour anymore. I guess is that some Windows process had still access to the directory in the earlier case.
I am good for now. Many thanks for looking into this.

Thanks that using PlatformIO! :+1:
P.S: Don't forget to give us star :star: https://github.com/platformio/platformio/stargazers


Prevent preview from repeat after re-render

Your issue may already be reported!
Please search on the issue tracker before creating one.
Describe the bug
Use the SwipeRow component standalone. Set the preview as true and previewRepeat as false. After any re-render caused my a parent view the preview is shown again.
Environment (please complete the following information):

OS: iOS 13.5
RNSLV Version: 3.1.0
RN Version: 0.62.2

Hey @olegbraginmmc do you have some example code you can show me that would reproduce this behavior? Thanks!

Closing as inactive


Waystone creation

Is your feature request related to a problem? Please describe.
When creating a Waystone there is no way for it to be saved to the config files
Describe the solution you'd like
Ideally you would craft an item and shift right click on the structure to make a Waystone.
Describe alternatives you've considered
Detecting multi-block structures within a region requires World Edit and I am trying to accomplish this without 3rd party plugins
Wayston creation tool

[ ] Multi-block detection
[ ] Storing waystones in "database"


fix #412: distinct() filters None

resolves #412

Thanks Brad, I'll take a look ASAP.
On Fri, 10 Feb 2017 at 21:16, Brad Maggard<EMAIL_ADDRESS>wrote:

resolves #412 https://github.com/alimanfoo/petl/issues/412
You can view, comment on, or merge this pull request online at:
https://github.com/alimanfoo/petl/pull/414
Commit Summary

fix #412: distinct() filters None

File Changes

M petl/test/transform/test_dedup.py
https://github.com/alimanfoo/petl/pull/414/files#diff-0 (16)
M petl/transform/dedup.py
https://github.com/alimanfoo/petl/pull/414/files#diff-1 (7)

Patch Links:

https://github.com/alimanfoo/petl/pull/414.patch
https://github.com/alimanfoo/petl/pull/414.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alimanfoo/petl/pull/414, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAq8QrnG2jz8Ssp03wXts4dnirjPqD8iks5rbNPBgaJpZM4L93Om
.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Email<EMAIL_ADDRESS>Web: http://purl.org/net/aliman
Twitter: https://twitter.com/alimanfoo
Tel: +44 (0)1865 287721

Going to merge and add change notes get a new CI run in a separate PR as showing unknown repository as source.


fix: add modified regex for the firstName and lastName

Notes for Reviewers
This PR fixes https://github.com/meshery/play/pull/125#pullrequestreview-1533788423
Allows

Multi-word names
Names with -
Special language characters like ā

Signed commits

[X] Yes, I signed my commits.

Expect a PR regarding the build failure too by today..

@saaagarsingh

Hey @codingmickey
Let's discuss it on the websites call.
Please add this as an agenda item in the meeting minutes, if you would :)
https://docs.google.com/document/d/1XczAHXVe2FIWPqiF57ospJ43zw5cZQ7ui8mn39v5EvA/edit#heading=h.lohhtewfwima


Allow disabling of secure_mode for UPnP

This will allow the disabling of secure mode for miniupnpd.
My reasoning for this is to allow upnp port forwarding of kubernetes services where the client requesting the port forward will not have the same IP as that in the request.

Hi,
In general ok but the storage value is the inverted value so the default can be retained as yes? That would be better to clean up to avoid future interpretation issues on changes regarding the topic.
Cheers,
Franco

Would you be happier if I just made it $upnp_config['disable_secure_mode'] rather than $upnp_config['secure_mode']?

The most robust solution is to invert the storage value for GUI display. I just wanted to confirm the issue with you. I can take over that part in January if you don’t beat me to it. There are a few examples of this in the core code… I think on the services: router advertisements page for example.
Cheers,
Franco


Optimize for v2.6

Description

Fix: All the wordings.
Refractor: Add copyright header to all the files.
Fix: xxx has been selected issues.
Feature: Add force merge in aliases and data streams page.
Feature: Add callout when no data stream template.

Issues Resolved
[List any issues this PR will resolve]
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.x@e3fe789). Click here to learn what that means.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@          Coverage Diff           @@
##             2.x     #640   +/-   ##
======================================
  Coverage       ?   59.46%
======================================
  Files          ?      291
  Lines          ?     9680
  Branches       ?     1702
======================================
  Hits           ?     5756
  Misses         ?     3476
  Partials       ?      448

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


Reference-guided Ratatosk on Single Node with chromosomes but many unplaced scaffolds - faster with GNU Parallel?

If one has a lot of bins (say >2000) because the reference genome has a lot of small scaffolds, but scaffold L50 is say ~10 (for a Hi-C chromosome scale mammalian genome with many, small unplaced scaffolds because original assembly was Illumina-based), would you recommend using the GNU Parallel implementation of the local reference guided correction code? I have been running Ratatosk_SingleNode.sh from commit 74ca617 with 30 cores, and I think it is about 1/3 way done after 1 day of computing. On that note, maybe you could provide a option for using GNU Parallel in a new commit of Ratatosk_SingleNode.sh through an if/elif statement. I understand that would certainly increase the memory usage.

Hi @jelber2,
The Ratatosk_SingleNode.sh script doesn't use GNU Parallel. Instead, each bin is corrected sequentially in this script but each bin correction is done in parallel. Given that you reference genome has a lot of small unplaced scaffold, I would advise against reference-based correction.

Ok thanks!


Support for Taiwan holidays

Contributing a new country ?

[x]  Have you checked to ensure there aren't other open Pull Requests for the same country?

Create a new class in the Countries directory. It should extend the Country class.
Add a test for the new country in the tests directory.
Run the tests so a snapshot gets created.
Verify the result in the newly created snapshot is correct.

Changes

Added a new Taiwan class in the Holidays directory.
Implemented holiday calculations specific to Taiwan, including both fixed-date holidays and those that require lunar calendar calculations.
Used the ext-intl extension and IntlDateFormatter for accurate lunar calendar calculations, ensuring that holidays based on the lunar calendar are correctly determined.

Additional Notes

The ext-intl extension is required for this addition. It is referenced in the composer.json file.

References

https://publicholidays.tw/2024-dates/

Thanks!


Rename AccessListItem field name

Closes: #34

Maybe rename slots to storageKeys is better.
@tgmichel @sorpaas How do you think it?

I have no objections, but in that case you'll need to bump the minor version.

I have no objections, but in that case you'll need to bump the minor version.

Ok. I'll do it in another PR. The PR as the patch for 0.11.1

Hmm no sorry. On a second look the TypeInfo change is also not backward compatible. So in all cases you'll have to bump the minor version.

How about using #36 instead of this PR?


Have ROM lock PCR0 on every boot

As per https://github.com/chipsalliance/caliptra-rtl/issues/76, all PCRs are autonomously unlocked across hitless firmware update. ROM should be sure to lock PCR0 on every boot, not just on cold-boot.

This falls into sw repository as there is no HW change here. @bluegate010  - can u check if this can be moved or filed into that repo and then close this?

Ah right, this is in the wrong repo. Will re-file.


Added DATABASE_URL example for PostgreSQL

Hello.
Just added example for PostgreSQL DATABASE_URL.

Hi @aryadovoy 👋
Thank you for this contribution! Never thought about it before, but the connection string for async PostgreSQL can indeed be hard to guess, so it's an interesting point.
However, I would like to keep the code snippets as simple as possible (some are already quite long/confusing IMO).
What would you think about adding a dedicated section in sqlalchemy.md, e.g. right after the Asynchronous driver section, showing DATABASE_URL examples for all the different DBMS?

What would you think about adding a dedicated section in sqlalchemy.md, e.g. right after the Asynchronous driver section, showing DATABASE_URL examples for all the different DBMS?

I think it will be good. I'll prepare next commit with examples.


[WIP] Remove Instruct/Chat versions of models & introduce a new ChatTemplate API, fix Anthropic API

This PR should significantly reduce the number of user-facing classes we have in Guidance, and reduce subtle bugs introduced by using a mis-specified Chat Template (models currently silently default to the ChatML syntax, which many of the latest models don't adhere to). It should also make it easier for users to add new models to guidance, either via PR or in their own codebases.
Before:
from guidance.models.transformers import Transformers, TransformersChat

class Llama(Transformers):
    pass

# Users have to do this for most chat models in guidance
class LlamaChat(TransformersChat, Llama):
    def get_role_start(self, role_name, **kwargs):
        if role_name == "system":
            return self._system_prefex + "<<SYS>>\n"
        elif role_name == "user":
            if str(self).endswith("\n<</SYS>>\n\n"):
                return ""
            else:
                return "[INST] "
        else:
            return " "

    def get_role_end(self, role_name=None):
        if role_name == "system":
            return "\n<</SYS>>\n\n"
        elif role_name == "user":
            return " [/INST]"
        else:
            return " "

lm = LlamaChat(path_to_llama)

After:
from guidance.models import Transformers

lm = Transformers(path_to_llama) # automagically works

If you're using a rare model and the auto import doesn't automatically work...
After pt2:
# users can copy paste from https://huggingface.co/meta-llama/Llama-2-7b-chat-hf/blob/main/tokenizer_config.json#L12
llama2_template = "{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% set system_message = false %}{% endif %}{% for message in loop_messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if loop.index0 == 0 and system_message != false %}{% set content = '<<SYS>>\\n' + system_message + '\\n<</SYS>>\\n\\n' + message['content'] %}{% else %}{% set content = message['content'] %}{% endif %}{% if message['role'] == 'user' %}{{ bos_token + '[INST] ' + content.strip() + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ ' '  + content.strip() + ' ' + eos_token }}{% endif %}{% endfor %}"

lm = Transformers(path_to_llama, chat_template=llama2_template)

or, in the worst case for maximal robustness and customizability:
from guidance._chat import ChatTemplate, UnsupportedRoleException

class Llama2ChatTemplate(ChatTemplate):
    template_str = llama2_template

    def get_role_start(self, role_name):
        if role_name == "system":
            return "[INST] <<SYS>>\n"
        elif role_name == "user":
            return "<s>[INST]"
        elif role_name == "assistant":
            return " "
        else:
            raise UnsupportedRoleException(role_name, self)

    def get_role_end(self, role_name=None):
        if role_name == "system":
            return "\n<</SYS>"
        elif role_name == "user":
            return " [/INST]"
        elif role_name == "assistant":
            return "</s>"
        else:
            raise UnsupportedRoleException(role_name, self)

lm = Transformers(path_to_llama, chat_template=Llama2ChatTemplate)

The first big change is the removal of the Chat and Instruct mixins, and an introduction of a new guidance._chat.ChatTemplate class, which handles the same responsibilities as those mixins used to.
Users can construct a subclass of ChatTemplate and pass it to models with a new chat_template argument (defaulted to None).
The way this works for local models is to leverage the chat_template property in huggingface transformers and llamacpp's GGUF files. When a user tries to load a model, guidance now follows the following order of operations:

See if the user passed in a ChatTemplate -- if so, use that directly.
If the user passed string "chat_template", set that as a "template_str". If the user did not pass in anything, set the "template_str" based on metadata from the huggingface.AutoTokenizer or gguf metadata fields.
Check the template_str against a local cache in guidance which maintains template converters for the most popular models on huggingface/in llama.cpp. We index this cache based on the actual chat_template string, so any model that uses one of these chat templates -- even if it isn't explicitly listed in the documentation -- will automatically load the right guidance class.
If we don't have anything in the cache, try to automatically convert the jinja2 template into the new guidance._chat.ChatTemplate syntax. Warn the user if we attempt this. [NOTE: This is not yet implemented and may come in a future PR.]
Default to the ChatML syntax, with a warning to the user.

Currently this PR updates the following user facing guidance.Models classes:

Transformers (removing TransformersChat and the Llama/Mistral subclasses)
LlamaCpp (removing LlamaCppChat and Mistral subclasses)
Anthropic

For now, Anthropic should be representative of how grammarless classes will work. I wanted to start with OpenAI, but many other guidance.models classes inherit from OpenAI, so I'm saving that for later. Also while I was at it I upgraded the Anthropic class to use their latest SDK, so guidance.models.Anthropic should now work with the latest Claude3 models.
TODO
A decent amount left to do here. In no particular order...

Unrelated to this change, but guidance cannot properly handle llama3 or phi-3's true tokenizers/chat templates. We need to fix that independently.
Add better warnings to users when we fall back to using the ChatML template.
Extend support through the rest of the guidance.models classes (mostly just remote ones left, starting with OpenAI).
Write out more templates for popular models in the ChatTemplateCache, and also add an alias system so that we can look up models in the cache by common names (e.g. "llama3").
Add a deprecation warning to people trying to use very old models on Anthropic.
Much more testing and documentation. We should, for example, add documentation on how to import/initialize a new ChatTemplate and use it for your own models.
Write the auto-converter from huggingface jinja2 to guidance ChatTemplate. A battery of unit tests here that compare against the original transformers.apply_chat_template method would make this more robust. Can be in a future PR as this is complex logic. A start to this was attempted in https://github.com/guidance-ai/guidance/pull/791 by @ilmarinen, and we could eventually pull this in and expand its coverage.
Probably get rid of the folders in guidance.models.llama_cpp and guidance.models.transformers because we don't need to maintain a bunch of subclasses for them anymore.

Would appreciate any and all feedback, particularly on the logical flow and new user facing (simpler) API. @marcotcr @paulbkoch @slundberg @riedgar-ms @hudson-ai

Hmm, test failures are related to needing to authenticate on huggingface to load some model tokenizers. Could just disable these in the tests I suppose?

E               Cannot access gated repo for url https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct/resolve/main/config.json.
E               Access to model meta-llama/Meta-Llama-3-8B-Instruct is restricted. You must be authenticated to access it.

Given the changes to Anthropic, does that mean we now have access to API keys which we can use in the builds?

I just made a personal account and paid for $20 of credits out of pocket to test it...not sure it's wise to depend on that for our CI/CD (especially given how frequently they run :| ).

Given the changes to Anthropic, does that mean we now have access to API keys which we can use in the builds?

I just made a personal account and paid for $20 of credits out of pocket to test it...not sure it's wise to depend on that for our CI/CD (especially given how frequently they run :| ).

I'm quite happy to spend your money.....

Hmm, test failures are related to needing to authenticate on huggingface to load some model tokenizers. I added these new tests in to check the ChatTemplateCache. We could disable these tests, or (better) figure out a way to pass a huggingface auth token here....

E               Cannot access gated repo for url https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct/resolve/main/config.json.
E               Access to model meta-llama/Meta-Llama-3-8B-Instruct is restricted. You must be authenticated to access it.

@riedgar-ms thoughts here?

You can add the HF auth token to the repo as a secret (like we did for the AzureAI studio secrets), and then access it as an environment variable within the test. I believe I have an env_or_fail() method to help with that.

Hmm, test failures are related to needing to authenticate on huggingface to load some model tokenizers. I added these new tests in to check the ChatTemplateCache. We could disable these tests, or (better) figure out a way to pass a huggingface auth token here....

E               Cannot access gated repo for url https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct/resolve/main/config.json.
E               Access to model meta-llama/Meta-Llama-3-8B-Instruct is restricted. You must be authenticated to access it.

@riedgar-ms thoughts here?

You can add the HF auth token to the repo as a secret (like we did for the AzureAI studio secrets), and then access it as an environment variable within the test. I believe I have an env_or_fail() method to help with that.

Nice thanks, I changed it to use the env variable and your helper function

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

Project coverage is 57.38%.  Consider uploading reports for the commit 8b54aa8 to get more accurate results

Files
Patch %
Lines

guidance/_chat.py
63.06%
41 Missing :warning:

guidance/models/_anthropic.py
0.00%
30 Missing :warning:

guidance/models/transformers/_transformers.py
21.42%
11 Missing :warning:

guidance/models/_openai.py
70.00%
6 Missing :warning:

guidance/models/_model.py
81.48%
5 Missing :warning:

guidance/library/_role.py
88.88%
1 Missing :warning:

guidance/models/_grammarless.py
87.50%
1 Missing :warning:

guidance/models/_remote.py
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #820      +/-   ##
==========================================
+ Coverage   57.02%   57.38%   +0.36%
==========================================
  Files          57       56       -1
  Lines        4193     4191       -2
==========================================
+ Hits         2391     2405      +14
+ Misses       1802     1786      -16

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

@paulbkoch I think that everything is going to pass eventually on this. Per the discussion thread, I'll have to see about converting some more models over to the new paradigm


January 23rd, 2023 Community Meeting

Please add a topic in this thread and add a link to the GitHub issue associated with the topic.
Please make sure you give folks enough time to review/discuss the topic offline on GitHub before coming into the meeting
(optional) Paste the image of an animal 😸

Call for Proposals

Some of the meeting minutes:

We conclude that we would like to submit 3 talks:

On triggers, @adambkaplan to sync with @otaviof
On the manage push, @qu1queee to sync with @SaschaSchwarze0 on the feasibility of having this on time
A lightning talk on Project updates.

In addition, @adambkaplan mentioned that we might be able to participate on a Demo booth, to showcase on SHP features.

Other items:

@adambkaplan was asked if Shipwright wanted a rep on the CD Foundation technical oversight committee. He will investigate what is involved.
Tekton v1 API - @SaschaSchwarze0 did an initial investigation, this does not have a large impact on Shipwright. Per TEP-0096, the v1beta1 APIs will remain for at least another 9 months.

Tekton v1 API - @SaschaSchwarze0 did an initial investigation, this does not have a large impact on Shipwright. Per TEP-0096, the v1beta1 APIs will remain for at least another 9 months.

Conclusion was that we'll stay on v1beta1 for the forseeable future. Probably a good idea to look at it again in Q3.


https://jira.rdkcentral.com/jira/projects/HP40A/issues/HP40A-995?filt…

…er=allopenissues    changes made in the const string Network::Initialize(PluginHost::IShell* /* service */) function in Networn.cpp file
eventHandler function in the Network.cpp file is not getting invoked so modified the code in the initialization function in Network.cpp file.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@vijs ,
Could you please review/merge?
This change is required for https://jira.rdkcentral.com/jira/browse/VIP7802-250


Optim state  using data_ptr as index may be a problem

i'm seeing that the optimizer.state has a number of keys that is much fewer than the number of parameters, it seems data_ptr() is not returning us unique values, and because shapes aren't unique either, multiple parameter states are being written to the same spot
(Pdb) optim.state.keys()
dict_keys([(0, (1, 2, 1024)), (0, (1, 64, 1024)), (0, (1024,)), (0, (1024, 48)), (0, (1024, 1024)), (0, (4096, 1024)), (0, (4096,)), (0, (1024, 4096)), (0, (1, 1, 1024)), (0, (1000, 1024)), (0, (1000,))])
(Pdb) optim.state[(0, (1, 2, 1024))]["exp_avg"].data_ptr()
0
(Pdb) optim.state[(0, (1, 2, 1024))]["exp_avg"]._cdata
93862421754000
(Pdb)
I suggest we use param._cdata which appears to be a unique value to each tensor.
additionally, the distributed checkpointing system expects state values to be indexed in torch's original format, just a long list of integers for each parameter [0, N]
I suggest we use our (param._cdata, shape) to map to the original indexing system, and then to the state, so we can retain original behavior
https://github.com/pytorch/pytorch/blob/main/torch/distributed/checkpoint/state_dict.py#L776

pytorch uses the entire parameter as a key which feels maybe a bit overkill
https://github.com/pytorch/pytorch/blob/main/torch/optim/adamw.py#L119

changing your state function
# def state_(self, arg: torch.Tensor):
#     return self.state[self.key(arg)]
def state_(self, arg: torch.Tensor):
    return self.state[arg]

actually restores the original behavior and FSDP saving works now + typical state indexing as is

Another sharp bit i found with distributed saving/loading of checkpoints. On the initialization of state_dicts, the step function will be run, but at LR=0.
However if this is our first step, we've already created the fake_param_groups, which all have lr=0, we need to somehow sync the fake_groups attributes to the original group

Resolved in 1.0.0, where we use the default id(p) but map the new fake tensors to real torch tensors.


odoc html mld processing introduces spurious s with newlines

The
 in the output below should not exist at all (they are prettified by xmltrip they contain in fact a single newline):
> cat bla.mld
{%html:
Hey
%}
{!modules: String}
{!modules: String}
> odoc html -o /tmp/ --index-for Bla bla.mld
> cat /tmp/Bla/index.html | xmltrip -indent
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>

    <title>
      Bla
    </title>
    <link rel="stylesheet" href="../odoc.css"/>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
    <meta name="generator" content="odoc 8f4e403"/>

      Hey

          String

          String

Having instead:
{%html:
Hey
%}{!modules: String}{!modules: String}

is a workaround.

Not sure if this is a doc-ock-html, doc-ock or an octavius problem or no problem at all.
Basically what doc-ock-html receives is:
[ Target (Some "html", "
Hey
")
; Raw "\n"
; Special _
; Raw "\n"
; Special _
]

Should doc-ock-html receive this input? Should it treat it the way it does?
I don't really know.
@lpw25 ?

FWIW IIRC the same content interpreted in an ocamldoc comment does not introduce these empty paragraphs (paragraphs with whitespace only --- excluding nbsp --- should anyways never be emitted).

The fix is a bit crude, this should perhaps be done inside octavius itself at the same time as #39 .

 The result is that I think Octavius would be much more useful if it emitted a representation that is aware of the difference between a block element and an inline element, and thus had a notion of paragraphs (and thus trimmed newlines, avoided the Newline constructor, etc).
I intend to add it, but please let me know any objections. I can write out a long-form argument, but in the interest of time efficiency, the short version is that generators for all output formats I've ever dealt with will like to know the block structure of doc comments. At the same time, manually reconstructing block structure from what Octavius currently produces is an error-prone process, so it's better to have Octavius provide it as either a helper format, or the only format. Further, there is really only one "answer" (e.g. section headers are always blocks, aligned text is always a separate block, etc.), so we won't be making any premature decisions for any Octavius user.
The current Octavius output has also a number of leading/trailing newline inconsistencies, and inconsistencies in when it emits Newline. With a block-aware representation, those will be fixed or become meaningless.

Almost forgot. It would also make "natural" the choice of representing tags as a kind of block, which would allow the representation to "remember" the order in which tags had appeared in the input relative to the rest of the text. This might be useful if we ever want to add Doxygen-style @warning, @note, etc., tags later.

It's difficult to object without you being more concrete in what you think the problem is and what your solution entails. In general my aim is to make Octavius less aware of the different kinds of tags and elements, ideally reaching a point where it knows nothing about them, so I'm not keen on forcing it to know even more about them. It also seems unlikely to be necessary, as long as Octavius preserves sufficient information from the source the consumer should be able to process the different elements as appropriate.

Perhaps things would be clearer if you give some concrete examples where Octavius is misbehaving. Or even better submit your tests/examples as a PR.

Having looked at the issue a bit. I think I don't object to the underlying idea of your solution. I would just like to have the bit of code your proposing adding be in odoc rather than in octavius. It looks to me like the difference between the different elements would really only affect the convert function in OctParser. This is in a way the "last" bit of code in octavius before the data is passed to the outside world. It's job is essentially from a type like:
type text_item =
    Blank
  | Newline
  | Blank_line
  | String of string
  | Element of text_element

to a type equivalent to:
type text_item =
  | Blank_line
  | String of string
  | Element of text_element

I would suggest that we move this function outside of octavius and leave the Blank and Newline constructors in Octavius' output type. Then the handling of paragraphs/block elements can be put inside of odoc or doc-ock.

I would just like to have the bit of code you're proposing adding be in odoc rather than in octavius

Since the changes will probably be restricted to the convert function, I'm also happy for them to go into octavius in the short-term -- as it would be easy to lift them out to odoc later when I finally get around to trying to make Octavius more agnostic.

I noticed there is a pretty rigid coupling between almost all of Octavius.Types.t and a few of the types in DocOckTypes.Documentation, for which reason I probably won't do the above change now. It would require refactoring doc-ock a bit, to treat Octavius.Types.t (or an additional, more-structured type) in a somewhat more abstract fashion. This refactoring is probably not worth doing immediately.
Without fully considering everything, my impression is that doc-ock should, instead of translating Octavius.Types.t to a very similar variant that apparently differs in the reference type, pass Octavius.Types.t (or new type) straight through (or translate, abstractly, between some functorized forms provided by Octavius). Right now, there are two expansive sets of variant types, both in the APIs of two different libraries, both potentially inconvenient, and coupled to each other, so the overhead for a contributor for adjusting them in any way is pretty high.
I'll look at fixing the mentioned markup problems in doc-ock-html or somewhere in doc-ock for now, even though I suspect I'll believe it's the wrong place to fix them.


Fix build on Fedora and add instructions

I had to patch tools/gn/build/gen.py in order to fix this error:
[niko@localhost src]$ ./tools/gn/bootstrap/bootstrap.py --skip-generate-buildfiles -j$(nproc) -o out/Default/gn
ninja: Entering directory `/home/niko/devel/ungoogled-chromium-ppc64le/build/src/out/Release/gn_build'
[1/1] LINK gn
FAILED: gn
clang++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-strip-all -static-libstdc++ -Wl,--as-needed -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
/usr/bin/ld: cannot find -lstdc++
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "./tools/gn/bootstrap/bootstrap.py", line 142, in <module>
    sys.exit(main(sys.argv[1:]))
  File "./tools/gn/bootstrap/bootstrap.py", line 125, in main
    ['ninja', '-C', gn_build_dir, 'gn', '-w', 'dupbuild=err', '-j'+str(options.jobs)])
  File "/usr/lib64/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', '-C', '/home/niko/devel/ungoogled-chromium-ppc64le/build/src/out/Release/gn_build', 'gn', '-w', 'dupbuild=err', '-j32']' returned non-zero exit status 1.

Thanks, CI running: https://gitlab.com/lle-bout/ungoogled-chromium/-/jobs/280598117

Worked fine. Note that I cherry-picked your commits manually into the tree, so I'll just close this here. Thanks!


Allow detaching from TUI

Feature Request
It would be great to be able to detach from the TUI and leave the services running. Along with detaching on up, this would allow one to attach temporary and then return to their shell.
Use Case:
Detaching is useful for automation, but sometimes you may want to check the services without committing a terminal.
Proposed Change:
Provide a keyboard shortcut that will detach and return to shell, while leaving the service running.
Who Benefits From The Change(s)?
Me?
Alternative Approaches
Status quo.

Hi @adamcstephens,
Did you try the CTRL+B shortcut and it didn't work for you?

CTRL+B seems to launch a new bash shell inside the TUI process, rather than completely detaching and exiting from the TUI. My default shell isn't bash, so this is also less than ideal from a user experience standpoint.

My default shell isn't bash, so this is also less than ideal from a user experience standpoint.

It's possible to override the default shell (bash) with the COMPOSE_SHELL env variable.
I am not sure I understood from the use case, why the existing detach functionality (-D) isn't enough for automation?

The detach functionality does indeed start the services in detached mode. But if one ever launches the TUI for any reason there seems to be no way to again truly detach from the server. Backgrounding the TUI and running a shell inside isn't the same as detaching and exiting the TUI without killing the processes. It also doesn't return me to where I was prior to attaching the TUI, but instead takes me somewhere new.
Put another way, I'd like to exit the TUI without killing the processes. Short of killing the window I don't see any way to do so.
Sorry, I figured this would be clearer and not a huge ask since the client/server and attach capabilities already existed. No worries if not, thanks for the consideration.

As you correctly pointed out there is no true detach after starting in TUI mode. That's why I was trying to understand the use case a bit better. Is it more of a "quick shell access" or an actual detached mode?
I can look into it.
I don't think it should be too difficult to implement it.
Today I start another instance of PC as a background process (child) and exit the parent. Instead of exiting, I think I can attach it to the child PC.
There might be some conflicting arguments between the server and the client, but I believe that can be sorted out.

Added in v1.46.0
Use it with the  --detached-with-tui flag.
Please let me know if everything is as expected.

Thank you! I see one can also detach if launched with --detached as well. :heart:


feat(sdk-metrics-base): implement async instruments support

Which problem is this PR solving?
This is the continuation part of https://github.com/open-telemetry/opentelemetry-js/pull/2636 for async instruments metric streams.
This is a prototype implementation described in https://docs.google.com/document/d/1EluDhj5UanNATS3hR8xx30sv55Se7uYjsGYslvNWHtc/edit#.
Short description of the changes

Add AsyncMetricStorage for async instruments.
Add support for handling cumulative measurements recording in DeltaMetricProcessor.

Pending spec clarifications:

[ ] (Non-blocking) https://github.com/open-telemetry/opentelemetry-specification/issues/2187

Depends on:

[x] https://github.com/open-telemetry/opentelemetry-js/pull/2687

Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?

[x] AsyncMetricStorage
[x] DeltaMetricProcessor.batchCumulate
[x] Meter.createObservableGauge
[x] Meter.createObservableCounter
[x] Meter.createObservableUpDownCounter

Checklist:

[x] Followed the style guidelines of this project
[x] Unit tests have been added
[x] Documentation has been updated

This PR is ready for review :)


Update debian images to bookworm

Fixes https://github.com/pulumi/pulumi-docker-containers/issues/147

Aside: I was naively thinking that upgrading to bookworm would help resolve https://github.com/pulumi/pulumi-docker-containers/issues/206, but I guess the python images are already using bookworm.


Add Experience Report to Real Life Stories

The experience report describes the complete replacement of a legacy monolithic big data system to a microservices event-driven architecture, leveraging technologies such as Kafka, Cassandra, Spring, Flink, and more. The paper is accepted for publication at EuroMicro 2020 ([https://dsd-seaa2020.um.si/seaa/CNADO.html?sec=track_cbsms#page_header])

Thank you!


Bad Timings

Server TPS drop, cause is SimpleScore, any ideas?
https://timings.aikar.co/?id=5f64b4c285ae4a6890710c5ba9b677bb

Can you send me a copy of your config file please.

https://pastebin.com/mAPwiSY5

Sorry for the late reply, could you try it without placeholders and let me know if that reduces the TPS impact.

Huh? like without any placeholders?.

Yeah, just so we can see if the problem comes from the placeholders.

Issue still persists after having no placeholders there

Ok that's weird, any chance you can add the spark (https://github.com/lucko/spark) plugin to your server and run the CPU profiler.
That might give us some more useful information as to what's causing the high usage.

Sure, will do and let you know, also, is there a way you can give me your discord instead of communicating via Github every time? Faster and easier haha

Yeah for sure, feel free to add me. My username is R4G3_BABY#0001.

Thanks! Just added you. :)


Error info when creating NavLink is not shown to user

Setup

Rancher version: dev of 2.10.0

Describe the bug

Errors when creating a NavLink are not shown to the user
Note - this works fine for other resources (pods, services, secrets)

To Reproduce

Cluster Explorer --> Header Resource Search --> type in NavLink --> click on NavLink --> Create
Enter AAA for the name --> Enter anything for Destination URL --> Create

Result

The Create button shows Error, however no other information shown on screen

Expected Result
In 2.9.0

Error displays as expected. Tested in:

Rancher v2.10-8decbf6fd040b5b2168430f1e72ccc484d59b6e0-head
Dashboard master 4e82a4d


GC StringViewArray in CoalesceBatchesStream

(targets string-view2 branch)
Which issue does this PR close?

Part of  #10918
Rationale for this change
StringViewArray reference to the raw parquet decoded buffer, which reduces copy but prevents those buffer from being released.
When StringViewArray's cardinality significantly drops (e.g., after FilterExec or HashJoinExec or many others), we should consider consolidating it so that we can release the buffer to reduce memory usage and improve string locality for better performance.
The current heuristic is to GC StringViewArray in CoalesceBatchesStream and use larger block size to reduce buffer count (see https://github.com/apache/arrow-rs/issues/6094)

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

This logic (batch in, batch out) should be a separate helper function (maybe living somewhere else, as it could be useful in other contexts too).

Agree! I moved the logic to a separate function. I tentatively put it right after the CoalesceBatchesStream implementation, please let me know if there's a better way to organize it!

This logic (batch in, batch out) should be a separate helper function (maybe living somewhere else, as it could be useful in other contexts too). This way, the main logic of the CoalesceBatchesStream would only change a single line and would not get cluttered.

I agree with this sentiment. I am working on this approach in https://github.com/apache/datafusion/pull/11610. I hope to have it ready for review shortly

I think what we should do here is:

File a follow on ticket based on @2010YOUY01 's comment https://github.com/apache/datafusion/pull/11587#discussion_r1686678665
Merge this PR (it targets the string-view2 branch, not main)

Per @ozankabak 's comment https://github.com/apache/datafusion/pull/11610#issuecomment-2244524858 there appears to be another PR https://github.com/synnada-ai/datafusion-upstream/pull/27 that will affect CoelseceBatchesExec and thus we may have a merge conflict to resolve when bringing string-view2 back into main
However I think that is manageable and we should be ok

I have filed https://github.com/apache/datafusion/issues/11628 to track further performance improvements
Another thing I think would be good is to write some tests for this function (especially as we know it is about to undergo some non trivial refactoring)

I am hoping to write those tests shortly

I am hoping to write those tests shortly

@XiangpengHao  -- I wrote tests in https://github.com/XiangpengHao/datafusion/pull/1 -- something doesn't seem quite right with the heuristic.

Update here is that testing revealed some cases where we could improve -- see discussion on https://github.com/XiangpengHao/datafusion/pull/1
Given this PR is targeting a branch and not main, I am planning to keep it open a bit longer while we try and make this better

Update: I think if we have benchmarks showing this PR improves performance we should merge it in and we can improve the performance as a follow on PR (tracked in https://github.com/apache/datafusion/issues/11628).
I am especially excited that we could remove the second copy for all types, not just string view

While working on the blog post, I came up with a better herustic that leads future performance improvement (e.g., additional 5%).
The idea is to calcualte an ideal_buffer_size, and if the actual buffer size is twice as larger, then we do gc.
We also use the ideal_buffer_size to set optimal block_size value, so that we never waste a single byte.
Calculating the ideal_buffer_size needs to traverse the views, it is actually cheap as the batches are pretty small for low cardinality filters, which is most cases.
cc @alamb @2010YOUY01

The idea is to calcualte an ideal_buffer_size, and if the actual buffer size is twice as larger, then we do gc.
We also use the ideal_buffer_size to set optimal block_size value, so that we never waste a single byte.

I think this heuristic sounds good

Calculating the ideal_buffer_size needs to traverse the views, it is actually cheap as the batches are pretty small for low cardinality filters, which is most cases. The worst case is that we need to check 8192 views, which is also not too bad.

I agree
Any chance you can add tests for this code showing how the heuristics work (perhaps either based on  https://github.com/XiangpengHao/datafusion/pull/1 or directly merging it in)?

It seems the clippy and doc error are due to new rust release

It seems the clippy and doc error are due to new rust release

Indeed -- https://github.com/apache/datafusion/issues/11651


Load Model

Hi,
I have problem for loading the  pre-trained model :
TypeError: ('Keyword argument not understood:', 'return_state')
Do you know how to fix this?

Does this problem continues?

this is a serious problem

Just update your version of keras , worked for me


Videos are not displayed on iPhone

Bug Report
Expected behavior/code
On iphone I should see the video
Actual Behavior
The video is not loaded
Steps to Reproduce

Take an iphone
Try to open marsha on it
You won't see the video

Possible Solution
In <VideoPlayer /> we should check the compatibility before loading dashjs

Done #257


chore(release): v1.0.4 🎉

:robot: I have created a release beep boop
1.0.4 (2024-04-25)
Bug Fixes

cicd: ensure tests run on fork prs (f512f24)
sort: ensure to scan by correct direction based on since vs until (#11) (e859b37)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ehmpathy/dynamodb-dao-generator/releases/tag/v1.0.4 :sunflower:


libusb: cannot build x86-windows-static.

Used to work until recently.
Now error given is:
Expected Debug,Dynamic crt linkage, but the following libs had invalid crt linkage

I noticed that I already raised this issue.  Since I fixed the issue locally, whenever the update to libusb came in it overwrote my changes and broke it again.  My previous bug report describes the fix for this.  I assume it needs some patch files to be created to fix the vcprojx file.

Hi @carmangary, thanks for posting this issue. Does this issue still exist on your machine now? I can install and build it on my machine successfully with the latest vcpkg. If this is still a problem for you, please help offer the error logs.

@NancyLi1013 I will check this weekend.

You can close it.  It builds but not the way I want it to be built so I change the csprojx file.  I guess technically it is not a bug but a vcpkg limitation.

@carmangary, thanks for your quick reply. please open a new issue if you have any other problems.


Error on start - Cannot find module '@companion-module/base

Added this module to the dev folder, and I get this error. Not sure what I'm missing. We would like to test if this will work, very surprised this isn't already part of bitfocus yet.
Our companion (3.1.2) is running on a MacOS 13.6.1
Thanks!
~Ben
`
error: node:internal/modules/cjs/loader:1080
throw err;
^
Error: Cannot find module '@companion-module/base'
Require stack:

/Users/bby-studio-user/Documents/Bitfocus/companion-module-dev/companion-module-samsung-smarttv-main/main.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
at Module._load (node:internal/modules/cjs/loader:922:27)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:121:18)
at Object. (/Users/bby-studio-user/Documents/Bitfocus/companion-module-dev/companion-module-samsung-smarttv-main/main.js:1:64)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/bby-studio-user/Documents/Bitfocus/companion-module-dev/companion-module-samsung-smarttv-main/main.js'
]
}

Node.js v18.17.1
`

Hi There!
This error typically means that you need to install the dependancies required by this module (since it's not compiled). To do this, navigate to the folder in your Terminal and use npm install to install the required packages. 👍
Once compiled & released this will no longer be required, but as it's still in development the dependancies have to be installed by the user.

I assume it's the same process with Brew on a mac to get NPM installed?
~Ben

Got it running. Brew install npm, then navigated to the directory for the module and ran npm install.
Thanks!
~Ben


Doom Demo Vulkan support?

Hi,
I have Doom Demo with Vulkan support installed via Steam and seeing 0.30 release notes mention some Vulkan Doom support I have installed Renderdoc 0.3..
can't make Renderdoc hook into Doom Demo by launching either:
C:\Program Files (x86)\Steam\steamapps\common\DOOM Demo\DOOMx64.exe
or
C:\Program Files (x86)\Steam\steamapps\common\DOOM Demo\DOOMx64vk.exe
I have also tried disabling/enabling Steam in game launcher but no success..
Finally I checked option "Hook into children" in case would help but no success..
Anyway vkQuake is working so Renderdoc is correctly installed..
Is that due to DRM in Doom?

RenderDoc does work fine on the full DOOM game, so I imagine it would work on the demo too.
Generally injecting into retail applications is not supported since it's a bit of a grey area and I don't want to encourage nefarious use (even if this isn't). Steam games are launched from steam.exe itself even if you run the exe, which is why you're having trouble. I'd suggest perhaps you look at the global process hooking functionality, but otherwise actually capturing doom is up to you.
If you have any problems with the capture/replay, then you can open a bug for that.


Add getExpression method to ExpressionInterface

The Sql Select object expects this interface to have the method getExpression.
...
if ($joinName instanceof ExpressionInterface) {
$joinName = $joinName->getExpression();
...

Adding methods to an existing interface results in a BC break!


Added wiggle sort

Fixes: #3723
Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
To get wiggle sort,
you want to put the number in the following way such that:
(1) elements smaller than the 'median' are put into the last even slots.
(2) elements larger than the 'median' are put into the first odd slots.
(3) the medians are put into the remaining slots.
Purpose: Given an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] < nums[3]....
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issue: #3723 Wiggle sort in Python

@HarshCasper @bhav09 @siddharth25pandey Firstly I have created this PR of wiggle sort in python instead of #3753.
You should see the earlier to latest sequence of PR.
Kindly take into consideration.

Hello @ankitaggarwal23 I have not copied it.

Suggest me and then you can remove the label of plagiarism.


[Merged by Bors] - Split bevy_hierarchy out from bevy_transform

Objective

Hierarchy tools are not just used for Transform: they are also used for scenes.
In the future there's interest in using them for other features, such as visiibility inheritance.
The fact that these tools are found in bevy_transform causes a great deal of user and developer confusion
Fixes #2758.

Solution

Split bevy_transform into two!
Make everything work again.

Note that this is a very tightly scoped PR: I know there are code quality and docs issues that existed in bevy_transform that I've just moved around. We should fix those in a seperate PR and try to merge this ASAP to reduce the bitrot involved in splitting an entire crate.
Frustrations
The API around GlobalTransform is a mess: we have massive code and docs duplication, no link between the two types and no clear way to extend this to other forms of inheritance.
In the medium-term, I feel pretty strongly that GlobalTransform should be replaced by something like Inherited<Transform>, which lives in bevy_hierarchy:

avoids code duplication
makes the inheritance pattern extensible
links the types at the type-level
allows us to remove all references to inheritance from bevy_transform, making it more useful as a standalone crate and cleaning up its docs

Additional context

double-blessed by @cart in https://github.com/bevyengine/bevy/issues/4141#issuecomment-1063592414 and https://github.com/bevyengine/bevy/issues/2758#issuecomment-913810963
preparation for more advanced / cleaner hierarchy tools: go read https://github.com/bevyengine/rfcs/pull/53 !
originally attempted by @finegeometer in #2789. It was a great idea, just needed more discussion!

@cart as part of this PR's merge process, can we get a A - Hierarchy label?

bors try

btw, bevy_hierarchy is not reserved on crates.io. Even if this PR doesn't get merged, we should probably reserve it.
https://crates.io/crates/bevy_hierarchy

The API around GlobalTransform is a mess: we have massive code and docs duplication, no link between the two types and no clear way to extend this to other forms of inheritance. In the medium-term, I feel pretty strongly that GlobalTransform should be replaced by something like Inherited, which lives in bevy_hierarchy

I object to the framing that a fully separate GlobalTransform component is a "mess". I personally think a named (and fully separate) GlobalTransform type is preferable to a more abstracted "component inheritance system". GlobalTransform having a separate type (and name) makes the context and "space" (as in "world space") of the component clear. It also leaves the door open to things like "adding a GlobalTransform::ignore_parent field".
On the other hand, Inherited<Transform> could literally mean anything (and would mean different things, depending on the context of Inherited + ComponentType). Of course, the value of this design is up for debate (and should be discussed in a different place), but by including "highly opinionated and negatively weighted" thoughts on what we already have, I feel compelled to reply here.

(but I do agree that it would be nice to cut down on code duplication ... impl macros or Deref are also options)

bors r+

but by including "highly opinionated and negatively weighted" thoughts on what we already have, I feel compelled to reply here.

Fair; this wasn't really the place or tone for it. I'm sorry for that @cart. I was frustrated about the code duplication, but we can debate the relative merits of that design somewhere else.

Fair; this wasn't really the place or tone for it. I'm sorry for that @cart. I was frustrated about the code duplication, but we can debate the relative merits of that design somewhere else.

No worries. I almost didn't say anything because its definitely ok to think something is a mess (although I try to avoid using that language to avoid hurting peoples' feelings ... and to account for the fact that I might find out I'm wrong about that assessment. When trying to get that point across, I think its better to just outline the specific facts of the situation rather than ascribe generic negative labels to things). I mainly brought it up because I'd rather leave "opinionated discussions and pronouncements about the value of a thing" to issues scoped to that topic. I selfishly don't want to defend my design choices in 10 different places :)


List Panel example

Where can I find the CLIPatterns_ListPanel form as mentioned in the article above?

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

ID: 752fa821-0d42-e5c6-490a-6b263767ce5b
Version Independent ID: 08c940c6-602c-e6fd-b403-731409b29835
Content: List Panel subpattern - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/user-interface/list-panel-subpattern.md
Service: dynamics-ax-platform
GitHub Login: @jasongre
Microsoft Alias: jasongre

@leodas2004, thanks for posting!
@jasongre, please answer this question and update the topic, as necessary.

Bug 276851 has been logged to track this issue.

CLIPatterns_ListPanel is an internal test form. It was included to show the visual of what the List Panel looks like with the Move all buttons. I'll remove that reference. The pattern itself should have sufficient details on the controls to add to get that appearance.


upgrade to latest soroban-client

Preview is available here:http://laboratory-pr707.previews.kube001.services.stellar-ops.com/


Deepcopy returned maker in GetMaker.

The issue is explained in the commit message but the long and short of it is that when copy() was used instead of deepcopy() the filename would be appended to the args list again each time MakeJob() was called.
This becomes an issue if the executable takes a set number of arguments or if passing the filename more than once has undesirable consequences.

Good catch, thanks!

No problem, thanks for the amazing plugin :)


Feature request: Implementation of the adventure components

Just like the title says, the implementation of the adventure-api would be great!

Where would you want me to implement these kind of components?
Regular Minecraft usernames does not have a Component format. It should require to hide the NPC name and use a Display entity to have possible a multi-line hologram on top of the NPC. Should be available for a future release :)


Sanitize speech text for xml.

Need to escape xml special characters in speech text when creating ssml.

472fa1c4a2fa8aadbed2e0118bfaffa7b1c4d5fe


no manifest file found

The following error occurs when I add this plugin to the cordova application.
> Task :CordovaLib:preBuild UP-TO-DATE
> Task :CordovaLib:preReleaseBuild UP-TO-DATE
> Task :CordovaLib:checkReleaseManifest UP-TO-DATE
> Task :CordovaLib:processReleaseManifest UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :CordovaLib:compileReleaseAidl NO-SOURCE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :CordovaLib:packageReleaseRenderscript NO-SOURCE
> Task :app:compileReleaseRenderscript UP-TO-DATE
> Task :app:checkReleaseManifest UP-TO-DATE
> Task :app:generateReleaseBuildConfig UP-TO-DATE
> Task :app:prepareLintJar UP-TO-DATE
> Task :app:generateReleaseSources UP-TO-DATE
> Task :CordovaLib:compileReleaseRenderscript UP-TO-DATE
> Task :CordovaLib:generateReleaseBuildConfig UP-TO-DATE
> Task :CordovaLib:generateReleaseResValues UP-TO-DATE
> Task :CordovaLib:generateReleaseResources UP-TO-DATE
> Task :CordovaLib:packageReleaseResources UP-TO-DATE
> Task :CordovaLib:generateReleaseRFile UP-TO-DATE
> Task :CordovaLib:prepareLintJar UP-TO-DATE
> Task :CordovaLib:generateReleaseSources UP-TO-DATE
> Task :CordovaLib:javaPreCompileRelease UP-TO-DATE
> Task :CordovaLib:compileReleaseJavaWithJavac UP-TO-DATE
> Task :CordovaLib:processReleaseJavaRes NO-SOURCE
> Task :CordovaLib:transformClassesAndResourcesWithPrepareIntermediateJarsForRelease UP-TO-DATE
> Task :app:javaPreCompileRelease UP-TO-DATE
> Task :app:mainApkListPersistenceRelease UP-TO-DATE
> Task :app:generateReleaseResValues UP-TO-DATE
> Task :app:generateReleaseResources UP-TO-DATE
> Task :app:processReleaseAGCPlugin UP-TO-DATE
> Task :app:mergeReleaseResources UP-TO-DATE
> Task :app:createReleaseCompatibleScreenManifests UP-TO-DATE
> Task :app:processReleaseManifest FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processReleaseManifest'.
> ERROR: no manifest file found

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 20s
23 actionable tasks: 1 executed, 22 up-to-date
/home/../platforms/android/gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processReleaseManifest'.
> ERROR: no manifest file found

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 20s```

Actually I don,t see the error now. I created new project and di all the steps.

Hello @AbhishekTaparia ;
How about trying to using with NPM?
npm i @hmscore/cordova-plugin-hms-push

If your issue won`t be solved with that, can try to remove the plugin and add it again?

Hello @AbhishekTaparia ;
This issue is already located and we`ll publish a new version of Cordova Push at the end of October, it will be fixed at that version 👍

How should we use the plugin meanwhile you guys release the new version?

@aktug any update on the date?

@sagrawal31  end of October 👍


Wrong INTENT in Fortran API breaks compilation with GCC9

In the generated Fortran API the second argument of sirius_option_get_name_and_type() is falsely declared with INTENT(out). As a result the compilation fails with GCC9:

This was reported in the CP2K forum.
The CP2K-CI does not yet test GCC9 as it is still using Ubuntu 18.04.

fixed in the latest 'develop' branch; will appear in v6.4.3 tag

This should be fixed now.

Thank you very much for your support.

This is indeed fixed. See https://github.com/cp2k/cp2k/pull/707.


appservice connection string update not possible

Description
Using such command :
az appservice web config connection-string update -g existingresourcegroup -n existingwebapp --type MySQL --connections conn1=abc123
results in :

Environment summary
Install Method: How did you install the CLI? (e.g. pip, interactive script, apt-get, Docker, MSI, nightly)
pip
Following  Windows command-line section on  https://docs.microsoft.com/en-us/cli/azure/install-azure-cli
CLI Version: What version of the CLI and modules are installed? (Use az --version)
Answer here:

OS Version: What OS and version are you using?
Windows 8.1Enterprise
Shell Type: What shell are you using? (e.g. bash, cmd.exe, Bash on Windows)
windows command line

The answear to this  is that az appservice is deprectaing and az webapp should be used instead.


Set assignment folder name as assignment name

To avoid possible mismatches between assignment name provided in the assignment.yaml file, and the actual assignment folder name (must be identical, but no way to enforce it), name the assignment by its folder.
This will make the Name field in the yml files unnecessary.

Coverage increased (+0.02%) to 34.821% when pulling 457953c1d8ae7bffd71feaf8e221a4b1b48faa80 on lab_name_from_assignment_folder into cea3e8b98206e3f4c635044f11add2aaf9637876 on master.


Does final paragraph need?

I think that it seems that final paragraph is corrupt, and there are duplicate portions too.

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

ID: 8cc38f55-a142-6d66-fc68-1bb6e6e9ed56
Version Independent ID: 0665d6f2-4150-1977-4fd6-91c50c226ed9
Content: OpenType Font Variations Common Table Formats - Typography
Content Source: typographydocs/opentype/spec/otvarcommonformats.md
Product: typography
GitHub Login: @PeterCon
Microsoft Alias: PeterCon

Closing as Fixed.


SwaggerUI project npm resolution

Current SwaggerUI project expects npm to be available on the PATH. This change will allow the build to pick up npm from VS Node.js workload install directory. This allows people to install npm through the VS Installer. It will also write a better error message in the event that npm could not be found.

This change breaks CI (see above). I'm all for flexibility here but it shouldn't be coupled to the VS install either.


Version Incompatibility issue

Hi @feichtenhofer ,
I think there is some issue with matconvnet version used in this code.
When I am using the matconvnet uploaded to this repo, I get the error about "No public property dilate exists for class dagnn.Conv".
I tried using the latest version of matconvnet, but I get this error: "The class dagnn.DagNN has no Constant property or Static method named 'setLrWd'. "
So, apparretnly, none of these versions work. I was wondering if you happen to see this issue? Could you please help me with this?
Thank you,
Best.

I ran into this error when trying to run cnn_ucf101_spatial.m, and I think it occurs because the downloaded net from the matconvnet website was created using a more recent version of matconvnet. I resolved this by switching my matconvnet library to the most up-to-date one from github and then copying over Conv3D.m and other files specifically created for the two-stream network from feichtenhofer's version of matconvnet.

Hi @jaisanliang,
Can you explain the steps more clearly and step by step.
Thank you,
Best.

I solved the problem. Using @jaisanliang steps.

First I installed the newest matconvnet using the directives of the link http://www.vlfeat.org/matconvnet/install/
Then I copied the all files from https://github.com/feichtenhofer/twostreamfusion/tree/master/matconvnet/matlab/%2Bdagnn
into where I download and compiled the matconvnet library ./matconvnet/matlab/+dagnn.
Best.

I have another problem about the two-stream CNN,when I compiled MexConv3D, there is  an  error'CL.EXE not found in PATH. Trying to guess out of mex setup. 'I don't know why

Try
https://stackoverflow.com/questions/40226354/matconvnet-error-cl-exe-not-found

@blgnksy @jaisanliang
Sorry, do you mean that copy the +dagnn from feichtenhofer's github into the MatConvNet's installation's +dagnn folder? There are some files with same names. Should i replace them or skip? I have try your method but there still are error :
No public property dilate exists for class dagnn.Conv.
Error in dagnn.Layer/load (line 191)
obj.(f) = s.(f) ;
What can I do next? Thank you very much.

Now, my Matlab's version is 2015b; VS 2013 professional; cuda 7.5; windows 2016 sever; cudnn v5.0; MatConvNet beta24
Thanks.

hi, @blgnksy  @jaisanliang
Can You please to explain the step again?
I downloaded and installed the latest one of matconvnet from official website and copy the file from dagnn folder of twostreamfusion but still the same error
"The class dagnn.DagNN has no Constant property or Static method named 'setLrWd'. "
Thanks

@s1lent92  Unfortunately I exactly did the same procedure with you.
Best.

@77QIQI First install the newest MatConvNet then copy all files in +dagnn folder which are provided by @feichtenhofer .
Best.

This worked for me :

Backup the matconvnet/matlab/+dagnn folder.
Install the latest matconvnet replacing the older one.
From backed up +dagnn folder, copy only those files to newer, which are not in newer +dagnn folder (there will be two files mostly : Conv3D.m and Pooling3D.m).
From backed up +dagnn/@DagNN,  copy only those files to newer, which are not in newer +dagnn/@DagNN folder (e.g. setLrWd.m).

Thanks a lot. I solved this problem:

download the newest version of matconvnet
copy +dagnn folder's files (choose the older and new versions whose size is bigger.)
run the .m and change the +dagnn files to the old version in error lines.

@77QIQI I changed the latest version of matconvnet,but when I run compile.m,it got:
operands to the || amnd && must be convertible to logical scarlar values
error in vl_compilenn(line419)
if opts.enableGpu && opts.enableCudnn
error in compile(line 15)
vl_compilenn('enableGpu',true,...)

@77QIQI I changed the latest version of matconvnet,but when I run compile.m,it got:
Error using mex
No supported compiler or SDK was found. For options, visit  http://www.mathworks.com/support/compilers/R2015b/glnxa64.html.
Error in mexcuda (line 157)
[varargout{1:nargout}] = mex(mexArguments{:});
Error in vl_compilenn>mexcuda_compile (line 603)
mexcuda(args{:}) ;
Error in vl_compilenn (line 489)
mexcuda_compile(opts, srcs{i}, objfile, flags) ;
Error in compile (line 15)
vl_compilenn('enableGpu', true, ...
but when I use the old version,it succeeded...

@77QIQI @ blgnksy @jaisanliang
Hi,I changed to latest version, Now, my Matlab's version is 2017a; ubuntu14.04; cuda 8.0; cudnn v5.1; MatConvNet beta25,but i still got the problem:
No public property dilate exists for class dagnn.Conv.
Error in dagnn.Layer/load (line 191)
obj.(f) = s.(f) ;

Thanks for the discussion above I solved the problem on my server by doing like this:

download the latest version of matconvnet
just copy all the files under "matlab/+dagnn/@DagNN" to the same folder of the latest edition to replicate the files with the same name.
copy all the files under "matlab/+dagnn/" (do not incluse @DagNN folder) to the same folder of the latest edition to replicate the files with the same name.

I have found the way to solve this problem:
Just change the 'matconvnet' to this version:https://github.com/feichtenhofer/matconvnet/tree/754322152dc65c0183310a9db4ac9e0e4c6bf8c5


Add len check in readByteSliceFromBuff

Codecov Report

Merging #279 (d757831) into master (309713f) will decrease coverage by 0.55%.
The diff coverage is 87.50%.

@@            Coverage Diff             @@
##           master     #279      +/-   ##
==========================================
- Coverage   41.35%   40.79%   -0.56%
==========================================
  Files          21       21
  Lines        8977     8980       +3
==========================================
- Hits         3712     3663      -49
- Misses       4900     4954      +54
+ Partials      365      363       -2

Impacted Files
Coverage Δ

KubeArmor/monitor/syscallParser.go
82.68% <87.50%> (-1.58%)
:arrow_down:

KubeArmor/monitor/systemMonitor.go
55.42% <0.00%> (-7.18%)
:arrow_down:

Continue to review full report at Codecov.

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

@oneiro-naut if the length check is failed, what would be the expected output?
For example, dropping the current event? or building a log structure without certain strings?

@oneiro-naut if the length check is failed, what would be the expected output?
For example, dropping the current event? or building a log structure without certain strings?

@nam-jaehyun Currently we completely drop the buffer whenever we get some error here.
https://github.com/kubearmor/KubeArmor/blob/309713f0e8a34d50b93b354bfe5bac9922a6d75b/KubeArmor/monitor/systemMonitor.go#L447
We just skip it. I also thought of finding a way of preserving some partially overwritten buffer but it seems that it's not possible.


Generate LEF files

Hi, I'm trying to generate the gds and lef files for use in openlane projects.
I can generate the gds files correctly, but I have no idea how to make the lef files.
Could you tell me how can I do it please?

isn't that handled by the make file? https://github.com/mattvenn/logo-to-gds2/blob/5ba3a308867bd7d1f513097cc8145da9a86b1083/Makefile#L18

If I use this command, I get the following.

is LOGO.mag present? Magic is complaining it can't find it. If you've changed the names of the GDS then you'll probably need to change the tcl file as well: https://github.com/mattvenn/logo-to-gds2/blob/5ba3a308867bd7d1f513097cc8145da9a86b1083/save_lef.tcl

How can I know if LOGO.mag is being created correctly?
I'm trying to use the example file with the make logo_svg.lef command and it doesn't work either?

I just tested it locally with MPW8 versions of PDK and Magic.
I had different errors, which I fixed with a change to the Makefile.


Fix HTML5 one click deploy active when misconfigured bug issue #35592

closes #35592

Why was it closed?

I was just doing some clean up for my Godot repo. Thought this branch is not needed anymore. I can restore if needed.

Well the bug is not fixed yet. There are three PRs including this one, I haven't reviewed in depth yet but it looks to me like this one might be slightly cleaner (running the logic only when presets change and not each frame).


[wip] Add a prow_config.yaml file to configure our prow jobs.

See kubeflow/testing#12

Our prow jobs will trigger a script that will process prow_config.yaml
and figure out which workflows to run.

This will allow us to easily run multiple workflows as part of our E2E tests.

Fix one source of flakiness in TFJob test

If we get the status right after creating the TFJob the status might not be set yet
This was causing wait_for_tfjob to exit with KeyError exception which caused the test
to fail with a very cryptic error message
We fix this by explicitly allowing for status not being set yet.

This change is

/test all

/test all

/test all

/test all

/test all

/test all

The test failures are due to kubeflow/testing#30

@gaocegege @lluunn This is ready for review. The tests are passing; the failure is due to kubeflow/testing#30.

/test all

/test all

/test al

/test all

Woo Hoo
presubmit is passing again.


Cannot start debugger server

In VS Code "Output" tab, when I select Vue Language Server, I see:
[0425/164617:ERROR:tcp_listen_socket.cc(76)] Could not bind socket to <IP_ADDRESS>:6005
[0425/164617:ERROR:node_debugger.cc(86)] Cannot start debugger server
/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:23318
                var symbol = container.locals.get(node.text);
                                             ^

TypeError: Cannot read property 'get' of undefined
    at isNameOfExportsOrModuleExportsAliasDeclaration (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:23318:46)
    at bindStaticPropertyAssignment (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:23396:17)
    at bindWorker (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:23079:29)
    at bind (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:22974:13)
    at visitNode (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:14662:20)
    at Object.forEachChild (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:14826:24)
    at bindEachChild (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:21771:16)
    at bindBinaryExpressionFlow (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:22416:17)
    at bindChildrenWorker (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:21831:21)
    at bindChildren (/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:21746:17)
[Info  - 4:47:00 pm] Connection to server got closed. Server will restart.
/Users/jpillora/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:23318
                var symbol = container.locals.get(node.text);
                                             ^
[Error - 4:49:32 pm] Connection to server got closed. Server will not be restarted.

I have the same problem.
My environment

vscode version: 1.11.2
vetur version: 0.6.2
OS: windows 10

My repro step

I create two folder, then create a empty vue file separately in folder.
I drag one folder into vscode, then i create new vscode window(File > New Window).
I drag the other folder into new vscode window, then open the vue file, the Cannot start debugger server will display.

Gif repro step

Same problem, but for file editing in general (#156) and on 0.6.2


Port to Django 1.10

With Django 1.10 middleware tests raise this exception:
E       TypeError: <QuerySet []> is not JSON serializable
I'm not sure yet how to fix it.

https://github.com/kitconcept/robotframework-djangolibrary/pull/32

I just found the reason for this problem:
"Private API django.forms.models.model_to_dict() returns a queryset rather than a list of primary keys for ManyToManyFields."
https://django-doc-test-kor.readthedocs.io/en/latest/releases/1.10.html

I fixed the issue in #32.

Fix merged. Closing the issue.


Initial Cartopy work

Created first Cartopy notebook and revised _config.yml and _toc.yml to reflect its addition.

@ktyle, to fix the CI failure, add the following to the environment.yml file:
- sqlalchemy<1.4

@andersy005  Thanks ... yes, I ran into this problem when setting notebook execution to "cache" in my local environment, as mine is now using sqlalchemy 1.4.2. In its setup.py, jupyter-cache specifies sqlalchemy~=1.3.12. Based on my reading of version specifications, specifically compatible-release, I thought that the only problem would be if the major version (1) changed, but that seems to not be the case.

Awesome, it's up now and working! It will be great to discuss this content with the team at the EWG meeting this week.

@dopplershift @andersy005 any tips on how to deal with the linting failures?

@dopplershift @andersy005 any tips on how to deal with the linting failures?

Are you using the pre-commit hooks, as outlined on the README page? I'm not sure if these work on notebooks files.

So the pre_commit linting step is failing, with a not-so-pretty error in the "prettier" pre_commit stage. I suspect it's the same error that occurred on my local development machine:
`/nfs/kt11/ktyle/.cache/pre-commit/repoxzxoqnu3/node_env-system/lib/node_modules/prettier/bin-prettier.js:783
return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
^
SyntaxError: Unexpected token *
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:549:28)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
at Module.runMain (module.js:611:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:160:9)`
but upgrading NodeJS to 14.16.0 seemed to resolve it. What version of NodeJS is Github using? Or is there a way we can change the behavior of pre_commit so as to control what "prettier" does (looks like there is an .eslintignore file that one can specify files to ignore, a la .gitignore)?

but upgrading NodeJS to 14.16.0 seemed to resolve it. What version of NodeJS is Github using?

I think the default nodeJS version in GitHub action is v12.

Or is there a way we can change the behavior of pre_commit so as to control what "prettier" does (looks like there is an .eslintignore file that one can specify files to ignore, a la .gitignore)?

You can add a .prettierignore file in the root directory, and then you can add file patterns or file paths you want prettier to ignore.

Trying something out here. When I tried to commit locally, the pre-commit hooks were complaining like this:
nbqa-isort...............................................................Failed
- hook id: nbqa-isort
- exit code: 1

Mutation detected, will not reformat!

After some digging, I added the line
isort = 1

to the [tool.nbqa.mutate] section of pyproject.toml. As I understand it, this gives the nbqatool the ability to modify the notebook when it encounters issues flagged byisort` (which looks at your Python import statements).
Once this was in place, trying to commit resulted in changes to the import statements at the top of the notebook. With these changes staged, the commit then went smoothly on my local machine.

... but that does not seem to have made the GitHub listing problems go away.

Wow, was prettier actually choking on the commented out lines in _config.yml?

@brian-rose Looks that way! It wanted the # lines lined up to whatever stanza they were used in.
Now I think I finally have the hang of all the workflow steps involved in pre-commit.

For everyone's reference, I left an alternate version of this Cartopy content over in #26. Same content, different formatting in the source notebook. This might help folks see better how JupyterBook will render notebook content.

This is awesome @ktyle . Nicely done! A few comments. Some of these are specific to this document, but others are more general and we might want to discuss as a group (or get more input here).

Should Matplotlib be listed as a prerequisite? On a broader note, maybe all of our internal content should have a section on suggested prerequisites.
Another reference that I would suggest for the References section is NCAR's GeoCAT example plotting gallery , particularly the section on Map Projections.
Should all of our book "chapters" contain a link to the conda environment instructions needed to ensure that readers can run the examples in their own environment?
Our getting started draft documentation #20 has made a  point of saying that you can use Python from a terminal, from a jupyter notebook, or an IDE. The examples in this chapter won't generate plots if run from a terminal because of the differences in how terminal and notebook interpreters behave. Perhaps we need to warn the reader of that? If not here, maybe in the Matplotlib primer.
It would be nice of the comments (and code) in the cells were short enough so that horizontal scroll bars weren't necessarily. Maybe it is just be, but I find these pretty annoying.
In section 3 it says "this time we'll define an object to store our projection definition". Could you elaborate on why someone might want to "store our definition"?
I think it is a little unclear on when you explicitly need to call 'fig' and when you do not. Could you clarify?
In cell 10 you are defining cLat and cLon, but you never use them. Should these be removed?

@clyne I think I've addressed most of your comments above (not 3 or 4 yet, but I think these can be addressed once we have some Matplotlib content) with my latest push.

I think I fixed a merge conflict on the environment.yaml file. Hopefully I didn't break anything.

Per our discussion at last week's EWG, we should merge this now unless there's other feedback.
I think it would be great to merge just for stylistic comparison against all the new Unidata content discussed in https://github.com/ProjectPythia/pythia-foundations/discussions/42

Thanks @brian-rose , yes, I think we should merge now!

Ok, merging! Thanks @ktyle


Fix links in rst Files

Fix links in runbook.rst file
Change hard coded index to index creation in transformers.rst

Please use git rebase -i to make commits meaningful.

Please use git rebase -i to make commits meaningful.

Fixed. I was initially planning to squash and merge with meaningful commit


Add Main Heading to About Us Page

Objectives/Description:
Integrate a visually appealing main heading on the About Us page with the text "Hello, Welcome to Razor Edge." The heading should harmonize with the website theme, adhere to the salon website archetype, and be aesthetically pleasing.
Designing Tasks:

Create a Main Heading Component:
Develop a reusable component for the main heading.
Ensure the component is customizable for different pages.
Style the Main Heading:
Apply styles to the main heading to match the website theme.
Consider font, color, and size adjustments for visual harmony.
Integrate in About Us Page:
Add the main heading component to the About Us page.
Verify that the heading is appropriately positioned within the layout.

Acceptance Criteria:
The main heading should display the text "Hello, Welcome to Razor Edge."
The heading should be visually appealing and align with the salon website archetype.
The styling adjustments should maintain consistency with the overall website theme.
Additional Information:
The current styling guidelines for the website are located in the project's documentation.
Ensure that the main heading integrates seamlessly with other page elements.
Notes:
Test the main heading's responsiveness on various devices and screen sizes.
Seek feedback from team members to ensure the visual appeal aligns with the overall project vision.

Completed the design specific requirements.


Add 2FA Authenticator App (2FAS)

I'm OK to merge, but please change the description to a more colorblind one, like:
A user authentication method that provides an additional layer of security for online accounts.
I can't add "the internet's favorite" because we can't know which one is it, as it is personal preference.

Referen

Sorry
my English is not very good
Change yourself properly.

I'm OK to merge, but please change the description to a more colorblind one, like:
A user authentication method that provides an additional layer of security for online accounts.
I can't add "the internet's favorite" because we can't know which one is it, as it is personal preference.

Sorry, my English is not very good.
Change yourself properly.

Change yourself properly.

Wow.
(Sorry to interrupt.)


MINIFI-114: Set default stateFile for TailFile

reviewing

@benqiu2016
This looks to remedy the issue as presented and verified tailing functionality with the config provided in the ticket.  I have rebased against master and will merge in.  Thanks for fixing!


Rescheduling, Adherence, and AddParticipant Tools

For a full description of the tool's requirements, see https://sagebionetworks.jira.com/browse/DIAN-186
This re-scheduling tool will be used by Ann to edit a user's study burst schedule.  It is not going to be called from the DataMigration class and will not effect data migration.
@brucehoff you do not need to spend too much time on this review, as this will only be used to change schedules for participants in HASD and EXR, not to change schedules in the GCP DIAN observational trials or TU app.
However, I did try to include the same unit testing coverage standards that exist in the rest of the codebase.

Closing, but keeping repo branch 'Tools' around.


test(core): setup @testing-library/jest-dom and add component test for Box

Description
This PR will set up @testing-library/jest-dom to be able to use toBeInTheDocument(), etc. in component testing.
Motivation
I was going to try this issue https://github.com/kuma-ui/kuma-ui/issues/256, but first I wanted to be able to easily assert that existing usage was not broken.
How was it tested
As a sample test, I have added the test code for the Box component.
If this plan is acceptable, I will expand the test code for other components 👍🏻

@kotarella1110 Oh, I added it! https://github.com/kuma-ui/kuma-ui/pull/278/commits/664ad097a4f4d2fe99cf733c136db3d31e4a98fa

@MH4GF
Thanks for the PR! Could you modify the tests in spacer.test.tsx to use toHaveStyle instead of calculating the style from getComputedStyle, especially now that we have an extended matcher from testing-library/jest-dom?

@poteboy Of course! But since the scope of this PR is larger, can I use a different PR?
In addition to modifying spacer.test.tsx, I also wanted to move the cleanup() to vitest.setup.ts:
https://github.com/kuma-ui/kuma-ui/blob/9a565d75bf22b591ed50c716b6adfdc83f7405a9/packages/core/src/components/Spacer/spacer.test.tsx#L8-L10


Create sectors

ATP 3-21.8
INFANTRY PLATOON AND SQUAD
SECTION V – RANGE CARD AND SECTOR SKETCHES
Pg B-25(485)  -  B-31(491)
Work with @mgoble to build out the requirements

CT-Awaiting response because this needs planned, prototyped and demoed for @CTLocalGovTeam

@lfunkhouser  have we brought this one over to devtopia yet? i feel that we should if we have not


K8up operator crashes in panic because of missing API implementation

Description
As for Backups I tried to set the podSecurityContext within the backup definition of a Schedule:
https://k8up.io/k8up/2.1/references/api-reference.html#k8s-api-github-com-k8up-io-k8up-api-v1-runnablespec
As described in the API documentation this should be valid, as the Schedule specification takes the same backup specification as the Backup itself.
However setting the podSecurityContext leads to a panic crash of the K8up operator pod (see Logs section).
Additional Context
No response
Logs
logs from the k8up operator pod:

 panic: reflect: call of reflect.Value.Type on zero Value                                                                                │
                                                                                │
 goroutine 470 [running]:                                                                                │
 reflect.Value.Type({0x0, 0x0, 0x16e1060})                                                                                │
     /opt/hostedtoolcache/go/1.17.7/x64/src/reflect/value.go:2262 +0x12e                                                                                │
 github.com/imdario/mergo.merge({0x16e1060, 0xc0004b4690}, {0x16e1060, 0x0}, {0x0, 0x0, 0x1782a6c})                                                                  │
     /home/runner/go/pkg/mod/github.com/imdario/mergo@v0.3.12/merge.go:363 +0x1c9                                                                                │
 github.com/imdario/mergo.Merge(...)                                                                                │
     /home/runner/go/pkg/mod/github.com/imdario/mergo@v0.3.12/merge.go:296                                                                                │
 github.com/k8up-io/k8up/operator/handler.(*ScheduleHandler).mergeSecurityContextWithDefaults(0xc0009879d8, 0xc00077ac00)                                            │
     /home/runner/work/k8up/k8up/operator/handler/schedule.go:139 +0xce                                                                                │
 github.com/k8up-io/k8up/operator/handler.(*ScheduleHandler).mergeWithDefaults(0xc00077ab00, 0xc00077ab00)                                                           │
     /home/runner/work/k8up/k8up/operator/handler/schedule.go:108 +0x45                                                                                │
 github.com/k8up-io/k8up/operator/handler.(*ScheduleHandler).createJobList(0xc0009879d8)                                                                             │
     /home/runner/work/k8up/k8up/operator/handler/schedule.go:93 +0x465                                                                                │
 github.com/k8up-io/k8up/operator/handler.(*ScheduleHandler).Handle(0xc0009879d8)                                                                                │
     /home/runner/work/k8up/k8up/operator/handler/schedule.go:47 +0x47                                                                                │
 github.com/k8up-io/k8up/controllers.(*ScheduleReconciler).Reconcile(0xc0004ff080, {0x19b1970, 0xc0009b64e0}, {{{0xc0007fb110, 0x6}, {0xc000822780, 0x1d}}})         │
     /home/runner/work/k8up/k8up/controllers/schedule_controller.go:60 +0x5a5                                                                                │
 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0xc00049e420, {0x19b1970, 0xc0009b6450}, {{{0xc0007fb110, 0x16b4ea0}, {0xc000822780, │
     /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.1/pkg/internal/controller/controller.go:114 +0x26f                                                 │
 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc00049e420, {0x19b18c8, 0xc0003992c0}, {0x15fcbe0, 0xc0001a4880})           │
     /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.1/pkg/internal/controller/controller.go:311 +0x33e                                                 │
 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc00049e420, {0x19b18c8, 0xc0003992c0})                                   │
     /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.1/pkg/internal/controller/controller.go:266 +0x205                                                 │
 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()                                                                                │
     /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.1/pkg/internal/controller/controller.go:227 +0x85                                                  │
 created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2                                                                         │
     /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.1/pkg/internal/controller/controller.go:223 +0x357

Expected Behavior
K8up should work with the podSecurityContext configuration within the backup definition.
At least the operator should not crash in panic on error prone definitions. You are also running into a deadlock situation because Kubernetes won't alter/delete the Schedule without the operator running and the operator won't come up with an altered schedule spec.
However - what did work is to specify the podSecurityContext within the ScheduleSpec directly.
Steps To Reproduce
apiVersion: k8up.io/v1
kind: Schedule
metadata:
  labels:
    de.xarif.cdk8s: wikijs
  name: wikijs-daily-backups-c8112f87
  namespace: wikijs
spec:
  archive:
    restoreMethod:
      s3:
        accessKeyIDSecretRef:
          key: root-user
          name: k8up
        bucket: archive
        endpoint: http://minio.k8up.svc.cluster.local:9000
        secretAccessKeySecretRef:
          key: root-password
          name: k8up
    schedule: 0 0 1 * *
  backend:
    repoPasswordSecretRef:
      key: k8up-password
      name: k8up
    s3:
      accessKeyIDSecretRef:
        key: root-user
        name: k8up
      bucket: backups
      endpoint: http://minio.k8up.svc.cluster.local:9000
      secretAccessKeySecretRef:
        key: root-password
        name: k8up
  backup:
    failedJobsHistoryLimit: 2
    schedule: 0 4 * * *
    successfulJobsHistoryLimit: 1
    podSecurityContext:
      runAsUser: 0
  check:
    schedule: 0 1 * * 1
  prune:
    retention:
      keepLast: 5
      keepMonthly: 5
      keepWeekly: 3
    schedule: 0 1 * * 0

Version of K8up
ghcr.io/k8up-io/k8up:v2.1.2
Version of Kubernetes
v1.22.2+k3s2
Distribution of Kubernetes
k3s

Hi @ThomasSteinbach
I was able to reproduce this. As a workaround you can set the schedules podSecurityContext to an empty object:
apiVersion: k8up.io/v1
kind: Schedule
metadata:
  name: schedule-test
spec:
  podSecurityContext: {}

And then set it in the backup podSecurityContext separately. There's a merge, so the backup's settings will have precedence. That merge is what actually causes this crash, as it wants to merge with a nil value.
But yeah, it should really not crash if the schedule podSecurityContext is nil. Note for whoever will fix this, here's the faulty line: https://github.com/k8up-io/k8up/blob/master/operator/handler/schedule.go#L139. We should also add a test case for this constellation.


NoGoods are counted multiple times if they are stored multiple times

It may happen that the same nogood is added to the NoGoodStore multiple times.
Examples:

In HanoiTowerTest#testSimple on the add_simple_completion branch, the nogood { +19 +34 +49 +64 +79 +94 +109 +124 +139 +235 } = {+(noMove(0, 1)), +(noMove(0, 2)), +(noMove(0, 3)), +(noMove(0, 4)), +(noMove(0, 5)), +(noMove(0, 6)), +(noMove(0, 7)), +(noMove(0, 8)), +(noMove(0, 9)), +(diskMoved(0))} is added twice. The first time it is created by DefaultSolver#justifyMbtAndBacktrack, the second time from DefaultSolver#noGoodFromJustificationReasons.
In DefaultSolver#addAndBackjumpIfNecessary, there is a loop that (potentially) adds the same nogood again and again.

Since NoGoodStoreAlphaRoaming#add does not check for uniqueness of the nogood's ID (related issue: #87), the same nogood is then counted multiple times by NoGoodCounter.
One solution to this issue could be to invoke NoGoodCounter#add from NogoodRegistry#register(NoGood) instead of from NoGoodStoreAlphaRoaming#add.
Low prio because it only affects statistics.

This is interesting and indicates some behaviour I would not have expected. It is correct that (due to #87 ) the ID of a nogood is ignored. However, Alpha should not produce the same nogood twice. What happens here? Is the same nogood derived twice or is there an error in the way DefaultSolver#addAndBackjumpIfNecessary is adding it and it simply ends up being added twice?