refs #56 Add test for heartbeat

Pull Request Test Coverage Report for Build 63

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.1%) to 90.722%

Totals

Change from base Build 61:
4.1%

Covered Lines:
66

Relevant Lines:
69

💛  - Coveralls


Footer:  Help link is broken

The "Help" link at the right of the footer does not work.
It should be grayed out or removed until it is functional.

Actually, I see that there really is a Help function!  Clicking on "Help" from the Sign Bank brings the user to this page: http://dai.cs.rutgers.edu/dai/s/help
I had not seen that before.
I will have some suggestions for the text on that page.  I'll send those separately.   It also includes descriptions of some functionalities that have not been implemented yet...

Got it.  I will update the help links to point to http://dai.cs.rutgers.edu/dai/s/help

@cneidle  This is fixed and pushed to prod.  Please very and close ticket or let me know if the fix looks good and I will close the ticket

Yes - this now links to the help page (which itself still needs to be modified, as per my email yesterday). Thanks.


Add hooks to modify the amount of Reroll and Removal tokens given in emails

Is your feature request related to a problem? Please describe.
There is currently no way to modify the amount of reroll/removal tokens given by the comrade.
Describe the solution you'd like
A hook in the mod.gd file to modify these values. It would work identically to the rent cost and spin modification hooks.
Additional context
Would likely be two methods in your mod.gd - modify_reroll_tokens and modify_removal_tokens. These would function identically to the rent hooks.

Implemented in https://github.com/ValgoBoi/LuckyAPI/commit/45ec8c89c7af8bae2fa7439f6fb922f3a3e418dc


Inferring spans with async-profiler

Supersedes elastic/apm-agent-java#972
Closes #971
Checklist

[x] Implement code
[x] Add tests
[x] Update documentation
[x] Update CHANGELOG.asciidoc
[x] Update supported-technologies.asciidoc
[x] Added an API method or config option? Document in which version this will be introduced.
[x] ~Added an instrumentation plugin? How did you make sure that old, non-supported versions are not instrumented by accident?~

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@b3d135c). Click here to learn what that means.
The diff coverage is 68.06%.

@@            Coverage Diff            @@
##             master     #983   +/-   ##
=========================================
  Coverage          ?   60.92%
  Complexity        ?       85
=========================================
  Files             ?      273
  Lines             ?    12610
  Branches          ?     1716
=========================================
  Hits              ?     7683
  Misses            ?     4441
  Partials          ?      486

Impacted Files
Coverage Δ
Complexity Δ

...astic/apm/agent/jdbc/StatementInstrumentation.java
32.5% <ø> (ø)
0 <0> (?)

...va/co/elastic/apm/agent/impl/ElasticApmTracer.java
69.82% <ø> (ø)
0 <0> (?)

...ent/hibernate/search/HibernateSearchConstants.java
0% <ø> (ø)
0 <0> (?)

...gent/okhttp/OkHttp3ClientAsyncInstrumentation.java
21.73% <0%> (ø)
0 <0> (?)

.../apm/agent/okhttp/OkHttpClientInstrumentation.java
17.85% <0%> (ø)
0 <0> (?)

...lastic/apm/agent/mongoclient/ConnectionAdvice.java
0% <0%> (ø)
0 <0> (?)

.../elastic/apm/agent/jdbc/helper/JdbcHelperImpl.java
0% <0%> (ø)
0 <0> (?)

.../agent/hibernate/search/HibernateSearchHelper.java
0% <0%> (ø)
0 <0> (?)

...client/AbstractAsyncHttpClientInstrumentation.java
42.85% <0%> (ø)
0 <0> (?)

...apm/agent/okhttp/OkHttp3ClientInstrumentation.java
18.51% <0%> (ø)
0 <0> (?)

... and 26 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 b3d135c...2f6ead9. Read the comment docs.

snapshot build: elastic-apm-agent-1.12.1-SNAPSHOT.jar.zip


is same pointer name make in twice diffient size then get same memory?

Is same pointer name make in twice diffient size then get same memory?
Sorry, i do not sure it is a bug, thanks.
Below simple code, i want to allocate 2 diffient array used same variable name, but result give me same array.
What version of Go are you using (go version)?

$ go version
go version go1.14.2 windows/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=auto
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\liand\AppData\Local\go-build
set GOENV=C:\Users\liand\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GONOPROXY=code.aliyun.com
set GONOSUMDB=code.aliyun.com
set GOOS=windows
set GOPATH=D:\work\go
set GOPRIVATE=code.aliyun.com
set GOPROXY=https://goproxy.io
set GOROOT=D:\develop\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\develop\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=D:\work\cryptocoin\api\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\liand\AppData\Local\Temp\go-build377423766=/tmp/go-build -gno-record-gcc-switches

What did you do?

	a := make([]int, 0)
	p1 := &a

	a = make([]int, 1)
	p2 := &a

	log.Printf("len(p1)=%d,len(p2)=%d", len(*p1), len(*p2))

What did you expect to see?
	len(p1)=0,len(p2)=1

What did you see instead?
	len(p1)=1,len(p2)=1

You set p1 to the address of a.  When you change a, you change the value to which p1 points.  That's how pointers work.
I'm going to close this because it isn't a bug.
For questions about using Go, you will get faster and better answers in a forum rather than in the issue tracker.  See https://golang.org/wiki/Questions.


Fixes, upgrades and improvements

@ksuess Erico and I, we are planning to unify naming (and documenting it properly) through all Volto things during the Mexico sprint. So we will improve it soon.

@ksuess Erico and I, we are planning to unify naming (and documenting it properly) through all Volto things during the Mexico sprint. So we will improve it soon.

May I thank you with swiss chocolate?

Very nice, overdue, improvement.
Just a remark. I ever wondered why "start cypress testing UI" is called (make) "test-acceptance". But this is obviously now a common parlance.

[EDIT] jargon -> parlance
Sorry, jargon was a bad translation of a neutral german word to an english word with negative connotation. I changed it.

@ksuess chocolate is always welcome! :)

@ksuess Erico and I, we are planning to unify naming (and documenting it properly) through all Volto things during the Mexico sprint. So we will improve it soon.

I will be there, too, and I will give feedback from a newcomer perspective.


Fix wide character support

Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1501927
part of https://github.com/xamarin/vsmac/pull/6676

Merging this because we're already using it in VSMac. @nosami please let me know if this needs additional work.

Not deleting branch to avoid breaking VSMac build.

Merging this because we're already using it in VSMac. @nosami please let me know if this needs additional work.

Oh wow, I forgot all about this. In fact, I thought I'd already finished working on this.
I'm happy for this PR to be merged as-is though. It's not any worse than master and we can revisit at a later date to apply Marius's improvement suggestions.

Cool, I'll bump VSMac to use master again instead of this branch.

Thanks Sandy!

Merging this because we're already using it in VSMac. @nosami please let me know if this needs additional work.

Oh wow, I forgot all about this. In fact, I thought I'd already finished working on this.
I'm happy for this PR to be merged as-is though. It's not any worse than master and we can revisit at a later date to apply Marius's improvement suggestions.

Filed a work item: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1539938


Sort module imports and group imports from same module

Follow up to https://github.com/raiden-network/light-client/pull/711#discussion_r358809398

I can do it on Tuesday or on the weekend, no big deal :) thanks guys


Not preceeding state if cookie and token are undefined

I have noticed, that the spinner does not dismiss if my refreshId-cookie as well as my access-token is undefined.
Apparently, the operator will not be ready. This has to be investigated.

I have noticed, that the spinner does not dismiss if my refreshId-cookie as well as my access-token is undefined.

This is not the case. The operator will not be ready even if the auth-service responds with a 200-HTTP-message. The lifecycle booted normally, but the operator will still not be ready.
I have assessed this as low, because this behavior only appears if I re-open a browser and have an old session open. A workaround is to navigate manually to /login.
The error-state came because the AU-service did not send any updates to a specific meeting. --> It might be an issue for the AU-Service.


improve handling of oc create/apply/delete

you see only the basic output, e.g. "pod foo created"

this is covered now


Support FileField and ImageField serialization to links

This renders file and image fields into links as well:
{
    "_links": {
        "self": {
            "href": "http://testserver/file-resources/1/"
        },
        "file": {
            "href": "http://testserver/file-resources/1/foo_ZQBLrGA"
        },
        "image": {
            "href": "http://testserver/file-resources/1/image_FOyklJw"
        }
    }
}

can this support the optional title link attribute as well?

Is that in the master already? I'd want to keep it separate from this change here.
I'm thinking we could do some field (like you already started to work on) that can be configure to add a title:
Serializer:
    file_title = ContributeTitleField(to='file', model_field='file_title')

I just want to make sure that there is a path forward to support titles.

Support for titles is in #13


WIP: experiment skipping kotlinx.serialization for Changes

[ ] CHANGELOG.md's "Unreleased" section has been updated, if applicable.

Obsoleted by https://github.com/cashapp/redwood/pull/2106


Tool uses cpu instead of cpus directive when creating nextflow config file

Hi there,
Thank you for providing this tool, it has some very promising functionality! But when I tried to create a nextflow config file with optimized parameters, I noticed that the tool uses the directive cpu instead of cpus. Only cpus is recognized by nextflow so I think this needs to be fixed here link to line in code
On another note, in the newest version of this tool, the config file that is created is blank so there might be a larger issue now as well but I haven't quite narrowed down the problem yet.
Best,
Philipp

Thanks! Yes I also had to wrap the created config file in a process {}  block manually. And I also had to put quotes around the process names in order for nextflow to recognize it. Based on the nextflow documentation it shouldn't be necessary but somehow I couldn't get it to work otherwise.


[IA-3348] Display compute and disk cost estimates in Azure compute modal

DRAFT - DO NOT MERGE (see todos below)
See also https://github.com/broadinstitute/dsp-scripts/pull/139
Ran this locally!
Todo: unit tests, paused cost display, display cost in context sidebar

There should be unit tests on this before it is approved and merged.

TODO:

[ ] unit tests
[ ] convert script and code assumptions to expect Standard HDD LRS disks, rather than SSD


Parser for Acknowledgments

A branch containing a model for parsing acknowledgment section both for a raw string text and for the Pdf files. Result from the DESIR Code sprint 2.

Coverage increased (+0.03%) to 37.323% when pulling 6de55cad1dff1a6453ff90aa739845306c6cef26 on AcknowledgmentParser_Desir2ndCodeSprint into 41ab93618f9515e8638c0237f9b91234f18b7b6b on master.

Si finally covered with PR #1046, with some re-design, re-annotation and more training data.


feat: osicon segment

Prerequisites

[x] I have read and understand the CONTRIBUTING guide
[x] The commit message follows the conventional commits guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

Description
Add osicon segment for displaying an OS specific icon

@nwykes first off, thanks for the contributions and coffee. You made my day yesterday yesterday and today with that 🙏🏻
A final request, can you rebase to main and remove that merge commit? I have a personal dislike against those things 😅

@nwykes first off, thanks for the contributions and coffee. You made my day yesterday yesterday and today with that 🙏🏻
A final request, can you rebase to main and remove that merge commit? I have a personal dislike against those things 😅

least I can do, since I'm now using it in powershell in windows and zsh in Mac and linux everywhere, replacing my old powerlevel10k setup.
Still working on the changes, but I'll get it rebased before submitting again.


How do I handle promise errors?

I'm creating screenshots from a long list of urls. Occasionally a page fails to load, and I'd love to skip it and move onto the next. Currently a load failure causes the whole script to fail. What is the best way to gracefully handle failures?
I'm currently getting :
UnhandledPromiseRejectionWarning: Error: Couldn't load url: http://somesite.com

@Tolmark12 hey, I'm facing the same issue... have you find some solution please?

try {
  // Promise code here
} catch (error) {
  console.log(error);
}


[BUG/ISSUE] Some Program is already updated and still showing!

Before submitting the issue

[x] I have checked that the bug is not a duplicate or, if it is, it needs to be reopened
[x] I have checked that I am running the latest version of WingetUI
[x] I have tried resetting and reinstalling WingetUI and the issue persisted or happened again
[x] I have checked the FAQ section for solutions
[x] I have read the contributing guidelines and I agree with the Code of Conduct

Describe the bug
I'm updating programs for example (Microsoft Teams and MEGA Cloud Storage) but' it's still asking for them to be updated!
Here's an example of MEGA Cloud Desktop App:

Please update it, wingetui will register it as updated and won't show it again until a new version is available

i did! multiple times..

Please update it, wingetui will register it as updated and won't show it again until a new version is available

i did! multiple times..

Then try right-click -> skip this version

I already did as well, but wanted to ask if there's a fix for it, thank you very much anyways :)

@marticliment what do you think about automatically skipping the next version if a package with unknown version is updated?
I also think that in this case a message should be shown to inform the user about a package being temporarily added to the blacklist

what do you think about automatically skipping the next version if a package with unknown version is updated?

That what it is supposed to do, with every package I tested it worked flawlessly. I will continue studying this

I wonder what might cause this issue, because it seems to be working fine if you upgrade a package with an unknown version to the latest. What would happen if you upgraded again? Would the blacklist be updated replacing the old latest version with the new one?

I wonder what might cause this issue, because it seems to be working fine if you upgrade a package with an unknown version to the latest. What would happen if you upgraded again? Would the blacklist be updated replacing the old latest version with the new one?

No, they should just stack on the ignored list

@khaledmndev, Is this issue still happening with WingetUI 2.0.1?

sadly, I'm having this error almost all of the updates now!

\
|
/
\
1024 KB / 14.9 MB
2.00 MB / 14.9 MB
3.00 MB / 14.9 MB
4.00 MB / 14.9 MB
5.00 MB / 14.9 MB
6.00 MB / 14.9 MB
7.00 MB / 14.9 MB
8.00 MB / 14.9 MB
9.00 MB / 14.9 MB
10.0 MB / 14.9 MB
11.0 MB / 14.9 MB
12.0 MB / 14.9 MB
13.0 MB / 14.9 MB
14.0 MB / 14.9 MB
14.9 MB / 14.9 MB

\
|

Found EA app [ElectronicArts.EADesktop] Version <IP_ADDRESS>65
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe
\
|
/
\
|
/
 381 KB / 2.37 MB
1.37 MB / 2.37 MB
2.37 MB / 2.37 MB

Installer hash does not match; to override this check use --ignore-security-hash

Hello @khaledmndev ,
This issue is caused by the publisher of the program providing dynamic links to the installer, so the package manager (microsoft/winget-cli, not marticliment/WingetUI) can't validate its integrity.
If you still want to install that software, you should right-click the failing package ->Skip hash check

Hello @khaledmndev ,
This issue is caused by the publisher of the program providing dynamic links to the installer, so the package manager (microsoft/winget-cli, not marticliment/WingetUI) can't validate its integrity.
If you still want to install that software, you should right-click the failing package ->Skip hash check

alright thanks for the info.. I will be back here, and will update you more about the main issue..

Hello,
was this issue fixed?


regex case insensitive not working?

i have the following code to try find an exact name with regex case insensitive and it sorta works but gives multiple responses instead of only returning the right one, any ideas on why it does this or how to fix?
Code:
Database.find({ thing: { $regex: /^roblox*$/i } }, function (err, docs) {
    console.log(docs);
});

Database:
{"thing":"ROBLOXf","_id":"Cq4VF4beqYL3hzV5"}
{"thing":"ROBLOXxx","_id":"IzMuNLoJX0bzIHir"}
{"thing":"ROBLOXe","_id":"O8OJEjnz2u0hiqvi"}
{"thing":"ROBLOX","_id":"ZS1dfQzmPXwpEh8W"}
{"thing":"ROBLOXxxx","_id":"cqQSgXs7nJAOiBt3"}
{"thing":"ROBLOXxxxxxxx","_id":"fYo61bqmcKWoHhNe"}
{"thing":"ROBLOXxxxx","_id":"pRUSpVpvobW0ihVG"}
{"thing":"ROBLOXs","_id":"uBAgjaG6fhuops9A"}

Response:
[
  { thing: 'ROBLOXxx', _id: 'IzMuNLoJX0bzIHir' },
  { thing: 'ROBLOX', _id: 'ZS1dfQzmPXwpEh8W' },
  { thing: 'ROBLOXxxx', _id: 'cqQSgXs7nJAOiBt3' },
  { thing: 'ROBLOXxxxxxxx', _id: 'fYo61bqmcKWoHhNe' },
  { thing: 'ROBLOXxxxx', _id: 'pRUSpVpvobW0ihVG' }
]

Hi,
in a regular expression X* means, that the letter X occurs 0,1, or more times. So the result is right.I like to use https://regex101.com/ for experimenting with regex. Perhaps you like to check the result there.
Kind regards
Torsten

ahh, my mistake then, thanks for the help @bi-tm


Refine and clean up i/o to a releasable stage and release for broader use.

Released and distributed via PyPi for broader use with command line executable via v0.0.4.


bring back thumbnail of panels?

I would prefer if a thumbnail carousel of some sort would provide preview of what the panels are. In first demo, it was more intuitive. Maybe similar but horizontal (top?)

We tried this but realised there's a number of problems with the thumbnails on top approach:

does not scale (we would need to introduce a complex carousel navigation if there is like more than 3 sub-figures)
images could have different aspect ratio, which makes it hard to position properly

So that's why we went for a space-saving minimal solution, with the only problem that you don't have random access anymore. Is that a requirement?
To address random access we would propose to allow expand the figure, to see all panels at once during editing. We thought it might be good to have that as a default even especially for editing figure packages which don't have a lot text content anyway.

yes, the scalability of thumbnails is an issue. Maybe it helps to separate 2 issues: 1) provide a visual hint and overview that the figure as multiple panels; 2) provide random access. I think your solution for random access is very good. But before the figure is expanded there is probably the need to have a slightly more explicit hint that there are sveral panels and how many?

Good suggestion!

@source-data how about this approach?

I'd then leave out the navigation controls completely and allow only collapsed and expanded modes.
Another option for SourceData, to generally have them always expanded?

I personally do not like the option above... I like the current implementation with the count and the arrows. Maybe this could be made a bit more explicit with some wording, like 'panel 1 of x'. And maybe the whole wording + arrows should be wrapped in something like a button or something that makes it more visible?


Perspective is jagged.

Jagged pixels.
Of course this is not at all noticeable when showbb is off but it's still a thing to note. :eye:

Hey good thing you only reported the jagging instead of the massive warping that happens.
But yeah this basically cannot be fixed without a complete rewrite of the FOV system.


Wording for optional arguments

The ES2015 spec tends to give optional arguments default values with phrases like "if x is undefined, let x be foo". For example, see the treatment of endPosition in String.prototype.endsWith http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype.endswith

Where are you seeing different wording here? I have "If fillString is undefined, let fillStr be the empty String." in both functions' spec steps.

Well, it should be in a numbered item in the algorithm.

It already is - see step 9 in both algorithms.


Updated logo to SVG

Hello there! How about SVG logo? Looks awesome!

@kolyaraketa thanks for this one!


Improve SEO

Overview

Pending Tasks

[ ] Top Priority: #158
[ ] #24
[ ] #44
[ ] #234
[x] #240

DONE

[x] #115
[x] #233

Discussed in https://github.com/kawalcovid19/wargabantuwarga.com/discussions/147

Top priority for now is #158

Insights from @ekiriandra-seo
https://docs.google.com/document/d/1im7CF8XaF4yYQ_jJjjW7dOKZz8tJFvidtW7bOlqt1Y8/edit?usp=sharing


Crash when accepting/rejecting multiple applications

Trigger: when on the applications tab, clicking more than one action causes a crash (presumably---it could technically be something else, I suppose)
IntegrityError at /whctools/staff
(1062, "Duplicate entry '486-1' for key 'memberaudit_characterskillsetcheck.functional_pk_characterskillsetcheck'")
Request Method:	GET
Request URL:	http://auth.eveuniversity.org/whctools/staff
Django Version:	4.0.10
Exception Type:	IntegrityError
Exception Value:
(1062, "Duplicate entry '486-1' for key 'memberaudit_characterskillsetcheck.functional_pk_characterskillsetcheck'")
Exception Location:	/opt/venv/lib/python3.9/site-packages/MySQLdb/connections.py, line 255, in query
Python Executable:	/opt/venv/bin/python3
Python Version:	3.9.18
Python Path:
['/home/allianceauth/myauth',
 '/home/allianceauth/myauth',
 '/opt/venv/bin',
 '/usr/local/lib/python39.zip',
 '/usr/local/lib/python3.9',
 '/usr/local/lib/python3.9/lib-dynload',
 '/opt/venv/lib/python3.9/site-packages']
Server time:	Sat, 22 Jun 2024 21:01:03 +0000

Environment:

Request Method: GET
Request URL: http://auth.eveuniversity.org/whctools/staff

Django Version: 4.0.10
Python Version: 3.9.18
Installed Applications:
['allianceauth',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'django_celery_beat',
 'bootstrapform',
 'sortedm2m',
 'esi',
 'allianceauth.authentication',
 'allianceauth.services',
 'allianceauth.eveonline',
 'allianceauth.groupmanagement',
 'allianceauth.notifications',
 'allianceauth.thirdparty.navhelper',
 'allianceauth.analytics',
 'eunicore',
 'allianceauth.services.modules.discord',
 'allianceauth.services.modules.mumble',
 'allianceauth.services.modules.phpbb3',
 'allianceauth.permissions_tool',
 'aasrp',
 'allianceauth.corputils',
 'allianceauth_pve',
 'blacklist',
 'buybackprogram',
 'discordnotify',
 'celeryanalytics',
 'eveuniverse',
 'fleetpings',
 'freight',
 'groupassign',
 'incursions',
 'marketmanager',
 'memberaudit',
 'memberaudit_securegroups',
 'moonstuff',
 'securegroups',
 'structures',
 'structuretimers',
 'taskmonitor',
 'package_monitor',
 'afat',
 'opcalendar',
 'fittings',
 'membertools',
 'whctools']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'allianceauth.authentication.middleware.UserSettingsMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'allianceauth.analytics.middleware.AnalyticsMiddleware']

Traceback (most recent call last):
  File "/opt/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/opt/venv/lib/python3.9/site-packages/django/db/backends/mysql/base.py", line 75, in execute
    return self.cursor.execute(query, args)
  File "/opt/venv/lib/python3.9/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
  File "/opt/venv/lib/python3.9/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/opt/venv/lib/python3.9/site-packages/MySQLdb/connections.py", line 255, in query
    _mysql.connection.query(self, query)

The above exception ((1062, "Duplicate entry '486-1' for key 'memberaudit_characterskillsetcheck.functional_pk_characterskillsetcheck'")) was the direct cause of the following exception:
  File "/opt/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/opt/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/allianceauth/authentication/decorators.py", line 47, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/whctools/views.py", line 171, in staff
    ma_character.update_skill_sets()
  File "/opt/venv/lib/python3.9/site-packages/memberaudit/models/characters.py", line 549, in update_skill_sets
    self.skill_set_checks.update_for_character(self)
  File "/usr/local/lib/python3.9/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/opt/venv/lib/python3.9/site-packages/memberaudit/managers/character_sections_3.py", line 404, in update_for_character
    self.bulk_create(
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/query.py", line 579, in bulk_create
    returned_columns = self._batched_insert(
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/query.py", line 1467, in _batched_insert
    self._insert(
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/query.py", line 1434, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1621, in execute_sql
    cursor.execute(sql, params)
  File "/opt/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 102, in execute
    return super().execute(sql, params)
  File "/opt/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/opt/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/opt/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/opt/venv/lib/python3.9/site-packages/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/opt/venv/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/opt/venv/lib/python3.9/site-packages/django/db/backends/mysql/base.py", line 75, in execute
    return self.cursor.execute(query, args)
  File "/opt/venv/lib/python3.9/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
  File "/opt/venv/lib/python3.9/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/opt/venv/lib/python3.9/site-packages/MySQLdb/connections.py", line 255, in query
    _mysql.connection.query(self, query)

Exception Type: IntegrityError at /whctools/staff
Exception Value: (1062, "Duplicate entry '486-1' for key 'memberaudit_characterskillsetcheck.functional_pk_characterskillsetcheck'")

how do you click more than one action?
from this page?

all those buttons should reload the page directly and you shouldnt be able to click more than one action?

and on the rejection page, i am not able to duplicate this bug. Can you provide more information?
(I am suspecting however theyre may have been a database corruption issue here with somehow it getting more than one of the same entry)

how do you click more than one action?
all those buttons should reload the page directly and you shouldnt be able to click more than one action?

"reload the page" is a 20-30 second operation. During this time, every part of the interface is active and sends commands which are received by the backend as normal. For the applications tab, if there's six characters, you can easily click a dozen or more buttons. This is actually really useful on the cooldown reset page, since you can reset every character at once. Otherwise, resetting my alts takes 6-7 minutes. It's painful.

Can you provide more information?
I suspect it's due to issuing multiple commands that have conflicting outcomes.  Try a couple alts, then accept and reject several at a time.

If the answer is "wait for the page to reload", I guess that's fine. But the load time would need to be at least 10x faster.

Good to know that makes more sense.
I've already started work on breaking up the page (right now all the staff
pages are technically one page) and that will help.
I've got some other plans for optimization
On Mon, Jun 24, 2024, 1:52 PM mome-borogove @.***>
wrote:

how do you click more than one action?
all those buttons should reload the page directly and you shouldnt be able
to click more than one action?
"reload the page" is a 20-30 second operation. During this time, every
part of the interface is active and sends commands which are received by
the backend as normal. For the applications tab, if there's six characters,
you can easily click a dozen or more buttons. This is actually really
useful on the cooldown reset page, since you can reset every character at
once. Otherwise, resetting my alts takes 6-7 minutes. It's painful.
Can you provide more information?
I suspect it's due to issuing multiple commands that have conflicting
outcomes.  Try a couple alts, then
accept and reject several at a time.
If the answer is "wait for the page to reload", I guess that's fine. But
the load time would need to be at least 10x faster.
—
Reply to this email directly, view it on GitHub
https://github.com/EVE-University/whctools/issues/10#issuecomment-2187105017,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADLOBQ6SXYKXX7R7MXYWRJ3ZJBMFJAVCNFSM6AAAAABJXZ5J72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBXGEYDKMBRG4
.
You are receiving this because you commented.Message ID:
@.***>

should have this (and the 20-30 second load time) fixed in the current version im working on.

Can't repro this, and it's a hell of a lot harder to set up the conditions which it required, too. Considering it closed.


2024.7 - Setup of "o365" taking longer than 300 seconds

Hello! Just updated my instance to stable 2024.7.0 and the startup for the integration is taking a long time to start up and the "Teams Presence" sensor is unavailable. Was working fine in 2024.6.4.
Only errors and warnings I can see in the logs are as follows:
**ERROR**
Logger: homeassistant.setup
Source: setup.py:406
First occurred: 12:02:01 PM (1 occurrences)
Last logged: 12:02:01 PM

Setup of 'o365' is taking longer than 300 seconds. Startup will proceed without waiting any longer

**WARNING**
Logger: homeassistant.bootstrap
Source: bootstrap.py:733
First occurred: 11:57:51 AM (5 occurrences)
Last logged: 12:01:51 PM

Waiting on integrations to complete setup: {('o365', None): 1120885.252891238}

**WARNING**
Logger: homeassistant.setup
Source: runner.py:190
First occurred: 11:57:11 AM (1 occurrences)
Last logged: 11:57:11 AM

Setup of o365 is taking over 10 seconds.

What version of home Assistant are you running?

HA Version 2024.7.0 - though I just noticed after several restarts throughout the afternoon it seems to be working now and the errors are gone. I had restarted 3-4 times before posting an issue so who knows. I'll reopen if the issue comes back.

It is untested on 2024.7.x since I’m away on holiday. Oops I should have asked what version on the integration you are using.


Basic app and server

This pull request contains the initial commit of a mobile application for requesting actions from the car which is needed as to "Create Basic Interface app for steering"

Edited the description adding a link to the issue (don't see a way of linking issues directly, only milestones)

Edited the description adding a link to the issue (don't see a way of linking issues directly, only milestones)

Do you mean you cannot write that it "relates to #3"? :grin:


Bug: Link is brocken to inter.css

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Explain how to reproduce the bug.
Environment (please complete the following information):

Starlette-Admin version: [e.g. 0.3.2]
ORM/ODMs: [SQLAlchemy, MongoEngine, ...]

Additional context
Add any other context about the problem here.
link is broken: https://rsms.me/inter/inter.css
change please to:
<EMAIL_ADDRESS>

Both links are working for me

in Ukraine not work,
I discuss my friend in the EU zone - the same issue
<EMAIL_ADDRESS>- works fine everywhere

Okay. But I think<EMAIL_ADDRESS>is a better alternative.

Thank you for your support, @abhishek-compro.
Sorry @MatsiukMykola, the official CDN link for Inter is https://rsms.me/inter/inter.css (ref) and it's working.
In case your network issue persists, a workaround is to override the base.html file in your templates folder and manually modify the link.


Fix create directory PS command

Hi @fvoronin, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

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

TTYL, DNFBOT;

@sayedihashimi  please review.
@fvoronin  if accepted, you'll need to make this change at https://github.com/Microsoft/Docs-1

LGTM - we should get this integrated into the new markdown based content.
@fvoronin Can you update the PR?

:shipit:

@fvoronin we can update the PR if you like

moved to https://github.com/aspnet/Docs/pull/2080


Error in Operator Decision Tree for switchMap

Documentation Related To Component:
Operator Decision Tree
Please check those that apply

[ ] typo
[ ] documentation doesn't exist
[ ] documentation needs clarification
[x] error(s) in example
[ ] needs example

Description Of The Issue
The Operator Decision Tree relating to switchMap appears to have some issue. It recommends exhaustMap before actually hitting a leaf node and is missing the option for "where the nested Observable is the same for every value". The below screenshot should clarify what I mean.

Just tried to recreate this. I started the docs locally and this is what I get when I navigate to the same step:

Can it be that the issue has already been fixed but it's still not deployed yet?

@jsonberry I think you worked on this right?

Yes
I was able to replicate on current deployment, not sure of the version
It’s possible that the only thing required is a fresh generation and
deployment of the JSON that runs the ODT, and not a version bump on the
docs app itself
Haven’t looked into actual debugging yet, will attempt to do that soon
unless someone else with deployment powers can take a look at it
On Fri, Dec 6, 2019 at 9:16 AM Alexander Fallenstedt <
<EMAIL_ADDRESS>wrote:

@jsonberry https://github.com/jsonberry I think you worked on this
right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ReactiveX/rxjs/issues/5154?email_source=notifications&email_token=AAXQSKFEDMINAT4REQ7WD5TQXKCGNA5CNFSM4JPP3GF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGEYHEA#issuecomment-562660240,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXQSKAC7J5W2DSYND2TAQLQXKCGNANCNFSM4JPP3GFQ
.

@Trildar the docs were updated earlier today. Can you check if you still get that error? :)

On version 6.5.5-local+sha.7e4589a1 of the docs released to prod I'm unable to reproduce the bug, poked around a bit on it and haven't seen any issues.

If that's the case, can the issue be closed?

Hi, sorry, forgot to check on this. Seems fine checking on my phone, albeit that's not what I used when I noticed the issue. Will try to check on that if I remember.

Checked on the platform where I first encountered the issue. Seems to be fixed. Though I did have to reload the page once, likely due to cache.

In that case the issue can be closed :)


Fix a potential thread priority inversion

Detected by thread performance checker:
Thread Performance Checker: Thread running at QOS_CLASS_USER_INTERACTIVE waiting on a thread without a QoS class specified. Investigate ways to avoid priority inversions

This actually doesn't fix the thread performance checker issue.


subsys: logging: Add CR/LF handling flags

Add 2 new flags to control the output of newlines by the logger output
module. By default the logger adds both CR and LF, and with these 2 new
flags it is now possible to request LF only or no newlines at all.
Signed-off-by: Carles Cufi<EMAIL_ADDRESS>

Codecov Report

Merging #10692 into master will decrease coverage by 0.16%.
The diff coverage is 55.55%.

@@            Coverage Diff             @@
##           master   #10692      +/-   ##
==========================================
- Coverage   53.24%   53.07%   -0.17%
==========================================
  Files         214      214
  Lines       25828    25831       +3
  Branches     5695     5697       +2
==========================================
- Hits        13753    13711      -42
- Misses       9760     9809      +49
+ Partials     2315     2311       -4

Impacted Files
Coverage Δ

subsys/logging/log_output.c
82.14% <55.55%> (-2.1%)
:arrow_down:

include/posix/posix_sched.h
0% <0%> (-100%)
:arrow_down:

lib/posix/pthread_barrier.c
0% <0%> (-100%)
:arrow_down:

lib/posix/pthread_cond.c
62.5% <0%> (-20.84%)
:arrow_down:

lib/posix/pthread.c
68.03% <0%> (-12.33%)
:arrow_down:

lib/posix/pthread_mutex.c
76.38% <0%> (-1.39%)
:arrow_down:

lib/posix/pthread_sched.c
62.5% <0%> (+20.83%)
:arrow_up:

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 8eff21a...0020cf2. Read the comment docs.

@carlescufi @nordic-krch
Hmm this my break #10659 we are discussing. Is it possible to add some flags that call out_func at end of message too?

No issues with the PR, I am just wondering if the "subsys:" prefix is really needed in commit subject, as that is redundant information because the "logging" is the subsystem here. I am seeing this subsys: prefix in other PRs too.

@pkral78 what's the issue you see with #10659 ? The new flags need to be explicitly set by the backend, and the old behavior remains as long as they're not set (which will be the case with the RTT backend).

Sorry I have thought that it may be configurable as timestamps and colors (non-sense), so no issues at all.


Is it possible to create an array of runningMedian to call them in a for loop ?

Hi, i need to create an array of running median to access them in a for loop, is it possible? Like this:
RunningMedian outTempCMed[5];
setup(){
for(size_t i = 0; i < 5; i++){
outTempCMed[i] = RunningMedian(20);
}
}
Is this something possible ??
Thanx a lot!

Thanks for this good question.
It should be possible, need to think about the exact syntax.

initializing could also be done
RunningMedian RM[4] = { RunningMedian(5),RunningMedian(5),RunningMedian(5),RunningMedian(5) };

If you use an array of pointers you can initiialize the array in setup()
See - https://github.com/RobTillaart/RunningMedian/tree/master/examples/RunningMedian_array_pointer

Good to hear it works,

AS the problem is solved I close the issue


Update Korean translation

I've rewritten the json file and hope this updated translation appears in the new Maproulette layout.

Thank you, @depth221!


Toggle alternate preview back to default when pressing key-binding a second time

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[ x] Linux

Shell

[x ] bash

Problem / Steps to reproduce
Is it possible to toggle the secondary preview 'mode' by using the same keystroke? i.e I would like to hit 'ctrl-d' to use the 'file' based preview, but then hit ctrl-d again to toggle back to the default preview of just 'cat'. e.g
--preview 'cat {}' --bind 'ctrl-d:preview:file {}'

(In reality my preview commands are lot more complicated).
It seems natural to be able to hit the same key again to turn off the alternate preview. The current workaround requires changing the item then back again to go back to the default preview command (is there another way to go back to the 'default' preview?).
Is it possible that when triggering a preview action fzf could check if that preview is already active, and if so, go back to using the default preview instead? Maybe a new 'preview-switch' command is needed?

It's not supported. I've tried not to add more stateful actions to fzf to avoid feature bloat.
Why don't you set up another preview binding?
fzf --preview 'cat {}' --bind 'ctrl-d:preview:file {}' --bind 'ctrl-f:preview:cat {}'

Yes I could add another binding - but that would require repeating the command and it's rather long. I could use an env var, or fzf could add another action of 'preview-default' that shows the default preview command.
But the main issue is that it requires another key-binding to get back to the 'default' state. A single key to 'toggle' the alternate preview would be best. It does seem like desirable functionality for alternate previews.

stateful actions to fzf to avoid feature bloat.

I understand. Although I'd be inclined to think the default 'x:preview:y' behaviour should be to toggle an alternate preview. It somewhat already behaves this way because the alternate preview doesn't "stick" - it restores back to the default when you change an item. The proposal of 'preview-switch' is simply for backwards compatibility.

the default 'x:preview:y' behaviour should be to toggle an alternate preview

That depends. A user may want to repeatedly hit the same key to "refresh" the preview content.

20b4e69 implements change-preview action which will permanently change the default preview command which might help in some scenarios. However, there is no "toggle" functionality here, but I imagine a preview program can be written to depend on a state externally managed.
fzf --preview 'path-to-my-preview-program-that-depends-on-an-externally-managed-state-file {}' \
  --bind 'space:execute-silent(rotate-state-in-the-state-file)+refresh-preview'


allow user to specify which directory they want to put their webjobs

use "WEBJOB_PATH" in app_settings, related issue #2249

looks good. It'd be nice if you could add a unit test for it, but it can be in another commit :shipit:

Related thread: https://social.msdn.microsoft.com/Forums/azure/en-US/11549943-9aac-4e0f-aa7d-207d3d40cfcc/iif-you-change-the-directory-mapping-of-root-web-site-in-web-apps-webjobs-deployment-gets?forum=windowsazurewebsitespreview

@watashiSHUN it sounds like one was reviewed and is good to go. If so, can you squash/merge it in?

Done, reminder to self, update kudu documentation

@watashiSHUN it doesn't look like it was merged, right?
For the doc, add it under https://github.com/projectkudu/kudu/wiki/WebJobs#configuration-settings

https://github.com/projectkudu/kudu/commit/581903cd573b4c37045ff42323c441773f66ed66 looks like my commit was sandwiched by @snobu, so didn't see it?

Ah yes, my bad! Ok, just add the wiki doc and close then.

maybe rename it to WEBJOB_TARGET_PATH / WEBJOB_SOURCE_PATH? there's a very similar WEBJOBS_PATH environment variable in the doc

Let's go with WEBJOBS_ROOT_PATH, as that . Note that it should be WEBJOBS and now WEBJOB.


chore(bages): added crossorigin anonymous attribute

Added the crossorigin=anonymous-attribute to our badges references:

Request uses CORS headers and credentials flag is set to 'same-origin'. There is no exchange of user credentials via cookies, client-side SSL certificates or HTTP authentication, unless destination is the same origin.

superseded by https://github.com/db-ui/base/pull/218


The Laser Drill recipes do not work on 1.19.2

I don't know why, if its related to Vars or if its an issue on your end, but trying to make a laser drill recipe comes up with a "No such member: addBiomeDictToBlacklist" error or similar.

it was removed, you need to use the individual methods


Add etsf-io variant and its checks

Fixes partly #74
Added etsf-io variant and its checks in the CI
( referred from https://github.com/fangohr/octopus-in-spack/pull/13)

etsf-io package is being picked up in both mpi and non mpi variants as seen from the CI logs :
                           Running octopus

Version                : 12.2
Commit                 :
Build time             : Mon Mar 13 11:47:59 UTC 2023
Configuration options  : maxdim3 openmp mpi sse2 avx libxc5 libxc_fxc
Optional libraries     : cgal etsf_io metis netcdf parmetis pfft nlopt
Architecture           : x86_64
C compiler             : /home/user/spack/opt/spack/linux-debian11-x86_64_v4/gcc-10.2.1/openmpi-4.1.5-hn6nfwprjx4yzno3wwixc5qecjwc4rc5/bin/mpicc (/home/user/spack/lib/spack/env/gcc/gcc)

                           Running octopus

Version                : 12.2
Commit                 :
Build time             : Mon Mar 13 11:12:23 UTC 2023
Configuration options  : maxdim3 openmp sse2 libxc5 libxc_fxc
Optional libraries     : cgal etsf_io netcdf nlopt
Architecture           : x86_64
C compiler             : /usr/bin/gcc


mac webgpu build error

New to zig so probably a problem on my end.
with zig 0.9.1
on mac 12.3
cd zig-gamedev
zig build triangle_wgpu-run

results in the following
~/code/zig-gamedev (main) » zig build triangle_wgpu-run                                                                                dev@chroma
./libs/mach-gpu-dawn/build.zig:238:9: error: no member named 'addLibraryPath' in struct 'std.build.LibExeObjStep'
    step.addLibraryPath(target_cache_dir);
        ^
./libs/mach-gpu-dawn/build.zig:398:66: error: no member named 'mode' in struct 'std.fs.file.OpenFlags'
    var file = try std.fs.openFileAbsolute(src_absolute_path, .{ .mode = .read_only });

Hi, you will need zig 0.10 (master) to compile the project.

success!


grammar conflicts

Hi.
When I use command 'node_modules/.bin/jison src/cssparser.y src/css.l -t -o p.js 2>err.log | tee debug.log', jison gives me 634 conflicts in grammar.
It's possible to make this zero?
update1: note - http://stackoverflow.com/questions/15825195/debugging-in-jison

I rewrote css parser for improve features, and this issue is cleared at new version.


Enable CI/CD Checks

I guess this is partially fixed by #16 as we have some basic CI now.

#16 solves this.


API - Plugins

Stub.
Overview Page: Give Overview of what this section will cover.

Explain Schema and Type notation used in guide.
Tapable
Compiler instance
Compilation instance
Module

Module vs ModuleFactory
NormalModuleFactory
ContextModuleFactory

NMF instance
CMF instance
Maintemplate instance
Parser instance
Resolver instance
Recommended Reading
Implementing Custom Plugin Hooks (like html-webpack-plugin)

WIP

Can use this to link to individual issues I will create for each of these bullet points.

Implementing Custom Plugin Hooks (like html-webpack-plugin)

We use those in Carte Blanche too (@jantimon helped us build it, so that's why :grin:) so I can document that!

Well webpack is very modular - the custom plugin hooks are exactly the same as the "standard" hooks.

@jantimon Exactly. I think one we start educating developers about Tapabale etc. Plugins and how they work will be way easier.

Tapable is very simple - you can just read the source it contains only very small helper functions.
It is similar to event emitter however it allows plugins to queue up and modify the given value.
Unfortunately it doesn't allow to listen to a single event or unbind events.

@jantimon would you be willing to tackle the Tapable page? Like explain how it works, even though it's pretty simple code we want to explain it to somone in a clear and consice way. I was thinking about writing the schema/typescript definition for it as well.

I am on vacation for the next 3 weeks but maybe afterwards.

Closing for the same reason mentioned in #36. Let's open more targeted issues/prs if there's still work left to do.


Is it posible to disable Chart for public user? (question)

Is it posible to disable Chart and "Explore chart" for public user?
Without disabling the posibility to use iFrame of the chart.
I do not want the public user to have the posiblity to change/customize and play around with the chart.
ie: changing:

Datasource
Visualization type
Time/range/filter
Query
Row limit

I still need the iFrame of the chart to be publicly available.
I still need published dashboards to be publicly available.
Expected results
Option/Role/Permission to limit public role access to chart and chart editing/"Explore Chart"
Actual results
Can not find any option for this?
If I remove "can explore on superset" the chart, chart editing and "Explore chart" is hidden for the public user, but then I can not use iFrame of charts for public user.
Screenshots

How to reproduce the bug

Create public role
Create iFrame
Explore chart
Explore iFrame
Play with public role permissions (see img under)

Environment
superset version: 0.36.0
python version: 3.6.10
node.js version: 12.16.1
npm version: 6.13.4
Checklist

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

###Additional context

bump

Hi there @larsmars have you tried messing with the Public role at all?
https://www.oreilly.com/library/view/apache-superset-quick/9781788992244/8f89fc24-9f91-4eee-bb0f-883b94aaf17f.xhtml


diffAgainstLastAppliedFieldExclusionRules with Secret

I am deploying a Secret which is updated at runtime, I tried to add a kapp config to not override the data set but I cannot make it works:
apiVersion: kapp.k14s.io/v1alpha1
kind: Config
diffAgainstLastAppliedFieldExclusionRules:
  - path: ["webhooks", {allIndexes: true}, "clientConfig", "caBundle"]
    resourceMatchers:
      - apiVersionKindMatcher: {apiVersion: "admissionregistration.k8s.io/v1", kind: "MutatingWebhookConfiguration"}
  - path: ["data"]
    resourceMatchers:
      - apiVersionKindMatcher: {apiVersion: "v1", kind: "Secret"}

The first part for MutatingWebhookConfiguration works well so I know the config is really used but I cannot make the Secret rule works and I am at a loss as to why it does not work.
Here is an example of the targeted Secret:
---
# Source: vault/templates/injector-certs-secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: vault-injector-certs
  namespace: default
  labels:
    toto: titi
    app.kubernetes.io/name: vault-agent-injector
    app.kubernetes.io/instance: vault-agent
    app.kubernetes.io/managed-by: Helm

Hi @schmurfy! If I understood correctly, you don't want kapp to overwrite/remove some fields of a Secret present on the cluster. If so, you can use rebase rules to copy the fields from the cluster that you don't want to overwrite.

My initial idea is for kapp to see that the Secret has not changed between what I wanted:
apiVersion: v1
kind: Secret
metadata:
  name: vault-injector-certs
  namespace: default
  labels:
    toto: titi
    app.kubernetes.io/name: vault-agent-injector
    app.kubernetes.io/instance: vault-agent
    app.kubernetes.io/managed-by: Helm

and what is deployed:
apiVersion: v1
kind: Secret
metadata:
  name: vault-injector-certs
  namespace: default
  labels:
    toto: titi
    app.kubernetes.io/name: vault-agent-injector
    app.kubernetes.io/instance: vault-agent
    app.kubernetes.io/managed-by: Helm
data:
  key1: sfsdfgd
  key2: fhhjhgjj

I suppose rebase rules could work too but what I really wanted is for kapp to do nothing because with the data field ignored both manifests are the same.

kapp uses rebase rules instead of the basic 3 way merge to decide how to resolve conflicts. So if you want kapp to ignore a specific field, rebase rules are the way to go.

thanks, it works :)


feat: add vite-node into the core

Description
This PR adds an identical implementation of ViteNode into the Vite core for further improvements.
Some open questions:

~Naming. ViteServer looks a bit like ViteDevServer. We should probably integrate runtime server into the dev one, because it's just a lightweight wrapper.~
Tests. I did not manage to run tests locally 😄
Entry point and its name. We already discussed that ViteRuntimeClient should have its own entry point, because it should not depend on the whole Vite package. I managed to add a JS entry point, but I am struggling with typescript one.
Source map support. Vite-node uses custom source-map handler (base on support-source-map): https://github.com/vitest-dev/vitest/blob/main/packages/vite-node/src/source-map-handler.ts Do we want to move it here?
HMR support. We need to refactor current HMR support to be environment agnostic.

Additional context

What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the PR Title Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

Could you clarify in the PR description what the benefit would be? Is there a performance improvement, is it primarily to make it easier to support Vitest, etc.?

Leaving a note here to capture discussion from Discord. This does not currently support Deno because of use of vm.runInThisContext. However, @bartlomieju said that it should be able to be polyfilled and he will take a look in early March

@benmccann sorry for slow turnaround, but we got swamped in other work. I'll prioritize vm.runInThisContext in the coming weeks.

@benmccann FYI we have improved vm.runInThisContext in https://github.com/denoland/deno/pull/18767. This will be released in Deno 1.33 later this month.

Alternative to vite-node: vavite by @cyco130.

@cyco130 is aware of this work and there were some discussions out of this PR. I hope that we can work together and bring what makes sense of vavite into the table. At minimum, it would be great to have documented here why are we going with the vite-node approach instead at this point.

Alternative to vite-node: vavite by @cyco130.

If we leave the @vavite/loader package aside, vite-node is much more flexible but harder to set up than vavite. vavite is just a Vite plugin™ but can't do things like running the server code out of process or customizing HMR behavior. Basically it just loads your entry with ssrLoadModule and inserts its default export into the dev server's middleware stack.
@vavite/loader is a whole different story: It imports SSR code directly and uses a custom Node ESM loader to transpile the code with Vite. It is probably better for compatibility between dev and build except for one important flaw: It leaks memory. Node doesn't offer any way to dispose of a stale module so when you change a module's code, the old version stays in memory and it keeps accumulating indefinitely. I found it not to be a problem for me in practice but your mileage may vary. In any case, its main appeal was to enable sourcemaps which has been addressed by #11780 since.

One piece of feedback about vite-node is that it's not clear how to implement HMR when running the viteNodeServer and the runner in different contexts.
The current implementation of HMR in vite-node cli showcases this
const runner = new ViteNodeRunner({
    root: server.config.root,
    base: server.config.base,
    fetchModule(id) {
      return node.fetchModule(id)
    },
    resolveId(id, importer) {
      return node.resolveId(id, importer)
    },
    createHotContext(runner, url) {
      return createHotContext(runner, server.emitter, files, url)
    },
  })

server.emitter wouldn't be accessible to the runner.

This should be ready for a review. Most of the files are copy-pasted from playground/hmr, so don't feel discouraged - the important part is concentrated in node/ssr/runtime. This PR also includes #15631 for now while I wait for the answer.

@antfu if you can have a look at the public API and implementation, that would be great 🙏🏻

/ecosystem-ci run

It seems there are some fails in ecosystem-ci that are legit, for example https://github.com/vitejs/vite-ecosystem-ci/actions/runs/7572813584/job/20623537212#step:8:1336

It seems there are some fails in ecosystem-ci that are legit, for example vitejs/vite-ecosystem-ci/actions/runs/7572813584/job/20623537212#step:8:1336

I guess we can loosen up the type 🤔

/ecosystem-ci run

nx is also failing in main, so from an ecosystem-ci POV, we are good to go with this PR 🎉

This is very exciting! Thanks for all these work and @patak-dev for ping in discord.
I will give this branch a try to see if Nitro can use vite 😁

One nitpicking tho, should we name XxxHMRXxx to XxxHmrXxx for better readbility?

We had this discussion in HMR PRs - https://github.com/vitejs/vite/pull/15179#issuecomment-1832188419
I noticed that on the server we use Hmr, but on the client it's HMR or Hot 😄

mainly we require a remote API or ability to pass through data between main and Worker

This is where this API excels 😄

Hi all! Very excited for server HMR and support for different runtimes.
If I use the example quickstart code inside a configureServer hook...
const server = await createServer();
const runtime = createViteRuntime(server);

...it loops infinitely. If I pass in a resolved config instead...
const server = await createServer(vite_config);
const runtime = createViteRuntime(server);

...it complains that 'build.terserOptions is specified' (they're not, in the pre-resolved config, but presumably they are part of the resolved config).
Halp! And thanks!

If I use the example quickstart code inside a configureServer hook...

You can just pass down a server from configureServer hook 🤔 This was just an example of how to get a server for createViteRuntime utility. Calling createServer would cause a recursion because this hook is called inside createServer 😄

it complains that 'build.terserOptions is specified' (they're not, in the pre-resolved config, but presumably they are part of the resolved config).

This error is part of the createServer call, the logic wasn't affected by this PR, so I am not sure why it's failing. This doesn't seem related.

Looks very interesting!
As a vite-node user who is thinking about adopting this new api, I have two questions. I haven't looked the code in detail, so please forgive me if it's something obvious.

For 1st question, I'm wondering how this interacts with ssr.optimizeDeps (also combined with recent fix of dev ssr optimizer init https://github.com/vitejs/vite/pull/15561).
Currently in vite-node, if I'm reading correctly, the module id with cacheDir (namely node_modules/.vite/.deps and .deps_ssr) is always externalized (as optimization to skip unnecessary transform?) https://github.com/vitest-dev/vitest/blob/78b3840740469cbd7037fb1e35d68675ca18fba3/packages/vite-node/src/externalize.ts#L105-L107. I'm not sure if this direct comparison is appropriate, but I'm assuming ssrFetchModule is what mostly corresponds to ViteNodeServer.fetchModule and it looks like this cacheDir heuristics is now dropped and always inlined?
(To provide a background of my question, while I was testing ssr deps optimization with vite-node where client side runs on Miniflare/Workerd https://github.com/hi-ogawa/vite-plugins/pull/152, I noticed that things like node_modules/.vite/deps_ssr/react_jsx-dev-runtime.js were externalized and vite-node client was trying to import(...) but failing since file system is not available in Workerd. To achieve complete "no external", what I ended up was to set a random string in ViteNodeServerOptions.deps.cacheDir to disable such heuristics.)

For the 2nd question, again assuming the analogy of ssrFetchModule and ViteNodeServer.fetchModule is somewhat correct, vite-node has been providing transformMode option via ViteNodeServer.fetchModule(..., transformMode: "web" | "ssr") but ssrFetchModule (of course, as implied by its name) always leads to transformRequest(..., { ssr: true }).
For my own use case mentioned above, I intend to use exclusively transformMode: "ssr" so it's not a problem at all, but I'm wondering how other use cases of vite-node can be migrated to this API where transformMode: "web" might be important (for example, current Vitest's use case where transformMode: "web" is used for jsdom environment). Is this simply out of scope or can it be also achieved based on this new API?

I'm not sure if this direct comparison is appropriate, but I'm assuming ssrFetchModule is what mostly corresponds to ViteNodeServer.fetchModule and it looks like this cacheDir heuristics is now dropped and always inlined?

I haven't actually checked optimized use case, but I would assume it's always inlined because it's resolved to a file path (which is the only indication for Vite SSR to inline a file) - this is in line (haha, a pun) with how Vite SSR worked before. You can always return { externalized: id } yourself though, if needed. You can also process external dependencies however you like if you have a custom runner. By default, all externalized dependencies just call import.

I'm wondering how other use cases of vite-node can be migrated to this API where transformMode: "web" might be important (for example, current Vitest's use case where transformMode: "web" is used for jsdom environment). Is this simply out of scope or can it be also achieved based on this new API?

This implementation always processes files with ssr condition - other tools (like Vitest) will need to reimplement their own ssrFetchModule method. For now, the transform mode is out of scope, but if Vite's team decides it's worth reimplementing this logic, we can do that (at the start we decided not to do that).

Awesome 🙌 I've rewrote vite-env to use these APIs. (see https://github.com/vitejs/vite/discussions/14288 for vite-env)
https://github.com/sapphi-red/vite-envs/tree/use-vite-runtime
I was possible to implement:

a Vite Runtime running on node:vm (@edge-runtime/vm)
a Vite Runtime running on workerd

transforming and resolving on Vite (node) and executing on workerd

I think this proves, to some extent, the sufficiency of this API design.

Feedbacks:

Things related to ViteModuleRunner

For the parameters of processImport function of ViteModuleRunner interface, I want ResolvedResult and SSRImportMetadata type to be exported from vite/runtime

https://github.com/sapphi-red/vite-envs/blob/29f53d82ef857e8408842420c6cee91d1424b676/packages/vercel-edge/src/index.ts#L67-L73
https://github.com/sapphi-red/vite-envs/blob/29f53d82ef857e8408842420c6cee91d1424b676/packages/vercel-edge/src/index.ts#L9-L12

To add more information to stacktraces / transformed code, I want to have the module id in the parameter of runViteModule.

Current type: runViteModule(context: ViteRuntimeModuleContext, transformed: string) => Promise<any>
Proposed type: runViteModule(context: ViteRuntimeModuleContext, transformed: string, moduleId: string) => Promise<any>

Things related to ViteRuntime

executeUrl and executeEntrypoint are documented as those accepts file path. But if I pass abolute Windows paths (e.g. C:/Users/green/foo.js), it failed to resolve (ERR_MODULE_NOT_FOUND error). Is this a bug? or should I pass a file URL instead?

related code: https://github.com/sapphi-red/vite-envs/blob/29f53d82ef857e8408842420c6cee91d1424b676/packages/standalone/src/index.ts#L60-L63, https://github.com/sapphi-red/vite-envs/blob/2eb4af72e801bf5e98b9bbb8dfc906ad2398f02e/packages/vercel-edge/src/index.ts#L84-L85
this condition is true when absolute Windows paths are passed: https://github.com/vitejs/vite/blob/3ba74367d77ef734a056e16660ce5070edfbc3b3/packages/vite/src/node/ssr/ssrFetchModule.ts#L35

createImportMetaEnvProxy accesses top-level process variable without typeof process !== 'undefined' guard. I had to rewrite that to run the runtime on workerd.

https://github.com/sapphi-red/vite-envs/blob/9e47653f4cdd557d263fd315d22ccf76d78aa638/packages/cloudflare-pages/tsup.client.config.ts#L13-L20

import.meta.filename/import.meta.dirname is not available on workerd. I want to disable these.

https://github.com/vitejs/vite/blob/3ba74367d77ef734a056e16660ce5070edfbc3b3/packages/vite/src/node/ssr/runtime/runtime.ts#L251-L265

I want HMRConnection type to be exported.

https://github.com/sapphi-red/vite-envs/blob/9e47653f4cdd557d263fd315d22ccf76d78aa638/packages/cloudflare-pages/src/client/index.ts#L55
https://github.com/sapphi-red/vite-envs/blob/9e47653f4cdd557d263fd315d22ccf76d78aa638/packages/cloudflare-pages/src/client/index.ts#L14-L15

Question: Why does hmr.connection.onUpdate need to be called separately? Is it possible to call it inside the ViteRuntime class constructor?

Things related to HMRChannel

I wonder if the listener management should be done inside Vite. Currently each HMRChannel has to construct listener map (Map<string, Listener>). I think constructing the listener map inside Vite and making each channel to call server.hot.emit(event, payload) can make each HMRChannel simple.
I feel this payload normalization should be handled inside Vite rather than implementing it in every HMRChannel.

https://github.com/vitejs/vite/blob/639bbd65c0f7be6ad5d5d4fbe57bc15e778b7bea/packages/vite/src/node/server/ws.ts#L252-L261

executeUrl and executeEntrypoint are documented as those accepts file path. But if I pass abolute Windows paths (e.g. C:/Users/green/foo.js), it failed to resolve (ERR_MODULE_NOT_FOUND error). Is this a bug? or should I pass a file URL instead?

Ideally you would pass down a url like in the browser (so, relative to root, but starts with / because it's a server url) (otherwise HMR might not work correctly). I did have a TODO there to check if we need to process the URL, but since ssrLoadModule didn't have one, I just removed it. I'll add a test to verify how we can proceed.

createImportMetaEnvProxy accesses top-level process variable without typeof process !== 'undefined' guard. I had to rewrite that to run the runtime on workerd.

That's a bug, thanks for noticing.

import.meta.filename/import.meta.dirname is not available on workerd. I want to disable these

You can manipulate the object however you like, just delete them if you don't rely on it, or use your own meta object.

Question: Why does hmr.connection.onUpdate need to be called separately? Is it possible to call it inside the ViteRuntime class constructor?

Because you might need to process HMR differently (restart the process for full-reload for example). Also, this is not a part of the connection API, it's just how I resolved HMR update for the server connection, you don't have to follow the pattern. If you think it should be part of the API, we can figure out a way to do that.

I wonder if the listener management should be done inside Vite. Currently each HMRChannel has to construct listener map (Map<string, Listener>). I think constructing the listener map inside Vite and making each channel to call server.hot.emit(event, payload) can make each HMRChannel simple.

I don't understand this proposal. Channels are free to implement their own listeners however they please (use MessageChannel for this instead of a map, for example), I don't think we should control that in any way - if there is a bit of repetition on the library part that's fine by me - it's better than patching Vite by the same library because we are too restrictive.

I feel this payload normalization should be handled inside Vite rather than implementing it in every HMRChannel

Do you propose normalizing it in broadcaster?

You can just pass down a server from configureServer(server) hook

Ah, of course — makes sense.
I tried replacing all the ssrLoadModule calls in SvelteKit with runtime.executeEntrypoint and it failed because one of the entry points is a virtual module. This works...
const { set_assets } = await vite.ssrLoadModule('__sveltekit/paths');

...but this doesn't:
const { set_assets } = await runtime.executeEntrypoint('__sveltekit/paths');

The contents of that virtual module come from our load plugin hook. Is this expected to work? What am I doing wrong?

...but this doesn't:

The new API doesn't make a difference between modules loaded with import calls or executeEntrypoint - so it's expected that executeEntrypoint receives URL in the same format. Virtual modules are loaded with /@id/ prefix - I think adding it in your case should be enough as a workaround. In your case it gets externalized (the reason is the same that @sapphi-red had in the previous comment with the Windows URL), and so the error is thrown since there is no such package.
This just proves that it should always just be processed by Vite 🤔 I will try to make it happen so executeEntrypoint is always loaded with Vite runtime no matter what in the next revision

This just proves that it should always just be processed by Vite 🤔 I will try to make it happen so executeEntrypoint is always loaded with Vite runtime no matter what in the next revision

Should be fixed in the latest commit

Yep, that works now! Am running into some FOUC though. During dev-time SSR, SvelteKit finds all the CSS dependencies of the imported modules. That includes .css files, but it also includes things like this:
/src/routes/Header.svelte?svelte&type=style&lang.css

Loading that with ssrLoadModule results in the CSS content of the component, as extracted by vite-plugin-svelte. But with executeEntrypoint it returns a JavaScript module instead. Is that expected?
One other thing — my ssrLoadModule calls take a { fixStacktrace: true } options argument, which executeEntrypoint doesn't take. Is there anything we need to be aware of around sourcemaps?

Loading that with ssrLoadModule results in the CSS content of the component, as extracted by vite-plugin-svelte. But with executeEntrypoint it returns a JavaScript module instead. Is that expected?

Looks like a cache bug on our side, it should work exactly the same as it did before.

One other thing — my ssrLoadModule calls take a { fixStacktrace: true } options argument, which executeEntrypoint doesn't take. Is there anything we need to be aware of around sourcemaps?

I am not familiar with the history of this feature. I don't really understand why only caught errors are rewritten. I would expect source maps to just apply to every stack trace (custom new Error/console.trace and so on) - that's how it works in vite-node, would this be a desired feature? It uses Error.prepareStackTrace API, so it might not be supported everywhere.

A few updates on this PR:

onUpdate in the HMR connection is now required and you don't need to call it yourself
Fixed an issue with caching when the query was mistakenly cleared before the cache entry was created as reported by @Rich-Harris
Exported more types as @sapphi-red suggested
runViteModule now receives id as @sapphi-red suggested
Fixed an issue when process didn't have a type guard

Things I would like to discuss:

Source maps are currently not working. We will support them, but I am interested in your feedback about how. Vite SSR has ssrFixStacktrace which fixes stack traces in thrown errors but doesn't do anything with stack traces in console.log or new Error().stack - do we want to support this use case? It is supported in Vite Node.
Should processImport be exposed as part of the runner API? Should it be required? Maybe it should be a separate option instead? I don't like processImport on the runner because it seemingly has nothing in common with the way files are executed which is represented by the ViteRunner class, so it seems a bit off

Source maps are currently not working. ... Vite SSR has ssrFixStacktrace which fixes stack traces in thrown errors but doesn't do anything with stack traces in console.log or new Error().stack

As far as I know, frameworks have been responsible for manually applying ssrFixStacktrace when they need to surface Error.stack back to users and I think this has been working fine (though it might not be as robust as vite-node's approach). For example, Remix automatically applies ssrFixStacktrace during their handleError hook https://github.com/remix-run/remix/pull/8066 (btw, I think I did this by mirroring the way ssrFixStacktrace is used on sveltekit).
I tested manual ssrFixStacktrace approach with ViteRuntime.executeEntrypoint and it looks working like before, so I suppose this won't be an issue for frameworks in terms of ViteDevServer.ssrLoadModule compatibility https://github.com/hi-ogawa/repro-vite-ssr-error-stack
(Side note: on my experiment with Workerd, ssrFixStacktrace is somehow not working while vite-node/client's stacktrace was working previously. I suspect this is because of my mis-usage of Workerd unsafe eval or something, so I'm investigating this further.)

This is likely an expected behavior, but I'm wondering what's currently expected to happen when "web" transform injects import.meta.hot but "ssr" transform didn't have import.meta.hot.
I'm now testing standard-ish react ssr app (based on @vitejs/plugin-react) where ssrLoadModule is replaced with executeEntrypoint. I made a simple version here and wrote some notes in readme https://github.com/hi-ogawa/repro-vite-runtime-ssr-react/
As far as I understand, import.meta.hot is injected only on "web" code and client HMR is working like before, but "ssr" module doesn't update with the current @vitejs/plugin-react plugin (and also no ssr "full reload" either), so it leads to hydration mismatch after edit + reload.
I tried quick-and-dirty HMR for SSR https://github.com/hi-ogawa/repro-vite-runtime-ssr-react/pull/1 which just replaces all exports with the latest module's exports when import.meta.env.SSR && import.meta.hot. Probably it wouldn't be that simple in real scenario, but this trick seems okay to mitigate this specific hydration error.
So, my question is: is it expected for ui framework plugin to do some transform for "ssr" mode as well as "web"? or is there something vite runtime can do when import.meta.hot only exists in "web" mode but not in "ssr" mode?

You can manipulate the object however you like, just delete them if you don't rely on it, or use your own meta object.

Ah, that's true.

Because you might need to process HMR differently (restart the process for full-reload for example). Also, this is not a part of the connection API, it's just how I resolved HMR update for the server connection, you don't have to follow the pattern. If you think it should be part of the API, we can figure out a way to do that.

onUpdate in the HMR connection is now required and you don't need to call it yourself

I see. If one want to process HMR differently, I feel passing HMRHandler to ViteRuntime intuitive.

I don't understand this proposal. Channels are free to implement their own listeners however they please (use MessageChannel for this instead of a map, for example), I don't think we should control that in any way - if there is a bit of repetition on the library part that's fine by me - it's better than patching Vite by the same library because we are too restrictive.

On second thought, you're right. This is a irreducible code.

Do you propose normalizing it in broadcaster?

I was thinking of that. But it turns out that this normalization is also done in WebSocketClient and ServerHMRBroadcasterClient, and is not possible to handle the normalization of those by doing it in the broadcaster. I think it'd be nice to hide this complexity inside Vite instead of letting libraries to do this normalization. That said, I'm not sure how we can implement that.

I am not sure why you even use it in your examples if you don't process it. This is an optional API - I am still not sure if we should expose it, see: https://github.com/vitejs/vite/pull/12165#discussion_r1458837126

Actually I said this because I thought it's part of the public API. (I'll write some comment on that thread.)

Source maps are currently not working. We will support them, but I am interested in your feedback about how. Vite SSR has ssrFixStacktrace which fixes stack traces in thrown errors but doesn't do anything with stack traces in console.log or new Error().stack - do we want to support this use case? It is supported in Vite Node.

There's two ways to make sourcemaps work in Vite:

use ssrFixStacktrace: only supports thrown errors.
use --enable-sourcemaps (#11780): requires --enable-source-maps and Node ^16.17.0, >=18.6.0

Also the way vite-node uses:

use Error.prepareStackTrace

I think going with 3 is good for now. When we bump the required Node version, I think we can consider defaulting to 2.
Runtimes that doesn't support loading sourcemaps automatically has to do something similar to 3 in the library side. It might be possible to provide a helper for those libraries.

2. use --enable-sourcemaps (fix(ssr): load sourcemaps alongside modules #11780): requires --enable-source-maps and Node ^16.17.0, >=18.6.0

This should also already work with the current implementation.

When we bump the required Node version, I think we can consider defaulting to 2.

I am not sure how this is related, it will always require the flag no matter the version as far as I know (because it's quite slow). With Error.prepareStackTrace we can just always provide it. Also Error.prepareStackTrace is not called in Node if --enable-source-maps is used, which is a nice failsafe mechanism (allows us to use both approaches at the same time).

I am not sure how this is related, it will always require the flag no matter the version as far as I know (because it's quite slow). With Error.prepareStackTrace we can just always provide it. Also Error.prepareStackTrace is not called in Node if --enable-source-maps is used, which is a nice failsafe mechanism (allows us to use both approaches at the same time).

If --enable-sourcemaps is available in all versions we support, I think we can remove 3 and call process.setSourceMapsEnabled based on an option or tell users to set the flag. Then, we can reduce the code we own.

If --enable-sourcemaps is available in all versions we support, I think we can remove 3 and call process.setSourceMapsEnabled based on an option or tell users to set the flag.

I would only work for Node though 🤔

What about this option?
{
  // node calls "process.setSourceMapsEnabled" - throws an error if not available
  sourcemapInterceptor: false | 'node' | 'prepareStackTrace'
}

The default is node is the API is supported, and prepareStackTrace if not.

That option looks good to me.

The question is should we support source map in externalized packages? If not, then the implementation will be very short.

If we didn't support externalized packages, is it possible for users to use source-map-support package together and let that support for the externalized packages?

If we didn't support externalized packages, is it possible for users to use source-map-support package together and let that support for the externalized packages?

vite-node uses a simplified source-map-support package - to support external packages we would need to expose retrieveFile option (since we can't use fs.readFile). Just using source-map-support will override our own implementation but it would still work because we still provide correct source maps.

Source maps are supported in the latest comment now via sourcemapInterceptor option (node value is not correct yet, I am looking into it). By default, it uses prepareStackTrace with a custom retrieveFile method.

/ecosystem-ci run

I was able to implement sourcemap support on workerd 😄 (https://github.com/sapphi-red/vite-envs/commit/1ca101cbe14a4bd4dd218dcf6c374d2eff5e44ff)
Could we add an option to change this offset? workerd doesn't have this offset and I'm currently prepending two empty lines as a workaround.
https://github.com/vitejs/vite/blob/a6fd97b0552c8082e959fc53dd18f51992e988f0/packages/vite/src/node/ssr/ssrFetchModule.ts#L146

Awesome! Thanks for the sourcemap support and also the hint about "two empty lines". I still have no idea how it's working, but I can confirm that adding two empty lines fixes the issue and now it gives the same error stack as before with vite-node's installSourcemapsSupport.
Regarding current ssrFixStacktrace, I think this is going to fail when the stack is already fixed with vite runtime. It look like this is already the case with --enable-source-maps and ssrLoadModule. I updated an example to check this https://github.com/hi-ogawa/repro-vite-ssr-error-stack. I suppose frameworks would simply remove ssrFixStacktrace if they switch to vite runtime.

Awesome! Thanks for the sourcemap support and also the hint about "two empty lines". I still have no idea how it's working, but I can confirm that adding two empty lines fixes the issue and now it gives the same error stack as before with vite-node's installSourcemapsSupport.

You can now use fetchModule imported from vite entrypoint as a replacement for server.ssrFetchModule. For now, the only difference is that the source map doesn't assume how the code is running, so it doesn't add two lines in mappings. You can provide additional options to process source maps before returning it to your runtime.

FYI @yusukebe in case you didn't see it already: this PR is ready and the Vite team is looking for feedback before merging. As the Hono author, you may have a lot of valuable feedback 👀
(I will myself look at it this week, at latest on Sunday. I've started checking it out, it all looks very exciting.)

Hi!
I have been playing with this PR for a while, which is interesting. I used the PoC implementation given to me by @sapphi-red as a reference.
https://github.com/sapphi-red/vite-envs/tree/use-vite-runtime
I like that it can evaluate an application on the runtime, such as "The Edge Runtime", "worked", or others as a runner. This will be a great feature that integrates a lot of frameworks and some non-Node.js runtimes.
I don't have any suggestions for fixes, etc. Thanks for the great work!

I used the PoC implementation given to me by @sapphi-red as a reference.
https://github.com/sapphi-red/vite-envs/tree/use-vite-runtime

Same here: reading these real-world integrations are super insightful. It's very exciting to see a demo of edge servers while leveraging Vite's dev server. It's amazing really.
Using RPC for bridging between the vite/edge servers makes a lot of sense. Also that RPC is done in user land (and that the user can use any other means of interaction) seems like a sound and future-proof foundation to build upon. Everything feels right.
I've only one concern: the API surface is quite large (which I guess is a necessary evil). So I was thinking that maybe this API could be marked as "ecosystem API": in other words, the docs would say something like the following.

This API is meant for library and framework authors. As a Vite user, you can also use this API but keep in mind that this API is a moving target and breaking changes are expected to be introduced in any minor/patch release. (Libraries and frameworks are guaranteed to not break thanks to Vite's ecosystem CI.)

Anwyays, I don't know how stable you foresee the API to be and maybe this isn't needed.
This is all very exciting.

What's HMR?

@jefersoneiji this isn't the place to ask that question. Only reviews about the PR are on-topic here.

/ecosystem-ci run

I'm also confused about what the ViteRuntime means here. Will the runtime code be always processed by Vite (and its plugins)? It looks like you could entirely avoid Vite if you wanted to, some of the API exposed (like requestStub) seems to imply that. But I'm not sure then if it's actually a Vite runtime.

I think there was a discussion about the name in Discord. requestStub is a leftover, we should probably remove it. Technically if you really want to, you can avoid relying on Vite SSR transform by providing a separate runner that doesn't use __vite_ssr_import__, but I'd say this is out of our scope.

Made some comments below about marking the exported APIs with the @experimental jsdoc.

Totally agree 👍🏻

I think we can get away marking all the APIs in vite/runtime as experimental if we mention that vite/runtime is experimental entirely instead.

We mention in the documentation that it is an experimental API: https://github.com/vitejs/vite/pull/12165/files#diff-b9b4fba55b51e1129c00cb2309528aa9ea13f7a85f27c0fd4f185ad7326586c7R4

/ecosystem-ci run


Morning Session isuue 2

Awesome project but there are some issues:
1 - Fix the button of the navbar
2 - My turn section should be duplicated and use d-none
3 - The debate article label is breaking the line

Thanks for raising the issue.
We have fixed the issue of the navbar button
We duplicated the "My Turn section"
The debate is also fixed.


Tag field seems to be deprecated in the example

Hi,
Just a small remark about the example, it seems the field tag has been deprecated in favor of field registry. This is what I got when I did a porter build:
WARNING: the tag field has been deprecated; please replace with a value for the registry field on the Porter manifest instead

The line is here: https://github.com/getporter/docker-compose-mixin/blob/main/examples/compose/porter.yaml#L13

Thanks for the issue!  I've issued a PR to address this: https://github.com/getporter/docker-compose-mixin/pull/19

Thanks :+1:


Removed a needless APP_MIGRATE_COMMAND

US-90. Graphql -app does not have any on-deploy.sh script and the 1 added in the sources is needless. This PR removes the APP_MIGRATE_COMMAND argument from deployment scripts.

Codecov Report

Merging #73 (ae544f9) into main (da22e0a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #73   +/-   ##
=======================================
  Coverage   59.36%   59.36%
=======================================
  Files          23       23
  Lines         790      790
  Branches      113      113
=======================================
  Hits          469      469
  Misses        316      316
  Partials        5        5

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 da22e0a...ae544f9. Read the comment docs.


Implement Spot Scoring

Found the bug. Reimplementation was successful. Verified local results vs production results, so closing as I consider this finished.

Visibility of results will take a remigration (the bug was with spot scoring calculation wrt cp_hidden_period), so will appear later.


aws_iam_service_linked_role.es doesn't work more than once

I've already got the linked role done, and furthermore... I want to use this module twice. Can we make this module 'understand' that the linked role has already been done ?
Error: Error applying plan:
2 error(s) occurred:

aws_iam_service_linked_role.es: 1 error(s) occurred:

aws_iam_service_linked_role.es: Error creating service-linked role with name es.amazonaws.com: InvalidInput: Custom suffix is not allowed for es.amazonaws.com
status code: 400, request id: 0f81683e-4024-11e9-a6db-c562a0c3ba05

module.es2.aws_iam_service_linked_role.es: 1 error(s) occurred:

aws_iam_service_linked_role.es: Error creating service-linked role with name es.amazonaws.com: InvalidInput: Service role name AWSServiceRoleForAmazonElasticsearchService has been taken in this account, please try a different suffix.
status code: 400, request id: 0f82525c-4024-11e9-8849-4b98e6ba2d71

Thank you for opening this issue.
I've just fixed it by allowing conditional creation of IAM service linked role in v0.8.0 which has been just released.
To use it you need to specify create_iam_service_linked_role = false as an argument in es2 module block.


[Feature][JsonSplit-api] checkProcessNode of processDefinition

#5498

Codecov Report

:exclamation: No coverage uploaded for pull request base (json_split_two@316b919). Click here to learn what that means.
The diff coverage is n/a.

@@                Coverage Diff                @@
##             json_split_two    #5946   +/-   ##
=================================================
  Coverage                  ?   46.27%
  Complexity                ?     3676
=================================================
  Files                     ?      605
  Lines                     ?    24634
  Branches                  ?     2802
=================================================
  Hits                      ?    11400
  Misses                    ?    12116
  Partials                  ?     1118

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 316b919...eab104e. Read the comment docs.


bump library version dep for crystal

when attempting to run these on my own with the most recent version of
crystal, I found it would not compile. thus, I simply bumped to the most
recent version of the library so that things would compile fine in order
to replicate the tests.

Thank you!


[FEATURE]: Docker Setup

What problem does it solve
I figured it would help people setup self-hosted version easier :)
What is the solution
Dockerize!
Existing alternatives
🤷🏻♂
Added value
Just makes it easier to setup a docker container for self-hosting
Additional notes
Sorry for this lackluster request, I don't really know what else to add

The .NET rewrite seems to have removed the docker setup guide
It's available in this previous commit:
https://github.com/helldivers-2/api/tree/ffea9d9f9e7d5acfea3fc8aa814f4340bb48b273

It'll probably be something along the lines of
# clone the repository (including submodules for static data)
git clone --recurse-submodules https://github.com/helldivers-2/api
# enter the newly cloned directory
cd api
# build the docker image
docker build -f ./src/Helldivers-2-API/Dockerfile -t helldivers2:latest .

That should work for building, but I haven't figured out (yet), which URL the new endpoints are under.

Should be something along the lines of:
# clone Git repo (including subrepos)
git clone --recurse-submodules https://github.com/helldivers-2/api
# enter newly cloned directory
cd api
# build docker image
docker build -f ./src/Helldivers-2-API/Dockerfile -t helldivers2-api .
# run image
docker run -p 8080:8080 helldivers2-api

Swagger UI is then accessible under http://localhost:4000/swagger-ui.html.
E.g. current war status under http://localhost:4000/api/v1/war.

the steps provided above are basically how to get the API going.
We're setting up more 'advanced' documentation such as Docker etc in #52 so once that's merged we can get this issue started!

@Stonemercy I added documentation for running containers in d467716
could you get back to me if there's more details you require added?

@Stonemercy I added documentation for running containers in d467716 could you get back to me if there's more details you require added?

Looks great!


docker: Remove out of support fedora and alpine dockerfiles

[x] commit message has one of the standard prefixes
[ ] faq.md updated if appropriate
[ ] other documentation is changed or added (if applicable)
[ ] playbook changes run through VPC or QPC (if you have access)
[x] VPC/QPC not applicable for this PR
[ ] for inventory.yml changes, bastillion/nagios/jenkins updated accordingly

fedora 33 and 34 are out of support https://docs.fedoraproject.org/en-US/releases/eol/
Alpine 312, 313 and 314 are out of support https://endoflife.date/alpine
The running containers will be replaced without the latest versions of both OSs, alpine 319 and fedora39

The dockerstatic checker workflow will fail for the removed OSs

The dockerstatic checker workflow will fail for the removed OSs

Surely they should be removed from https://github.com/adoptium/infrastructure/blob/master/.github/workflows/check_dockerstatic.yml in this PR too?

I was saving it for another pr but yeah it makes sense to do it here

Should old Ubuntu versions also go?

I believe the out of date ubuntu distros are being discussed here https://github.com/adoptium/infrastructure/issues/3393. The'r removal can be saved for another pr

Should old Ubuntu versions also go?

I believe the out of date ubuntu distros are being discussed here #3393. Their removal can be saved for another pr

That's more about defining a policy and setting appropriate process in place going forward. We should certainly look at removing any old Ubuntu containers that we have at Temurin.
While I could be convinced either way I think we should leave the LTS Dockerfiles in the repository as long as Temurin can still run on them, especially since even Ubuntu 16.04 still has extended support if customers wish to pay Canonical for it until 2026 so is still viable if a customer with a suitable contract wished to use these dockerfiles to run an AQA suite. That would not be the case for the Fedora/Alpine versions being targeted by this PR.


Test on Node.js v0.12.x, v4.x, and v5.x

Closing this, and will resubmit without the bitHound testing.
Will investigate why that automatically added the webhook here, I use bitHound but it shouldn't have automatically added this webhook!


[Bug]: Workspace with apps which were public still has production environment accessible to public

Is there an existing issue for this?

[X] I have searched the existing issues

Description
when only staging permission is provided to a role in a workspace which had a public app. the role is able to access both the environments. The public publicPermissionGroup id is associated with production environment policies.
Description from #33354
I'll start by saying I have been on a call yesterday with your team regarding an issue I had. My workspace got bugged and it had the default "App viewer" role configured, despite no application being public. We have fixed this issue by unassigning this role through mongoDB, but I am filing a bug report, because I believe that there is a serious issue with how the public App Viewer role works.
Because the default "App Viewer" role has access to every application in workspace, and these permissions are assigned to the workspace even if only 1 application in this workspace is public, then:
Any role that gives only staging access to this workspace environments, will also give users production access - this happens through the "App viewer" role.
If we have an environment with several applications, only one of which is shared, it makes no sense that the whole workspace will be treated as public and every application will be affected.
I have confirmed my theory and I have provided reproduction steps:
Steps To Reproduce

Create a workspace, and application
Make the app public
remove the public access from app
create a role which only has staging environment access and required app and workspace access
assign the role to a newly created user which doesn't have access to the workspace.
observe that the user could see production in drop down

Public Sample App
No response
Environment
Production
Severity
Medium (Frustrating UX)
Issue video log
No response
Version
1.21

@sondermanish Can you confirm if this is still relevant


Add support for interrupting child threads created by RunThreaded.

Addresses #916.
Pressing CTRL+C after resource-provisioning threads have been created
will now cause a KeyboardInterrupt to be raised in each child thread.

Move RunThreaded, RunParallelThreads, and RunParallelProcesses out of
vm_util.py into their own file.
Combine the bodies of RunParallelThreads and RunParallelProcesses
into a single _RunParallelTasks function that uses separate task
managers for each.
Raise KeyboardInterrupt explicitly in each child thread.

@ehankland PTAL

LGTM

GitHub has been a bit weird and unresponsive today. Merged manually (https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/commit/00d68725aa94edffabe4632c9547463bb6ddef7b), so closing this PR.