Disable trace logs by default to optimize module compilation

There has been a performance regression for module compilation. The PR #5382 added the trace-log feature by default (this line)
Historically high-frequent trace logs have been a performance bottleneck. Some efforts were made to revert that (#4481, #4484, #2758). In #4484 @bnjbvr added this feature flag, claiming perf increment of 32%, whereafter this flag was enabled by default in #5382.
The following numbers are from sampling the app once before and after with the macos instruments profiler.
The module compilation code takes in total 29.5 sec, of that three log functions here take up ~13 secs in total (43% of total).

Disabling trace logs results in total 10.3s, which is roughly ~65% faster.

Branch for this instrumentation can be found here: https://github.com/bytecodealliance/wasmtime/compare/main...TimonPost:wasmtime:timon/make-trace-logs-not-default?expand=1
Feature
We probably want to disable 'trace-log' by default as shown this takes ~60% of the total module compilation. Also we likely want to expose upstream control over this feature.
Benefit
Speeds up compilation by 60% :).
Implementation

Remove the trace-log feature from the default features array in codegen.
Add trace-log feature to various crates that depend on codegen, and from those crates expose the ability to 'enable' trace logs as opt in.
Also expose this feature for wasmtime crate so that we can decide on enabling/disabling logs.

Details

Macos 13.0.1, Apple M1 Max
Precompiled Wasm module is roughly 400MB

Thanks that minimal fix improves compilation speed for our big model on my machine from 7.0 s -> 5.55s :tada: which is very significant and about what we saw last time when we implemented the feature flag for excluding the heavy trace log statements.


Dockerless CLI - User/Host Command

DOD
User (2 commands)

[x] Integration tests have been added
[ ] Implementation has been done
[ ] Log errors/messages have received approval from Inbal + TW
Host (1 command)
[x] Integration tests have been added
[ ] Implementation has been done
[ ] Log errors/messages have received approval from Inbal + TW

Helpful resources:
user/host epic - https://app.zenhub.com/workspaces/palmtree-5d99d900491c060001c85cba/issues/cyberark/conjur-api-python3/101

Will be done in US https://app.zenhub.com/workspaces/palmtree-5d99d900491c060001c85cba/issues/cyberark/conjur-api-python3/101

Will be done in US https://app.zenhub.com/workspaces/palmtree-5d99d900491c060001c85cba/issues/cyberark/conjur-api-python3/101


Discuss v7 and the Pipeline Operator

Just want to start off by saying thanks for all the great work that went into v6 👏👏👏
Ok so I have read through the v7 design doc and I see it is considering dropping compatibility with the pipeline operator. I would like to make the case for not dropping compatibility.
Mr Lesh pointed out in Feb that

The pipeline operator could be the single best feature since destructuring added to JavaScript if it lands

https://twitter.com/benlesh/status/959541023796940800?lang=en
After giving it some thought, I think Mr Lesh is right. Here is my case:

Like reactive programming, piping (via an operator) is a concept that stretches across languages. Even if you haven't used an operator like this in your programming, there is a good chance you have used it in the terminal ($ cat ~/.bash_history | grep foo). Being able to capitalize on that shared mental model that many programmers already have will be a big help in up-skilling RxJS beginners.

The functional trend is here to stay, and I believe the pipeline operator will be an important tool in the functional toolbox. If RxJS isn't compatible with this core building block of functional programming, and instead uses a parallel concept, then it could hurt adoption of RxJS in the coming years.

This point is a bit subjective, but there is a case to be made that the pipeline operator offers an improvement in readability. Below are some examples to illustrate this point.

E.g. 1 Without Operator:
const result$ = some$.pipe(takeUntil(someOther$.pipe(filter(value => value === 'END'))))

E.g. 1 With Operator:
const result$ = some$ |> takeUntil(someOther$ |> filter(value => value === 'END'))

E.g. 2 Without Operator:
const saveEpic = action$ =>
  action$.pipe(
    ofType(c.SAVE_REQUESTED),
    switchMap(action =>
      Api.save(action.payload).pipe(
        map(response => saveFulfilled(response)),
        catchError(err => of(saveFailed(error))),
        takeUntil(action$.pipe(ofType(c.SAVE_CANCELLED)))
      )
    ),
  )

E.g. 2 With Operator:
const saveEpic = action$ =>
  action$
    |> ofType(c.SAVE_REQUESTED)
    |> switchMap(action =>
      Api.save(action.payload)
        |> map(response => saveFulfilled(response))
        |> catchError(err => of(saveFailed(error)))
        |> takeUntil(action$ |> ofType(c.SAVE_CANCELLED))
    )

The difference for me is that with the pipeline operator, I am able to quickly scan the code to build up my mental model, as the operator stands out and highlights the logical breakpoints in the composition. Without the operator I find myself having to carefully read the code to build up my mental model, which takes more time and increases the cognitive load. And if I'm experiencing a reduction in cognitive load by using the pipeline operator, then chances are others would too.
Conclusion
The pipeline operator proposal has a lot of support behind it (already over 3000 stars), and if it lands, it'll likely become popular as functional programming grows. It seems like a perfect fit for RxJS and I think it would be wise i.t.o. the bigger picture, if RxJS does not drop compatibility with it.

It's not dropping compatability. :).. I really appreciate all of the thought that went into this, but I've landed on a design where pipeline works just fine.

Awesome you just made my day @benlesh! I'm looking forward to reading about the new design 🙌 🎉


Fix OpenAI Assistant

Description
Fixes openai assistant. PLEASE USE OPENAI==1.20.0 (https://github.com/openai/openai-python/issues/1416)
Fixes #1369
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?

[x] Unit Test
[ ] Test Script (please provide)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

Maintainer Checklist

[ ] closes #xxxx (Replace xxxx with the GitHub issue number)
[ ] Made sure Checks passed

It's working now locally with openai==1.20.0

the langchain module expects a higher version
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
langchain-openai 0.1.7 requires openai<2.0.0,>=1.24.0, but you have openai 1.20.0 which is incompatible.

Still gives the same error
Name: openai
Version: 1.20.0
Summary: The official Python library for the openai API

from openai.types.beta.threads import MessageContentText, ThreadMessage
ImportError: cannot import name 'MessageContentText' from 'openai.types.beta.threads' (/site-packages/openai/types/beta/threads/__init__.py)

Still gives the same error
Name: openai
Version: 1.20.0
Summary: The official Python library for the openai API

from openai.types.beta.threads import MessageContentText, ThreadMessage
ImportError: cannot import name 'MessageContentText' from 'openai.types.beta.threads' (/site-packages/openai/types/beta/threads/__init__.py)

@denaha Please can you check the imports I have changed in this PR. It will fix the issue(attached screenshot)

the langchain module expects a higher version ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. langchain-openai 0.1.7 requires openai<2.0.0,>=1.24.0, but you have openai 1.20.0 which is incompatible.

Please for now you can have this version locally, I'll change the version of langchain_openai in this PR https://github.com/embedchain/embedchain/pull/1391

I changed the import from AIAssistant to OpenAIAssistant and still get the same error.
from embedchain.store.assistants import OpenAIAssistant
  File "/site-packages/embedchain/store/assistants.py", line 11, in <module>
    from openai.types.beta.threads import MessageContentText, ThreadMessage
ImportError: cannot import name 'MessageContentText' from 'openai.types.beta.threads' (/site-packages/openai/types/beta/threads/__init__.py)

Thanks for quickly fixing this. Works now with the latest version of embedchain


sort: check if q param is empty

React searchkit appends in the url the ?q parameter even if is empty string. As a matter of fact, the search application has a configuration variable for choosing the default sort option on empty querystring. In the SortInterpreter we were just checking if the q is in the URL params without checking its value

Coverage remained the same at 94.073% when pulling dafc9bdb83cb5f4684d82388dfb048e36ddcbbab on zzacharo:sort-q-fix into 00f0015d12419e7d9e6eeda966392646d4c99c1a on inveniosoftware:master.

Coverage remained the same at 94.073% when pulling dafc9bdb83cb5f4684d82388dfb048e36ddcbbab on zzacharo:sort-q-fix into 00f0015d12419e7d9e6eeda966392646d4c99c1a on inveniosoftware:master.


Added dragging visibility for all shapes

Added dragging visibility for all shapes
Related Issue
Closes: #1056
Description
This PR enhances the canvas drawing tool by enabling visible feedback during dragging actions. Previously, only finalized shapes and lines were visible after releasing the mouse, making it difficult for users to position and size shapes accurately while dragging. With this update, users can see shapes, lines elements in real-time as they draw.
Screenshots 📷
https://github.com/user-attachments/assets/0544018d-bffd-41c4-b31d-c0a9faa597d6
https://github.com/user-attachments/assets/3aa860ab-0942-4fce-a0db-f095be22ed93
@vishanurag @somyadipghosh Kindly review the PR at the earliest..
I have mentioned only Rectangle dragging visibilty in the issue #1056, but have implemented this feature for all the shapes in canvas editor..Consider upgrading the level..
Note: Some changes in the code are due to pulling the origin...

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

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

[ ] Code style update (formatting, local variables)

[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

[ ] This change requires a documentation update

[x] My code follows the code style of this project.

[x] I have followed the contribution guidelines

[x] I have performed a self-review of my own code.

[x] I have ensured my changes don't generate any new warnings or errors.

[ ] I have updated the documentation (if necessary).

[x] I have resolved all merge conflicts.

@vishanurag resolved the conflicts

@vishanurag also the main canvas editor website is showing as dangerous by Google safe...please check

@vishanurag @somyadipghosh Please review the PR at the earliest

@vishanurag Kindly consider upgrading to level3


Windows compatability

os.path.join doesn't replace '/' with ''. These extra calls to os.path.normpath fix tihs and allow the code to run on Windows.

Thanks so much!


DCS-776 Initial step around adding validation

Work completed and will raise and new PR for this shortly.

Work completed and will raise and new PR for this shortly.


cbouchard/iac-114/ggshield_iac_precommit

Should be merged after: https://github.com/GitGuardian/ggshield/pull/619.
Update the pre-commit command and add tests.

@cyrvan-b in the description, you explain that it should be merged after a closed PR (never merged). Could you improve the description of this PR:

what it does (we already know that it makes some modifications)
Any merging constraints.

Otherwise, looks good to me. :)


station X104 does not fetch „Precipitation Probability“ and „Precipitation Duration“

as asked in https://github.com/FL550/dwd_weather/issues/86#issuecomment-1749020713
here’s a new issue for dwd_weather not fetching
X104_Precipitation Probability and name Precipitation Probability
X104_Precipitation Duration and name Precipitation Duration

after setting
logger:
  default: error
  logs:
    custom_components.dwd_weather: debug

and restarting there’s no remarkable errors but still, both sensors are unavailable.

here’s a log with the relevant entries:
dwd_weather_debug.log
it seems the data is already missing in the Forecast data dict. i guess i need to be looking elsewhere for the error — but i have no clue where, do you?

just read in https://github.com/FL550/simple_dwd_weatherforecast#available-methods

All methods return their values as string. The datetime value has to be in UTC. If no data is available for this datetime, None will be returned. With the optional boolean shouldUpdate an automated check for new updates can be prevented by setting this parameter to False. Otherwise data is updated if new data is available with every function call.
There is also data available which is updated every hour by DWD. Be careful though, as this will download each time roughly 37MB of data. Furthermore, some elements are missing from this data:
PRECIPITATION_PROBABILITY
PRECIPITATION_DURATION
You can use this data by using the optional parameter force_hourly=True.

i indeed configured X104 with the „force_hourly“ option. so this would actually be expected? — unless the custom component would fill in the blanks from data without the force_hourly option — which it obviously doesn’t …
from simple_dwd_weatherforecast import dwdforecast
from datetime import datetime, timedelta, timezone
dwd_weather = dwdforecast.Weather("X104")
time_now = datetime.now(timezone.utc)
dwd_weather.update()
access_forecast_dict = dwd_weather.forecast_data
print(access_forecast_dict)
OrderedDict([('2023-10-06T04:00:00.000Z', {'TTT': 284.35, 'Td': 284.05, 'condition': '2', 'PPPP': 102450.0, 'DD': 223.0,
'FF': 3.09, 'FX1': 5.14, 'RR1c': 0.0, 'wwP': 22.0, 'DRR1': 0.0, ' […]

dwd_weather.update(force_hourly=True)
access_forecast_dict = dwd_weather.forecast_data
print(access_forecast_dict)
OrderedDict([('2023-10-06T09:00:00.000Z', {'TTT': 288.15, 'Td': 284.85, 'condition': '2', 'PPPP': 102320.0, 'DD': 221.0,
'FF': 4.12, 'FX1': 7.72, 'RR1c': 0.0, 'wwP': None, 'DRR1': None, ' […]

so if you configure force_hourly there’s no PRECIPITATION_PROBABILITY and PRECIPITATION_DURATION …

so the workaround i used until now still stands: configure one instance with force_hourly disabled and use PRECIPITATION_PROBABILITY and PRECIPITATION_DURATION it's sensors and one instance with force_horly enabled and use the hourly sensors ...


ProvisioningState       : Succeeded

For PowerShell, the document states that ProvisioningState will return as "Stopped" when the cluster is stopped.  This does not seem to be true in my case. The portal shows the AKS is indeed stopped. However, the PS command Get-AzAksCluster shows "Succeeded"
However, using CLI command "az aks show" shows the "powerState" as "Stopped".
I'm assuming the PowerShell only shows the result of the last operation E.g. Start or Stop.   Looking into other documents have not yielded any more clarification.

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

ID: f07b13b8-6b8b-57f9-7fb3-361329af08be
Version Independent ID: d3c6ae95-654f-be23-5dcd-3c3146d5cf63
Content: Start and Stop an Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/start-stop-cluster.md
Service: container-service
GitHub Login: @palma21
Microsoft Alias: zarhoads

@amhaugen  Thanks for the question! We are investigating and will update you shortly.

@amhaugen , thank you for your feedback. The ProvisioningState property of the PSKubernetesCluster Class object does not assume the value "Stopped" on performing a stop operation on the cluster. If the operation succeeds then the ProvisioningState property will be set to Succeeded, else if the operation fails ProvisioningState property is set to Failed. The resultant power state of the cluster stop or start operation is reflected in the PowerState property of a Microsoft.ContainerService managedClusters resource object. The PowerState property is currently not part of the PSKubernetesCluster Class.
This looks like a documentation error.
To summarize, if the ProvisioningState property from the output object of Get-AzAksCluster command changes from Stopping to Succeeded then the stop operation has essentially succeeded. You can confirm this using az aks show -g $ResourceGroupName -n $ClusterName --query powerState -o tsv.
@palma21 , can we include the PowerState object in the PSKubernetesCluster Class definition and/or modify the documentation accordingly?

This issue was addressed with https://github.com/MicrosoftDocs/azure-docs/commit/ea6577da1e22523983d5b15e2d712b62b7b61125
#please-close


Test for bindec

In process of testing the main SDD info, parser generation is taking a long time so we will cache the results. It has already been converted to the byte format, but it does not seem to be working, so need to test the encoding and decoding functions of the bindec library.

as we already have tasks for each grouping of the funcs, closing this


feat: some Char, UInt, and Fin theorems

for SSFT24 summer school: https://github.com/david-christiansen/ssft24

I have a local build of Mathlib I'm happy with.


Do not require agent polling to make workflows that should be skipped done

currently we have in the task poll logic an check that clean up the queue of tasks that should be skipped.
so it requires agents to poll to actually do stuff.
but the agent poll logic should ignore all tasks that are not ready to run and the queue maintenance should happen in an dedicated place.
this pull starts to refactor this by at least move it in it's own function and go routine in the background.

todo: check that "virtual" agent is neither in database nor in webui/api visible

PS: once we refactored more of the queue related code we might have a chance to simplify it :)


Explore how to make content more hyperlinked

Come up with some technical designs and appropriate user flows for making the documents linkable.
Should we do this manually or is there a way we can auto link some docs.

Closing, will do this manually for now as we go.


Update the project to make it compile with the last SDK, tools and libs

As the project is right now is not possible to make it compile.
It has some problems like:

https://github.com/google/filament/issues/15
Is using SDK 27 instead of the current one (28)
minifyEnabled is not allowed on feature modules
Some lint checks and wrong overrides that makes it unable to compile

Thanks for bringing this up. The codelab has been deprecated. Please use github.com/android/app-bundle-samples instead.


macos+homebrew gcc missing __has_feature()

grpc 1.46.1
macos aarch64
gcc11 from homebrew
https://github.com/grpc/grpc/blob/master/include/grpc/impl/codegen/port_platform.h#L241=
Build error - gcc has no __has_feature thing.
Replacing with #if 1 helps and whole grpc builds fine.
Error
[org.sw.demo.google.grpc.core.plugin_registry-1.46.1]/src/core/plugin_registry/grpc_plugin_registry_extra.cc
In file included from /Users/egor/.sw/storage/pkg/45/1d/cd62/src/sdir/include/grpc/support/port_platform.h:22,
                 from /Users/egor/.sw/storage/pkg/55/a8/fe29/src/sdir/src/core/plugin_registry/grpc_plugin_registry_extra.cc:17:
/Users/egor/.sw/storage/pkg/45/1d/cd62/src/sdir/include/grpc/impl/codegen/port_platform.h:241:46: error: missing binary operator before token "("
  241 | #if !(defined(__has_feature) && __has_feature(cxx_thread_local))
      |                                              ^

iOS ifdef ends on line 240. Line 241 is for common __APPLE__.

Agreed. Motivation is understandable.

Not a Homebrew issue, building with gcc12 fails too on the same: https://trac.macports.org/ticket/65525

Still unfixed in 1.48.4.

@nicolasnoble It is an actual bug, the code should be:
#if defined(__has_feature)
#if __has_feature(cxx_thread_local)
#define GPR_PTHREAD_TLS 1
#endif
#endif

See: https://trac.macports.org/ticket/65525#comment:1

the code should be:
#if defined(__has_feature)
#if __has_feature(cxx_thread_local)
#define GPR_PTHREAD_TLS 1
#endif
#endif

No, that's backwards. This is the code you were proposing to replace:
https://github.com/grpc/grpc/blob/b37996d50e3b2f55875ea5a701da2969e7f1870a/include/grpc/impl/codegen/port_platform.h#L237-L239
It defines GPR_PTHREAD_TLS if the C++ compiler does not support thread-local storage, in which case it means that gprc should provide a compatibility implementation of TLS that uses pthread.
The proposed new code defines GPR_PTHREAD_TLS if the C++ compiler does support TLS, meaning that if the compiler supports TLS, gprc will not use that support, and for old compilers that don't support TLS, the code will presumably not compile.
The code should have been:
#ifndef __has_feature
#define GPR_PTHREAD_TLS 1
#elif !__has_feature(cxx_thread_local)
#define GPR_PTHREAD_TLS 1
#endif

There's already a GPR_HAS_FEATURE macro:
https://github.com/grpc/grpc/blob/b37996d50e3b2f55875ea5a701da2969e7f1870a/include/grpc/impl/codegen/port_platform.h#L663-L669
so it should be possible to simplify it to:
#if !GPR_HAS_FEATURE(cxx_thread_local)
#define GPR_PTHREAD_TLS 1
#endif

except for the complication that GPR_HAS_FEATURE isn't defined until later in the file.
The whole pthread-based compatibility implementation of thread-local storage was removed in f15ba1ffc73c5d0b63754df72fc47c567b9c7252 in gprc 1.51.0 so this issue can be closed.

@ryandesign I just picked Josh’s suggestion, given the fact that exiting code was wrong and had to be fixed.


ProjectRoot name validation should be just a Warn, not a Failure

What version of dep are you using (dep version)?

v0.4.1-308-gba8d7503
What dep command did you run?
$ dep ensure -v

With the following Gopkg.toml content:
[[constraint]]
  name = "gitlab.com/organization/version/dependent-api"
  source = "https://gitlab.com/organization/version/dependent-api.git"
  version = "0.11.6"

What did you expect to see?
Root project is "gitlab.com/organization/some-tests"
 9 transitively valid internal packages
 4 external packages imported from 4 projects
(0)   ✓ select (root)
(1)     ? attempt golang.org/x/oauth2 with 1 pkgs; 1 versions to try
(1)         try golang.org/x/oauth2@master
(1)     ✓ select golang.org/x/oauth2@master w/2 pkgs
[...]
(8)     ? attempt gitlab.com/organization/version/dependent-api (from https://gitlab.com/organization/version/dependent-api.git) with 1 pkgs; 60 versions to try
(9)         try gitlab.com/organization/version/dependent-api (from<EMAIL_ADDRESS>(9)     ✓ select gitlab.com/organization/version/dependent-api (from<EMAIL_ADDRESS>w/1 pkgs
[...]
  TOTAL: 26.514353756s

(1/15) Wrote<EMAIL_ADDRESS>(2/15) Wrote gitlab.com/organization/version/dependent-api (from<EMAIL_ADDRESS>(3/15) Wrote golang.org/x/oauth2@master
[...]

It could be releveant to display a Warning on this kind of case but not an error.
What did you see instead?
The following issues were found in Gopkg.toml:

  ✗ the name for "gitlab.com/organization/version/dependent-api" should be changed to "gitlab.com/organization/version"

ProjectRoot name validation failed

It's gotta be a failure, actually - dep's current design can't work properly unless it points at a repository root.
The wording on the error message could be improved to more clearly indicate this, though.

I'm not sure to understand well, but we just talk about the name here, not the repository.
As far as I guess, we could do this check only if there is no source property in the Gopkg.toml file for this constraint.
To be more precise, I completely agree with you to raise an error in this case, because we are not pointg to a repository root:
[[constraint]]
  name = "gitlab.com/organization/version/dependent-api"
  version = "0.11.6"

But not in this case, because we specify the source:
[[constraint]]
  name = "gitlab.com/organization/version/dependent-api"
  source = "https://gitlab.com/organization/version/dependent-api.git"
  version = "0.11.6"

For information, I already tried to replace this code block in manifest.go file:
		origPR, err := sm.DeduceProjectRoot(string(pr))
		if err != nil {
			errorCh <- err
		} else if origPR != pr {
			errorCh <- fmt.Errorf("the name for %q should be changed to %q", pr, origPR)
		}

With:
		_, err := sm.DeduceProjectRoot(string(pr))
		if err != nil {
			errorCh <- err
		}

And everything worked well (for my case) but I don't know which can be the impact for other use cases.

@sdboyer ?

hiya @lhauspie - wow, you charged further down this path than anyone else has!
i'm going to try to take a look at your PR later this week. This has been a thorn in our side for a while. tbqh, i'm not optimistic - this could cause confusion about the canonicality of names on disk, when we're reliant on having a particular bit of info from Gopkg.toml - but it's not impossible.

Thanks a lot @sdboyer to take time to review my PR.
Don't hesitate.

@sdboyer Did you get a chance to look at @lhauspie PR yet? I see that it does not have much activity, and this would solve so many problems!

Dep was officially deprecated earlier this year, and the proposal to archive this repository was accepted. As such, I'm closing outstanding issues before archiving the repository. For any further comments, please use the proposal thread on the Go issue tracker. Thanks!


Enhance "About Us" Section UI/UX

The "About Us" section needs design improvements to enhance its look and feel. This includes adjusting background contrast, text alignment, font styling, and adding subtle decorative elements.
Proposed Changes:
Increase contrast between text and background.
Center the text horizontally and vertically.
Increase the font size and add style (bold/italic) for emphasis.
Add a simple design element (like a line or icon) for visual appeal.
Implement a subtle animation (fade-in or slide-in).
Increase padding around the heading for better spacing.

I would love to solve this issue so i request you to please assign this issue to me.

Can you assign this issue to me please?

Bro you can find many issues so search for it.
I have also search for this issue.

@tushargupta1504 Please assign the task to me


S30 Integration has orphaned

System has orphaned the S30 after reboot of HA for host server maintenance.

Please provide the errors that appear in the home assistant log.  There should be some.
Try restarting again.  If that does not fix then please enable debug logging and email me that file.

The name of your entity seems odd.  Unless you or your HVAC guy named your S30 “SYSTEM”.  Are there other climate entries that have been created?  I have seen a very intermittent issue with data messages arriving atypical order that causes entity to be created with bad name.  It’s possible that hasn’t been fixed completely.  Thanks

Any update on this?

Issue seems to be with S30 and connectivity, it has been resetting itself over the last few days. This first occurred when it dropped the network, which I didn't notice until a few days later. It appears the system was setup fairly hastily, which based on the installers, I'm not surprised at...

Thanks for the update.  Yes, the thermostat needs to be connected to get data.   I do know the Lennox App displays a blank screen when the S30 is offline.
It would be interesting to see the errors in the log, to  make sure the integration is handling this failure mode properly and continuing to retry the connection.
The lennoxs30.state entity should show the status of the connection, you may be able to trigger an alert when it becomes disconnected.
The integration should also retry every 1 minute to reconnect and should reconnect once the S30 is available again.

While this won’t solve your device. Wing offline WiFi issue, I would recommend upgrading to v 0.0.8 as there is an issue when the integration goes through its reconnection process - for example if your device is offline initially and then becomes available later.

Please reopen if occurs again an additional info is available.


Dockerfile with Jupyter Server cannot be established

Bug description
I tried to build a docker image following dockers/README.md with Jupyter Server.
But after creating the image, I found the Jupyter Server cannot be established.
How to reproduce the bug
$ git clone https://github.com/Lightning-AI/lightning.git
$ cd lightning
$ git checkout 1.9.1
$ docker build -t pytorch-lightning:v1.9.1 -f dockers/nvidia/Dockerfile --build-arg LIGHTNING_VERSION=1.9.1 .
$ docker run --rm -it --gpus=all -p 8888:8888 pytorch-lightning:v1.9.1

Error messages and logs
# Error messages and logs here please
[C 08:01:01.863 NotebookApp] Bad config encountered during initialization: The 'contents_manager_class' trait of a NotebookApp instance expected a subclass of notebook.services.contents.manager.ContentsManager or jupyter_server.contents.services.managers.ContentsManage, not the JupytextContentsManager JupytextContentsManager.

Environment

Current environment
#- Lightning Component (e.g. Trainer, LightningModule, LightningApp, LightningWork, LightningFlow):
#- PyTorch Lightning Version (e.g., 1.5.0):
#- Lightning App Version (e.g., 0.5.2):
#- PyTorch Version (e.g., 2.0):
#- Python version (e.g., 3.9):
#- OS (e.g., Linux):
#- CUDA/cuDNN version:
#- GPU models and configuration:
#- How you installed Lightning(`conda`, `pip`, source):
#- Running environment of LightningApp (e.g. local, cloud):

More info
Since I do not have PyTorch or PyTorch-Lightning pre-install, the environment script does not work for me.
But I am currently using Ubuntu 20.04

I have found one solution for this issue.
By replacing the jupyter lab with jupyter notebook in dockers/nvidia/Dockerfile, this problem will be solved.
Since jupyter-lab is a more powerful tool than jupyter-notebook, I think it could be a good replacement to fix this issue.
And ipywidgets is installed to fix the the dependency of jupyterlab.
This works fine in both v1.9.0 and v1.9.1, while other versions are not tested yet.
@@ -49,7 +49,8 @@ RUN \
    rm -rf lightning && \
    pip list

RUN pip install jupyterlab[all] -U
RUN pip install jupyterlab[all] -U && \
    pip install ipywidgets

ENV PYTHONPATH="/workspace"

@@ -63,4 +64,4 @@ RUN \
    python -c "import torch; assert torch.__version__.startswith('$TORCH_VERSION'), torch.__version__" && \
    python -c "import pytorch_lightning as pl; print(pl.__version__)"

CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=<IP_ADDRESS>", "--allow-root"]
CMD ["jupyter", "lab", "--port=8888", "--no-browser", "--ip=<IP_ADDRESS>", "--allow-root"]

this issue can also be fixed by edit the config file manually https://github.com/Project-MONAI/MONAI/issues/5777#issuecomment-1359460325

@bboyleonp666 or @voidful anyone want to send a PR to update the instructions in our readme?


Bark texture and normal maps

Adds a new texture and normal for bark:
Ideally to be used with #236
Screens taken with #236
Original Bark:

New Bark:


Variable names are camelCased

Variable names which use underscore in Rails will be camelCased in JS.
Maybe you should warn (or err) about undefined variables.
The README was misleading. There should be something about it somewhere.

Thank you for sending PR.
What do you trouble in any concrete variable name?

By default, unless you use option camel_cased: true in include_gon method, your variable names in JS should be equal to names from Ruby.


Launch script with config File (like lastsettings)

Is there anyway to launch the script with as command a config file containing all the parameters?

Heya,
Unfortunately the script doesn't have this option. What would be your use case for this?

We could preset multiple configs this way, share them.
If we use windows 10 we could launch for exemple:
PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1 -config %~dp0Preset_Win10""' -Verb RunAs}"
If we use windows 11 we could launch for exemple:
PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1 -config %~dp0Preset_Win11""' -Verb RunAs}"
I don't think the syntax of the exemples would be like this, but this is the ID.
We could generate the preset files the way it generates lastsettings.
Thank you very much for your work ;)

We could preset multiple configs this way, share them. If we use windows 10 we could launch for exemple: PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1 -config %~dp0Preset_Win10""' -Verb RunAs}"
If we use windows 11 we could launch for exemple: PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1 -config %~dp0Preset_Win11""' -Verb RunAs}"
I don't think the syntax of the exemples would be like this, but this is the ID.
We could generate the preset files the way it generates lastsettings.
Thank you very much for your work ;)

All this really does it make it so you have to type less in that single command. If you already have a PowerShell file launching this, why wouldn't you just code the parameters needed there?
Or just copy the larger string and hand it around?I imagine that is already what you are doing, in which case you can just make your own config file and have it be expanded by PowerShell as parameters at run time using pipes.
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-7.4

We could preset multiple configs this way, share them. If we use windows 10 we could launch for exemple: PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1 -config %~dp0Preset_Win10""' -Verb RunAs}"
If we use windows 11 we could launch for exemple: PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1 -config %~dp0Preset_Win11""' -Verb RunAs}"
I don't think the syntax of the exemples would be like this, but this is the ID.
We could generate the preset files the way it generates lastsettings.
Thank you very much for your work ;)

All this really does it make it so you have to type less in that single command. If you already have a PowerShell file launching this, why wouldn't you just code the parameters needed there?
Or just copy the larger string and hand it around? I imagine, you are already doing that. In which case you can just make your own config file and have it be expanded by PowerShell as parameters at run time using splatting and pipes.
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-7.4

This is a fair point. An additional config file would not really add much over the existing options of sharing your parameters or the other option outlined here.
Taking into consideration that this would also bloat the script even more, I take back my previous comment. I think your use case can already be achieved quite well via existing means.

Closing issue as wontfix.


upgrade swiftformat & swiftlint

Public-Facing Changes
None
Description
Hoping this might help fix flaky CI.

😭

Yeah, seems like the new version of swiftlint is not able to find some shared libraries...


[DO NOT MERGE] Support auto-merge for branch-0.4 [skip ci]

Signed-off-by: Peixin Li<EMAIL_ADDRESS>prepare to enable auto-merge for branch-0.4.
plz help review but do not merge before branch-0.4 get created.
(It would not hurt anything if this get merged before branch-0.4, but the github action would be triggered again and again for doing nothing)

build


UPDATE: Make useDataChannel hook except generic string types instead …

Make useDataChannel hook except generic string types instead of just string. This way we can add type safety to our message topics. We can use useDataChannel like this as well:
type ChannelMessageType = 'SAY_HI' | 'SAY_BYE';

// works
const { isSending } = useDataChannel<ChannelMessageType>('SAY_HI');
// TS warns us
const { isSending } = useDataChannel<ChannelMessageType>('SAYY_HI');

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

hi @brkcrdk,
thanks for the PR!
The reason we removed this was that we were no longer able to meaningfully parse the incoming messages while keeping compatibility to other SDKs.
The pattern we had in mind for making sure that you retain some sort of type safety when it comes to passing in a topic name would be
const MyTopics = {
   SAY_HI: 'sayhi',
   SAY_BYE: 'saybye'
} as const;

useDataChannel(MyTopics.SAY_HI);

Oh, I see. That's makes sense. :D
Thank you for sharing. I will use the way you suggested then. 🙏🏻


Possible support for VOLTRONIC AXPERT KING II 5KW 48V

Hi,
I have an installation that uses this model, and I was wondering if it would be possible to use it with EVCC.
Thank you very much for your help and for the project.

Is there documentation? Please ask the vendor to get in contact with<EMAIL_ADDRESS>if they want to support the implementation.

@andig this seems to be the instruction manual
but it does not put much 🙁
I don't think I can talk to the manufacturer

Nothing we could do without documentation :(

https://c805a9dd-39dc-4862-a11b-067edfdcff9b.usrfiles.com/ugd/c805a9_1993556c4054452fb8a9b4f4cc885019.pdf
This is not enough? What kind of documentation would be required?

A documentation about the control interface (like Modbus Register table etc.) was meant.


JS Calculator with better UI and more features

Is your feature request related to a problem? Please describe.
The changes I want to propose to the already existing JS Calculator:

The JS Calculator which is already present doesn't have a delete a single char option, it has only a clear option.
Multiple operands are being added to the input, for eg: 23+- is getting added to the input. Instead, I would give the user an alert to not have multiple operands, and also for other wrong inputs by the user.
The UI needs an update, I would add even dark mode.
The calculator is not responsive, the size is static and even on a larger screen the width of the calculator is equivalent to the mobile size, I would make it responsive.

Describe the solution you'd like
It is built using HTML, CSS, JS, and Bootstrap.

@Ayush7614 I would like to work on this as a part of HCSSoC'21

What you exactly do if you share screen shot of output then I will assign you

Screenshots:

Dark Mode
Light Mode


switched ignore lines to reference gulpfile.js instead of Gruntfile.js

Ahah, thanks for cleaning the code :D


Return type of getUploadedImage() too strict?

In a project I ran into this problem:
Return value of Neos\Form\ViewHelpers\Form\UploadedImageViewHelper_Original::getUploadedImage() must be an instance of Neos\Media\Domain\Model\Image or null, instance of Neos\Flow\Persistence\Doctrine\Proxies\__CG__\Neos\Media\Domain\Model\ImageVariant returned
Similar to #118, see #111

Looking at https://github.com/neos/form/blob/473c9fba8d8ca24d02c12b3bc0552aa3bcfb4861/Classes/ViewHelpers/Form/UploadedImageViewHelper.php#L89 that should create an Image in all cases, no?


Retrieve list of conversations for a given user

Leaving the userId empty will get the list of conversations for the current user (or bot)

curious what lead to you making this change, but LGTM.

all that makes sense, I was more commenting on if it was sending an empty string did slack do something weird instead of defaulting to the implicit user?


cannot upload custom metric

I have added a new metric and trying to upload double click conversions. I am running it this below issue. I have setup this custom metric in DCM as well.
400

Show headers -

{
"error": {
"errors": [
{
"domain": "global",
"reason": "requestValidation",
"message": "The request was not valid. Details: [0x00000116: Custom metric 'Banking Account Opens' is not found for conversion index=0

What API and action produced this error?

Thank you for filing this issue. We asked some clarifying questions or suggested a course of action a week or more ago and never heard back from you. We are unable to proceed with this issue until then, so we are closing it. Please feel free to comment with more information and we will re-open this issue.


add a generic function to execute virsh command

Short description: Added a generic function to run commands like virsh dommemstat --period 0
More details:
What this PR does / why we need it:
Which issue(s) this PR fixes:
Special notes for reviewer:
Bug:

!verified

!verified

!cherry-pick v4.11


Pretty table formatting

Hi!
First of all this is a really great and astonishingly fast package!
I am just wondering what would be the best practice for rendering tables? Let's say I have a simple DataFrames::DataFrame and want this to be prettily rendered using Weave.jl. Simply printing it does not work, so is there a better way?
Thanks a lot in advance!

This depends a bit on output format, but you can call display. You should get html for md2html or latex output for md2tex or md2pdf. You can also specify the mimetype yourself:
x = DataFrame(x=randn(5))
display("text/html", x)

I also sometimes write a custom display method if I want specify more exact formatting,

Okay, this works pretty well for html output, but in case of md2pdf I get the mere julia output. Is this probably a bug or something I could easily fix?

I do get latex output using Weave 0.5.1 and the latest DataFrames release. What do you get from REPL using?
display("text/latex", DataFrame(x=1:3))

I get
\begin{tabular}{r|c}
	& x\\
	\hline
	1 & 1 \\
	2 & 2 \\
	3 & 3 \\
\end{tabular}

Okay, I'm having Weave 0.5.1 and just updated all packages. What I get is the following:
display("text/latex", DataFrame(x=1:3))
ERROR: MethodError: no method matching show(::Base.TTY, ::MIME{Symbol("text/latex")}, ::DataFrames.DataFrame)
Closest candidates are:
  show(::IO, ::MIME{Symbol("text/csv")}, ::DataFrames.AbstractDataFrame) at /home/alex/.julia/v0.6/DataFrames/src/abstractdataframe/io.jl:214
  show(::IO, ::MIME{Symbol("text/csv")}, ::Any) at datafmt.jl:707
  show(::IO, ::MIME{Symbol("text/tab-separated-values")}, ::DataFrames.AbstractDataFrame) at /home/alex/.julia/v0.6/DataFrames/src/abstractdataframe/io.jl:218
  ...
Stacktrace:
 [1] display(::TextDisplay, ::MIME{Symbol("text/latex")}, ::DataFrames.DataFrame) at ./multimedia.jl:158
 [2] display(::MIME{Symbol("text/latex")}, ::DataFrames.DataFrame) at ./multimedia.jl:232
 [3] display(::String, ::DataFrames.DataFrame) at ./multimedia.jl:126

My guess would be that you have old versio  of DataFrames, it will not updated if you have depency requiring an old version.

Great guess :-) When trying to checkout the latest master of DataFrames, I learned that Gadfly depended on the old version, since it does not work with Julia 0.6.2. Removing Gadfly and checking out DataFrames solved the issue. Thank you a lot!

display("text/latex", DataFrame(x=1:3))

Any basic example of how to write my own show method? :)


go get is broken

Looks like this line was removed a few days back:
https://github.com/goreleaser/goreleaser/commit/1ed299a6d7b713473bf3fcf7200852782355d713#diff-87baee25882e84b0fb93dd0775496706L15
Causing this to no longer work:
https://github.com/goreleaser/godownloader/blob/master/main.go#L38
Not sure what the gameplan is with the defaults, but happy to open a PR if you let me know what needs to be done. Thanks!

yeah, we should probably merge these two projects as stated in https://github.com/goreleaser/goreleaser/issues/297
Will try to look into this anyway

/remind me fix this in 3 hours


Add RoomIdOrAliasId

The Matrix spec defines API endpoints that allow either a room ID or a room alias ID. This type adds and identifier that allows the user to specify either a room ID or a room alias ID.
This was extracted from https://github.com/ruma/ruma-client-api/pull/3

This is great work. Thank you!


Uncaught TypeError: Cannot read property 'open' of undefined

[To reproduce:]

Install Atom for mac.
Within Atom install the package, julia-client.
Link to the relevant julia binary.
Try out any julia operation.

Atom Version: 1.9.9
System: Mac OS X 10.11.6
Thrown From: julia-client package, v0.5.0
Stack Trace
Uncaught TypeError: Cannot read property 'open' of undefined
At /Users/abhijith/.atom/packages/julia-client/lib/runtime/console.coffee:68

TypeError: Cannot read property 'open' of undefined
    at Object.module.exports.open (/Users/abhijith/.atom/packages/julia-client/lib/runtime/console.coffee:68:7)
    at /Users/abhijith/.atom/packages/julia-client/lib/package/commands.coffee:66:72
    at Object.module.exports.withInk (/Users/abhijith/.atom/packages/julia-client/lib/package/commands.coffee:100:7)
    at atom-workspace.subs.add.atom.commands.add.julia-client:open-console (/Users/abhijith/.atom/packages/julia-client/lib/package/commands.coffee:66:40)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/abhijith/Downloads/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at CommandRegistry.handleCommandEvent (/Users/abhijith/Downloads/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (/Users/abhijith/Downloads/Atom.app/Contents/Resources/app.asar/src/command-registry.js:160:19)
    at AtomEnvironment.module.exports.AtomEnvironment.dispatchApplicationMenuCommand (/Users/abhijith/Downloads/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:1104:28)
    at EventEmitter.outerCallback (/Users/abhijith/Downloads/Atom.app/Contents/Resources/app.asar/src/application-delegate.js:329:25)
    at emitTwo (events.js:100:13)
    at EventEmitter.emit (events.js:185:7)

Commands
  3x -7:24.6.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -5:02.7.0 core:cancel (a.stack-toggle)
     -3:03.4.0 julia-client:settings (div.panels-item)
     -2:52.7.0 core:backspace (atom-text-editor#julia-client.juliaPath.editor.mini.is-focused)
  2x -2:51.5.0 core:move-right (atom-text-editor#julia-client.juliaPath.editor.mini.is-focused)
  2x -2:46.4.0 core:backspace (atom-text-editor#julia-client.juliaPath.editor.mini.is-focused)
 33x -2:44.1.0 core:move-right (atom-text-editor#julia-client.juliaPath.editor.mini.is-focused)
     -2:16.8.0 julia-client:start-julia (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -2:05.7.0 editor:newline-below (atom-text-editor.editor.is-focused)
     -1:51 core:save-as (atom-text-editor.editor.is-focused)
     -1:19.4.0 julia-debug:step-into-function (atom-notification.error.icon.icon-flame.native-key-bindings.has-detail.has-close)
     -1:13.8.0 julia-client:run-file (atom-notification.error.icon.icon-flame.native-key-bindings.has-detail.has-close)
     -1:12 julia-client:run-and-move (atom-notification.error.icon.icon-flame.native-key-bindings.has-detail.has-close)
  2x -1:08.1.0 julia-client:open-console (atom-text-editor.editor)
     -0:25 julia-client:open-a-repl (atom-text-editor.editor.is-focused)
     -0:00.0 julia-client:open-console (atom-text-editor.editor.is-focused)

Config
{
  "julia-client": {
    "enableMenu": true,
    "enableToolBar": true,
    "juliaPath": "/Applications/Julia-0.5.app/Contents/Resources/julia/bin/julia",
    "launchOnStartup": true
  }
}

Installed Packages
# User
ink, v0.5.0 (active)
julia-client, v0.5.0 (active)
language-julia, v0.6.0 (active)
latex-completions, v0.3.1 (active)
tool-bar, v1.0.1 (active)
uber-juno, v0.1.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.51.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.43.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.3.2 (active)
one-light-ui, v1.3.2 (inactive)
one-dark-syntax, v1.2.0 (active)
one-light-syntax, v1.2.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.2 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.0 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.0 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.39.0 (active)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
find-and-replace, v0.198.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.1 (active)
metrics, v0.53.1 (active)
notifications, v0.64.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.238.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.1 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.98.1 (active)
timecop, v0.33.1 (active)
tree-view, v0.208.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.32.2 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.0 (active)
language-csharp, v0.12.1 (active)
language-css, v0.36.2 (active)
language-gfm, v0.86.0 (active)
language-git, v0.13.0 (active)
language-go, v0.42.0 (active)
language-html, v0.44.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.22.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.0 (active)
language-less, v0.29.3 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.0 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.68.5 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.52.0 (active)
language-shellscript, v0.22.3 (active)
language-source, v0.9.0 (active)
language-sql, v0.21.1 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.8 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Can you reproduce this error after restarting Atom?

@pfitzseb I ran into the same error. After restarting atom it was automatically resolved.

Possibly caused by out-of-date Ink package. Went away after updating that and restarting (restarting alone did not help).

Alright, the new Atom version introduced a new update system which should in theory get rid of these kinds of errors if you keep ink and julia-client in sync. I'll close this for now, but feel free to reopen.

I show the same error even after following all steps in troubleshoot tickets.

Any idea??


Using 'cx' {motion} followed by 'cxx' has strange behavior

This seems like an edge case, but using cx {motion} , followed by cxx doesn't seem to work as expected.
Example:
1 word
2 this is a sentence
3
4

Use cxw on line 1, and then use cxx on line 2, will produce:
1
2 this is a sentence
3
4 word

This is just what it looks like to mix linewise and chararacterwise motions. When you try to paste linewise content (the line targeted by cxx) over a characterwise selection (the word targeted by cxw), the result is that the linewise content is still on its own line. Here's an example that illustrates it more clearly:
1 before word after
2 this is a sentence

Use cxw on word and cxx on line 2. The result:
1 before
2 this is a sentence
3 after
4 word

While this is probably not what you wanted, it's much easier to understand why it happened. The linewise motion defined by cxx wants to continue being its own line. If we remove before and after, we actually see the exact same behaviour that you described.

For your case, you could use matching -wise motions to achieve the result you want:

cxw and cx$
cxx and cxx

Ah, thanks for the explanation, that makes sense now. And yes, using matching -wise motions is probably a better idea.


Add test assertion to make sure we don't install multiverse packages

In #29 we re-added the multiverse package source to the stack images with the intention of enabling use cases that might need packages from this location.
We do not want to ship any packages from multiverse in the stacks themselves, as explained in the linked PR. To prevent against this in the future, we should add a test assertion to the suite that checks that no packages come from the multiverse repository.

This was fixed in #45 . Closing.


Extending the code in standard reports with events

Hey guys, I would like to extend some standard reports and I have seen when you want to use the event subscriber that there is the possibility "report" like "page, table...". Would that be a way to extend the code in a report?
Is there also a way to extend the fields in a report?

Yes, you would extend report business logic using event subscribers and requesting additional event publishers if they are missing.
Extending report dataset is not possible yet but we are planning to add that functionality in the near future.


'https://cache.iog.io' is not signed by any of the keys in 'trusted-public-keys

I run into issues when running nix develop where it seems a lot nix paths have issues like:
warning: the substitute for '/nix/store/9gby2vh0xbz435pdx5scd0rlsd03y1im-czipwith-<IP_ADDRESS>-1.cabal' from 'https://cache.iog.io' is not signed by any of the keys in 'trusted-public-keys'
Similar issues seem to be reported here: https://discourse.nixos.org/t/whats-the-trusted-public-key-for-cache-iog-io/23806
In my nix conf I have:
substituters = https://cache.nixos.org https://nix-tools.cachix.org https://cache.nixos.org/ https://cache.iog.io https://all-hies.cachix.org https://haskell-language-server.cachix.org https://public-plutonomicon.cachix.org https://iohk.cachix.org
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nix-tools.cachix.org-1:ebBEBZLogLxcCvipq2MTvuHlP7ZRdkazFSQsbs0Px1A= cache.iog.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= all-hies.cachix.org-1:JjrzAOEUsD9ZMt8fdFbzo3jNAyEWlPAwdVuHw4RD43k= haskell-language-server.cachix.org-1:juFfHrwkOxqIOZShtC4YC1uT1bBcq2RSvC7OMKx0Nz8= public-plutonomicon.cachix.org-1:3AKJMhCLn32gri1drGuaZmFrmnue+KkKrhhubQk/CWc= iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo=
extra-experimental-features = nix-command flakes ca-derivations

you should use hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= instead of cache.iog.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= even though https://cache.iog.io is used in the substituters attribute. See https://input-output-hk.github.io/haskell.nix/tutorials/getting-started#setting-up-the-binary-cache.
Also just to note that you have https://cache.nixos.org twice listed in your substituters you might want to remove duplicates.


feat: goofy:segfault()

i did not add this to the pushlist

merging

don't merge this

don't merge it but don't close it


Race parameter

It'd be cool if generate took an optional parameter to specify a race. I'm not sure how granular the races should be. But it'd be a little more immersive if players in Basketball GM roughly matched their country of origin.

This was closed in #10 but more improvements would be welcome in the future!


Improve MongoDB Schema Inference

#2143 makes some improvements in this direction, but may not be efficient for frequent queries. There's probably no one size fits all solution, but making it user-specifiable would be good. Options include:

provide a bson document to the catalog to use as a prototype (hard to get the byte-sequence into the system), but nice.
provide the _id of a document to use as a prototype
provide a query or aggregation pipeline to select the fields and types of the document using the current logic, but just giving users the control over what the schema becomes
find one document, ordered by the _id index, selecting either the highest or lowest value (first or last in most cases)

Providing some way of caching the schema for a table would (for small queries,) improve performance a bunch.
I don't think we'd want to implement all of them at once, but there's a lot of room for improvement here.
As a related feature it'd be cool to be able to write a query or aggregation pipeline (in mongodb query language, but for other data sources, SQL makes sense) that would be a "pre-filter" (and for mongoDB you could just add another stage to an aggregation pipeline), and I beleive that you can use that pipeline to normalize the schema of the documents.

Some other quick wins we could do that could improve inference:

allow the user to manually specify the schema. (no inference needed)
expose sample rate/size as configuration parameters.
expose alternative algorithm that just selects the first n rows. A lot of schema inference algorithms do it this way instead of sampling. (this would likely be faster, but less accurate)

something like
select * from mongo_scan('connection_str', infer_sample_rate => 0.1, infer_sample_size=1000) -- customized sampling parameters
select * from mongo_scan('connection_str', schema => (a int, b utf8) ) -- no inference
select * from mongo_scan('connection_str', infer_algorithm => 'sample' | 'n_rows' | '<other infer algorithm>' ) -- alternative inference algorithms (defaults to 'sample')

@universalmind303, at least as I understand it your first and third options are consistent with what I think first and third options are. 😂

#2333 makes schema specification implicit, and I think this becomes closeable.
The bson and json handling allow inferred schemas to have a configurable number of documents: we could add this to mongodb too, but don't have to.
I like @universalmind303's idea to have alternate algorithms for determining schema, and think we could do some cool things there, but probably I'm more inclined just to infer less data all together.


custom title and subtitle

Hi, there is a way to custom subtitle ?
i 've tried
.nc-subtitle {
display: none!important;
}
but doesn't work

Wondering how to hide the subtitle and title as well since the feed looks to be in a #shadow-root element

Hello there! there is a property for that!
<embed-instagram-feed
      title="Instagram Posts"
      subtitle=""
      url="Your Instagram API from NoCodeAPI"
></embed-instagram-feed>


huawei elb support

这个 PR 实现什么功能/修复什么问题:

支持华为云elb

是否需要 backport 到之前的 release 分支:

release/2.11.0

/cc @swordqiu @ioito

Codecov Report

Merging #1272 into master will decrease coverage by 0.04%.
The diff coverage is 2.35%.

@@            Coverage Diff            @@
##           master   #1272      +/-   ##
=========================================
- Coverage    7.86%   7.82%   -0.05%
=========================================
  Files         371     373       +2
  Lines       58157   58791     +634
=========================================
+ Hits         4573    4599      +26
- Misses      53185   53793     +608
  Partials      399     399

Flag
Coverage Δ

#aFlag
7.82% <2.35%> (-0.05%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/compute/models/regiondrivers.go
20% <ø> (ø)
:arrow_up:

pkg/compute/models/cloudaccounts.go
1.03% <ø> (-0.01%)
:arrow_down:

pkg/mcclient/options/loadbalanceracls.go
0% <ø> (ø)
:arrow_up:

pkg/compute/models/cloudsync.go
0% <ø> (ø)
:arrow_up:

pkg/mcclient/options/loadbalancerbackendgroups.go
0% <ø> (ø)
:arrow_up:

pkg/mcclient/options/loadbalancercertificates.go
0% <ø> (ø)
:arrow_up:

pkg/compute/models/loadbalancerlistenerrules.go
3.04% <0%> (-0.21%)
:arrow_down:

pkg/compute/models/loadbalancercertificates.go
5.88% <0%> (+2.63%)
:arrow_up:

pkg/compute/models/loadbalancers.go
1.91% <0%> (-0.07%)
:arrow_down:

pkg/compute/models/wires.go
2.16% <0%> (-0.02%)
:arrow_down:

... and 54 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 5d7f7bc...11dd486. Read the comment docs.

/hold

release/2.11.0 -> release/2.11


Fixing bug that wrongfully marked Avro schemas with enum types as invalid

The bug happened when a schema type with an enum was being created. It always marked the last value of the symbol's array as "not valid"
This happened because the validation did not consider the situation when a flattened key's last character was a number and the next to last word was "symbols"
It always assumed that if the last word after breaking up the flattened key was a number, the previous word must be "type"
Also refactored some of the code to be a bit more clear. Now the validation stops after the first invalid type. That way it doesn't iterate through all of them if there are multiple and only display the last one.

LGTM

could you please merge?
thanks

Hello. Thank you for your PR, we appreciate it and are sorry it took us so long to respond. The frontend team is looking into it.

Hello FuzzOli87,

sorry for the late reply.

Your pull request is merged, thank you for contributing to Schema Registry UI!


add go example

[ ] split go mod from example and commander

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Create code of conduct.md file

I have done all the written work from https://www.contributor-covenant.org/version/1/4/code-of-conduct . I would need your mail id to embed it in CODE_OF_CONDUCT.md file. So please can you share it.


Revert "Downgrade mothership reconciler to be3fe478"

Reverts kyma-project/control-plane#1558

We decided to roll forward and fix the issue.


fix cleaning the wrong top node

 Issue by idoshamun
Thu Jun 17 15:18:52 2021
Originally opened as https://github.com/codelucas/newspaper/pull/896

Before this change, top_node was cleaned and then copied to the clean_top_node.
I believe this is not the original intent and should be fixed because it creates confusion and there's no way to get the raw top_node. It's an issue I'm currently facing myself.
Thanks for your awesome work!

idoshamun included the following code: https://github.com/codelucas/newspaper/pull/896/commits

fixed v0.9.1 see https://github.com/AndyTheFactory/newspaper4k/issues/497


Install intelliJ IDEA plugins.

:clipboard: Description
Service JetBrains Marketplace
What sort of information should this badge show. Label: install. Text: ${pluginName} in IDEA.
Example:

:link: Data
Link to the Scala Plugin to install
Marketplace documentation for embeddable content
:microphone: Motivation
The main reason to have the badge: an easy way to install an IDEA plugin from README.md.
Plugin example: Fortran plugin

Thank you for the suggestion @AlexanderPrendota but going to close this one.
We provide the capability for users to build badges with our static badge builder (as you did in the issue description), but we deliberately do not provide pre-canned static badges as requested in this issue.

Hey @calebcartwright , but why? I just wanna put the plugin id, for example, Scala = 1347, and get the badge.

I can send the PR, btw

I can send the PR, btw

No, it would be rejected.

but why? I just wanna put the plugin id, for example, Scala = 1347, and get the badge.

As I stated before.. we provide the static badge builder capability which users can use to create an essentially infinite number of badges; we do not and will not provide pre-canned static badges.
Creating a static badge with our service is a quick, easy, and one-time operation. Adding additional code/features to Shields.io to make building a certain static badge a little easier only adds marginal value, and the extra overhead on the codebase and our maintenance effort is simply not worth it. I know you're asking from the narrow focus of the specific type of static badge you'd like to use, but you've got to think about it in the broader context of the Shields service.
If we do this for one badge, we have to do it for all the others (and again, the static badge builder is a free for all so we're talking about a practical infinite set of combinations) and/or be in the business of curating which pre-canned static badges warrant inclusion. Neither of these is remotely acceptable.


update core/utils.merge_dicts to support merge of int value

Description: update util.merge_dicts to support int values
Issue: util.merge_dicts cannot handle int value in dicts such as token_usage.
Dependencies: None
Twitter handle: mattwmj

Going to close this PR


Include explanation of grequests.imap() in README

Documentation is incomplete, should include some reference to imap and send. Adding just an annotation about imap for now.

:sparkles: :cake: :sparkles:


[Bug Report] Unable to set id attribute of el-input to link with for attribute in el-form-item

Element UI version
2.0.0-beta.1
OS/Browsers version
macOS 10.13 / Chrome 61
Vue version
2.5.2
Reproduction Link
https://jsfiddle.net/pj71jkyw/634/
Steps to reproduce
Create an el-input item. Setting the id of it will set the outer element instead of the inner element. When creating an el-input inside of an el-form-item the label is not attached to the input item therefore making it unusable on accessibility devices.
What is Expected?
For there to be a way to set the id attribute of an el-input component
What is actually happening?
There is currently no way of doing so

Fixed in #6049


[Question] Improve the user experience when viewing the stored search HTML content

The current implementation requires the user to download the HTML file and open it in the browser to view the result. It isn't convenience. If we want to improve the UX by allowing the user to view the stored HTML content directly on keyword details page, how would you do that?

I think we could render an iframe to display the HTML content.


todo app code for review

Good job so far 👍
Highlights

Good GitHub flow
No linter errors
Clean coding

Issues 😵💫
showTasks = () => JSON.parse(localStorage.getItem('toDochore')) || [];

  getTasks() {
    this.choreArray = JSON.parse(localStorage.getItem('toDochore')) || [];
  }

The above code has 2 variables declaring the same value, my suggestion would be to have only one as they result to the same thing.

Status: APPROVED ✔
Nothing more to say it's merge time Congratulations! 🥳


openapi: Make zulip.yaml pass validation on swagger editor.

zulip.yaml is not in compliance with openapi specifications file.
Edit it so that it passes verification as an openapi specification
file.
Fixes #14582 .

@timabbott @shubhamgupta2956 made the changes required in other files so now its mergeable.

This is a hack, but it's a useful hack, so merged, thanks @orientor!
The next step for the responses, which I think shouldn't be too hard and would be a great next step, would be to change the logic for displaying example responses to come entirely from the OpenAPI file's oneOf list (including the sentence of description above each example response).
With that change, I think we wouldn't need the transitional hack introduced here.


Indication to identify protected and private methods

--protected and --private of yard doc show protected and private methods on the documentation.
But once you have enabled them, you have public, protected and privates methods all mixed without a way to know which is what.
It would be nice to have a little badge next to protected and private methods to allow to identify them.
Expected result
Something like that

It doesn't seem like your methods are correctly being detected as private/protected, YARD should already be showing these tags. This is the output for the following minimal repro:
class A
  protected

  def a; end
  def b; end

  private

  def c; end
  def d; end
end

Yes I can se the CSS public class set on each <li>. I also see that without --protected or --private my method still appears in yard.
I didn't use the following syntax:
class A
  protected

  def a; end
  def b; end

  private

  def c; end
  def d; end
end

but instead this one:
class A
  def a; end
  def b; end
  def c; end
  def d; end

  protected :a, :b
  private :c, :d
end

Which is valid ruby and totally works as expected

Also I don't know if it matters but I'm in class << self because class << self + private is similar to private_class_method and I saw there  #1162 yard had issues with inline private_class_method but you said as a workaround that private_class_method was working with yard if used in a separate line. this may be different and #1162 is from 2018 but I mention it as it may lead somewhere.
So I have
class A

  class << self
    def a; end
    def b; end
    def c; end
    def d; end

    protected :a, :b
    private :c, :d
  end
end

I just tried
class A

  class << self
    def a; end
    def b; end

    protected

    def c; end
    def d; end
  end
end

Only a & b are show (which confirms that the alternative syntax shown earlier is not supported by yard) but even using the "classic" syntax seems to be bugged inside class methods but adding --protected never show the methods c & d.
It seems that whatever the syntax is potected_class_method or class << self + "section" protected or class << self +  protected c:, d: yard has an issue with class methods that doesn't appears with instance methods.

I'm digging some old maybe related issues #847, #760, #551 (I stopped after because it was getting too old)

I'll me my repository public soon so you can see the real code.

Source: https://github.com/sec-it/pass-station
Yard doc: https://sec-it.github.io/pass-station/yard/PassStation.html
@lsegal I can confirms that protected badge is displayed only for instance methods and not for class methods.


A word of thanks

This is not a problem just me sayng thanks.
I placed your code for a worker of mine, and this saved me a lot of work, and problems, prob a lot of money too.
So thank you for this, really appreciate!

No problem at all, please it helped.
Really good of you to take the time to say thanks.
If you wish you can sponsor me on GitHub, but absolutely no obligation.


KAFKA-3930: Replace colon in ipv6 addresses used in metrics tags

+1

@rajinisivaram I'm wondering why we don't use ObjectName.quote to make the tag values safe generically. This is what is done internally in the Yammer MetricName.createMBeanName method.

@hachikuji Thank you for the review. Makes sense to quote tags instead of replacing :, have updated the code to do that. The code adds quotes when necessary (ipv6 address for instance), leaving other tags unchanged.

Hey @rajinisivaram, this LGTM for the specific problem. I think it would be worth adding a similar fix in org.apache.kafka.common.metrics.JmxReporter. Although we don't appear to include the hostname for metrics in NetworkClient, it seems like we probably should (I'll create a separate JIRA for this).

Thanks for the patch! Merging to trunk and 0.10.1 since this fixes the reported problem. I've created KAFKA-4243 for more general changes.


 Still super stoked about all of this :D
I am training a compound word transformer model and generating 5 midis each set of 250 epochs.
Unfortunately I ran into an issue with this approach. It seems as if the function weighted_sampling(probs) sometimes returns NaNs. Unfortunately I am still too noob in Python to debug this myself. I now just use "try" to catch the error if it happens.
I could share the model and the google colab to make this reproducible if this helps?
This is the function I wrapped around your example code to generate midis:
# this is a function that generates a number of midi files from a model
def generate_x_midis_from_compoundword_modelrun(number_of_midifiles, midi_dir, model_to_use):
  os.makedirs(midi_dir, exist_ok=True)
  for i in range(number_of_midifiles):
    print(i)
    # Generate music
    print("Generating music.")
    filename = os.path.join(midi_dir,'example'+str(i)+'.mid')
    print(os.path.join(midi_dir,'example'+str(i)+'.mid'))
    model_output = model_to_use.generate(1000)
    # Restore events from input data
    midi = datamanager.to_midi(model_output)
    midi.save(filename)

This is the error I got:

[/content/music-generation-toolbox/mgt/models/compound_word_transformer/compound_word_transformer_wrapper.py](https://localhost:8080/#) in weighted_sampling(probs)
     21     sorted_probs = np.sort(probs)[::-1]
     22     sorted_index = np.argsort(probs)[::-1]
---> 23     word = np.random.choice(sorted_index, size=1, p=sorted_probs)[0]
     24     return word
     25

mtrand.pyx in numpy.random.mtrand.RandomState.choice()

ValueError: probabilities contain NaN

Best
Max

Hi Max,
Glad to hear you are stoked about this project! Sorry for not replying sooner.
I'll take a look at it, and try to add some tests for these kinds of bugs.
Kind regards, Vincent

I ran into a problem where the compound word transformer could map midis with octave >= 9 (where 8 would be the max that could be processed naturally). This happened because of the transposition.  I'll fix it soon.


Ability to have option to stay connected to Wifi Network but Cellular is used for internet

I just found TetherFi and are enjoying it but was also looking at other apps and found this one called "NetShare" and it is almost identical to TetherFi in features except for the "Bind to Mobile Data" feature. This feature allows the hotspot app to use Mobile Data instead of WiFi if you are connected to a Wireless Network as well and don't want to disable "auto reconnect" for when the internet comes back on. The feature works well on NetShare which also uses the same "proxy" functionality. I tested TetherFi to see if I could get this functionality to work somehow but could not. I have read that WiFi must enabled for TetherFi to work so I am not asking if you can disable that and have it work, merely to have an option as described above to still be connected to a WiFi network and TetherFi turns Mobile Data on and uses that.
Thank you in advance! I would rather use and support an open source alternative than a proprietary one that uses ads model and will cost me $7.99 to turn them off.

As an aside,
TetherFi was directly inspired by NetShare! I was a NetShare user, but I am also a coder and got the "itch" to build my own tool to solve the same problem.
A few months later, and here we are! I will update this issue as the binding network feature moves closer in scope.

Hello
Please see progress in #154

Thank you!


Support MLA for DeepSeek-V2 with Triton - step 1

Motivation
MLA implementation.
Modification

[x]  MLA forward
[x] memory & triton kernel adaptation
[x] benchmark & evaluation

other:
weight fusion will be supported in another PR

@ispobock Nice work!

Logits diff
HF:
prefill logits tensor([14.9297, 12.5312, 11.5078,  ...,  3.4199,  3.7383,  3.7520], device='cuda:0')
prefill logits tensor([14.2188, 11.8984, 11.7734,  ...,  3.7812,  4.0625,  4.0664], device='cuda:0')
prefill logits tensor([19.5938, 13.4219, 11.8906,  ...,  3.6426,  3.6973,  3.8281], device='cuda:0')

sglang MLA:
prefill logits (final) tensor([[14.8750, 12.5000, 11.5000,  ...,  3.3594,  3.6719,  3.6875],
        [14.0625, 11.8125, 11.7500,  ...,  3.5000,  3.7656,  3.7812],
        [19.3750, 13.2500, 11.7500,  ...,  3.4844,  3.5312,  3.6562]],
       device='cuda:0')

Benchmark

model: DeepSeek-V2-Lite
dataset: ShareGPT
num_prompts: 5000

main branch + triton kernel:
============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    128.0
Successful requests:                     5000
Benchmark duration (s):                  884.40
Total input tokens:                      1187865
Total generated tokens:                  1089941
Total generated tokens (retokenized):    1088497
Request throughput (req/s):              5.65
Input token throughput (tok/s):          1343.14
Output token throughput (tok/s):         1232.41
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   442069.14
Median E2E Latency (ms):                 478781.35
---------------Time to First Token----------------
Mean TTFT (ms):                          402725.08
Median TTFT (ms):                        416495.82
P99 TTFT (ms):                           754661.80
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          194.52
Median TPOT (ms):                        190.03
P99 TPOT (ms):                           394.41
---------------Inter-token Latency----------------
Mean ITL (ms):                           2075.67
Median ITL (ms):                         134.24
P99 ITL (ms):                            1052.39
==================================================

main branch + flashinfer kernel:
============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    128.0
Successful requests:                     5000
Benchmark duration (s):                  773.10
Total input tokens:                      1187865
Total generated tokens:                  1089941
Total generated tokens (retokenized):    1088634
Request throughput (req/s):              6.47
Input token throughput (tok/s):          1536.50
Output token throughput (tok/s):         1409.83
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   401500.57
Median E2E Latency (ms):                 429053.82
---------------Time to First Token----------------
Mean TTFT (ms):                          365539.86
Median TTFT (ms):                        396253.17
P99 TTFT (ms):                           687447.27
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          176.88
Median TPOT (ms):                        175.16
P99 TPOT (ms):                           339.07
---------------Inter-token Latency----------------
Mean ITL (ms):                           1881.21
Median ITL (ms):                         129.23
P99 ITL (ms):                            924.58
==================================================

MLA (this PR):
============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    128.0
Successful requests:                     5000
Benchmark duration (s):                  464.62
Total input tokens:                      1187865
Total generated tokens:                  1089941
Total generated tokens (retokenized):    1088615
Request throughput (req/s):              10.76
Input token throughput (tok/s):          2556.66
Output token throughput (tok/s):         2345.90
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   162420.83
Median E2E Latency (ms):                 139530.70
---------------Time to First Token----------------
Mean TTFT (ms):                          6097.95
Median TTFT (ms):                        1777.97
P99 TTFT (ms):                           40213.38
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          1517.48
Median TPOT (ms):                        907.33
P99 TPOT (ms):                           8229.02
---------------Inter-token Latency----------------
Mean ITL (ms):                           766.00
Median ITL (ms):                         546.36
P99 ITL (ms):                            2673.49
==================================================

reproduce:
python3 -m sglang.launch_server --model-path DeepSeek-V2-Lite --port 30000 --trust-remote-code --disable-flashinfer

python3 -m sglang.bench_serving --backend sglang --tokenizer DeepSeek-V2-Lite --dataset-path ShareGPT_V3_unfiltered_cleaned_split.json --num-prompts 5000 --request-rate 128

Hi @ispobock Very impressive throughput improvement, may you test the eval, such as MMLU and gsm8k, and also do a regression test on Llama 3 8B Instruct with/without FlashInfer? Thanks.

Hi @ispobock You may add --disable-radix-cache to disable the tree cache.

After completing the benchmark and evaluation, we might add a switch to the MLA feature, keeping FlashInfer as the default for now on DeepSeek V2. Currently, even the main branch struggles with running DeepSeek V2 on H100s due to issues with Triton's implementation. https://github.com/sgl-project/sglang/issues/913
We could look into adding weight fusion support in another PR. Special thanks to @ispobock's contribution and @grimoire for previously implementing the MLA version of DeepSeek V2 in LMDeploy PyTorch Engine, which has been incredibly helpful and inspiring. https://github.com/InternLM/lmdeploy/pull/1621/files
The initial MLA implementation on Triton significantly outperforms MHA on Triton. We're considering incorporating MLA Attention into FlashInfer moving forward and would appreciate if @ispobock could explore this possibility. Looking forward to an update from @yzh119.
Do you have any suggestions? Thanks. @merrymercy @Ying1123 @hnyls2002 @yzh119

You may add --disable-radix-cache to disable the tree cache.

Benchmark result is updated.

A100 80G
ShareGPT 1k
# vLLM
python -m vllm.entrypoints.openai.api_server --model  deepseek-ai/DeepSeek-V2-Lite --disable-log-requests --trust-remote-code --max-model-len 4096
# main FlashInfer
python -m sglang.launch_server --model-path deepseek-ai/DeepSeek-V2-Lite --disable-radix-cache --trust-remote-code
# main Triton
python -m sglang.launch_server --model-path deepseek-ai/DeepSeek-V2-Lite --disable-radix-cache --trust-remote-code --disable-flashinfer
# MLA Triton
python -m sglang.launch_server --model-path deepseek-ai/DeepSeek-V2-Lite --disable-radix-cache --trust-remote-code

# client
python3 -m sglang.bench_serving --backend vllm
python3 -m sglang.bench_serving --backend sglang

============ Serving Benchmark Result ============
Backend:                                 vllm
Traffic request rate:                    inf
Successful requests:                     1000
Benchmark duration (s):                  172.72
Total input tokens:                      236142
Total generated tokens:                  215614
Total generated tokens (retokenized):    215357
Request throughput (req/s):              5.79
Input token throughput (tok/s):          1367.22
Output token throughput (tok/s):         1248.36
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   84630.85
Median E2E Latency (ms):                 85899.10
---------------Time to First Token----------------
Mean TTFT (ms):                          48520.47
Median TTFT (ms):                        43484.37
P99 TTFT (ms):                           135740.63
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          191.38
Median TPOT (ms):                        190.46
P99 TPOT (ms):                           482.57
---------------Inter-token Latency----------------
Mean ITL (ms):                           394.61
Median ITL (ms):                         150.76
P99 ITL (ms):                            494.64
==================================================

# FlashInfer
============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    inf
Successful requests:                     1000
Benchmark duration (s):                  89.33
Total input tokens:                      236142
Total generated tokens:                  215614
Total generated tokens (retokenized):    215327
Request throughput (req/s):              11.19
Input token throughput (tok/s):          2643.61
Output token throughput (tok/s):         2413.80
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   41187.40
Median E2E Latency (ms):                 40548.85
---------------Time to First Token----------------
Mean TTFT (ms):                          24502.59
Median TTFT (ms):                        23297.79
P99 TTFT (ms):                           62219.05
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          94.00
Median TPOT (ms):                        86.57
P99 TPOT (ms):                           263.22
---------------Inter-token Latency----------------
Mean ITL (ms):                           192.80
Median ITL (ms):                         59.62
P99 ITL (ms):                            271.23
==================================================

# Triton
============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    inf
Successful requests:                     1000
Benchmark duration (s):                  106.50
Total input tokens:                      236142
Total generated tokens:                  215614
Total generated tokens (retokenized):    215344
Request throughput (req/s):              9.39
Input token throughput (tok/s):          2217.31
Output token throughput (tok/s):         2024.55
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   44904.45
Median E2E Latency (ms):                 44066.16
---------------Time to First Token----------------
Mean TTFT (ms):                          26872.67
Median TTFT (ms):                        26855.06
P99 TTFT (ms):                           67354.23
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          100.41
Median TPOT (ms):                        92.15
P99 TPOT (ms):                           278.48
---------------Inter-token Latency----------------
Mean ITL (ms):                           210.10
Median ITL (ms):                         62.88
P99 ITL (ms):                            360.94
==================================================

# Triton MLA
============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    inf
Successful requests:                     1000
Benchmark duration (s):                  93.36
Total input tokens:                      236142
Total generated tokens:                  215614
Total generated tokens (retokenized):    215355
Request throughput (req/s):              10.71
Input token throughput (tok/s):          2529.41
Output token throughput (tok/s):         2309.53
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   38101.47
Median E2E Latency (ms):                 33589.46
---------------Time to First Token----------------
Mean TTFT (ms):                          7483.10
Median TTFT (ms):                        7373.59
P99 TTFT (ms):                           13939.18
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          335.31
Median TPOT (ms):                        168.04
P99 TPOT (ms):                           2129.49
---------------Inter-token Latency----------------
Mean ITL (ms):                           181.06
Median ITL (ms):                         115.35
P99 ITL (ms):                            444.42
==================================================

After this commit https://github.com/sgl-project/sglang/pull/905/commits/94b15781ed4a077fae43b3e916aaa0ac1fad26b4, when we want to use MLA, we should add --enable-mla.

A100 80G x8
ShareGPT 1k
# main FlashInfer
python -m sglang.launch_server --model-path deepseek-ai/DeepSeek-V2 --disable-radix-cache --trust-remote-code --tp 8
# mla enable-mla
python -m sglang.launch_server --model-path deepseek-ai/DeepSeek-V2 --disable-radix-cache --trust-remote-code --tp 8 --enable-mla

# main FlashInfer
============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    inf
Successful requests:                     1000
Benchmark duration (s):                  635.63
Total input tokens:                      236142
Total generated tokens:                  215614
Total generated tokens (retokenized):    215021
Request throughput (req/s):              1.57
Input token throughput (tok/s):          371.51
Output token throughput (tok/s):         339.22
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   312719.92
Median E2E Latency (ms):                 318283.73
---------------Time to First Token----------------
Mean TTFT (ms):                          289771.06
Median TTFT (ms):                        294630.15
P99 TTFT (ms):                           577199.48
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          98.64
Median TPOT (ms):                        52.54
P99 TPOT (ms):                           1393.25
---------------Inter-token Latency----------------
Mean ITL (ms):                           1467.39
Median ITL (ms):                         46.78
P99 ITL (ms):                            275.39
==================================================

# Triton MLA
============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    inf
Successful requests:                     1000
Benchmark duration (s):                  267.62
Total input tokens:                      236142
Total generated tokens:                  215614
Total generated tokens (retokenized):    215061
Request throughput (req/s):              3.74
Input token throughput (tok/s):          882.36
Output token throughput (tok/s):         805.66
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   109370.04
Median E2E Latency (ms):                 108220.54
---------------Time to First Token----------------
Mean TTFT (ms):                          58931.99
Median TTFT (ms):                        38989.13
P99 TTFT (ms):                           148840.96
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          276.88
Median TPOT (ms):                        258.92
P99 TPOT (ms):                           748.81
---------------Inter-token Latency----------------
Mean ITL (ms):                           512.84
Median ITL (ms):                         185.41
P99 ITL (ms):                            720.15
==================================================

LGTM. Very nice work!! 🎉

hold on

@ispobock We may add a regression testing with Llama 3.

We may add a regression testing with Llama 3.

There is an issue when disabling flashinfer, let me fix it.

We may add a regression testing with Llama 3.

There is an issue when disabling flashinfer, let me fix it.

ok

Evaluated the average accuracy on mmlu by python3 benchmark/mmlu/bench_sglang.py --nsub 10:
Llama-3-8B:

main branch flashinfer: 0.619
main branch triton: 0.618

DeepSeek-V2-Lite:

main branch flashinfer: 0.543
main branch triton: 0.540
mla triton: 0.549

TP cases
# flashinfer
python -m sglang.launch_server --model-path deepseek-ai/DeepSeek-V2-lite --disable-radix-cache --trust-remote-code --tp 2

# triton
python -m sglang.launch_server --model-path deepseek-ai/DeepSeek-V2-lite --disable-radix-cache --trust-remote-code --tp 2 --disable-flashinfer

# mla
python -m sglang.launch_server --model-path deepseek-ai/DeepSeek-V2-lite --disable-radix-cache --trust-remote-code --tp 2 --enable-mla

python3 -m sglang.bench_serving --backend sglang

python3 benchmark/mmlu/bench_sglang.py --nsub 10

============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    inf
Successful requests:                     1000
Benchmark duration (s):                  47.37
Total input tokens:                      236142
Total generated tokens:                  215614
Total generated tokens (retokenized):    215356
Request throughput (req/s):              21.11
Input token throughput (tok/s):          4984.92
Output token throughput (tok/s):         4551.58
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   20699.26
Median E2E Latency (ms):                 18888.38
---------------Time to First Token----------------
Mean TTFT (ms):                          5280.38
Median TTFT (ms):                        4278.32
P99 TTFT (ms):                           12355.53
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          140.18
Median TPOT (ms):                        87.34
P99 TPOT (ms):                           668.44
---------------Inter-token Latency----------------
Mean ITL (ms):                           98.27
Median ITL (ms):                         54.34
P99 ITL (ms):                            501.68
==================================================

subject: abstract_algebra, #q:100, acc: 0.300
subject: anatomy, #q:135, acc: 0.511
subject: astronomy, #q:152, acc: 0.586
subject: business_ethics, #q:100, acc: 0.600
subject: clinical_knowledge, #q:265, acc: 0.630
subject: college_biology, #q:144, acc: 0.646
subject: college_chemistry, #q:100, acc: 0.420
subject: college_computer_science, #q:100, acc: 0.470
subject: college_mathematics, #q:100, acc: 0.400
subject: college_medicine, #q:173, acc: 0.601
Total latency: 16.818
Average accuracy: 0.541

============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    inf
Successful requests:                     1000
Benchmark duration (s):                  71.50
Total input tokens:                      236142
Total generated tokens:                  215614
Total generated tokens (retokenized):    215353
Request throughput (req/s):              13.99
Input token throughput (tok/s):          3302.80
Output token throughput (tok/s):         3015.69
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   24554.45
Median E2E Latency (ms):                 21974.87
---------------Time to First Token----------------
Mean TTFT (ms):                          6747.84
Median TTFT (ms):                        5495.57
P99 TTFT (ms):                           14803.86
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          157.37
Median TPOT (ms):                        96.33
P99 TPOT (ms):                           698.46
---------------Inter-token Latency----------------
Mean ITL (ms):                           117.50
Median ITL (ms):                         60.15
P99 ITL (ms):                            536.09
==================================================

subject: abstract_algebra, #q:100, acc: 0.340
subject: anatomy, #q:135, acc: 0.541
subject: astronomy, #q:152, acc: 0.579
subject: business_ethics, #q:100, acc: 0.630
subject: clinical_knowledge, #q:265, acc: 0.642
subject: college_biology, #q:144, acc: 0.639
subject: college_chemistry, #q:100, acc: 0.430
subject: college_computer_science, #q:100, acc: 0.470
subject: college_mathematics, #q:100, acc: 0.400
subject: college_medicine, #q:173, acc: 0.618
Total latency: 17.655
Average accuracy: 0.553

============ Serving Benchmark Result ============
Backend:                                 sglang
Traffic request rate:                    inf
Successful requests:                     1000
Benchmark duration (s):                  71.77
Total input tokens:                      236142
Total generated tokens:                  215614
Total generated tokens (retokenized):    215342
Request throughput (req/s):              13.93
Input token throughput (tok/s):          3290.49
Output token throughput (tok/s):         3004.44
----------------End-to-End Latency----------------
Mean E2E Latency (ms):                   25321.60
Median E2E Latency (ms):                 22072.11
---------------Time to First Token----------------
Mean TTFT (ms):                          6508.90
Median TTFT (ms):                        6170.12
P99 TTFT (ms):                           10115.41
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms):                          198.78
Median TPOT (ms):                        99.93
P99 TPOT (ms):                           1205.42
---------------Inter-token Latency----------------
Mean ITL (ms):                           121.54
Median ITL (ms):                         67.46
P99 ITL (ms):                            412.39
==================================================

subject: abstract_algebra, #q:100, acc: 0.360
subject: anatomy, #q:135, acc: 0.504
subject: astronomy, #q:152, acc: 0.572
subject: business_ethics, #q:100, acc: 0.630
subject: clinical_knowledge, #q:265, acc: 0.653
subject: college_biology, #q:144, acc: 0.653
subject: college_chemistry, #q:100, acc: 0.410
subject: college_computer_science, #q:100, acc: 0.450
subject: college_mathematics, #q:100, acc: 0.410
subject: college_medicine, #q:173, acc: 0.607
Total latency: 18.795
Average accuracy: 0.550

Conclusion:

For the lite model, using tp1 is sufficient, and the default FlashInfer can be used (currently).
For the v2 model, when using tp8, it is recommended to --enable-mla.

Great work! I might have some bandwidth to work on flashinfer's MLA next week.