Synchronization with attachments between different computers.

If i add some item with attachment(PDF) in zotero on one computer, everything works fine, bib file with file field is generated.
But when i synchronize on another computer, the bib file is generated without file field, even the zotero has updated the item with attachment. It seems like the attachment addition does not invoke the update of bib file.

Assuming you are attaching your PDF on computer A, and syncing (through the Zotero server) to computer B, can you do the following:

Enable debug logging in the advanced pane of the BBT preferences on computer B
Attach a new pdf to a reference on computer A
Sync A, then B
Export the corresponding reference on computer B
Right-click the reference on computer B and select "Send BetterBibTeX Error"
Post the resulting debug ID (the red code) here

Could it be that you just submitted KXJD3D6Z? One of the associated references is titled "The evolution of cultural evolution".
If this is yours, you've run out of quota on the Zotero server. If this is your debug ID, are you sure the attachment actually makes it over to computer B?

I just submitted N9KUB9EQ, Thanks.

Which log is from computer A, and which from computer B?

They are all logs from computer B. First i added some chinese paper and get N9KUB9EQ. I'm afraid the log information was not clear, so i added another paper in English and get VQH5JGT8. Sorry for the trouble, you can just see the latter log.

In N9KUB9EQ, I don't see any activity that indicates an attachment being added, so there's nothing to trigger BBT to update the output.

There is activity in VQH5JGT8, so I'd expect to have an export happen there.

I also see auto-export activity in VQH5JGT8, BTW.

Could you try disabling zotfile temporarily to see if that makes a difference?

S28MPUUW is the report with zotfile disabled.

S28MPUUW is the report with zotfile disabled, still no file field exported.

I use webdav to update pdf files, BTW.

If you go into Prefs -> Advanced -> Files and Folders, what do you have "Linked Attachment Base Directory" set to?

I did not set the base directory as well as the data directory location, they are all kept at default value.

I don't understand -- S28MPUUW does show attachments showing up, the cache being invalidated, and  two collections are being exported. So you're saying the collections do export, but on computer B, the file paths are missing -- that's the only difference?
If so, could you try going into BBT advanced prefs, click "reset cache", and try again?

Can you please upgrade to the latest release (1.6.53) and try again? Some things were fixed that might affect this problem (positively, that is).

Upgrading to latest release does not help. But reset cache helps, i have tried several times and confirmed that click "reset cache" and then "export" in automatic export panel will trigger the attachment update in bib file, which is what i wanted.
AZEZ42WG is another report with no attachment update, i hope it will help a little.

I think you have debug logging off in AZEZ42WG, it doesn't show any activity.

It's something specific to webdav syncing. I think I have it reproduced, working on a fix.

Damn, that was a lot of work. Zotero syncs WebDAV hosted attachments in two stages:

Get the metadata from the Zotero Server
Get the attachment data from WebDAV

but it tells extensions that the item has been updated after 1, but nothing after 2. So I kicked off auto-export while the attachment wasn't yet really in, and during export, Zotero would tell me "this is not really an attached file", and boom.
I think I have a workaround. Can you try https://github.com/retorquere/zotero-better-bibtex/releases/download/builds/zotero-better-bibtex-1.6.55-circle-2442.xpi ?

Everything works fine here, great job!


bump lazy_static to 1

Signed-off-by: Igor Gnatenko<EMAIL_ADDRESS>

Ping @BurntSushi
Can this be merged?

@oli-obk Indeed it can! Thanks for the ping. @bors r+

:pushpin: Commit e304cf8 has been approved by BurntSushi

:hourglass: Testing commit e304cf8580d7b17265e1d42eec5be3cc742ba62b with merge 6b6cdef82d4efe3a9be1f93a9184824079845bba...

:sunny: Test successful - status-appveyor, status-travis
Approved by: BurntSushi
Pushing 6b6cdef82d4efe3a9be1f93a9184824079845bba to master...


Import is redundant :)


Unmarshal state.end when boolean

What this PR does / why we need it:
Unmarshal state.end when boolean to follow the end specification
Special notes for reviewers:
Created test unit but I don't know is in the right place.

Hi @ribeiromiranda, many thanks for the PR :)
One suggestion, instead add the unit test to test only the State.End flag, you could reuse some of the ones that are already there and add just the assert. here for example:

https://github.com/serverlessworkflow/sdk-go/blob/main/parser/parser_test.go#L614
https://github.com/serverlessworkflow/sdk-go/blob/main/parser/parser_test.go#L744

However, there are a big change on the States struct to be added, I would kindly ask you for the fix for https://github.com/serverlessworkflow/sdk-go/issues/144 be merged is it direct impacts your changes.

@ribeiromiranda are you going to work on the suggestions made by @spolti?

@spolti Can check? Thanks.

@spolit Add the test in the existing json.Marshal.


Chaos workflow spliting

Proposed changes
Summarize your changes here to communicate with the maintainers and make sure to put the link of that issue
Types of changes
What types of changes does your code introduce to Litmus? Put an x in the boxes that apply

[ ] New feature (non-breaking change which adds functionality)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices applies)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] I have signed the commit for DCO to be passed.
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have added necessary documentation (if appropriate)

Dependency

Please add the links to the dependent PR need to be merged before this (if any).

Special notes for your reviewer:

here i am applying for a mentee in lfx, here i introduce myself , i check all the architectural workflow of chaos exporter provided but litmuschaos and try to help in the open-source contribution . Please bring me in the light of LFX mentorship, I will try my best to dedicate myself to this project.


Update Docker resolver to pass in Authorizer interface

This creates an authorizer interface which can be shared across multiple requests and more configurable for setting the authorization. This fixes a bug today which doesn't case sharing of tokens between resolve and fetch due to creation of a different base object which caches. Additionally this change moves the implementation closer to being focused on the OCI distribution specification while keeping the Docker specific authorization as a separate component.
An additional change can be done later to remove the credentials function after the callers have updated. There is also an additional change to allow the host/scheme specification to be more robust and have better support for mirrored configuration without needing to create multiple instances for each host. I wanted to keep that separate from the authorization component.
Fixes #1005
Fixes #2683

Something not quite right:
failed to resolve reference "docker.io/library/alpine:latest": unexpected status code https://registry-1.docker.io/v2/library/alpine/manifests/latest: 401 Unauthorized


Conflict of CPack in PATH

Describe the bug
There are two cpack.exe in PATH

The alias of choco pack for Chocolatey
The pack module of the CMake suite

The first one (placed in %ChocolateyInstall%\bin\) is in front of the second one (placed in CMake  installtion dir), so when use cpack in cmd, it will call the first one.
But actually, the first one is just an alias, while the second one is an important program, and the second one is more important the the first one.
Area for Triage:
Packages
Question, Bug, or Feature?:
Bug
Virtual environments affected

[ ] macOS 10.15
[ ] Ubuntu 16.04 LTS
[ ] Ubuntu 18.04 LTS
[x] Windows Server 2016 R2
[x] Windows Server 2019

Expected behavior
The cpack in CMake suite is in front of the  alias in PATH, and cpack command will call the second one above.
Actual behavior
The cpack command call the alias
Solution
There are two ways to solve this problem

Remove the alias (can be done with del /F /Q %ChocolateyInstall%\bin\cpack.exe)
Change the PATH order, put the Chocolatey behind CMake

this one is really annoying please fix

Hello, @dragon-archer
The default cmake has been set to - C:\Program Files\CMake\bin\cpack.exe

Feel free to open the thread if you have any concerns.

The same problem is happening again.


LinkPreview widget

If there is now LinkPreview in window - it is disabled. Can be also disabled in widget itself
If it is rendered before ant text - show_above_text=True. Can be overriden by widget itself.
URL - is any Text widget
prefer_small_media and other bool flags can be set in widget

For example, in this code, link is shown above or below the text depedinging on when
Const("A", when="a")
LinkPreview()
Const("B", when="b")

this feature requires refactoring in window rendering logic

I'd do that not with a separate widget, but with link_preview_options argument in the Window class
then we just need to extend the api.entities.new_message.NewMessage class, if that's possible


Fixes potential max value overflow when parsing Clojure data into Java data

Hello,
Please see attached commit for details. The test will fail against the current code, with the fix being to parse as Long by default. This is because number? encompasses both Integer and Long.
Thanks,
Jordan

Hey @jordanrobinson,
I'm confused what happened here. Not only did the PR closed but it's contents disappeared?
Thanks,
Toby

Is the PR no longer relevant?

Hey @tobyclemson, it was about a year old and there were conflicts, so I'm fixing the branch up, it looks like when it rebased it auto-closed this as the commit didn't exist any more on that branch. I'll supply a new one shortly.

Reopened as #7 - let me know if any questions.


Lambda Filtering on custom List

We want to return all Properties (from the base Classes too) and be able to Filter them like $Properties. The custom function in use is:
List<Property> getAllPropertiesForClass(Class c) {
    List<Property> props = new List<Property>();
    Class currentClass = c;
    while(currentClass != null) {
        foreach(Property prop in currentClass.Properties) {
            props.Add(prop);
        }
        currentClass = currentClass.BaseClass;
    }
    return props;
}

The Problem with this function is that typewriter ignores Filtering e.g.

$Properties(p => p.HasSetter) -> Just Properties with Setter are returned
$getAllPropertiesForClass(p => p.HasSetter)  -> All Properties from the List are returned (filtering does NOT working)

Is it possible to instantiate a new PropertyCollection or can we do something else to enable this sort of filtering?

Hi @lexon0011,
I'm afraid there's no support for filtering the result of custom methods. What you can do is to move the fileter inside the custom method e.g.
List<Property> getAllPropertiesForClass(Class c) {
    List<Property> props = new List<Property>();
    Class currentClass = c;
    while(currentClass != null) {
        foreach(Property prop in currentClass.Properties) {
            props.Add(prop);
        }
        currentClass = currentClass.BaseClass;
    }
    return props.Where(p => p.HasSetter).ToList();
}


ToDo: Complete Base MVP

This is just the base product, additional updates will follow.
This MVP will just contain the base visuals for both desktop and mobile devices.

Work on website responsiveness for this base MVP

The MVP has been completed.


numeric strings raise typecheck exception in tooltips

Creating a tooltip with only numeric values in the string:
Tooltip
raises a typeCheck exception since the string is evaluated into a number

Ref #20210.

Hi @desheikh, Can you implement this https://github.com/twbs/bootstrap/pull/20210#issuecomment-229783242 in your PR ? Please

Close due to : #22316


HP Reverb G2 motion controller model not tracked in Unity 2020

Describe the bug
When using the HP Reverb G2 controllers on Unity 2020, the model is loaded at the origin and isn't properly tracked.
Other motion controllers work as expected.
Your setup (please complete the following information)

Unity 2020
MRTK main branch

Target platform (please complete the following information)

WMR immersive

After starting to investigate...i became unable to repro. Not sure what's up with that, but will try again later

I haven't been able to repro lately...closing out


this before super in constructor

As shown in the example: This implementation kind of demands the mixins array to be set in the constructor before the call to super. This might get solved by the introduction of property initialization to Babel or in ES7 (even ES6?).
One workaround would be to pass the mixins array to the super call. But it would definitely not be nice.

One workaround would be to pass the mixins array to the super call. But it would definitely not be nice.

Why not? Of course the component would then be tied to the interface of the super-constructor. But I don't think that's bad.
  super(props, {
    mixins: [HelloMixin]
  });

How about changing it to a method 'getMixins'? will that work in the super-constructor?

Changing it to a method is actually a very, VERY good idea. I didn't think of that. Thank you very much I'll implement it today
I feel like passing it to super conflicts with some other usecases. For example of context. So I wanted to keep that clean.


data file

where use  units.tar.gz and numbers.tar.gz
bcz the bot play not will

If the bot isn't working, you'll need to provide more details about what's not functioning. You usually don't need to adjust units & numbers if you just want to use the bot normally; those files are mainly for developers. Please open an issue with more specific details.


MB-3443 Validate military time fields

Description
The DDFSIT service item requires timeMilitary fields to be passed in by the Prime, but these fields have not been validated to have a consistent format. This PR adds the validation to ensure that all timeMilitary fields passed in are in the HHMMZ format.
Setup

Run your server:

make db_dev_e2e_populate && make server_run

Read the Prime API Wiki to set yourself up to test the Prime API.
Hit the fetchMTOUpdates endpoint. Grab an MTO and MTO Shipment ID to use in your createMTOServiceItem body.
Create a request body for a DDFSIT service item using the createMTOServiceItem endpoint documentation.
Try multiple bogus values for the timeMilitary1 and timeMilitary2 fields, such as:

"0465Z"
"1234557632Z"
"3015Z"
"1245K"
"abcde"

After checking that those inputs all return errors, try a value that should pass the checks, such as "1400Z". Check that the response code is 200.

Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change
Prime API Documentation

Messages

:book:
:link: MB-3443

  Generated by :no_entry_sign: dangerJS against 0bcd0835b122c296282bb6afe8411881342be4e5


RepoM crashing on startup if RepoM.Plugin.Statistics.dll is disabled

RepoM is crashing on startup if RepoM.Plugin.Statistics.dll is disabled
Logs shows just:
00:25:16.434 +01:00 [INF] [1:UI] Started
00:25:16.724 +01:00 [VRB] [1:UI] Monitor.Observe starting
00:25:16.724 +01:00 [VRB] [1:UI] Monitor.Observe ScanRepositoriesFromStoreAsync
00:25:16.725 +01:00 [VRB] [1:UI] Monitor.Observe ObserveRepositoryChanges
00:25:16.725 +01:00 [VRB] [1:UI] ObserveRepositoryChanges start
00:25:16.727 +01:00 [VRB] [1:UI] ObserveRepositoryChanges finished
00:25:16.727 +01:00 [VRB] [1:UI] Monitor.Observe starting detectors
00:25:16.727 +01:00 [VRB] [1:UI] Monitor.Observe starting detectors finished
00:25:16.728 +01:00 [VRB] [1:UI] Monitor.Observe finished

I know, It probably has something to do with the Filtering. Some scorers and require this plugin.

See also the explaining in #173 why this has something to do with Filtering.


[BUG] JSTag value mismatching because of int32 value conversion

After upgrading to flutter 2.7, a string eval result always return null.  Flutter 2.6 works.
Android real device(arm64) has such error. Windows, macOS, iOS and Android Emulator(Google x86_64) work.
Tries to test on flutter_js, find it was extended of this package, the same error there:
https://github.com/abner/flutter_js/issues/65
As the solution provided in above issue, convert int_32 to int_64, everything works.
int_32 and int_64 variables with same value won't be matched in switch-case ? I'm not sure anywhere else may have similar bug because of int_32.

I have the same problem.

https://github.com/abner/flutter_js/commit/d4aa7238e99eb30edb0924394f26af7a7711d316
That's quite a quick fix. If you have time, please release a new version.

Could you pls apply the quick fix for the new release?

Sorry for late reply.
I have upgraded Flutter to 2.11 and tested in my Huawei device and no errors found. Is the bug still existed?

It seems fixed in the latest flutter :thinking:


syntax highlighting

Syntax highlighting glitches in html files

Repro Steps

[create a .html file]
[make a sample html document using the snippet]
[now add empty form tags]
[then add script tags]

Expected: script tag and content should be highlighted
Actual: the script tags and the text inside of them is white
Command History
     -0:03.0 command-palette:toggle (input.hidden-input)
     -0:00.0 bug-report:open (input.hidden-input)

Versions

Atom:       1.55.0
Atom-Shell:
OS:         Microsoft Windows 10 Pro 20H2
Node        14.16.0
Npm         6.14.11
Misc

Could not determine apm version information

This report was created in and posted from the Atom editor using the package bug-report v0.7.1.

Try using Atom nightly. AFIAK it should fix the syntax highlighting issues

Duplicate of #21093

Also, no longer highlighting unicode syntax either... this was a handy feature for those who produce content in Welsh (or other languages that involve lots of different accents).

I am getting incorrect PHP syntax highlighting ($ and test should be one color).
Using Atom 1.56.0.

I have the same issue

I can confirm the incorrect highlighting for PHP reported by @nielsjakob.
There is also a bug with the SCSS syntax.

Here &-image should be the same color as the class name, and the dot should be the same color too. At least it was before.
I started to have these issues after restarting my computer.

I've been noticing many syntax highlighting issues since v1.56, which are still around after updating to v1.57. I'm using the One Dark theme for both UI and Syntax.
The PHP syntax highlighting issue was talked about here, but the answer seems to be a bandaid since the issue actually spans multiple file types. https://github.com/atom/atom/discussions/22321.
Screenshots of the One Dark theme no longer match actual syntax highlighting. Is it expected that the themes will update their styles to return to how things were in Atom v1.55? Why was the additional CSS added to make syntax items gray anyway?
Sass/CSS highlighting issues are more substantial:

CSS not found in Atom v1.55:

I still have syntax highlighting issues in Terraform with the latest 1.58 release. The "overprovisioning" text should all be green.


fix: move validators requirement from dev to dependencies

modified:   pyproject.toml

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9f93226) 89.06% compared to head (e6803b9) 89.06%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #72   +/-   ##
=======================================
  Coverage   89.06%   89.06%
=======================================
  Files          24       24
  Lines        2589     2589
=======================================
  Hits         2306     2306
  Misses        283      283

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


mame 0.171

While waiting for #493, another release just came up.

version bump
test update (string change)
SDL handling update

MACOSX_USE_LIBSDL unified to USE_LIBSDL
pkg-config required
inreplace default static link

Oh, sorry about that! Merged this one in 5adf93d45d08cde73b0a4b8f597a50033845d22a.


Update to v6.2.0

Also, updated the feedstock for conda-smithy version 1.4.3.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


responsive bootstrap for NewProposal,html file

remove @mediaquery from SLCNewproposal.css and edit bootstrap class to create breakpoint.

 remove @mediaquery from SLCNewproposal.css and edit bootstrap class to create breakpoint.

This issue has been resolved by using bootstrap breakpoint and flexbox


img webp support

I see no reason why img playback shouldn't work with webp?

Closing in favour of PR.


cli help output cut off / new lines not showing

The Issue
In account sync, the text after a sync hash and is cut off. On the 2nd example, the new lines are not working and show \n instead. This may be an issue in other commands as well.
C:\Users\thoma\Desktop>lbrynet sync --help
Usage:  lbrynet sync COMMAND ...

positional arguments:
  COMMAND
    apply  Apply incoming synchronization data, if provided, and then produce
           a sync hash and
    hash   Deterministic hash of the wallet.

Options:
  --help   Show this help message and exit.

Run 'lbrynet sync COMMAND --help' for more information on a command.

C:\Users\thoma\Desktop>lbrynet publish --name=test --bid=1 --file_path=Atom.lnk
"Invalid value for 'bid': \nDecimal inputs require a value in the ones place and in the tenths place\nseparated by a period. The value provided, '1', is not of the correct\nformat.\n\nThe following are examples of valid decimal inputs:\n\n1.0\n0.001\n2.34500\n4534.4\n2323434.0000\n\nThe following are NOT valid:\n\n83\n.456\n123.\n"

System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Internal Use
Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

The first issue (cut off text) is resolved by: c225e5faa3371927804f7aac8495c572ce86a7ff
In the second issue, the API call returns a complete response, and the message text is correct (from lbry/wallet/dewies.py), see below.
Recommend to close.
(lbry-venv) patrick@haarp:~/lbry/lbry-sdk$ lbrynet publish --name=test --bid=1 --file_path=Atom.lnk
{
  "code": -32500,
  "data": {
    "args": [],
    "command": "publish",
    "kwargs": {
      "bid": 1,
      "blocking": false,
      "channel_account_id": [],
      "file_path": "Atom.lnk",
      "funding_account_ids": [],
      "languages": [],
      "locations": [],
      "name": "test",
      "optimize_file": false,
      "preview": false,
      "tags": [],
      "validate_file": false
    },
    "name": "ValueError",
    "traceback": [
      "Traceback (most recent call last):",
      "  File \"/home/patrick/lbry/lbry-sdk/lbry/wallet/dewies.py\", line 7, in lbc_to_dewies",
      "    return coins_to_satoshis(lbc)",
      "  File \"/home/patrick/lbry/lbry-sdk/lbry/wallet/util.py\", line 12, in coins_to_satoshis",
      "    raise ValueError(\"{coins} must be a string\")",
      "ValueError: {coins} must be a string",
      "",
      "During handling of the above exception, another exception occurred:",
      "",
      "Traceback (most recent call last):",
      "  File \"/home/patrick/lbry/lbry-sdk/lbry/extras/daemon/daemon.py\", line 5630, in get_dewies_or_error",
      "    dewies = lbc_to_dewies(lbc)",
      "  File \"/home/patrick/lbry/lbry-sdk/lbry/wallet/dewies.py\", line 28, in lbc_to_dewies",
      "    \"\"\"",
      "ValueError: ",
      "Decimal inputs require a value in the ones place and in the tenths place",
      "separated by a period. The value provided, '1', is not of the correct",
      "format.",
      "",
      "The following are examples of valid decimal inputs:",
      "",
      "1.0",
      "0.001",
      "2.34500",
      "4534.4",
      "2323434.0000",
      "",
      "The following are NOT valid:",
      "",
      "83",
      ".456",
      "123.",
      "",
      "",
      "During handling of the above exception, another exception occurred:",
      "",
      "Traceback (most recent call last):",
      "  File \"/home/patrick/lbry/lbry-sdk/lbry/extras/daemon/daemon.py\", line 709, in _process_rpc_call",
      "    result = await result",
      "  File \"/home/patrick/lbry/lbry-sdk/lbry/extras/daemon/daemon.py\", line 3126, in jsonrpc_publish",
      "    return await self.jsonrpc_stream_create(name, **kwargs)",
      "  File \"/home/patrick/lbry/lbry-sdk/lbry/extras/daemon/daemon.py\", line 3319, in jsonrpc_stream_create",
      "    amount = self.get_dewies_or_error('bid', bid, positive_value=True)",
      "  File \"/home/patrick/lbry/lbry-sdk/lbry/extras/daemon/daemon.py\", line 5635, in get_dewies_or_error",
      "    raise ValueError(f\"Invalid value for '{argument}': {e.args[0]}\")",
      "ValueError: Invalid value for 'bid': ",
      "Decimal inputs require a value in the ones place and in the tenths place",
      "separated by a period. The value provided, '1', is not of the correct",
      "format.",
      "",
      "The following are examples of valid decimal inputs:",
      "",
      "1.0",
      "0.001",
      "2.34500",
      "4534.4",
      "2323434.0000",
      "",
      "The following are NOT valid:",
      "",
      "83",
      ".456",
      "123.",
      "",
      ""
    ]
  },
  "message": "Invalid value for 'bid': \nDecimal inputs require a value in the ones place and in the tenths place\nseparated by a period. The value provided, '1', is not of the correct\nformat.\n\nThe following are examples of valid decimal inputs:\n\n1.0\n0.001\n2.34500\n4534.4\n2323434.0000\n\nThe following are NOT valid:\n\n83\n.456\n123.\n"
}


IIS Benchmarks don't run

/cc @jkotalik @shirhatti
Needs investigation on the server as even the windows log is useless in this case .

All that's remaining here is to make sure the benchmark is running (since @jkotalik couldn't do that until merging).

Looks like it started working, but it's now returning bad status codes: https://msit.powerbi.com/groups/b5743765-ec44-4dfc-91df-e32401023530/reports/10265790-7e2e-41d3-9388-86ab72be3fe9/ReportSection30725cd056a647733762?bookmarkGuid=Bookmark59bc684b6462276292bc
See: cloud, IISInProcess, windows, http.

I upgraded to 5.0.x all the things, which must have broken something. Can you check the logs to see what's failing (take it as an exercise, but I am still here to help you if you are blocked more than 30 seconds)

Missing TFM switch: https://github.com/aspnet/Benchmarks/commit/915ae66d5474b0d76a468545cf5c30780210a920.
This is now working 😄


Android crashing with "Didn't find class BluetoothStatusBroadcastReceiver"

So I'm not entirely sure what went wrong here. I changed a handful of things in my project including updating Plugin.Ble from 1.1.0 to 1.2.0. I have an iOS project, a shared PCL and an Android project. Everything was going along smoothly until I went to check that Ble functionality still worked after the updated packages. I tried downgrading back to 1.1.0 but things were still broken. iOS seems to have handled everything just fine. Android is the only platform I'm having issues with.
Steps to reproduce

Update package from 1.1.0 to 1.2.0

Attempt to access bluetooth state in the android project via
 if (CrossBluetoothLE.Current.State != BluetoothState.On)
 {}

Expected behavior
The application doesn't crash.
Actual behavior
App crashes with Java.Lang.ClassNotFoundException
    Didn't find class "md53b4131175a00490468e6c2aa20f7de80.BluetoothStatusBroadcastReceiver" on path: DexPathList[[zip file "/data/app/com.company.app-1/base.apk"],nativeLibraryDirectories=[/data/app/com.company.app-1/lib/arm, /vendor/lib, /system/lib]]

Crashlog
Unfortunately all it says is [External Code]
Configuration
Version of the Plugin: e.g. 1.1.0 and 1.2.0
Platform:  Android 4.4 / 5.0
Device: e.g. Samgsung Galaxy S5 / Moto G
We have a Samsung J3 which displays slightly different behavior. The app doesn't crash but no devices can ever be discovered with it. Yes I did check to see if bluetooth was on and there was a discoverable device nearby.
This seems really weird, any ideas?

Deleting all bin and obj folders and rebuilding seems to have fixed everything for android 4.4 and android 5.


fix: panic in isnan() when no args are given

Which issue does this PR close?
Rationale for this change

What changes are included in this PR?
This PR fixes the panic that happens if no arguments are given to isnan():
before:
❯ select isnan();
thread 'main' panicked at arrow-datafusion/datafusion/functions/src/math/nans.rs:67:39:
index out of bounds: the len is 0 but the index is 0

after:
❯ select isnan();
Error during planning: No function matches the given name and argument types 'isnan()'. You might need to add explicit type casts.
        Candidate functions:
        isnan(Float32)
        isnan(Float64)

Are these changes tested?

Are there any user-facing changes?
no

Hi @SteveLauC , could you add a test in sqllogoctest?

Hi @SteveLauC , could you add a test in sqllogoctest?

Definitely :)


Handle case where input granules are empty

There are cases where one of the the concise input granules is empty. One example is an L2SS-Py + Concise chain with ASCAT L2 data. The swath has a spatial extent of -180,-90,180,90 (global) but a subset of this data may return an empty granule. When this happens Concise encounters errors. Instead, Concise should elegantly handle this scenario, probably by discarding the empty granule in the result.

This is causing the following error:

Unexpected token p in JSON at position 1

The stack trace is:

Traceback (most recent call last):
File "/usr/local/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/usr/local/lib/python3.9/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/worker/podaac/merger/preprocess_worker.py", line 292, in _run_worker
process_groups(dataset, group_list, max_dims, group_metadata, var_metadata, var_info)
File "/worker/podaac/merger/preprocess_worker.py", line 336, in process_groups
get_variable_data(parent_group, var_info, var_metadata)
File "/worker/podaac/merger/preprocess_worker.py", line 428, in get_variable_data
raise RuntimeError('Inconsistent variable schemas')
RuntimeError: Inconsistent variable schemas

and can be recreated with the following request:
https://harmony.earthdata.nasa.gov/C2075141559-POCLOUD/ogc-api-coverages/1.0.0/collections/wind_speed,wind_dir/coverage/rangeset?forceAsync=true&subset=lat(-90%3A0)&subset=lon(-180%3A0)&subset=time("2021-12-20T00%3A00%3A00"%3A"2021-12-20T23%3A59%3A59.999999")&concatenate=true

https://github.com/podaac/concise/pull/15/files

Seems as though this is still an issue.
I tried running
https://harmony.earthdata.nasa.gov/C2075141559-POCLOUD/ogc-api-coverages/1.0.0/collections/wind_speed,wind_dir/coverage/rangeset?forceAsync=true&subset=lat(-90%3A0)&subset=lon(-180%3A0)&subset=time("2021-12-20T00%3A00%3A00"%3A"2021-12-20T23%3A59%3A59.999999")&concatenate=true
again in prod and got
"WorkItem [111007] failed with error: ghcr.io/podaac/concise:0.3.0: Service request failed with an unknown error"

Looking into the kibana logs turned up:
File "/usr/local/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/usr/local/lib/python3.9/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/worker/podaac/merger/preprocess_worker.py", line 299, in _run_worker
    process_groups(dataset, group_list, max_dims, group_metadata, var_metadata, var_info)
  File "/worker/podaac/merger/preprocess_worker.py", line 343, in process_groups
    get_variable_data(parent_group, var_info, var_metadata)
  File "/worker/podaac/merger/preprocess_worker.py", line 436, in get_variable_data
    raise RuntimeError('Inconsistent variable schemas')
RuntimeError: Inconsistent variable schemas

According to https://harmony.earthdata.nasa.gov/versions, l2ss-py version is 1.4.0 and concise is 0.3.0.

I'm wondering if there could be something else going on here. I tested this with the following request
https://harmony.earthdata.nasa.gov/C2075141559-POCLOUD/ogc-api-coverages/1.0.0/collections/wind_speed,wind_dir/coverage/rangeset?forceAsync=true&subset=lat(-30%3A30)&subset=lon(-60%3A60)&concatenate=true&maxResults=15

This succeeds, and looking at each layer in Panoply it seems like at least 2 of the input granules were empty.

I looked into this if we ran this https://harmony.earthdata.nasa.gov/C2075141559-POCLOUD/ogc-api-coverages/1.0.0/collections/wind_speed,wind_dir/coverage/rangeset?forceAsync=true&subset=lat(-90%3A0)&subset=lon(-180%3A0)&subset=time("2021-12-20T00%3A00%3A00"%3A"2021-12-20T23%3A59%3A59.999999") which results in just subsetted files, I noticed that one of the files was not subsetted or didn't have the subsetted filename, i tried concise with these files and it was the one without the subsetted filename that cause the problem.

After further looking into the files it seem like the difference was found in the time variable.
The file without subset in the file
name:time dim_order:('NUMROWS', 'NUMCELLS') fill_value:1.0000000150474662e+30 datatype:float64 group_path:/
The subsetted files
name:time dim_order:('NUMROWS', 'NUMCELLS') fill_value:1.0000000150474662e+30 datatype:float32 group_path:/

Based on Simon's investigation, I think we can close this issue. The above issue will be tracked here: https://github.com/podaac/l2ss-py/issues/80


Scale prop doesn't work with ClipPath on Android only

<Svg height="80" width="80">
    <Defs>
        <ClipPath id="clip">
            <Rect x="0" y="0" width="100%" height="100%" />
            <Path scale="2" d={somePath} />
        </ClipPath>
    </Defs>
    <Rect
        x="0"
        y="0"
        width="100%"
        height="100%"
        clipPath="url(#clip)"
        fill="#fff"
    />
</Svg>

On iOS, this scales up the path.

On Android, there is no effect.

Outside of ClipPath, it works fine.

I encountered the same issue on the last version and the solution I found in my case was to put everything in a G component like this :  ...


Format not supported on datepicker-popup "MM.dd.yy"

This: datepicker-popup="MM.dd.yy"  throws the following error:
TypeError: Cannot read property 'split' of undefined
It failing in the ui-bootstrap.tpls.js file on this line of code:
this.createParser = function(format) {
var map = [], regex = format.split('');
I'm using the following scripts:

<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.11.0/ui-bootstrap-tpls.js"></script>

The same code works just fine in version: 0.10.0

Can you please re-test in Angular 1.3 and UI Bootstrap 0.13? Also, provide a link to a plunkr reproducing your problem.

http://plnkr.co/edit/tY7i7NO3CxGe3NKBVj2O?p=info
it works now with UI Bootstrap 0.13.
To test it, just downgrade the version of UI Bootstrap to 0.11

As this has been fixed for a while, I am closing this issue as old.


Improve UI for selecting metrics filter

Fixes https://github.com/dotnet/aspire/issues/1260

Replace FluentAutoComplete with badges + overflow + button + popup + checkboxes
New dimensions are automatically selected
New values on existing dimensions that have all selected are also selected

Old:

New:

Microsoft Reviewers: Open in CodeFlow

Why is this an improvement? Is this because of aesthetic concerns?

badges + overflow + button + popup + checkboxes

Would appear to be less informative from a non-visual user, and it the explicit text box input makes it more clear that+how these are editable

The original issue details what is wrong with using an autocomplete: https://github.com/dotnet/aspire/issues/1260

Some problems:

The dropdown closes when a tag is selected/unselected. Making multiple changes is clunky.
There isn't a way to quickly select all tags.
If new data with new tags becomes available while the page is open, the data with new tags aren't included in the chart until the page is refreshed. It's confusing that new data isn't immediately visible despite the user taking no action to filter.
The browser's autocomplete displays over the top of the control's dropdown. The conflict is ugly and confusing.
Many or long selected values adds a hard to use scrolling system to the autocomplete content.

For accessibility reasons, I have a feeling this should be a FluentDataGrid. We have data that's very much so "griddy" - items in rows with structured columns.

For accessibility reasons, I have a feeling this should be a FluentDataGrid. We have data that's very much so "griddy" - items in rows with structured columns.

Done


doesn't work with hass 2022.4.0

It probably broke a few months ago but I just noticed it.
2022-04-08 20:47:22 WARNING (MainThread) [homeassistant.helpers.service] Unable to find referenced entities fan.hallway
2022-04-08 20:47:44 ERROR (MainThread) [homeassistant.components.script.house_fan_on] house_fan_on: Error executing script. Invalid data for call_service at pos 1: extra keys not allowed @ data['speed']
2022-04-08 20:47:44 ERROR (MainThread) [homeassistant.helpers.script.whole_house_fan] Whole House Fan: Error executing script. Invalid data for call_service at pos 1: extra keys not allowed @ data['speed']

No a perfect fix, but it works.
https://github.com/bbrendon/homeassistant-quietcool/commit/f311d39100050b2ba31e5eb31618d65a29d9212f


Faster mbedtls_zeroize for MPI

Writes in sizeof(mbedtls_mpi_uint) units usually perform faster than plain chars, also eliminates multiplication by ciL.

Automatic CI verification build not done, please verify manually.

Good catch! Can you also rename the function to mpi_zeroize() in order to avoid confusion? Thanks!

Done. Named it mbedtls_mpi_zeroize() though to preserve naming style.

Reviewed and approved for merge.

Automatic CI verification build not done, please verify manually.

Merged.


Technical whitepaper

co-authored by @sirnicolaz w/ chatgpt4
close #49

@sirnicolaz ready to be merged.


Add tracing to sim_chat

PR summary
Review checklist

[ ] The story has unit or integration tests
[ ] No new bugs, and any tech-debt is identified and justified
[ ] There is enough API documentation (how to use)
[ ] There is enough code documentation (how the code works)

obsolete


moved fsharp library reference

Summary
Describe your changes here.
Fixes #Issue_Number (if available)

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

The markdownlint failures are...enormous. @mairaw what are your thoughts on that, should they all be addressed?

Should we merge this to a migration branch so we can party on this? I think some of the linting errors are probably easy to fix with search and replace on VS Code.

Some things I'm noticing though that would be good to fix since it impacts redirection:

filenames with special characters. We don't need that -[fsharp] on each file name plus some other characters I'm seeing.
repeated words on the file path

Also snippets should have been moved to https://github.com/dotnet/samples/tree/master/snippets/fsharp instead.

Yeah I think a migration branch makes sense.

Migration branch created. Target changed.

@mairaw for updating file names, I think given the amount of files and the requirement, CPS might be a better resource to use. Also is "-[fsharp]" the only thing that needs to be changed? I see other strings in buckets in the file names.

Also snippets should have been moved to https://github.com/dotnet/samples/tree/master/snippets/fsharp instead.

@mairaw can you specify what folder should the snippets be moved to?

I think the snippets could be moved under https://github.com/dotnet/samples/tree/master/snippets/fsharp following as similar name as here
so the file that here is under
docs/fsharp/library-reference/snippets/fsarrays/
would go to snippets/fsharp/fsarrays

@cartermp I'm also wondering if these don't already exist in samples. For example
Is https://github.com/dotnet/samples/tree/master/snippets/fsharp/arrays
the same as https://github.com/kexugit/docs/tree/master/docs/fsharp/library-reference/snippets/fsarrays?

@kexugit given this is a different migration, I'd be open to just drop "-[fsharp]" from the file names if that would make things easier.

@kexugit given this is a different migration, I'd be open to just drop "-[fsharp]" from the file names if that would make things easier.

OK. BTW, is '.' allowed in md file names? a lot of files have '.' in the names.

@mairaw I think all of the snippets already exist in dotnet/samples. In fact, I think I remember importing them and removing the "fs" at the beginning of the name! So they probably don't need to be migrated.

Hey folks, how can we get this to where we can merge it into the migration branch? I'd love to get started on fixing things up, but I first want to make sure it's in a good enough state to live in that branch.

You should be able to merge it @cartermp at any point. Given it's a working branch, there are no requirements. I believe we only need @kexugit to sign the CLA first.
If you have the snippets already, that makes things easier. So you just need to search and replace to fix the paths.
@kexugit periods on the file names are not ideal but are allowed.

@cartermp the CLA is signed. Feel free to merge.

Community docs link https://fsharp.github.io/fsharp-core-docs/

Community docs link https://fsharp.github.io/fsharp-core-docs/


Can not create context in section "Create Azure context"

Following the section "Create Azure context", I can not create context.
If I execute docker context create aci gglsvapicontext, the response is no subscriptions found. Not like the document says "When prompt select your Azure subscription ID.......".
If I execute docker context create aci gglsvapicontext --location japaneast --resource-group hjyContainerGroup --subscription-id "Azure subscription 1", the response also is no subscriptions found.
Tools:

Docker version 20.10.8, build 3967b7d
Azure CLI version:
azure-cli                       2.30.0
core                             2.30.0
telemetry                     1.0.6

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

ID: 920c8ddf-83d1-ba47-5a6e-270b390b33b5
Version Independent ID: df5d92c4-217b-aa4c-ba21-141850548e4a
Content: Tutorial - Use Docker Compose to deploy multi-container group - Azure Container Instances
Content Source: articles/container-instances/tutorial-docker-compose.md
Service: container-instances
GitHub Login: @macolso
Microsoft Alias: macolso

@hjy1210 Thank you for the feedback!  We've assigned this to the document author for further review.

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. Though the scope of our feedback channel here on GitHub covers specific documentation fixes, we can help redirect you to the right support channel to get an answer to your question: [reference to alternative product/service or community endpoint]. Because this issue does not relate to documentation, we are closing this issue. #please-close


WIP JSONAlchemy: any indicator support

Introduces support for accepting MARC fields having any indicator
(when this is appropriate according to the MARC21 standard).
(closes #1722)

Fixes the definition of time_and_place_of_event_note,
series_statement and source_of_description fields.

Signed-off-by: Samuele Kaplun<EMAIL_ADDRESS>Reported-by: Ferran Jorba<EMAIL_ADDRESS>

@egabancho do you think this is going to implement what @fjorba asks for? Do I just need to amend the indicator definitions in the marc-creator part? Or do I have to amend also the @legacy part? If yes, how?

Please, please, please...  Let both indicators be anything.  Please.  It is much easier for everybidy.  A 9 is a (local) valid indicator.  So anything is better that strict values.

@fjorba sure. In my pull request I am not requiring a particular value for an indicator. When MARC defines some values for a given indicator I have amended the configuration to accept any value. However if MARC does say: "undefined" then I have left the indicator as empty. Are you proposing we should not even care about that and simply amend the whole configuration to accept everywhere both indicator1 and 2 regardless of MARC standard?

@kaplun: Are you proposing we should not even care about that and simply amend the whole configuration to accept everywhere both indicator1 and 2 regardless of MARC standard?

Yes, yes!  That's exacty it!  Any value in any indicator in any tag.  Follow the Postel Principle:

Be conservative in what you do, be liberal in what you accept from others.

Let me be your friendly librarian (yes, I do have a librarianship academic title!).

I definitely agree with @fjorba, could it be reflected in this pull request ?

@jirikuncar  I applied the kwalitee remarks.

@kaplun similar fixes would be nice also for invenio-demosite package.


Flesh out a good API to get/set/generate munge keys

Right now the snap just generates a default munge key at startup, but it doesn't set its internal config state with the value, making it impossible to fetch it without having to find the exact file. Furthermore, running mungekey generates a new key, but this also breaks the current stored state. To fix this, the user has to also push the new key to the config with snap set slurm munge.key <KEY>.
Ideally, all of this should be managed by the snap automatically, so it could be nice to find a better API for managing munge keys.

@jedel1043 what would you think about having two additional commands alongside mungekey? We could the following apps easily to the snap:

getmungekey -> write current munge.key file to stdout. We'd want to make it such that only root could execute this command so that we don't have to worry about spilling any secrets. This output could then be captured by the charms and stored as a secret for other apps to use.
setmungekey -> takes a munge key from stdin/$1 and updates the munge.key file. Again something we'd what to ensure that only root could do.
Make a mungekey.wrapper that points the actual mungekey binary to the munge.key location under $SNAP_COMMON

What do you think of this option? We wouldn't use the snap set ... API, but we'd also not need to worry as much about cache coherency for munge. We could still use the snap set ... API though for slurm.conf management as we're not duplicating a secret there.

Yep, that alternative sounds a lot nicer.


Crashes always for me

I create a inbound node, set my REST URL and always takes down my node-red

+1


Added support for cuBLAS and CLBlast in ggml.

To enable either of them use --features cublas or --features clblast when running cargo.
It looks like something went wrong yesterday with the latest commit in ggml and ggml-opencl.* is kind of broken. So clblast in llm won't really work. With the older version of ggml, cblast in llm works.
By enabling the features only the prompt/encoding part will be faster.
It should be working with Ubuntu LTS 22.04 too. I tested it only with Arch.
It is a WIP version for #190.

Awesome! We need a way to find the relevant library files in a cross-platform way, but this is definitely a good start.

Is there anything to do here? What are the next steps, to get this working?

@darxkies What exactly is in the /targets/x86_64-linux/include and /targets/x86_64-linux/lib directories? I'm trying to get cublas working on windows and the cuda directory structure is different 😓

That is where CUDA stores its CUDA Toolkit/SDK files at least in Arch. The two directories are relative to the directory set via CUDA_PATH and in Arch it is set to /opt/cuda. How do you compile it? Do you use WSL or something or directly in Windows?

Im trying to build natively on windows, in WSL the build worked as it's just a normal linux distro. For cuBLAS we only have to support Linux and Windows as you cant fit a nvidia gpu into a mac. Because of this i want to make building natively on windows possible. The directory structure is completely different but i think i'm getting with some documentation and chatGPT.
another problem i'm facing is that nvcc compiler uses MSVC, which means i have to somehow resolve the cuda directory and the local msbuild directory.

@darxkies Would be great, i hacked something together which maybe is kind of working, but i'm still getting weird compiler errors. I'll start taking a look at how llama.cpp moves layers to the gpu instead.

Ok i read the llama.cpp code, and as far as i can guess we need some sort of flag we can set in our ggml crate which we can query at runtime to determine with which backend it was compiled with, as opencl, cuda and metal are all handled differently.

The Rust features cublas and clblast included in the patch could be used for that. No?

Now it compiles on windows with the rust-toolchain and cuda installed, good job 👏Also seams to allocate some VRAM when i try to start an inference session 👍
Are the cuda-specific ggml functions already present in the ggml crate when i compile that way or do i need to implement them manually? @philpax probably something you should know 😓

Is there a way to pass features down to GGML without having to define them in llm-base? Basically, it is possible to have cuBLAS and CLBlast simultaneously baked in. An Enum might not be enough. Right?

I don't think you can have CUBLAS and CLBLAST active at the same time, in my oppinion we should compile ggml only with one acceleration backend at a time, and then vendor the ggml crate with the specific backends. But maybe i'm missing something.

There is no support for generating ggml-cuda bindings as of now. As I understand it the purpose of generate-ggml-bindings is to generate the bindings for ggml. Manually.
For this to work with the new features, generate-ggml-bindings would have to be extended to always generate the bindings for ggml, ggml-cuda and ggml-opencl to three separate files. In the ggml crate, those three Rust files would then be included in lib.rs based on the selected features.

I extended generate-ggml-bindings to generate lib_cuda.rs and lib_opencl.rs which are included into lib.rs dependent on the set feature flag. This should give us access to these functions.

Updated the PR to llama.cpp and so far it works with Arch/cuBLAS/CLBlast & Windows/cuBLAS. Metal support is also included. But it is untested.

Windows/CLBlast works. In the commit are the details on how to use it. It needs more testing.

Could you please add support for HIPBLAS as well? I would be happy to test.

HIBLAS is only in the PR right? It is not in the master branch of llama.cpp as far as I can see.

The proposed patches are just rebinding the HIPBLAS functions to mimic cuBLAS, besides other compilation flags that are added. I think it can be reproduced by adding a custom header with those functions, so no patches would be required.

We should wait until it is in the main branch of llama.cpp otherwise it would get difficult to maintain everything.

I'm also trying to test using CLBlast, but for some reason the compiler is not finding the library in my system. I noticed that it only looks for CLBLAST_PATH and OPENCL_PATH if you are trying to build it on Windows, so wouldn't it be better if you could use those variables to include the file on targets other than Windows as well?

In Windows it is a necessity. For other operating systems, it is usually installed natively and you don't have to deal with it yourself. What operation system did you use? It might be necessary to split the new environment variables to differentiate between include and lib directories.

I'm using nixOS here. I noticed that is precisely the problem, the library is available but not the headers, so the compiler complains about clblast.h being missing. But anyway, that change could be useful if the user wants to use a custom build for clblast, although it shouldn't be common.

Update: I got the library to build, but for some reason my GPU is not supported by libclc. I get the following message:
fatal error: cannot open file '/nix/store/lp8k7v6ifz237wkkky5hwx14d8qik7yq-libclc-16.0.3/share/clc/gfx1030-amdgcn-mesa-mesa3d.bc': No such file or directory

As this is not a problem with CLBlast, I guess I have to wait for HIPBLAS support, unfortunately.

There are now four extra environment variables CLBLAST_INCLUDE_PATH, CLBLAST_LIB_PATH, OPENCL_INCLUDE_PATH, and OPENCL_LIB_PATH to specify the location of the files. Could you please check if it works for NixOS?

The problem I had was related to the way nixOS libs are organized, but I confirm that using the environment variables also work.

This should be ready, @danforbes could you check the documentation before we summon the big guy for a review?
And we need someone to test clblast on MacOS 😅

And we need someone to test clblast on MacOS 😅

I could try this again later, using the environment variables listed earlier I might be able to fix the issue where it couldn’t find CLblast on my machine.

And we need someone to test clblast on MacOS 😅

I could try this again later, using the environment variables listed earlier I might be able to fix the issue where it couldn’t find CLblast on my machine.

$ ls ~/.brew/Cellar/clblast/1.6.0
CHANGELOG		LICENSE			bin			lib
INSTALL_RECEIPT.json	README.md		include			share

$ CLBLAST_PATH=~/.brew/Cellar/clblast/1.6.0 cargo run --release --features clblast mpt infer --model-path ~/Downloads/models/mpt-7b-chat-q4_0-ggjt.bin -p "Once upon a time"

That throws a bunch of warnings and one error:
rror: failed to run custom build command for `ggml-sys v0.2.0-dev (/Users/tommy/Repos/llm/crates/ggml/sys)`

Caused by:
  process didn't exit successfully: `/Users/tommy/Repos/llm/target/release/build/ggml-sys-2d4c323b8b047b52/build-script-build` (exit status: 1)

*snip*

  cargo:warning=llama-cpp/ggml-opencl.cpp:606:25: error: non-aggregate type 'std::atomic_flag' cannot be initialized with an initializer list
  cargo:warning=static std::atomic_flag g_cl_pool_lock = ATOMIC_FLAG_INIT;

@LLukas22 It seems that is an issue that needs to be fixed in llama.cpp. Remove MacOS/CLBlast from the compatibility matrix in the documentation and leave the code as it is?

@darxkies I think we can set CLBlast for macos out-of-scope for now, realistically macos always want to use metal if possible. If its fixed in llama.cpp later on we could enable support via another PR.

@darxkies I agree with philpax, it would be nice if we could move the flag into build.rs somehow. Then we just update the documentation with a hint that clblast is currently broken on mac-os. Give this a final test and merge it.

I wouldn't add the hint that is broken. Just remove it altogether. At least in the documentation.
Regarding the flag, that was the "recommended" way of solving it. I will take a look at it this weekend. Perhaps overriding RUSTFLAGS in build.rs.
Before merging it, it would make sense to update llama.cpp too.

@darxkies Ok the linking stuff doesn't seam to be trivial, the rust book has a short section about it: https://rust-lang.github.io/rfcs/1721-crt-static.html#customizing-linkage-to-the-c-runtime
Regarding the documentation i will just remove the clblast section from mac-os and mark it as unsupported.

Given that, I'd suggest removing the CRT override entirely and moving it to documentation. I suspect that's a decision that's best made by the integrator / application author.

@darxkies I tested my configuration a bit and i cant reproduce the warnings from the compiler when i removed the .cargo file.
I removed it from the PR and added a disclaimer to the documentation, that it may be necessary for certain setups.
What are your thoughts on this?

Very interesting. If you make a cargo clean and then compile with clblast on, the warning should be there. I will take a look at it tomorrow.

I did a git pull, cargo clean, cargo build --release --features clblast and this is the warning I got, that I referred to previously:
warning: cl : Command line warning D9025 : overriding '/MD' with '/MT'


Please create an outside collaborator pull request

usernames
eyss1234
names
Emily Sato
emails
<EMAIL_ADDRESS>org
hmcts
reason
C100 application
added_by
<EMAIL_ADDRESS>review_after
2025-01-04
permission
push
repositories
https://github.com/ministryofjustice/c100-application

Service is hosted on Cloud Platform so user will need to be a full org member. Invite sent. This is not required.


Add support for dynamic properties

We created a kamelet for the OAuth2 authentication that accepts a list of key-value pairs provided by the user, and we tried to use type=object with additionalProperties defined in react-jsonschema-form (used by OpenShift), but it does not render as Karavan uses PatternFly. Is there any way to have a dynamic field with key-value pairs or do you plan to add this feature? Similarly for the arrays. Syntax could be the same as for react-jsonschema-form, e.g.
spec:
  definition:
    title: "Kamelet"
    description: This is a kamelet.
    type: object
    properties:
      title: Form
      type: object
      properties:
        someProperty:
          title: Key-Value Pairs
          type: object
          additionalProperties:
            type: string

We use kamelets extensively and it is a common scenario where properties are not static.

It would be a good addition to the official catalog btw

Can not be solved in Karavan, because Karavan follows Kamelet spec


kie-issues#108: Upgrade patternfly react modules to latest on kie-tools

Upgrades patternfly to the latest release.

@paulovmr @jesuino @caponetto @AjayJagan @Sara4994 @ljmotta @tiagobento guys, I tried everything I was aware of to make sure I broke nothing, but I'd like that you please review your components/webapps to identify any possible issue and let me know.
Thanks!


C_CPP: File Pointer Manipulation Functions

Description
Description
Domain
C/CPP
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Quick question about input format of base and tuned models

Thanks for your great work! I have a quick question about the input format of the base model and the tuned model, such as llama-2 vs. llama-2-chat. Concretely, llama-2-chat uses sequences like [INST], [/INST], <<<SYS>>> and <<</SYS>>> to distinguish the system prompt and user/assistant utterances. See [1], [2], while I think llama-2 may not understand these texts if directly prompted with the same format. So I wonder about the specific input formats of llama-2 and llama-2-chat (and if possible, other base/tuned models).

Hi Chujie,
Thanks for the great question. We use the zero-shot prompting template for untuned llm and use the official template (as you mentioned) for the aligned LLMs. These details are shown in Appendix C on Page 23. And you can also use this web demos to see the concrete prefixes used for base and aligned LLMs: https://allenai.github.io/re-align/tds/llama2/
For example, if you click the token artists, then you can see the two prefixes which are used for inputing base and aligned LLMs respectively.

I hope this answers your question! Thanks!
Best,
Yuchen

Thanks for your reply. It resolves my question!


Building mmcv-full wheel is time consuming

Upon looking into FAQS and this issue, it seems the only resolution to missing mmcv._ext module is just uninstalling mmcv and installing the full package mmcv-full. Meanwhile this solves the problem, library installation becomes very time consuming since building the mmcv-full wheel takes 8-10 mins.
Is there any way around just installing mmcv-full which would reduce installation time? Do we need everything in the mmcv-full package?

You may use pre-build package by pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html.

Thanks. That is much better.


[Bug] Notebook file has been changed on disk

Describe the bug
When saving edits to Jupyter Notebooks in SWB, the following popup appears with high frequency: "Notebook changed The notebook file has changed on disk since the last time we opened or saved it. Do you want to overwrite the file on disk with the version open here, or load the version on disk (reload the page)?
To properly save edits, users must manually select "Overwrite".
To Reproduce
Steps to reproduce the behavior:

Make any edit in a Jupyter Notebook
Save the edits (using command+s or through File>save dialog)
note: While the previous steps will reproduce the behavior, the behavior will also happen at other apparently random times (perhaps due to autosave).

Expected behavior
Changes that a user makes to a Jupyter Notebook will save.
Screenshots

Versions (please complete the following information):

Release Version installed: 3.3.1

Additional context
Add any other context about the problem here.

Hey @simranmakwana, This seems like a Jupyter specific bug and I do see an issue for it in Jupyter Github repo Some folks on the thread have complained about the issue occurring specifically in Chrome browser. Are you using Chrome? And is it possible for you to try out a different browser like Safari or Firefox?
And just to be sure, can you confirm if the file is not being modified concurrently by other users or some other workflow?

Hi @jn1119 , thanks for your response!
We did as you suggested and tested in the 3 different browsers. The same issue occurred every time.
We are sure that the file is not being modified by any other users, but we are not sure about what you mean by the 'workflow' part.
One thing we did notice is that it only appears to happen with files stored in S3.
Based on the issue you linked: https://github.com/jupyter/notebook/issues/484
We think that maybe it could be due to one of the following issues:

the Jupyter notebook and the s3 bucket are doing some kind of autosave, and the timestamps from each do not line up

the time of the s3 bucket is not synced with the time in SWB

Is there any way to check this? Do you know a way to solve it?
@avillach

The root cause is that Goofys kind of lies about the last-modified date.
When a file is modified, the content is updated immediately, but the last-modified date is not. There is a BIG delay ( ~ 1 minute) before Goofys updates the last-modified date.
Small experiment to observe the delay
Here's a small script that updates a file and then prints the last-updated time for the filesystem and for S3
Interestingly, The file is uploaded almost immediately to S3 (you can see the S3 timestamp updated), but it still takes a while for the last-updated date on the file system to get updated
sh-4.2$ echo '=============' && date && ls -la --time-style=full-iso | grep x.txt && aws s3 ls<EMAIL_ADDRESS>| grep x.txt

=============
Wed Sep  8 19:29:20 UTC 2021
-rw-r--r-- 1 ec2-user ec2-user       9 2021-09-08 19:25:48.000000000 +0000 x.txt
2021-09-08 19:25:48          9 x.txt

sh-4.2$ echo "some new text" > x.txt
sh-4.2$ for run in {1..100}; do echo '=============' && date && ls -la --time-style=full-iso | grep x.txt && aws s3 ls<EMAIL_ADDRESS>| grep x.txt;done

=============
Wed Sep  8 19:29:23 UTC 2021
-rw-r--r-- 1 ec2-user ec2-user      14 2021-09-08 19:25:48.000000000 +0000 x.txt
2021-09-08 19:29:24         14 x.txt
=============
Wed Sep  8 19:29:26 UTC 2021
-rw-r--r-- 1 ec2-user ec2-user      14 2021-09-08 19:25:48.000000000 +0000 x.txt
2021-09-08 19:29:24         14 x.txt

...

=============
Wed Sep  8 19:30:23 UTC 2021
-rw-r--r-- 1 ec2-user ec2-user      14 2021-09-08 19:29:24.000000000 +0000 x.txt
2021-09-08 19:29:24         14 x.txt

Detailed sequence of the bug on the Jupyter UI
Jupyter decides whether saving a file would overwrite something else based entirely on the last-modified date. It never hashes the file contents nor anything like that.
Notebook *.ipynb file starts with a last modified at 04:00:00

05:00:00 - Jupyter UI loads the notebook. And stores a last_modified  time of 04:00:00
05:01:00 - User saves notebook changes (or auto save happens). Jupyter UI posts the updated notebook file and gets back a last-modified date of 04:00:00 and stores it as last_modified. This because Goofys does not immediately update the last-modified date
05:02:00 - Behind the scenes, Goofys  finally updates the last-modified date to 05:01:00
05:03:00 - User attempts to save notebook changes (or auto save happens). Jupyter UI makes a request to get a last-modified date and receives 05:01:00. 05:01:00 is greater than the  last_modified of 04:00:00 , so the “overwrite warning popup” is shown.

The issue continues to happen over and over since whenever Jupyter saves the notebook, it always gets back a "bad" last-modified date from Goofys.
When the warning popup appears, you can see in the browser console a msg like:
Last saving was done on `Tue Sep 07 2021 19:22:59 GMT-0500 (Central Daylight Time)`(save-success:2021-09-08T00:22:59Z), while the current file seem to have been saved on `2021-09-08T17:11:34Z`

Updating to goofys 0.24.0 should fix the issue
I ran the same experiment on goofys 0.24.0 and the results are very different (btw It's amazing how FAST the uploads to S3 are. I tested with a 256MB file and it took less than a second). In the latest version the last-updated time is updated at the time the file content is updated.
The “overwrite warning popup” never showed up when using goofys 0.24.0

After deploying the fix, existing SageMaker workspaces need to be restarted to pick up the change. Newly created SageMaker workspaces willnaturally pick up the change as well.

Hi everyone,
First, thank you so much for your prompt response in helping us fix this issue.
I'd like to reopen this issue because although we have seen a decrease in the frequency of this popup message, we are still seeing it in new and restarted SageMaker workspaces.
Please let me know if there is any other information I can provide which may help.


Add DIMO to Ecosystem

What changed? Why?
Add DIMO to the ecosystem list. We have included a short description and a 192x192 PNG logo.
Notes to reviewers
We would like to not merge this before Monday, December 9th at noon Eastern time. We were not sure where in the list to place ourselves, so we followed the last commit that touched this file, which added an entry at the top.
How has it been tested?
Not applicable, I think.

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

We are adding DIMO in #1387 👍


Markdown preview: links to unicode headings are broken

Issue Type: Bug
Example markdown:
# Page

[heading](#heading)

[заголовок](#заголовок)

[επίκεφαλής](#επίκεφαλής)

## Heading

## Заголовок

## Επίκεφαλής

Click to the link navigates to the proper heading in the editor in all 3 cases.
But in the rendered preview window only #heading works.
Reproduces since 1.62.0, was OK in 1.61.2.
VS Code version: Code - Insiders 1.64.0-insider (7b9e5c32a053669d4e72f998e4fa217090c32f59, 2021-12-22T05:15:28.225Z)
OS version: Windows_NT x64 10.0.19041
Restricted Mode: No
Extensions: none
A/B Experiments
vsliv695:30137379
vsins829:30139715
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythontb:30258533
vsc_aa:30263845
pythonvspyt551:30291412
pythonptprofiler:30281269
vshan820:30294714
pythondataviewer:30285072
vscod805cf:30301675
pythonvspyt200:30323110
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30404738
vscop804cf:30404767
vs360cf:30404996
vsclayoutctrt:30405800
py55gd98cf:30408622
vscexrecpromp3t1:30407758
azactmsal:30409287

Direct cause
## Заголовок

gets id="%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA". (https://github.com/microsoft/vscode/blob/a06afb22ce06dbd4f01d3bb5bf946e08bff55180/extensions/markdown-language-features/src/slugify.ts)
[заголовок](#заголовок)

gets href="#%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA". (https://github.com/markdown-it/markdown-it/blob/6e2de08a0b03d3d0dcc524b89710ce05f83a0283/lib/index.js#L47)
Here, only
getElementById("%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA")

can find the <h2> element successfully.
However, the webview
https://github.com/microsoft/vscode/blob/a06afb22ce06dbd4f01d3bb5bf946e08bff55180/src/vs/workbench/contrib/webview/browser/pre/main.js#L437
and fails.
Behind the scene
HTML Standard:

When specified on HTML elements, the id attribute value must be unique amongst all the IDs in the element's tree and must contain at least one character. The value must not contain any ASCII whitespace.
Identifiers are opaque strings. Particular meanings should not be derived from the value of the id attribute.

DOM Standard:

The getElementById(elementId) method steps are to return the first element, in tree order, within this’s descendants, whose ID is elementId; otherwise, if there is no such element, null.

HTML Standard

The indicated part of the document is the one that the fragment, if any, identifies.
For HTML documents
...
If find a potential indicated element with fragment returns non-null, then the return value is the indicated part of the document; return.
...
If find a potential indicated element with decodedFragment returns non-null, then the return value is the indicated part of the document; return.
...
To find a potential indicated element given a string fragment, run these steps:
If there is an element in the document tree that has an ID equal to fragment, then return the first such element in tree order.
...

Thus,
The getElementById() method uses ordinal comparison.

Thus,
The example in #134286 by @ddu6 is indeed invalid HTML.
How an invalid id attribute is handled depends on web browsers.

Thus,
The webview neither before nor after the commit d96ced4f2f3cd1e031cbf41105786853c930c183 reflected the standard correctly.
A possible solution is:
const fragment = node.hash.slice(1);
const scrollTarget = event.view.document.getElementById(fragment) ?? event.view.document.getElementById(decodeURIComponent(fragment));
scrollTarget?.scrollIntoView();

Note that the code above omits a[name] elements, because I think it's not worth handling them.


VAPID. Warning: hex2bin(): Hexadecimal input string must have an even length

Hello.
VAPID sometimes does not work.
hex2bin return false and warning.
My solution:
$privateKeyObject = EccFactory::getNistCurves()->generator256()->createPrivateKey();
$hex = gmp_strval($privateKeyObject->getSecret(), 16);
if (strlen($hex) % 2 != 0) {
    $hex = '0'.$hex;
}
$vapid['privateKey'] = base64_encode(hex2bin($hex));

Same at me, but initially worked:
PHP Warning:  hex2bin(): Hexadecimal input string must have an even length in ...\vendor\minishlink\web-push\src\VAPID.php on line 147
PHP Stack trace:
PHP   1. {main}() ...\batch\batch_wpn.php:0
PHP   2. wpn->genVAPIDKeys() ....\batch\batch_wpn.php:13
PHP   3. Minishlink\WebPush\VAPID::createVapidKeys() ...\component\wpn.class.php:692
PHP   4. hex2bin() ...\vendor\minishlink\web-push\src\VAPID.php:147
Warning: hex2bin(): Hexadecimal input string must have an even length in ...\vendor\minishlink\web-push\src\VAPID.php on line 147

Hi, thanks for the feedback. I'll put a fix asap.


chore: removed code of conduct

This PR remove the code of conduct file

@LizBaker i was thinking of changing the commit message on this, as it's set to chore and this doesn't need to bump the version of the app


REmove SKData.FromMallocMemory (byte [] bytes)

This is wrong, this will merely create a new copy, and we already have a constructor that does that.

Fixed


Fixes for tests_to_html

Fix for running under Python3
Fix for building html even when there is a mismatch of items

This proposal looks good to me, but I'd like @bernardkwok at Autodesk to take a closer look before proceeding.


qrb5165-rb5: drop lt9611uxc-upgrade

Stop installing lt9611uxc-upgrade package, it was found to be confusing
to users. It will be replaced by the notice in the release notes.
Signed-off-by: Dmitry Baryshkov<EMAIL_ADDRESS>

will you remove the recipe as well?

will you remove the recipe as well?

done in both pull requests


Add documentation for css.extract object configuration

What problem does this feature solve?
Currently, the docs for css.extract state that it's of type boolean | Object.
However, valid values for the object-based configuration are not explained nor are there any details on where to look for further info.
I'd assume the library used is mini-css-extract-plugin, but right now it isn't clear from the documentation.
What does the proposed change look like?
Please either add a link to external documentation or add a brief description inline.

Closing this as related PR was merged.


Solve #257, Implement SmartDFSClient

The large work looks great, a good start for SmartDFSClient. Thanks Wei for the quick progress on this major support!

Let's get this in first. Some minors can be refined later.


FlutterInappPurchase.connectionUpdated not working

Version of flutter_inapp_purchase
flutter_inapp_purchase: ^3.0.1
Platforms you faced the error (IOS or Android or both?)
both Android and IOS
Expected behavior
FlutterInappPurchase.connectionUpdated working
Actual behavior
FlutterInappPurchase.connectionUpdated not working when call await FlutterInappPurchase.instance.initConnection
Tested environment (Emulator? Real Device?)
Iphone 7plus (Real Device), Samsung j7 (Real Device)
Steps to reproduce the behavior
Step 1:
var result = await FlutterInappPurchase.instance.initConnection;
Step 2:
_conectionSubscription =
FlutterInappPurchase.connectionUpdated.listen((connected) {
_connectedResult = connected;
print('FlutterInappPurchase connected $connected');
});

Seems to be working now.

I have something even more sinister right now. The initConnection handler calls back
channel.invokeMethod("connection-updated", item.toString());

And it seems that this not only doesn't arrive to the Dart side but it basically hangs the process and it never actually goes on to the next line.

line

Oh may I know which version you are using?

Always the last one, 5.1.0.
Now I made a local copy and I keep investigating but practically, the whole channel communication seems to have problems. Strange.

Basically, this is my local code now:
Future<String?> initConnection() async {
  if (_platform.isAndroid) {
    await _setPurchaseListener();
    print("before call");
    final String? result = await _channel.invokeMethod('initConnection');
    print("never reaches here");
    return result;
  } else ...
}

@deakjahn If I remember correctly, there were lots of question asked for module not being updated. Could you kindly remove the cache and ensure that you have the fresh FlutterInappPurchase module?

I have no cache issues for sure. Right know I'm working on a local copy of the module and all print() and Log.d() printouts I put into the source are immedately picked up on the next compile, so there's no way for anything stale to sneak in. :-)

On an unrelated note, because I checked out the plugin registration as well, I'd suggest to include the same checks into registerWith as well:
public static void registerWith(Registrar registrar) {
isAndroid = isPackageInstalled(registrar.context(), "com.android.vending");
isAmazon = isPackageInstalled(registrar.context(), "com.amazon.venezia");
// In the case of an amazon device which has been side loaded with the Google Play store,
// we should use the store the app was installed from.
if (isAmazon && isAndroid) {
  if (isAppInstalledFrom(registrar.context(), "amazon")) {
    isAndroid = false;
  } else {
    isAmazon = false;
  }
}

or even better, put the check into a separate function and just call from both places.

Well, nothing to do with my trouble, but here it is if you're interested, I did it during my attempts. :-)
The common function:
private void onAttached(Context context, BinaryMessenger messenger) {
  isAndroid = isPackageInstalled(context, "com.android.vending");
  isAmazon = isPackageInstalled(context, "com.amazon.venezia");

  // In the case of an amazon device which has been side loaded with the Google Play store,
  // we should use the store the app was installed from.
  if (isAmazon && isAndroid) {
    if (isAppInstalledFrom(context, "amazon")) {
      isAndroid = false;
    } else {
      isAmazon = false;
    }
  }

  if (isAndroid) {
    androidInappPurchasePlugin = new AndroidInappPurchasePlugin();
    androidInappPurchasePlugin.setContext(context);
    setupMethodChannel(messenger, androidInappPurchasePlugin);
  } else if (isAmazon) {
    amazonInappPurchasePlugin = new AmazonInappPurchasePlugin();
    amazonInappPurchasePlugin.setContext(context);
    setupMethodChannel(messenger, amazonInappPurchasePlugin);
  }
}

and both just call this:
@Override
public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) {
  onAttached(binding.getApplicationContext(), binding.getBinaryMessenger());
}

public static void registerWith(Registrar registrar) {
  FlutterInappPurchasePlugin plugin = new FlutterInappPurchasePlugin();
  plugin.onAttached(registrar.context(), registrar.messenger());
}

@hyochan OK. I found it, finally. You won't like it that much but you'll have to change it. :-) First I'll describe it, then I'll try to look whether I can provide you with a PR. My current code is rather different from your current one, I tweaked it quite a lot but I'll try to incorporate what's needed in your original code.
The underlying problem is relatively new:

https://github.com/flutter/flutter/issues/34993
https://flutter.dev/docs/development/platform-integration/platform-channels#channels-and-platform-threading

Plugins now have to handle threading and make sure that the report the result on the UI thread even if their actual platform code runs on a different one. One good solution is the MethodResultWrapper that the geocoder plugin also applies, this uses a Runnable to run the callbacks (both you calling back to the Dart side and reporting success or failure in result) on the UI thread.

And I made my first test purchase again, successfully. So, let's see the PR. :-)


[BUG] RecursionError from response model in 0.47.1

Describe the bug
FastAPI 0.47.1 will not be able to start due to a RecursionError when there is a circular reference among models. The issue seems to originate from https://github.com/tiangolo/fastapi/pull/889. This works fine in 0.46.0.
Environment

OS: Windows
FastAPI Version: 0.47.1
Python version: 3.7.0

To Reproduce
from typing import Optional

from fastapi import FastAPI
from pydantic import BaseModel, Field

class Group(BaseModel):
    representative: Optional['Person'] = Field(None)

class Person(BaseModel):
    group: Optional[Group] = Field(None)

Group.update_forward_refs()

app = FastAPI()

@app.get('/group/{group_id}', response_model=Group)
def get_group(group_id):
    return []

Expected behavior
No exception
Actual output
Traceback (most recent call last):
  File "test.py", line 21, in <module>
    @app.get('/group/{group_id}', response_model=Group)
  File "D:\virtualenvs\test\lib\site-packages\fastapi\routing.py", line 494, in decorator
    callbacks=callbacks,
  File "D:\virtualenvs\test\lib\site-packages\fastapi\routing.py", line 438, in add_api_route
    callbacks=callbacks,
  File "D:\virtualenvs\test\lib\site-packages\fastapi\routing.py", line 275, in __init__
    ] = create_cloned_field(self.response_field)
  File "D:\virtualenvs\test\lib\site-packages\fastapi\utils.py", line 100, in create_cloned_field
    use_type.__fields__[f.name] = create_cloned_field(f)
  File "D:\virtualenvs\test\lib\site-packages\fastapi\utils.py", line 100, in create_cloned_field
    use_type.__fields__[f.name] = create_cloned_field(f)
  File "D:\virtualenvs\test\lib\site-packages\fastapi\utils.py", line 100, in create_cloned_field
    use_type.__fields__[f.name] = create_cloned_field(f)
  [Previous line repeated 981 more times]
  File "D:\virtualenvs\test\lib\site-packages\fastapi\utils.py", line 97, in create_cloned_field
    original_type.__name__, __config__=original_type.__config__
  File "D:\virtualenvs\test\lib\site-packages\pydantic\main.py", line 773, in create_model
    return type(model_name, (__base__,), namespace)
  File "D:\virtualenvs\test\lib\site-packages\pydantic\main.py", line 152, in __new__
    if issubclass(base, BaseModel) and base != BaseModel:
  File "D:\virtualenvs\test\lib\abc.py", line 143, in __subclasscheck__
    return _abc_subclasscheck(cls, subclass)
RecursionError: maximum recursion depth exceeded in comparison

New exception for above example when using fastapi 0.48.0:
Traceback (most recent call last):
  File "/home/user/Library/Python/3.7/bin/uvicorn", line 8, in <module>
    sys.exit(main())
  File "/home/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/user/Library/Python/3.7/lib/python/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/user/Library/Python/3.7/lib/python/site-packages/uvicorn/main.py", line 323, in main
    run(**kwargs)
  File "/home/user/Library/Python/3.7/lib/python/site-packages/uvicorn/main.py", line 346, in run
    server.run()
  File "/home/user/Library/Python/3.7/lib/python/site-packages/uvicorn/main.py", line 374, in run
    loop.run_until_complete(self.serve(sockets=sockets))
  File "uvloop/loop.pyx", line 1456, in uvloop.loop.Loop.run_until_complete
  File "/home/user/Library/Python/3.7/lib/python/site-packages/uvicorn/main.py", line 381, in serve
    config.load()
  File "/home/user/Library/Python/3.7/lib/python/site-packages/uvicorn/config.py", line 286, in load
    self.loaded_app = import_from_string(self.app)
  File "/home/user/Library/Python/3.7/lib/python/site-packages/uvicorn/importer.py", line 20, in import_from_string
    module = importlib.import_module(module_str)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "./fastapi-bug-894.py", line 21, in <module>
    @app.get('/group/{group_id}', response_model=Group)
  File "/usr/local/lib/python3.7/site-packages/fastapi/routing.py", line 494, in decorator
    callbacks=callbacks,
  File "/usr/local/lib/python3.7/site-packages/fastapi/routing.py", line 438, in add_api_route
    callbacks=callbacks,
  File "/usr/local/lib/python3.7/site-packages/fastapi/routing.py", line 275, in __init__
    ] = create_cloned_field(self.response_field)
  File "/usr/local/lib/python3.7/site-packages/fastapi/utils.py", line 98, in create_cloned_field
    use_type.__fields__[f.name] = create_cloned_field(f)
  File "/usr/local/lib/python3.7/site-packages/fastapi/utils.py", line 98, in create_cloned_field
    use_type.__fields__[f.name] = create_cloned_field(f)
  File "/usr/local/lib/python3.7/site-packages/fastapi/utils.py", line 98, in create_cloned_field
    use_type.__fields__[f.name] = create_cloned_field(f)
  [Previous line repeated 945 more times]
  File "/usr/local/lib/python3.7/site-packages/fastapi/utils.py", line 96, in create_cloned_field
    use_type = create_model(original_type.__name__, __base__=original_type)
  File "/home/user/Library/Python/3.7/lib/python/site-packages/pydantic/main.py", line 780, in create_model
    return type(model_name, (__base__,), namespace)
  File "/home/user/Library/Python/3.7/lib/python/site-packages/pydantic/main.py", line 153, in __new__
    fields.update(deepcopy(base.__fields__))
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 240, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 180, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 280, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 220, in _deepcopy_tuple
    y = [deepcopy(a, memo) for a in x]
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 220, in <listcomp>
    y = [deepcopy(a, memo) for a in x]
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 240, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 180, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 280, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 220, in _deepcopy_tuple
    y = [deepcopy(a, memo) for a in x]
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 220, in <listcomp>
    y = [deepcopy(a, memo) for a in x]
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 240, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 150, in deepcopy
    y = copier(x, memo)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/copy.py", line 238, in _deepcopy_dict
    memo[id(x)] = y
RecursionError: maximum recursion depth exceeded while calling a Python object

Hitting this as well. Can confirm that reverting to 0.46.0 fixes this.

Same issue/workarround.

I've been busy so haven't had a lot of time to look into this just yet.
@zamiramir that's actually very useful information -- I suspect it is related to the cythonization of pydantic.
Any chance you could run from pydantic.version import version_info; print(version_info()) in both environments (MacOS and non-MacOS), and share the output?

I originally reproduced the issue on MacOS (both 0.47 and 0.48). Latest version of Catalina.

@jmagnusson it would be most helpful if you could share the output of the version info function as described above, which includes information about whether pydantic was compiled, etc.

I had pydantic 1.3 installed where the command you specified did not work. However, with 1.4 I get:
python3 -c 'from pydantic.version import version_info; print(version_info())'
             pydantic version: 1.4
            pydantic compiled: False
                 install path: /usr/local/lib/python3.7/site-packages/pydantic
               python version: 3.7.6 (default, Dec 30 2019, 19:38:26)  [Clang 11.0.0 (clang-1<IP_ADDRESS>)]
                     platform: Darwin-19.3.0-x86_64-i386-64bit
     optional deps. installed: ['typing-extensions', 'email-validator']

Same issue with RecursionError: maximum recursion depth exceeded while calling a Python object after Pydantic 1.4 upgrade.

Uninstall pydantic and installed cython first, then pydantic. Still shows pydantic compiled: false.

I've been busy so haven't had a lot of time to look into this just yet.
@zamiramir that's actually very useful information -- I suspect it is related to the cythonization of pydantic.
Any chance you could run from pydantic.version import version_info; print(version_info()) in both environments (MacOS and non-MacOS), and share the output?

Sorry just tested it again, and got the same issue on MacOS. Might be an older version of FastAPI.

I can also confirm this, reverting to 0.46.0 works.

I've also hit this issue, confirming that downgrading to 0.46.0 works.

Still occurs in fastapi==0.52.0.

Hi there, I've suggested another MR to fix this issue. The one of @mateuszz0000 was missing the recursive field resolution and I think local cloning (i.e. keeping dicts of what was cloned) should be preferred before setting another hidden attribute?

Thanks for the discussion here everyone!
This was fixed by @voegtlel in https://github.com/tiangolo/fastapi/pull/1164 :rocket: :tada:
It will be available in the next release (today in a couple of hours).
I'll re-open this issue to give @ysmu a chance to confirm it's fixed and close it.

Fix works for me. Thank you!

Ah thanks for fixing this, our front-end team really appreciates it ;)