Allow Proxy and Broker HPA to specify scaling policies on scaleUp or …

…scaleDown.
Motivation
While testing Pulsar Broker autoscaling we found that during a scale-down event (going from 14 brokers to 2 in the space of about 15 minutes) that namespace bundle movement occurred very frequently and we would like to slow the rate at which the brokers scale down using Scaling Policies.
See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#configurable-scaling-behavior for more details
We would also like to use the stabilizationWindowSeconds to ensure that if/when we add brokers we don't suddenly scale-down soon after (sometimes CPU spikes can occur as brokers die, new brokers launch and that can result in a temporary spike in average broker CPU causing scale-up. When the spike fades then it may cause a scale-down resulting in namespace bundles moving yet again).
Modifications
Provide hooks in the hpa helm chart templates to provide behaviors e.g.
behavior:
  scaleDown:
    stabilizationWindowSeconds: 600
    policies:
    - type: Pods
      value: 1
      periodSeconds: 60

Example Usage
From local minikube
Definition
broker:
.
.
      autoscaling:
        enabled: true
        minReplicas: 1
        maxReplicas: 3
        behavior:
          scaleDown:
            stabilizationWindowSeconds: 180
            policies:
            - type: Pods
              value: 1
              periodSeconds: 300
        metrics:
        - type: Resource
          resource:
            name: cpu
            target:
              type: Utilization
              averageUtilization: 60

HPA shows up as
$ kubectl describe hpa pulsar-broker
Name:                                                  pulsar-broker
Namespace:                                             cogito
Labels:                                                app.kubernetes.io/managed-by=Helm
Annotations:                                           meta.helm.sh/release-name: pulsar
                                                       meta.helm.sh/release-namespace: cogito
CreationTimestamp:                                     Wed, 06 Sep 2023 12:04:44 -0400
Reference:                                             StatefulSet/pulsar-broker
Metrics:                                               ( current / target )
  resource cpu on pods  (as a percentage of request):  12% (32m) / 60%
Min replicas:                                          1
Max replicas:                                          3
Behavior:
  Scale Up:
    Stabilization Window: 0 seconds
    Select Policy: Max
    Policies:
      - Type: Pods     Value: 4    Period: 15 seconds
      - Type: Percent  Value: 100  Period: 15 seconds
  Scale Down:
    Stabilization Window: 180 seconds
    Select Policy: Max
    Policies:
      - Type: Pods  Value: 1  Period: 300 seconds
StatefulSet pods:   1 current / 1 desired
Conditions:
  Type            Status  Reason              Message
  ----            ------  ------              -------
  AbleToScale     True    ReadyForNewScale    recommended size matches current size
  ScalingActive   True    ValidMetricFound    the HPA was able to successfully calculate a replica count from cpu resource utilization (percentage of request)
  ScalingLimited  False   DesiredWithinRange  the desired count is within the acceptable range

NOTE: Tested in Minikube via

Ensure Metrics Server is enabled minikube addons enable metrics-server
Keda autoscaler enabled

kubectl apply -f https://github.com/kedacore/keda/releases/download/v2.8.2/keda-2.8.2.yaml

and we can inspect it in operation using
8m31s       Normal    SuccessfulRescale              horizontalpodautoscaler/pulsar-broker                                 New size: 3; reason: cpu resource utilization (percentage of request) above target
19m         Normal    SuccessfulCreate               statefulset/pulsar-broker                                             create Pod pulsar-broker-1 in StatefulSet pulsar-broker successful
8m31s       Normal    SuccessfulCreate               statefulset/pulsar-broker                                             create Pod pulsar-broker-2 in StatefulSet pulsar-broker successful
12m         Normal    SuccessfulRescale              horizontalpodautoscaler/pulsar-broker                                 New size: 2; reason: All metrics below target
12m         Normal    SuccessfulDelete               statefulset/pulsar-broker                                             delete Pod pulsar-broker-2 in StatefulSet pulsar-broker successful
44m         Normal    Created                        pod/pulsar-proxy-0                                                    Created container wait-broker-ready
44m         Normal    Started                        pod/pulsar-proxy-0                                                    Started container wait-broker-ready
33m         Normal    Created                        pod/pulsar-proxy-0                                                    Created container wait-broker-ready
33m         Normal    Started                        pod/pulsar-proxy-0                                                    Started container wait-broker-ready
3m38s       Normal    Created                        pod/pulsar-proxy-1                                                    Created container wait-broker-ready
3m37s       Normal    Started                        pod/pulsar-proxy-1                                                    Started container wait-broker-ready
0s          Normal    SuccessfulRescale              horizontalpodautoscaler/pulsar-broker                                 New size: 2; reason: All metrics below target
0s          Normal    SuccessfulDelete               statefulset/pulsar-broker                                             delete Pod pulsar-broker-2 in StatefulSet pulsar-broker successful
0s          Normal    Killing                        pod/pulsar-broker-2                                                   Stopping container pulsar-broker

Verifying this change

[ ] Make sure that the change passes the CI checks.

I triggered the failed tests to run again. Please tag me when CI passes, and I'll merge this.

@michaeljmarshall PTAL as it appears that all CI checks have passed. Thank you!


ci: macOS-10.15 runners no longer available

The current GitHub workflows file uses the macOS-10.15 environment, which according to the workflow log messages is deprecated:

build: .github#L1
The macOS-10.15 environment is deprecated, consider switching to macos-11(macos-latest), macos-12 instead. For more details see https://github.com/actions/virtual-environments/issues/5583

So we need to update the macOS environment.

Closed by d74be90 (#3)

Closed by d74be90 (#3)


Make scrollbar thickness and radius customizable

Description
This adds thickness and radius arguments to Scrollbar and CupertinoScrollbar, to allow callers to override the default thickness and radius when desired.
Related Issues
https://github.com/flutter/flutter/issues/36412
Fixes https://github.com/flutter/flutter/issues/29576
Tests
I added the following tests:

A test that Scrollbar respects the given arguments in its rendering.
A test that CupertinoScrollbar both respects the given arguments and also animates its growth while dragging.

Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I signed the [CLA].
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read [Handling breaking changes].

[x] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

/cc @HansMuller for the material stuff.


LangChain tools as gpt func, always fails at the JSON decode

System Info
Python 3.10
LangChain: 0.0.245
Who can help?
@hwchase17
Information

[ ] The official example notebooks/scripts
[X] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[X] Agents / Agent Executors
[X] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
I write a 'Python interpreter' tool, as below sample code:
class PythonInterpreterTool(BaseTool):
    name = "python_interpreter"
    name_display = "Python Interpreter"
    description = """Give me the Python to execute，it returns the execution result"""

    def _run(self, code: str) -> str:
        with PythonInterpreter() as executor: # type: ignore
            output = executor.run_python_code(code)

            return output

    async def _arun(self, code: str) -> str:
        raise NotImplementedError

But, for many times, I always got "Could not parse tool input... because the arguments is not valid JSON." error:
Could not parse tool input: {'name': 'python_interpreter', 'arguments': '{\n  "__arg1": "\nimport moviepy.editor as mp\n\nvideo_path = 'https://video-clip.oss.com/upload/40ae1ae0-3799-11ee-9c80-476f00f64986.mp4\'\noutput_path = 'output.mp3'\n\nvideo = mp.VideoFileClip(video_path)\nvideo.audio.write_audiofile(output_path)\n"\n}'} because the arguments is not valid JSON.
Expected behavior
I write a 'Python interpreter' tool, as below sample code:
class PythonInterpreterTool(BaseTool):
    name = "python_interpreter"
    name_display = "Python Interpreter"
    description = """Give me the Python to execute，it returns the execution result"""

    def _run(self, code: str) -> str:
        with PythonInterpreter() as executor: # type: ignore
            output = executor.run_python_code(code)

            return output

    async def _arun(self, code: str) -> str:
        raise NotImplementedError

But, for many times, I always got "Could not parse tool input... because the arguments is not valid JSON." error:
Could not parse tool input: {'name': 'python_interpreter', 'arguments': '{\n  "__arg1": "\nimport moviepy.editor as mp\n\nvideo_path = 'https://video-clip.oss.com/upload/40ae1ae0-3799-11ee-9c80-476f00f64986.mp4\'\noutput_path = 'output.mp3'\n\nvideo = mp.VideoFileClip(video_path)\nvideo.audio.write_audiofile(output_path)\n"\n}'} because the arguments is not valid JSON.

This code is generated by gpt.

@dafang why don't you simply use PythonREPLTool from langchain itself.


Allow disabling the overlay spinner for RefreshIndicator

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
Internal: b/296423601
Currently, the RefreshIndicator comes with a loading spinner icon on user refresh, which might not align to our product's specs for loading a page. E.g. we might want to show a horizontal loading bar or ghost loading.
Proposal
Could we expose a way to omit showing the loading spinner?
Image currently shows the circular loading spinner (from RefreshIndicator) and the horizontal loading bar (our own loading widget).

So you'd just want an option to disable it, or provide an alternative Widget as well?

I think disabling it would be sufficient.
AFAIK, this widget is gm3 compliant, so I don’t think we should show an
alternative widget should we decide to use a loading spinner.
On Fri, 18 Aug 2023 at 01:59, Delwin Mathew @.***>
wrote:

So you'd just want an option to disable it, or provide an alternative
Widget as well?
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/132775#issuecomment-1682728261,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BB7NR4S3E6GSJYRG7KXMIJLXVZLYLANCNFSM6AAAAAA3UNGBJI
.
You are receiving this because you authored the thread.Message ID:
@.***>

@danagbemava-nc @HansMuller so we move forward with an optional parameter to disable spinner?

An alternative that's worth exploring would be to add a callback like:
Widget buildSpinner(BuildContext context, Animation<double> animation)

To simplify the case we've been talking about here we could provide a static const value like
RefreshIndicator.noSpinner

Which would have the same effect as the flag we're talking about.

So more like RefreshIndicator.noSpinner that'd carry out the functions of RefreshIndicator() but without the spinner in stage I (just the spinner icon) and stage II (the loading phase of the spinner)

We have no strong opinions about the implementation (a buildSpinner callback could be more versatile if there is a use case where we need our own spinner).

Disabling the spinner would result in lack of visual clarity in current event status, i.e (drag, armed, refresh, cancelled etc).
Should we consider adding callback function which provides current status?
This is as onRefresh is only triggered when pull is successful, i.e refresh, but lack of control over other state would result in lack of control over UI by devs.

awaiting review for pull, @danagbemava-nc


Collaborator Check-in

Hi @mjhea0, @myusuf3, @dollydagr, @buddylindsey, @audreyr,
Just doing a quick check in to see who of the currently listed collaborators is still interested in working on dj-stripe. Please respond by the 19th to keep your push access.
Best,
Alex

@kavdev I would like to get more involved with this project. So, yes - please keep my push access. Also, can you assign me an issue that would help better familiarize myself with project. It's been a while since I've looked at it. Thanks!

It's been awhile since I last committed to dj-stripe, so it would be safest for any future contributions from me to come via pull request with a code review. You can revoke my push access. Thank you so much for taking the lead on this project, @kavdev.

@mjhea0: Sure! The codebase is wildly different than what it used to be. There are three tasks left to complete before we can release v1.0.0 (see #307). Go ahead and pick one and let me know which you choose here. When you're ready, submit a pull request and I'll review it.
@audreyr: Sounds good, will do. No problem, happy to.

As much as I would like to help out I wouldn't be able to do enough to warrant commit access. Like Audrey i'll submit PR's for discussion and review.

@kavdev Actually, I probably won't have much time either. I plan on helping, but I can just submit PRs as well. Thanks!

I'm closing this early.


Razor/cshtml syntax support

Support for razor files.
Going to try to get the ball rolling on this fork. See previous discussion..
As stated over there, roslyn should theoretically already support this.

Personally, I am not interested in implementing this. I would however accept a PR for this :)

https://github.com/tris203/rzls.nvim/ may be of interest. Still in very early state ( see https://github.com/tris203/rzls.nvim/issues/2 ) but I managed to get it to attach and provide some code actions.

hi @Crashdummyy,
did you have a chance to try cutlass.nvim to see if it works?

@Crashdummyy, it doesnt seem to be working from my end as well.
Running :LspInfo in neovim does not show any LSP clients inside a .Razor file. :(

@Crashdummyy I've found a problem in your fork cutlass in that it uses vim.lsp.start_client instead of vim.lsp.start this causes a new client to be started regardless if there is a client that already exists

@Crashdummyy I've found a problem in your fork cutlass in that it uses vim.lsp.start_client instead of vim.lsp.start this causes a new client to be started regardless if there is a client that already exists

Yeah the fork is borked I need to remove it.
I already fixed some other things as well but theres currently not enough implemented-
At this moment this plugin can't be used as a daily driver :/

Yea I realized after a while that it just behaves unusually due to it using some weird stuff with virtual buffers and it also attaching multiple lsps to the same buffer. I did have a look at the c# dev kit extension for vscode to see if it's not possible to reverse engineer how the lsp works there or something along those lines

I started working on my fork of https://github.com/tris203/rzls.nvim. I was able to make the Razor LSP communicate with the Roslyn LSP and got hover working properly :smile:.

I'm trying to tackle completions now but it's been a challenge...

@neubaner How have you configured roslyn.nvim and rzls.nvim to get that to work?

@jdrupal-dev Take a look at https://github.com/tris203/rzls.nvim. @tris203 and I are actively working on, but it's still under construction.

Thank you, I provided some details here: https://github.com/tris203/rzls.nvim/issues/3#issuecomment-2449174105
Maybe you can figure out why it's not working (I am using the latest version of both plugins)?

Closing this issue as there is an alternative: https://github.com/tris203/rzls.nvim


JSON: raise user-arguments to top-level

from the README, we have
julia> using LoggingFormats, LoggingExtras

julia> with_logger(FormatLogger(LoggingFormats.JSON(; recursive=true), stderr)) do
                  @info "hello, world" key=Dict("hello" => true)
       end
{"level":"info","msg":"hello, world","module":"Main","file":"REPL[18]","line":2,"group":"REPL[18]","id":"Main_ffce16b5","kwargs":{"key":{"hello":true}}}

But I think it would be nicer as
{"level":"info","msg":"hello, world","module":"Main","file":"REPL[18]","line":2,"group":"REPL[18]","id":"Main_ffce16b5", "key":{"hello":true}}

i.e. without the extra nesting with kwargs

Makes sense. Would just have to handle the case where the key conflicts with a standard key then (like msg etc).

I think it would also have to be opt-in or a breaking release, since I know I at least rely on the current structure in downstream log queries and stuff like that, and the current semantics are documented (in that readme example at least).


Update sbt-scalafmt to 2.4.4

Updates org.scalameta:sbt-scalafmt from 2.4.2 to 2.4.4.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "sbt-scalafmt" } ]

labels: sbt-plugin-update, early-semver-patch, semver-spec-patch

Superseded by #24.


Document deregister behavior

explain that closing the socket is usually good enough
warn against using deregister with kqueue edge+oneshot

Fixes #351

Thanks, merged here 34ac135025acb95c62516aa91148ffe64c86ce0c


We should document proxy configuration

We should document that we support these proxy environment variables:
https://github.com/Azure/azure-sdk-for-net/blob/df05d84fdc1842df1b3ec9031d4e28aef1de7cfb/sdk/core/Azure.Core/src/Pipeline/Internal/HttpEnvironmentProxy.cs#L16-L24
We already have a section that talks briefly about proxy configuration where we could put these, but I wonder if a dedicated section on general networking (perhaps more in Pipeline.md?) would be better.
On a related note, we should probably also document ClientOptions.Default - at least as an alternative to setting up a proxy for all clients in case they have a custom proxy where the environment variables may not work properly, or otherwise have custom auth.

We can reference/copy https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.defaultproxy?view=net-6.0#remarks

Did we replicate that functionality to support < netcoreapp3.0 (based on the "applies to" section)? Copying seems appropriate to me. A reference might update when we don't.

Yep: https://github.com/Azure/azure-sdk-for-net/blob/4162f6fa2445b2127468b9cfd080f01c9da88eba/sdk/core/Azure.Core/src/Pipeline/Internal/HttpEnvironmentProxy.cs


Allow Only any parent or child selection

hi, Your component simply super . As per my requirement, to allow only any one selection means we can check either parent or child . Allow single Selection not multiple selection.
if i try to check new one old one will be deselect. pls guide me

Hi @vasupotnuru - there's no option within treeview to force a single selection. You would need to implement this yourself and the provided services should help you in that. Would you mind posting your question on stack overflow? Feel free to post a link back here. Thanks!


chore: fix some comments

@microsoft-github-policy-service agree

Please rebase with the latest main to fix CI failures.


The example with the REST execution would be helpful

The example with the REST execution would be helpful

Hi @Hakuz ,
thanks for using our integration project :-)
Which example are you looking for? Do you mean the one referenced at the end of https://github.com/NovatecConsulting/micronaut-camunda-bpm/blob/master/CONTRIBUTING.md ?
As mentioned in https://github.com/NovatecConsulting/micronaut-camunda-bpm/blob/master/README.md you can find the example application at https://github.com/NovatecConsulting/micronaut-camunda-bpm/blob/master/micronaut-camunda-bpm-example or more specifically the REST Controller at https://github.com/NovatecConsulting/micronaut-camunda-bpm/blob/master/micronaut-camunda-bpm-example/src/main/java/info/novatec/micronaut/camunda/bpm/example/CamundaController.java
I hope that answers your question. I'd be happy to hear from you.
Tobias

Hi @Hakuz
I'm now closing this issue since I haven't got any response.
If you need any support feel free to contact us again.
Cheers
Tobias


Increase test coverage (currently 87-91%, depending on reporting tools)

Current status:

87% displayed on codecov badge
91.8% reported by go test -cover

Most of remaining coverage involves edge-cases and error handling.

Commit e5d2930 closes this issue.
Refactored and removed unreachable code (redundant error/bounds checking).  Added tests for edge cases.  New status:

96% displayed on codecov badge
97.2% reported by go test -cover


Improve transaction pages

redesigned CardTransaction and renamed it to LiTransaction. Reasoning: Cards can be laid out in a 2D grid, while ListItems are laid out in one dimension only
the new LiTransaction layout works for small and large screens
the new layout supports one to infinite coins per transaction
there is a hover effect that links to the TODO: transaction view page
updated the transaction colors to match the site (@jolesbi should we use these colors or danger and success? I was thinking to relegatedanger and success only to error/achievment states, but it is also common to show incoming transactions in green and outgoing in red)
updated the associated test

Old Design (with multiple coins)

New Design (with multiple coins)

Fixes #148

I like the structure I like the added Icons!
I feel the separation between transactions is not so visible. Also the contrast for the positive values in comparison to the background feels to less.
One idea: What about putting the icons on the first row always? Having them centered feels chaotic.
I feel not strong about any of this and we could also first merge and adjust later.

@faboweb I like your suggestions, and have thought about those issues too. Let's do it in the future. Merging this.


2FA Support

Hey, currently getting SteamError #85 AccountLoginDeniedNeedTwoFactor.
I was wondering if there was an easy way to configure this for one-off connections (so, you type the code into your config.js file and execute it). Unsure really at what level to try solve this.

As far as I know you need to run the log-on process twice, while making sure you have an empty sentry file present before you start running. The first time you log in to trigger the steamguard code generation, the second time you can login with the steamguard code as an entry in your config.js. At that point a sentry-hash will be written to the sentry file for future usage and you can remove the steamguard code again. So the first time your config.js would look like this:
var config = {};

config.steam_name = "mySteamName";
config.steam_user = "mySteamUserName";
config.steam_pass = "mySteamPassword";
config.steam_guard_code = "";

module.exports = config;

And for the second login you'd fill out the steamguard code between the quotes.

Yeah I've followed that process before, it's not applicable since the introduction of 2FA via mobile app.
https://github.com/seishun/node-steam/wiki/Protobufs#cmsgclientlogon documents the log on details definition and as a result how you can add an additional field (which you could add to the config, but would need to also add to pass to steamUser.logOn(details).
var logOnDetails = {
"account_name": global.config.steam_user,
"password": global.config.steam_pass,
"two_factor_code": "blah"
};
This is a bit tedious since you need to adjust it each execution - but works fine.

There is unfortunately no way around the tediousness of having to specify this each execution, since this is the core purpose of that second factor; it pretty much NEEDS to be different on each login. We usually recommend using dummy throwaway accounts without 2FA/steamguard when you're in development/test and only to switch to 2FA for the actual always-online production runs.

Yeah I understand, no problem.
Unfortunately I'm writing something that needs my current account (Fantasy Cards) so no other way around.

In that case there is indeed no way around it :)
Disclaimer
I'm gonna assume that you're experienced enough to understand the risks of using your own account in conjunction with this library, however for the potentially less experienced users who might one day stumble upon this issue: we do not in any way encourage people to use their own accounts when using this library. This library tries to mimic the behavior of the Dota 2 client to allow people to programmatically interact with the Dota 2 GC, however we make no efforts to hide this fact and it's pretty easy for Valve to detect clients using this library based on the generated traffic. While Valve has not yet expressed a dislike regarding reverse engineering projects like this one, it's not unimaginable that this might one day change and result in VAC bans.

Slightly off-topic, but would you mind giving me a hand with some code I'm writing? Unsure the best way to contact you and there's no #node-dota2 IRC group or something.

@Crazy-Duck  that disclaimer is worth a section in the README :)

@noxville send me a mail : jobuyse [at] gmail
@howard I'll add it when I make the pull for the contribution.md 😊


Server rendering

Render the sweet CodeMirror DOM on the server, with all that syntax highlighting goodness!

Status: it works! Need to load CSS now, via Express static file serving.


Some questions, the main question is how does llm interact with the system

After reading the Workflow  code, I would like to share my understanding and questions to see if it aligns with the overall design. As I am interested in llm kernel packaging, my focus is primarily on this area.

A role contains an agent (1:1?), and an agent may have multiple chatsessions (1:n). So what is the timing of creating a chatsession? When is it decided by the owner or by the compute_kernel to create a new chatsession?
Each llm call means that the compute_kernel thinks that the task is temporarily unknown how to split, or that the task has reached the minimum granularity (such as merging results), and it is up to the compute_kernel to decide when to call up llm?
result = await compute_kernel().do_llm_completion(prompt,the_role.agent.get_llm_model_name(),the_role.agent.get_max_token_size())
Which llm model to use is determined when creating the agent instance, and cannot be changed after creation. The agent and llm instance are m:n relationships. max_token_size is an attribute of the agent? What is the relationship with llm's max_token?
Based on point 3, the compute_kernel needs to dynamically create and maintain llm instances at runtime, or is it that llm actively registers with the compute_kernel?
Each llm instance should have its own description of capabilities, and have an interface to query the current status (busy or idle). Most of the api (service) mode llm capabilities are already determined. The difference in llm capabilities is mainly reflected in hardware capabilities (when deployed locally) (this can be optimized later).
The llm instance has no context, and each time it senses the context based on the prompt passed in by the compute_kernel call.
The context of a chatsession may be huge, should the prompt passed to llm be trimmed?
Does the compute_kernel go to find an idle llm instance to execute tasks, or does the compute_kernel only submit tasks, and let the llm client queue up by themselves?

Does llm only interact with compute_kernel and is it hidden from other modules?

Hello,
I would like to clarify some aspects of our system:
Role and Agent Relationship: The relationship between a role and an agent is akin to an employee holding a position in a company. The company's workflow describes the function of the position, and different agents can hold the same position. Our design does not exclude one agent from holding multiple roles in a workflow, but it's best not to do so. Chat sessions are a separate issue; fundamentally, the state of the workflow consists of chat sessions. I might write an article about this, but for now, you can understand how it works by reading the code, especially which messages enter which chat sessions.
LLM Completion: Yes, currently, LLM completion is indivisible and is determined by the compute_kernel as to when it will execute. If there are no compute nodes in the compute_kernel that support LLM completion, the call will fail. LLM completion is a simple abstraction that allows our system to get up and running quickly from the MVP's perspective.
LLM Mode and Max Token: In fact, information like LLM and max_token is specified by the agent, which forms part of the agent's persona. Roles can change agents at any time, but once an agent is established, its LLM configuration cannot be changed. The max_token_size is the max_token of the LLM.
Compute Kernel: The compute_kernel is a singleton and is the most critical basic component of the system, initialized first. We can add/remove compute nodes it sees at runtime to control its behavior. There will undoubtedly be a lot of optimization opportunities in the future, but it's not the focus of this version. Done is better than perfect!
Compute Node Capabilities: The definition of a compute node's capabilities is not surprising. "Whether it supports LLM" is a capability, not a refinement of some functions within the LLM.
Chat Session and Historical Records: According to the token limit of the LLM, the most recent chat records are loaded. In fact, our design leaves it to the workflow developer to define the method of obtaining prompt words from the chat session's historical records.
Compute Kernel Scheduling: The implementation of the compute_kernel's schedule method contains a clever algorithm for finding compute nodes. This implementation can be simple or brilliant, but it will never be overly complicated.
I hope this clarifies your queries. Please feel free to reach out if you have any further questions.

There should be several levels of history:

The history of the current session should have the highest priority and should be kept as full as possible
Records of historical sessions of the same user
Historical session records of different users
2.3. The historical records may be quite large and cannot be carried entirely. This should be useful information abstracted and placed in the latest session, but I haven't figured out how to do it properly


Replace Cookie handling with middleware

Discussed in https://github.com/justpy-org/justpy/discussions/529

Originally posted by WolfgangFahl September 13, 2022
The signed cookie handling is a standard infrastructure problem that we might want to use from a library instead of doing
the current "roll your own cookie handling". Unfortunately https://fastapi.tiangolo.com/advanced/response-cookies/ doesn't linke to any libraries
We need to find a proper library for this. Candidates might be:

https://github.com/klen/asgi-sessions
https://github.com/thearchitector/starlette-securecookies
https://asgi-signing-middleware.hackan.net/en/stable/cookie/

the starting point would be just two new lines
#@TODO
#if SESSIONS:
#    middleware.append(Middleware(SessionMiddleware, secret_key=SECRET_KEY))

changing the docs will be more work.
For a start we could change the secret key default to:
SECRET_KEY = config(
"SECRET_KEY", default=f"$$$justpy_random_secret_key_{secrets.token_hex(32)}$$$"
)

https://asgi-signing-middleware.hackan.net/en/stable/cookie/ is a candidate for the cookie handling

Nice clean library. Don't see much issues then directly linking as dependency and updating the docs.

Since most people are not expert on cookie security I think that whatever method is used, the defaults should be ones that are recommended here:
https://blog.miguelgrinberg.com/post/cookie-security-for-flask-applications
My initial thought when designing this is that the cookie will only be the session id and would be an http only cookie. It didn't seem that we need a dedicated library for this.
If just the session id is in the cookie, the asgi signing middleware my be an overkill. From its docs:
"Use this middleware if you want to store certain complex data structures into a cookie. Note that this middleware is slower than the SimpleSignedCookieMiddleware, but ideal for any kind of data structure."
Starlette has the following middleware out of the box: https://www.starlette.io/middleware/#sessionmiddleware
I am not sure it covers all out needs, but is a good option to explore.

The starlette sessions middleware seems equivalent to SimpleSignedCookieMiddleware. The ASGI signing middleware will allow you to specify the cookie data type. This might be an overkill. Can't see a use case for that.
Sticking with SessionMiddleware seems ok to me if all that is required is a signed dictionary to be stored in cookie.

Had a closer look at SessionMiddlewar. It is bit too restrictive and the code is not very clear. The current implementation in justpy seems just right. Easy to follow, flexible and does the job. I would to leave that implementation as is.

If we keep things at they are this ticket would only be about the option to switch to a different middleware and still have justpy working properly.

I have the feeling the most users will opt for justpy way of using cookies. If we refactor cookie signing part to allow for another middleware to be plugged in then Justpy still will needs some mechanism to hold session_id in cookie.
Seems to me that refactoring could get messy.

see #685


Consider deriving more traits for opaque pointers.

I'm *adding the traits ash supports namely Eq, PartialEq, Ord, PartialOrd, Hash.
I wanted to use an ImageView as a hash key and I needed these traits.  Thought I can't see a reason why this would apply to vk_mem, it's still something to consider.
Thanks.

To my ash-tray vk_helper module.

This is perhaps a better issue in the ash crate?


UI Automation : APIs : General and Plans pages

Issue
https://gravitee.atlassian.net/browse/APIM-2075
https://gravitee.atlassian.net/browse/APIM-2022
Description
General and Plan pages for APIs in APIM. PageObjects examples left in for time being for future use if needed. Read code comments plz.
Additional context

This PR can be closed , see branch test/2022+2075-api-general-and-plans-pages


node version?

I'm using node 5.9
and get the warnings below on installing botkit.
surely it's not requiring a version < 1.0 of node?
$ npm install --save botkit
npm WARN package.json<EMAIL_ADDRESS>No description
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm WARN package.json<EMAIL_ADDRESS>No README data
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.12.x || 0.10.x || 0.8.x"} (current: {"node":"5.9.1","npm":"2.14.20"})
<EMAIL_ADDRESS>node_modules/botkit

Why is this closed without an answer? Will this work with modern Node versions 4.x and higher?

I think thats a warnning from module back, not botkit itself.
Perhaps you installed it with an older version of node? Try rm -rf node_modules and npm install again.

I closed it after asking, the pointer above is indeed the answer.

Have you filed an issue with back?


[otbn] confirm wall-clock predictions with full crypto algorithms

Once the simulator fully supports the otbn instruction set, we need to confirm in the simulation that we need all wall-clock requirements for the different algorithms

Done for RSA, no accurate numbers for ECC yet. First ballpark results look promising against our internal requirements, however.
Now blocked by #4206 and #2982.

Closing this, since we are tracking this in #6449


Cards do not display info text on mobile when clicked

Cards do not display info text on mobile when clicked.

Fixed by  commit 756f81d, hover affect no longer applies to mobile


Add shadowJar artifact to gradle build

Wire up an uber/all/shadow jar for end-user consumption.
https://github.com/johnrengelman/shadow

Nice I will work, will seek your help on this.
On Nov 14, 2017 8:14 PM, "Christopher Dancy"<EMAIL_ADDRESS>wrote:

Assigned #5 https://github.com/pegasystems/api2swagger/issues/5 to
@saikiran939 https://github.com/saikiran939.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/pegasystems/api2swagger/issues/5#event-1341000016,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA5mh__ltPxZDd4qdJoX0f5Fp-vXUnjZks5s2adQgaJpZM4QdciN
.

@saikiran939 I can throw it together as I've done this a thousand times already.

@cdancy OK. Please go ahead.

Opened https://github.com/pegasystems/api2swagger/issues/6 to track restructuring this project into the example provided by the gradle-multi-project-example. It's for this reason I didn't move forward on this ISSUE as that design has everything baked in.


Enhancement: Update localheinz/composer-normalize

This PR

[x] updates localheinz/composer-normalize

💁♂ For reference, see https://github.com/localheinz/composer-normalize/compare/0.9.0...1.0.0 and/or https://github.com/localheinz/composer-normalize/blob/master/CHANGELOG.md#100.

Pls, target 2.12

Thank you @localheinz.

Thank you, @keradus and @SpacePossum!


Add RiseClipse as an extra SCL validator

As an engineer
I would like to check my configurations againt the RiseClipse OCL set
So I can be sure that my SCL configuration comply with with the RiseClipse
Background:

Source:
https://rise-clipse.pam-retd.fr/signin#about
The WG10 of the IEC decided to build standard OCL rules for IEC61850 validation.

Validate on saving, maybe show the user what is valid and what not. Let the user decide wether to save or not
Give the user the ability to validate the project and to see what is valid and what not
Validate on predefined OCL rules (not customized by the user) ->

@Sander3003 Is this issue still needed? Or can we close it here and on Jira?


Upgrade Truffle to 3.4.8

Upgrades Truffle dependency to be at least 3.4.8. (There were some annoying bugs in 3.4.6.)
Updates yarn.lock file accordingly. This affects the travis-ci environment.
I want to wait until #360 is fixed before merging this.

Closing since after #363 the lockfiles already specify 3.4.8 and upgrading package.json would be an unnecessary problem downstream.


Utilspy

To shorten the code, we can consider the following:

Combine import statements: Combine import statements to reduce redundancy.
Remove unnecessary code: Remove code that is not essential for the functionality, or that is duplicated.
Consolidate similar conditions: Combine similar conditions to reduce repetition.

Thank you, this repo is mostly auto generated so I can going to close this.


Migrated the code to Xcode 8 and swift 3 and made some minor syntax c…

Migrated the code to Xcode 8 and swift 3 and made some minor syntax changes, resolved all other errors and warnings.

@sharathkumar3011 there is some issue with 'pause' button on main screen


Error after building image:  /bin/bash: /usr/local/bin/repo2docker-entrypoint: Permission denied

Bug description
running repo2docker on an empty directory (to get a default python environment), I get:
jupyter-repo2docker .
Picked Local content provider.
Using local repo ..
Using RBuildPack builder
...
Step 44/46 : COPY /repo2docker-entrypoint /usr/local/bin/repo2docker-entrypoint
 ---> Using cache
 ---> 1a386e8b05e3
Step 45/46 : ENTRYPOINT ["/usr/local/bin/repo2docker-entrypoint"]
 ---> Using cache
 ---> dea2b546b748
Step 46/46 : CMD ["jupyter", "notebook", "--ip", "<IP_ADDRESS>"]
 ---> Using cache
 ---> 71d561c90128
{"aux": {"ID": "sha256:71d561c901289655ff31f29b3209774cae2c3853ea67e132c05a1215a47db035"}}Successfully built 71d561c90128
Successfully tagged r2d-2e1567611552:latest
/bin/bash: /usr/local/bin/repo2docker-entrypoint: Permission denied

Expected behaviour
I thought the jupyter notebook would launch.
Actual behaviour

Error
How to reproduce

Your personal set up

OS: manjaro linux

Docker version: docker version
Client:
Version:           19.03.1-ce
API version:       1.40
Go version:        go1.12.7
Git commit:        74b1e89e8a
Built:             Sat Jul 27 21:08:50 2019
OS/Arch:           linux/amd64
Experimental:      false

Server:
Engine:
Version:          19.03.1-ce
API version:      1.40 (minimum version 1.12)
Go version:       go1.12.7
Git commit:       74b1e89e8a
Built:            Sat Jul 27 21:08:28 2019
OS/Arch:          linux/amd64
Experimental:     false
containerd:
Version:          v1.2.7.m
GitCommit:        85f6aa58b8a3170aec9824568f7a31832878b603.m
runc:
Version:          1.0.0-rc8
GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version:          0.18.0
GitCommit:        fec3683

repo2docker version repo2docker --version
0.10.0

The only thing I did differently was to install as --user rather than root:
python3 -m pip install --user jupyter-repo2docker

Could you double check that your directory is really empty? The log output says that repo2docker is using the R buildpack which should only happen if there is a file that specifically triggers that buildpack.

Just double-checked.  Still get the error; here are the last few lines:
Removing intermediate container 8e72c6d64d4b
 ---> 6de510ce01ec
Step 38/46 : COPY src/ ${REPO_DIR}
 ---> 8548341bd3ee
Step 39/46 : RUN chown -R ${NB_USER}:${NB_USER} ${REPO_DIR}
 ---> Running in d3bfd4b2a41e
Removing intermediate container d3bfd4b2a41e
 ---> 11cd2f6e0791
Step 40/46 : LABEL repo2docker.ref="None"
 ---> Running in ee57b22ab9a4
Removing intermediate container ee57b22ab9a4
 ---> 251b0c53b122
Step 41/46 : LABEL repo2docker.repo="local"
 ---> Running in e40b8d9d72e2
Removing intermediate container e40b8d9d72e2
 ---> b227b857d8da
Step 42/46 : LABEL repo2docker.version="0.10.0"
 ---> Running in f54a565cc0d2
Removing intermediate container f54a565cc0d2
 ---> c7e3544f0193
Step 43/46 : USER ${NB_USER}
 ---> Running in 1c63b72b549a
Removing intermediate container 1c63b72b549a
 ---> abc3d5f9bcf2
Step 44/46 : COPY /repo2docker-entrypoint /usr/local/bin/repo2docker-entrypoint
 ---> f4df5749e0b4
Step 45/46 : ENTRYPOINT ["/usr/local/bin/repo2docker-entrypoint"]
 ---> Running in f316613ea49e
Removing intermediate container f316613ea49e
 ---> c671d18686bc
Step 46/46 : CMD ["jupyter", "notebook", "--ip", "<IP_ADDRESS>"]
 ---> Running in d7c3b672d4e2
Removing intermediate container d7c3b672d4e2
 ---> 659f338f26c8
{"aux": {"ID": "sha256:659f338f26c86c9a46d70c64351a1656330ed5f77de87a2936e9b38df01b9575"}}Successfully built 659f338f26c8
Successfully tagged r2d-2e1568392584:latest
/bin/bash: /usr/local/bin/repo2docker-entrypoint: Permission denied
[stephen@light f1]$ ls -lh
total 0
[stephen@light f1]$

Does Using RBuildPack builder still appear at the top of the log output?
I don't have a good idea unfortunately and can't reproduce it either :-/

Had the same problem, file permissions on the extra point were set weirdly for whatever reason.
Here's a patch that makes it work for me:
diff --git a/repo2docker/buildpacks/base.py b/repo2docker/buildpacks/base.py
index 49e3907..a1d3d24 100644
--- a/repo2docker/buildpacks/base.py
+++ b/repo2docker/buildpacks/base.py
@@ -162,6 +162,10 @@ RUN chown -R ${NB_USER}:${NB_USER} ${REPO_DIR}
 LABEL {{k}}="{{v}}"
 {%- endfor %}

+# Add entrypoint
+COPY /repo2docker-entrypoint /usr/local/bin/repo2docker-entrypoint
+RUN chmod a+rx /usr/local/bin/repo2docker-entrypoint
+
 # We always want containers to run as non-root
 USER ${NB_USER}

@@ -179,8 +183,6 @@ RUN chmod +x "{{ start_script }}"
 ENV R2D_ENTRYPOINT "{{ start_script }}"
 {% endif -%}

-# Add entrypoint
-COPY /repo2docker-entrypoint /usr/local/bin/repo2docker-entrypoint
 ENTRYPOINT ["/usr/local/bin/repo2docker-entrypoint"]

 # Specify the default command to run

These were file permissions in the built docker image for me, which caused the issue:

Do you want to create a PR to fix this? I'm not sure I fully understand how we end up with those permissions but explicitly changing the permissions seems harmless.
Do you understand why it had to be moved up to where it will run as root? When you listed /usr/local/bin (before your patch?) it shows that the file is already owned by root and not $NB_USER. Weird no?

I have the same issue and it is reproducible if you install it repo2docker in Travis with a simple pip install. Because I do not see any PR I will make one

I'm also getting this issue with a pipx installation of repo2docker.  It's fixed if I chmod the template files inside the pip-installed package.


Trinidad Tobago National Address Improvement Project

The national address improvement project is developing a point layer for all the addresses. Unfortunately this will not available for distribution to the public until the completion of the project. The completion is due at the end of 2018.
Mr. Carmichael Ellis, GISP
Address Management Systems Officer at TTPOST

Whatever you think is best; do you have a point of contact there? I was sent a nation-wide parcel dataset, but it doesn't have addresses, and unsure of source.

I did make a contact while I was down there in the Lands & Surveys department.  At the time I was advised there were some internal struggles in regards to completing the project.  I will follow-up with them and track in #4195.  Are you able to share the parcel dataset?


Add utility for simplifying flat mesh surfaces

During the process of applying CSG to a mesh flat surfaces become unnecessarily complex. During lulls in user operation it would be good to remesh brushes so they use a minimal number of triangles while still being connected - ie retriangulate flat / coplanar surfaces.

Find all large, flat surfaces while retaining half edges
Mark shared vertices as being removeable or not - ie required to define the contour of a shape.
Remove unnecessary vertices from the new shapes
Earcut to triangulate the surfaces

For a variety of use cases, it'd be good to make this a purely optional part of the workflow--I have applications where retaining the position & connectivity of any un-changed vertices is mildly important

Possibly relatd:
https://github.com/mrdoob/three.js/issues/10517


Performance regression in #7813

This looks like it might have regressed the analysis performance (from 48 to 75 seconds):

Originally posted by @lnicola in https://github.com/rust-analyzer/rust-analyzer/issues/7813#issuecomment-787936638

@flodiebold do you think we might close this? As far as I know, the status is:

we don't exactly know why the regression happened
but we clawed back most of the perf anyway

Yes, let's close it.


Pretty Print the output from a command

In the gitlab ci i have a command which returns the output with new line \r\n in it . The console view in the build page does not interprets that and print \r\n instead of a new line.
Is there a way to pretty print the output

@suchitpuri Do you have an example of such output? I can't seem to reproduce this.

closed due to lack of answer


[DataGrid]: How to filter data through the backend when clicking on the left panel (click 'Apply')? Instead of front-end search.

Summary
After filtering on the left panel, I get data form backend to set the data(like react setData), but the 'summary'(filter summary component) at the top of the table disappeared, and the filtering on the left also returned to its default. I guess it's because after resetting, the table status was reset. But my requirement is to get data form backend to filter data, not the frontend.
I couldn't find any relevant code that can be changed. Can you help me solve this problem?
Relevant information
No response
Name and organization
barbertony
Code of Conduct

[x] I agree to follow this project's Code of Conduct
[x] I checked the current issues for duplicate issues

supplement:

We've been investigating TanStack Table, a third-party, open-source offering, which provides extensive data table capabilities surpassing what our Carbon Datagrid offers. It provides much more flexibility and customization. TanStack Table is headless which means it can easily be added alongside Datagrid component in your product or application. The benefits of more flexibility for product teams and less maintenance for Carbon makes it a win win. Lastly, it is available in multiple frameworks including React and Web Component so it provides an option to non-React product teams.
For these reasons, we have decided to transition from building our own custom table component to using an example-based approach with TanStack Table. Datagrid will still exist in our library for existing teams but we are announcing the deprecation* of the Datagrid component in v2.54.0 release so teams can begin to work through the transition. Details about how to use both Datagrid and TanStack together can be found here.
*Deprecation means that no new features will be added however sev 1 and sev 2 bugs will be supported.


[New feature] Scemantic Camera/RGB-D Camera/Point-cloud from depth-image

Migrate the function converting depth images to point cloud from legged-robot repo to metadrive

The RGB-D camera can be easily done by modifying the depth shaders


[#188] Add visual indicator for whether a field has been changed

This pull request resolves #188
It changes the green locale indicator to orange if the value of the field has been changed from the default locale's value.
If the value is the same as the default locale's value, or is null (inheriting) then it will remain green.
Tooltip/title attributes added in both cases to explain.
Feedback welcomed!

Example: If the Navigation label is changed from the default locale (en_NZ) value of "My Cool Page" to "My Cool Pag" at the en_GB locale, the indicator becomes orange:

This is an excellent A+ change. My only concern is the checking for empty values... could you please review my feedback and let me know if you concur?

Hey @tractorcow - I've added the JavaScript handler for this. It's a separate commit for now in case you want to shoot it - take a look and let me know, can squash if you'd like. Thanks!

Added: click the locale label when it's in the "modified" state to reset to the default locale's value.
Similar to #120

Wow, I'm really impressed... nice last minute addition!
Since we're adding front-end functionality, I'm going to check this PR out and do a bit of local testing. Really nice job. :D

Happy to help! Let me know if you want any changes
On Tue, Apr 19, 2016 at 1:15 PM, Damian Mooyman<EMAIL_ADDRESS>wrote:

Wow, I'm really impressed... nice last minute addition!
Since we're adding front-end functionality, I'm going to check this PR out
and do a bit of local testing. Really nice job. :D
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/tractorcow/silverstripe-fluent/pull/189#issuecomment-211668217

--
Robbie Averill
LA PETITE MANOUCHE - NZ Gypsy Jazz Guitar Duo
Phone: +64 27 321 4758
<EMAIL_ADDRESS>www.lapetitemanouche.com

Any changes? Can you change it so I never have to deal with daylight saving again? :P

Perhaps if you remove times and dates altogether you could get around that.
AJAX call to Google for the time instead...? :)
On Tue, Apr 19, 2016 at 2:16 PM, Damian Mooyman<EMAIL_ADDRESS>wrote:

Any changes? Can you change it so I never have to deal with daylight
saving again? :P
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/tractorcow/silverstripe-fluent/pull/189#issuecomment-211691192

--
Robbie Averill
LA PETITE MANOUCHE - NZ Gypsy Jazz Guitar Duo
Phone: +64 27 321 4758
<EMAIL_ADDRESS>www.lapetitemanouche.com

ok, I've tested it and I have some slight feedback.
Since the change icons are actually buttons, I think we need some kind of hover-indicator to help users realise that they can be clicked on.
Can we make it:
same value: green (cursor: default)
different value: orange (cursor: pointer to show that you can click)
different value hover: green again (to indicate you are restoring this to green)

Sure thing - will add now
On Wed, Apr 20, 2016 at 12:21 PM, Damian Mooyman<EMAIL_ADDRESS>wrote:

ok, I've tested it and I have some slight feedback.
Since the change icons are actually buttons, I think we need some kind of
hover-indicator to help users realise that they can be clicked on.
Can we make it:
same value: green (cursor: default)
different value: orange (cursor: pointer to show that you can click)
different value hover: green again (to indicate you are restoring this to
green)
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/tractorcow/silverstripe-fluent/pull/189#issuecomment-212182390

--
Robbie Averill
LA PETITE MANOUCHE - NZ Gypsy Jazz Guitar Duo
Phone: +64 27 321 4758
<EMAIL_ADDRESS>www.lapetitemanouche.com

Thanks @robbieaverill , great job!


[Removal]: swift blush bear

Hotspot Name
swift blush bear
Hotspot b58 Address
11KdcpoXnbMsJA7hWXdhfydhzGozxKaARWkgXJdQqjqUGrCEF3N
Discord Handle
No response
Hotspot Manufacturer
Bobcat
Removal Reason
I actually deployde the Bobcat on the flooy ,just using a 3dbi 1m fiberglass antenna.Please help me correct if there are mistakes, thank you!
Modifications
Yes
Extra forwarders
No
Extra antennas
No
Additional Information

We have taken into account this removal request in the next iteration of the denylist. It may take some time before it's processed. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


Rename to ClimaBiogeochemistry.jl?

@seamanticscience I think the safe path is to rename this to ClimaBiogeochemistry.jl.
What do you think?

It was a fun name, but that makes sense...
Does it need to be more specific, like include "Ocean" in the name?

Hmm that's a good point

how about “Aqueous.jl”

another vote for "Biogeochemiggles"

another vote for "ClimaOceanBiogeochemistry" or "ClimaOceanBGC"


Subsonic Provider Issues

What version of Music Assistant has the issue?
2.0.0b144
What version of the Home Assistant Integration have you got installed?
N/A
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
There are a few observed errors when adding the Subsonic Provider.

Not all Artists/Albums/Tracks are imported.

MA imports two less "album artists" than gonic lists, but many fewer than gonic lists as "artists".
MA imported about 86% of the albums that gonic lists.
MA imported about 0.6% of the tracks that gonic lists.

Some albums have missing album art (i.e. broken image), but more importantly the tripple-dot and the heart are greyed out, so they can't be interacted with or deleted.

When selecting one Album that was imported, MA could not list any tracks.

How to reproduce

Completely clean install
Add Subsonic provider
Wait for synchronization to complete

Music Providers
Subsonic
Player Providers
None
Full log output
2024-05-04 15:46:40.502 INFO (MainThread) [music_assistant] Starting Music Assistant Server (c3d4244d08ab4caa960bd02119589021) version 2.0.0b144 - HA add-on: False - Safe mode: False
2024-05-04 15:46:40.513 INFO (MainThread) [music_assistant.cache] Initializing cache controller...
2024-05-04 15:46:40.910 INFO (MainThread) [music_assistant.music] Using a sync interval of 180 minutes.
2024-05-04 15:46:41.304 INFO (MainThread) [music_assistant.streams] Detected ffmpeg version 6.0.1 with libsoxr support
2024-05-04 15:46:41.305 INFO (MainThread) [music_assistant.streams] Starting server on  <IP_ADDRESS>:8097 - base url: http://<IP_ADDRESS>:8097
2024-05-04 15:46:41.312 INFO (MainThread) [music_assistant.webserver] Starting server on  <IP_ADDRESS>:8095 - base url: http://<IP_ADDRESS>:8095
2024-05-04 15:46:41.507 INFO (MainThread) [music_assistant] Loaded metadata provider fanart.tv Metadata provider
2024-05-04 15:46:41.508 INFO (MainThread) [music_assistant] Loaded music provider Music Assistant
2024-05-04 15:46:41.508 INFO (MainThread) [music_assistant] Loaded metadata provider MusicBrainz Metadata provider
2024-05-04 15:46:41.508 INFO (MainThread) [music_assistant] Loaded metadata provider TheAudioDB Metadata provider
2024-05-04 15:46:41.686 INFO (MainThread) [music_assistant.music] Sync task for Music Assistant completed
2024-05-04 15:47:48.041 ERROR (MainThread) [music_assistant.webserver] Error handling message: config/providers/save: list index out of range
2024-05-04 15:47:59.723 INFO (MainThread) [music_assistant] Loaded music provider Open Subsonic Media Server Library
2024-05-04 15:47:59.880 WARNING (ThreadPoolExecutor-0_15) [py.warnings] /usr/local/lib/python3.12/site-packages/libopensonic/media/media_base.py:65: UserWarning: Artist object returned by server is missing required field 'sortName'
warn(f"{self.get_class_name()} object returned by server is missing required field '{key}'")
2024-05-04 15:55:10.940 WARNING (ThreadPoolExecutor-0_5) [py.warnings] /usr/local/lib/python3.12/site-packages/libopensonic/media/media_base.py:65: UserWarning: Artist object returned by server is missing required field 'sortName'
warn(f"{self.get_class_name()} object returned by server is missing required field '{key}'")
2024-05-04 15:55:37.940 WARNING (MainThread) [music_assistant.music] Sync task for Open Subsonic Media Server Library completed with errors
2024-05-04 15:58:39.032 WARNING (ThreadPoolExecutor-0_20) [py.warnings] /usr/local/lib/python3.12/site-packages/libopensonic/media/media_base.py:65: UserWarning: Artist object returned by server is missing required field 'sortName'
warn(f"{self.get_class_name()} object returned by server is missing required field '{key}'")
2024-05-04 15:58:49.188 ERROR (MainThread) [music_assistant.webserver] Error handling message: music/albums/album_tracks: Field "disc_number" of type int in AlbumTrack has invalid value None
2024-05-04 15:59:38.972 ERROR (MainThread) [music_assistant.webserver] Error handling message: music/albums/album_tracks: Field "disc_number" of type int in AlbumTrack has invalid value None
Additional information
I am on Discord as 'Bubba' and I'm happy to chat and help test/debug.
My container output shows a few lines of al-2628: No such file or directory that I don't see in the logfile.
What version of Home Assistant Core are your running
N/A
What type of installation are you running?
Home Assistant Container
On what type of hardware are you running?
Alternative

@khers

I saw this behavior in my HA install and have been trying to investigate. I cannot reproduce in my dev env, there the scan completes successfully and when I update to beta 147 it seems to be fixed for me there. Please try the new beta and let me know if it is still broken.

It looks like this took 2 hours to sync. Do you see incorrect results still? Once my sync finally finished the stats are what I expect (MA and Gonic disagree about the number of albums and artists because my metadata is not the cleanest.

For me, the ghost entries are usually a misspelling of a band name or artist name (or album). I intend to poke around in my test instance db and see if I can find a pattern to what is causing these entries and recommend metadata fixes for it.
IMO this issue is caused by MA and Gonic disagreeing about how metadata works and the relationships between entities, and the provider code does not include any massaging of these relationships. I don't think fixing it in provider code is the correct choice because this is an Open Subsonic provider and not a Gonic provider.

@rwlove As there has been no followup to the above we will close this soon.

Sorry, I didn't mean to sound like this is a "Won't Fix" more that it is going to require some more investigation to get to the bottom of what is happening here. I hope to spend some time looking through the MA database and compare to what is in my Gonic collection.

I don't have any insight into the cause of the missing tracks or albums but I am fairly certain that the extra artists are a disagreement between the artist as constructed by Gonic when it scans the filesystem and the entries in the Artist field of the ID3 tags. AFAIK Gonic does not build new artist entries for what it finds in the ID3 tags (I'd have to ask the  maintainer to verify) but when we parse each track in MA we make sure to create an Artist entry for each value found in the ID3 tags and for each item returned by the track enumeration. I have been putting off the clean up of my metadata but I think I am at the point where it is the only way forward for this investigation. I will try and get the motivation up for that project in the next week or so.

So I finally got around to cleaning up my meta data with beets and the difference from gonic to MA is larger?
type                   gonic        MA artists                1361         1443 album artists    654            N/A albums              1206         1148 tracks                 12254      11538
I am at a loss for how to explain the discrepancy between albums and tracks, these should be 1-1. All I can think of for the artists is that gonic counts album artists as unique names in that field of the metadata for any track, but I suspect there are duplicates between artists and album artists. I wonder if the union between artists and album artists in gonic would match what MA sees.

I am asking the gonic maintainer some questions about what might be going on here: https://github.com/sentriz/gonic/issues/534

@rwlove Do you have examples of "ghost" entries. I think the next step here is to look deeper into what each service believe they have and see where the discrepancies are.

I think what I need to do is dump the tracks from my Gonic install and then from the MA database and remove the intersection to see what tracks MA excluded. This should work for aartists and albums as well. I will let you know what I find when I have the motivation to do that.

@khers any progress on this one?

Given that this isn't actually harming anyones ability to use the provider (and $DAYJOB is going nuts) I won't be able to spend a ton of time investigating this. If the project prefers issues to be closed, I am fine to close this one and make a comment in the code about this issue for future investigation.

This can stay open. Is there a known issue I should add to the docs?

We should probably mention that having a mismatch between the counts of artists, albums, and tracks is a possibility and link back to this issue. I'd love it is someone showed up with a specific example of a missing or ghost track.

Has anyone else noticed that compilation tracks sometimes get the wrong artist assigned to them. The album artist is "Various Artists" then each track has its own artist. The track artists are correct in Navidrome and Symfonium, but in MA some of them have been set to James Horner (in my setup at least).
I think that this happens if the track artist does not match any existing Album Artist in the library.

Sounds like this https://github.com/music-assistant/hass-music-assistant/issues/2965

Sounds like this #2965

Looks like it. However its not only for Multi-artist tracks. It seems to be for any track by an artist that does not have an album in the library.

This is due to the way the Navidrome devs represent these artists. They do not have an entry in the artists table so MA sees them for the first time during track scanning. I thought I had gotten the track artists working with the last hack I put in place to give these artists an ID that we could use internally but it's possible that that hack is broken in this case. As I stated in the other issue, I do not run a Navidrome server so testing against one is a challenge for me. I run Gonic so that gets well tested.
As with the other bug there are two possible solutions:

Someone here who has a Navidrome server they can test against puts together changes to the subsonic provider that I can verify doesn't break other implementations.
Someone convinces the Navidrome devs that their implementation of multi-artist albums and artists without an album credit needs to change

The first is a far easier path unless you want to become a Navidrome dev.

As I said in #2965 I have a PR that might address the multi-artists album issue: https://github.com/music-assistant/server/pull/1758 once that is merged (there are ruff issues I need to address) can I get a Navidrome user to try it and report back?

:( That's the problem with trying to dash off a fix without a proper test, thanks for the catch (and for testing). I have updated the PR (and cut a new libopensonic to fix).

@rwlove We will close this soon assuming fixed

@OzGav I'll close it. Thanks for the help.


Feed source table refactor

Checklist

[x] Appropriate branch selected (all PRs must first be merged to dev before they can be merged to master)
[x] Any modified or new methods or classes have helpful JSDoc and code is thoroughly commented
[x] The description lists all applicable issues this PR seeks to resolve
[x] The description lists any configuration setting(s) that differ from the default settings
[x] All tests and CI builds passing

Description
Refactor the Project view's Feedsource table and toolbar. Seeks to resolve #422. Also add pinned deployments to projects. This PR depends on https://github.com/conveyal/datatools-server/pull/191.
This will work with any configuration, but works especially well if deployments are enable and if the application is able to publish feed versions.
Feed Source Table Refactor
The biggest part of this PR involves refactoring the Feed Source Table in the project viewer to show more information. It is now able to display basic stats about the current feed version and also allows for the comparison to another feed version that is either in a deployment or has been published.
Internally, the ProjectViewer was refactored to now render a new connected component FeedSourceTable that now renders the Panel, Toolbar and Table. The ProjectFeedListToolbar is now also connected to avoid passing a zillion props down the line. The toolbar has been refactored to allow sorting of the table, showing counts by version status, and moving some action buttons into a dropdown. The old FeedSourceTable component now renders an html table instead of bootstrap ListItems. A table header is now rendered and each row is rendered as the connected component FeedSourceTableRow.
A fair amount of new logic in the actions, reducers and util function was also added in order to properly render the FeedSourceTable. There are a few new fields in the projects reducer and supporting actions. Also, the onProjectViewerMount action had more logic added to it so that additional data that is needed to make comparisons is loaded right away.
Pinned Deployments
It is now possible to "pin" a deployment. When a deployment is pinned it is highlighted and shown as the first deployment in the projects list. Futhermore, if a project has a pinned deployment, the FeedSourceTable will compare the versions in that pinned deployment to the latest feedsource versions.
Testing!
This PR introduces a lot of new mock data and two types of testing methods that I hope are simple to make, easy to understand and covering a lot of code. The mocks are now organized within a directory in the __tests__/test-utils folder.
The first type of test is of the actions and reducers all at once. The tests in lib/manager/actions/__tests__/projects.js make tests that check if the end result of an action updates the store as expected. The second type of test is of some container components. Each test in lib/manager/containers/__tests__ will make sure that a connected component will render properly given an underlying store state and props provided to the connected component. Testing containers instead of the underlying components also has the added benefit of often times invoking selectors and util functions. Each of these types of tests hopefully are well received for getting the most bang for our buck to help us make tests with limited time. The downside of these approaches is that they heavily employ snapshots which at times can generate massive amounts of data that can provide false positives. I did briefly inspect each snapshot and feel that they contain the proper data to the best of my knowledge.

Just created this PR to have a place for feedback on this. FYI, there is another branch at https://github.com/conveyal/datatools-ui/tree/compact-feedsourcetable that builds on this PR and allows a compact view of the table.

Codecov Report

Merging #429 into dev will increase coverage by 1.21%.
The diff coverage is 25.64%.

@@           Coverage Diff            @@
##             dev    #429      +/-   ##
========================================
+ Coverage    5.3%   6.52%   +1.21%
========================================
  Files        322     324       +2
  Lines      15469   15550      +81
  Branches    4674    4687      +13
========================================
+ Hits         820    1014     +194
+ Misses     12497   12424      -73
+ Partials    2152    2112      -40

Impacted Files
Coverage Δ

lib/gtfs/util/index.js
4.34% <ø> (ø)
:arrow_up:

lib/manager/components/NotesViewer.js
0% <ø> (ø)
:arrow_up:

lib/types/reducers.js
0% <ø> (ø)
:arrow_up:

lib/types/index.js
0% <ø> (ø)
:arrow_up:

lib/manager/components/FeedSourceTable.js
0% <0%> (ø)
:arrow_up:

lib/gtfs/components/gtfs-search.js
0% <0%> (ø)
:arrow_up:

lib/manager/containers/ProjectFeedListToolbar.js
0% <0%> (ø)

lib/manager/components/FeedSourceTableRow.js
0% <0%> (ø)

lib/manager/components/ProjectViewer.js
0% <0%> (ø)
:arrow_up:

lib/manager/containers/FeedSourceTableRow.js
0% <0%> (ø)

... and 40 more

Continue to review full report at Codecov.

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

Just assigned this back to myself as we've had internal discussion on how to redesign the table.

Description updated. This should be ready for review.

@evansiroky to make some refinements to snapshots and sidebar props.

I fixed the sidebar component so it doesn't result in massive snapshots. Also, I made this branch depend on the usage of a datatools-server that has the changes in https://github.com/conveyal/datatools-server/pull/195.

Assigning back to me. I'll be working on adding the ability to download a csv of the table.

Just added ability to download CSV of the FeedSourceTable.

:tada: This PR is included in version 4.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


lib libeslz4-android64.so

i got an error "ArgumentError (Invalid argument(s): Failed to load dynamic library 'libeszstd-android64.so': dlopen failed: library "libeszstd-android64.so" not found)" when try to run the encode and decode of this lib on flutter.

A contributor provided an android example here:
https://github.com/instantiations/es_compression/tree/master/example/android_jniLibs_generate
I only use these for dart server-side, so I can't be much help in hooking up FFI libs for Flutter

Hi there! I just wanted to share my experience about this if I may..
I did a bit research on compression algorithms, as the project need was compression / decompression speed over file size ratio, ended up choosing LZ4. Quick search on pub.dev and here we go es_compression library; looks like well maintained, most popular among others, simple installation and use (according to docs at least). Managed to write a stream based decompression function in a day or so, finally finished it without any compile errors. When it came to test it, well... this famous error:

Failed to load dynamic library 'libeslz4-android64.so': dlopen failed: library "libeslz4-android64.so" not found

It didn't took long to end up in this thread, which directed me to lib generation example that you've given the link above. It was a relief to see the doco started with:

It's very easy to build android jni(*.so) library

which I now believe simply not true. I understand it was a quick write-up to help others but the steps were not perfectly clear as to which project to checkout, which project to make build and whatnot. Followed the steps countless times with tons of errors, version clashes, fragile and hardcoded requirements. Even the targetSdkVersion = 30 was warning as it complained about Google Play requirement min 31+ now with old Java, Gradle and Android SDK dependencies.
Finally I was able to build the .so files but then realised even the generated file names were mismatching:
isong0623/android_lib_es_compression0_9_9#1
#28
This is for Android and who knows what's waiting for iOS #41 & #45 or simply for the release build #28. Since the whole process is done in the cached dependency library, a version increase or a simple dart pub cache clean command means start over from scratch.
I understand the nature of open source and not here purely to complain, I wish I could spare some time to contribute and improve this library but I reckon there are many others like me frustrated by the fact that none of this is mentioned in the installing tab on pub.dev.
Please take this as a constructive feedback and you may want to look at the implementation of isar_flutter_libs library, which does exactly the same (architecture specific library dependencies) for Isar Database.
We've already decided to move on to gzip as I believe this is just not sustainable for a healthy development cycle and as the library generation example states at the end:
Good luck, everyone!


Token amounts can be more than what decimal fits.

Purpose
Token amounts are up to 256 bits so they don't fit into a decimal.
I believe this should be sufficient since all the actual updates to the amount are via SQL, and there the value that is added is always a BigInteger. So the value stored in the database is always an integer.
But ideally that would also be changed in the column type from "numeric" to "biginteger'.
The "decimal" makes it so that tokens cannot be read from the database and in particular the data migration job fails sometimes.
2024-02-17 19:30:10.575 [EROR] [Application.Jobs.JobsBackgroundService`2[[Application.Aggregates.Contract.Jobs.IContractJob, Application, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Application.Aggregates.Contract.Entities.ContractJob, Application, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]]] [00-e70217de8bab75aa8e02c36b2eb3746f-3725c7d03603a88f-00] _06_AddTokenAddress didn't succeed successfully due to exception.
System.OverflowException: Numeric value does not fit in a System.Decimal

Checklist

[ ] My code follows the style of this project.
[ ] The code compiles without warnings.
[ ] I have performed a self-review of the changes.
[ ] I have documented my code, in particular the intent of the
hard-to-understand areas.
[ ] (If necessary) I have updated the CHANGELOG.

I don't know which parts of the frontend need to be amended, if any. I don't have it set up to run locally.

I will validate the frontend part before merge


Add Linux ppc64le target

Available on Travis

@lloeki if you need any help, please let me know

@lloeki just in case you want to gain access to a ppc64le node for development, please check github.com/KernelCafe/welcome

I will! Thanks @runlevel5 :)

So @runlevel5 if you could:

try out installing straight from gem install libv8-node on a linux ppc64le machine. This should pull the ruby platform gem and attempt to build libv8 from node's source.
if 1. is successful, try installing mini_racer from gem install mini_racer. This should pull 0.4.x and build against the just installed libv8-node.
if 2. is successful, try out sample code listed in miniracer's README in irb or a .rb file, whatever is practical for you.
if 1. is successful, clone https://github.com/rubyjs/mini_racer, run bundle install && bundle exec rake compile && bundle exec rake test. Hopefully the tests should pass.
if 1. fails, clone https://github.com/sqreen/ruby-libv8-node, run the libexec scripts in the order defined in .github/workflows/build.yml (e.g ./libexec/download-node 15.14.0, and so on).

If any of these fail, report here with any relevant detail.

@runlevel5 today's work on cross-compiling for aarch64 will probably trickle down to have ppc built by CI as well.

@lloeki sorry for late response, 👍 everything works beautifully. No error when installing libv8-node and mini_racer. All the tests of mini_racer passed

@lloeki I guess we could close this issue?

I'd like to add it to CI through cross-compiling before closing :)


Typing multiple "keys" at once / very fast leads to an error

When one types multiple keys at once, very fast or copies e.g. an URL into the field the following error is raised:
Traceback (most recent call last):
  File "/Users/XXXX/projects/charter/test.py", line 3, in <module>
    test_field = survey.routines.input("test_field: ")
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_theme.py", line 75, in wrapper
    return function(*args, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_routines.py", line 73, in _input
    result = _widgets.start(
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_widgets.py", line 398, in _start
    _system.console.start(sketch, invoke)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_console.py", line 91, in start
    self._start(sketch, invoke)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_console.py", line 71, in _start
    self._handle.start(callback)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_handle.py", line 57, in start
    self._start(invoke)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_helpers.py", line 35, in wrapper
    return function(self, *args, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_handle.py", line 41, in _start
    source.listen()
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_source.py", line 189, in listen
    self._listen()
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_source.py", line 181, in _listen
    self._advance()
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_helpers.py", line 35, in wrapper
    return function(self, *args, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_source.py", line 175, in _advance
    self._process(info)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_source.py", line 168, in _process
    self._callback(name, info)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_console.py", line 67, in callback
    print(True)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_console.py", line 60, in print
    self._screen.print(sketch, re)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_screen.py", line 70, in print
    self._print(sketch, re, clean = clean, learn = learn)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_helpers.py", line 35, in wrapper
    return function(self, *args, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_helpers.py", line 35, in wrapper
    return function(self, *args, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_screen.py", line 46, in _print
    self._render.draw(*info, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_render.py", line 249, in draw
    self._draw(learn, clean, lines, point)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_helpers.py", line 35, in wrapper
    return function(self, *args, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_helpers.py", line 35, in wrapper
    return function(self, *args, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_render.py", line 189, in _draw
    cur_y, cur_x = self._cursor.locate()
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_cursor.py", line 326, in locate
    point = self._locate()
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_helpers.py", line 35, in wrapper
    return function(self, *args, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_helpers.py", line 35, in wrapper
    return function(self, *args, **kwargs)
  File "/usr/local/Caskroom/mambaforge/base/envs/charter/lib/python3.9/site-packages/survey/_core/_cursor.py", line 313, in _locate
    point = tuple(map(int, code.args))
AttributeError: 'Text' object has no attribute 'args'

with the following code (tested it with form as well):
import survey

test_field = survey.routines.input("test_field: ")

My environment: macOS Ventura 13.4.1, Conda, Python 3.9.16, survey==4.5.2
Edit:

macOS VSCode with zsh or bash: does not work
macOS default Terminal with zsh: Error is harder to trigger (pasting multiple URLs at once triggers it)
Debian VSCode with bash: does not work
Windows VSCode with CMD or Powershell: seems to work

The solution is in e7d5e98, I am going to live this open for a few weeks just in case anyone still runs into this issue, as I am unable to test it with my current hardware.

Thanks for the quick response! Tested 4.5.3 and it is pretty much usable for me now.
Just noticed one minor side effect when using the form routine. When typing real fast in the edit mode it can happen that certain chars are appended to the description. When filtering in a form they are sometimes appended to one of the items. But this is not a deal breaker and only rarely the case.

Example
import survey

form = {
    "name": survey.widgets.Input(),
    "price": survey.widgets.Count(),
    "type": survey.widgets.Select(options=("food", "stationary", "tobacco", "literature")),
}
data = survey.routines.form("Item Data: ", form=form)

? Item Data: kjddkldl[back: submit]
>  name: sdfjsdfjlsdfkljklsdfsfjklsfjsfjksdjkf
  price: 0
   type: > food
           stationary
           tobacco
           literature

(a few of the chars get appended to the description when I'm hammering on my keyboard)

I see, this is probably because some keys get inserted when the cursor is back at origin and about to redraw, I believe using a lock to prevent any characters from being inserted between draws should do the trick.

Closing as stale.


Backup-Rention for Azure SQL Server and Azure Azure SQL Database needs to be updated to reflect how it actually happens.

Talking about this section:
https://docs.microsoft.com/en-us/azure/azure-sql/database/automated-backups-overview?tabs=single-database#backup-retention
If you delete a server or a managed instance, all databases on that server or managed instance are also deleted and cannot be recovered. You cannot restore a deleted server or managed instance. But if you had configured long-term retention (LTR) for a database or managed instance, long-term retention backups are not deleted, and can be used to restore databases on a different server or managed instance in the same subscription, to a point in time when a long-term retention backup was taken.
This comes back to my topic around issue #75996. Azure SQL Database is not Azure SQL Server. Azure SQL Server if it is deleted, it will warn you that you will be deleting any databases attached to that SQL Server. What it doesn't tell you is that if you for some odd reason did this by mistake or if it was because of a internal employee, malicious or not who deleted it. You can contact Microsoft Support to see if they have the backup within the Deferred Dropped area. Depending on a few factors, it could still be in the backend system for 1-7 days.  This should function like Azure Database for MySQL/PostgreSQL who have 1-7 days in case if the Server/Database is deleted.

Important! If a new server resource with the same name is created in the subscription, the “Deferred dropped” server will change to “Force dropped” and thus be permanently deleted.

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

ID: 9492cedc-cea0-af9d-29a0-52cbca8c5e21
Version Independent ID: 969a8654-8f95-d5de-351d-73c8e02e5d3a
Content: Automatic, geo-redundant backups - Azure SQL Database & Azure SQL Managed Instance
Content Source: articles/azure-sql/database/automated-backups-overview.md
Service: sql-db-mi
Sub-service: backup-restore
GitHub Login: @shkale-msft
Microsoft Alias: shkale

Thanks for bringing this to our attention. We are actively investigating and will get back to you soon.

@shkale-msft Please check the feedback from the Cx for the doc enhancement and provide guidance.

Best course of action is to  open a support ticket to see if the backend magic has the SQL Server/Database backup before its deleted permanently.


Quarterly guild retro and/or pulse survey

So we know how we're doing...
Conduct quarterly pulse survey to see how we’re doing
NEO one is good
Retro at some regular cadence?
What are we doing here? What do you want out of this?
How are we doing?
Check in with Alan Atlas, Bret

@suprenant - any thought on Acceptance criteria?
The value of getting feedback is good.
I'd like there to be a sketch about how to get from feedback to action change too.
I could see this being a quarterly Survey/Form - which would need a v1 draft.

@afomi let's discuss. I feel there's probably room for both a survey to the guild members as well as some sort of retro – maybe with the members (in place of a form) or, perhaps better yet, just with the guild leads (maybe inviting others that would want to attend but not taking up one of our more precious biweekly meetings).

Closing as stale, on the assumption that the need will resurface if it still exists.


Dropdown from table

Busy with the definition of the modules but not yet migrated, you should be able to select a table based on a module once you select the type Dropdown. The list of tables shows only already migrated tables. This way you have to migrate every module first before going further with the rest, if you plan to have relationships

We have kept the that because of foreign keys for relationship which we are planning to implement.

Is it now solved or you have just closed the issue?

We cannot create foreign keys when database tables aren't migrated...

I think we have a miscommunication.
We can surely define the whole modules and then migrate once. The definition of the relationship does not require the existence of the table in the DB, it requires however the definition within the module even if it is not generated
I have a different view regarding this issue which is still priority one in my opinion


F-Droid

Hi!
Please confirm you would be OK with me putting this into the F-Droid store

Thank you for your interest in this app. This is a beta version and still needs further optimization and improvement. I hope it can be helpful as it is intended to be. I am very welcome for any suggestions from you on improving this app if possible. Thank you!


Target .NET Standard 1.4

.NET Core support (targeting .NET Standard 1.4)

Thanks @danice! It looks like CI is having some trouble.


[core] Fix typo contaniners -> containers

Might be a breaking change when using the manager directly...

[X] I have followed (at least) the PR section of the contributing guide.

@charlax I'm an endless source of typos 😁. Thanks for spotting this one 🧐.


Increase coverage of api/jobs/handlers.py

Closes #683
8 LOC left in api/jobs/handlers.py (97%)

5L Permission handling (that'll be faster to handle globally in #702): 244, 351, 354, 416-417
2L Checks that seemed unreachable (maybe obsolete or useful for compatibility?): 166, 222
1L That I would rather solve later with additional fixture(s) (need a session w/o acquisitions): 340

Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

LGTM! Nice stuff.

@ambrussimon-invenshure This looks green, is there more to do here yet? If you want, rebase or merge master into this branch, see if CI is still green. I'm fine landing this as-is if it passes.

@kofalt thanks, will merge as soon as CI passes after the rebase! (Was hesitant to merge as didn't hear back from @ryansanford, last time he wanted to make sure multiple reviews happen before that.)

@ambrussimon-invenshure My apologies. I had typed a LGTM, but never hit the comment button.


[3/8] Big merge - tube

This PR is just removing no-longer-used things and running clang-format on tube code.
Separated to reduce pollution.
TODO : check CMakeLists.txt, why are tests commented out

Merged in https://github.com/facebookincubator/Polygames/commit/5ebd4243b62cbb5cb8ef8af3e8c3b27329c6eb5d

Merged in https://github.com/facebookincubator/Polygames/commit/5ebd4243b62cbb5cb8ef8af3e8c3b27329c6eb5d


cancel all current requets

Alamofire.Manager.sharedInstance.session.invalidateAndCancel()
Not able to make request after above line execution

That is the expected behavior. It explicitly calls that out in the documentation.


Create manacher's algorihm

Longest palindromic substring in linear time

This is an important algorithm . please merge it @mishra10008


Add local ports for local services discovery

Hello,
This PR add a file containing the list all local ports that can be used in case of SSRF/XXE in order to scan and detect local exposed services.
Thank you very much in advance 😃

Cheers!

Thank you very much.

I have written a small script https://github.com/TH3xACE/OFFPORT_KILLER which can be used to identify  potential ports identified manually or else.... :)


Add link to contributors graph from "and you" in footer

I think the blue with underline is a bit glaring for the link ... but I'm not familiar enough with Primer to fix it. @bkeepers can you lend a ✋ ? Or do you think it is ok as is?

Much better, thanks @bkeepers :+1:


Gab --> automatic generation of sphinx html

Careful --> does not include Matlab Publish. Needs to be runned manually.

We can merge this branch. However, looking at the Files Changed, I see many files affected in folder Data:

The problem is the renaming of folders from UPPERCASE  to  lowercase :(
@mathieuboudreau do you know how to handle this??
Basically, we want to reset all change in folder Data

Nervermind, let's merge, Data folder will be removed from git history anyway


Trivia App

What does this PR do?
Includes all react js files that has been used to build a webpage that makes an api call to OpenTDB and fetches 5 trivia questions for the user to answer and test their knowledge.
Fixes #461
https://github.com/user-attachments/assets/a296368d-7156-4ee3-a999-9abe4e1dd776
Type of change

New feature (non-breaking change which adds functionality)

How should this be tested?
To test this simply go to the directory of this project which is 32-Trivia-App and run the following commands:

npm i
npm run dev

Mandatory Tasks

[x] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.

@beRajeevKumar can you please review and merge this PR. Thanks!


Installing the addon for v7 (next) warning...

When installing the version 'next' a warning is printed in storybook v7.
You (or an addon) are using the 'config' preset field. This has been replaced by 'previewAnnotations' and will be removed in 8.0
I think this comes from the exported preset.js file.
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#config-preset-entry-replaced-with-previewannotations
Thought i would share.

Thank you @MMT-LD! I'm going to work on getting this cleaned up over the next week or so

Hey @MMT-LD
I've released version 1.0.0 with the official launch of Storybook 7.0.0. This resolves the deprecation warning 🎉


merge encoder and prettyencoder

github seems to do a better job at difffing than my local diff.
i can squash the commits if preferred

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @huonw (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way Github handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see CONTRIBUTING.md for more information.

Have you measured the perf impact of unifying the two encoders into one?

separated
test base64::tests::bench_from_base64   ... bench:       765 ns/iter (+/- 84) = 266 MB/s
test base64::tests::bench_to_base64     ... bench:       356 ns/iter (+/- 46) = 424 MB/s
test hex::tests::bench_from_hex         ... bench:      1399 ns/iter (+/- 183) = 215 MB/s
test hex::tests::bench_to_hex           ... bench:       356 ns/iter (+/- 11) = 424 MB/s
test json::tests::bench_large           ... bench:      1418 ns/iter (+/- 42)
test json::tests::bench_small           ... bench:      1904 ns/iter (+/- 185)
test json::tests::bench_streaming_large ... bench:       621 ns/iter (+/- 39)
test json::tests::bench_streaming_small ... bench:      1009 ns/iter (+/- 97)

merged
test base64::tests::bench_from_base64   ... bench:       793 ns/iter (+/- 13) = 257 MB/s
test base64::tests::bench_to_base64     ... bench:       362 ns/iter (+/- 5) = 417 MB/s
test hex::tests::bench_from_hex         ... bench:      1431 ns/iter (+/- 33) = 211 MB/s
test hex::tests::bench_to_hex           ... bench:       365 ns/iter (+/- 11) = 413 MB/s
test json::tests::bench_large           ... bench:      1443 ns/iter (+/- 61)
test json::tests::bench_small           ... bench:      1932 ns/iter (+/- 97)
test json::tests::bench_streaming_large ... bench:       624 ns/iter (+/- 98)
test json::tests::bench_streaming_small ... bench:      1026 ns/iter (+/- 66)

slightly slower. also, the benchmarks don't blackbox the choice between pretty or compact. Therefore the optimizer might optimize out a lot, not sure how good it is at that considering all the closures passed around.

Ok, I'm happy with those numbers, thanks @oli-obk!

rebased and new_compact -> new rename

Thanks!


Health checks

synopsis
as a team
we want to ensure that we have sufficient health checks
so we can ensure that the product is alive
acceptance criteria

[ ] New health checks (if any) have been developed
[ ] Existing health checks has re-designed if needed
[ ] the work done has been documented in C4

@MadsBloendAndersen , how about making this a feature and linking all the related stories and possible add references to relevant info like this miro board?
Health checks in general spans multiple stories, so it's hard to define what must be done as part of this single story, or when all has been completed.


chore: upgrade Rust to 1.74.0

Summary
SSIA #878
Test Plan
The current CI should pass

!bench_formatter
!bench_parser
!bench_analyzer


Update loading.mdx to include "jsonl" file loading.

A small update to the documentation, noting the ability to load jsonl files.

Thanks for adding the explicit loading command.
However, I would move it just below, where we present the JSON-Lines example.

Maybe adding that this format is called JSON-Lines
Add the example after the JSON-Lines data example

https://github.com/huggingface/datasets/blob/14d9afbb7ae1b787c450261ca0ff374551993031/docs/source/loading.mdx#L135-L138

Thank you @albertvillanova for the feedback! I moved the jsonl file loading example to a more appropriate location.


ASCII CODE OF ENTERED STRING IN Java (GSSOC'21)

🚀 Feature
Have you read the Contributing Guidelines on Pull Requests?
Yes !
AIM :: to find out the ASCII CODE OF ENTERED STRING IN Java
Motivation
As i didn't found ASCII CODE OF ENTERED STRING IN Javaprogram, So i am willing to contribute it...
Pitch
Hi I am GSSoC'21 participant,
"I am looking to work on the ASCII CODE OF ENTERED STRING IN Java"
I will write the clean and optimized code , by keeping best case time and space complexity in mind and
with  brief commenting and algorithm.
I will use Java language.

/assign