ResponseError(without error information) when running with python

simple codes like below
ollama.chat(model='mistral:instruct', messages=[{'role': 'user', 'content': 'Why is the sky blue?'}])
OR
import ollama
response = ollama.chat(model='mistral:instruct', messages=[
  {
    'role': 'user',
    'content': 'Why is the sky blue?',
  },
])
print(response['message']['content'])`

An error is being thrown, but there is no specific issue being printed.
"It works perfectly fine in the command-line interface (CLI) when I run ollama run mistral:instruct
Here is the error
ResponseError                             Traceback (most recent call last)
Cell In[2], [line 1](vscode-notebook-cell:?execution_count=2&line=1)
----> [1](vscode-notebook-cell:?execution_count=2&line=1) ollama.chat(model='mistral:instruct', messages=[{'role': 'user', 'content': 'Why is the sky blue?'}])

File [~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:177](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:177), in Client.chat(self, model, messages, stream, format, options, keep_alive)
    [174](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:174)   if images := message.get('images'):
    [175](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:175)     message['images'] = [_encode_image(image) for image in images]
--> [177](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:177) return self._request_stream(
    [178](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:178)   'POST',
    [179](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:179)   '[/api/chat](https://file+.vscode-resource.vscode-cdn.net/api/chat)',
    [180](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:180)   json={
    [181](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:181)     'model': model,
    [182](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:182)     'messages': messages,
    [183](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:183)     'stream': stream,
    [184](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:184)     'format': format,
    [185](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:185)     'options': options or {},
    [186](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:186)     'keep_alive': keep_alive,
    [187](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:187)   },
    [188](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:188)   stream=stream,
    [189](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:189) )

File [~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:97](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:97), in Client._request_stream(self, stream, *args, **kwargs)
     [91](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:91) def _request_stream(
     [92](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:92)   self,
     [93](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:93)   *args,
     [94](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:94)   stream: bool = False,
     [95](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:95)   **kwargs,
     [96](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:96) ) -> Union[Mapping[str, Any], Iterator[Mapping[str, Any]]]:
---> [97](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:97)   return self._stream(*args, **kwargs) if stream else self._request(*args, **kwargs).json()

File [~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:73](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:73), in Client._request(self, method, url, **kwargs)
     [71](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:71)   response.raise_for_status()
     [72](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:72) except httpx.HTTPStatusError as e:
---> [73](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:73)   raise ResponseError(e.response.text, e.response.status_code) from None
     [75](https://file+.vscode-resource.vscode-cdn.net/Users/kaleemullahqasim/Documents/GitHub/upwork_Sentiment_job/~/Documents/GitHub/upwork_Sentiment_job/.venv/lib/python3.12/site-packages/ollama/_client.py:75) return response

ResponseError:`

I met the same question, debugged the code and found that the error code is 502, I tried to find the place where the response is generated but the code wrapped too deep and is hard to locate precisely.
So I tried to use the python packge request directly and succeeded, here is the code:
import requests
import json

url = "http://localhost:11434/api/chat"
data = {
    "model": "phi3",
    "messages": [
        {
            'role': 'user',
            'content': 'Why is the sky blue?',
        }
    ],
    "stream": False
}

response = requests.post(url, json=data)

if response.status_code == 200:
    response_data = response.json()
    print(json.dumps(response_data, indent=4))
else:
    print(f"status_code{response.status_code}")
    print(response.text)

here is the result:
{
    "model": "phi3",
    "created_at": "2024-05-25T14:55:39.889174Z",
    "message": {
        "role": "assistant",
        "content": " The sky appears blue to the human eye because of a phenomenon called Rayleigh scattering. As sunlight travels through Earth's atmosphere, it encounters molecules and small particles which scatter the light in all directions. Blue light has a shorter wavelength and is scattered more than other colors since it travels as shorter, smaller waves. This selective scattering causes the sky to look blue in the daytime. However, at sunrise and sunset, the light passes through more of Earth's atmosphere, which scatters away most of the blue light, allowing reds, oranges, and yellows to dominate our view."
    },
    "done_reason": "stop",
    "done": true,
    "total_duration":<PHONE_NUMBER>,
    "load_duration":<PHONE_NUMBER>,
    "prompt_eval_count": 13,
    "prompt_eval_duration": 61936000,
    "eval_count": 139,
    "eval_duration":<PHONE_NUMBER>
}


Fix bundling

Looks like commonjs bundling is totally borked via rollupjs.
Issue was brought to light in https://github.com/rpearce/react-medium-image-zoom/issues/146

@0x6e6562 I've found what the issue is and have patched it in a couple of other libraries. I will patch it here tonight.

Should be resolved... I just tested this out in a brand new create-react-app:
$ npx create-react-app my-app
$ cd my-app
$ npm i react-medium-image-zoom@alpha

then
import Zoom from 'react-medium-image-zoom'
import 'react-medium-image-zoom/dist/styles.css'

// ...

<Zoom>
  <img src={logo} className="App-logo" alt="logo" />
</Zoom>

and it looks to be working...

I can confirm that this issue is fixed with ^4.0.0-alpha.9, many thanks for the fix!


Colors for transitions

The transition colors are pretty optimized for Ti:Sa and not for Dye lasers. We need at least the following colors:

[x] orange: red-ish transitions below 700 nm (below Ti:Sa range)
[x] yellow: where it's yellow

This is a problem with the RIMSSchemeDrawer

This has been resolved with PR #23


ChatDoctor: A Medical Chat Model Fine-tuned on LLaMA Model

We have released "ChatDoctor: A Medical Chat Model Fine-tuned on LLaMA Model using Medical Domain Knowledge". Please feel free to try our code and training data.
https://github.com/Kent0n-Li/ChatDoctor

In addition, we provide model weights.

Hi！May I ask, how much computing power do you need to fine-tune this model? How much configuration can be required to inference?Thanks!
I have one V100 ,can I fine-tune my-own model?

Hey guys! Would be nice if somebody would collect such models in a single place. I think a simple .md file at this repository would be enough. I really like the possibilities that Alpaca gives and I want to know what happens around it.

Does healthcare professionals from individual specialties review the quality of the answer generated? And how would a medic help contribute to the project?

Hey guys! Would be nice if somebody would collect such models in a single place. I think a simple .md file at this repository would be enough. I really like the possibilities that Alpaca gives and I want to know what happens around it.

would love that, if you make an Alpaca "awesome-list" repo, we'd be happy to link it on our README

Sure
Sent from my iPhone

On Mar 25, 2023, at 23:20, Yann Dubois @.***> wrote:

Hey guys! Would be nice if somebody would collect such models in a single place. I think a simple .md file at this repository would be enough. I really like the possibilities that Alpaca gives and I want to know what happens around it.
would love that, if you make an Alpaca "awesome-list" repo, we'd be happy to link it on our README
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.


Support GitHub Enterprise

Right now the API endpoint is hardcoded to api.github.com. Would be nice to support custom domains for GitHub Enterprise installations.

Hi! I agree with you
do you know any resource (could be another action) that supports GH Enterprise? I never worked with their APIs

This works: https://github.com/peter-evans/create-issue-from-file

@jonashaag I'll try to support that tomorrow or in the next day, depending on how hard it would be
Feel free to open a PR as well

I've made a minor change that may has solved this but I cannot test as I don't have a enterprise account
@jonashaag let me know if this works in v2.2.0

Thank you for working on this so quickly!
API endpoints seem correct but now I get
Error: Not Found
Error: Something went wrong!

Token is passed correctly.


General: Replace modeling participation auto-save alert with permanent state indicator

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[ ] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Client

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

In modeling exercises, Artemis attempts to auto-save the current state of the model every 30 seconds if something changed. If this succeeds, Artemis is displaying an alert above the modeling editor, causing the editor to be moved down and moved up (if the alert disappears) over and over while someone works on their modeling submission.
I know from practice that this is extremely annoying and interrupts the user workflow as the whole editor is moved 4 times a minute while working on a model; if you're dragging an item while it happens, you miss the target, etc.
See the video below.
Description

This PR removes the auto-save alert that causes the issue, and instead introduces a permanent state indicator about wether or not all changes are saved. It provides the info whenever the user needs to look it up as opposed to the prior alert that only shows what's happening when it happens. I am keeping all other alerts (e.g. for submission confirmation), but the automated alert 2 times a minute needs to vanish... :)
Steps for Testing

Prerequisites:

1 Student
1 Active Modeling Exercise

Open the modeling exercise as a student
The indicator should be green and say "All changes are saved"
Change something. The indicator should change to a yellow "Unsaved changes".
Wait for it to save. While saving, it should show "Saving ...". You can look at this by throttling your browser connection speed in dev tools
After save, it should again show "All changes are saved".

Review Progress

Code Review

[x] Review 1
[ ] Review 2

Manual Tests

[x] Test 1
[x] Test 2

Test Coverage

modeling-editor.component.ts: 49.12% | 53.24%
modeling-submission.component.ts: 74% | 84.83%
Screenshots

Before (annoying):
https://user-images.githubusercontent.com/23171488/143057471-002b83ed-af32-4ce5-8d16-d8d1a6310d44.mov
After:
https://user-images.githubusercontent.com/23171488/143057549-a5e1b611-8c73-4c2c-a44e-40fa248e3a39.mov

@cremertim @Strohgelaender @lBruchmann @mallgaier Thank you for testing it (even tho I added it to your session that late). It's greatly appreciated!

@b-fein I've added your proposed changes! :)


Add support for transaction derivation in persistence model

Summary
Dependencies:
legend-engine: https://github.com/finos/legend-engine/pull/664
How did you test this change?

[x] Test(s) added
[x] Manual testing (please provide screenshots/recordings)
[ ] No testing (please provide an explanation)

Thanks for including the exports.  Few things I think will make it easier for people importing these:

Can we also add a method here to resolvePersistence?

https://github.com/finos/legend-studio/blob/master/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.ts

Wonder if we should also add PERSISTENCE enum here:

https://github.com/finos/legend-studio/blob/master/packages/legend-graph/src/models/protocols/pure/v1/model/packageableElements/V1_PackageableElement.ts#L78

Thanks for including the exports. Few things I think will make it easier for people importing these:

Can we also add a method here to resolvePersistence?

https://github.com/finos/legend-studio/blob/master/packages/legend-graph/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.ts

Wonder if we should also add PERSISTENCE enum here:

https://github.com/finos/legend-studio/blob/master/packages/legend-graph/src/models/protocols/pure/v1/model/packageableElements/V1_PackageableElement.ts#L78

Would these changes introduce an unwanted dependency on the Persistence DSL module? The second only adds a String, so it's only a conceptual dependency, but the first would be a hard one.

@davidsunglee seems like the test for persistence is failing - https://github.com/finos/legend-studio/runs/6528100151?check_suite_focus=true . We will skip that test for now, could you please fix that test? Thanks!

@davidsunglee seems like the test for persistence is failing - https://github.com/finos/legend-studio/runs/6528100151?check_suite_focus=true . We will skip that test for now, could you please fix that test? Thanks!

@akphi Sorry for delay, been out the last week. This test passes for yarn:ci in the context of this PR, so I'll uncomment as part of this change. The engine change required for this PR has been merged but I believe release is still pending.

@akphi @MauricioUyaguari Please review when you have a moment. Thanks!

@rafaelbey Re: An's comment about exports -- I think you need everything in metamodels. Do you also need access to ModelSchema or serialize/deserialize* functions in ProtocolHelpers?

I think we should expose the packageable elements, since these are the ones that others will depend on.
But to help decide, let me show what I depend at the moment:
// todo disable eslint until persistence is exported - https://github.com/finos/legend-studio/pull/1108
// eslint-disable-next-line @finos/legend-studio/no-cross-workspace-non-export-usage
import { Persistence } from '@finos/legend-extension-dsl-persistence/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence';

// eslint-disable-next-line @finos/legend-studio/no-cross-workspace-non-export-usage
import { V1_Persistence } from '@finos/legend-extension-dsl-persistence/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence';

          // todo replace with context.resolvePersistence() once added/released - https://github.com/finos/legend-studio/pull/1108
          metamodel.persistence = context.resolveElement(
            protocol.persistence.path,
            false,
          ) as PackageableElementImplicitReference<Persistence>;

@davidsunglee  - One thing - with the discussion we are having around enhance persistence context, I suspect we wont need any of this since the persistence module itself will handle everything (?)

@rafaelbey That's a good point. We still might need context subtypes to handle e.g. on premise-specific attributes. But either way, I'll reduce export scope to packageable elements, for this PR.

@akphi @rafaelbey I think we're ready to merge this one (Engine changes from https://github.com/finos/legend-engine/pull/664 went in sometime back ...)

@davidsunglee What about the skipped roundtrip test?

@akphi Probably my confusion: I removed the test entirely from the exclusions list, and it looks like it ran in the last roundtrip check (https://github.com/finos/legend-studio/runs/6939226739?check_suite_focus=true). Let me know if I need to do something else ...


Some code adjustments for compatibility with eslint

@nkleber78
Please let me know when a merge is desired (hier or via telegram)


Exception on registering simple service / component

Hi,
I'm making tests to consider using Swinject in a new project (it looks great :) !) ; however, anytime I try to use it, I get a runtime exception.
I tried with a simple code to create a container and register service / component ; and when running the application, I had a runtime exception:
Exception: EXC_BREAKPOINT (code=1, subcode=0x120031088))

In order to be sure the problem didn't come from my code, I simply copied your sample code, what resulted in the same exception on this part of code :
container.register(AnimalType.self) {
_ in Cat(name: "Mimi")
}
I'm using Xcode 7.0 (7A220), OSX 10.11 (15A278b), and added Swinject via Carthage.
Do you have any idea of what might cause this, am I doing something wrong ?
Thanks a lot for your help.

Thank you for using Swinject. Can you provide more code to reproduce the problem? Did you use Swinject version 0.2.1?

Thanks for your fast answer!
I used version 0.2.1, using 'github "Swinject/Swinject" ~> 0.2' in my Cartfile.
Actually I tried again with an empty project to be sure it doesn't come from my project setup, but I get the same result, you can find it there:
http://s000.tinyupload.com/index.php?file_id=04255268079753436693
Let me know if I can do anything to help reproduce the issue or get details about it, and thanks a lot for your help!

You can solve the problem by running carthage update or carthage bootstrap commands with --no-use-binaries option.
carthage update --no-use-binaries
The cause of the problem was that a zipped framework built with Xcode 7 beta 5 was attached to the Swinject release version 0.2.1. I had misunderstanding that the built framework worked with official Xcode 7. I have to release version 0.2.2 with a zipped framework built with Xcode 7.
I really appreciate you posted the problem. Thank you!

Thanks for the fast workaround, I just tried it and it works a lot better, I can start having some fun with Swinject now :) ! Glad it helped a little, and thanks again for your work!


Added hostAliases option for selenium chart

What this PR does / why we need it:
This PR adds hostAliases option to selenium templates and values.
In our current testing project we run the tests in a kubernetes cluster and we need to access 3rd party applications, for integration testing, that are not accessible by default. This is solved by adding hostAliases. I figured someone else might need this, so this is the reason for the PR.
Which issue this PR fixes
There is currently no hostAliases issue for selenium chart.
Special notes for your reviewer:
In review for maintainers<EMAIL_ADDRESS><EMAIL_ADDRESS>Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @paulczar

/ok-to-test

/approve

/lgtm

/assign @seanknox

/test pull-charts-e2e

/retest

hi @davidkarlsen , @prydonius , @seanknox can you give a looks good to me (lgtm) for this PR? Thank you!

/assign @davidkarlsen can you please give a lgtm to this PR? Thank you!

/assign @paulczar can you please also comment with lgtm? Thanks :)

/assign @paulczar

/lgtm


Lost all data in loot tracker

Type
Incorrect behavior
Operating System
Windows
OS Version
windows 11
Bug description
Logged into my runelite account on another pc. when i logged back, all loot tracker info was gone. Is there a way to recover this?
Screenshots or videos
No response
RuneLite version
runelite: <IP_ADDRESS>
launcher: 2.5.0
Logs
client.log
launcher.log
jvm_crash_pid_35052.log

https://github.com/runelite/runelite/wiki/FAQ#my-loot-tracker-data-is-gone

https://github.com/runelite/runelite/wiki/FAQ#my-loot-tracker-data-is-gone

i found the correct profile on the runelite page - how would i export the entire profile or just the loot tracker file into my runelite launcher?

You can't. Make sure you are logged into your RL account and OSRS account, and follow the instructions in the link Alex provided.


SpaServices Webpack Dev Middleware - automatic insertion of "webpack-hot-middleware/client"

I have problem with automatic prepending of "webpack-hot-middleware/client" to each entry in webpack config.
Maybe i have something wrong in my configuration but. i have following configuration (snippet):
entry:
{
    "style": [path.join(__dirname, "content/site.scss")],
    "app": [path.join(__dirname, "app/app.ts")],
    "polyfills-import": path.join(__dirname, "app/polyfills.ts"),
    "vendor-import": path.join(__dirname, "app/vendor.ts")
},
module:
{
    loaders:
    [
        {
            test: /\.ts$/,
            loaders: ['awesome-typescript-loader', 'angular2-template-loader']
        },
        {
            test: /\.html$/,
            loader: 'raw-loader'
        },
        {
            test: /\.json$/,
            loader: 'json-loader'
        },
        {
            test: /\.scss$/,
            loaders: ['style-loader', 'css-loader', 'sass-loader']
        },
        {
            test: /\.(ttf|eot|svg)$/,
            loader: "file-loader"
        }
    ]
},

When you prepend that "webpack-hot-middleware/client" HMR string for each entry point my "style" entry does not inject css into html anymore. It works if you append it, but HMR is still not working for style entry, that means if i change something in scss, file is compiled, but nothing is replaced when finishes.
Maybe this is not problem of this middleware, maybe it is just my configuration which is not correct.
Thank you for your help.

That's strange. I tried to reproduce your issue, but everything worked perfectly well (the styles appeared, and HMR continued to work). So I'm not sure how to know what's going wrong in your case based on your config alone.
Here's the code I used when attempting to repro the issue: https://github.com/aspnet/JavaScriptServices/commit/e971dde6c6ff5c16df88bc746502ee797193088e
Could you let me know whether that works for you? And if you're trying to do something different, what in particular is different in your scenario? Could you describe the full minimal set of changes needed to reproduce the issue based on the Angular2Spa code like in the branch I've linked to?

I'll close this since AFAIK it works and we don't have any repro steps that recreate the originally described issue.
If anyone knows how to repro this, please file a new issue!

Hi thank you very much for your sample commit. Thanks to it i found solution :).
Problem was that i included style.js in  but it must be included in body after vendor.js. Now it is working. Thank you very much again.


New double click to open webUI simultaneously opens context menu

Was very pleased to see this was added.   Went to give it a test drive just now and while double clicking now does open the webui, each click still opens the context menu at the same time lol.
not sure how many windows user we have so i figured id mention it instead of waiting for someone else to :P

Thanks for letting me know! I can probably make the double-click close it. I assume both actions are being called as the clicks happen, and that seems to be the easiest fix. I'll get that into a test build for you to try out soon.

On macOS, double-click opens the menu and closes the menu. Both actions seem to cancel the actual double-click. Triple click opens the web page. It's interesting for sure.


Flix scans doesn't work

Source information
Flix scans 1.4.3
Source language
English
Steps to reproduce

Download the entensions
Click on the entension in the sources tab

Expected behavior
It shows 6 series
Actual behavior
It shows this

Tachiyomi version
0.15.2
Android version
Android 11
Other details
I'm pretty sure the problem is caused by flix scans changing their home page.
When I click on Flixscans.org I get redirected to https://flixscans.org/webtoons/romance/home. On their discord server web status channel, they said that the past few days that their website have been attacked and they're working on solutions. I'm pretty sure this is one of their solutions.
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.1.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

That url may be a temporary solution


remove automatic redirect

Remove automatic redirect (we may implement it in the future properly, need to consider loading time of
Adjust Descope base url doc and usage

some improvements should be made in the future around the UX of the app (in terms for redirect)
but I think this is a good start

No this is not what we want. I do want to redirect if the user is not authenticated. Is that hard to do? That is what I had asked Amol to do and he did it.

No this is not what we want. I do want to redirect if the user is not authenticated. Is that hard to do? That is what I had asked Amol to do and he did it.

I’m not 100% sure because the app is constructed in somewhat a bit complicated way (where the auth route is compound with a  redirect + multiple routes inside the auth component)
something is causing the auth component to render also the dashboard component, which in turn redirect the auth component
this is only reproduce when you pass the project=… url query param
ofc we can make it work, but I would love to do it properly, and construct the app in a simple and straight forward manner

Ok. This makes sense. unforunately in this case we started with an existing
app. Lets visit this when I am back. Leave it for now and leave the issue
open.
On Mon, Dec 26, 2022 at 5:49 PM, Asaf Shen @.***> wrote:

No this is not what we want. I do want to redirect if the user is not
authenticated. Is that hard to do? That is what I had asked Amol to do and
he did it.
I’m not 100% sure because the app is constructed in somewhat a bit
complicated way (where the auth route is compound with a redirect +
multiple routes inside the auth component)
something is causing the auth component to render also the dashboard
component, which in turn redirect the auth component
this is only reproduce when you pass the project=… url query param
ofc we can make it work, but I would love to do it properly, and construct
the app in a simple and straight forward manner
—
Reply to this email directly, view it on GitHub
https://github.com/descope-sample-apps/b2b-sample-app/pull/24#issuecomment-1365453126,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKMP5RBUNM2RXFDTBJX7HDWPIAG7ANCNFSM6AAAAAATJXUO3U
.
You are receiving this because your review was requested.Message ID:
@.***>


Remove "Using present mode" verbose prints in Vulkan and Direct3D 12

These messages were printed every time the swapchain was recreated (e.g. on viewport size change), which could easily end up spamming the output.
The chosen present mode is already displayed when using the Print FPS project setting or command line argument.
cc @DarioSamo - I remember discussing this recently on the Godot Contributors Chat.

Agreed, we've got plenty of other ways to access this information anyway.

Thank you!


fix: properly support multiple types in asyncapi 2.6.0

Description
Some of the AsyncAPI fields support more than an object type. Previously this problem was
"solved" accepting any Object but this approach required castings or directly losing
the generic validations in any consumer code.
Here we propose a different approach. All the multiple type fields use a generic wildcard
(?) providing flexibility when passing the field values. At the same time we add validation,
so if any of those fields receive a value of an unexpected class, an IllegalArgumentException
is thrown informing about the error.
Note this PR is WIP to discuss the approach before making it more generic.
Also, 2 minor fixes related with Maven best practices. Those can be deleted or moved to their own PR.
Related issue(s)
https://github.com/asyncapi/jasyncapi/issues/126

@timonback and me also noticed the issue last week and discussed possible solutions. I think using the wildcard Operator is a possible fix, but we would like to suggest another option which does not use reflection: Cant we use interface to control the types that can be added to the bindings? Something like MessageBindingValues (probably needs a better name) which is then implemented by MessageBinding and Reference. Reference would then implement a lot of those interfaces but I think that would be okay and also reflect the spec where you can use a Reference object in many but not all places. What do you think?

@sam0r040 I will take a look to the interface approach.  I kind of like the MessageBindingValues naming pattern, and yes, Reference may end implementing too many interfaces, but it removes a lot confusion about which class can be used where.

@sam0r040 @timonback Code is refactored to use the proposed interface approach. The resulting code looks quite good, since doesn't require any magic and any undesired field type will fail during compilation.
I am open to better names, since I'm not really attached to MessageBindingValue Maybe something like MessageBindingValueType or MessageBindingObjectType would be more descriptive
@Pakisan what do you think?

@ctasada hi!
Will check it till end of week. Thanks for your PR

@Pakisan have you had the chance to take a look?

@Pakisan Can you have look? Springwolf is depending on jasyncapi and we are kind of waiting for the updates. If you need help maintaining, please reach out to us :)

Hey, folks, @ctasada @sam0r040, sorry for late review
When I viewed this PR for the first time, I thought, it was ok, to use common interface, to prevent wrong values in runtime, but now I'm not sure
Possible Problem:

proposed asyncapi-core/src/main/java/com/asyncapi/v2/MessageTraitValue.java, won't work correctly for MessageTrait, because it has variants for two versions - 2.0.0 and 2.6.0

Goal:

prevent undefined behavior when user crafts its specification from multiple versions

Possible solution:

each version provides its own interfaces, which will be implemented by common parts of the specification, like Reference or MessageBinding

For me, this issue is about how to handle changes like this in the future - when bindings can hold references too, for example
It's actual as never because of new major release. I don't want to bring same problems and limitations to new specification

@Pakisan I have been looking into your proposal
The main problem we are trying to solve is that the current implementation allows for Object in many places. While that's OK for a deserialization process (parse asyncapi.yaml), it's not good enough for a builder API, where we need to be really protective about the types that we accept.
My understanding is that your main concern is regarding how future proof is this approach.
Lets imagine that, in the future, the ComponentsObject.MessageTrait cannot accept a Reference object anymore. Then we will need to remove the MessageTraitValue interface from the Reference implementation list. That will happen in it's own version v.2.X.Y so everything should stay correct. Those interfaces are intended to define behaviours.
In your comment you mention "prevent undefined behavior when user crafts its specification from multiple versions" I'm not sure to understand what would be this scenario.
If you prefer we can also schedule a face-to-face meeting and discuss the alternatives.


License?

pushover.sh is neat and I'd love to use it, but no mention is made of a license (I can't see one in the script or README).
Could you please make it clear how it's licensed?

Thanks for the question! When I started the script it really wasn't worth licensing, but I suppose it's grown enough that it's more than just a simple example. :-)
For now I'll apply the MIT license. If that's an issue for you let me know!

Fine by me (you're the author after all, so it's your prerogative!).
Thanks for the quick response 👍


Adding a CPP file

Hi DipankarSaha94, this is just some random CPP code. :D We need the same functionality as here: https://github.com/Plant-id/Plant-id-API/blob/master/python/sync_identification_example.py but in C++. ;)
If you need API key for testing, fill this form: https://web.plant.id/api-access-request/


Upgrade to react-router v4

React-router v4 is out, and it bundles its own redux middleware.
https://github.com/reacttraining/react-router/tree/master/packages/react-router-redux

Fixed by #513


use Bytes or new crate, instead of BytesMut, in TaggedMessage* to achieve zero-copy networking

something like folly::IOBuf in Rust


Add a Gitter chat badge to README.rst

reverbc/pytest-concurrent now has a Chat Room on Gitter
@reverbc has just created a chat room. You can visit it here: https://gitter.im/pytest-concurrent/Lobby.
This pull-request adds this badge to your README.rst:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

I'd prefer to have the badge on the top of README.rst like the others do. @jamesw96 any objection?

Sounds good to me!


Unable to add weapons to starship character sheets

There's no option to add entries to the "Weapons" tab on the starship character sheet, and dragging an item from the equipment compendium onto the sheet causes the actor sheet to become un-openable.

The following error is thrown to the browser console when I try to drag a weapon onto a starship sheet:
TypeError: item.data.mount is undefined starship.js:138:17

Ah, this issue, #27 . There is an issue with the system where it will allow players to add invalid item types to a starship. You shouldn't be able to add something like an "Azimuth laser pistol" for example. The only valid items types allowed should be starship weapons. If you could, in the actor tab in the side bar, right click on the ship and "Export Data". Then attached the json file that is produced to this ticket so I can take a look at it. If you're adventurous, you could open the file and check the items array and remove any non starshipWeapon items that might be in there. If you do this, make the changes, save the file, then right click on the actor in the sidebar and "Import Data".
I'm aware of the other issue as well. There won't be a fix for it in the next release, but I'll make sure that the release after that allows adding weapons manually.

Attached a zipped json (github didn't like me attaching a json file directly) of a starship actor that I dragged a non-valid item onto.
fvtt-Actor-Hippocampus.zip

OK, re-import this back into your actor and you should be able to open the actor's sheet again. And remember, you should only put Starship weapons on a Starship. There are none in the compendium at the moment, so that might be where some of the confusion comes in. For now, you'll have to create the item in the Items side bar and then drag those to the ship.
fvtt-Actor-Hippocampus.zip

Many thanks! The starship sheet really should have the same function the NPC and character sheets have, where you can just create owned items directly on the sheet. Makes it much easier to quickly add weapons.

Fixed. Will be out in the next release (which will hopefully be sometime this week. no promises though).

Fixed in PR #35


Not compatible with electron?

Hi, I get this error using the library, I'm trying to use the natural Porter stemmer and the sentence tokeniser and in both of them I get the same error
Uncaught Error: ENOENT: no such file or directory, open '//../../../../data/kata-dasar.txt'
    at Object.fs.openSync (fs.js:652:18)
    at Object.module.(anonymous function) [as openSync] (ELECTRON_ASAR.js:172:20)
    at Object.fs.readFileSync (fs.js:553:33)
    at Object.fs.readFileSync (ELECTRON_ASAR.js:508:29)

Thank you.

Are you using the Indonesian stemmer? It seems so because it needs kata-dasar.txt. Could you elaborate a bit more about what you did? And how you required the stemmer? Some code would help to solve this.
Hugo

I can confirm this error with either
import {SentenceAnalyzer, PorterStemmer} from 'natural';
const analyzer = new SentenceAnalyzer("English", PorterStemmer, "afinn");

or the same codes as in README.md


yarn.lock version

Version of dependencies in yarn.lock is confusion, some error happen because dependence is not match

we has renew our yarn file again. you can check out to use it.

using the newest file is correct！

already fix bug


Access .h from other programs, such as doctest?

External programs, such as doctest, need to be aware of the header file. Right now I can just tell them where the header file is directly, but when it’s being installed via Cabal, it’s not in a known (or at least convenient) location. :-/

@quchen programs like doctest need to resolve the CPP include paths via the cabal package db; that's the only proper way to go about this.


Drag into other Sortable divs

I'm wondering if you have tried to get react-anything-sortable to work with multiple target Sortable divs.
My specific use case is that I want to be able to drag items to re-order within a list, but also have the ability to drag the items into labels/buckets.

It's currently unsupported, as for this feature, maybe react-dnd worth a shot, it's more complex but more flexible.

Woah. That's a great lib, thanks for the reference.


Created oc_zoscloudbroker module.

Created oc_zoscloudbroker module.

[X] Created present state.
[X] Created absent state.
[X] Added tests/sanity/sanity.sh script for local or pipeline testing
[X] Added tests/unit/unit.sh script for local or pipeline testing
[X] Added tests/integration/integration.sh script for local or pipeline testing

Verified Sanity, Unit, and Integration tests passed on Ansible v2.16
Example:
- name: Create ZosCloudBroker
  ibm.operator_collection_sdk.oc_zoscloudbroker:
      state: present
      name: zoscloudbroker
      namespace: yemi-test
      accept_license: true
      multi_namespace: true
      log_level: debug
      labels:
          - test=true
          - namespace=yemi-test
      storage:
          enabled: true
          pvc: zoscloudbroker

Closed in favor of #99


Rewrite nix <-> zig target handling

Use the output of zig targets and auto generate as much as possible. On zig it's also possible to target specific macos versions that currently are impossible to sanely describe in zig2nix.
Writing tool using zig itself to handle this mapping is way to go I think.

Fixed with https://github.com/Cloudef/zig2nix/commit/e03e5083c655be382989acde2f2ee523973fbc13 still done fully in nix, but now it's more flexible.
OSX now uses nixpkgs apple sdk by default https://github.com/Cloudef/zig2nix/commit/7cc46dcb6d0d9d0828f6f7fe8e73b45feb738149
This is ignored if you use zigTarget. When using zigTarget zig2nix will keep the build environment as clean as possible


ClientIp is not always the correct type

From out brief Discord convo, I figured I'd open an issue.

The client_ip on connection is (sometimes? always?) returning an unexpected type. ClientIp is defined as pub type ClientIp = Result(#(#(Int, Int, Int, Int), Int), Nil). So, we expect a tuple of 4 Int's but I am receiving a tuple of 8 Int's.
Reproduction
Given a basic TCP server:
import gleam/bit_array
import gleam/bytes_builder
import gleam/erlang/process
import gleam/io
import gleam/option.{None}
import gleam/otp/actor
import glisten.{Packet}

pub fn main() {
  let assert Ok(_) =
    glisten.handler(handle_connection, handle_message)
    |> glisten.serve(3000)

  io.print("Listening on <IP_ADDRESS>:3000\n")

  process.sleep_forever()
}

fn handle_connection(conn: glisten.Connection(_)) {
  let assert Ok(ip) = conn.client_ip
  io.debug(ip)

  #(Nil, None)
}

fn handle_message(msg, state, conn) {
  let assert Packet(msg) = msg
  let assert Ok(str) = bit_array.to_string(msg)

  let assert Ok(_) = glisten.send(conn, bytes_builder.from_bit_array(msg))

  actor.continue(state)
}

Running ncat -4 <IP_ADDRESS> 3000 gives a debug output of #(#(0, 0, 0, 0, 0, 65535, 32512, 1), 58988), which is incorrect. Specifically, this is 8 u16's representing an IpV6, when we want 4 u8's for an IpV4.
From digging, this looks like there just needs to be some check after calling the erlang inet.peername function to ensure the correctly sized values are being shoved into the connection state.

Hey, sorry this kinda flew under my radar for a little bit.
This should be fixed on the master branch, I will be doing a (major) release soon.
It's a slightly different access, where you'll need to call glisten.get_client_info(connection) to get it, but it should now be "correct".  I'm putting this in quotes because I did my best to make sure it's the correct version, but I might have missed something.
If you're able to test this, I would love to know if it resolves the issue :)

I think fixed in v4.0.0.  Let me know if it doesn't work!


smb port defaults to 139 in SMBFS constructor but defaults to 445 in opener

It looks like in the opener, the smb port defaults to 445:
https://github.com/althonos/fs.smbfs/blob/f9baeb4f5967969895d4b8a173eccc843b534e79/fs/opener/smbfs.py#L42-L44
However, in the SMBFS constructor the smb port definitely defaults to 139:
https://github.com/althonos/fs.smbfs/blob/f9baeb4f5967969895d4b8a173eccc843b534e79/fs/smbfs/smbfs.py#L204-L205
I initially didn't notice this issue when I was only working with shares exposed on Linux docker images (similar to the test case for this repo). However, now that I've started also working with local file servers on Windows this discrepancy has caused me no end of trouble.
Going by the pysmb docs, it seems like the most appropriate fix would be to use a default smb port of 139 everywhere.
Another option would be to simply delegate the choice of default port to pysmb

Thanks for you PR!


File browser shows even if permission denied

Thanks for the great reference code!
I noticed an issue which I wanted to point out... if I run the project and deny the permissions dialogs which show at startup, and then click the Choose File button in the webpage, the file browser shows up, even though I haven't given permission for accessing external files. I would expect the file browser to be suppressed until permission is given for accessing external files.
I'm using multiple_files = false, and running the project on a Pixel 2 simulator running Android 8.1.
Thanks again!

Hi,
Thanks and sorry for the late response.
I've fixed the bug by adding condition to check permissions before file explorer clause. You can test the repo and let me know.
And happy new year!

This change works great both in the sample and my own app where I'm implementing it. Thanks for the quick fix!


[IE] Add new API to return the number of logical cores

Details:

item1
...

Tickets:

ticket-id

Looks good to me except the minor comment


Duplicated object

Hey guys,
I've met the following issue:
I have the following class class User: NSManagedObject that has property of class class Country: NSManagedObject. Also I have a list of about 244 countries in database. In the following case I get a duplicated object:

User object has country property = USA
We change user's country to Great Britain
Fetch user profile from server where user's country model is still USA (we did not make a server request to update user's profile so it is fine) and update profile model ParsingService<User>().updateWith(self, with: userDict) and local user model again has USA as a country property
Issue: updateWith method appear to change Great Britain local model to be identical to USA and database would have two objects with USA name.

Is there any way to make ObjectMapper make a new connection if such object already exist?

Hey there, check this issue out #430
You can use the MappableCluster protocol to fetch an existing model during mapping.


Could not find coin with the given id when I call /coins/{id}/contract/{contract_address}

I can get data from https://api.coingecko.com/api/v3/coins/uniswap
so id = uniswap
but when i get data by https://api.coingecko.com/api/v3/coins/uniswap/contract/0x1f9840a85d5af5bf1d1762f925bdaddc4201f984/market_chart?vs_currency=usd&days=7
it show me
{
"error": "Could not find coin with the given id"
}
Kindly help me

Hi!
The id that required for the endpoint /coins/{id}/contract/{contract_address}/market_chart/, should be the id of the platform issuing tokens (not the coin id). It is defined in the description of the parameter for the endpoint at CoinGecko API doc (https://www.coingecko.com/api/docs/v3):

The id of the platform issuing tokens (See asset_platforms endpoint for list of options)

Using as id: ethereum (found from /asset_platforms endpoint), it seems to response properly (https://api.coingecko.com/api/v3/coins/ethereum/contract/0x1f9840a85d5af5bf1d1762f925bdaddc4201f984/market_chart/?vs_currency=usd&days=7):
{
  "prices": [
    [
<PHONE_NUMBER>715,
      17.163310802863062
    ],
    [
<PHONE_NUMBER>759,
      17.640360562103297
    ],

                 ...

  "market_caps": [
    [
<PHONE_NUMBER>715,
<PHONE_NUMBER>.719141
    ],
    [
<PHONE_NUMBER>759,
<PHONE_NUMBER>.252293
    ],

                 ...

  "total_volumes": [
    [
<PHONE_NUMBER>715,
      492328343.20710766
    ],
    [
<PHONE_NUMBER>759,
      451551174.71456736
    ],

                 ...

    [
<PHONE_NUMBER>000,
      213056411.41325995
    ]
  ]
}


Fix UserManager docs and custom token audience in password reset

I noticed that the functions in the docs are named incorrectly so I fixed it 😃
Also, I saw that when using custom a token audience in the password reset feature, the creation of the token still uses the default value instead of the custom one.

Wow, those are very nice catch! Thank you 🙏😄

@all-contributors add @maximka1221 for documentation and bug


Blank screen

When logging in or reloading ui there is a blank GSE screen popping up and the only way to exit it is by clicking on the close button 4 times and each time you click the button it fades slowly (transparency) then will disappear, then it will function normally if I open the mod. Anny Ideas ?

Is this with GSE2?
If you updated manually did you remove GS-SequenceEditor, GS-DraikMacros and GS-Core before you installed the new files?

ok, thats fixed it, thank you so much, love your work ....cheers


Don't pollute stdout

At present classes in FlaUI.Core write data to the console this limit's the ability of consumers to use this library in CLI applications as the library ends up polluting stdout. Please consider allowing consumers of this library to pass alternate loggers, or defaulting to Trace or Debug  for log information.

Thanks for the feedback. Should I add log4net or just use some custom logger classes directly in flaui?

I will open a PR, I think this can be done without adding a heavy weight solution like log4net.

Cool thanks. I had a peek already and like it so far. Pretty much exactly what I would have done :)


Init workflow missing profile flag

Description
The --profile flag that's available in "env init" is missing in the "init" command.
This means that we deploy the "test" environment in the user's default profile (where the project infrastructure is created) instead of possibly a different profile.
Expected Behavior
If the user decides to deploy their application to a staging environment, we should consider prompting them for which profile they'd like to use for their "test" environment.

Note: Should --profile be a global flag (or have a larger scope than for init?


Not all elements get returned in select statement

Hello!
I am very sorry to bother you again. I am faced with some strange behaviour that I don't really understand.
If I do a select where query in cottontail, with a list of string literals, it does not return all the elements that are actually present in the DB. If I do the same query for each string literal separately I get all of the elements.
I strongly suspect that the problem is somehow related to the size of the return value.  I played with different config parameters for cottontail (config.json) but it did not really help.
Procedure to replicate: IMPORTANT: I have sent you the files per E-Mail)

use attached cottontail_client (it contains the select statements used in  "read_example.py")
init cottontail with: "cottontaildb_init_example.py"
import "warren.alcd_db_new.feature_vectors_inceptionv3.proto" to cottontail
run "read_example.py"

Please let me know if I should rather report this issue in the cottontail repository.
Thank you so much for your help!!!
Best, Simon

Hi, the problem is, that the results are returned in multiple messages and you are discarding all except the first one in line 63 of our read_example.py: results = MessageToDict(list(results)[0])
The following snippet would fix your problem:
results = [MessageToDict(element) for element in results]
results = [t for message in results for t in message['tuples']]


Feature/intake form dark mode

05/09/22
What work was done?
Converted the Intake Form to Dark Mode.
Loom video: https://www.loom.com/share/3dba5ba9728b4ce5b56c2b22564dbd7d
Trello card: https://trello.com/c/aiqPKzJ8/67-convert-intake-form-to-dark-mode

Thank you for your feedback @MinaMonsi. I will ask our Release Manager if we will need the uncommented code in the future.

@MinaMonsi Our Release Manager told me that it's ok to leave the commented out code there for now.

Looks good to me, the only thing I saw was actually already answered in the exchange between Marina and yourself!

Looks great! Nice job!


Discard Item in demo results in exception

Describe the bug
When discarding an item, it generates an exception. Sometimes it works, but most of the time there's an exception.
Expected behavior
Item dropped with no exception
Actual behavior
The following exception occurs:
ArgumentException: Cannot drop item if has no prefab set. Please define a prefab on the 'prefab' property inside ItemDataSo
How to Reproduce?
Create Unity 6 project
Import asset
Add v1.5.0 Military Demo scene
Run
Open any inventory
Click W in Backback to generate new items
Right click item and Discard it
99% of the time, Exception occurs. Sometimes an item will discard correctly.
Asset version
1.5.0
Additional information
Running Windows 11, Unity 6 .30f1, v1.5.0 Military Demo

Per the error, you just need to assign a prefab to the 'Prefab' property on the corresponding ItemDataSo of essentially every in-game item you would want to 'discard'. The 1% of the time it's not happening is because you're discarding one of the three items that come pre-configured with a prefab already assigned.
The only ItemDataSo's that come pre-configured with a prefab already assigned are the 'Potion', 'MoneyStackable' and 'BackpackStorage' items. You can find all of those ItemDataSo's in the "Inventory/Samples/Items/Items" directory.

Per the error, you just need to assign a prefab to the 'Prefab' property on the corresponding ItemDataSo of essentially every in-game item you would want to 'discard'. The 1% of the time it's not happening is because you're discarding one of the three items that come pre-configured with a prefab already assigned.
The only ItemDataSo's that come pre-configured with a prefab already assigned are the 'Potion', 'MoneyStackable' and 'BackpackStorage' items. You can find all of those ItemDataSo's in the "Inventory/Samples/Items/Items" directory.

That's good to know! That being said, the demo shouldn't ship without the prefabs already assigned, otherwise everyone running the demo will encounter exceptions.

Per the error, you just need to assign a prefab to the 'Prefab' property on the corresponding ItemDataSo of essentially every in-game item you would want to 'discard'. The 1% of the time it's not happening is because you're discarding one of the three items that come pre-configured with a prefab already assigned.
The only ItemDataSo's that come pre-configured with a prefab already assigned are the 'Potion', 'MoneyStackable' and 'BackpackStorage' items. You can find all of those ItemDataSo's in the "Inventory/Samples/Items/Items" directory.

That's good to know! That being said, the demo shouldn't ship without the prefabs already assigned, otherwise everyone running the demo will encounter exceptions.

Agreed, the creator has built a great asset, but it could still use quite a bit more documentation on how it all works together. Basically all of the docs are geared towards the visual elements of the asset which isn't ideal if you want to change the backend of the inventory system.

Hello @AnthonyPaulO and @taylordragoo,
Thank you both for your valuable feedback!
In the next version, we’ll include more 3D items to ensure that the remaining prefabs are properly assigned. We’ll also take this opportunity to improve the documentation, especially focusing on how the backend of the inventory system works.
We appreciate your insights and support, and we’re committed to making the asset even better. Let us know if there’s anything else you’d like to see improved!
Thank you both again 🚀


lengthen account.name to 50 characters to match AWS name length

lengthen account.name to 50 characters to match AWS name length

Coverage increased (+0.004%) to 71.978% when pulling dd89e83143d2c7ef525986bf939309a37f3ec42a on MKgridSec:aws-account-name-length into e17bb7fc9ac19919d1eaddb0a31ef4d9849e62fe on Netflix:develop.

LGTM


Document watchOS 2 installation instructions

/c @jpsim

Done in https://github.com/realm/realm.io/pull/1015
See https://realm.io/docs/swift/latest/#installation and https://realm.io/docs/objc/latest/#installation


Do not read or handle the issue with objects that are excluded from deletion process

Hello,
I would like to ask if it would be possible to not fully take into account objects which where excluded during deletion of not existing objects in the source.
In general I see this feature works correctly, so for example if I don't want to remove linkedService then indeed it won't be deleted. Problem occurs when LinkedService for example is not created along with Microsoft recommendation (problem with privateKeyContent which is parametrized and not using Azure Key Vault - currently we can not avoid this approach and it can't be easily fixed; similar issue found: https://github.com/Azure-Player/azure.datafactory.tools/issues/85). As I understand your code reads all the objects (even excluded once) at the beginning and later decide whether object should be deleted or not.
Could that be possible to handle that kind of issue in the code? For example to catch the error and check first if it's even a type of the object that should be deleted. That would be really helpful.
Kind Regards
Marta

Hi @NowinskiK :)
Could that be possible to solve this problem in the upcoming months?
I know it's not technically a bug, but from my perspective it's a little bit missleading that I'm excluding the object even from deletion process and it's still somehow taken into account - what leads to error than I'm expecting and that's why I'm excluding it.
Kind regards
Marta Uchimiak

I'm not planning to work on this any soon. This is an edge-case and likely will make more harm in the code over benefits.
If you have time and want to convince me I'm wrong - prepare changes and create PR.
Generally, each ADF should have at least once Linked Service to AKV. If you say it's not possible (?) to do that - it sounds like "security is not important for an organisation", which is already bad start.
In this case, the justification of the problem also becomes irrelevant.

Yes you are right, It’s a good point. I will be analyzing if we can implement such a cases correctly to not run into that types of errors anymore.
I understand also your point of view in this case, so If I have free time and problem on our side won’t be possible to fix, I will think about possible solution in your code and share that with you :)
Thank you!


Allow declutter with image render mode

When selecting both image render mode and declutter, the mode was automatically switched to hybrid.
Using declutter in image render mode is legitimate: within a tile, declutter avoids symbol/text overlaps.
This PR uncouple the render mode and declutter option.

Thanks @ahocevar. Indeed when we render we need to clear the declutter tree between tiles.
I updated the commit and tested locally.

@ahocevar, strange, that should work. Here is a  screenshot from my browser:

I tested with different pixel ratios and it always displayed correctly in my browser.
I also tested in Firefox and Chrome which both work.
What browser did you use? Could you test with another one? Do you have some special set up for your fonts?

Hi @ahocevar, we looked into it with @fredj and here is the explanation:

we render tile by tile:
there is a feature (Mali) shared by 2 tiles;
the left tile (the one displaying Mal) have no collision, the feature is drawn and cut at tile boundary;
the right tile (the one displaying Niger) have a collision, it chose first to display Niger so it is rejecting Mali;
Mali is only drawn to the left tile so appears cut.

To me this looks like the expected behaviour and to match user request.
My suggestion is to modify the examples to:

allow switching between image and hybrid modes;
add text explaining the difference between the 2 modes, notably this limitation.

Another approach would be to reject text/symbols not rendered 100% inside the borders of the tile.
That would eliminate completely the issue (but will create other issues).
What do you think? Have you a preference?

@gberaudo Since it is probably much more effort to make this work correctly, and would also make the code harder to read, I'd be fine with what you currently have. Just make sure to update all documentation. And please no {declutter: true, renderMode: 'image'} in any of the existing examples, and no switches between the two modes. Just document the limitation properly.


chore: normalize all line endings in the repository

I ran git add --renormalize . on the repo, see https://git-scm.com/docs/git-add#Documentation/git-add.txt---renormalize. This is a safe way to normalize all line endings, changing files that have been committed with CLRF to LF.
Copybara does this when copying translation files: https://github.com/Jigsaw-Code/outline-apps/commit/2a544a8ebd54a5d31f9ce81356b8ac0517d60c73. Doing a one-time fix like this separately will make the Copybara copy commits cleaner.

LGTM. Only one thing to double check, are we allowed to change the files in third_party/tap-windows6 (though it's just line endings)?

I just double-checked and I don't think this change affects licensing.


Simplify renaming of facets

Unless I missed something, currently in order to change the facets labels in the search page it is necessary to edit the facets name in several files (tei-to-solr.xml, schema.xml, config.xmap, facet_query.xml). Would it be possible to just change the labels of facets as they appear in the search page instead of having to edit all those files?

Modify solr/results-to-html.xsl, specifically the template matching on lst[@name='facet_fields']/lst/@name in the mode search-results. You can add specific renaming of facets.
Alternatively, since this is wrapped in i18n:text, you can create translations for them (key is the name of the facet prefixed with "facet-". If you're making any use of i18n in your site, this is the better option.


Dynamic options?

Hi,
I need to update startDate and endDate dynamically on two datepickers that form a daterange picker. Currently I destroy and re-initialize the datepicker instances when the date range changes. Is there a better solution? jQueryUI's datepicker can be updated like this but I'd like to stick to yours.
Thanks in advance.
Cheers
Björn

Just use the setStartDate and setEndDate to update it.

Just use the setStartDate and setEndDate methods to update it.

Ah, nice. Thanks!


Update TextInput placeholder to PropTypes.string

Updates TextInput to take a string for placeholder instead of a node in the PropTypes validation.  Currently, TextInput docs indicate it can take a node, but attempts to actually pass in a Text node rather than a simple String result in an error being thrown.  When digging into the actual ios and android code backing the component, placeholder is a string in both cases.
For further detail about the problem being fixed by this, including screenshots and sample code, see https://github.com/facebook/react-native/issues/12525
Test plan (required)
As this code is only updating a PropType on TextInput, it is sufficient to see that a TextInput being passed a node for placeholder will fail prop type validation.  One which is passed a string for placeholder will continue to behave as normal.

@facebook-github-bot shipit

@steveccable - you'll need to sign the CLA for this

@brentvatne Just accepted the CLA.

@brentvatne Um, any idea about the above?  This is my first PR against a facebook project, so I haven't seen this before.

Internally we use a text input native implementation that does actually support react nodes. Apologies for the inconsistency, but this has to stay as-is for now!

@ericvicenti Can we at least get a documentation update so that developers like myself don't try to pass in Nodes by accident and then wonder why it all exploded?

The API reference docs are generated from source, so unfortunately they will state a node is accepted as long as the prop type remains like this.


On a page with "widecontent" aside overlaps usable space

See screenshot:

I can fix this but I need some more info on the approach of the content. Currently the aside is written out although there is no content in it. I'm planning on running a check on the aside block if it has content set in the subtemplate. This way we can still define the HTML for the aside in the main template and not give others 'control' over the structure, which would happen if we move the HTML for the aside to the sub templates. I'll rework the styling for this as well

Fixed in #521


style: update symbols for the next/previous page buttons to make navigation more intuitive

Summary
Currently >> and << symbols are used as next and previous page buttons.

Screenshot

This might confuse users into thinking they'd jump to the last or first page. Replacing them with > and < makes it clear that these buttons navigate one page at a time. This change intends to make the navigation more intuitive and user-friendly.
Change Type

[x] Bug fix (non-breaking change which fixes an issue)

Testing
small style change, no testing needed

thanks, i agree! Approving but this will probably get updated soon to be an infinite scroll similar to ChatGPT


feat(cli): addr-conversion

Motivation
We got a question on Slack on how to convert from a celestia1xxx to a celestiavaloper1xxx address. The implementation in this PR was inspired by zeta-chain
Testing
$ ./build/celestia-appd addr-conversion --help
Reads a celestia1xxx or celestiavaloper1xxx address and converts it to the other type.

Usage:
  celestia-appd addr-conversion [celestia address] [flags]

Examples:
celestia-appd addr-conversion celestia1grvklux2yjsln7ztk6slv538396qatckqhs86z
celestia-appd addr-conversion celestiavaloper1grvklux2yjsln7ztk6slv538396qatck9gj7vy

$ celestia-appd addr-conversion celestia1grvklux2yjsln7ztk6slv538396qatckqhs86z
celestiavaloper1grvklux2yjsln7ztk6slv538396qatck9gj7vy

$ celestia-appd addr-conversion celestiavaloper1grvklux2yjsln7ztk6slv538396qatck9gj7vy
celestia1grvklux2yjsln7ztk6slv538396qatckqhs86z

I can improve the tests

I've tested this and works like a charm, thank you! This is going to be very helpful for us

Thanks for all the feedback! I agree with all of it.
I'm not going to work on this PR further b/c I think @the-smooth-operator was unblocked by using it already. If we get another request for a similar CLI command, I'll revive this PR and address the feedback.


CRLF lines show as modified lines

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
After cloning a git repository, I realized that files with CRLF line endings always show as modified lines (yellow marker on the left), regardless if they were modified or not (git diff output is empty).
Environment
Zed: v0.118.1 (Zed)
OS: macOS 14.2.1
Memory: 36 GiB
Architecture: aarch64
If applicable, add mockups / screenshots to help explain present your vision of the feature
No response
If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.
If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.
No response

I would've guessed that Zed changed these these to LF, but you have no changes at all on your end?

Yup, No modification to the file and it shows that all lines were modified.
All lines are converted to LFs if I actually modify the file.


Add qiita db load_qiime_mapping_file

Now that we have the possibility of loading QIIME mapping files, we should add a subcommand to the db group named load_qiime_mapping_file.

CLI will be minimized: https://github.com/biocore/qiita/issues/1999, closing.


Readmeeeeee

IMPROVE. THE THINGS.
Preview: https://github.com/JohnONolan/Ghost/tree/readmeee

Dat update.

@JohnONolan may I ask if there is any huge difference between Node 0.10.36 and 0.10.37 as 0.10.36 is preferred? :)


Empty-context add-only patches were applied in the wrong place

Empty-context add-only patches were applied in the wrong place, typically one line early.
Pull-request created in response to request by koppor at:
https://github.com/dnaumenko/java-diff-utils/pull/37
Note: this PR is untested as I simply can't get gradle to work and after an hour of frustration I give up.

@catbref We didn't want to frustrate you :) - We can have a chat on gradle if you want. In IntelliJ, one can simply import the project (choose build.gradle). In the command line, it's just ./gradlew check to run the tests.
I just merge and check whether travis likes your changes. 😇

Runs fine --> https://travis-ci.org/java-diff-utils/java-diff-utils/builds/396991134.
Thank you for the PR!
Note that there is another variant (with more stars) at https://github.com/wumpz/java-diff-utils. The code seems to be very different from this. I haven't tried out it. My current aim is to get a release ready which can be included in debian. In parallel, I'm trying to contact @wumpz to join forces and to get a unified library out of it - with a clear license.
Refs https://github.com/java-diff-utils/java-diff-utils/issues/9


NF: Ability to read and import files from GCS

Compressed and/or uncompressed
Use the same -fileslocation making it smart enough to figure it out the address is in GCS

Code in the duckdb branch is using fsspec to communicate with GCS.


Deserialize wire messages into more concrete structs

Currently the Serde structs for Jupyter messages are not deserialized very much, making object traversal code very verbose. The approach used in kernel-sidecar-rs uses more concrete Rust structs. We could use this as well.

message.rs
header.rs
metadata.rs

Done in #65, #62, #58.


Restructure from scripts

The code is currently run using scripts as main entry points (cmip26.py and trainScript.py).
This is not ideal for distributing as they are long scripts that a user needs to run and change details ('magic numbers') in.
These will also not work in the proposed src/ layout.
Scripts should be broken up in to functions with simple entry/call in main package, and grouped with other relvant code.
However, there is a larger discussion that needs to be held to decide how to break up the code.

Separate libraries within this repo for data acquisition/processing and model?

Separate repositories for data acquisition/processing and model?

This starts to feel verbose, but is what is required for Huggingface?

cmip26.py probably needs to be grouped with data acquisition and processing src/gz_ocean_momentum/data/

trainScript.py probably needs to be grouped with src/gz_ocean_momentum/train/

Related:

#4

This is the next large refactoring that we should look at. Mostly a question of how we configure runs, and optionally MLflow. (The training stage in particular I think depends on MLflow to locate data to process. The data processing stage cmip26.py I was able to run without MLflow.)

#85 addresses this for the data step.

#95 does the training step refactor

We're closing this issue as partially done:

The data step was refactored in #85 (will be properly merged in #97), and defines a bunch of library functions which the CLI then calls. Much less top-level code.
The training step was improved in #85 / #97 , with a lot of hardcoded values removed. We didn't perform a larger refactor.
We're not splitting up the code into separate repositories. Lots of coupling remains between steps, and it would be a bit complicated to untangle this (and would mean lots more maintenance stress).
We did general file renamings (again #85 , #97).


consensus-test: remove TestEnvConfig.dev

Prior to this commit, the standard --quickcheck-tests argument to tasty was being ignored.
Checklist

Branch

[x] Commit sequence broadly makes sense
[x] Commits have useful messages
[x] The documentation has been properly updated
[x] New tests are added if needed and existing tests are updated
[x] Any changes affecting Consensus packages must have an entry in the appropriate changelog.d directory created using scriv. If in doubt, see the Consensus release process.
[x] Any changes in the Consensus API (every exposed function, type or module) that has changed its name, has been deleted, has been moved, or altered in some other significant way must leave behind a DEPRECATED warning that notifies downstream consumers. If deprecating a whole module, remember to add it to ./scripts/ci/check-stylish.sh as otherwise stylish-haskell would un-deprecate it.
[x] If this branch changes Network and has any consequences for downstream repositories or end users, said changes must be documented in interface-CHANGELOG.md
[x] If serialization changes, user-facing consequences (e.g. replay from genesis) are confirmed to be intentional.

Pull Request

[x] Self-reviewed the diff
[x] Useful pull request description at least containing the following information:

What does this PR change?
Why these changes were needed?
How does this affect downstream repositories and/or end-users?
Which ticket does this PR close (if any)? If it does, is it linked?

[x] Reviewer requested

Should I wait to merge this until we split the bundles? (because of the changelog entry)

I converted to Draft; we don't want to merge this before we split the two bundles into four: two for implementation and two for testing.

Depends on https://github.com/input-output-hk/ouroboros-network/pull/4448

I rebased to pickup #4448.

bors r+


[plugins/digitalocean][fix] DigitalOcean tagging fixes

Description
Collect all tags where possible, do not store them as resources and correctly handle the null values of tags.
To-Dos

[ ] Add test coverage for new or updated functionality
[ ] Lint and test with tox
[ ] Document new or updated functionality (someengineering/resoto.com#XXXX)

Issues Fixed

Fixes #XXXX

Code of Conduct
By submitting this pull request, I agree to follow the code of conduct.

Only that we will not remove null-valued tags any longer


[9.x] Add equals methods to Collection

I've created some helper methods for comparing Collections using the already present diff methods.
It's basically a short-hand for converting this...
if (
    $collectionA->diff($collectionB)->isEmpty()
    && $collectionB->diff($collectionA)->isEmpty()
) {
    // do something if both collections contain the same values
}

...into this.
if ($collectionA->equals($collectionB)) {
    // do something if both collections contain the same values
}

Why do the tests fail with PHP 8.2 on a test that is completely unrelated to my changes? :astonished:

I suspect this implementation would falsely regard the arrays ['a', 'a', 'b'] and ['a', 'b', 'b'] to be equal. This points to an underlying fundamental problem: your implementation using diff()s is probably correct if the arrays represent two Sets, but for other data structures like lists or hashmaps, there will be different rules for what it means to be 'equal'; e.g. for lists you may expect the ordering within the arrays to be the same, for hashmaps you may want to ensure the same key/value pairs are present.

I suspect this implementation would falsely regard the arrays ['a', 'a', 'b'] and ['a', 'b', 'b'] to be equal.

Ah yes, I totally missed that 🙈

[...] for hashmaps you may want to ensure the same key/value pairs are present.

Isn't that what the 'assoc' version is for?

While I think equals() methods could be useful, I think these nuances should be addressed first, and probably there are other edge cases as well that should be carefully examined.

You're quite right. I was too hasty with my implementation. Thanks for the review!

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Accelerate the code, starting with the inner loops

We need to accelerate the inner loops.
I think the most important things to do would be to accelerate in this order

logsumexp.

This is the largest cost.
After that is accelerated, it's probably worth it to look at:

mbar_gradient - used the most in many algorithms, just a few lines wrapped around logsumexp
self_consistent_iteration - used a lot, also just a few lines.
mbar_hessian - not many lines either, though also calls some other routines such as mbar_W_nk that are themselves relatively short wrappers around logsumexp.

I'd strongly suggest running python -m cprofile -o profile.dat whatever_pymbar_script.py to profile all the calls and then visualize the output with snakeviz.
It will produce a visualization similar to this one, which I found extremely informative to find the bottlenecks.

Ah, I had been using cProfile, but was poring over the text: I didn't know about snakeviz.
Here's three sample profiles of a set of harmonic oscillators, using the adaptive method - all of them converged in 3 self-consistent and 3 Newton-Raphson iterations.
100 states, 25000 samples per state: profile.100x25000.txt
1000 states, 300 samples per state: profile.1000x300.txt
500 states, 1000 samples per state: profile.500x1000.txt
I'm not posting the graphs here, since you need to do a little interactive work to see what is going on, but you can visualize them easily with this.
All of these took about 3-4 minutes. Note that anything bigger (size scales roughly (nsamples/state)*(n_state)^2 starts to cause memory issues, and start running much more slowly because of page faults. All of these ran at about 10G, and took about the same amount of time (1000x300 was slower, but bigger).
Interestingly, I noticed it cycling back and forth between 100% and 400% CPU usage, so some aspects are well-parallelized, and some are not.
So what I identified as the slow parts were indeed, but the balance is not as clear.
logsumexp is the most time-consuming part, but the non-logsumexp parts of mbar_gradient, self_consistent_update, and mbar_hessian were expensive as well if I'm interpreting it correctly.
For example, let's look at self_consistent_update, which consists entirely of
u_kn, N_k, f_k = validate_inputs(u_kn, N_k, f_k)
states_with_samples = (N_k > 0)

# Only the states with samples can contribute to the denominator term.
log_denominator_n = logsumexp(f_k[states_with_samples] - u_kn[states_with_samples].T, b=N_k[states_with_samples], axis=1)

# All states can contribute to the numerator term.
return -1. * logsumexp(-log_denominator_n - u_kn, axis=1)

Looking at the 1000x300 case, self_consistent_update has a 8.1 s/call, but there are only two logsumexp calls, with 1.4 s/call each.  the tottime per call of self_consistent_update is  5.351 s/call., which means that the array reshaping, etc, is taking up a lot of time.
mbar_gradient is:
u_kn, N_k, f_k = validate_inputs(u_kn, N_k, f_k)
log_denominator_n = logsumexp(f_k - u_kn.T, b=N_k, axis=1)
log_numerator_k = logsumexp(-log_denominator_n - u_kn, axis=1)
return -1 * N_k * (1.0 - np.exp(f_k + log_numerator_k))

Also with 2 logsumexp's.  The tottime per call is 2.8 s/call, which means that reformatting rather than logsumexp is about 50% of the time. (Also, validate_inputs is like 0.003 s/call, so it's not that).
mbar_hessian is:
u_kn, N_k, f_k = validate_inputs(u_kn, N_k, f_k)

W = mbar_W_nk(u_kn, N_k, f_k)
H = W.T.dot(W)
H *= N_k
H *= N_k[:, np.newaxis]
H -= np.diag(W.sum(0) * N_k)
return -1.0 * H

Which is 10.557 cumtime/call, with mbar_W_kn 7.705 cumtime/call, with the dot product being a lot of the remainder.
Anyway, it appears that MOST of the cost is in just 4-5 short routines, but it's not ALL in logsumexp.
I'll let other people digest these for a bit, and come back later after I've thought about it a bit.

We are getting closer to getting all the cleanup done, and starting to look at the right way to accelerate.  @jchodera, you seem to be getting rather busy - do you have some ideas for doing the acceleration that I could try?

OK, I started with Jax/Jit, with a couple of drafts.  A few comments.

I wasn't able to get it installing with conda-forge.  I had to use pip, less ideal.  So not sure if this is ready for prime-time until we sort that out. Problematic if it can't just conda-install.  Also, it's failing checks.

I tried two different things:

just turning the most expensive parts into jax, and jitifying them
turning the entire adaptive solver loop into a single jit function.  This took some fiddling, since I needed to declare all of the variables to be static, which may have impacted performance.  But it appears necessary, since the results of the variables are needed for control flow (deciding which branch to use)
I seem to need to force double precision, the loops fail with single precision.

I benchmarked on 5 states with 5M points each, and 1000 states with 20K points each.  The first took about 8GB of memory, the 2nd about 10 GB.  I didn't go higher since I didn't want timings limited by writing to disk.

I have not tried to run on GPU yet.  Can't do it on my laptop, haven't gotten to running it somewhere else yet.

I'm attaching a tarred gzip with 6 profiles (listed with the total times) for those who want to inspect more.

profile_pymbar4_100x2p4.dat  (147 s)
profile_partial_jit_100x2p4.dat  (72 s)
profile_adaptive_jit_100x2p4.dat   (208 s)
profile_pymbar4_5x5p6.dat (101 s)
profile_partial_jit_5x5p6.dat (59 s)
profile_adaptive_jit_5x5p6.dat (140 s)

profiles.gz
The winner here seems to be just doing jit for the most time-intensive functions. My theory was it wasn't faster because of needing to come in and out of the JIT code, but it slows down when I try to wrap more. Not sure why it slows down when wrapping the entire adaptive loop - I don't know things this well (hence attaching the profiling).
We could let YTZ take a look - he's pretty invested in getting things like this working faster, and seems to enjoy it.

@maxentile also has a lot of experience with JAX, and can hopefully give us some pointers!
numpy is hard to beat given that it's multithreaded, so it's impressive that JAX is doing better. But I think the GPU acceleration will be the key here (provided it supports things like embedded Intel iGPUs).

I will comment in the PR directly.

But I think the GPU acceleration will be the key here (provided it supports things like embedded Intel iGPUs).

Could someone (like @jaimergp) potentially test this?  I don't have that many GPU varieties around (like 1, and would still need to get it going with the driver).

Rewrote the jit so we just accelerate the inner loop of the adaptive method, rather than the entire method (this is PR #401, cancelling PR #400). This brought the timing down to about the same as the partial jit (PR #399) pass that just optimized the most expensive functions.  There appears to be enough variation in the timing that the two approaches are about the same, though, so I'll need to design another optimizer.

So will it be possible to make it easy for people to install if jax and jaxlib need to be pulled down via pip instead of conda installed?

Have you already tried the conda versions?
https://anaconda.org/conda-forge/jax/files

Well, yes, that's what I tried first.  Unfortunately, I didn't document various things that went wrong.   Currently, I'm getting (this was not the first error)
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed
ResolvePackageNotFound:

conda=4.3.25

Which seems to indicate that there is some issue with resolving different packages that could be worked out eventually in a clean environment, but I haven't had the chance to do that yet (though that wasn't the error I had before - I should have noted it more carefully).

Investigating whether we can do floats - mbar_gradient does not appear to handle floats.  Even after preconditioning, the first line:
log_denominator_n = logsumexp(f_k - u_kn.T, b=jNk, axis=1) ends

Ends up having 94% of the entries being pure zeros, and so the sum ends up sufficiently wrong that the weights don't exactly sum to 0 at the end.
Will keep looking at alternate approaches. Maybe the jax automatic gradient will result in something more numerically stable?

For 64bit code, with settings
The harmonic oscillators have equilibrium positions
[0 1 2 3 4 5]
and spring constants
[2.5 1.6 9.  4.  1.  1. ]
and the following number of samples will be drawn from each (can be zero if no samples drawn):
[5000000 5000000 5000000 5000000       0 5000000]

Takes total adaptive time: 26.1s, which is about 2x as faster. In single precision it's about 3x faster, but I've reproduced the logsumexp issues reported above.

I did some benchmarking on the iteration time, ie. time it takes to cycle through one trip in the adaptive code. I think we need to find a way to make the logsumexp more stable, as I'm also seeing the numerical precision issues reported by @mrshirts above. Generally though, it looks like the GPU is about 10x (64bit) to 14x (32bit) time faster than the CPU.
 I was still getting my CUDA set up going on another machine.

Though I suspect a handwritten kernel will probably overall 30-50x faster.

Well, the ideal would be to move to a framework we DON'T have to handwrite the kernel. I wrote a C++ kernel for pymbar 2.0 that was much faster than numpy, but it took a lot of work, and became obsolete fairly soon (it's too slow now because it doesn't multithread, plus I'd have to rewrite for python2.

I think we need to find a way to make the logsumexp more stable, as I'm also seeing the numerical precision issues reported by @mrshirts above.

I think that is indeed the quickest route to improved performance, though I'm not sure the best way to do this.  Fundamentally, exp(-energy) gets small fast, so even reordering the sum wouldn't help.
For the updated code #PR 402, then for 64-bit CPU, I'm getting 6 seconds for the first iteration, and then 3.7-3.8  for the rest of them. So that is probably an OK way to go in most cases.  No extra time on subsequent runs of MBAR in the same loop.
Can you try the comparison above with PR #402?  A reduction in time with the GPU from 2.3+11(3.7) = 34 to 2.3 * 11(0.7) = 10 is not so bad to get even with 64 bit.   Do most GPU's handle doubles now, or just the higher end ones?
I'd be satisfied with something that was 2-6 times faster than pymbar3 (pymbar4 speed should be about equal).

I was able to get jax and jaxlib installed on a fresh conda install on my computer, so that can be overcome.
Note that the right CUDA developer kit needs to be installed from NVIDIA to run jax with GPUs - I don't think that will be automatable, since you need a (free) NVIDIA developer account to get them.

You can install cudatoolkit via conda (at least for several OSs):
https://anaconda.org/anaconda/cudatoolkit/files

It apparently needs https://developer.nvidia.com/cudnn for some reason, which I don't think is in the toolkit.  But I could be wrong. . . .

cudatoolkit does not ship cudnn, but cudnn is available as a separate package in defaults.
More info: https://github.com/conda-forge/conda-forge.github.io/issues/687#issuecomment-450268618

cudatoolkit does not ship cudnn, but cudnn is available as a separate package in defaults.

OK, that's good to know that they may be a route.

Is this going to be optional or required? cudatoolkit + cudnn amount to ~700-900MB depending on the OS and version.

I think it would be better to make it optional, since many computers would not have.  If we can automatically download jit and jax, that would be good, since that gives a 2x speedup in many applications.  But it should run without GPU support.
I don't know if cudatoolkit is required, but I'll let you know as I keep playing around on this.

Cool. We can play around with the conda packaging to provide easy options for both approaches.

Looks like JAX may add ROCm support sometime soon.
https://github.com/google/jax/issues/2012
Another possibility is for us to add pyopencl acceleration:
https://documen.tician.de/pyopencl/

I'd say baby steps.  The #1 goal is ease of use (including installation), computational efficiency is good but second priority. I think we are generally getting to a point where memory size may be limiting for large systems rather than flops per second limitations.

jax is now available on conda-forge, so we may want to dump the C extensions and switch to jax.

I started working on this in #399 and #400, though I probably won't be able to do full testing until end of the semster (~1 month).

OK, #447 is a new attempt, will be working to get this going for real over the next week or so.


CouchDB Operator 1.2.1

Thanks submitting your Operator. Please check below list before you create your Pull Request.

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

New Submissions

[ ] Does your operator have nested directory structure?
[ ] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Is your submission signed?

Updates to existing Operators

[x] Is your new CSV pointing to the previous version with the replaces property?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[ ] Modify more than one operator
[ ] Modify an Operator you don't own
[ ] Rename an operator - please remove and add with a different name instead
[ ] Submit operators to both upstream-community-operators and community-operators at once
[ ] Modify any files outside the above mentioned folders
[ ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

/test CVP

@willholley, you are missing version in CSV filename.

/test CVP

/test CVP

/test all

/test CVP

@willholley can you please rebase to latest master? Thanks

closing in favour of https://github.com/operator-framework/community-operators/pull/2555


ci: compute type de-duplication

Description of changes

Issue #, if available

Description of how you validated changes
Checklist

[ ] PR description included
[ ] yarn test passes
[ ] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies
[ ] Pull request labels are added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This approach does not seem to work.

[Container] 2023/08/14 18:37:49 CODEBUILD_SRC_DIR=/codebuild/output/src567556561/src/github.com/aws-amplify/amplify-cli
--
5 | [Container] 2023/08/14 18:37:49 YAML location is /codebuild/output/src567556561/src/github.com/aws-amplify/amplify-cli/codebuild_specs/build_linux.yml
6 | [Container] 2023/08/14 18:37:49 Found possible syntax errors in buildspec:
7 | In the section env
8 | The following keys cannot be identified:
9 | compute-type
10 | [Container] 2023/08/14 18:37:49 Selecting shell bash as specified in buildspec.
11 | [Container] 2023/08/14 18:37:49 Setting HTTP client timeout to higher timeout for Github and GitHub Enterprise sources
12 | [Container] 2023/08/14 18:37:49 Processing environment variables