[QUESTION] Renaming Files

OS: What operating system are you running Manga Tagger on?

linux

Manga Tagger Version: What version of Manga Tagger are you running?

latest

Description of the issue: Give a a clear and concise description of what the issue is.
I don’t quit understand the environmental options. If I turn MANGA_TAGGER_RENAME_FILE to false, I would assume he only scraps the info’s for the series and doesn’t change its English name to its original....
But it does, so am I mistaken?
Is it possible to make him do that?
Manga Series: What manga series (singular or plural) were being tagged when the issue was encountered?

all

This one is part of the dry run option. If you enable the dry run mode you can disable or enable each of the following three options to bypass the dry run mode:
  - MANGA_TAGGER_DB_INSERT=false # if true, allow metadata insertion in db
  - MANGA_TAGGER_RENAME_FILE=false # if true, allow MT to rename the file ( from MANGA -.- CHAPTER.cbz to MANGA CHAPTER.cbz)
  - MANGA_TAGGER_WRITE_COMICINFO=false # if true allow, MT to write the comicinfo.xml into the cbz archive.

Each of theses 3 options are enabled by default unless you use dry run mode. So if you disabled dry run mode you shouldn't have to worry about theses options. You can ignore them.
Else you can try to enable dry run and disable or enable them.
As to why the output file isn't named in english, it's not possible yet. MT take the romaji name that it gets when it asks Anilist for metadata.

Okay, Thank you.
Sadly it doesn't work using the dry mode.
Is there no way to implement a cariable which will en-/disable the rename funktion?

I'm super fine with Romaji, in fact I prefer it. What I don't like about this forced rename is that I lose the scanlation group tag in the square brackets.
I have FMD2 generate cbz's with these settings:

Which generates a file like this:
Himouto! Umaru-chan -.- Vol. 02 Ch. 031.5 - Umaru and Hood [Norway Scan, Dragon and Griffin].cbz
In my humble opinion that's the best filename this could possibly have. I see the Romaji name, the volume (if applicable/available), chapter - in this order it even sorts perfectly! Then comes the chapter title and the scanlation group.
Mind you this is just an example name. With Mangadex this naming works flawlessly so far.
Romaji name + chapter as a mere number without even the Ch. part and all the rest is quite a bit too little in my liking.
I'd appreciate having the no-rename option available at all times A LOT.
Please reconsider! Otherwise, so far from my testing this is an excellent app and together with your dockerized FMD2 variant I feel like I can finally call my manga software stack nearing a well-rounded state! <3

Another case where this would be VERY crucial to have is for fan colorations or "lewd edits" that uncensor some scenes.
Upon inspecting the code I noticed you would append a suffix to make sure that we don't overwrite the old file, which is good, but then it's hard to tell from that suffix which is which. Usually the source filename is pretty self-explanatory and parsing it and automating detection of coloration or uncensors might be very difficult to reliably pull off when that original filename already is very clear. IMHO FMD2's naming is pretty solid (so far).

The problem with DRY_RUN set to true and controlling the three other options manually is that when processing the CBZ, the manga name gets parsed correctly, but chapter recognition seems to be dependent on the rename having taken place?
Because without it I get this error:
2022-04-10 11:26:23,813 | Thread-1<PHONE_NUMBER>7272 | MangaTaggerLib.task_queue.SeriesHandler | INFO - Creation event for "/downloads/Himouto! Umaru-chan/Himouto! Umaru-chan -.- Vol. 01 Ch. 001 - Umaru and Onii-chan [Dragon and Griffin].cbz" will be added to the queue
2022-04-10 11:26:24,638 | MTT-3<PHONE_NUMBER>1336 | MangaTaggerLib.task_queue.QueueWorker | INFO - Pulling "file created" event from the queue for "/downloads/Himouto! Umaru-chan/Himouto! Umaru-chan -.- Vol. 01 Ch. 001 - Umaru and Onii-chan [Dragon and Griffin].cbz"
2022-04-10 11:26:25,640 | MTT-3<PHONE_NUMBER>1336 | MangaTaggerLib.MangaTaggerLib | INFO - Now processing "/downloads/Himouto! Umaru-chan/Himouto! Umaru-chan -.- Vol. 01 Ch. 001 - Umaru and Onii-chan [Dragon and Griffin].cbz"...
2022-04-10 11:26:25,641 | MTT-3<PHONE_NUMBER>1336 | MangaTaggerLib.MangaTaggerLib | INFO - Attempting to rename "Himouto! Umaru-chan -.- Vol. 01 Ch. 001 - Umaru and Onii-chan [Dragon and Griffin].cbz"...
2022-04-10 11:26:25,642 | MTT-3<PHONE_NUMBER>1336 | MangaTaggerLib.MangaTaggerLib | INFO - Filename was successfully parsed as ['Himouto! Umaru-chan', 'Vol. 01 Ch. 001 - Umaru and Onii-chan [Dragon and Griffin].cbz'].
2022-04-10 11:26:25,644 | MTT-3<PHONE_NUMBER>1336 | MangaTaggerLib.task_queue.QueueWorker | ERROR - Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
File "/app/Manga-Tagger/MangaTaggerLib/task_queue.py", line 188, in process
MangaTaggerLib.process_manga_chapter(path, uuid.uuid1())
File "/app/Manga-Tagger/MangaTaggerLib/MangaTaggerLib.py", line 68, in process_manga_chapter
metadata_tagger(file_path, manga_details[0], manga_details[1], manga_details[2], logging_info)
File "/app/Manga-Tagger/MangaTaggerLib/MangaTaggerLib.py", line 270, in metadata_tagger
exceptions = json.load(exceptions_json)
File "/usr/lib/python3.8/json/__init__.py", line 293, in load
return loads(fp.read(),
File "/usr/lib/python3.8/json/__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2022-04-10 11:26:25,645 | MTT-3<PHONE_NUMBER>1336 | MangaTaggerLib.task_queue.QueueWorker | WARNING - Manga Tagger is unfamiliar with this error. Please log an issue for investigation.

Okay I wiped my config folder and the db, that seemed to help I think? at least the file got parsed, but a) the source cbz didn't get moved and b) the target filename still is the same name as before.
Apparently this renaming toggle doesn't affect the resulting cbz? It's still %MANGA% %CHAPTERNUMBER(without volume or Ch. or anything)%.cbz
Bit of a letdown... would it have affected the jpgs inside the cbz? No point having a toggle for that if you ask me.
This is all very confusing if you ask me...

Hello, I'll try to take the time to get around those issues. Just to be clear, among thoses issues you also want an option so MT doesn't rename file anymore, am I understanding it correctly ?

Well, in my limited testing so far I'm narrowing down my solutions of applications to use to begin with that look most promising. I stumbled upon your Manga-Tagger because of two reasons:
a) manga tagging is a field left widely open to solutions to begin with sadly. There's metadata scraping solutions for many things, but manga are almost a forgotten area. So finding A solution was already pain enough. When I heard that Manga-Tagger (the OG you forked this from) is fully of dependencies I tried it out and lo and behold... I couldn't even get it to run.
b) You provide a containerized solution for FMD2, which I swear by. It's a wonderful program, very set-and-forget... You're doing everyone a major service here, let me tell you that. (also hats of to dynamically loading the latest release! Good foresight, because keeping up with releases manually is hopefully mostly unnecessary.) There's only few things I don't particularly like about FMD2. (mostly that if a manga has one chapter done by multiple groups it will download them all.)
So... My problems in my stack so far are:
The filename FMD2 outputs, at least with what I tested it with so far, is pretty much perfect. The chapter on Mangadex includes Volume, Chapter and the Chapter title as well as the scanlation group. (at least by what I checked so far, but I think that's how it's universally done since the Mangadex relaunch)
Kavita is my manga media manager and web UI. I use the Tachiyomi extension with it, because Tachiyomi is by far the best Android reader with active support and integrates into all sorts of things like sources, self-hosted media managers like Kavita, Komga, etc... and also it can scrobble your reads to AniList, MAL, Kitsu and your media manager like Komga and such. I think Kavita is supported as well. Didn't check on that one yet.
So so far the filename of FMD2 is pretty amazing, because it includes additional helpful info that otherwise is lost, so yeah an option to keep the filename and only move the file to the library location from the watch folder would be ideal. If you could set up the subfolders for the target as well, that'd be really awesome. E.g.:
/library/%MANGA%/%VOLUME%/original-filename.cbz
Another thing I noticed is that pulling of art is a bit of a hot topic. The general manga art often is for a specific volume or before there are tankobon it's a promotional graphic. However, whilst Kavita supports volumes, if you supply the cover art for the entire series per chapter cbz then all your chapter previews end up being the cover art. It would be cool if the cover art could be loaded specific to the volume and put into the %CHAPTER% directory.
As I pointed out before the best source for HQ volume cover art seems to be Mangadex.
I know that's quite a lot of backstory and context and wishes, but if you don't mind I could tell you more one to one in a Discord call, because getting that sweet sweet perfect Manga software stack seems ever so close.
PS: I also noticed that writing the release date into the ComicInfo has a bit of a catch. If it's the original first release date, then it should only be written into the first chapter's info, because succeeding chapters almost never release on the same day. But I'm not 100% on whether the source you pull from has the release date of the first volume as in tankobon, so it might apply to more than one chapter that way. (doubt it though and it'd still be just the first chapter to really have the earliest possible release date if released in some weekly magazine.)
Sorry for the wall of text. D:

Any update on this per chance? :)

I have this planned

Oh, I have to add that I mistyped, obviously the volume cover art should be in the volume subfolder, not in the chapter, repeated (which is a cbz anyhow and not a folder, so maybe you got my drift anyhow)
Hope that clears up any possible confusion.


build: wasip1 is broken on wasmer runtime

This is a tracking issue for issues surrounding the use of the new wasip1 GOOS target on the wasmer Wasm runtime. We currently do not have a wasmer runner, but manual testing against the wasmer runtime has already yielded some results, namely, it is known that it exhibits a problem similar to wasmtime when it comes to opening directories (see https://github.com/golang/go/issues/59583#issuecomment-1529157141).
This issue should not be considered done until we have a working wasmer runner and all tests are either passing or we have documented the failures which we cannot reasonably fix.
Currently known failing tests:

Package
Test name
Error
Test log
Fixed

archive/tar
TestReader
open testdata/gnu.tar: Bad file number
Full log

The runner has been added and once the builders have been redeployed I will run a test run to see what errors we hit.

The first runner test result against the wasmer runtime is in, and it seems that it's refusing to do any file opens, instead erroring with Bad file number on practically all attempts. More investigation will be necessary. I have updated the table at the top.

I'm sure you are aware of this, but if you're looking to just check the current status of the runners, the build dashboard does contain links to the most recent builds per commit, and should be a more convenient way to look up the current failures than CLs like CL 495077 that need the trybots run.

Haha, I didn't actually know that it'd run our broken runners against tip, thanks! I'm still using the CLs to add extra debugging in some cases (like CL 491855) so I'll probably keep them around for myself anyway :).

For what it's worth, I have the same issue, but there is no error when running the same code using wasmtime. The issue seems specific to wasmer.

@syrusakbary maybe the wasmer team could help sort out the issue?

Hey @achille-roussel and @johanbrandhorst,
I will be happy to take a look at this if still unresolved and no one is working on this at the moment.


Typo in function name: convert_with_timstamps

There appears to be a typo in the function name convert_with_timstamps
https://github.com/elevenlabs/elevenlabs-python/blob/7af17bce7abcfa5e761ab02813ed592ab581da1c/src/elevenlabs/text_to_speech/client.py#L191
It's not breaking anything, but it might confuse some folks using the SDK 😅

@keaganaut great call -- we will fix this (and make sure it stays backwards compatible)

@keaganaut we shipped the change as a break b/c it affected class names as well. This is available on the latest 1.7.x


Set major and course titles as pageTitle.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
391

Relevant Lines:
547

💛  - Coveralls


Fixed version bug

The current implementation is broken - the _version endpoint returns the version of the package pkginfo (0.4.1) instead of that of this package (0.4.9).
(Calling const pkginfo = require('pkginfo')(module); exposes the info on module.exports, not on the variable pkginfo.)

Thank you.


Diagram out of date with support

Article shows that RHEL ISOs are no longer supported but RHEL ISOs are shown in the diagram

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

ID: bcfbb0ad-6906-925d-7490-7f1d61b67f57
Version Independent ID: 7125bcbd-18a7-4c34-1799-f15e4a7a3aba
Content: Learn more about Azure Image Builder (preview) - Azure Virtual Machines
Content Source: articles/virtual-machines/windows/image-builder-overview.md
Service: virtual-machines
Sub-service: imaging
GitHub Login: @cynthn
Microsoft Alias: cynthn

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@montereyharris Good catch! Thank you for bringing that to my attention. I've asked the engineering team to look for the original artwork so we can make the change to it.

I'm going to remove the graphic for now, until we can get an updated version. Thanks again for the feedback!
#please-close


Error when creating a dotted key with the path of a previously created table

Environment
toml++ version and/or commit hash:
toml++ v2.5.0 037bfdd21f794d7212616d5e6f4f8baab543c472
Compiler:
g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
C++ standard mode:
17
Target arch:
x86
Library configuration overrides:
Relevant compilation flags:
Describe the bug
Error when creating a dotted key with the path of a previously created table
Steps to reproduce (or a small repro code sample)
This is parsed without error:
[a.b.c]
  z = 9
[a]
  b.c.t = 9

Result:
terminate called after throwing an instance of 'toml::v2::ex::parse_error'
  what():  Error while parsing key-value pair: cannot redefine existing table as dotted key-value pair

Higher nesting level:
[a.b.c.d]
  z = 9
[a]
  b.c.d.k.t = 8

Result:
terminate called after throwing an instance of 'toml::v2::ex::parse_error'
  what():  Error while parsing key-value pair: cannot redefine existing table as dotted key-value pair

Additional information
For example with tomli (Python):
>>> tomli.loads(""" [a.b.c]
...   z = 9
...   [a]
...   b.c.t = 9""")
{'a': {'b': {'c': {'z': 9, 't': 9}}}}
>>> tomli.loads("""[a.b.c.d]
...   z = 9
...   [a]
...   b.c.d.k.t = 8""")
{'a': {'b': {'c': {'d': {'z': 9, 'k': {'t': 8}}}}}}

The first snippet is working as intended; you can't use dotted keys to add KVPs to a [table] after it has been explicitly named. I believe tomli is incorrect here.
The second snippet... I'm not sure. You're not just adding a simple KVP but sub-tables too. https://toml.io/en/v1.0.0#table is not clear enough here. I'll look into it.

Actually, you know what? I've just been re-reading various discussions on the topic and now I'm not sure about either point.

My interpretation is that

only inline tables (and arrays) are truly rendered immutable after defining them. Normal tables and AoT arrays are more or less mutable. Simple example that is valid:[fruit]

[fruit.apple]

If the table [fruit] was truly immutable after "defining" it, I would not be able to change it by adding a subtable.
Since there are loads of ways to mutate tables after they've been "defined", my interpretation of invalid "redefinition" is something that can potentially overwrite already assigned values:[a.b.c]
z = 9

[a]
b.c.t = 9
# b.c = 9     # INVALID: Direct reference to explicitly defined a.b.c
# b.c.z = 9   # INVALID: Direct reference to explicitly defined a.b.c.z

Quite conveniently my interpretation is in line with how Tomli parses :smile: I do think the spec could use an extra example or two here.

@hukkin

If the table [fruit] was truly immutable after "defining" it, I would not be able to change it by adding a subtable.

My understanding of this only applies to values, not sub-tables. Weird either way, and you're definitely right to suggest that the spec needs some extra examples to clarify.

My understanding of this only applies to values, not sub-tables.

Yeah agree with this idea. However, I think terminology may be simpler if the word "immutable" is reserved for the true immutability that applies to inline collections.
Should be noted that neither of the examples in the original post violate the looser concept of "value-immutability" or whatever we should call it.

Ok so I'm not really any closer to a decision here. I'm leaning towards the first snippet being illegal, and the second one being legal, but the spec is ambiguous enough that I'm not going to make any changes just yet. I've opened up an issue on the TOML repo for further discussion: https://github.com/toml-lang/toml/issues/846

Ok so the discussion over on the TOML repo seems to confirm pretty firmly that both of these snippets are in fact illegal after all, so I'm going to close this as 'not a bug'. Thanks for bringing it up, though! It highlighted a part of the TOML spec that needed some clarifying.

@marzer  Thank you for your time.


feat(fastify): add fastify badge

Information

Name
Category

Fastify
Framework

Description

Adding the fastify framework next to good ol express
Preview

Preview
Markdown Code

[![Fastify](https://img.shields.io/badge/-Fastify-000000?style=flat&logo=fastify&logoColor=white)](#)

thanks @dogpatch626!


iq_gnc package in cmake

There is a iq_gnc package in CMakelist.txt. where can i find this package?
Also can you tell me which algorithm is implemented in avoid.cpp

https://github.com/Intelligent-Quads/iq_gnc


Create pycache removal script

Overview
Old __pycache__ files can interfere with proper running of docker-compose -f local.yml build and may even cause the following error:
import file mismatch:
imported module 'app.src.tests.test_load_ct' has this __file__ attribute:
  /Volumes/Nahla/alcf/prediction/src/tests/test_load_ct.py
which is not the same as the test file we want to collect:
  /app/src/tests/test_load_ct.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules

There should be a convenient script that can be run to remove all __pycache__ files.
Expected Behavior
Running the script should remove all __pycache__ files.
Technical details

Relevant helper script

This feature should be implemented in compose/prediction/Dockerfile-dev

Acceptance criteria

[ ] running docker-compose -f local.yml build prediction should first remove previously existing __pycache__ files

NOTE: All PRs must follow the standard PR checklist.

@reubano i found some solutions on stack overflow (https://stackoverflow.com/questions/28991015/python3-project-remove-pycache-folders-and-pyc-files)
you can try.  two solutions by @ Gamula looks straightforward but looks like a manual approach. @ SalientGreen recommends using py3clean from python3-minimal  package seems nifty. But it looks like its only available on Debian OS. Or use  Pycleaner. Hopefully this helps.

@damah, thanks for the link. This looks like a good candidate:
find . -type d -name __pycache__ -exec rm -r {} \+


median_fee in fee command is inaccurate (Version: 1.8.1)

Issue Description
The fee command returns a drops.median_fee field that is supposed to represent the median transaction cost paid in the last validated ledger. However, due to the way the underlying value is used in the fee escalation code, this field has a minimum value of 5000, "to ensure that fee escalation is meaningful even when there aren't many transactions." (To quote @ximinez)
However, the minimum having a value of 5000 is overkill for most users, who only want to know how much they should pay to give their transaction a good chance of being confirmed. (For example, in a lot of recent ledgers, the median fee was probably more in the tens or hundreds of drops, not thousands.) As best I can tell, this is a case where the API is exposing an implementation detail of the fee escalation formula. After all, the median fee in the validated ledger is an actual empirical observation of what fees are being confirmed by consensus.
The command should probably return the actual median fee from the last validated ledger, which would be actually useful for API users. (The escalation calculations can still use the value of 5000 internally.)
In the special case where the previous ledger is empty (something that happens regularly on test networks like Devnet), I think it should return the minimum fee.

Good idea. It can continue to return the 5000 minimum in a new field, e.g.fee_factor. Or would it be better to return the real median fee in new field? e.g. actual_median_fee

actual_median_fee sounds more like an elaborate joke to be honest.
If the median_fee is defined as the median fee of the last validated ledger, it should be either 0 or the median fee of the last validated ledger. If other metrics are needed to determine a useful fee to pay, these should be added and properly named and defined.


feat: add more data and fix minor issues

resolves DEV-355
resolves DEV-114

IMO above error is because person http://ns.dasch.swiss/repository#dsp-083B-person-002 doesn't have a jobTitle which is required

@danielasubotic the issue reported by @mpro7 was actually an old build artifact messing things up, in an up to date build, this doesn't happen. I added a build task to the make target he used, so this can't happen again. I think, this should then be good to merge


Uncaught ImportError in utils.py line 9

Aider version: 0.62.1
Python version: 3.12.0
Platform: Windows-11-10.0.22631-SP0
Python implementation: CPython
Virtual environment: No
OS: Windows 11 (64bit)
Git version: git version 2.46.0.windows.1
An uncaught exception occurred:
Traceback (most recent call last):
  File "base_coder.py", line 1184, in send_message
    yield from self.send(messages, functions=self.functions)
  File "base_coder.py", line 1480, in send
    hash_object, completion = send_completion(
                              ^^^^^^^^^^^^^^^^
  File "sendchat.py", line 98, in send_completion
    res = litellm.completion(**kwargs)
          ^^^^^^^^^^^^^^^^^^
  File "llm.py", line 23, in __getattr__
    self._load_litellm()
  File "llm.py", line 30, in _load_litellm
    self._lazy_module = importlib.import_module("litellm")
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1381, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1354, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1325, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 929, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 994, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "__init__.py", line 10, in <module>
    from litellm.caching.caching import Cache, DualCache, RedisCache, InMemoryCache
  File "__init__.py", line 1, in <module>
    from .caching import Cache, LiteLLMCacheType
  File "caching.py", line 40, in <module>
    from litellm.types.utils import all_litellm_params
  File "utils.py", line 9, in <module>
    from openai.types.completion_usage import (
ImportError: cannot import name 'CompletionTokensDetails' from 'openai.types.completion_usage' (C:\Users\david\AppData\Local\Programs\Python\Python312\Lib\site-packages\openai\types\completion_usage.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "__main__.py", line 7, in <module>
    sys.exit(main())
             ^^^^^^
  File "main.py", line 827, in main
    coder.run()
  File "base_coder.py", line 738, in run
    self.run_one(user_message, preproc)
  File "base_coder.py", line 781, in run_one
    list(self.send_message(message))
  File "base_coder.py", line 1203, in send_message
    except litellm.ContextWindowExceededError:
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "llm.py", line 23, in __getattr__
    self._load_litellm()
  File "llm.py", line 30, in _load_litellm
    self._lazy_module = importlib.import_module("litellm")
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1381, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1354, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1325, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 929, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 994, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "__init__.py", line 10, in <module>
    from litellm.caching.caching import Cache, DualCache, RedisCache, InMemoryCache
  File "__init__.py", line 1, in <module>
    from .caching import Cache, LiteLLMCacheType
  File "caching.py", line 40, in <module>
    from litellm.types.utils import all_litellm_params
  File "utils.py", line 9, in <module>
    from openai.types.completion_usage import (
ImportError: cannot import name 'CompletionTokensDetails' from 'openai.types.completion_usage' (C:\Users\david\AppData\Local\Programs\Python\Python312\Lib\site-packages\openai\types\completion_usage.py)

Thanks for trying aider and filing this issue.
This looks like a duplicate of #1690. Please see the comments there for more information, and feel free to continue the discussion within that issue.
I'm going to close this issue for now. But please let me know if you think this is actually a distinct issue and I will reopen this issue.

Thanks man. I'm new to all of this and don't know much about it. But I do know that I need to do my part and let know someone way smarter an way better than me that I got an error so maybe they can figure it out
Thank you.
David McCarty
904-510-2031

From: paul-gauthier @.>
Sent: Wednesday, November 13, 2024 1:53:01 PM
To: Aider-AI/aider @.>
Cc: Dmccarty30 @.>; Author @.>
Subject: Re: [Aider-AI/aider] Uncaught ImportError in utils.py line 9 (Issue #2354)
Thanks for trying aider and filing this issue.
This looks like a duplicate of #1690https://github.com/Aider-AI/aider/issues/1690. Please see the comments there for more information, and feel free to continue the discussion within that issue.
I'm going to close this issue for now. But please let me know if you think this is actually a distinct issue and I will reopen this issue.
—
Reply to this email directly, view it on GitHubhttps://github.com/Aider-AI/aider/issues/2354#issuecomment-2474760456, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BIQYGZAZLTE3JHT46WRX7CD2AO323AVCNFSM6AAAAABRVTDIKKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZUG43DANBVGY.
You are receiving this because you authored the thread.Message ID: @.***>


Fix: Compatibility Issue with IP2Location DB using int for IP Range

The IP headers where not being converted to IP string format if the input file was in decimal string format

@UmanShahzad created as instructed please check

@UmanShahzad please check if there is something I missed


DST issue

Hello,
Since the changeover to daylight saving time, recurring tickets are generated one hour late.
The hosting server (RHEL 7.5) is well configured: CEST, DST active, see :
# timedatectl
      Local time: mer. 2020-04-01 14:23:21 CEST
  Universal time: mer. 2020-04-01 12:23:21 UTC
        RTC time: mer. 2020-04-01 12:23:21
       Time zone: Europe/Paris (CEST, +0200)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  dim. 2020-03-29 01:59:59 CET
                  dim. 2020-03-29 03:00:00 CEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  dim. 2020-10-25 02:59:59 CEST
                  dim. 2020-10-25 02:00:00 CET

In the Schedule panel, I can see the CEST time zone (near hour/minutes menus), but the tickets scheduled at 17:00 are generated at 18:00 local time. (see attached file).

All times are correctly displayed in Redmine.
Here is the information of the Redmine server :
Environment:
  Redmine version                4.1.0.stable
  Ruby version                   2.5.7-p206 (2019-10-01) [x86_64-linux]
  Rails version                  <IP_ADDRESS>
  Environment                    production
  Database adapter               Mysql2
  Mailer queue                   ActiveJob::QueueAdapters::AsyncAdapter
  Mailer delivery                smtp
SCM:
  Subversion                     1.13.0
  Git                            2.19.1
  Filesystem
Redmine plugins:
  redmine_checklists             3.1.17
  redmine_recurring_tasks        0.3.4

This problem is really crippling, I hope I won't have to tinker with the schedule of several dozen tickets, twice a year.
I hope you can come up with a solution.
Thank you in advance for your interest

Hello,
Since I haven't been back for 45 days, I take the liberty of coming back to you. Do you lack information from me, or do you feel that the problem lies elsewhere?
Best Regards.


Build failure after upgrade to Flutter 1.12.13+hotfix.6

Hi - thanks for this great widget! I upgraded Flutter today, and a few things broke. Here's the output:
** BUILD FAILED **
Xcode's output:
↳
/Users/x/flutter/.pub-cache/hosted/pub.dartlang.org/media_picker_builder-1.2.4/ios/Classes/FileFetcher.swift:239:11: error: 'UIImageOrientation' has been renamed to 'UIImage.Orientation'
extension UIImageOrientation{
^~~~~~~~~~~~~~~~~~
UIImage.Orientation
UIKit.UIImageOrientation:2:18: note: 'UIImageOrientation' was obsoleted in Swift 4.2
public typealias UIImageOrientation = UIImage.Orientation
^
/Users/x/flutter/.pub-cache/hosted/pub.dartlang.org/media_picker_builder-1.2.4/ios/Classes/FileFetcher.swift:190:21: error: 'UIImagePNGRepresentation' has been replaced by instance method 'UIImage.pngData()'
try UIImagePNGRepresentation(image!)?.write(to: destination)
^~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
image!.pngData
UIKit.UIImagePNGRepresentation:2:13: note: 'UIImagePNGRepresentation' was obsoleted in Swift 3
public func UIImagePNGRepresentation(_ image: UIImage) -> Data?
^
/Users/x/flutter/.pub-cache/hosted/pub.dartlang.org/media_picker_builder-1.2.4/ios/Classes/FileFetcher.swift:241:9: warning: switch covers known cases, but 'UIImage.Orientation' may have additional unknown values, possibly added in future versions
switch  self {
^
/Users/x/flutter/.pub-cache/hosted/pub.dartlang.org/media_picker_builder-1.2.4/ios/Classes/FileFetcher.swift:241:9: note: handle unknown values using "@unknown default"
switch  self {
^
Here is my flutter doctor -v output, in case it helps:
[✓] Flutter (Channel beta, v1.12.13+hotfix.6, on Mac OS X 10.15.2 19C57, locale en-US)
• Flutter version 1.12.13+hotfix.6 at /Users/x/flutter
• Framework revision 18cd7a3601 (2 days ago), 2019-12-11 06:35:39 -0800
• Engine revision 2994f7e1e6
• Dart version 2.7.0
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/x/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 28.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.2.1, Build version 11B500
• CocoaPods version 1.8.4
[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 41.1.2
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] VS Code (version 1.41.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.7.1
[✓] Connected device (1 available)
• iPhone 8 • B0FADA37-1A3F-473E-9A4F-340C2B8BE229 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-2 (simulator)

I have the same problem

Solved downgrading the swift version to 4


Need to update Git recipes for CONTRIBUTING.md ?

When I tried to run the following commands from the "Git recipes" in CONTRIBUTING.md, I got error messages:
git remote add rlworkgroup git@github.com:rlworkgroup/dowel.git

git reset --hard master rlworkgroup/master

However, the following would work:
git remote add rlworkgroup https://github.com/rlworkgroup/dowel.git

git checkout master
git fetch rlworkgroup
git reset --hard rlworkgroup/master

Should CONTRIBUTING.md be updated?

Hello and thanks for filing this issue.
The contributing instructions assume you're using ssh to access github.
I think you're right, we should probably update CONTRIBUTING.md to mention that.


zqd /log/path endpoint drops warnings

(I ran into while working on #1895)
Given this input file with a bad line:
$ cat bad.tzng
#0:record[ip:string]
0:[<IP_ADDRESS>;]
0:[<IP_ADDRESS>;

The /log enpoint produces a warning for the bad line
$ zapi -s test post -f in-bad.tzng
warning: file:///Users/henridf/work/brim/zq/in-bad.tzng: line 3: tzng syntax error: unterminated container
posted 46B in 1.096294ms

But the /log/path endpoint does not:
$ zapi -s test postpath -f in-bad.tzng
100.0% 46B/46B
posted 46B in 1.204216ms

Verified in zqd commit 1e501e85.
A repro at commit 78b0a672 that came right before the fix:
$ zqd -version
Version: v0.26.0-24-g78b0a672

$ zqd listen
{"level":"info","ts":1609446466.700576,"msg":"Starting","datadir":".","open_files_limit":24576,"personality":"all","suricata_supported":false,"zeek_supported":false}
{"level":"info","ts":1609446466.7009,"logger":"httpd","msg":"Listening","addr":"[::]:9867"}

$ zapi -s testpost post -f bad.tzng
warning: file:///Users/phil/work/zq-1901/bad.tzng: line 3: tzng syntax error: unterminated container
posted 46B in 1.488011ms

$ zapi -s testpostpath postpath -f bad.tzng
100.0% 46B/46B
posted 46B in 1.356927ms

Now with the benefit of the fix, at commit 1e501e85:
$ zqd -version
Version: v0.26.0-25-g1e501e85

$ zqd listen
{"level":"info","ts":1609446559.1590662,"msg":"Starting","datadir":".","open_files_limit":24576,"personality":"all","suricata_supported":false,"zeek_supported":false}
{"level":"info","ts":1609446559.1593862,"logger":"httpd","msg":"Listening","addr":"[::]:9867"}

$ zapi -s testpost post -f bad.tzng
warning: file:///Users/phil/work/zq-1901/bad.tzng: line 3: tzng syntax error: unterminated container
posted 46B in 1.212444ms

$ zapi -s testpostpath postpath -f bad.tzng
warning: file:///Users/phil/work/zq-1901/bad.tzng: line 3: tzng syntax error: unterminated container
100.0% 46B/46B
posted 46B in 1.30519ms

Thanks @henridf!


feat: add apigw metrics

@syzh 这里还需要更新新发布的 tencent-cloud-sdk 依赖

:tada: This PR is included in version 1.14.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


tts action server freezes

Hi, the tts action server works fine in most time, but when I send requests multiple times, the action server seems freezing. To reproduce the error, just launch the server:
roslaunch tts sample_application.launch

Then run rosrun tts voicer.py 'Hello World' for multiple times. On my computer, it freezes at about the 32nd times. While freezing, the sound card seems blocked and cannot play any video.
Maybe it is because of my sound card driver or the sound_play package. Hope you can reproduce this. Thank you in advance!

Thanks for reporting. As I'm already investigating https://github.com/aws-robotics/tts-ros1/issues/19, I'll investigate this while I'm at it.

Quick update. I was able to repro this, but am not able to investigate within the next week.

Looked into this a bit today. It looks like this is an issue with the soundplay node which this package uses to play the audio files it gets back from Polly. We've opened an issue on that repository: https://github.com/ros-drivers/audio_common/issues/125


Wrong spelling

Describe the bug

A clear and concise description of what the bug is.

Possible solution

Describe the solution you thought of.

Screenshots

i would like to work on this issue


can't compile

Description
i can't build project because Visual Studio say that:
Error	CS0103	The name 'ViewModel' does not exist in the current context
Files.App	D:\Timur\files app\Files\src\Files.App\UserControls\PathBreadcrumb.xaml.cs	21	Active
and same errors in next lines
Steps To Reproduce
i think add usings
or change ViewModel to other class
Requirements
can't build project
Files Version
latest(i use git clone ~6:00 07.05.23)
Windows Version
10.0.19045.3086
Log File
Error	CS0103	The name 'ViewModel' does not exist in the current context
Files.App	D:\Timur\files app\Files\src\Files.App\UserControls\PathBreadcrumb.xaml.cs	21	Active

IIRC when I had this error I had to update the Net Sdk version to at least 7.0.32

I upgraded to the 7.0.305 .NET SDK, but nothing has changed. I have another bug, maybe they are related somehow?
Error	MSB4062	The "Microsoft.Build.AppxPackage.RemovePayloadDuplicates" task could not be loaded from the assembly C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VisualStudio\v17.0\AppxPackage\Microsoft.Build.AppxPackage.dll. Could not load file or assembly 'file:///C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VisualStudio\v17.0\AppxPackage\Microsoft.Build.AppxPackage.dll' or one of its dependencies. The system cannot find the file specified. Confirm that the  declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.	Files.App	C:\Users\sinep.nuget\packages\microsoft.windowsappsdk\1.3.230602002\buildTransitive\MrtCore.PriGen.targets	1443
@gave92

I'm attaching here my VS installation confguration (what components I have installed). You may want to try to import it using VS Installer to check if threre's anything you're missing.
vsconfig.zip

Thank you so much, everything worked. i still have one question: where can i find the .exe? (i can see it in windows start, but i can't find the location). thanks again.

type Files.exe into the startmenu search then open file location.

thank you


Fixing cassettes.

https://github.com/rubyatscale/visualize_packs/pull/23 should have not been allowed to merge because status checks failed. However, we had the Branch protection misconfigured to not require any status checks to pass
I updated the branch protection setting...

Now the status checks are working... Otherwise we'd have already seen a merge because of @alexevanczuk approval.


DidOpenTextDocumentParams does not extend TextDocumentIdentifier

See https://github.com/Microsoft/vscode-languageserver-node/blob/032c12a09cf19ad7fb6af997beca1d5f6a7f34b2/server/src/protocol.ts#L411-L416.
The uri field is present in the TextDocumentItem in any case.

Hi @Marwes, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Sorry, now you got me confused. Is DidOpenTextDocumentParams supposed to extend TextDocumentIdentifier (which gives it an uri field directly in addition to the one in textDocument) but that is not implemented yet in https://github.com/Microsoft/vscode-languageserver-node ?

@Marwes no, it was that way in the 1.0 version of the protocol (which is available here: https://github.com/Microsoft/language-server-protocol/blob/master/versions/protocol-1-x.md). In the 2.0 version we cleaned this up and steps away from 'inlining' parameters.

In that case, should my PR not be a fix since it removes  extends TextDocumentIdentifier ?

@Marwes I apologoize a lot. I misread the diff. Makes perfect sense. And thank you for not giving up :-).

Hi @Marwes, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

No problem. Just happy to be of some help, the protocol made it really simple to provide completion for my own little language :).


Fabric

Which version of fabric does this require?  I've have the latest 1.x branch installed:
Name: Fabric
Version: 1.13.1
Getting an exception when trying to use this api.
File "/srv/tsheets/lib/python3.6/site-packages/fabric/context_managers.py", line 535
def accept(channel, (src_addr, src_port), (dest_addr, dest_port)):
^
SyntaxError: invalid syntax

I believe this is actually an issue with the syntax used for importing. The code just needs to be updated to use a local import.
If I try to import and use this tsheets module, I get an error like:
from tsheets.api import TSheets

File "site-packages/tsheets/init.py", line 1, in
import repos
File "site-packages/repos.py", line 9, in
from fabric.api import local, lcd as cd, task
ModuleNotFoundError: No module named 'fabric.api'
I believe this is because tsheets/init.py should be using a different import syntax.
Instead of
"import repos"
It should be doing:
"from . import repos"

i.e. it should import the local module "tsheets.repos". NOT the separate python package 'repos'.[1]

Without the local import specification, python was attempting to import the separate python package 'repos'[1].
If you happened to already have the 'repos' package installed on your system, depending on the version, the python code inside 'repos' started with this code:
"from fabric.api import ..."
This import call inside 'repos' would then attempt to import the 'fabric' package.
Neither 'fabric' nor 'repos' seem to be needed to run this tsheets python module.
It just needs to use a local, relative import, to use its own code.
My patch in #6 should fix this.
[1] https://pypi.org/project/repos/

The fix is merged to master.  Thanks once again Dave!


Reload files when edited by apps that don't use NSFileCoordinator (TextMate, vim, etc.)

Right now, AppKit calls Document.read(from:ofType:) if a file was edited by another app, but only if that app is using the Cocoa Document Architecture or using NSFileCoordinator directly.
TextMate (surprisingly!) rolls its own document class (OakDocument) that is a subclass of NSObject, not NSDocument, and it doesn't use NSFileCoordinator, so Watt can't see its updates.
Less surprisingly, Vim (and any other CLI tool) doesn't use NSFileCoordinator either, so we can't see its updates.
This from Jesse might be helpful.

Fixed by #116


Bugfix/infinite and dont rewind on resize

The slider proceeds to next slide when resizing the window and using options: rewindOnResize: false and infinite: 1.
It's primary caused by the use of the reset method which don't take disabling of rewindOnResize into account.
I've made a simple fix. But tests in general for the conjunction between onRisize and reset might be needed.

@tkjaergaard I'll need to pull this down and see what you got goin on. It may get closed as I am starting the planning phase for Lory.js 2.0.


ResourceNotificationService.WaitForResourceHealthyAsync considers FailedToStart resource as healthy.

Is there an existing issue for this?

[x] I have searched the existing issues

Describe the bug
If you create a container resource with a container reference that doesn't exist which goes to the FailedToStart state, then using WaitForResourceHealthyAsync within the Test host unexpectedly succeeds.
Expected Behavior
Given that the resource failed to start, I would not expect it to be considered healthy.
Steps To Reproduce
AppHost
var builder = DistributedApplication.CreateBuilder(args);

var fake = builder.AddContainer("fake", "mcr.microsoft.com/foo/bar/does-not-exist-at-all-for-realz");

builder.Build().Run();

Test:
        // Arrange
        var appHost = await DistributedApplicationTestingBuilder.CreateAsync<Projects.AspireApp2_AppHost>();
        await using var app = await appHost.BuildAsync();
        var resourceNotificationService = app.Services.GetRequiredService<ResourceNotificationService>();
        await app.StartAsync();

        // Act
        await resourceNotificationService.WaitForResourceHealthyAsync("fake");

Exceptions (if any)
No response
.NET Version info
.NET SDK:
 Version:           9.0.100
 Commit:            59db016f11
 Workload version:  9.0.100-manifests.c6f19616
 MSBuild version:   17.12.7+5b8665660

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.22621
 OS Platform: Windows
 RID:         win-x64
 Base Path:   C:\Program Files\dotnet\sdk\9.0.100\

.NET workloads installed:
 [aspire]
   Installation Source: VS 17.12.35514.174
   Manifest Version:    8.2.2/8.0.100
   Manifest Path:       C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.aspire\8.2.2\WorkloadManifest.json
   Install Type:              Msi

Configured to use loose manifests when installing new manifests.

Host:
  Version:      9.0.0
  Architecture: x64
  Commit:       9d5a6a9aa4

.NET SDKs installed:
  6.0.428 [C:\Program Files\dotnet\sdk]
  8.0.404 [C:\Program Files\dotnet\sdk]
  9.0.100 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Anything else?
No response

Was this fixed? I cannot reproduce using the following code on main
using var builder = TestDistributedApplicationBuilder.Create(testOutputHelper);
builder.AddContainer("fake", "mcr.microsoft.com/foo/bar/does-not-exist-at-all-for-realz");
await using var app = await builder.BuildAsync().DefaultTimeout();
var resourceNotificationService = app.Services.GetRequiredService<ResourceNotificationService>();

await app.StartAsync().DefaultTimeout();

await resourceNotificationService.WaitForResourceHealthyAsync("fake");

// this is never reached
await app.StopAsync().DefaultTimeout();

@JamesNK is this the scenario you looked that?

No


docs: fix @return in BaseBuilder.php

Description
The function returns false on failure, but on success it returns the BaseResult unless the pretend flag is set in the query() function. In that case it returns a Query object. Not having this in the PHPdoc is giving PHPStorm fits.
Checklist:

[x] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[x] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

Thank you for sending PR. Can you fix the coding style?

Done.  The linters pass this time.

@objecttothis Thank you!


How to accept any data entered?

Hi, thanks for the awesome lib.
How can I make the grid field accept any value, not just the items included in the 'selectData' param ?

Hi,
I'm not sure to totally understand your question. Is it about how you can change the 'selectData' after instanciation or about the DataFormat type in typescript.
If it's the first:
As described into the documentation, the 'selectData' parameter will be used if you already have the list of possible select options at the component instanciation. Or a default list.
If you need later on to fetch some other data, you should provide a 'fetch' function under the 'autocomplete' field. That way you should be able to get back data using a function to replace the actual selectData.
If it's the second:
I may change the default DataFormat to allow 'value' to be an 'any' type to be more generic that's true. In the meantime, you can totally pass object or whatever you want to the value and simply ignore the Typescript warning who will pop.

Hey,
First, English is not my native language so I am sorry. I will try to simplify my question:
I have a field called 'key', when user start type new key, I want to allow him either select an existing key or type new key not existed.
But as I saw in the demo if I type a word not existing in the 'selectData' parameter it will be ignored and the field will have empty value.
I think the question is clear enough now?

Hi,
Not my native language either, I use it only to code and watch GOT :yum:
I think I better understand your request here, I made two examples (here)[https://stackblitz.com/edit/ag-grid-autocomplete-editor-issue-14] of 'select with free fields addition' one for local data, other one for sever retrieved data, leveraging the 'fetch' and the 'onSelect' options of the component.
Please tell me if it solve your issue. If it does, I will probably add theses examples on the main Demo code.

Hi,
I don't want to push the new key to the data-source, I just want to allow user type anything even if not exist in the data-source.
The requested scenario is:- user will start typing in the field, the autocomplete package will give him the existing keys which match what he typed, if he want to choose an existing key he will use the autocomplete suggestions, if he want to type a new key (not exist) he can ignore the autocomplete suggestions and leave the field.
Thanks for you time.

Hi,
I don't want to push the new key to the data-source, I just want to allow user type anything even if not exist in the data-source.
The requested scenario is:- user will start typing in the field, the autocomplete package will give him the existing keys which match what he typed, if he want to choose an existing key he will use the autocomplete suggestions, if he want to type a new key (not exist) he can ignore the autocomplete suggestions and complete typing then leave the field.
Thanks for you time.

In that case, the examples I provided will also work.
You can simply remove the onSelect to let the default behavior. In that case, the value will be created on the fly when the user is typing whatever he want.
And without the onSelect overriding, when the 'enter' key will be hit, the value will properly be assigned and not saved in the data-source.

Great, but still a little problem:
The user has to hit Enter to accept the new value, but if he press Tab or just click with mouse in another row/field the new value will ignored.
How can I make the field accept the new value if the user leaves the field not just by hitting Enter key?

Well you'll probably need to extends the actual AutocompleteSelectCellEditor since it has not be designed to handle this special case.
You will probably end-up adding an eventListener on the eInput DOMElement who will set the currentItem to the actual input value when a change occurs.
Look kind of dirty but I doesn't have other ideas right now. If you find a way to do it with a clean method with a possibility to add this behavior as an option, feel free to submit a PR.


[Bug]: MODEL grants producing repeated plan after apply

Terraform CLI Version
1.9.2
Terraform Provider Version
0.95.0
Terraform Configuration
resource "snowflake_role" "role_test_models" {
  name    = "ROLE_TEST_MODELS"
  provider = snowflake.useradmin
}

resource "snowflake_grant_account_role" "role_grant" {
  role_name        = snowflake_role.role_test_models.name
  parent_role_name = "SYSADMIN"
  provider = snowflake.securityadmin
}

resource "snowflake_grant_privileges_to_account_role" "grant_schema" {
  account_role_name = snowflake_role.role_test_models.name
  privileges         = ["USAGE"]
  with_grant_option  = false

  on_schema_object {
    future {
      object_type_plural = "MODELS"
      in_database        = "DB_TEST_MODELS"
    }
  }
  provider = snowflake.securityadmin
}

Category
category:grants
Object type(s)
resource:grant_privileges_to_account_role
Expected Behavior
The above configuration creates a role, grants the role to SYSADMIN, and grants USAGE on FUTURE MODELS to that role. After applying USAGE on MODELS to role, subsequent plans should recommend no changes.
Actual Behavior
Plan does not converge. Each run suggests adding the usage privilege again.
Terraform will perform the following actions:

  # snowflake_grant_privileges_to_account_role.grant_schema will be updated in-place
  ~ resource "snowflake_grant_privileges_to_account_role" "grant_schema" {
        id                = "\"_ROLE_TEST_MODELS\"|false|false|USAGE|OnSchemaObject|OnFuture|MODELS|InDatabase|\"SHARED\""
      ~ privileges        = [
          + "USAGE",
        ]
        # (5 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

This may be due to snowflake reporting "grant_on" as 'MODULE' in SHOW FUTURE GRANTS IN DATABASE.
Steps to Reproduce

Copy configuration
Run Terraform apply
Confirm in snowflake future grant was applied. SHOW FUTURE GRANTS TO ROLE ROLE_TEST_MODELS;
Repeat Terraform apply

How much impact is this issue causing?
Low
Logs
No response
Additional Information
No response
Would you like to implement a fix?

[ ] Yeah, I'll take it 😎

Hey @halcarrigan-carvana. Thanks for reaching out to us.
It seems like an undocumented Snowflake behavior. We will reproduce the behavior, contact the team responsible for grants, and decide what we will do with it. Ideally, it should be changed on the Snowflake side, but we will probably implement a workaround for the time being.
If we decide to implement the workaround, it will land in one of the next minor versions.
cc: @sfc-gh-jcieslak

@sfc-gh-asawicki on version 0.94 we are also having this issue, and when trying to remove these resources we're getting the error -
Error: [grants_validations.go:173] exactly one of AccountRoleGrantPrivileges fields [AllPrivileges GlobalPrivileges AccountObjectPrivileges SchemaPrivileges SchemaObjectPrivileges] must be set

We haven't seen that for any other type of future grant.
Do you think that's related to this issue, or should I open a separate issue to track that?

cc: @sfc-gh-jcieslak

Hey @jdoldis
As far as I remember this particular error may be connected to this exact issue. Could you also post what your snowflake_grant_privileges_to_account_role config looks like?

Ok, nothing fancy, so most likely the issues are connected to object_type_plural being different in SHOW GRANTS. I'll fix it as soon as I'll have some time (It should be most likely fixed in the next version of the provider).

Awesome, thanks @sfc-gh-jcieslak !

Thank you all for the quick response on this.

Hey @halcarrigan-carvana
Sorry, for the late response, but the fix was already released as part of the 0.96.0 version. Could you validate if the grants on the model are working properly in your case? Thank You.


i18n(ko-KR): update add-view-transitions.mdx

Description (required)

update add-view-transitions.mdx
#8723

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ko
tutorials/add-view-transitions.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Is it possible to use Grafana Dashbaord avriables in volkovlabs-echarts-panel?

Is it possible to use grafana dashbaord’s variables in Echarts plugin?
i use below code to get the value in dashboard, is there any better way to do it?
var startTime=document.getElementById(“_from”).title ;
with below script, it’s not working

And we found that the grafana dashborad variables is can't be get in javascript.

It seems that the issue is not related to the volkovlabs-echarts-panel plugin. It looks like Grafana Dashboard variables cannot be fetched from the web page.

Hi, @gotoworld
use context.grafana.replaceVariables(string) to get variable
here is example
I added new variable testVar
you can use ' ' (single quotes) or " " (double quotes)
console.log('console >> ', context.grafana.replaceVariables('${testVar}'))
Link to documentation


Builder pattern for UIAttribute

This supports Ints and Strings as well als Optionals of both

Und der Code muss noch formattiert werden

And also remove the pdf please

Otherwise the main branch unfortunately has gotten some package lock updates so you need to regenerate that again


Steps with only a newline error with "Is a directory"

Because of an old quirk/bug in our pipeline web UI settings, some people have pipelines that contain an empty step at the start of their pipeline:

BUILDKITE_COMMAND="
"

For v2 agents, these would run fine:
Running build script
$

In v3, these steps now fail with the following error:
Running build script
$ ./"
"
$ /bin/bash -c /buildkite/builds/buildkite-agent-abc123/my-org/my-pipeline
/bin/bash: /buildkite/builds/buildkite-agent-abc123/my-org/my-pipeline: Is a directory

Just chatting with @lox, I think the plan here is to still error if no command is set - but show a better/helpful error message.


Implement custom header row index

Resolves #407
Tried implementing the change, for my own needs but maybe it can be merged.
Tests are passing but it would be nice to add one specific to the new option. I don't how to set up the updated table for it.
The new parameter is on the getRows options object, called headerRowIndex.
It only handles reading of existing tables, not creation of new ones.
@theoephraim How do you actually build/package the library? :) Can't find a script or a package for it. Thanks

Thanks @EskelCz - this functionality is now added in v3.2.0!


Release access to agents for all players, even if they are not VIP

Would there be any way to release access to agents even if the player is not a VIP?

At the moment there is no implementation of this feature

I understand, here is the suggestion. I know that there are already some plugins with access for all players, but they no longer receive updates and have several bugs.


Uml 570 viewer go back to enter code

Purpose
This ticket to add a missed feature test on viewer.
Scenario: The user should be able to re-enter code if the LPA details shown was incorrect.
Fixes UML-570
Approach
The change is just to add a feature test to assure user is able to re enter code if the displayed LPA details is incorrect.
Learning
Any tips and tricks, blog posts or tools which helped you. Plus anything notable you've discovered about the Refunds service
Checklist

[x] I have performed a self-review of my own code
[ ] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[x] I have added tests to prove my work
[ ] The product team have tested these changes

Coverage remained the same at 76.169% when pulling a117a4d5c111d8dd0c122928de2979207457a0f5 on UML-570-viewer-Go-Back-To-Enter-Code into 4bc15859da2786539aafff76f4efac63d3b119bc on master.


Fix date_eq Rule to Accept a Single Argument

Hello @ahoshaiyan 👋
Currently, given the following rule:
{
  'consented_at' => "required|string|date|date_lte:#{Time.now.iso8601}",
}

The following request will result in an exception #<ArgumentError: Target date is required for date rules.
{
  "consented_at": "2024-08-13T16:54:35-04:00"
}

This PR should be the fix. Please let me know if you have any comments. 🙏

Hi Faisal, thanks for fixing the issue 👍
I will merge and release it now

I have release v0.6.3 give it two minutes and it should be available on RubyGems


Grid/Table bug

Tables can cause the Grid and Column elements to grow larger than their expected size under the right circumstances, causing horizontal overflow.

Maybe table-layout: fixed; in the styles of Table will do the trick. Will test out tomorrow.


Unable to load model file

Hello everyone, thanks a lot for developing this application. Looks super useful and would make all our lives much easier.
I have installed your portal application for windows provided in the link (Portal-0.5.0-windows.exe). After installing, I am facing two errors:

I am trying to load yolov3. I have downloaded the model using the link given in the readme. Now, I am trying to load the model in the + but I get the error stating Failed to register model.  The model file directory is as follows:

└── YOLOv3 ImageNet
    ├──  __MACOSX
    └── YOLOv3 ImageNet
          ├─ coco (names file)
          ├─ yolov3 (CFG file)
          └─ yolov3 (WEIGHTS file)

I am also continuously getting a prompt error saying Portal runtime is unresponsive. (Also can be seen in the snap below)

Hey @rishabh700 - my apologies for the confusion. First of all, thank you for giving Portal a try - I'll do my best to ensure this works for you.
I think that the portal backend might not be installed correctly based on the pattern of error. This is not the first time this has happened on our win build. I recommend that you run Portal as a web app using portal.py as described here .
We are pushing out a new set of executables and Ill be sure to ping you here when that's up!

If things are still not resolved with the new way, or if you need help ensuring that it works - feel free to chat me up (same username) on our Community Slack!


First boot failure after encryption

I enabled flash encryption but not secure boot.
I burned a reusable key (so i can reflash in development), flashed plain text FW and booted the device, which proceeded to encrypt app partitions but not OTA data.
Subsequent boot failed due to, i think, otadata partition not having been encrypted.
This is not mentioned in the guide and i think it should just be encrypted unconditionally, just like app partitions, since it is accessed by the boot loader using mmap.
I (47) boot: ESP-IDF v1.0-374-gf9eff70 2nd stage bootloader
I (47) boot: compile time 15:55:31
I (47) boot: Enabling RNG early entropy source...
I (67) boot: SPI Speed      : 40MHz
I (79) boot: SPI Mode       : DIO
I (92) boot: SPI Flash Size : 4MB
I (104) boot: Partition Table:
I (115) boot: ## Label            Usage          Type ST Offset   Length
I (138) boot:  0 nvs              WiFi data        01 02 00009000 00004000
I (161) boot:  1 otadata          OTA data         01 00 0000d000 00002000
I (185) boot:  2 app_0            OTA app          00 10 00010000 00100000
I (208) boot:  3 fs_0             Unknown data     01 82 00110000 00020000
I (231) boot:  4 app_1            OTA app          00 11 00130000 00100000
I (254) boot:  5 fs_1             Unknown data     01 82 00230000 00020000
I (278) boot: End of partition table
I (397) boot: Checking flash encryption...
W (397) flash_encrypt: Using pre-loaded flash encryption key in EFUSE block 1
I (401) flash_encrypt: Setting CRYPT_CONFIG efuse to 0xF
I (455) flash_encrypt: Disable UART bootloader encryption...
I (456) flash_encrypt: Disable UART bootloader decryption...
I (465) flash_encrypt: Disable UART bootloader MMU cache...
I (484) flash_encrypt: Disable JTAG...
I (2378) flash_encrypt: Encrypting partition 2 at offset 0x10000...
I (40813) flash_encrypt: Encrypting partition 4 at offset 0x130000...
ts Jun  8 2016 00:22:57

rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0008,len:8
load:0x3fff0010,len:5048
load:0x40078000,len:9020
ho 0 tail 12 room 4
load:0x40080000,len:252
entry 0x40080034
I (92) boot: ESP-IDF v1.0-374-gf9eff70 2nd stage bootloader
I (92) boot: compile time 15:55:31
I (92) boot: Enabling RNG early entropy source...
I (111) boot: SPI Speed      : 40MHz
I (124) boot: SPI Mode       : DIO
I (137) boot: SPI Flash Size : 4MB
I (150) boot: Partition Table:
I (161) boot: ## Label            Usage          Type ST Offset   Length
I (184) boot:  0 nvs              WiFi data        01 02 00009000 00004000
I (207) boot:  1 otadata          OTA data         01 00 0000d000 00002000
I (230) boot:  2 app_0            OTA app          00 10 00010000 00100000
I (253) boot:  3 fs_0             Unknown data     01 82 00110000 00020000
I (277) boot:  4 app_1            OTA app          00 11 00130000 00100000
I (300) boot:  5 fs_1             Unknown data     01 82 00230000 00020000
I (323) boot: End of partition table
E (336) boot: ota data partition info error
user code done

so, i fixed it by manually encrypting 8192 bytes of 0xff and writing the result at 0xd000
however, this code writes default ota data in the clear, not encrypted, so the subsequent boot failed too.
final solution to get encrypted boot working was to encrypt and write non-empty ota data.

Thanks @rojer. We'll fix this so OTA & encryption can work together.

Is this problem solved now?

I checked this in IDF e468cdee1d8b15f (which reworks a lot of the boot process to optimise performance) and was able to run OTA updates with flash encryption on. The commit should be on github master shortly, and will be in the IDF V3.0 release.
Will comment separately on the other OTA data changes.


[website] small style update

Motivation and Context

Decided to update overlay color for zoomed images a little bit, so it will not look like you've left the page when the image is zoomed.
How has this been tested?

Locally.
Screenshots (if appropriate):
Before:

After:

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).
[x] Nice improve.

Checklist:

[x] My code follows the code style of this project.
[x] I have updated the documentation accordingly or it's not required.
[ ] Unit tests are not broken.
[ ] I have added changelog note to corresponding CHANGELOG.md file with planned publish date.
[ ] I have added new unit tests on added of fixed functionality.

@sheila-semrush What do you think about this change?


Link direct to two scoops press

I'm sure @pydanny and @audreyr make more commission from their own site over Amazon.

True. Thanks for the PR ;)


Soda water and Vodka recipes

About the PR
You can now craft soda water from 5 water and 1 carbon dioxide and vodka from 1 ethanol and 1 water, that's not 40% but more simple, also you need to stir mix to make vodka, and shake respective mix to create soda water to prevent conflicts with other reactions
Why / Balance

I thought that these recipes were missing so I added them
Technical details

Media

Requirements

[X]  I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

:cl:

add: You can now make vodka and soda water.

Didn't mean to close #32244 and didn't understand how to reopen

You might want to add the crystal recipe tweak in the CL as well.

You might want to add the crystal recipe tweak in the CL as well.

I reverted that as I found another solution

Ethanol evaporates at a fast rate, so guess while you mix vodka up it's down to 40% anyways. Cool feature

Stirring and shaking is a great solution to fix the recipe conflicts 👍

Thank you for your contribution!


Resolve failing tests on main

Bug Description
Some tests are failing from the security vulnerability fix in GHSA-r25m-cr6v-p9hq
Steps to Reproduce
The tests on main can be referenced as well but they are related to pylint and a new ops-unit test.
on main:

nox -s dev
fides user login
pytest tests/ops/util/test_api_router.py::TestApiRouter::test_malicious_url

For the other, nox -s pylint
Expected behavior
The test should pass, it appears to be set to pass when the frontend is unavailable (which may have been ideal for the fork)
As the response appears to be dynamic, it may make sense to mock the path response to a known path instead.
Screenshots
n/a
Environment

Version: 2.15.1
OS: Darwin
Python Version: 3.10
Docker Version:

Additional context
Found during the release of 2.15.1, #3720

moving to done


Install breaking on Windows

Install breaking on Pharo 6 and 7 on Windows.
Assuming linux only but wanting to verify
(if windows is supported will post detailed breakage / If not - will look to porting and supporting)
Thanks for a very cool project.

I've been using client mode on Windows. I'd be curious to have more details about what is meant by 'install breaking' to try to reproduce the issue.

I think it was the issue with filetree format on windows. Now most of dependencies are migrated to Tonel. So I think it can be closed.


Fix currentTag parsing on tag-changes-link

Fixes #5884

Test URLs
https://github.com/parcel-bundler/parcel/tags?after=%40parcel%2Fintegration-tests%401.12.5
Screenshot

Wow, what an obvious mistake 😅
Thank you!

Yes, sometimes it's the obvious things that get usually overlooked at. 😂
You're welcome. I'd like to contibute as much as I can. 🙂


Enhanced Handling of Gift Code Status and Proxy Support

Description:
I've reviewed the code and noticed that the tool currently relies solely on the 200 HTTP status code when checking gift codes. This approach can be improved for a more accurate assessment of gift codes' validity and status.
Here are the proposed enhancements:

Gift Code Status: The tool should consider checking the JSON response from the API. Specifically, it should examine the 'uses' field within the JSON. If 'uses' equals 1, it indicates that the gift code has already been used. Conversely, if 'uses' is 0, the code remains unclaimed and is valid for redemption.

Rate Limiting: When the tool encounters a 429 HTTP status code, it signifies that rate limiting is in effect. Initially, this results in a brief cooldown period, typically around 10 seconds. However, prolonged usage of the tool can lead to an extended rate limiting duration, often lasting more than a day.

How to Check Rate Limiting: To determine if rate limiting has been applied, you can perform a simple test. Open your web browser and visit the following link: "https://discordapp.com/api/v9/entitlements/gift-codes/aa?with_application=false&with_subscription_plan=true". If the response states "Unknown gift code," you are not rate limited. However, if it says "You're Rate Limited," you have indeed encountered rate limiting.

Solution:
To address these issues effectively, I recommend implementing proxy support within the tool. This feature would allow users to route their requests through various proxies, thus circumventing rate limiting and ensuring the accuracy of gift code status checks.
Proxy support would greatly enhance the tool's functionality and reliability by preventing rate limiting and enabling more precise gift code status assessment.
Thank you for considering this feature request.

True, and you have a very very low chance on actually getting a nitro since the links expire + that was a suggestions and there is a lot of free public proxies to use, you can use like Proxy Scrape Or Any Others. I pay For Mine 2.5$/GB If it's single use 1GB is a lot ( I use it for other stuff ofc ).

The problem is that most free proxies are already ratelimited as so many people use them


Meme Generator Styling

I want to improve the designing of Meme Generator while keeping the same code. I want to redefine the UI so as to make it more impactive.
**Changes I want to make: **

Adding styles like background color.
Giving styles to buttons too.

@harshit-paneri  and @TusharKesarwani  ,pls assign me.

Don't tag again and again

mention the project link and what improvement you will do.

Already created


External JS files "not defined"

Using https://github.com/eddyerburgh/avoriaz-ava-example as a starting point, if I move the JavaScript from a single-file component from the actual .vue file to an external .js file and import it via <script src="./foo.js></script>, Vue throws warnings [Vue warn]: Property or method "msg" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.. This is a valid way of including JS in a Single File Component and for more complex components is almost a requirement.
Is there a setting I'm missing for how to get this to work?

This isn't supported at the moment, sorry.
I'd recommend against importing it in a script tag, and instead import it with es6/ commonjs.


[ci] Actually build all software in the sw_build job

The sw_build job was missing many targets, as the build and test commands resolve wildcards very differently, even with --nobuild_tests_only.

Thanks @a-will !


Options - default values.

Hello,
Why in the world this doesn't work?
$('#myId').selectize({
options: [{text: 'hello', text: 'world'}),
});

Nothing appears. Then I can change text to value and add labelField: 'value' but then searchField: 'value' doesn't work.
I'm in a fight with options, didn't see anything relevant in the documentation. Defaults values doesn't seems do work. Firebug doesn't tell me anything at all.

Ok, the field with options must be select, for more obvious it can be, please add to the docs.


Remove landing page banner

[ ] Remove yellow landing page banner "Welcome to the new BC Register of Historic Places System"

I believe this was added because it was part of the BCGov standard. Would you please confirm we can do that before we remove it?

@bferguso I have not found a reference to using a banner like this in the Visual Design Guide of the Web Standards Guide. I'm referring to just the yellow/gold banner and not the logo banner. The yellow/gold banner seems to deviate from the standard web format of BC gov pages.

@emjohnst - OK I'll remove it. Not sure where this requirement came from as it isn't something I would have done without direction. This was added on May 8th 2023.

@bferguso added a few more landing page tasks to this ticket

Done in test


Update cdk dependencies to 1.46.0

Description of changes:

Updated AWS CDK dependencies from 1.25.0 to 1.46.0 to allow cdk-watchful to work with the latest stable release (otherwise dependency graphing fails for Python with the latest stable release).
Update version patch from 0.5.0 to 0.5.1 - I was uncertain if you would prefer to increment the minor for this @eladb
Fix package-lock.json pinned version (was 0.4.6 while it should be 0.5.0... now updated to 0.5.1 to align).

Are you open to updating the changelog and incrementing the actual release/tag for 0.5.0 and 0.5.1 ?
~Is the CircleCI process having problems releasing on tag? If so, the GH Action for jsii is 👌~ I see the builds are passing in CircleCI.  How is that driven currently?  I am not seeing a v0.5.0 tag or release.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice. ✔

Sure

@eladb Closing this.  Feel free to reopen.

@mbeacom want to bump to 1.48?

@eladb Done!


There is no label window

when i run save_segmentation_model.py,there is no label window, but just a image.

After running "save_segmentation_model.py", you should have a window with an image and a labelling tool beside the image, and then you can define the mask through that, this tool is based on repurpose-gan GitHub repository, it might be helpful if you check it.

thanks for your answer,I have solved it.And there is an another question, why the code does not use pretrained vgg model?

It's great to hear that you have solved that.
Regarding the VGG model, the DDS_main.py code uses the VGG16 for Perceptual with the outputs of these four convolution layers conv1_1,conv1_2,conv2_2,conv3_3. You can follow this from line #318 of DDS_main.py. The details of loading the VGG16 can be found in perceptual_model.py.


Enable read-events feature in dev/staging by default

We have manually enabled this in production.

So I think we need to change the code here: https://github.com/rubyforgood/human-essentials/blob/d648cb3fad29456633a927226bd1f0453e4e405c/spec/rails_helper.rb#L174-L174
Right now it only forces true if the env variable is true. I think we need to force false if it's not true.

Right now it only forces true if the env variable is true. I think we need to force false if it's not true.

I made a further change that removes this, and then event-mode github actions, altogether

I'm sure! No going back! The issue last week is likely exactly the sort of issue we have without Events except without Events it is untracable and unfixable.

I agree with Brock --  I really don't think we're going back at this point.    I'm not quite ready to rip out the old stuff entirely , but we should have what developers are working with by default be what the banks are working with.

On we go then!


Debug failed, Lab E2 - Step 5: Run the application

[2024-10-07T00:25:21.444Z] [Info] - Finished 'Validate prerequisites' Visual Studio Code task in 1.73 seconds.
[2024-10-07T00:25:25.014Z] [Info] - Running Visual Studio Code task: 'Start local tunnel'
(Total: 1 Step) Teams Toolkit is starting local tunneling service to forward public URL to local port. Open the terminal window for details.
(1/1) Starting dev tunnel service ...
Summary:
(√) Done: Forwarding URL https://35vlbspd-7071.asse.devtunnels.ms/ to http://localhost:7071 and saved [OPENAPI_SERVER_URL] to c:\Users\arechen\Downloads\trey-research\env.env.local.
Visit https://aka.ms/teamsfx-local-tunnel-task to get more info about 'Start local tunnel' task.
[2024-10-07T00:25:26.147Z] [Info] - Started local tunneling service in 1.13 seconds.
[2024-10-07T00:25:26.319Z] [Info] - Executing provision
Lifecycle stage: provision(5 step(s) in total). The following actions will be executed:
(1/5) Action teamsApp/create: create Teams app.
(2/5) Action script
(3/5) Action teamsApp/zipAppPackage: build Teams app package.
(4/5) Action teamsApp/update: update Teams app.
(5/5) Action teamsApp/extendToM365: acquire Microsoft 365 title with the app package
[2024-10-07T00:25:26.321Z] [Info] - Executing lifecycle provision
[2024-10-07T00:25:27.208Z] [Info] -  [script stdout] "::set-teamsfx-env FUNC_NAME=me"; echo "::set-teamsfx-env FUNC_ENDPOINT=http://localhost:7071";
[2024-10-07T00:25:27.226Z] [Info] - (√)Done: Teams Package c:\Users\arechen\Downloads\trey-research\appPackage\build\appPackage.local.zip built successfully!
[2024-10-07T00:25:32.055Z] [Error] - Unable to execute action teamsApp/extendToM365. Error message: undefined
[2024-10-07T00:25:32.058Z] [Error] - Failed to Execute lifecycle provision due to failed action: teamsApp/extendToM365. PackageServiceError:Request failed with status code 400 (tracingId: 00-efb320b0b4e1ddfb66a48bf074ae2a1e-c69d036cc2956f25-01) BadRequest: No elements found in the manifest. . Env output: {"TEAMS_APP_ID":"204e3c33-ead6-4499-a4ef-4bc10c4dbf8e","TEAMS_APP_TENANT_ID":"72f988bf-86f1-41af-91ab-2d7cd011db47","FUNC_NAME":"me","FUNC_ENDPOINT":"http://localhost:7071","TEAMS_APP_UPDATE_TIME":"2024-10-07T00:25:29.6066389+00:00"}
[2024-10-07T00:25:32.060Z] [Info] - Execution summary:
Summary:
(×) Error: Lifecycle stage provision failed.
(√) Done: teamsApp/create was executed successfully.
(√) Done: Teams app with id 204e3c33-ead6-4499-a4ef-4bc10c4dbf8e already exists, skipped creating a new Teams app.
(√) Done: script was executed successfully.
(√) Done: Successfully executed command
(√) Done: teamsApp/zipAppPackage was executed successfully.
(√) Done: teamsApp/update was executed successfully.
(√) Done: Teams app 204e3c33-ead6-4499-a4ef-4bc10c4dbf8e updated successfully
(×) Error: teamsApp/extendToM365 failed.
(×) Error: Request failed with status code 400 (tracingId: 00-efb320b0b4e1ddfb66a48bf074ae2a1e-c69d036cc2956f25-01) BadRequest: No elements found in the manifest.

I'm seeing the same.

I had that issue and it was caused by a reference to the trey-declarative-copilot.json file on the manifest. That reference should be there only after Lab3.

Thanks for reporting, fixed in PR 359
https://github.com/microsoft/copilot-camp/pull/359
This happened because we had to remove the stand-alone API plugin since they are no longer supported, so Lab E2 became about learning and running just the API. The remaining manifest had no features, and Teams wouldn't install it. I could swear I tested but - who knows - anyway I added a static tab to the manifest in the E2 starter files to allow the app to deploy (it is never used). Then in E3 I added a new step to remove the static tab. Please LMK if you are still stuck but you should be able to do E3 and things should start working ...


Provide jet-smearing (including random numbers) within correctionlib

Discussed in https://github.com/cms-nanoAOD/correctionlib/discussions/123

Originally posted by kirschen February  3, 2022
Hi @nsmith- , all,
@lgray brought up the idea of going a step further in what is provided via correctionlib. One classical example of where one would profit from harmonizing is jet energy smearing, see e.g. https://twiki.cern.ch/twiki/bin/viewauth/CMS/JetResolution#Smearing_procedures
Depending on whether or not a genjet is matched (well enough) to a recojet, either the difference between genjet pt and recojet pt is changed or some stochastic smearing is applied. Ideally, the result would be reproducible, e.g. deciding on a standard way to calculate a random number seed (e.g. requiring event/lumisection as input).
Input would be:
recopt, recoeta, genpt, (info for random number seed)
Output:
smeared recopt
Would this still be doable and within scope of correctionlib @nsmith- ?
Cheers,
Henning

Following up on this:
There is a reference implementation of the deterministic smearing https://github.com/cms-sw/cmssw/blob/master/PhysicsTools/PatUtils/interface/SmearedJetProducerT.h#L207-L214
Could a call to the random number generator (and setting the deterministic seed) be included in the formula evaluator or how should this proceed?

I think yes we could add a function to the formula evaluator to generate a deterministic random number. We could also introduce a new node type for this purpose, which might make it a bit more flexible.
But, I think it would be nice to move to something more performant like using an integer hashing function and then apply Box-Muller

Running a small benchmark to see what we can do for per-object deterministic random normal distributions:
// compile with, e.g.
// g++ -Ixxhash/include -Ipcg-cpp/include -Icxx-ziggurat/include --std=c++17 -O2 -Wall hashtest.cpp -o hashtest
#include <vector>
#include <iostream>
#include <random>
#include <chrono>

// https://github.com/RedSpah/xxhash_cpp
#include "xxhash.hpp"

// https://github.com/imneme/pcg-cpp
#include "pcg_random.hpp"

// https://github.com/snsinfu/cxx-ziggurat
#include "ziggurat.hpp"

void stats(const std::vector<double>& out) {
  double mean{0.0};
  for(size_t i=0; i<out.size(); ++i) {
    mean += out[i];
  }
  mean /= out.size();
  std::cout << "mean " << mean << std::endl;
}

int main(void) {
  size_t n {100000};
  std::vector<int> in1(n);
  std::vector<double> in2(n);
  std::vector<double> out(n);

  std::mt19937 gen(42);
  std::exponential_distribution<> d(20);
  for(size_t i=0; i<n; ++i) {
    in1[i] = i;
    in2[i] = d(gen) + d(gen);
  }

  {
    std::cout << "JME current (std::mt19937 + std::normal_distribution)" << std::endl;
    auto tic = std::chrono::high_resolution_clock::now();
    std::normal_distribution<> smear(1, 0.1);
    for(size_t i=0; i<n; ++i) {
      uint32_t seed = in1[i] << 20;
      seed |= reinterpret_cast<uint64_t&>(in2[i]) & 0xFFFFFFFF;
      gen.seed(seed);
      out[i] = smear(gen);
    }
    auto diff = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - tic);
    std::cout << "Ran in " << diff.count() / n << "ns/entry" << std::endl;
    stats(out);
  }

  {
    std::cout << "std::normal_distribution (marsaglia, probably)" << std::endl;
    auto tic = std::chrono::high_resolution_clock::now();
    pcg32_oneseq g;
    for(size_t i=0; i<n; ++i) {
      g.seed(xxh::xxhash<64>({static_cast<uint64_t>(in1[i]), reinterpret_cast<uint64_t&>(in2[i])}));
      // if not a temporary, it sneakily reuses the spare value
      out[i] = std::normal_distribution<>(1, 0.1)(g);
    }
    auto diff = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - tic);
    std::cout << "Ran in " << diff.count() / n << "ns/entry" << std::endl;
    stats(out);
  }

  {
    std::cout << "Marsaglia polar method" << std::endl;
    auto tic = std::chrono::high_resolution_clock::now();
    pcg32_oneseq g;
    float u, v, s;
    for(size_t i=0; i<n; ++i) {
      g.seed(xxh::xxhash<64>({static_cast<uint64_t>(in1[i]), reinterpret_cast<uint64_t&>(in2[i])}));
      do {
        // cheap but wrong-ish https://www.pcg-random.org/using-pcg-c.html#generating-doubles
        u = std::ldexp(g(), -31) - 1;
        v = std::ldexp(g(), -31) - 1;
        s = u*u + v*v;
      } while ( s>= 1.0 || s == 0.0 );
      s = std::sqrt(-2.0 * std::log(s) / s);
      out[i] = 1 + 0.1*u*s;
    }
    auto diff = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - tic);
    std::cout << "Ran in " << diff.count() / n << "ns/entry" << std::endl;
    stats(out);
  }

  {
    std::cout << "Ziggurat" << std::endl;
    auto tic = std::chrono::high_resolution_clock::now();
    pcg32_oneseq g;
    cxx::ziggurat_normal_distribution<double> smear{1.0, 0.1};
    for(size_t i=0; i<n; ++i) {
      g.seed(xxh::xxhash<64>({static_cast<uint64_t>(in1[i]), reinterpret_cast<uint64_t&>(in2[i])}));
      out[i] = smear(g);
    }
    auto diff = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - tic);
    std::cout << "Ran in " << diff.count() / n << "ns/entry" << std::endl;
    stats(out);
  }

  {
    std::cout << "Just the generator" << std::endl;
    auto tic = std::chrono::high_resolution_clock::now();
    pcg32_oneseq g;
    for(size_t i=0; i<n; ++i) {
      g.seed(xxh::xxhash<64>({static_cast<uint64_t>(in1[i]), reinterpret_cast<uint64_t&>(in2[i])}));
      out[i] = std::ldexp(g(), -32)*0.1 + 1;
    }
    auto diff = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - tic);
    std::cout << "Ran in " << diff.count() / n << "ns/entry" << std::endl;
    stats(out);
  }
  return 0;
}

on my machine I get
Ran in 973ns/entry
mean 0.99971
std::normal_distribution (marsaglia, probably)
Ran in 39ns/entry
mean 0.999821
Marsaglia polar method
Ran in 34ns/entry
mean 0.999502
Ziggurat
Ran in 18ns/entry
mean 1.00048
Just the generator
Ran in 9ns/entry
mean 1.04997

I think in general its important to use a proper hash function such as xxhash to seed any generator, see https://blog.unity.com/technology/a-primer-on-repeatable-random-numbers for some discussion on why. Then its a matter of finding a reasonably fast, reproducible normal distribution generator. Technically, the exact algorithm ofstd::normal_distribution is implementation-defined so may differ from compiler to compiler. So we might want to roll our own. One example is shown above.
The idea would then be to define a new HashPRNG node type that takes a collection of inputs (entropy sources, effectively) and returns an output random number from a configurable distribution. This could then be used with Transform nodes or with CompoundCorrection to smear a value as appropriate.

Hi Nick, thanks for the follow-up. Would be great to have this going forward!

Example of a JER smearing correction with the new HashPRNG node:
with gzip.open("../jsonpog-integration/POG/JME/2017_UL/jet_jerc.json.gz") as fin:
    cset = CorrectionSet.parse_raw(fin.read())

cset.corrections = [
    c for c in cset.corrections
    if c.name in (
        "Summer19UL17_V5_MC_L1FastJet_AK4PFchs",
        "Summer19UL17_V5_MC_L2Relative_AK4PFchs",
        "Summer19UL17_JRV2_MC_PtResolution_AK4PFchs",
        "Summer19UL17_JRV2_MC_ScaleFactor_AK4PFchs",
    )
]
cset.compound_corrections = []

res = Correction.parse_obj(
    {
        "name": "JERSmear",
        "description": "Jet smearing tool",
        "inputs": [
            {"name": "JetPt", "type": "real"},
            {"name": "JetEta", "type": "real"},
            {"name": "GenPt", "type": "real", "description": "matched GenJet pt, or -1 if no match"},
            {"name": "Rho", "type": "real", "description": "entropy source"},
            {"name": "EventID", "type": "int", "description": "entropy source"},
            {"name": "JER", "type": "real", "description": "Jet energy resolution"},
            {"name": "JERsf", "type": "real", "description": "Jet energy resolution scale factor"},
        ],
        "output": {"name": "smear", "type": "real"},
        "version": 1,
        "data": {
            "nodetype": "binning",
            "input": "GenPt",
            "edges": [-1, 0, 1],
            "flow": "clamp",
            "content": [
                # stochastic
                {
                    # rewrite gen_pt with a random gaussian
                    "nodetype": "transform",
                    "input": "GenPt",
                    "rule": {
                        "nodetype": "hashprng",
                        "inputs": ["JetPt", "JetEta", "Rho", "EventID"],
                        "distribution": "normal",
                    },
                    "content": {
                        "nodetype": "formula",
                        # TODO min jet pt?
                        "expression": "1+sqrt(max(x*x - 1, 0)) * y * z",
                        "parser": "TFormula",
                        # now gen_pt is actually the output of hashprng
                        "variables": ["JERsf", "JER", "GenPt"],
                    },
                },
                # deterministic
                {
                    "nodetype": "formula",
                    # TODO min jet pt?
                    "expression": "1+(x-1)*(y-z)/y",
                    "parser": "TFormula",
                    "variables": ["JERsf", "JetPt", "GenPt"],
                },
            ],
        },
    }
)
cset.corrections.append(res)

stack = CompoundCorrection.parse_obj(
    {
        "name": "JEC",
        "output": {"name": "sf", "type": "real"},
        "inputs": [
            {"name": "JetPt", "type": "real"},
            {"name": "JetEta", "type": "real"},
            {"name": "JetA", "type": "real"},
            {"name": "Rho", "type": "real"},
        ],
        "inputs_update": ["JetPt"],
        "input_op": "*",
        "output_op": "*",
        "stack": [
            "Summer19UL17_V5_MC_L1FastJet_AK4PFchs",
            "Summer19UL17_V5_MC_L2Relative_AK4PFchs",
        ],
    }
)

cset.compound_corrections.append(stack)
ceval = cset.to_evaluator()

with gzip.open("jectest.json.gz", "wt") as fout:
    fout.write(cset.json(exclude_unset=True))

import rich
rich.print(cset)

Application of a complete JEC would then be something like
jec = ceval.compound["JEC"].evaluate(jets.pt_raw, jets.eta, jets.area, jets.event_rho)
pt_jec = jets.pt_raw * jec
jer = ceval["Summer19UL17_JRV2_MC_PtResolution_AK4PFchs"].evaluate(jets.eta, pt_jec, jets.event_rho)
ptgen = np.where(np.abs(pt_jec - jets.pt_gen) < 3*pt_jec*jer, jets.pt_gen, -1.0)
jersf = ceval["Summer19UL17_JRV2_MC_ScaleFactor_AK4PFchs"].evaluate(jets.eta, "nom")
jersmear = ceval["JERSmear"].evaluate(pt_jec, jets.eta, ptgen, jets.event_rho, jets.event_id, jer, jersf)
pt_final = pt_jec * jersmear


changelog and package version updates for eph

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

processor/README.md
:white_check_mark:Succeeded

processor/changelog.md
:white_check_mark:Succeeded

processor/package-lock.json
:white_check_mark:Succeeded

processor/package.json
:white_check_mark:Succeeded

testhub/commands/eph.ts
:white_check_mark:Succeeded

testhub/commands/receive.ts
:white_check_mark:Succeeded

testhub/commands/send.ts
:white_check_mark:Succeeded

testhub/commands/sendReceive.ts
:white_check_mark:Succeeded

testhub/package-lock.json
:white_check_mark:Succeeded

testhub/package.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Remove Rig Plugin

We don't really need a CentralRequirementsPlugin rather than an integrated set of settings anymore. but I also can just depend on it, so I'm not sure its a problem to leave it like that even without rig

Should unblock as now we can depend on plugins that can interact with scala 2.13.0-M5 directly.


[OSD-12246] Fix naming convention of deploy manifests for boilerplate csv generate

This fixes the naming convention of the deploy manifests so https://github.com/openshift/boilerplate/blob/master/boilerplate/openshift/golang-osd-operator/csv-generate/common-generate-operator-bundle.py will succed.

/lgtm

Codecov Report

Merging #23 (bdf633b) into main (ebe5a3c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #23   +/-   ##
=======================================
  Coverage   39.50%   39.50%
=======================================
  Files          17       17
  Lines         772      772
=======================================
  Hits          305      305
  Misses        435      435
  Partials       32       32


setting up easter directory for the easter season

As the Easter season is starting on the First of April, to contain April Fools, (April 1st) and Earth Day ( April 20th) and of course Easter Celebration.

fixes #128