Minimum triangle surface area

Is it possible to implement alternative stopping criteria?
Now the library provides maxTriangles, but for example minimumArea would also be a useful criterion, in order to achieve more "uniform" subdivision.

I have played with this idea before, trying to ignore triangles with a certain area, or by side length. Choosing to smooth some triangles and not others. I haven't had much success in doing so without causing a huge mess. The averaging calculations expect their neighbors to be subdivided, and to share vertex locations. Missing triangles cause gaps, and the worst part is that ignoring them doesn't provide the results you would hope.
There are some other options. The issue you're bringing up (more "uniform" subdivision) has more to do with the starting state of the geometry's vertex positions. A geometry with faces that have more even triangle distribution yield much nicer results. This can be seen most clearly in the Shape example on this site. The example uses Three.js ExtrudeGeometry, which uses the earcut algorithm for polygon partitioning. The earcut algorithm does not concern itself with being optimal in terms of minimal edge length (this readme does a good job visualizing different partitioning algorithims). In other words, it puts huge triangles in the middle and lots of tiny triangles at the edges. The triangles at the edges end up with lots of shared vertices, which do not look good when being averaged (i.e. subdivided). It would be possible (and not too hard) to create a new ExtrudeGeometry using a more optimal algorithm, but that would only help in that particular use case.
I believe the ideal solution would be to pre-process the geometry and redistribute face triangles evenly before being subdivided. The whole geometry would have to be looped through to gather faces by checking for shared edges and calculating face directions (i.e. normals). Then a new polygon partitioning algorithm would be ran on each face, with perhaps an option for triangle density. I have planned to do this as a long term goal, but haven't gotten around to giving it a serious try yet.
In the mean time, there is another, simpler idea I have tried with some success. It involves scaling the averaging function based on how many triangles share a given vertex. I have added this feature to the library, and the example (the weight parameter). Try scaling it down from 1, it may provide some improvement on certain geometries / meshes / models.


Consider LinearRing as "closed"?

I didn't directly find a previous discussion about this, but currently the is_closed ufunc will always return False for LinearRings:
>>> ring = pygeos.linearrings(((0, 0), (0, 1), (1 ,1 ), (1, 0)))
>>> print(ring)
LINEARRING (0 0, 0 1, 1 1, 1 0, 0 0)
>>> pygeos.is_closed(ring)
False

This is following GEOS' behaviour where GEOSisClosed only works for LineStrings and not any other geometry (and thus also not LinearRings).
However, in Shapely, a LinearRing is also considered as "closed" (by simply hardcoded always True for a LinearRing):
>>> from shapely.geometry import LinearRing
>>> ring = LinearRing( ((0, 0), (0, 1), (1 ,1 ), (1, 0)))
>>> print(ring)
LINEARRING (0 0, 0 1, 1 1, 1 0, 0 0)
>>> ring.is_closed
True

PostGIS (https://postgis.net/docs/ST_IsClosed.html) seems to return True as well. It's not directly documented, but from a quick test (creating a polygon and extracting the exterior ring, as creating the LinearRing from WKT doesn't seem to be supported):
test_db=# SELECT ST_IsClosed(ST_ExteriorRing('POLYGON ((0 0, 0 1, 1 1, 1 0, 0 0))'::geometry));
 st_isclosed
-------------
 t
(1 row)

Although PostGIS also returns True for Polygon

Interesting that GEOS is limited to LineString / MultiLineString and rejects all other types, rather than also accepting LinearRings / Polygons / MultiPolygons and always returning true.
Since by definition LinearRings are always closed (or they cannot be constructed), we should probably always return True where type ID is 2,3,6.  For GeometryCollection, should this recurse and return True if True for all geometries within it, or just always return False as now (but note maybe in docstring that is the case and that operating on component geometries may return real result).
It looks like we are conflating what GEOSisClosed_r can be called with vs what is True by definition of types (i.e., you shouldn't need to call GEOS at all if not LineString / MultiLineString); handling this in GEOSisClosedAllTypes_r for the above types semes like the right thing to do.

There was some related discussion about this on the GEOS chat channel (https://matrix.to/#/!STHkqHfzeJCHESrcdy:matrix.org/$1611003451283059XDGhx:matrix.org?via=matrix.org&via=gitter.im&via=osgeo.org) about isRing and isSimple, which have similarly strange behaviour for rings

I think those are separate issues around validity (in the geometric sense), etc.  I haven't seen anything that lets us construct a LinearRing or a polygon with LinearRings that don't satisfy that condition (either closing coordinate is automatically added or an exception is raised).
The implementation just compares first and last coordinates, so I think we can sidestep any issues around simplicity, geometric validity, etc.  Though I'm not sure why casting a LinearRing to a LineString (in the C API) would create something that doesn't meet that condition.  But we aren't exercising that, we're never even calling the C API if not a LineString / MultiLineString.

It was mentioned in that thread that you can construct (with the GEOS C++ APIs, I suppose) a LinearRing that is not a valid LinearRing, but I suppose this is about the "is simple" constraint, and not about the "is closed" constraint (since that gets validated upon construction: https://github.com/libgeos/geos/blob/13abebc94abe7b269104e85ba57181bbc17911b8/src/geom/LinearRing.cpp#L56-L74)
In that case, yes, then for "is_closed" it's simpler and we can always assume a LinearRing to be closed.
The question is still if you want to return True for non-lineal geometries as well like polygons. Eg for "is_ring" in geopandas, we always returned True for Polygons, but decided to deprecate that (can of course still be re-considered)

I guess the question is whether or not is_closed should be semantically equivalent to is_ring: i.e., can a Polygon be considered "closed" but not a ring?  A polygon isn't a ring, it has a ring, but definitions of Polygons describe them as "closed" figures (e.g., a closed plane figure bounded by straight lines).


[REST_API] Incremental processing_steps

Feature description
Some APIs do not have incremental param but still return date fields.
Ex:
[
  {id: 4, created_at: "2024-01-01"},
  {id: 67, created_at, ""},
  ...
]

Right now, we can filter out already retrieved data by using processing_steps see example:
from dlt.sources.rest_api.typing import (
    ProcessingSteps,
)

def _filter(record):
        created_at = datetime.fromisoformat(job["created_at"])
        yesterday = datetime.now(timezone.utc) - timedelta(days=1)
        return created_at >= yesterday

    filter_step: ProcessingSteps = {
        "filter": _filter,
    }

However, I need to define manually that I don't want record older than 1 day. It would be nice to be able to have a "true" incremental loading here, same as what we can do with an incremental parameter
Are you a dlt user?
Yes, I run dlt in production.
Use case
I want to have an incremental loading for REST APIs where we can't pass an incremental parameter.
Example: Get a Job in CaptainData https://docs.captaindata.co/#c5aa0d04-240b-4205-b3bd-08d544d2b7a9
Proposed solution
No response
Related issues
No response

I had a chat on Slack with @paul-godhouse because his request was not clear to me.
He has an API which doesn't support the possibility to filter only the most recent records, hence it is not possible to create an incremental resource with dlt.
The second best thing would be a filter in the processing_steps to remove the old records, the value used should be, like for incremental loads parameters, the max value of a column already stored in the destination table.
I could imagine something like:
"processing_steps": [
  "incremental_filter": {
      "cursor_path": "updated_at",
      "initial_value": "2024-01-25T11:21:28Z",
  }
]

Where cursor_path is the name of the column name in the result and in the target column.
The incremental filter will query the target table to get the max value before the resource is extracted and then will build a filter like:
"filter": lambda x: x[cursor_path] > max_cursor_path_from_target


BUG : Improvement of grid of years in open source pages

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
The grid of years is not responsive
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@andoriyaprashant please assign this to me

@andoriyaprashant i have created a pull request please merge and close this issue

@andoriyaprashant please review and merge


Edit text link different on Chrome and Firefox

Firefox :

Chrome :

Seems like Chrome when continue typing at last or first char, So link does not continue.
PS: Im not sure, which is correct one :D

I'm currently away (back on the 27th) so I'm unable to test but my first thoughts are that this behaviour might be down to the way contenteditable behaviour is defined in each browser - I'll confirm this when I get back.
In the meantime does anyone have any thoughts on which is the correct behaviour and reasons for?

OK having tested myself the behaviour appears to be browser specific and occurs using contenteditable (e.g it's not specific to CT). In addition the behaviour only occurs when the cursor is positioned at the end of a block of text, if the cursor is placed at the end of a link within a text block (e.g surrounded by at least spaces on either side) then the behaviour is per the chrome example in both cases.
At this time I'm not going to attempt to resolve the behaviour between the browsers as it doesn't have a significant impact on a user's experience (e.g their ability to edit content) and the difference is in the way the browsers have decided to implement contenteditable (or possibly their selection behaviour).


Add AMP Support

https://wordpress.org/plugins/accelerated-mobile-pages/
*Don't forget posts created by Thrive Content Builder *

Amp support added but adsense revenue decreased


fix: Docker compose on Apple M1 Chip

fix error:
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries

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

@muharihar hi, plz fix:

@muharihar hi, plz fix:

@hsluoyz  Done, "fix:"

@muharihar plz fix both issues

Done at: https://github.com/casdoor/casdoor/commit/b424937ae46862f1eb97f331c46aeec7f61d0251


[@lit-labs/motion] Fix package.json's files section to include flip-controller.

Fixes #1796.

Verified that flip-controller is included when doing:

npm pack
npm i <path/to/packed-tar>


ld: library not found for -lSDL2main

when i run "lv_port_pc_eclipse" in eclipse IDE , have a error's
ld: library not found for -lSDL2main
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [lv_port_pc_eclipse] Error 1
"make all" terminated with exit code 2. Build might be incomplete.
14:34:00 Build Failed. 2 errors, 0 warnings. (took 898ms)

Have you installed SDL as described in the README?

@kisvegabor
Yes of course！

I see that you or Mac. Sorry, by literally don't know anything on developing on Mac :slightly_frowning_face:
I suggest asking around the Forum. And - as it doesn't seem like an LVGL specific issue - general Googling might help too.


Incorrect "has_fortran" and "has-c++4" reporting

If I run nc-config --all, I get the following (editted) output:
s1041980:build()> ../bin/nc-config --all

This netCDF 4.8.2-development has been built with the following features:

  --cc            -> /opt/local/bin/gcc
  --cflags        -> -I/Users/gdsjaar/src/seacas/include
  --libs          -> -L/Users/gdsjaar/src/seacas/lib -lnetcdf
  --static        -> -lhdf5_hl-shared -lhdf5-shared -lm -lz -lzstd -lbz2 -lsz -lcurl -lxml2

  --has-c++       -> no
  --cxx           ->

  --has-c++4      -> yes
  --cxx4          -> clang++
  --cxx4flags     -> -I/usr/local/Cellar/netcdf/4.8.1_2/include
  --cxx4libs      -> -L/usr/local/Cellar/netcdf/4.8.1_2/lib -lnetcdf-cxx4 -lnetcdf

  --has-fortran   -> yes
  --fc            -> /usr/local/bin/gfortran
  --fflags        -> -I/usr/local/Cellar/netcdf/4.8.1_2/include -I/usr/local/Cellar/netcdf/4.8.1_2/include
  --flibs         -> -L/usr/local/Cellar/netcdf/4.8.1_2/lib -lnetcdff -lnetcdf
  --has-f90       -> TRUE
  --has-f03       -> yes

Note that this indicates that has-fortran is true, but points to a fortran netcdff that is in a different location than my local install.   If I look at how nc-config is determining this, it simply searches to see if there is a nf-config in my path somewhere.
I don't think that this is correct behavior since the versions of the libraries don't match and the -flibs setting would result in the application linking with a different libnetcdf (C API) then the local one that this nc-config is giving details for.
Maybe the correct behavior is to search for a nf-config that is in the same path as the nc-config?  I'm not sure of the correct behavior, but this output was confusing to me since I intentionally disable fortran when I am building netcdf-c.
The C++ / C++4 reporting is also confusing since they are also picking up a ncxx-config and ncxx4-config anywhere in the path and the resulting library they find may be different versions than what I am building locally.

Since netcdf-fortran is installed separately, I don't know how nc-config can be expected to know what settings to use for Fortran.
Similarly, I don't see how nc-config can know anything about the netcdf-cxx library or where it might be installed.
Should these values even be in nc-config?

Agree. I was surprised to see them in the output.

Historical note. The current c++ implementation was not the first. There was an older version.
So perhaps this comes from that version support.

OK, I see what is going on here. In nc-config.in we have:
if [ -f "$nfconf" ]; then
  has_fortran="yes"
  fc=`nf-config --fc`
  fflags=`nf-config --fflags`
  flibs=`nf-config --flibs`
  has_f90=`nf-config --has-f90`
  has_f03=`nf-config --has-f03`
fi

So if you have nf-config in your path, you will get the correct answers.
I think this is fine the way that it is. @gsjaardema I suggest you close this issue.

I disagree that you will get the "correct" answers.  Please read the description in the original report of how I think you get "incorrect" results.

OK, fair point. Perhaps removing them would be the best approach, and let the user find the nf-config that he or she wants to use...

I've been thinking about this, and it occurs to me that removing it is probably the most straightforward way to go.


How to remove hints?

How can i remove hints like method or var unused when they are annotated with some annotation?

Just for clarification are you talking about SuppressWarnings annotations, right?

Just for clarification are you talking about SuppressWarnings annotations, right?

No. I'm talking about some type of configuration.

There's a configuration for jdk.hints.preferences, you can provide path for the hints preferences xml file exported from  NetBeans.

Closing this due to inactivity. Feel free to re-open this issue, if you still have some clarifications.


Stop sending logs to syslog through systemd

Fix #391

This is useful in all case:

When you use consul for log management (consul_syslog_enable: false) => consul will generates logs in his log folder. You don't want to have information twice: in /var/log/daemon.log and in consul_log_path
When you use syslog for log management (consul_syslog_enable: false) => consul will use syslog to generate logs. You don't want to have information twice: in /var/log/daemon.log and in consul_log_path

@smutel Thanks for helping me understand.  merged


qr code scan time out

`package main
import (
"encoding/gob"
"fmt"
"os"
"time"
"html/template"
"net/http"
"github.com/Rhymen/go-whatsapp"
)
type ContactDetails struct {
Phone   string
Message string
}
var status bool
var qrcode string
func main() {
//create new WhatsApp connection
tmpl := template.Must(template.ParseFiles("forms.html"))
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
	if r.Method != http.MethodPost {
		tmpl.Execute(w, nil)
		return
	}

	details := ContactDetails{
		Phone:   r.FormValue("phone"),
		Message: r.FormValue("message"),
	}

	watsapp(details.Phone,details.Message,w,r)

	if status == true{
		tmplqr := template.Must(template.ParseFiles("qr.html"))

		http.Redirect(w,r,"http://localhost:8080/qr/",http.StatusFound)

		http.HandleFunc("/qr/", func(w http.ResponseWriter, r *http.Request) {
			tmplqr.Execute(w, qrcode)

		})
	}
})

http.ListenAndServe(":8080", nil)

}
func watsapp(Phone string, Message string, w http.ResponseWriter, r *http.Request) {
tmpl := template.Must(template.ParseFiles("forms.html"))
wac, err := whatsapp.NewConn(60 * time.Second)
if err != nil {
fmt.Fprintf(os.Stderr, "error creating connection: %v\n", err)
return
}
err = login(wac,w,r)
if err != nil {
	fmt.Fprintf(os.Stderr, "error logging in: %v\n", err)
	return
}

<-time.After(60 * time.Second)

msg := whatsapp.TextMessage{
	Info: whatsapp.MessageInfo{
		RemoteJid: Phone +<EMAIL_ADDRESS>	},
	Text: Message,
}

err = wac.Send(msg)
if err != nil {
	fmt.Fprintf(os.Stderr, "error sending message: %v", err)
}else{
	tmpl.Execute(w, struct{ Success bool }{true})
}

}
func login(wac *whatsapp.Conn, w http.ResponseWriter, r *http.Request) error {
//load saved session
tmpl := template.Must(template.ParseFiles("forms.html"))
session, err := readSession()
if err == nil {
//restore session
session, err = wac.RestoreWithSession(session)
if err != nil {
return fmt.Errorf("restoring failed: %v\n", err)
}
} else {
//no saved session -> regular login
qr := make(chan string)
go func() {
status = true
qrcode = <-qr
}()
session, err = wac.Login(qr)
if err != nil {
return fmt.Errorf("error during login: %v\n", err)
}else{
tmpl.Execute(w, struct{ Success bool }{true})
}
}
//save session
err = writeSession(session)
if err != nil {
	return fmt.Errorf("error saving session: %v\n", err)
}
return nil

}
func readSession() (whatsapp.Session, error) {
session := whatsapp.Session{}
file, err := os.Open(os.TempDir() + "/whatsappSession.gob")
if err != nil {
return session, err
}
defer file.Close()
decoder := gob.NewDecoder(file)
err = decoder.Decode(&session)
if err != nil {
return session, err
}
return session, nil
}
func writeSession(session whatsapp.Session) error {
file, err := os.Create(os.TempDir() + "/whatsappSession.gob")
if err != nil {
return err
}
defer file.Close()
encoder := gob.NewEncoder(file)
err = encoder.Encode(session)
if err != nil {
return err
}
return nil
}`
Hi I'm new to go lang. I have been trying out this awesome library. What I'm trying to do is show
the qr code on a webpage.
The problem is it always shows error logging in: error during login: qr code scan timed out
immediately after showing the qr code irregardless of the time out that is set
However the code work perfectly when using qrCodeTerminal.
As I said I'm new to go lang. I would appreciate your help.

create a new method in qrcodeTerminal.go in the package and insert these below the Get method
func (v *qrcodeTerminal) GetContent(content interface{}) (string, error) {
	var qr *qrcode.QRCode
	var err error
	if t, ok := content.(string); ok {
		qr, err = qrcode.New(t, qrcode.RecoveryLevel(v.level))
	} else if t, ok := content.([]byte); ok {
		qr, err = qrcode.New(string(t), qrcode.RecoveryLevel(v.level))
	}
	if qr != nil && err == nil {
		qrCodeString, _ := json.Marshal(qr)
		return string(qrCodeString), nil
	}

	return "", err
}

using that code you'll be able to get the qr code details and you can such packages on your front-end side such as react-qr-reader to generate the qr code in your web page
the next thing to do is the service where you'll use that method
utils.Cprint.InfoLn("Requesting QR Code")
wac, err := whatsapp.NewConn(5 * time.Second) // we need a new wac in order for us to request a qr code to whatsapp

if err != nil {
	// If code gets here meaning it fails then you have to send a response to front-end to request another one
	utils.Cprint.ErrorLn("Error connecting to whatsapp: %v", err)
}

qrCodeString := make(chan string)
go func() {
	// initialize the qrcodeTerminal which will be the one responsible on generating the qr details
	terminal := qrcodeTerminal.New()

	// after that this is where you will use that code that we inserted in qrcodeTerminal.go
	// qrCodeContent is a string by the way
	qrCodeContent, _ := terminal.GetContent(<-qrCodeString)
}()

PS: I just posted a fragment of my code which will solve your problem.

Another thing. everytime your qr code timed out or expired your front-end should just request a new one. the requester should always be your front-end and not the other way around.

Thank you highness28. I am currently working on what you have told me.

Another thing. everytime your qr code timed out or expired your front-end should just request a new one. the requester should always be your front-end and not the other way around.

Can you make a example of an re-generate qrcode?

Another thing. everytime your qr code timed out or expired your front-end should just request a new one. the requester should always be your front-end and not the other way around.

Can you make a example of an re-generate qrcode?

The response was actually from a channel but the QR is not so I have to device a solution to send the QR string to the front-end side. I created a GRPC request wherein it returns the QR string while the response (timeout/token expiration/qr expiration because whatsapp qr code only last for 15 seconds) is coming from a queue service (RabbitMQ) then is consumed by another service to be send to front-end.
there is actually no re-generate qrcode. there is just generate qr code function. the front-end is the one requesting another qrcode when RabbitMQ sends the response timeout or token expired.

create a new method in qrcodeTerminal.go in the package and insert these below the Get method
func (v *qrcodeTerminal) GetContent(content interface{}) (string, error) {
	var qr *qrcode.QRCode
	var err error
	if t, ok := content.(string); ok {
		qr, err = qrcode.New(t, qrcode.RecoveryLevel(v.level))
	} else if t, ok := content.([]byte); ok {
		qr, err = qrcode.New(string(t), qrcode.RecoveryLevel(v.level))
	}
	if qr != nil && err == nil {
		qrCodeString, _ := json.Marshal(qr)
		return string(qrCodeString), nil
	}

	return "", err
}

using that code you'll be able to get the qr code details and you can such packages on your front-end side such as react-qr-reader to generate the qr code in your web page
the next thing to do is the service where you'll use that method
utils.Cprint.InfoLn("Requesting QR Code")
wac, err := whatsapp.NewConn(5 * time.Second) // we need a new wac in order for us to request a qr code to whatsapp

if err != nil {
	// If code gets here meaning it fails then you have to send a response to front-end to request another one
	utils.Cprint.ErrorLn("Error connecting to whatsapp: %v", err)
}

qrCodeString := make(chan string)
go func() {
	// initialize the qrcodeTerminal which will be the one responsible on generating the qr details
	terminal := qrcodeTerminal.New()

	// after that this is where you will use that code that we inserted in qrcodeTerminal.go
	// qrCodeContent is a string by the way
	qrCodeContent, _ := terminal.GetContent(<-qrCodeString)
}()

PS: I just posted a fragment of my code which will solve your problem.

How to use qrCodeContent in html


map image position change

I have used this lib & loved it.
Its working great but only one problem i am facing, When i convert my html to canvas  it converts but
map showing as half & map image shifted lo little right. Please check in map1.png

On my html page when i zoom it & converted to html2canvas then again one problem  occurred.
Please check map2.png

Same issue occurred...
my map is reference of ArcGIS API, but can't transfer to canvas correctly...
It always offsets right or left after i move or zoom my map, only works when the map first time loads.

@404157386
I had the same issue again, can you tell me which version solved this problem?


Debug jan_min_max_mean temp ingest with missing style

The ingest recipe for jan_min_max_mean_temp has four style hooks, three of which were executed successfully when ingesting to Zeus. temp_midcentury_january_min did not wind up on Zeus for some reason (though was later added manually) even though it is indeed in the ingest recipe. Find out why by testing on Apollo once coverages are all stable.

This also appears to have happened for the July coverage, and I would bet it is related. Here is the console output from running that import:
Executing hook 'Create July Midcentury Min Temp Style for WMS Layer'...
Executing shell command 'curl "http://localhost:8080/rasdaman/admin/layer/style/add?COVERAGEID=july_min_max_mean_temp&STYLEID=temp_midcentury_july_min&ABSTRACT=Midcentury%20July%20minimum%20temperatures%2C%202040-2069%2C%20NCAR%20CCSM4%2C%20RCP%208.5&WCPSQUERYFRAGMENT%28condense%20%2B%20over%20%24t%20year%28139%3A168%29%20using%20%24c%5Byear%28%24t%29%2C%20model%286%29%2C%20scenario%283%29%2C%20tempstat%282%29%5D%29%20%2F%2030&COLORTABLETYPE=ColorMap&" --data-urlencode "COLORTABLEDEFINITION={\"type\": \"ramp\", \"colorTable\": {  \"-9999\": [0, 0, 0, 0],       \"-30\": [33, 102, 172, 255],       \"-15\": [103, 169, 207, 255],       \"-5\": [209, 229, 240, 255],       \"0\": [247, 247, 247, 255],       \"5\": [253, 219, 199, 255],       \"15\": [239, 138, 98, 255],       \"30\": [178, 24, 43, 255] } }"'...
Output result '  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1302  100   644  100   658  83865  85688 --:--:-- --:--:-- --:--:-- 94000
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ows:ExceptionReport version="2.1.0"
    xsi:schemaLocation="http://www.opengis.net/ows/2.0 http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd"
    xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
    <ows:Exception exceptionCode="InvalidRequest" >
        <ows:ExceptionText>Parameter 'wcpsqueryfragment(condense + over $t year(139:168) using $c[year($t), model(6), scenario(3), tempstat(2)]) / 30' is not valid in request.</ows:ExceptionText>
    </ows:Exception>
</ows:ExceptionReport>
'

Totally - this is probably a URL encoding goof / typo that propagated via copy-paste. I'm optimistic we can fix this later


Bundle boot2tcl.iso with the macOS app

This is a 50MB download that happens on first-run. There is no way to update the version of the ISO without updating to a newer RD release, so there should be no reason not to bundle the ISO within the app itself.

It looks like the distro.tar file for WSL is also download on first-run. It should be bundled with the Windows app.


Error in test_ego.py

Function test_branin_2D() in test_ego.py has one of the minima wrong. [3.14, 12.275] should be [3.14, 2.275].

Two bug reports in a row! You're on fire! :smile: Thank you.


Queues Type Generation

Added the ability to generate manual types for Queues from
Wrangler configuration.

Nice! :) We should move the I* queues types to workerd, but other than that, mostly minor comments. 👍

I definitely agree with that lol


Update readme with new branding

Just noticed an outside contribution requesting to make these changes. Rejecting this PR in favor of it.


The chat interface can't follow the iphone system language

Hi, I want change the language. But the chat interface can't follow the iphone system language. How could I change the language ?

I find how to change language:
https://medium.com/swift-productions/localizing-your-ios-app-xcode-12-swift-5-3-74559a431e79

I find how to change language:
https://medium.com/swift-productions/localizing-your-ios-app-xcode-12-swift-5-3-74559a431e79


Set an account_id

(building stuff... snip'ed)
✨  Built successfully, built project size is 677 bytes.
👀  You have multiple accounts.
🕵  You can copy your account_id below
+---------------------+----------------------------------+
| Account Name        | Account ID                       |
+---------------------+----------------------------------+
| [REDACTED] | [REDACTED] |
+---------------------+----------------------------------+
| Me        | [REDACTED] |
+---------------------+----------------------------------+
Error: field `account_id` is required

account_id is required when you have more than one account in your login profile. Add them as optional flags so someone who might use it don't need to figure out what to do (well, it's pretty trivial but saving time is always good...)

As you can guess, the reason I didn't add this was because my personal environment only has one account so I didn't want to confuse people by putting my ID in the toml since it would by default take the one thats logged in.
I like your solution better though, thank you for the contribution!


Outdated IMaterialSystem / g_MatSystem was nullptr.

As in name, probably interface is outdated or there is problem while grabbing interface from materialsystem.dll. The outdated class seems more possible for me. Found that out when trying to inject, but it kept crashing. Problem was the g_MatSystem / IMaterialSystem.

Using it for chams, no such problem

Yeah works fine for me too

Why is it crashing for me then? :/ Any ideas?


Helm runs out of memory parsing large index.yaml files

I have access to two privately hosted Helm repos that I was recently attempting to pull Helm charts from. For some reason, only for one of the repos, the helm binary would crash due to a lack of memory whenever I tried the following command: helm repo update -- I even tried removing the repo and re-adding it (helm repo add) but I ran into the same issue:
Specifically, helm would fail with this error message: fatal error: runtime: out of memory.
This was for version 3.2.1 of helm.
I then moved to a brand new machine to see if I could replicate this error. On that machine, I installed the latest version of Helm (3.6.2). I got similar behaviour: Only for that one repo, helm would crash, but now the error message was different: Killed
Eventually though, after running the same helm repo add command multiple times, I guess I got lucky and the command completed. In the process though, helm generated a MASSIVE amount of warning messages that looked like this:
index.go:339: skipping loading invalid entry for chart "..." "..." from ...: validation: chart.metadata.version "..." is invalid

This message appears to be generated when Helm checks the chart versions for SemVer compliance, as per this security notice.
Since the repo that kept causing helm to run out of memory is also the one with apparently a massive amount of charts with noncompliant versions, it seems like the Helm validation is inadvertently causing the memory issues -- i.e. since our Helm repo has so many noncompliant charts, helm runs out of memory, and I am unable to even add that repo.
Unfortunately, I do not own/control the repo, so is there any way we can mitigate this performance hit on the Helm side? Perhaps a flag to the helm binary that tells it not to generate a separate warning message for every single noncompliant chart?
ps: The only confusing thing is that I saw this memory error on two different versions of Helm: 3.2.1 and 3.6.2, but the security notice says that the patch was introduced in 3.5.1 -- so, not sure if my diagnosis of the issue is wrong.
Output of helm version:

Machine 1:

version.BuildInfo{Version:"v3.2.1", GitCommit:"fe51cd1e31e6a202cba7dead9552a6d418ded79a", GitTreeState:"clean", GoVersion:"go1.13.10"}

Machine 2:

version.BuildInfo{Version:"v3.6.2", GitCommit:"ee407bdf364942bcb8e8c665f82e15aa28009b71", GitTreeState:"clean", GoVersion:"go1.16.5"}

Output of kubectl version:

Machine 1:

Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1", GitCommit:"5e58841cce77d4bc13713ad2b91fa0d961e69192", GitTreeState:"clean", BuildDate:"2021-05-12T14:18:45Z", GoVersion:"go1.16.4", Compiler:"gc", Platform:"linux/amd64"}

Machine 2:

Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:59:11Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.):
AKS
More information:
For more information on my setup, the error messages (including stack trace) that I saw, please see my comment below: link

It looks like @rcousineau-xandr submitted a PR back in April that reduces the volume of warning messages to a single line: #9611
IF my diagnosis of this issue is correct, and the helm memory issues are caused by the volume of warning messages, then I suspect that PR would solve this issue as well.
@mattfarina  @bacongobbler Would appreciate your thoughts on this issue and the linked PR when you get a chance!

@pranavmarla maybe check out my branch, build it, run it, see if it resolves the issue for you?

@pranavmarla How large is the repository? Can you share the size of the index.yaml file. Also, is this being run in a container or directly on the machine? What OS is it using?

First off, sorry to hear you're running into this.

it seems like the Helm validation is inadvertently causing the memory issues

I think the first best step would be to come up with a test case to confirm your suspicion. I think it's more likely due to loading a huge index.yaml as @mattfarina is alluding to than dumping strings to standard error, or it could be a genuine memory allocation error. But more testing to prove your suspicions would be great here.
As a note, someone attempted to reproduce helm install memory issues using a project called fiber and its built-in profiler. Might be worth experimenting to see what could be causing the issue. Have a look at https://github.com/helm/helm/issues/9913 for more information.
Here's the project:
https://github.com/extbe/helm-ram-usage

@mattfarina Thanks for checking this out! That's a good point, I hadn't considered that. I've gathered some more information on my setup -- hope it helps!

As mentioned above, I observed this behaviour on two machines, running different versions of helm -- in both cases, helm was installed (via the standard script) directly on the machines. Here are the details of those machines:

Machine 1: Ubuntu 18.04 with 1 core CPU and 2 GB RAM

> uname -a
Linux ... 4.15.0-143-generic #147-Ubuntu SMP Wed Apr 14 16:10:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Machine 2: Ubuntu 20.04 with 1 core CPU and 2 GB RAM

> uname -a
Linux ... 5.4.0-73-generic #82-Ubuntu SMP Wed Apr 14 17:39:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Helm repo index.yaml sizes:

Repo 1 (no issues): 4.42 MB
Repo 2 (memory error): 65.56 MB

Here is the full stack trace produced by helm when I try to add repo 2 (via helm repo add) on machine 1 (helm v3.2.1 only -- v3.6.2 doesn't produce any stack trace):

fatal error: runtime: out of memory

runtime stack:
runtime.throw(0x1ab366e, 0x16)
        /usr/local/go/src/runtime/panic.go:774 +0x72
runtime.sysMap(0xc054000000, 0x4000000, 0x2aba5f8)
        /usr/local/go/src/runtime/mem_linux.go:169 +0xc5
runtime.(*mheap).sysAlloc(0x2a97340, 0x2556000, 0x10c, 0x7f49a3aebe10)
        /usr/local/go/src/runtime/malloc.go:701 +0x1cd
runtime.(*mheap).grow(0x2a97340, 0x12ab, 0xffffffff)
        /usr/local/go/src/runtime/mheap.go:1255 +0xa3
runtime.(*mheap).allocSpanLocked(0x2a97340, 0x12ab, 0x2aba608, 0x41dd75)
        /usr/local/go/src/runtime/mheap.go:1170 +0x266
runtime.(*mheap).alloc_m(0x2a97340, 0x12ab, 0x7f49a0290101, 0x7f49a0291c78)
        /usr/local/go/src/runtime/mheap.go:1022 +0xc2
runtime.(*mheap).alloc.func1()
        /usr/local/go/src/runtime/mheap.go:1093 +0x4c
runtime.(*mheap).alloc(0x2a97340, 0x12ab, 0xc000010101, 0x7f49a0291c78)
        /usr/local/go/src/runtime/mheap.go:1092 +0x8a
runtime.largeAlloc(0x2554de1, 0x2ab0101, 0x7f49a0291c78)
        /usr/local/go/src/runtime/malloc.go:1138 +0x97
runtime.mallocgc.func1()
        /usr/local/go/src/runtime/malloc.go:1033 +0x46
runtime.systemstack(0xc000470300)
        /usr/local/go/src/runtime/asm_amd64.s:370 +0x66
runtime.mstart()
        /usr/local/go/src/runtime/proc.go:1146

goroutine 1 [running]:
runtime.systemstack_switch()
        /usr/local/go/src/runtime/asm_amd64.s:330 fp=0xc034e8cb58 sp=0xc034e8cb50 pc=0x459ad0
runtime.mallocgc(0x2554de1, 0x17f6880, 0x203001, 0x203014)
        /usr/local/go/src/runtime/malloc.go:1032 +0x895 fp=0xc034e8cbf8 sp=0xc034e8cb58 pc=0x40c535
runtime.makeslice(0x17f6880, 0x2554de1, 0x2554de1, 0x1b7a238)
        /usr/local/go/src/runtime/slice.go:49 +0x6c fp=0xc034e8cc28 sp=0xc034e8cbf8 pc=0x44437c
bytes.makeSlice(0x2554de1, 0x0, 0x0, 0x0)
        /usr/local/go/src/bytes/buffer.go:229 +0x77 fp=0xc034e8cc90 sp=0xc034e8cc28 pc=0x4f5097
bytes.(*Buffer).grow(0xc04d80ad90, 0x9, 0x1849a80)
        /usr/local/go/src/bytes/buffer.go:142 +0x15b fp=0xc034e8cce0 sp=0xc034e8cc90 pc=0x4f49db
bytes.(*Buffer).WriteString(0xc04d80ad90, 0xc00e71c2f0, 0x9, 0x0, 0xc034e8cd70, 0x5ce204)
        /usr/local/go/src/bytes/buffer.go:184 +0xdd fp=0xc034e8cd10 sp=0xc034e8cce0 pc=0x4f4dfd
encoding/json.(*encodeState).string(0xc04d80ad90, 0xc00e71c2f0, 0x9, 0xc00e71c201)
        /usr/local/go/src/encoding/json/encode.go:957 +0x448 fp=0xc034e8cd70 sp=0xc034e8cd10 pc=0x5c4408
encoding/json.stringEncoder(0xc04d80ad90, 0x17f65c0, 0xc03dbcd290, 0x98, 0xc03dbc0100)
        /usr/local/go/src/encoding/json/encode.go:610 +0xd9 fp=0xc034e8ce08 sp=0xc034e8cd70 pc=0x5c18e9
encoding/json.(*encodeState).reflectValue(0xc04d80ad90, 0x17f65c0, 0xc03dbcd290, 0x98, 0xc03dbc0100)
        /usr/local/go/src/encoding/json/encode.go:337 +0x82 fp=0xc034e8ce40 sp=0xc034e8ce08 pc=0x5bf992
encoding/json.interfaceEncoder(0xc04d80ad90, 0x1847aa0, 0xc053b593a0, 0x94, 0xc053b50100)
        /usr/local/go/src/encoding/json/encode.go:619 +0xac fp=0xc034e8ce88 sp=0xc034e8ce40 pc=0x5c1c4c
encoding/json.mapEncoder.encode(0x1b7a120, 0xc04d80ad90, 0x184e400, 0xc04c5362a0, 0x15, 0x1840100)
        /usr/local/go/src/encoding/json/encode.go:706 +0x351 fp=0xc034e8cfd0 sp=0xc034e8ce88 pc=0x5c26f1
encoding/json.mapEncoder.encode-fm(0xc04d80ad90, 0x184e400, 0xc04c5362a0, 0x15, 0xc04c530100)
        /usr/local/go/src/encoding/json/encode.go:682 +0x64 fp=0xc034e8d010 sp=0xc034e8cfd0 pc=0x5ce104
encoding/json.(*encodeState).reflectValue(0xc04d80ad90, 0x184e400, 0xc04c5362a0, 0x15, 0xc04c530100)
        /usr/local/go/src/encoding/json/encode.go:337 +0x82 fp=0xc034e8d048 sp=0xc034e8d010 pc=0x5bf992
encoding/json.interfaceEncoder(0xc04d80ad90, 0x1847aa0, 0xc0498a8590, 0x194, 0x1840100)
        /usr/local/go/src/encoding/json/encode.go:619 +0xac fp=0xc034e8d090 sp=0xc034e8d048 pc=0x5c1c4c
encoding/json.arrayEncoder.encode(0x1b7a120, 0xc04d80ad90, 0x17bbca0, 0xc04c55af60, 0x97, 0x5b0100)
        /usr/local/go/src/encoding/json/encode.go:791 +0xd6 fp=0xc034e8d0e8 sp=0xc034e8d090 pc=0x5c3416
encoding/json.arrayEncoder.encode-fm(0xc04d80ad90, 0x17bbca0, 0xc04c55af60, 0x97, 0xc034e80100)
        /usr/local/go/src/encoding/json/encode.go:784 +0x64 fp=0xc034e8d128 sp=0xc034e8d0e8 pc=0x5ce204
encoding/json.sliceEncoder.encode(0xc000226c00, 0xc04d80ad90, 0x17bbca0, 0xc04c55af60, 0x97, 0x17b0100)
        /usr/local/go/src/encoding/json/encode.go:765 +0x8f fp=0xc034e8d170 sp=0xc034e8d128 pc=0x5c307f
encoding/json.sliceEncoder.encode-fm(0xc04d80ad90, 0x17bbca0, 0xc04c55af60, 0x97, 0xc04c550100)
        /usr/local/go/src/encoding/json/encode.go:760 +0x64 fp=0xc034e8d1b0 sp=0xc034e8d170 pc=0x5ce184
encoding/json.(*encodeState).reflectValue(0xc04d80ad90, 0x17bbca0, 0xc04c55af60, 0x97, 0xc04c550100)
        /usr/local/go/src/encoding/json/encode.go:337 +0x82 fp=0xc034e8d1e8 sp=0xc034e8d1b0 pc=0x5bf992
encoding/json.interfaceEncoder(0xc04d80ad90, 0x1847aa0, 0xc053b591a0, 0x94, 0xc04e920100)
        /usr/local/go/src/encoding/json/encode.go:619 +0xac fp=0xc034e8d230 sp=0xc034e8d1e8 pc=0x5c1c4c
encoding/json.mapEncoder.encode(0x1b7a120, 0xc04d80ad90, 0x184e400, 0xc0441ae720, 0x15, 0x1840100)
        /usr/local/go/src/encoding/json/encode.go:706 +0x351 fp=0xc034e8d378 sp=0xc034e8d230 pc=0x5c26f1
encoding/json.mapEncoder.encode-fm(0xc04d80ad90, 0x184e400, 0xc0441ae720, 0x15, 0xc0441a0100)
        /usr/local/go/src/encoding/json/encode.go:682 +0x64 fp=0xc034e8d3b8 sp=0xc034e8d378 pc=0x5ce104
encoding/json.(*encodeState).reflectValue(0xc04d80ad90, 0x184e400, 0xc0441ae720, 0x15, 0xc0441a0100)
        /usr/local/go/src/encoding/json/encode.go:337 +0x82 fp=0xc034e8d3f0 sp=0xc034e8d3b8 pc=0x5bf992
encoding/json.interfaceEncoder(0xc04d80ad90, 0x1847aa0, 0xc04e8b3910, 0x94, 0xc04e8b0100)
        /usr/local/go/src/encoding/json/encode.go:619 +0xac fp=0xc034e8d438 sp=0xc034e8d3f0 pc=0x5c1c4c
encoding/json.mapEncoder.encode(0x1b7a120, 0xc04d80ad90, 0x184e400, 0xc0441ae6c0, 0x15, 0x1840100)
        /usr/local/go/src/encoding/json/encode.go:706 +0x351 fp=0xc034e8d580 sp=0xc034e8d438 pc=0x5c26f1
encoding/json.mapEncoder.encode-fm(0xc04d80ad90, 0x184e400, 0xc0441ae6c0, 0x15, 0x7f49a7080100)
        /usr/local/go/src/encoding/json/encode.go:682 +0x64 fp=0xc034e8d5c0 sp=0xc034e8d580 pc=0x5ce104
encoding/json.(*encodeState).reflectValue(0xc04d80ad90, 0x184e400, 0xc0441ae6c0, 0x15, 0x400100)
        /usr/local/go/src/encoding/json/encode.go:337 +0x82 fp=0xc034e8d5f8 sp=0xc034e8d5c0 pc=0x5bf992
encoding/json.(*encodeState).marshal(0xc04d80ad90, 0x184e400, 0xc0441ae6c0, 0x1840100, 0x0, 0x0)
        /usr/local/go/src/encoding/json/encode.go:309 +0x10b fp=0xc034e8d678 sp=0xc034e8d5f8 pc=0x5bf43b
encoding/json.Marshal(0x184e400, 0xc0441ae6c0, 0xc034e8d620, 0x184e400, 0xc0441ae6c0, 0x0, 0x0)
        /usr/local/go/src/encoding/json/encode.go:161 +0x52 fp=0xc034e8d6f0 sp=0xc034e8d678 pc=0x5bea12
sigs.k8s.io/yaml.yamlToJSON(0xc014920000, 0x54820ec, 0x7fffe00, 0xc034e8d7c8, 0x1b7c3e0, 0xc01891fe00, 0xc00c91fe00, 0xc00005e380, 0x7f49a7082008, 0x0)
        /go/pkg/mod/sigs.k8s.io/yaml@v1.2.0/yaml.go:139 +0xff fp=0xc034e8d740 sp=0xc034e8d6f0 pc=0x9bc41f
sigs.k8s.io/yaml.yamlUnmarshal(0xc014920000, 0x54820ec, 0x7fffe00, 0x1927220, 0xc00071e050, 0xc000324000, 0x0, 0x0, 0x0, 0x8, ...)
        /go/pkg/mod/sigs.k8s.io/yaml@v1.2.0/yaml.go:53 +0x119 fp=0xc034e8d7f0 sp=0xc034e8d740 pc=0x9bbde9
sigs.k8s.io/yaml.Unmarshal(...)
        /go/pkg/mod/sigs.k8s.io/yaml@v1.2.0/yaml.go:36
helm.sh/helm/v3/pkg/repo.loadIndex(0xc014920000, 0x54820ec, 0x7fffe00, 0xc014920000, 0x54820ec, 0x7fffe00)
        /home/circleci/helm.sh/helm/pkg/repo/index.go:284 +0x9b fp=0xc034e8d8a8 sp=0xc034e8d7f0 pc=0x160b5eb
helm.sh/helm/v3/pkg/repo.(*ChartRepository).DownloadIndexFile(0xc0001cc320, 0xc000739c20, 0x1, 0x1, 0xc0001cc320)
        /home/circleci/helm.sh/helm/pkg/repo/chartrepo.go:140 +0x38e fp=0xc034e8da70 sp=0xc034e8d8a8 pc=0x160801e
main.(*repoAddOptions).run(0xc000028960, 0x1d28ec0, 0xc00000e020, 0x0, 0x0)
        /home/circleci/helm.sh/helm/cmd/helm/repo_add.go:133 +0x59e fp=0xc034e8dcc8 sp=0xc034e8da70 pc=0x16d584e
main.newRepoAddCmd.func1(0xc000024840, 0xc0006b0e40, 0x2, 0x6, 0x0, 0x0)
        /home/circleci/helm.sh/helm/cmd/helm/repo_add.go:68 +0xed fp=0xc034e8dd00 sp=0xc034e8dcc8 pc=0x16e924d
github.com/spf13/cobra.(*Command).execute(0xc000024840, 0xc0006b0de0, 0x6, 0x6, 0xc000024840, 0xc0006b0de0)
        /go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:842 +0x460 fp=0xc034e8ddd8 sp=0xc034e8dd00 pc=0x5d6240
github.com/spf13/cobra.(*Command).ExecuteC(0xc000215600, 0x1d6bce0, 0xc0000c6630, 0xc000367500)
        /go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950 +0x349 fp=0xc034e8deb0 sp=0xc034e8ddd8 pc=0x5d6d69
github.com/spf13/cobra.(*Command).Execute(...)
        /go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:887
main.main()
        /home/circleci/helm.sh/helm/cmd/helm/helm.go:83 +0x206 fp=0xc034e8df60 sp=0xc034e8deb0 pc=0x16ca376
runtime.main()
        /usr/local/go/src/runtime/proc.go:203 +0x21e fp=0xc034e8dfe0 sp=0xc034e8df60 pc=0x43003e
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc034e8dfe8 sp=0xc034e8dfe0 pc=0x45ba21

goroutine 6 [chan receive]:
k8s.io/klog.(*loggingT).flushDaemon(0x2a90600)
        /go/pkg/mod/k8s.io/klog@v1.0.0/klog.go:1010 +0x8b
created by k8s.io/klog.init.0
        /go/pkg/mod/k8s.io/klog@v1.0.0/klog.go:411 +0xd6

goroutine 11 [syscall]:
os/signal.signal_recv(0x45ba26)
        /usr/local/go/src/runtime/sigqueue.go:147 +0x9c
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.init.0
        /usr/local/go/src/os/signal/signal_unix.go:29 +0x41

Here's a screenshot from top showing helm's resource usage when I tried to add the two repos (taken on machine 1):

Repo 1 (no issues):

Repo 2 (memory error):

@bacongobbler  Thanks for checking this out! That's a good point, I'll see what I can do to validate if this actually is the cause of the error I'm seeing -- I'll comment back here if I find anything useful.

Repo 2 (memory error): 65.56 MB

This might be the largest index.yaml file I've seen. I suspect that yaml parsing is the issue. A few years ago I did some YAML and JSON parsing benchmarks. YAML parsing is not very performant. The situation has improved a little since I ran those benchmarks (we're now using a fork of ghodss YAML parser maintained by Kubernetes).
YAML is more work to parse than JSON due to YAML anchors. In the parsers we have they take the easy route and load the whole thing into memory. The Kubernetes based parser (based on ghodss) is one I've seen that uses the most memory.
We've long talked about having an index.json index file (alongside the index.yaml for backwards compatibility) as it would reduce the memory usage when parsing. I wonder if we should start work on that.

Workaround: No surprise given the error message but, once I added more memory to machine 1 (running Helm v3.2.1) (from 2GB RAM to 4 GB RAM), the error went away -- it still took ~1 minute 12 seconds, but eventually the problematic repo got added successfully.

Glad to hear you've found a workaround.
Have you tried modifying the helm-ram-usage project I mentioned earlier to determine what could be the cause of the huge memory footprint?
https://github.com/helm/helm/issues/9931#issuecomment-877467382
Without a way to test this locally I'm afraid all we can do is help point you in the right direction. But if we can somehow determine where the memory leak may be coming from, we could potentially create an action plan either in the form of a ticket upstream or a bug fix.

Updated the title to reflect the (more likely) issue at hand

Thanks for updating the title! Kept slipping my mind to do that.

Have you tried modifying the helm-ram-usage project I mentioned earlier to determine what could be the cause of the huge memory footprint?
No, haven't had a chance yet. Once I do, I'll make sure to post my findings here.


failed to check token: Post https://uaa

Hi Team,
While using log noise I get below error:
cf log-noise
Failed to get rates from accumulator, expected 200, got 401.
From app logs
cf logs nn-accumulator
Retrieving logs for app nn-accumulator in org PortalAdmin / space Dev as Ganeshk...
2019-05-10T12:21:23.70-0700 [RTR/1] OUT nn-accumulator.us07-5-pcf2- - [2019-05-10T19:21:18.703+0000] "GET /rates/1557516045?truncate_timestamp=true HTTP/1.1" 401 0 0 "-" "Go-http-client/1.1" "10.126.:42570" "<IP_ADDRESS>:61002" x_forwarded_for:"<IP_ADDRESS>, <IP_ADDRESS>" x_forwarded_proto:"https" vcap_request_id:"e696430f-9a39-481d-7914-ad6a25357aa7" response_time:5.002348415 app_id:"77ffe263-2d74-4b2f-911d-9580cf7f86b7" app_index:"0" x_b3_traceid:"a63aa00fd52d106a" x_b3_spanid:"a63aa00fd52d106a" x_b3_parentspanid:"-"
2019-05-10T12:21:23.70-0700 [RTR/1] OUT
2019-05-10T12:21:23.70-0700 [APP/PROC/WEB/0] ERR 2019/05/10 12:21:23 failed to check token: Post https://uaa.us07-5-pcf2-system./check_token: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Best Regards
Ganesh

Hi Ganesh,
Has this continued to be a problem?
The error implies that there was a timeout between the Noisy Neighbor app and your UAA.

@MasslessParticle HI Travis,
Yes still same. We have tried increasing UAA and still same.
Best Regards
Ganesh Kumar

In that case, this seems like it's just an auth issue. There are a couple of things that could be causing it:

The client ID and/or secret are bad. Can you get a token using that client and secret from uaa using uaac?
If so, does the client have uaa.resource authority?
Are does the user making this request via the CLI have doppler.firehose scope and authority? To view noisy neighbors, the user needs to have admin access to logs.

@MasslessParticle
Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby'
  scope: openid oauth.approvals doppler.firehose
  client_id: opentsdb-firehose-nozzle
  resource_ids: none
  authorized_grant_types: authorization_code client_credentials refresh_token
  redirect_uri: https://apps.us07-5-pcf2-system.oc.vmware.com
  autoapprove:
  access_token_validity: 1209600
  authorities: oauth.login doppler.firehose
  lastmodified:<PHONE_NUMBER>000

I tried with below user too, and yeah where I am running cf log-noise I have all admin privileges
C:\Users\ganeshk>uaac client get noisy_neighbor_nozzle
  scope: doppler.firehose
  client_id: noisy_neighbor_nozzle
  resource_ids: none
  authorized_grant_types: refresh_token client_credentials
  autoapprove:
  authorities: uaa.resource cloud_controller.admin_read_only doppler.firehose
  lastmodified:<PHONE_NUMBER>000

Still Same errors
Retrieving logs for app nn-accumulator in org PortalAdmin / space Dev as<EMAIL_ADDRESS>2019-05-22T10:32:25.64-0700 [APP/PROC/WEB/0] ERR 2019/05/22 10:32:25 failed to check token: Post https://uaa.us07-5-pcf2-system.oc.vmware.com/check_token: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
2019-05-22T10:32:25.64-0700 [RTR/1] OUT nn-accumulator.us07-5-pcf2-apps.oc.vmware.com - [2019-05-22T17:32:20.645+0000] "GET /rates/1558546302?truncate_timestamp=true HTTP/1.1" 401 0 0 "-" "Go-http-client/1.1" "<IP_ADDRESS>:46434" "<IP_ADDRESS>:61004" x_forwarded_for:"<IP_ADDRESS>, <IP_ADDRESS>" x_forwarded_proto:"https" vcap_request_id:"78b7ad54-cf40-4f76-699e-e6ddbf349989" response_time:5.00189703 app_id:"cb8b925e-39ed-4b96-a1cb-445b48b9e48b" app_index:"0" x_b3_traceid:"58c841a7e90fa8e4" x_b3_spanid:"58c841a7e90fa8e4" x_b3_parentspanid:"-"
2019-05-22T10:32:25.64-0700 [RTR/1] OUT

Interesting. Can you use the client and secret from the noisy-neighbor nozzle to check your token against UAA via the API?  We're trying to figure out what issue UAA is having that the request is timing out.
Here's the API https://docs.cloudfoundry.org/api/uaa/version/4.31.0/index.html#check-token

@MasslessParticle I am also seeing the same issue
$ cf log-noise
Failed to get rates from accumulator, expected 200, got 401.

App Logs :
2019-05-23T17:17:15.816+05:30 [APP/PROC/WEB/0] [ERR] 2019/05/23 11:47:15 expected 200 status code from /check_token, got 400
2019-05-23T17:17:15.818+05:30 [RTR/3] [OUT] nn-accumulator.apps.adp.allianz - [2019-05-23T11:47:15.745+0000] "GET /rates/1558612005?truncate_timestamp=true HTTP/1.1" 401 0 0 "-" "Go-http-client/1.1" "<IP_ADDRESS>:36549" "<IP_ADDRESS>:61043" x_forwarded_for:"<IP_ADDRESS>, <IP_ADDRESS>" x_forwarded_proto:"https" vcap_request_id:"a7e5640b-40aa-4da1-507e-0fdbf0ebe7b4" response_time:0.072626159 app_id:"12c0acd9-9e30-44c8-a056-adf07e7b4728" app_index:"0" x_b3_traceid:"7fde98fb731d709e" x_b3_spanid:"7fde98fb731d709e" x_b3_parentspanid:"-"

@MasslessParticle
Hi Travis,
Can you please give me a example to achieve this uaa api call I tried a few wasnt able to.
Best Regards
Ganesh Kumar

@kumarganesh2814
First, get a token for your client with UAAC:
uaac token client get <client_id> -s <client_secret>
You find the token by typing uaac context
Make the curl command as follows:
curl 'http://localhost/check_token' -i -u '<client_id>:<client_secret>' -X POST \     -d 'token=<token from uaac WITHOUT bearer>

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: application/json;charset=UTF-8
Date: Fri, 31 May 2019 18:12:30 GMT
Expires: 0
Pragma: no-cache
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Vcap-Request-Id: 34160965-cdbf-4421-6d44-3908381835a2
X-Xss-Protection: 1; mode=block
Content-Length: 568

{"client_id":"admin","exp":1559367348,"authorities":["clients.read","password.write","clients.secret","clients.write","uaa.admin","scim.write","scim.read"],"scope":["clients.read","password.write","clients.secret","clients.write","uaa.admin","scim.write","scim.read"],"jti":"7f0e9f4267fc406b8bf19df682c65698","aud":["scim","password","clients","uaa","admin"],"sub":"admin","iss":"https://uaa.us07-5-pcf2-system.oc.vmware.com/oauth/token","iat":1559324148,"cid":"admin","grant_type":"client_credentials","azp":"admin","zid":"uaa","rev_sig":"a154c4a8","revocable":false}

  scope: doppler.firehose
  client_id: noisy_neighbor_nozzle
  resource_ids: none
  authorized_grant_types: refresh_token client_credentials
  autoapprove:
  authorities: uaa.resource cloud_controller.admin_read_only doppler.firehose
  name: noisy_neighbor_nozzle
  lastmodified:<PHONE_NUMBER>000

Interesting, this means that your UAA is working. Does this issue always happen or is it intermittent?

@MasslessParticle Hey Travis,
It fails always. Never had a successful output cf log-noise
Best Regards
Ganesh Kumar

@kumarganesh2814 Can you install the cf nozzle cli to see if your user can get logs at all?
The plugin is located at https://github.com/cloudfoundry-community/firehose-plugin

Hello @MasslessParticle The CLI user with which I cf login does have the doppler.firehose privilege and I am still seeing the same error.

@tuxjockey are you able to cf nozzle with this user?

@heycait yes I am able to see the 'LogMessages' for instance.
ubuntu@opsmanger-2-2:~$ cf nozzle
What type of firehose messages do you want to see?

Please enter one of the following choices:
          hit 'enter' for all messages
          4 for HttpStartStop
          5 for LogMessage
          6 for ValueMetric
          7 for CounterEvent
          8 for Error
          9 for ContainerMetric
        >

@heycait yes I am able to see the 'LogMessages' for instance.
user@opsmanger:~$ cf nozzle
What type of firehose messages do you want to see?

Please enter one of the following choices:
          hit 'enter' for all messages
          4 for HttpStartStop
          5 for LogMessage
          6 for ValueMetric
          7 for CounterEvent
          8 for Error
          9 for ContainerMetric
        >

@tuxjockey It looks like you didn't end up selecting a message type. Could you run a cf nozzle -n instead?

@tuxjockey @kumarganesh2814 Following up; have you been able to verify admin access to logs?

Hi! We're closing this issue due to inactivity; please re-open if you run into this again.

Hi,
We are also getting the exact Issue.
Error while executing cf log-noise:
Server error, status code: 404, error code: 0, message:
Deployed applications succesfully but route of accumulator gives 404.
These are the few error logs seen in application:
2020-02-06T12:15:22.663+05:30 [APP/PROC/WEB/0] [ERR] 2020/02/06 06:45:22 initializing collector with nozzles: [http://nn-nozzle.dev.xxx.com http://nn-nozzle.dev.apps.cs.sgp.dbs.com http://nn-nozzle.dev.xxx.com http://nn-nozzle.dev.xxx.com]
2020-02-06T12:15:22.666+05:30 [APP/PROC/WEB/0] [ERR] 2020/02/06 06:45:22 Server bound to <IP_ADDRESS>:8080

tried accessing cf-nozze -n and able to see all the output.
Having all the access and not able to view anything. Please help us on this issue.
Thanks,
Akhilesh Appana


[Feature][UI Next] Delete Conditions Component

Purpose of the pull request
#7785

Brief change log

delete conditions component

PTAL @songjianet

Codecov Report

Merging #7999 (e209c80) into dev (78f8e22) will increase coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #7999      +/-   ##
============================================
+ Coverage     41.18%   41.21%   +0.03%
- Complexity     3712     3717       +5
============================================
  Files           637      637
  Lines         27128    27128
  Branches       3081     3081
============================================
+ Hits          11172    11182      +10
+ Misses        14876    14866      -10
  Partials       1080     1080

Impacted Files
Coverage Δ

...inscheduler/common/task/sqoop/SqoopParameters.java
74.00% <0.00%> (ø)

...dolphinscheduler/remote/future/ResponseFuture.java
83.60% <0.00%> (+1.63%)
:arrow_up:

...er/master/dispatch/host/assign/RandomSelector.java
83.33% <0.00%> (+5.55%)
:arrow_up:

...he/dolphinscheduler/common/enums/SqoopJobType.java
88.88% <0.00%> (+88.88%)
: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 78f8e22...e209c80. Read the comment docs.


Fixing Action to post test failures

The notify_when field doesn't act how I thought it was supposed to. It looks at failures in the current job but not other jobs upstream which is what we want.
Previous logic: Always run post job, but only post if failures
New logic: Only run post job on failures, but always post

code seems fine, but seeing its behind main


FFZ should explicit use 4x emote links, also fix scale factors

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description
This fixes FFZ to have the correct scale for their 4x higher resolution emotes.
This is also in preparation for 7tv support which has higher resolution emotes.
Comments:

Scale factor should be ration to the base size of 32px
Example: 32 / 112 = 0.286 scale factor for 3x emotes
Example: 32 / 128 = 0.250 scale factor for 4x emotes

Any updates on what is blocking this? If nothing, I can fix the conflicts so we can merge.

I made some side-by-side tests (is this the expected result?).
Emotes: PagMan (BTTV), Kappa, FeelsOkayMan (FFZ), PogChamp

Title
Result

this PR, zoom: 2.1x

before, zoom: 2.1x

Looks like I need to spend a bit more time to investigate, converted this PR to a draft for now.

Looks like I need to spend a bit more time to investigate, converted this PR to a draft for now.

You don't need to do everything in one PR. You could do the 4x images in this PR and investigate scale factors in the next. This would also make it easier to review.

So I collected some statistics about the emote size for different resolutions here is what I found.

The emotes for the histogram are "binned" to group emotes that are near in size to get a general idea. The number in the image are the number of emotes that are in that bin.
DATA: 54509 bttv emotes loaded
    1 -> xbin = 3.50px | ybin = 1.30px | 54508 emotes
    2 -> xbin = 6.95px | ybin = 2.60px | 54509 emotes
    3 -> xbin = 13.95px | ybin = 5.25px | 54508 emotes
DATA: 19723 ffz emotes loaded
    1 -> xbin = 5.15px | ybin = 2.40px | 19723 emotes
    2 -> xbin = 10.30px | ybin = 4.85px | 19723 emotes
    4 -> xbin = 20.60px | ybin = 9.70px | 19723 emotes

The main conclusion I can see are the following:

BTTV in general has much lower variance in height compared to FFZ which has two grouping of emotes
FFZ has a lot of common emotes that are around 30px wide, and another bunch that are 35px wide
BTTV wide emotes are in general around ~28px tall
FFZ wide emotes are a little shorter at ~22px tall
The 3x BTTV are ~110px high which is what we expect for 3x emotes 128px?
FFZ's 4x are ~110px and ~128px (see the two groups in the bottom right), which seems to indicate that they have a mix of short and correct height 4x emotes?

This is the scatter plot version:

If we only want to support 3x image variants, then I believe prior to this PR that FFZ, BTTV, and Twitch emotes are all correctly scaled looking at the max 'average' emote
For FFZ that would be 32px-height emotes
1: 32 (loaded as image1x, scale 1.0)
2: 64 (loaded as image2x, scale 0.5)
4: 128 (loaded as image3x, scale 0.25)
For BTTV that would be 28px-height emotes
1x: 28 (loaded as image1x, scale 1.0)
2x: 56 (loaded as image2x, scale 0.5)
3x: 112 (loaded as image3x, scale 0.25)
For Twitch that would be 28px-height emotes
1.0: 28 (loaded as image1x, scale 1.0)
2.0: 56 (loaded as image2x, scale 0.5)
3.0: 112 (loaded as image3x, scale 0.25)
all boiling down to FFZ emotes being at most 32px tall, BTTV emotes being at most 28px tall, Twitch emotes being at most 28px tall (discounting outliers like NaM or freak old uploads)
I think looking at scale factors & adding a fourth emote link variants must be done separately for this to get the care it deserves, as adding a fourth emote link means we'd need to decide where to put it. ould it go as a 4x link? or as a 2.5x link inbetween 2x and 3x?

Closing as I don't think this is something we necessarily want to change - happy to have a discussion about it in here or elsewhere!


Update target-castbar.lua

Ensure the enemy cast bar appears before the target of target frame or any other element.
Issue: https://github.com/TheLinuxITGuy/Turtle-Dragonflight/issues/57

Enable item comparison when tooltip at mouse module is enabled.
Issue: https://github.com/TheLinuxITGuy/Turtle-Dragonflight/issues/60


TEST: Update backup unit tests to check for output to STDOUT

Make sure that nothing unexpected is output to STDOUT during a backup.

This is covered by log testing and checking postgres.log for errors.


python3.5.1 can't install the misaka

I use "pip install misaka",then it will make mistakes
,like these
by the way:I use termux on android and other python package can install
Command "python setup.py egg_info" failed with error code 1 in /data/data/com.termux/files/usr/tmp/pip-build-fli5nnnd/misaka

I've never tested Misaka on Android. I'll try taking a look at it this week. :)

OK，thanks

FSK,are you deal with it?

Looking at it now.

我也遇到同样的问题
环境：Mac Python 3.5
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/bh/gb96wv6s0sd81bk_pxjpbp2c0000gn/T/pip-build-b_8womsc/misaka/

@magician333, I get a different error. Can you send me the complete error message?
Same for @aidenzou.

@FSX is here , https://db.tt/OlMOanDd

Did you install libffi and libffi-dev?

@FSK no,I'will try to it

@FSK no,still mistake

Ok, please keep posting the error messages. I'll try to figure it out too.


Issue-25: Added height and width attributes to improve performance.

Description

Added image height and width to improve the performance.

Related issue(s)

Fixes #25

Hey @sonvir249 Thanks for the PR. The code and the preview LGTM. Well done!

Ps: While creating a PR, always create a new branch. Keep this in mind for the next time.


Changes for Test Differentiability [2/n]

Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[x] Did you write any new necessary tests?

What does this PR do?
Fixes #26
PR review
@SkafteNicki
Note:

After My changes in the Test File, Test Cases that I wrote were failing for a few scenarios
I value of Differentiability Property might not be very accurate. I wrote it according to my understanding and few internet searches

Hello @bhadreshpsavani! Thanks for opening this PR.

In the file tests/classification/test_auroc.py:

Line 96:9: E128 continuation line under-indented for visual indent
Line 97:9: E128 continuation line under-indented for visual indent
Line 98:9: E128 continuation line under-indented for visual indent
Line 99:9: E128 continuation line under-indented for visual indent
Line 133:9: E128 continuation line under-indented for visual indent
Line 134:9: E128 continuation line under-indented for visual indent
Line 135:9: E128 continuation line under-indented for visual indent
Line 136:9: E128 continuation line under-indented for visual indent
Line 166:9: E128 continuation line under-indented for visual indent
Line 167:9: E128 continuation line under-indented for visual indent
Line 168:9: E128 continuation line under-indented for visual indent
Line 169:9: E128 continuation line under-indented for visual indent

In the file tests/classification/test_average_precision.py:

Line 101:1: W293 blank line contains whitespace

In the file tests/classification/test_cohen_kappa.py:

Line 86:9: E128 continuation line under-indented for visual indent
Line 87:9: E128 continuation line under-indented for visual indent
Line 88:9: E128 continuation line under-indented for visual indent
Line 89:9: E128 continuation line under-indented for visual indent
Line 90:9: E128 continuation line under-indented for visual indent
Line 91:9: E128 continuation line under-indented for visual indent
Line 92:9: E128 continuation line under-indented for visual indent
Line 114:9: E128 continuation line under-indented for visual indent
Line 115:9: E128 continuation line under-indented for visual indent
Line 116:9: E128 continuation line under-indented for visual indent
Line 117:9: E128 continuation line under-indented for visual indent
Line 118:9: E128 continuation line under-indented for visual indent
Line 119:9: E128 continuation line under-indented for visual indent
Line 120:9: E128 continuation line under-indented for visual indent
Line 134:1: W293 blank line contains whitespace
Line 138:9: E128 continuation line under-indented for visual indent
Line 139:9: E128 continuation line under-indented for visual indent
Line 140:9: E128 continuation line under-indented for visual indent
Line 141:9: E128 continuation line under-indented for visual indent
Line 142:9: E128 continuation line under-indented for visual indent
Line 143:9: E128 continuation line under-indented for visual indent
Line 144:9: E128 continuation line under-indented for visual indent

In the file torchmetrics/classification/auc.py:

Line 99:21: W292 no newline at end of file

In the file torchmetrics/classification/auroc.py:

Line 184:1: W293 blank line contains whitespace

In the file torchmetrics/classification/cohen_kappa.py:

Line 126:20: W292 no newline at end of file

Do see the Hitchhiker's guide to code style

some tests are failing because this assert cannot handle metrics that returns multiple values.
https://github.com/PyTorchLightning/metrics/blob/c1ae5ace2dc03525720ab3a867ce35fe50a2d276/tests/helpers/testers.py#L465
should be changed to something like:
if isinstance(out, list):
    assert all(metric.is_differentiable == o.requires_grad for o in out)
else:
    assert metric.is_differentiable == out.requires_grad

After looking a bit on the failing tests it seems that:

AUC should in general be differentiable and the False should be changed to True
However, for half of the test cases (those with batch size 4049 https://github.com/PyTorchLightning/metrics/blob/cceced613f4323a1f5124099a969f2cf32a80d7e/tests/classification/test_auc.py#L44) the grad check fails, indicating that the gradient calculation in pytorch is wrong. It makes sense that it only fails for large inputs as we know pytorch is using different implementations in torch.sort depending on the size of the input:
https://github.com/pytorch/pytorch/blob/a24163a95edb193ff7b06e98cd69bf7cfd4c0d2f/aten/src/THC/generic/THCTensorSort.cu#L306-L334

@bhadreshpsavani could you add a pytest.skipif to the differentiability test of AUC such that it is skipped if the input is larger than 2048?

@bhadreshpsavani mind check the failing tests?

For the pytorch bug - it would be great to have a small isolated repro to file as an issue for pytorch.
On AUC - is it really meaningful to treat it as differentiable? What tasks will do that?

Hi @borda,
I will make changes according to the suggestion of @SkafteNicki,
Let me know if anything I need to change.

Hi @SkafteNicki,
I made changes as per your suggestions
Eventhough i add this line @pytest.mark.skipif(x.shape[1] > 2048) in metrics/tests/classification/test_auc.py it still fails.

After searching the internet, AUC indeed is described as an non-differentiable function and it must therefore be our specific implementation in pytorch that allows gradient to be backprop.
I have inserted a torch.no_grad to secure that the function is non-differentiable which also fixes the tests.


cloud-init script not being invoked in IaC v5 with Managed Node Groups

I built a cluster with the new v5 scripts, leveraging the new Managed Node Groups feature, but I'm not seeing the local NVME drives being striped and mounted to the node.
I've included the usual on my node groups:   "custom_data" = "files/custom-data/additional_userdata.sh"
the first thing the script does is install a package:  yum -y install nvme-cli mdadm
The package is not present on the nodes, so perhaps the cloud-init script (additional_userdata.sh) is not getting invoked due to the change up from launch configurations to launch templates.
For xRef:  I did post on the IAC channel:
<https://teams.microsoft.com/l/message/19:20dbddb515c540b3993a44c35a15a96b@thread.skype/1653427740352?tenantId=b1c14d5c-3625-45b3-a430-9552373a0c2f&groupId=b88e8d40-08ab-45bb-9990-96459f0fda6d&parentMessageId=1653427137215&teamName=R&D Viya Next&channelName=Infrastructure as Code (IaC)&createdTime=1653427740352>
I was able to take the core elements of the script, and run them on the node, and everything striped and mounted successfully!

Adding the work around document I created.
Updating an AWS Launch Template for an Auto Scaling Group.docx

A customer of mine used the following fix which seems to have worked, they added a new variable in locals.tf, pre_bootstrap_user_data to reference the NVME based shell script we want included into the cloud init process:
pre_bootstrap_user_data           = "${file("files/custom-data/additional_userdata.sh")}"
The place it before the existing line:
post_bootstrap_user_data          = "${file("files/custom-data/additional_userdata.sh")}"
Not sure why they didn't comment out the existing line, if it isn't doing anything.  I will try to test this next week when I build another cluster using AWS IAC.

Referring to the documentation of the underlying EKS Terraform module, when using an EKS Managed Node Group and not specifying an ami_id the only way to get user data injected is to use the pre_bootstrap_user_data variable.
Reading between the lines, it would appear that in this scenario the post_bootstrap_user_data variable doesn't do anything (which is what we have all experienced).


fix env and role problem on fun deploy

issues：fun配置EnvironmentVariables时 value为整数会部署失败问题
issues：没有配置service role时，希望不要自动创建role

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


Feature/dpi analysis

Description
Including the results of an analysis to determine a good dpi setting for pdf_conversion.
Contributors: Peter Rockwood, Guy Altman
Type of change
Please delete options that are not relevant.

[x] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have made corresponding changes to the documentation if necessary (optional)
[x] Size of pull request kept to a minimum
[x] Pull request description clearly describes changes made & motivations for said changes

loom video
trello card

 As a user I want to find a good dpi setting for tesseract


update about and user guide

just have one comment - but I'm not sure the best way to address this.  I see on the top of the About page there is the text, "This is a draft and may change at some point in the future.".  I think we can replace the first two sentences on the About page with the following text:
This app fits species sensitivity distributions to concentration data. The app is built from the R package ssdtools version XX, and shares the same functionality.   Changes and upgrades in ssdtools will result in changes to this app.  It is recommended when reporting HC5 estimates generated using this app that the version of ssdtools and the name of the distributions fit to the dataset are listed. ?
Also on the User Guide page, where it reads, "The app is built from the R package ssdtoolshttps://github.com/bcgov/ssdtools, and shares the same functionality.?", can we please add the version after ssdtools?

updated text: This app fits species sensitivity distributions to concentration data. The app is built from the R package ssdtools version XX, and shares the same functionality.   Changes and upgrades in ssdtools will result in changes to this app.  It is recommended that when reporting the HC5 estimates generated using this app that the version of ssdtools and the name of the distributions fit to the dataset are listed.

waiting for French translation

This app fits species sensitivity distributions to concentration data. The app is built from the R package ssdtools version XX, and shares the same functionality.   Changes and upgrades in ssdtools will result in changes to this app.  It is recommended that when reporting the HC5 estimates generated using this app that the version of ssdtools and the name of the distributions fit to the dataset are listed. ?
Cette application web ajuste les fonctions de distribution de la sensibilité des espèces aux données de concentration. L'application est basée sur le progiciel R ssdtools version XX et partage les mêmes fonctions. Les changements et les mises à niveau apportés à ssdtools vont résulter en modifications de cette application. Il est recommandé, lorsque l'estimation du HC5 généré par cette application est rapportée, d'inclure aussi la version de ssdtools et le nom des fonctions de distribution ajustées aux données.

done


Structurizr introduced breaking change

Hi Team,
first of all: thanks for this repo and library!
I just recognised that with https://github.com/structurizr/dsl/commit/375f4574b88d5c7e484bdaaa1b311af3407393f6 a breaking change for https://github.com/goadesign/model/blob/main/mdl/deployment.go#L18 was introduced (string vs int).
Would it be possible to fix this 😅 Can I help somehow?
Regards
Horst

Hello,
Thank you for bringing this up! Sounds like the field now needs to be a *string instead of a *int. Obviously, this may require other changes. It would be great if you could take a stab at it! Feel free to ask any questions here.

Thank you for the nice contribution. I released v1.8.0 with the change.

Thank you for your support!


Summary don't include image ![text](path title)

Could we exclude the contents (text and title) of ![text](path title) from the page .Summary? A RegEx along the lines of replaceRE (![.](.)\s*) "" .RawContent before applying .StringRender should do it.
Thank you!

The right way to handle this is to control what you want in your summary by either:

Creating a manual summary break by placing the string <!--more--> somewhere in your markdown, or
Defining the summary in front matter

See docs.
Trying to programmatically remove things from an automatic summary  might be the right thing for you, but not for others.


chore: upgrade to electron 12

Description

Upgrade Electron to 12
Related Issues

https://github.com/agalwood/Motrix/issues/881
Checklist:

[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Have you linted your code locally prior to submission?
[x] Have you successfully ran app with your changes locally?

BTW, the invocation of setWindowOpenHandler() in https://github.com/agalwood/Motrix/blob/9ffaf1116fa1050dc26c39c4c5a0c27622f156e1/src/renderer/components/Browser/index.vue#L58 is wrong. It should be handled as what's in this PR.

I will not consider upgrading electron to v12.x version for the time being.  The reason is that it has a lot of breaking changes.  Such as shell tashItem and so on.  The main reason is that its child_process spawn may have problems, causing its child process to hang easily. I reverted electron to v11.x and I spent a lot of time verifying the stability of the v11.x version in each OS, which is too time-consuming.
https://github.com/agalwood/Motrix/commit/137927d44a7a9525be4bae2089a8ae4d98006ea6

Such as shell tashItem and so on.

This should have been fixed:

Fixed a crash when calling shell.trashItem() from the renderer process. #28787 (Also in 13)
https://www.electronjs.org/releases/stable?version=12#fixes-1206

The main reason is that its child_process spawn may have problems, causing its child process to hang easily

On the contrary, it's supposed to fix some spawning issues? Any info for that?

Fixed slow child process spawning on macOS Big Sur. #27656 (Also in 10, 11)

The most significant benefit of upgrading electron to 12 for me is that it finally has correct HiDPI settings that the window and fonts won't be too small, nor be large enough as other windows but so blurry.

This problem will cause the download engine started by child_process to hang. This is the core function of the download tool, so the other benefits brought by the upgrade are useless.  At present, it is done in a way that seems to be a hack.  Unless you do some longer downloads on macOS, Windows, Linux and other OS first.
https://github.com/agalwood/Motrix/commit/549094626735f31365270a2f07057ffc8cdbb503

There is a severe preference problem for electron 12 in macOS: https://github.com/electron/electron/issues/26143

There is a severe performance problem for electron 12 in macOS: electron/electron#26143

The next release will update Electron to version 22.x


Cleanup Presto runtime artifact

Similar to #250, we need to remove usage and redefinition of shadow configuration in presto-runtime module. There's  probably some relocation/shading rules that also need to be added.

@electrum, does Presto use this shaded artifact?

No, it can be removed.


Allow react versions greater than 16.13.1 to avoid peer dependency warning on react 17

This is a minor concern but this proposes to allow react versions greater than 16.13.1 to avoid a peer dependency warning if using react 17 for example
This could be a little too lenient, but it may also avoid unneeded peer dependency warning during install

Thanks for the contribution. There was already a fix for that case suggested earlier (#59 ) and I just merged it. Hope that will solve your issue after the new version is published.


require.main.children is undefined in production mode

Bug report

What is the current behavior?
In dev mode, console.log(require.main.children) will output an array, and require.main.children[1] will be a string containing the path of the entrypoint.
I want to use require.main.children[1] to import some translations related to the specific entrypoint.
It works fine in dev mode, but in production mode, require.main.children is undefined.
If the current behavior is a bug, please provide the steps to reproduce.
console.log(require.main.children)  will output an array in dev, but be undefined in production mode

What is the expected behavior?
console.log(require.main.children) should output an array containing the entrypoint
but in production mode it displays undefined.
Other relevant information:
webpack version:  4
Node.js version: 10
Operating System: ubuntu 18.04
Additional tools:

module.children is pretty expensive and usually not added to the bundle. It's only available when HMR is enabled and provided by this. Implement it in another way.

Thanks. What is the recommended way to have the entrypoint filename from within a module?

There is a ExtendedAPIPlugin which adds __webpack_chunk_name__ which is the name of the entrypoint. You can try that.

Thanks. In the end I decided to explicitly pass the whole context require.context('../../translations') to a provideTranslations function called in the entrypoint, instead of trying to implicitly infer the correct translation folder from the entrypoint path.


proposal: Go 2: Make functions satisfy interface

If we have an interface which prescribes 1 function, the proposal is for the interface to be satisfied by a closure with the same signature.
An interface:
type Rander interface {
    Rand(seed float64) float64
}

A function:
func Generator(r Rander) {
    ...
}

Currently, r must be a struct or pointer to a struct. It would be nice to provide as an argument:
Generator(func(s float64) float64 {})

Obviously this is not backward compatible, since inside Generator may use the reflect package and expect r to be a struct or pointer to a struct which would be a reasonable assumption under Go1.
I think with this change the benefits are that in many cases you don't have to wrap a function in a struct for the same of making it a struct. This could potentially cleanup code some places.

Duplicate of #21670.


Enable easy install and run with Docker

Hi there, this allows users to run worldengine without worrying about dependencies, or worry about dirtying-up their local machine.

Coverage remained the same at 84.833% when pulling ad0de157c65e17408f738b9f3d9726ed428179aa on sjbrown:master into 1db5b2b0aeae04081ca68e80b7bc08d76bdf3192 on Mindwerks:master.

Some cleanup work with the manifest file:
https://travis-ci.org/Mindwerks/worldengine/jobs/387926781  :)

Codecov Report

Merging #258 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #258   +/-   ##
=======================================
  Coverage   79.49%   79.49%
=======================================
  Files          28       28
  Lines        3468     3468
  Branches      651      651
=======================================
  Hits         2757     2757
  Misses        526      526
  Partials      185      185

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 1db5b2b...249a37e. Read the comment docs.

Thanks!

Thank you!  I really enjoying playing around with this project


Nav bar is not responsive in mobile fix

Navbar is not responsive in mobiles. It needs to collapse in hamburger menu.
Please assign me this issue to fix under gssoc 2023

Okk understood. Should I start to work on it? Because you assigned it to me then unassigned it.


Fix RTN14b test.

I just realized this is missing: "If the token creation fails, the next connection attempt fails again due to a token error [...] the connection will transition to the FAILED state and the Connection#errorReason will be set". Will do soon.

LGTM

@mattheworiordan PTAL

NIce, LGTM


Adoption by non-Mozilla projects?

Hi,
came across contribute.json when I was testing https://www.gimp.org with the Mozilla Observatory (i.e. via https://wiki.mozilla.org/Security/Guidelines/Web_Security#contribute.json ).
Do you expect adoption of this standard by non-Mozilla projects?
And if a project did (or a critical mass of them), how would the data they provide be accessible to users - do you plan to offer a directory for arbitrary projects where users can search/browse/find projects?

Expect is strong, but I think we hope for adoption across the broader FLOSS world. A directory is something we've toyed with, and we do have a thing that uses contribute.json files for Mozilla webdev projects. There's also a Firefox addon that will notify you if a site has info at /contribute.json. We'd love to hear how it might be useful to others though.

@schumaml: Note that the Observatory doesn't penalize (non-Mozilla) sites for not having contribute.json. It is great if you do, though, and we hope to use it for all sorts of things in the future!

Yeah, I'm aware of the non-penalizing aspect.
Got intrigued by the concept because figuring out a way to present all this information on a website always  leads to the n+1th differently designed "How to participate!" page (or worse, pages). Collecting it in one file ensures maintenance at a single place.
Approaching larger umbrella organizations might be a good way to spread the idea, especially if they are currently implementing similar ideas. For example, Freedesktop has Appstream: https://www.freedesktop.org/software/appstream/docs/ - less focus on getting participation info across, more focus on having things that you can find in software package management.
One issue I see there is that larger umbrellas might have a site structure of https://umbrellaorg/projectfoo|projectbar|projectbaz; handling this by one /contribute.json won't work.

One issue I see there is that larger umbrellas might have a site structure of https://umbrellaorg/projectfoo|projectbar|projectbaz; handling this by one /contribute.json won't work.

that is a good point. perhaps a primary contribute.json file at /contribute.json or /.well-known/contribute.json should be able to list URLs to sub-project contribute.json files?

I think that's a great idea.  Maybe a projects object, like:
{
  "projects": {
    "Firefox": "https://getfirefox.com/contribute.json",
    "Thunderbird": "https://www.mozilla.org/en-US/thunderbird/contribute.json"
  }
}


Paging is not working

large data sets just keep returning the first page over and over again. I suspect there is a fault in the logic of Invoke-OneLoginRestMethod.

fixed in commit 34a6dca6e14665a17bb0412213003ea72be3cd5d


unify Dockerfile, condarc, and test.bash

Punt on caching in CI for now.  I am almost positive that we are simply pushing the limit of free space on the runners even when the runner is created from scratch, and 3.7 had grown past that limit because its conda environment contains some excess packages.


[ml] Address Azure SDK team comments (#30083)

address comments

update tests to permanently_delete

fix trailing whitespace

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


[Feature] Profile Section of the logged in user

Our current ui - Figma link
Reference the user profile frame

For more reference visit the figma file

[ ] Implement the user profile system to track the user's participation in various events using horizontal cards(use dummy data)

Guidelines

Can change the design and make it better.
If any design update is made please upload it inside the folder design
Code quality matters
Attach a video or video link showing the ui of the profile section

Can I take this issue?

@jgyfutub I am assigning the issue to you
Please keep updating us within every 3days

@ArnabChatterjee20k can you please tell how shall I put stars in the background?


[Docs]: improve README.md & CONTRIBUTING.md files

what's wrong in the documentation?
Now in these README.md & CONTRIBUTING.md two docs files, there are no proper guides for this project's use cases. we need to add step-by-step best practices.
I want to work on this issue.
Add screenshots
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Go ahead @priyankarpal

@AbhiPatel10 please unassign me currently I'm not getting enough time to complete this task sorry for that. You can assign another person.

Okay

Hope you had a great day @AbhiPatel10! I have prior experience in enhancing documentation. I have created the CONTRIBUTING.md file for Love Simple UI. I'd love to volunteer in contributing to this issue if you are comfortable to assign.

[x] I agree to follow this project's Code of Conduct
[x] I have read the contribution guidelines
[x] I will keep the project maintainer updated with my progress on the issue and seek help If I face any issue

Hi @AbhiPatel10 ,
I wanted to provide you with an update on the progress I've made regarding the documentation issue I'm currently working on. Here are the details:

Changes made so far to CONTRIBUTING.md:

[x] Added resources for new contributors to get familiar with Git & GitHub

[x] Added a section explaining how contributors can fork their project along with images

[x] Added a section explaining how to create a new issue for Bug Report, Documentation Issue, Style Change and Feature Request.

[x] Incorporated commands and screenshots related to creating a branch and committing changes.

Next Steps:

[ ] Add a section instructing how to solve existing issues
[ ] Add a section instructing how to create a good PR

I would appreciate any feedback or guidance you may have regarding my progress so far. Let me know if there are any specific areas I should focus on or if there are any resources I should refer to. I'm committed to delivering high-quality documentation that improves the user experience and supports the project's goals.
Thank you for your support and guidance throughout this process. I look forward to your feedback.
Also a quick side note, this issue wasn't assigned any level, so assigning a level would help me move up on the leader board.
Best regards,
Tanmay Adithya


Add support inference on SYCL devices

In continuation of https://github.com/dmlc/xgboost/pull/9691
This PR adds experimental support of prediction with SYCL devices.
The key changes are:

Added the new predictor: sycl_predictor, which is calling if SYCL device parameter is specified.
Currently only the PredictBatch method has a native SYCL implementation.
For building with SYCL support, user should specify the key -DPLUGIN_SYCL=ON for cmake.
C++ unit tests for SYCL were rewrited for better unification with another tests in the repo.
Python tests for SYCL prediction were added.
CI configuration files were renewed, SYCL tests were added.

Hi, could you please help take a look into the CI errors?

Hi, could you please help take a look into the CI errors?

working on it right now. Will fix it asap.

no worries, we trigger AWS workers for the CI manually. It was just a friendly reminder that the CI has been triggered.

no worries, we trigger AWS workers for the CI manually. It was just a friendly reminder that the CI has been triggered.
Fixed it for my local machine. Please try to launch CI again.


Error Running Connect-Maester -service all

On a brand new install of windows server 2022, domain joined with windows update, I followed the instructions to setup maester from scratch.
Got all the way to the above command, before it threw an error. Straight after I ran the command, I was prompted for MFA which seemed to work ok. Then the error appeared
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows                                                                                PS C:\Windows\system32> Install-Module Pester -SkipPublisherCheck -Force -Scope CurrentUser                                                                                NuGet provider is required to continue                                                                                PowerShellGet requires NuGet provider version '<IP_ADDRESS>' or newer to interact with NuGet-based repositories. The NuGet  provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or                               'C:\Users\mnash\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running  'Install-PackageProvider -Name NuGet -MinimumVersion <IP_ADDRESS> -Force'. Do you want PowerShellGet to install and       import the NuGet provider now?                                                                                [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y
PS C:\Windows\system32> Install-Module Maester -Scope CurrentUser
Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): a
PS C:\Windows\system32> Install-Module Az -Scope CurrentUser
Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): a
PS C:\Windows\system32> Install-Module ExchangeOnlineManagement -Scope CurrentUser
Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): a
PS C:\Windows\system32> cd
PS C:> md maester-tests
Directory: C:\

Mode                 LastWriteTime         Length Name

d-----         6/21/2024   1:40 PM                maester-tests
PS C:> cd maester-tests
PS C:\maester-tests> Install-MaesterTests .\tests
Maester tests installed successfully!
Run Connect-Maester to sign in and then run Invoke-Maester to start testing.
PS C:\maester-tests> Connect-Maester -Service All
Please select the account you want to login with.
WARNING: Unable to acquire token for tenant 'organizations' with error 'InteractiveBrowserCredential authentication
failed: Entry point was not found.'
WARNING: Please run 'Connect-AzAccount -DeviceCode' if browser is not supported in this session.
Connect-AzAccount : InteractiveBrowserCredential authentication failed: Entry point was not found.
At C:\Users\mnash\Documents\WindowsPowerShell\Modules\Maester\0.0.131\public\Connect-Maester.ps1:59 char:7

  Connect-AzAccount -SkipContextPopulation -UseDeviceAuthenticati ...

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : CloseError: (:) [Connect-AzAccount], AuthenticationFailedException
FullyQualifiedErrorId : Microsoft.Azure.Commands.Profile.ConnectAzureRmAccountCommand

Connect-ExchangeOnline : A parameter cannot be found that matches parameter name 'Device'.
At C:\Users\mnash\Documents\WindowsPowerShell\Modules\Maester\0.0.131\public\Connect-Maester.ps1:65 char:49

  Connect-ExchangeOnline -ShowBanner:$false -Device:$UseDeviceCod ...

                                            ~~~~~~~~

CategoryInfo          : InvalidArgument: (:) [Connect-ExchangeOnline], ParameterBindingException
FullyQualifiedErrorId : NamedParameterNotFound,Connect-ExchangeOnline

PS C:\maester-tests>
Any ideas

Glad to hear it is working! Definitely reach out if more challenges crop up. Good ideas too, I think we are beginning to plan around remediation items, but that will definitely be a big lift.

If you have followed the Learn walkthrough, then I would say most commonly it is an attribute mismatch. Depending on your PKI that could also introduce some wildcards. You could trial Cloud PKI just to simplify the architecture a step further.
https://learn.microsoft.com/en-us/entra/identity/authentication/how-to-certificate-based-authentication

Typically you'd want to have a device management tool like Intune proxy (Registration Authority) the request and get a signed cert back from your CA, the Intune Connector can do that or you can do Cloud PKI. For just testing then manually copying the PFX to the client's appropriate authentication store and making sure the CA is in the proper trust container if you are domain joined. Then it should be made available. A lot of different components to making CBA work.


Support reference library directives

Implements #7156. I'll update that issue with a more detailed design description

Anyone else care to take a look?

closing in favor of https://github.com/Microsoft/TypeScript/pull/7775


EdenFetchError hard to debug

When we log an error from Eden, we get this error logged on console:

Problems:

It does not show any info about the error (e.g. status code).
The stack trace refers to a minified source code making error even harder to understand.
The error class EdenFetchError is reduced to E in console output.

https://github.com/elysiajs/eden/blob/c7f0c11f537595d47d6f026ec2c61e2f2fa2c740/src/utils.ts#L11
It might make it easier to debug if the error message is more human-friendly e.g. Request failed with status code 400

There's no legitimate reason for this library to be minified before publishing to NPM. Please rethink that decision, guys.


Explore current popouts limitations (iframe)

Our current implementation do not work when the application is within an iframe, we need to validate what are the general limitations of popouts "normal" use and also within an iFrame as this is used by internal Bentley applications
### Tasks
- [ ] Fix `adjustWindowLocation` issue when used within an `<iframe />`
- [ ] Handle widget popout failures and revert state
- [ ] Fix issue with popups when main tab is not active
- [ ] https://github.com/iTwin/appui/issues/202
- [ ] https://github.com/iTwin/appui/issues/273

Electron exploration still needed