[cloud_firestore/unknown] error-Invalid argument (dartObject): Could not convert: Instance of 'Timestamp'

Flutter Web application here - 2.0.1
I'm in the middle of production release, please help asap. Thanks!!
Version: 1.54.3 (user setup)
Commit: 2b9aebd5354a3629c3aba0a5f5df49f43d6689f8
Date: 2021-03-15T10:55:45.459Z
Electron: 11.3.0
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19042
equatable: ^2.0.0
firebase_auth: ^1.0.1
google_sign_in: ^4.5.1
firebase_core: ^1.0.2
cloud_firestore: ^1.0.3
firebase_core_web: ^1.0.2
cloud_firestore_web: ^1.0.3
firebase_storage: ^8.0.1
firebase_analytics: ^7.0.1
#2153
I believe this is seems to be resolved but pops up again, cloud_firestore_web: ^1.0.3 to eliminate the error.
I have bunch of nested objects in main object, While trying to save into firebase firestore , it's throws the error.
This is the object I'm going to save it in firestore.  Item list having timestamp that causing this error again.
         `[Item(78bfc5b6-8208-4ffa-ae19-71226afa9717, Timestamp(seconds=1615961406,
          nanoseconds=388000000), Timestamp(seconds=1615961406, nanoseconds=388000000)),
          Item(78bfc5b6-8208-4ffa-ae19-71226afa9717, Timestamp(seconds=1615961406,
          nanoseconds=388000000), Timestamp(seconds=1615961406, nanoseconds=388000000)),
          Item(78bfc5b6-8208-4ffa-ae19-71226afa9717, Timestamp(seconds=1615961406,
          nanoseconds=388000000), Timestamp(seconds=1615961406, nanoseconds=388000000))]
          `

The error occurs at the list of timestamp i gues. Any help appreciated. Thanks!

Hi @Puspharaj
Could you please provide your flutter doctor -v and flutter pub deps -- --style=compact?
Could you provide a minimal complete reproducible code sample?
Thank you

`
class Track extends Equatable {
const Track({this.id, this.createdDate, this.updatedDate, this.track});
                  final String? id;
                  final List<String>? track;
                  final Timestamp? createdDate;
                  final Timestamp? updatedDate;

                  static const empty = Track(id: '', track: null);

                  @override
                  List<Object?> get props => [id, track, updatedDate, createdDate];

                  TrackEntity toEntity() {
                    return TrackEntity(
                      this.id,
                      this.track,
                      this.createdDate,
                      this.updatedDate,
                    );
                  }

                  static Track fromEntity(TrackEntity entity) {
                    return Track(
                      id: entity.id,
                      track: entity.track,
                      createdDate: entity.createdDate,
                      updatedDate: entity.updatedDate,
                    );
                  }
                }`

This kind of example model to List then, when trying to save it in firestore. It's says the above error. Right I can't give reproducible code. Will may do it if it's not working from your side later.

@Puspharaj
The above code seems to be from your production app. We would like to have a minimal reproducible code that we can directly copy paste and run to verify the issue you are facing.

Ok, please wait for day or two I can post the exact code with error.

cc @Ehesp could this be a converter handler missing here on web for Timestamp in a nested object?

Tried setting/updating with nested data with Timestamps, all working ok here.

Would you please provide the git sample? thanks!!

    FirebaseFirestore.instance
        .doc('foo/bar')
        .set({
          'foo': {
            'bar': [Timestamp.now(), Timestamp.now()]
          }
        })
        .then(print)
        .catchError(print);

Let me try with my minimal code.

Windows crashed, need to patch things up, will provide the minified version shortly.

I have tried out the sample by @Ehesp and it's working, But let me close this for now, Will reopen for my specific case were I use Model and Entity data type conversion were things getting really weird. Will soon report my use case error. Thanks! for everyone who took their time to look into this.


Remove app icon and label

Removing this manifest info will prevent from creating app with RecyclerView-Renderers-lib name

Thanks for the PR!


Update fixed-hash pin version and fix cargo locks

fixed-hash in std uses 0.3.0 but wasm still runs 0.3.0-beta. This PR fixes that.

Please merge master to make the tests happy :)


Reading CFG files

Hi,
I was hoping how does one read the CFG files from your data (Everything.cfg for example) in pyiron or in ASE?
I seem to get the following error while using ASE to read the structures:
ValueError: could not convert string to float: 'BEGIN_CFG'
my code:
from ase.io import read

atoms = read('Everything.cfg',format='cfg')

EDIT: Also would be nice to visualise these structures; OVITO seems to have a problem with that.

@hari-ushankar Can you post an example file?

Hi @jan-janssen ,
Thank you for this!
I was able to successfully load the cfg file using `pyiron_contrib.atomistics.mlip.cfgs.load_cfgs()'; but unfortunately there is no plot3d() that I can use to view it inside NGLview in Jupyter notebook. Is there a way to dump out a XYZ file and use OVITO to see the various configurations?
I just want to get sense of how different supercells are arranged to get different local atomic environments for Mg to parameterize a MTP.
@pmrv , maybe you have some pointers?

Sorry for the delay (somehow the notifications were disabled for this repo).
The cfg files and the parser @jan-janssen mentioned are MTP specific and the objects that you get by reading them are not full Atoms objects.  That's why 3D plotting and writing them doesn't work.  If you just want to look at the structures it'll be easier to use the training data containers that are in the exported pyiron projects.  You can do something like
structure_pr = Project('structures')
j = structure_pr.load('Hydro')
structure = j.get_structure(0)
structure.plot3d()

Hi @pmrv , this makes a lot of sense now to me! and thank you @jan-janssen for pointing me in the right direction.
And yes, I'm not 100% sure how to import the training data containers. All I see are .tar.gz files in the Edmond file repo.
What I have done right now is: I have unpacked the structure_packed dir and tried to execute the above code:
structure_pr = Project('structures_packed/structures/')
j = structure_pr.load('Hydro')

and I get the following warning:
2023-05-06 11:42:32,758 - pyiron_log - WARNING - Job 'Hydro' does not exist and cannot be loaded
2023-05-06 11:42:32,758 - pyiron_log - WARNING - Job 'Hydro' does not exist and cannot be loaded

Maybe am I missing something basic here?

Ah, just unpacking the tarballs is not enough to import the projects.  The Unpack.ipynb notebook has the code to do it.  Let me know if there's any errors there.

This is great! thank you for the inputs, @pmrv. I need inputs on a few more things:
(this issue may not be the right place to do this, please let me know if I need to move it elsewhere..)
(i) I have an older version of pyiron on my compute cluster. This version doesnt have separate pyiron_atomistics, pyiron, pyiron_base. I'm not sure how to update this. Do you recommend I remove the current repo and starting fresh? I don't have that many important jobs in that pyiron version, I suppose I can safely remove it.
(ii) in your paper, you talk about a procedure to setup training sets, can this be done in pyiron?
it was VOLMIN-->CELLMIN-->INTMIN. I guess I haven't followed along with the docs in pyiron. can you point to a place where I can look this up?

This is great! thank you for the inputs, @pmrv. I need inputs on a few more things: (this issue may not be the right place to do this, please let me know if I need to move it elsewhere..)

It's ok here for now.

(i) I have an older version of pyiron on my compute cluster. This version doesnt have separate pyiron_atomistics, pyiron, pyiron_base. I'm not sure how to update this. Do you recommend I remove the current repo and starting fresh? I don't have that many important jobs in that pyiron version, I suppose I can safely remove it.

Probably yes, there's a finite chance that we can still load old jobs anyway.  If you don't care about the old work at all, be sure to delete the database as well.  I'm guessing you are using the sqlite, so it's just a matter of checking your .pyiron for the filepath to the database and delete that.

(ii) in your paper, you talk about a procedure to setup training sets, can this be done in pyiron? it was VOLMIN-->CELLMIN-->INTMIN. I guess I haven't followed along with the docs in pyiron. can you point to a place where I can look this up?

I don't have public code for this yet, but you can do this with the Vasp job, the calc_minimize method and modifying the IBRION tag of VASP (via job.input.incar). Sadly the doc web page is broken right now, so I can't point you to something immediately.

There's some information on how to create structure databases in the latest workshop material: http://pyiron.org/potentials-workshop-2022/introduction/ex_02_creating_structure_databases.html#add-some-defect-structures-vacancies-surfaces-etc

Awesome, I can start from here. I'll maybe ping you via email or open an issue on pyiron_atomistics if need be! Thanks again, @pmrv !


net: http.http2Frame is *http.http2UnknownFrame, not *http.http2HeadersFrame

What version of Go are you using (go version)?

$ go version
go version go1.12.5 linux/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build000458693=/tmp/go-build -gno-record-gcc-switches"

What did you do?
It is randomly occurred. Sometimes works fine without error, sometimes panics.
Maybe it associated with my Transport.
type Transport struct {
	upstream  http.RoundTripper
	jar       http.CookieJar
	delay     int
	userAgent string
}

func (t *Transport) RoundTrip(r *http.Request) (*http.Response, error) {
	resp, err := t.upstream.RoundTrip(r)
	if err != nil {
		return nil, err
	}

	if some_condition(resp) {

		req, err = http.NewRequest("GET", u.String(), nil)
		if err != nil {
			return nil, err
		}

		client := http.Client{
			Transport: t,
			Jar:       t.jar,
			CheckRedirect: func(req *http.Request, via []*http.Request) error {
				return http.ErrUseLastResponse
			},
		}

		resp, err = client.Do(req)
		if err != nil {
			return nil, err
		}

		redirectUrl := resp.Header.Get("Location")
		redirectLocation, err := url.Parse(redirectUrl)
		if err != nil {
			return nil, err
		}
		if redirectLocation.Host == "" {
			redirectUrl = fmt.Sprintf("%s://%s%s",
				resp.Request.URL.Scheme,
				resp.Request.URL.Host,
				redirectUrl)
		}

		req, err = http.NewRequest("GET", redirectUrl, nil)
		if err != nil {
			return nil, err
		}

		client = http.Client{
			Transport: t,
			Jar:       t.jar,
		}
		resp, err = client.Do(req)
		return resp, err
	}

	return resp, err
}

What did you expect to see?
Works without panics.
What did you see instead?

panic:
api_1  | 15:58:21 app         | interface conversion: http.http2Frame is *http.http2UnknownFrame, not *http.http2HeadersFrame
api_1  | 15:58:21 app         |
api_1  | 15:58:21 app         |
api_1  | 15:58:21 app         | panic:
api_1  | 15:58:21 app         | err must be non-nil
api_1  | 15:58:21 app         |
api_1  | 15:58:21 app         |
api_1  | 15:58:21 app         | goroutine
api_1  | 15:58:21 app         | 32
api_1  | 15:58:21 app         |  [
api_1  | 15:58:21 app         | running
api_1  | 15:58:21 app         | ]:
api_1  | 15:58:21 app         | panic
api_1  | 15:58:21 app         | (
api_1  | 15:58:21 app         | 0x9e0580
api_1  | 15:58:21 app         | ,
api_1  | 15:58:21 app         | 0xbb6070
api_1  | 15:58:21 app         | )
api_1  | 15:58:21 app         |
api_1  | 15:58:21 app         | /usr/local/go/src/runtime/panic.go
api_1  | 15:58:21 app         | :
api_1  | 15:58:21 app         | 565
api_1  | 15:58:21 app         |  +
api_1  | 15:58:21 app         | 0x2c5
api_1  | 15:58:21 app         |  fp=
api_1  | 15:58:21 app         | 0xc000407b68
api_1  | 15:58:21 app         |  sp=
api_1  | 15:58:21 app         | 0xc000407ad8
api_1  | 15:58:21 app         |  pc=
api_1  | 15:58:21 app         | 0x42bca5
api_1  | 15:58:21 app         |
api_1  | 15:58:21 app         | net/http.(*http2pipe).closeWithError
api_1  | 15:58:21 app         | (
api_1  | 15:58:21 app         | 0xc0002d76a8
api_1  | 15:58:21 app         | ,
api_1  | 15:58:21 app         | 0xc0002d76f8
api_1  | 15:58:21 app         | ,
api_1  | 15:58:21 app         | 0x0, 0x0, 0x0)
api_1  | 	/usr/local/go/src/net/http/h2_bundle.go:3553 +0x1cd fp=0xc000407b90 sp=0xc000407b68 pc=0x67d70d
api_1  | 15:58:21 app         | net/http.(*http2pipe).CloseWithError
api_1  | 15:58:21 app         | (...)
api_1  | 	/usr/local/go/src/net/http/h2_bundle.go:3540
api_1  | net/http.(*http2clientConnReadLoop).cleanup(0xc000407fb8)
api_1  | 	/usr/local/go/src/net/http/h2_bundle.go:8084 +0x26c fp=0xc000407c90 sp=0xc000407b90 pc=0x694cac
api_1  | 15:58:21 app         | runtime.call32(0x0, 0xae22d8, 0xc00005a0b0, 0x800000008)
api_1  | 	/usr/local/go/src/runtime/asm_amd64.s:519 +0x3b fp=0xc000407cc0 sp=0xc000407c90 pc=0x45605b
api_1  | panic(0xa18c40, 0xc0005de240)
api_1  | 	/usr/local/go/src/runtime/panic.go:522 +0x1b5 fp=0xc000407d50 sp=0xc000407cc0 pc=0x42bb95
api_1  | 15:58:21 app         | runtime.panicdottypeE
api_1  | 15:58:21 app         | (...)
api_1  | 	/usr/local/go/src/runtime/iface.go:248
api_1  | runtime.panicdottypeI(0xbc7d40, 0xa6c9a0, 0xa20f80)
api_1  | 	/usr/local/go/src/runtime/iface.go:258 +0xf5 fp=0xc000407d78 sp=0xc000407d50 pc=0x409455
api_1  | net/http.(*http2Framer).ReadFrame(0xc00058f420, 0xc0002830e0, 0x0, 0x0, 0x0)
api_1  | 	/usr/local/go/src/net/http/h2_bundle.go:1759 +0x65d fp=0xc000407e38 sp=0xc000407d78 pc=0x67559d
api_1  | net/http.(*http2clientConnReadLoop).run(0xc000407fb8, 0xae22d8, 0xc0003b3fb8)
api_1  | 	/usr/local/go/src/net/http/h2_bundle.go:8102 +0x8f fp=0xc000407f70 sp=0xc000407e38 pc=0x694f7f
api_1  | net/http.(*http2ClientConn).readLoop(0xc00006b080)
api_1  | 	/usr/local/go/src/net/http/h2_bundle.go:8030 +0x76 fp=0xc000407fd8 sp=0xc000407f70 pc=0x694836
api_1  | runtime.goexit()
api_1  | 	/usr/local/go/src/runtime/asm_amd64.s:1337 +0x1 fp=0xc000407fe0 sp=0xc000407fd8 pc=0x457bf1
api_1  | created by net/http.(*http2Transport).newClientConn
api_1  | 	/usr/local/go/src/net/http/h2_bundle.go:7093 +0x637

@zhangriyueming - Can you give us a complete code sample that reproduces this error, and not a snippet of it ?

@agnivade - Thanks for your response. But I don't have something to "reproduce this error". It's stochastic. The whole program can either works for hundred hours just fine, or throw that panics at just beginning or in one hour.
It might be related to the network environment or something. There was another panics. Located to ProxyFromEnvironment function which in net/http/transport.go. And it says 'nil pointer or invalid memory. Then I put something like this http.DefaultTransport.(*http.Transport).Proxy = nil to avoid that panic. Since this program doesn't need any proxy.
But now I have no idea why this http.http2Frame is *http.http2UnknownFrame, not *http.http2HeadersFrame happens. I thought maybe there were some problems in the snippet I posted above.
The snippet I posted contains all and only things related to http/transport stuff. Except this, there are just very simple http.NewRequest(), Client.Do(req) things.

Yes, I understand it is not deterministic. I just wanted the entire program rather than a part of it so it becomes easy for us to debug it. If you cannot share the entire program, perhaps you can cut out just this part from it and make an independent program ?

package main

import (
	"encoding/json"
	"fmt"
	"io"
	"io/ioutil"
	"net/http"
	"net/http/cookiejar"
	"net/url"
	"strings"
	"time"
)

type Transport struct {
	upstream  http.RoundTripper
	jar       http.CookieJar
	delay     int
	userAgent string
}

func NewTransport(upstream http.RoundTripper) (*Transport, error) {
	jar, err := cookiejar.New(nil)
	if err != nil {
		return nil, err
	}
	userAgent := "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0"
	return &Transport{
		upstream:  upstream,
		jar:       jar,
		delay:     8,
		userAgent: userAgent}, nil
}

func (t *Transport) RoundTrip(r *http.Request) (*http.Response, error) {
	resp, err := t.upstream.RoundTrip(r)
	if err != nil {
		return nil, err
	}

	if resp.StatusCode == 503 &&
		strings.HasPrefix(resp.Header.Get("Server"), "cloudflare") {

		req, err := http.NewRequest("GET", "https://www.google.co.jp/", nil)
		if err != nil {
			return nil, err
		}

		client := http.Client{
			Transport: t,
			Jar:       t.jar,
			CheckRedirect: func(req *http.Request, via []*http.Request) error {
				return http.ErrUseLastResponse
			},
		}

		resp, err = client.Do(req)
		if err != nil {
			return nil, err
		}

		redirectUrl := resp.Header.Get("Location")
		redirectLocation, err := url.Parse(redirectUrl)
		if err != nil {
			return nil, err
		}
		if redirectLocation.Host == "" {
			redirectUrl = fmt.Sprintf("%s://%s%s",
				resp.Request.URL.Scheme,
				resp.Request.URL.Host,
				redirectUrl)
		}

		req, err = http.NewRequest("GET", redirectUrl, nil)
		if err != nil {
			return nil, err
		}

		client = http.Client{
			Transport: t,
			Jar:       t.jar,
		}
		resp, err = client.Do(req)
		return resp, err
	}

	return resp, err
}

type Job struct {
	baseUrl             string
	transport           *Transport
	client              *http.Client
	clientWithTransport *http.Client
}

type Response struct {
	Key1 string `json:key1`
	Key2 string `json:key2`
	Key3 string `json:key3`
}

func (job *Job) syncPart1(v interface{}) error {
	req, err := http.NewRequest("GET", job.baseUrl+"part1", nil)
	resp, err := job.client.Do(req)
	if err != nil {
		return err
	}
	defer resp.Body.Close()

	decErr := json.NewDecoder(resp.Body).Decode(v)
	if decErr == io.EOF {
		decErr = nil // ignore EOF errors caused by empty response body
	}
	if decErr != nil {
		err = decErr
	}

	return err
}

func (job *Job) syncPart2() ([]byte, error) {
	req, err := http.NewRequest("GET", job.baseUrl+"part2", nil)
	if err != nil {
		return nil, err
	}
	resp, err := job.clientWithTransport.Do(req)
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		return nil, err
	}
	return body, nil
}

func (job *Job) Sync() {
	var r Response
	job.syncPart1(&r)
	job.syncPart2()
}

func NewJob() *Job {
	http.DefaultTransport.(*http.Transport).Proxy = nil
	transport, _ := NewTransport(http.DefaultTransport)
	return &Job{
		baseUrl:             "https://www.google.com/",
		transport:           transport,
		client:              &http.Client{},
		clientWithTransport: &http.Client{Transport: transport},
	}
}

func handler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "Greeting! %s", r.URL.Path[1:])
}

func main() {

	job := NewJob()

	go func() {
		for {
			job.Sync()
			time.Sleep(20 * time.Second)
		}
	}()

	http.HandleFunc("/", handler)
	http.ListenAndServe(":8080", nil)
}

@agnivade - If this is what you meant.

@agnivade - This panic is very rarely. It often jumped out after dozens days running. So it makes harder to catch it. And I still think it associated to specific environment. And if we know which situation will cause this error message would be very helpful.

Thanks.
@bradfitz @fraenkel

I don't see how this can happen (the return fr.readMetaFrame(f.(*HeadersFrame) line crashing in the interface type assertion on f).
@zhangriyueming, can you run your program under the race detector? https://blog.golang.org/race-detector
@fraenkel, @tombergan, you see anything I'm missing?

@bradfitz, I'm looking around an approach to run a reduced or minimal version under the race detector since it will cause 10 times CPU/Memory expensive. At the mean time, I got another panic #32004, I think these may be linked and related.
And the other one I mentioned above, there was a panic nil pointer or invalid memory located to ProxyFromEnvironment function which in net/http/transport.go. Should I create an issue to it either?

Btw, the program is running in a docker container, if it mights.

I don't see how either of these are possible, so I suspect some sort of memory corruption. Please post a full repro and/or run with the race detector and see if you have any data races.


refresh issue

Pre-requirements

[X] Reviewed the Deployment guide
[X] Reviewed the Troubleshooting guide
[X] Reviewed the YouTube channel
[X] Reviewed the GitHub Issues list

What dashboard are you reporting an issue on?
Infrastructure Dashboard
What happened?
I have the desktop version but somehow its not refreshing the "Get Advisor Score" table.

Steps to reproduce
the report was shared to me from a colleague who works as a Security analyst. As you can see in the picture its a different version than what you have in 5 of your Youtube videos. I just need help refreshing the data and specifically that table.
Additional context
No response

Hi @mikewolly the solution was already answered by the bot, apologies for now answering here. https://github.com/Azure/CCOInsights/issues/367


After I added additional tests in #1678, I encounter a similar errors myself. At least for my code, I'm pretty sure it is caused by the fact that pandas tries to downcast the result back to the original type in groupby aggregations. The relevant code can be found in _GroupBy._try_cast. Maybe a similar process is at play here.

@chmp do you happen to understand this problem well enough to create a smaller reproducible example than the test linked to above?

Actually, I misread the test, I assumed it was related to the mean. For count, the explanation of @sinhrks should be right.

I've just prepared a fix to always return np.float64 for "count". Because dtype cannot be determined until all partition results are combined. Sending a PR once travis is green.

There is similar issue  on float16:
if one column is float16  and you sum the whole in aggfunc, the  result is overflow float16.
The remedy is to convert to float32 the column.... (for very large table, float16 saves memory......), so having aggregated results in float64 is better.


install-from-qi-file: simplify dependency list construction

CI: https://travis-ci.org/dunn/qi/builds/235871513


Add installation instruction for zplug

@googlebot I signed it!

I won't merge this since I cannot maintain it.
I also would discourage users from building this locally, as it is a slow process which is a quite bad user experience. Also there's nothing wrong with just downloading the aliases and sourcing them (I use zsh and I do this just fine).


Fix export ONNX export INC trainer

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


CocoaPods Support / Podspec

It would be great if there were alternative packaging options like CocoaPods for people hitting issues with Swift Package Manager. I'm willing to contribute a podspec, but I noticed the following 3 dependencies will also need CocoaPods support:

https://github.com/pointfreeco/xctest-dynamic-overlay
https://github.com/pointfreeco/swift-case-paths
https://github.com/pointfreeco/combine-schedulers

Is this something you would consider merging?
Thanks!
edit: workaround here https://github.com/pointfreeco/swift-composable-architecture/issues/557#issuecomment-846223323

Hi @chrisballinger, sorry but we have chosen not to support cocoapods. The burden of maintenance is too high to do for all of our open source projects. If it's definitely necessary for your situation then you could maintain a fork of the repo that adds a podspec.
I'm going to close this issue now, but if you want to discuss further, or ask the community how they work around SPM bugs please do open a discussion in the repo.

No worries, I find it a pain to maintain podspecs as well. For anyone else who needs CocoaPods support, we have some initial working podspecs that you can add to your Podfile here:
pod 'XCTestDynamicOverlay', :git => 'https://github.com/Rightpoint/xctest-dynamic-overlay.git', :branch => 'cocoapods-podspec'
pod 'CasePaths', :git => 'https://github.com/Rightpoint/swift-case-paths.git', :branch => 'cocoapods-podspec'
pod 'CombineSchedulers', :git => 'https://github.com/Rightpoint/combine-schedulers.git', :branch => 'cocoapods-podspec'
pod 'ComposableArchitecture', :git => 'https://github.com/Rightpoint/swift-composable-architecture.git', :branch => 'cocoapods-podspec'

I can confirm that ditching SPM and using these podspecs fixed the issue I was having in #556. Will probably need to file a radar with Apple for that one.

how can i use it in cocoapods submodules in big enterprise app which use modules? we can't rewrite all app to SPM, and just then use TCA. It's sad :(

I add cocoapods support for the latest TCA framework
pod 'CasePaths', :git => 'https://github.com/cooler333/swift-case-paths.git', :branch => 'cocoapods-support'
pod 'CombineSchedulers', :git => 'https://github.com/cooler333/combine-schedulers.git', :branch => 'cocoapods-support'
pod 'ComposableArchitecture', :git => 'https://github.com/cooler333/swift-composable-architecture.git', :branch => 'cocoapods-support'
pod 'CustomDump', :git => 'https://github.com/cooler333/swift-custom-dump.git', :branch => 'cocoapods-support'
pod 'XCTestDynamicOverlay', :git => 'https://github.com/cooler333/xctest-dynamic-overlay.git', :branch => 'cocoapods-support'
pod 'IdentifiedCollections', :git => 'https://github.com/cooler333/swift-identified-collections.git', :branch => 'cocoapods-support'
pod 'OrderedCollections', :git => 'https://github.com/cooler333/swift-collections.git', :branch => 'cocoapods-support'

Based on @cooler333 's implementation, I set up a custom podspec repo, so you can use it in your Podfile.
All you need to do is:
source 'https://github.com/lordzsolt/swift-composable-architecture-podspecs.git'

target 'YOUR_TARGET' do
  use_frameworks!

  pod 'ComposableArchitecture'
end

Considering the only thing that needs to be done is to change the version number and push a new version from time to time, I'll try to keep it up to date with TCA.

#if !COCOAPODS
import ComposableArchitecture
#endif
希望能帮到你


Bug in score() function in HSMM

After some testing, it is found out that the score() function is giving different result to the fit() score.

It is found out that in fit(), logframe is not updated every loop, despite the emission parameters being updated! Bug fixed on this commit.


React: Masthead - @800px to 920px Platform is not visible

Detailed description
Issue: When user re sizes the browser to 800px to 920px, Platform is not visible
Additional information

Seems to be a duplicate of an adopter and adopter Slack request.  Will close this issue as a dup when the bug is submitted by the adopter.

@RobertaJHahn @Praveen-sr This is a duplicate of #4140 and has already been fixed.


TNO-1209: Create Razor Template for Morning Report

TNO-1209: Create Razor Template for Morning Report

Can you change the migration number to 1.0.32?

Sure, as my other PR (TNO-1213) already used 1.0.32, so I will change this migration number to 1.0.33 if you don't mind?


Analysis options bugged after upgrading from Flutter 3.22.0-0.2.pre to 3.23.0-0.1.pre

For the last 6 moths I have been using this guide to essentially include all linter rules and then override the conflicts and tune the rules to my taste. I have made this simple little setup into a package that I host on a private GitHub repo and just update the all_linter_rules.yaml file whenever new rules are added, as well as make sure all conflicts are resolved. With the 3.23 beta I am encountering a new error even though my overall methods have remained consistent.
I am now getting warnings about conflicting linter rules in my all_linter_rules.yaml file even though conflicts are properly overridden and the included_file_warning: ignore analyzer error is properly set. The weird part is that when I reference my custom analysis packages' analysis_options.yaml locally the errors are not present.
Actual results
My best guess of what is actually happening is for some reason the included_file_warning: ignore is not being applied to subsequent inclusions in yaml files. This is resulting in linter rules showing up as conflicts. Interestingly this is only reproducible when importing as a package.
Code sample
Attempt to import this analysis package in your projects analysis_options.yaml:
include: package:nv_analysis/analysis_options.yaml

Screenshots or Video
No response
Logs
No response
Flutter Doctor output
Doctor output
[✓] Flutter (Channel beta, 3.23.0-0.1.pre, on macOS 14.5 23F79 darwin-arm64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google
    Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Android Studio (version 2023.1)
[✓] VS Code (version 1.90.0)
[✓] Connected device (4 available)
    ! Error: Browsing on the local area network for iPhone. Ensure the device is unlocked and attached with a cable
      or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)
[✓] Network resources

! Doctor found issues in 1 category.

Originally posted by @cabaucom376 in https://github.com/flutter/flutter/issues/149981

I experience similar behavior in my project. In this monorepo, there is a package www_analysis dedicated to configuring analyzer, which only contains lib/analysis_options.yaml file with the following content:
analyzer:
  exclude:
    - lib/**.g.dart
    - lib/**.freezed.dart
    - lib/**.i69n.dart
    - lib/**.config.dart

  errors:
    missing_required_param: error
    missing_return: error
    invalid_assignment: warning
    invalid_annotation_target: ignore

This package is referenced by path by every other package, and their analysis_options.yaml file contains:
include: package:www_analysis/analysis_options.yaml

With this configuration, the project used to have no analyzer warnings in generated files, and also did not have invalid_annotation_target warnings because it was instructed to ignore those.
However, after I switched from stable channel Flutter 3.22.2 and Dart 3.4.3 to beta Flutter 3.23.0-0.1.pre and Dart 3.5.0-180.3.beta, this configuration provided with include seems to be ignored as there are now invalid_annotation_target warnings everywhere.
If I copy the content of www_analysis/lib/analysis_options.yaml file to analysis_options.yaml of other packages, warnings in those packages disappear.

There is another possible reason for the behavior being reported here: it's possible that the interpretation of relative paths changed. If the relative path is now interpreted relative to the analysis_options.yaml file in www_analysis and was previously interpreted relative to the including analysis_options.yaml file, that would account for the difference.
@pq

Still occurs in Flutter 3.24.0-0.1.pre

Fixed via this commit.


Update various project set-up files

This PR updates the README, adds the LICENSE and CONTRIBUTING files.  It also sets up pre-commit, though I have temporarily disabled bandit checks because I was unable to test the changes it was recommending (due to some unavailable infrastructure today).

There is a more recent version of the CONTRIBUTING file in the skeleton-python-library that covers running pytest.  While you're over there grab the setup.py, .travis.yml, pystest.ini, and .coveragerc.   Get your coverage on yo!

@jsf9k and @felddy thanks for your reviews- please take a look at the latest batch of commits and let me know if you spot anything else that I should add at this juncture.

@jsf9k I will have to check on the next build if coveralls cares about an empty tests directory; I hadn't yet enabled coveralls on this project when the most recent build ran (a coveralls exception was thrown, but it didn't cause the build to fail).
@felddy Looks like pytest with an empty tests directory causes the build to fail.


Adding-missing-challenge-solution

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

@petegarvin1 The console.log statement is not needed.  Also, please replace the // solution required as we want to make it clear a solution is required for the part of the file.
Other than that, the solution works fine.
Thank you.

I have tested solutions locally and they all pass the tests.


Add output stop button

Description
With this feature users will be able to stop ayumi gpt (just like chat gpt) in between while giving response..
Screenshots

Is this working now?

not yet

Can I work on this?

Can I work on this?

yes

are you still working on this issue?

Can I work on this for hacktoberfest @nitin-787

Can I work on this for hacktoberfest @nitin-787

@Priyammm05 yes sure!

Can I work on this for hacktoberfest @nitin-787

@Priyammm05 yes sure!

Can I work on this for hacktoberfest @nitin-787

@Priyammm05 yes sure!

Can I work on this for hacktoberfest @nitin-787

Yes sure @Priyammm05

Can you please assign it to me

Cn you provide me this file "import 'package:chatgpt/constants/api_consts.dart';" which contains api key and base url

create your https://openai.com/ account and you'll get the api for free

sure ping me on discord @benihimearatamee

@nitin-787 I texted you the the discord


Add a margin to menu item icons

There is no gap between the menu item icon and name. We need to add a margin to the icon or text.

@thusithak Can you please look into this?

Closing as repo is deprecated.


<EMAIL_ADDRESS>fails to install in a fresh node container

Do you want to request a feature or report a bug?
bug
What is the current behaviour?
docker run --rm -ti node:8.16.0-alpine /bin/sh
# npm i --global<EMAIL_ADDRESS>
Shows:
npm WARN deprecated<EMAIL_ADDRESS>Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw
npm WARN deprecated<EMAIL_ADDRESS>Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw
/usr/local/bin/preact -> /usr/local/lib/node_modules/preact-cli/lib/index.js

><EMAIL_ADDRESS>install /usr/local/lib/node_modules/preact-cli/node_modules/nodent-runtime
> node build.js

fs.js:646
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: EACCES: permission denied, open '/usr/local/lib/node_modules/preact-cli/node_modules/nodent-runtime/dist/index.js'
    at Object.fs.openSync (fs.js:646:18)
    at Object.fs.writeFileSync (fs.js:1299:33)
    at Object.<anonymous> (/usr/local/lib/node_modules/preact-cli/node_modules/nodent-runtime/build.js:5:4)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
npm WARN<EMAIL_ADDRESS>requires a peer of preact@* but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of preact-render-to-string@* but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^16.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/preact-cli/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Other random npm packages install without errors, e.g. webpack.
If the current behaviour is a bug, please provide the steps to reproduce.

What is the expected behaviour?
Installing without any errors.
If this is a feature request, what is motivation or use case for changing the behaviour?
Please mention other relevant information.

Node version: 8.16.0-alpine
npm version: 8.16.0-alpine
Operating system: alpine
CLI version
Browser

https://github.com/MatAtBread/nodent-runtime/issues/5
Not an issue with preact-cli
Also you shouldn't really do global installs in docker

Got it. But the last comment does not make sense. Global installs for project specific containers is absolutely a thing.

For a dev container maybe


Add REST endpoint for getting all available Tokens

We should have a page that describes all of the tokens available within SmartClaimz.  For that, I need a Drasil endpoint to pull all available tokens (can just be the ticker as I can use George's token registry to get all of the data).

#100


Login its no working

I've been like 2 days trying to log in and it doesn't leave it just goes blank

https://github.com/pypy-vrc/VRCX/issues/379


why mongodb get duplicate transaction_traces, which has same producer_block_id?

I find  duplicate transaction_traces in mongodb,  which has same producer_block_id, config.ini don't switch read-mode to read-only.
But I wonder that if duplicate transaction_traces occuered because of  block broadcast and transaction broadcast which both triggered accepted_transaction and applied_transaction, it supposed to  be that one  transaction_trace's producer_block_id is null (transaction broadcast, not be contained in the block).
Why both transaction_traces has same  producer_block_id？
Here is my data：
> db.transaction_traces.find({'id':"00dc7f9c65bd2cf1f3bd8d0967184fbfce255c4bfdae60a5849a51d5390a9e9a"}).pretty();
{
	"_id" : ObjectId("5cea2f5830f2ae52823d6abd"),
	"id" : "00dc7f9c65bd2cf1f3bd8d0967184fbfce255c4bfdae60a5849a51d5390a9e9a",
	"block_num" : 60128049,
	"block_time" : "2019-05-26T06:16:54.000",
	"producer_block_id" : "03957b3128dc00ae1c105da13caf0a351efb5c1cacc848695f885cf99bff9429",
	"receipt" : {
		"status" : "executed",
		"cpu_usage_us" : 335,
		"net_usage_words" : 24
	},
	"elapsed" : 88,
	"net_usage" : 192,
	"scheduled" : false,
	"action_traces" : [
		{
			"receipt" : {
				"receiver" : "pornhashbaby",
				"act_digest" : "b1f979840d563e6b5f3c6f605d3d9e0a5c43f51f4d22ca18c9ebf11dd1c6ccab",
				"global_sequence" : "6933253804",
				"recv_sequence" : 60273201,
				"auth_sequence" : [
					[
						"nervieverian",
						904
					]
				],
				"code_sequence" : 3,
				"abi_sequence" : 2
			},
			"act" : {
				"account" : "pornhashbaby",
				"name" : "record",
				"authorization" : [
					{
						"actor" : "nervieverian",
						"permission" : "active"
					}
				],
				"data" : {
					"account" : "nervieverian",
					"content" : "1|hbM2CAMcdZ9xLmrlPlLvLqU5fJXlRlMPdZwoLlzle2MtCZQ0LmrlTAM0dZQvCV81RWn5QWn1QWDaPWDzPWP5Lq0="
				},
				"hex_data" : "308dbb6a2bb7af9a5a317c68624d3243414d63645a39784c6d726c506c4c764c715535664a586c526c4d50645a776f4c6c7a6c65324d74435a51304c6d726c54414d30645a51764356383152576e3551576e31515744615057447a505750354c71303d"
			},
			"context_free" : false,
			"elapsed" : 39,
			"console" : "",
			"trx_id" : "00dc7f9c65bd2cf1f3bd8d0967184fbfce255c4bfdae60a5849a51d5390a9e9a",
			"block_num" : 60128049,
			"block_time" : "2019-05-26T06:16:54.000",
			"producer_block_id" : "03957b3128dc00ae1c105da13caf0a351efb5c1cacc848695f885cf99bff9429",
			"account_ram_deltas" : [ ],
			"except" : null,
			"inline_traces" : [ ]
		}
	],
	"except" : null,
	"createdAt" : ISODate("2019-05-26T06:16:56.184Z")
}
{
	"_id" : ObjectId("5cea2f5b30f2ae52823d7442"),
	"id" : "00dc7f9c65bd2cf1f3bd8d0967184fbfce255c4bfdae60a5849a51d5390a9e9a",
	"block_num" : 60128049,
	"block_time" : "2019-05-26T06:16:54.000",
	"producer_block_id" : "03957b3128dc00ae1c105da13caf0a351efb5c1cacc848695f885cf99bff9429",
	"receipt" : {
		"status" : "executed",
		"cpu_usage_us" : 335,
		"net_usage_words" : 24
	},
	"elapsed" : 82,
	"net_usage" : 192,
	"scheduled" : false,
	"action_traces" : [
		{
			"receipt" : {
				"receiver" : "pornhashbaby",
				"act_digest" : "b1f979840d563e6b5f3c6f605d3d9e0a5c43f51f4d22ca18c9ebf11dd1c6ccab",
				"global_sequence" : "6933253804",
				"recv_sequence" : 60273201,
				"auth_sequence" : [
					[
						"nervieverian",
						904
					]
				],
				"code_sequence" : 3,
				"abi_sequence" : 2
			},
			"act" : {
				"account" : "pornhashbaby",
				"name" : "record",
				"authorization" : [
					{
						"actor" : "nervieverian",
						"permission" : "active"
					}
				],
				"data" : {
					"account" : "nervieverian",
					"content" : "1|hbM2CAMcdZ9xLmrlPlLvLqU5fJXlRlMPdZwoLlzle2MtCZQ0LmrlTAM0dZQvCV81RWn5QWn1QWDaPWDzPWP5Lq0="
				},
				"hex_data" : "308dbb6a2bb7af9a5a317c68624d3243414d63645a39784c6d726c506c4c764c715535664a586c526c4d50645a776f4c6c7a6c65324d74435a51304c6d726c54414d30645a51764356383152576e3551576e31515744615057447a505750354c71303d"
			},
			"context_free" : false,
			"elapsed" : 43,
			"console" : "",
			"trx_id" : "00dc7f9c65bd2cf1f3bd8d0967184fbfce255c4bfdae60a5849a51d5390a9e9a",
			"block_num" : 60128049,
			"block_time" : "2019-05-26T06:16:54.000",
			"producer_block_id" : "03957b3128dc00ae1c105da13caf0a351efb5c1cacc848695f885cf99bff9429",
			"account_ram_deltas" : [ ],
			"except" : null,
			"inline_traces" : [ ]
		}
	],
	"except" : null,
	"createdAt" : ISODate("2019-05-26T06:16:59.678Z")
}

In order to focus our efforts on issues that are currently creating difficulty for the community we are closing tickets that were created prior to the EOSIO 2.0 release.  If you believe this issue is still relevant please feel free to reopen it or create a new one.  Thank you for your continued support of EOSIO!


fix: open learning button redirection

Pre-Flight checklist

[ ] Screenshots and design review for any changes that affect layout or styling

[ ] Desktop screenshots
[ ] Mobile width screenshots

[ ] Testing

[ ] Code is tested
[ ] Changes have been manually tested

What are the relevant tickets?
No ticket :)
What's this PR do?
Fixes this button redirection on about us page:

How should this be manually tested?

Go to about us page and verify that this button works fine

👍


Relative urls for images for salesforce docs

The code is using relative urls for the links, but not for the images. This means that the images do not displayed on github or on a local system.

These relative links should work as it's the same way the in-between links are working. However, I'm not sure how the website docs page is doing rendering and why we wouldn't just make the links "media/image.png" instead "./../plugins/media/image.png".


Update build details - show author

Before:
build details

build list

After:
build details

build list

cc: @ksvital

Nice touch!


Swithing between languages and saving all at once

This might be going a bit far, but would it be possible to switch between the languages without reloading the page? Ideally it would be nice for the user to be able to edit any of the different languages and hit "Save" and have them all save at once.
What do you think? Is this possible? Or very difficult?

Well, the models can handle it for sure. I'm just not sure if that can be done in the adminm but it's worth a try!
I've wanted this to work in standard Django forms for some time now, because the parler-oscar integration does suffer from exposing just one language in the form. Having a form class that can generate fields for all languages would be a first good start to implement this!

+1
Having only one language at once with the form class can cause problems.  It would be nice if the form class automatically showed all languages. "Description (EN), Description (FR), etc.".
I find myself programming manual forms everytime there's a multilingual component.

Here is how I do my forms it in the meantime.
from parler.forms import TranslatableModelForm, TranslatedField
from django.utils.translation import gettext_lazy as _
from django.conf import settings

class MyForm(TranslatableModelForm):

    #add all multilingual fields to the form
    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        for lang_code, lang_name in settings.LANGUAGES:
            #I have no clue why this doesn't work without the try/except.
            try:
                self.instance.set_current_language(lang_code)
                self.fields["name_"+lang_code] = forms.CharField(label=_("Name ")+" ("+lang_code+")", max_length=100, required=True, initial=self.instance.name)
            except:
                self.instance.set_current_language(lang_code)

    #Save all multilingual fields
    def save(self, commit=True):
        instance = super(MyForm, self).save(commit=False)
        instance.save()
        for lang_code, lang_name in settings.LANGUAGES:
            instance.set_current_language(lang_code)
            instance.name = self.cleaned_data['name_'+lang_code]
            instance.save()
        return instance

    class Meta:
        model = MyModel
        fields = '__all__'
        exclude = ("name", "description",) #exclude multilingual fields because they are dealt with above

@svezina what is the exception that you are catching? Probably by knowing what is the exception someone can understand why happens.

I think the issue here is getting values from the translated instance for the initial data. That will fail upon creation and if a field is not set yet in the model.  At least that is what I have with django 1.8 and parler 1.6.4
"""
mymodel does not have a translation for the current language!
MyModel ID #5, language=de (tried fallbacks en)
Attempted to read attribute title.
"""


[NEW ALGORITHM] Find Critical and Pseudo-Critical Edges in Minimum Spanning Tree

Issue will be closed if:
In graph theory, a Minimum Spanning Tree (MST) is a subset of the edges of a connected, weighted, undirected graph that connects all vertices with the minimum possible total edge weight, without any cycles. In the context of MSTs, edges can be classified into two categories:
Critical Edges: These are edges that, when removed, increase the total weight of the MST. Their presence is essential for maintaining the minimum weight.
Pseudo-Critical Edges: These edges can be included in some MSTs but are not required in all. Their inclusion does not guarantee that the MST weight will remain the same across different MSTs.
Identifying critical and pseudo-critical edges helps in understanding the structure and flexibility of the MST in a given graph.
Name:
Find Critical and Pseudo-Critical Edges in Minimum Spanning Tree
About:
Find Critical and Pseudo-Critical Edges in Minimum Spanning Tree

Labels:
new algorithm, gssoc-ext, hacktoberfest, level1

Assignees:

[x] Contributor in GSSoC-ext
[x] Want to work on it

@pankaj-bind pls assign me this issue

@pankaj-bind !

Do not create multiple issues.


✏ Add cast list to details screen

Add a list of cast members to the show details screen. Ideally this would contain thumbnail images of the actors, but a list of names at minimum.

Duplicated on #594 lol


add campaign info to class create step

Provide a sentence below the "subject" selection that offers information about what campaigns will be added when this subject is selected, eg:
You've selected the subject Science. This will add 1 campaign to your class, Trash.

Fixed @ https://github.com/mobilizingcs/teacher/commit/acedca6649e89350cf3c6359ddde7dc2d6be6251.


docs(user-guide): improve the user guide and add "How to Create a New Study?" topic

This PR adds several enhancements to the documentation, focusing on the creation, upgrade, and import processes of studies in Antares Web. Below are the key changes included in this PR:
Added

A new topic "How to Create a New Study?" in docs/how-to/studies-create.md, providing a detailed guide on creating a new study in Antares Web.
Reference to the "How to Upgrade a Study?" section in docs/how-to/studies-upgrade.md, ensuring users are aware that upgrades are only applicable for raw studies without variants.
A section on importing a study using the API endpoint in docs/how-to/studies-import.md, demonstrating the process with a Python script.

Updated

Enhanced the tags in the header of docs/how-to/studies-create.md to include more relevant topics such as tutorial, guide, create, version, new, study management, workspace, energy simulation, Antares, and study management.
General improvements to the User Guide documentation to make it more comprehensive and user-friendly.

These updates aim to improve the accessibility and usability of the documentation, making it easier for users to navigate and perform essential tasks within Antares Web.

Also normally docs websites are separated from the source code of the app due to those issues on managing many images and assets like MD files, videos, gifs etc.
I think we should split our docs into a separate repo and use Docusaurus (free and open source) to manage it as a static site. This way, we can keep things tidy and it'll be easier to update.
Plus, the performance boost is a nice bonus.
@laurent-laporte-pro  @makdeuneuv

Even though you're right @hdinia, the solutions you've proposed are build to deal with GB of files (cf. the first lines of the link you shared). I doubt that our documentation will ever be that huge. It's an issue to keep in mind but I don't think it's need to be tackled now.


Subscribing to two notifiable characteristics simultaneously

Great package, was able to get some ideas going super quickly. Though I ran into a problem; Is it possible to subscribe to two notifiable characteristics at the same time?
I am working on a POC where we want to measure multiple data points simultaneously. Two of the three devices use a notifiable characteristic. I notice that subscribing to a notification stream and reading from a readable characteristic is possible. But when I try to listen to both streams things just kinda freeze.
I am going to spend more time on researching if this is me, not being able to write react. Though, if there are any limitations with regard to simultaneous subscriptions on multiple devices, it would be nice to find out.
This is my code
import React, {useEffect, useState} from 'react';
import {
  SafeAreaView,
  StyleSheet,
  ScrollView,
  View,
  Text,
  StatusBar,
  PermissionsAndroid,
} from 'react-native';
import _ from 'lodash';
import {Colors} from 'react-native/Libraries/NewAppScreen';
import {BleManager} from 'react-native-ble-plx';
import {
  DefaultTheme,
  Button,
  List,
  Provider as PaperProvider,
  Chip,
} from 'react-native-paper';

import Grid, {Row, Col} from './Grid/Grid';

const getCharacteristicContainingUuids = (
  serviceUuid,
  characteristicUuid,
  characteristics,
) => {
  // console.log(
  //   serviceUuid,
  //   characteristics[serviceUuid],
  //   _.find(characteristics[serviceUuid], {uuid: characteristicUuid}),
  //   characteristics,
  // );

  return _.find(characteristics[serviceUuid], {uuid: characteristicUuid});
};

const CharacteristicData = ({
  name,
  serviceUuid,
  characteristicUuid,
  bleState,
}) => {
  const [value, setValue] = useState(null);
  const [subscription, setSubscription] = useState(null);

  const characteristic = getCharacteristicContainingUuids(
    serviceUuid,
    characteristicUuid,
    bleState.characteristics,
  );

  // console.log(characteristic);

  useEffect(() => {
    return () => {
      if (subscription) {
        subscription.remove();
        setSubscription(null);
      }
    };
  }, [subscription]);

  const onPress = (characteristic) => async () => {
    if (characteristic) {
      if (!characteristic.isNotifiable) {
        if (characteristic.isReadable) {
          const result = await characteristic.read();

          if (result) {
            setValue(result.value);
          }
        }
      } else {
        if (!characteristic.isNotifying) {
          const sub = characteristic.monitor((error, result) => {
            // console.log('hoi', name, error, result);
            if (result) {
              setValue(result.value);
            }
          });
          setSubscription(sub);
        } else {
          if (subscription) {
            subscription.remove();
          }
        }
      }
    }
  };

  return (
    <List.Item
      description={name}
      title={value}
      style={characteristic && characteristic.isNotifying && styles.highlight}
      onPress={onPress(characteristic)}
    />
  );
};

const theme = {
  ...DefaultTheme,
  roundness: 2,
  colors: {
    ...DefaultTheme.colors,
    primary: '#3498db',
    accent: '#f1c40f',
  },
};

// console.log(BleManager);

const bleManager = new BleManager();

const requestBLEPermission = async () => {
  try {
    const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
      {
        title: 'Cool BLE Permission',
        message: 'Cool BLE App needs access to your bluetooth adapter ',
        buttonNeutral: 'Ask Me Later',
        buttonNegative: 'Cancel',
        buttonPositive: 'OK',
      },
    );
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
      console.log('You can use BLE');
      return true;
    } else {
      console.log('BLE permission denied');
      return false;
    }
  } catch (err) {
    // console.warn(err);
    return false;
  }
};

const App = () => {
  const [adapterState, setAdapterState] = useState(false);
  const [bleDevices, setBleDevices] = useState([]);
  const [isScanning, setIsScanning] = useState(false);
  const [connectedDevices, setConnectedDevices] = useState({
    ecFlex: null,
    Temperature: null,
    GDX: null,
  });

  useEffect(() => {
    const subscription = bleManager.onStateChange((state) => {
      if (state === 'PoweredOn') {
        setAdapterState(true);
      } else {
        setAdapterState(false);
      }
    }, true);
    return () => subscription.remove();
  }, []);

  const toggleScanDevices = () => {
    setIsScanning(true);
    setBleDevices([]);

    bleManager.startDeviceScan(null, {}, (bleError, device) => {
      // note devices may be scanned multiple times
      if (device && _.findIndex(bleDevices, {id: device.id}) < 0) {
        bleDevices.push(device);
        setBleDevices(bleDevices);
      }
    });

    setTimeout(() => {
      setIsScanning(false);
      bleManager.stopDeviceScan();
    }, 5000);
  };

  const permission = requestBLEPermission();

  const findDeviceWhereNameContains = (name) => {
    let device = null;
    _.each(bleDevices, (item) => {
      if (String(item.name).includes(name)) {
        device = item;
      }
    });
    return device;
  };

  const getIconForSensor = (name) => {
    if (bleDevices.length === 0) {
      return 'access-point';
    }

    if (findDeviceWhereNameContains(name)) {
      return 'access-point-network';
    } else {
      return 'access-point-network-off';
    }
  };

  const connectDevice = async (name) => {
    let device = findDeviceWhereNameContains(name);

    if (device == null) {
      setConnectedDevices({...connectedDevices, [name]: null});
      return false;
    }

    let isConnected = await device.isConnected();

    if (!isConnected) {
      device = await bleManager.connectToDevice(device.id);
      isConnected = await device.isConnected();
    }
    // console.log(isConnected, device);
    device = await device.discoverAllServicesAndCharacteristics();

    device.onDisconnected((error, device) => {
      setConnectedDevices({...connectedDevices, [name]: null});
    });

    const services = await device.services();
    const characteristics = {};
    const descriptors = {};
    await _.forEach(services, async (service) => {
      characteristics[service.uuid] = await device.characteristicsForService(
        service.uuid,
      );
      // descriptors[service.uuid] = device.
    });

    setConnectedDevices({
      ...connectedDevices,
      [name]: {
        connected: isConnected,
        services,
        device,
        characteristics,
        // descriptors,
      },
    });
  };

  const toggleConnectDevice = (name) => async () => {
    if (!connectedDevices[name]) {
      await connectDevice(name);
    } else {
      const device = await connectedDevices[name].device.cancelConnection();
      if (!(await device.isConnected())) {
        setConnectedDevices({...connectedDevices, [name]: null});
      }
    }
  };

  console.log(bleDevices.length + ' devices found');
  console.log(connectedDevices);

  return (
    <PaperProvider theme={theme}>
      <StatusBar barStyle="dark-content" />
      <SafeAreaView>
        <ScrollView
          contentInsetAdjustmentBehavior="automatic"
          style={styles.scrollView}>
          {global.HermesInternal == null ? null : (
            <View style={styles.engine}>
              <Text style={styles.footer}>Engine: Hermes</Text>
            </View>
          )}
          <View style={styles.body}>
            <View style={styles.sectionContainer}>
              <Text style={styles.sectionTitle}>Step One Permissions</Text>
              <Text style={styles.sectionDescription}>
                {permission
                  ? 'we have permission to use BLE'
                  : "we don't have permission to use BLE"}
              </Text>
            </View>
            <View style={styles.sectionContainer}>
              <Text style={styles.sectionTitle}>Step two Adapter</Text>
              <Text style={styles.sectionDescription}>
                The bluetooth adapter is {adapterState ? 'on' : 'off'}
              </Text>

              <Button
                icon={!adapterState ? 'bluetooth-connect' : 'bluetooth-off'}
                mode="contained"
                onPress={() => {
                  // todo android only
                  if (adapterState) {
                    bleManager.disable();
                  } else {
                    bleManager.enable();
                  }
                }}>
                Toggle Bluetooth adapter
              </Button>
            </View>
            {adapterState && (
              <View style={styles.sectionContainer}>
                <Text style={styles.sectionTitle}>Step three scan devices</Text>
                {!isScanning && (
                  <Button
                    icon={adapterState ? 'bluetooth-connect' : 'bluetooth-off'}
                    mode="contained"
                    onPress={toggleScanDevices}>
                    Scan for devices
                  </Button>
                )}
                {bleDevices.length > 0 && (
                  <Button mode="contained" onPress={() => setBleDevices([])}>
                    Clear
                  </Button>
                )}
                {bleDevices.length > 0 && (
                  <List.Section>
                    <List.Accordion title="Devices found">
                      {_.map(bleDevices, (device, index) => (
                        <List.Item
                          key={index}
                          title={
                            (device.name || 'device') + ` (${device.rssi})`
                          }
                          description={device.localName}
                        />
                      ))}
                    </List.Accordion>
                  </List.Section>
                )}
              </View>
            )}

            {adapterState && (
              <View style={styles.sectionContainer}>
                <Text style={styles.sectionTitle}>
                  Step four connect to WSS devices
                </Text>

                <Grid>
                  <Col>
                    <Chip
                      icon={getIconForSensor('GDX')}
                      selected={!!connectedDevices.GDX}
                      onPress={toggleConnectDevice('GDX')}>
                      Vernier
                    </Chip>
                  </Col>
                  <Col>
                    <Chip
                      icon={getIconForSensor('Temperature')}
                      selected={!!connectedDevices.Temperature}
                      onPress={toggleConnectDevice('Temperature')}>
                      Temperature
                    </Chip>
                  </Col>
                  <Col>
                    <Chip
                      icon={getIconForSensor('ecFlex')}
                      selected={!!connectedDevices.ecFlex}
                      onPress={toggleConnectDevice('ecFlex')}>
                      EcFlex
                    </Chip>
                  </Col>
                </Grid>
              </View>
            )}

            <View style={styles.sectionContainer}>
              <Text style={styles.sectionTitle}>
                Step five read data from WSS devices
              </Text>
              {!!connectedDevices.Temperature && (
                <List.Section>
                  <List.Subheader>Temperature board data</List.Subheader>
                  <CharacteristicData
                    name="temperature"
                    serviceUuid="b067f00d-744d-8db5-9b42-aae2d7041e3c"
                    characteristicUuid="b067beef-744d-8db5-9b42-aae2d7041e3c"
                    bleState={connectedDevices.Temperature}
                  />
                </List.Section>
              )}
              {!!connectedDevices.ecFlex && (
                <List.Section>
                  <List.Subheader>ecFlex data</List.Subheader>
                  <CharacteristicData
                    name="ecflex-raw"
                    serviceUuid="00002d8d-0000-1000-8000-00805f9b34fb"
                    characteristicUuid="00002da7-0000-1000-8000-00805f9b34fb"
                    bleState={connectedDevices.ecFlex}
                  />
                </List.Section>
              )}
              {!!connectedDevices.GDX && (
                <List.Section>
                  <List.Subheader>Vernier data</List.Subheader>
                  <CharacteristicData
                    name="vernier-raw"
                    serviceUuid="8e6f0f58-5819-11e6-8b77-86f30ca893d3"
                    characteristicUuid="8e6f094a-5819-11e6-8b77-86f30ca893d3"
                    bleState={connectedDevices.GDX}
                  />
                </List.Section>
              )}
            </View>
          </View>

          <View style={styles.sectionContainer}>
            <Text style={styles.sectionTitle}>
              Step six collect multiple data streams in one set
            </Text>
            <Text style={styles.sectionTitle}>TODO</Text>
          </View>
        </ScrollView>
      </SafeAreaView>
    </PaperProvider>
  );
};

const styles = StyleSheet.create({
  scrollView: {
    backgroundColor: Colors.lighter,
  },
  engine: {
    position: 'absolute',
    right: 0,
  },
  body: {
    backgroundColor: Colors.white,
  },
  sectionContainer: {
    marginTop: 32,
    paddingHorizontal: 24,
  },
  sectionTitle: {
    fontSize: 24,
    fontWeight: '600',
    color: Colors.black,
  },
  sectionDescription: {
    marginTop: 8,
    fontSize: 18,
    fontWeight: '400',
    color: Colors.dark,
  },
  highlight: {
    fontWeight: '700',
  },
  footer: {
    color: Colors.dark,
    fontSize: 12,
    fontWeight: '600',
    padding: 4,
    paddingRight: 12,
    textAlign: 'right',
  },
});

export default App;

I hope anyone can help me! Thank you

Hello. My comment does not have a sense about your question, but I would like to know if you can connect your cellphone to Bluetooth, because my application I can connect but returns me some null values.

I am not really sure what you mean. Connecting with BLE devices is no problem. When I subscribe to a second characteristic, both components seem to freeze. No errors.

I am not really sure what you mean. Connecting with BLE devices is no problem. When I subscribe to a second characteristic, both components seem to freeze. No errors.

I opened an issue if you can see to understand. What I did say. My problem is after I call the connect() function.
https://github.com/Polidea/react-native-ble-plx/issues/744

I am not really sure what you mean. Connecting with BLE devices is no problem. When I subscribe to a second characteristic, both components seem to freeze. No errors.

Hey bro, how can I check if is connected? And how can I send a text for example to see if appears at the terminal bluetooth? Can you help me?

Hey, I did this function using your code
const connectDevice = async (name: string) => {
    let device = findDeviceWhereNameContains(name);

    console.log('Primeiro: ', device);

    if (device === null) {
      setConnectedDevice(INITIAL_DEVICE_STATE);
      return false;
    }

    let isConnected = await device.isConnected();

    if (!isConnected) {
      device = await bleManager.connectToDevice(device.id);
      isConnected = await device.isConnected();
    }
    device = await device.discoverAllServicesAndCharacteristics();

    device.onDisconnected((error, device) => {
      setConnectedDevice(INITIAL_DEVICE_STATE);
    });

    const services = await device.services();
    const characteristics: Record<string, Characteristic[]> = {};
    const descriptors = {};

    _.forEach(services, async service => {
      const deviceCharacteristics = await device?.characteristicsForService(
        service.uuid,
      );
      characteristics[service.uuid] = deviceCharacteristics || [];
    });

    console.log('Segundo: ', connectedDevice.device);

    setConnectedDevice(state => ({
      ...state,
      device,
    }));

    console.log('Terceiro', connectedDevice.device);
  };

The first log, print any datas with the UUID and etc..., but where the log Segundo, and Terceiro, appears null.

We can talk at WhatsApp or anything? I think it is better to explain what the issue I have

@wvanooijen92 Hey, can we talk more?

Hey man, could you solve this issue, on subscribing in more than one notifiable characteristic? I'm facing the same problem here... Thanks!

I did solve it but not with this library instead I went with https://github.com/innoveit/react-native-ble-manager

I did solve it but not with this library instead I went with https://github.com/innoveit/react-native-ble-manager

Thanks, man! I'll check this out!


Installer Not Signed For Trend Micro & Windows Defender, Detected As A Virus.

After I Downloaded The Installer, It Detected As A Virus... I Kept' It & When I Opened The File, The Trend Micro Message Came Up Detected As A Virus. I Clicked "Open File", & Problem Solved. It's Because The Installer Was Not Signed, & It's Just Weird. Do You Think That You Can Sign This Installer Or Not?

Please try and submit issues using the templates provided. What version did you attempt to install?


allow to pass socket_timeout option to memcached client

Ticket: https://code.djangoproject.com/ticket/26301#ticket

Let's try for a more generic solution as described in https://code.djangoproject.com/ticket/20892#comment:12. Feel free to send a new PR if you want to tackle it. We also need some docs and tests. Thanks!


MagElmer Skeleton

I added MagElmer class with some methods as a skeleton for magnetic Elmer simulation. Hope it is helpful somehow.

@BonneelP I did some change to OutMag, I would like to be approved by you. Thx.

Hello,
It make sense to rename FEMM_dict to FEA_dict indeed :)
The skeleton is Ok for me. We can adapt it if the Elmer workflow requires it. We will see if some global function can be moved to Magnetics. I merge this PR as MagElmer is a separate object that won't affect the others. Maybe for collaborative structural PR we can open a new branch one day.
Best regards,
Pierre


Error when fetching base image from docker hub

Traceback (most recent call last):

  File "/opt/conda-store/conda_store/build.py", line 210, in conda_build

    build_docker_image(conda_store, build_path, build)

  File "/opt/conda-store/conda_store/build.py", line 263, in build_docker_image

    image = build_docker_environment_image(

  File "/opt/conda/envs/conda-store/lib/python3.9/site-packages/conda_docker/conda.py", line 631, in build_docker_environment_image

    image = pull_image(base_image_name, base_image_tag)

  File "/opt/conda/envs/conda-store/lib/python3.9/site-packages/conda_docker/registry/client.py", line 46, in pull_image

    digest = get_blob(image, blob["blobSum"], token)

  File "/opt/conda/envs/conda-store/lib/python3.9/site-packages/conda_docker/registry/client.py", line 36, in get_blob

    return gzip.decompress(get_request(url, headers))

  File "/opt/conda/envs/conda-store/lib/python3.9/site-packages/conda_docker/registry/client.py", line 17, in get_request

    return urlopen(request).read()

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 214, in urlopen

    return opener.open(url, data, timeout)

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 523, in open

    response = meth(req, response)

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 632, in http_response

    response = self.parent.error(

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 555, in error

    result = self._call_chain(*args)

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 494, in _call_chain

    result = func(*args)

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 747, in http_error_302

    return self.parent.open(new, timeout=req.timeout)

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 523, in open

    response = meth(req, response)

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 632, in http_response

    response = self.parent.error(

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 561, in error

    return self._call_chain(*args)

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 494, in _call_chain

    result = func(*args)

  File "/opt/conda/envs/conda-store/lib/python3.9/urllib/request.py", line 641, in http_error_default

    raise HTTPError(req.full_url, code, msg, hdrs, fp)

urllib.error.HTTPError: HTTP Error 400: Bad Request

Depends on https://github.com/conda-incubator/conda-docker/issues/12

Closing since fixed in https://github.com/conda-incubator/conda-docker/issues/12


Query string does not resolve the imports

I try to use the tool to get my graphql files imported when running my tests. Unfortunately the body part is still the original one with the import statement, while I would assume it renders the imported fragments instead.

Sorry for the late response. If you're still interested in using this, I'll do my best to help if you can provide some code examples of what you are trying to do.


Missing link in README.md

Good morning and happy new year!
Could you please check and update the link to Redux example in README.md? It is leading to a 404 error page of github.
Thanks!

Here you go: https://github.com/reactjs/redux/tree/master/examples/real-world


Add look direction to SAR extension

Please consider adding a "look_direction" parameter to the SAR extension to indicate the side of the imaging platform from which the imagery is collected.  This would have a value of either "right" or "left".
Radarsat-2 and ALOS-2 both offer either left or right look directions, and this is relevant information for searching for same-geometry sets of images for SAR interferometry and some other applications.

Thanks for the input @walterggit! Are you actively working on putting radarsat-2 and alos-2 into STAC implementations? I'm not a SAR expert, but would be happy to add in anything that an online dataset in STAC needs. If you've not done it yet then hopefully some more SAR experts can sound in, and we can get it to a PR.

@cholmes - I am not directly working on STAC implementations for SAR datasets, but will be working with SAR data downstream on a platform that will likely be using STAC, so am looking at this more from an end-user perspective ("what do I want to be able to search on").  I will be working with radarsat-2 data, I only mentioned alos-2 to point out that look direction is relevant for more than just radarsat-2 (both these platforms can be either right or left looking).

Awesome - great to get the user perspective, especially on what to search on. If you can write up a description of the field that could go in to the spec I'd be happy to help make a PR if you're not comfortable with doing that.
And can you share who is building the platform that will likely be using STAC? I'd be happy to try to get in touch with them (feel free to email me cholmes at radiant  earth if you can share but not in a public forum.)

@jeffnaus pointed me at the STAC spec.
For the look direction parameter, I suggest the following description: "SAR antenna pointing direction relative to the flight trajectory of the satellite, either right or left", an interpretation consistent with http://www.asc-csa.gc.ca/eng/satellites/radarsat/radarsat-tableau.asp and with how I have most often seen the term used over the years.  However, it seems that there are inconsistent uses of the term "look direction"- ESA defines it as an angle in https://earth.esa.int/handbooks/asar/CNTR5-2.html , so we may want to consider whether another name might be better.
In Radarsat-2 metadata, it is "antennaPointing" (https://mdacorporation.com/docs/default-source/technical-documents/geospatial-services/radarsat-2-product-format-definition.pdf?sfvrsn=4 ); in ALOS-2 metadata, it is "observation direction" (https://www.eorc.jaxa.jp/ALOS-2/en/doc/fdata/PALSAR-2_xx_Format_CEOS_E.pdf ).

Regarding S1 there is a platformHeading  parameter, which defines the orientation of the platform with respect to north.  As far as I know both S1 satellites are always right looking. In my opinion it would be good to define a metadata entry named antenna_azimuth, which is the clockwise angle between north and the antenna (This is more clear than look direction). For S1 it would result in antenna_azimuth = platformHeading + 90°.

I agree that "look direction" is a bit unclear given the different interpretations that have been used for it.  However, as a search parameter for sar platforms that can look either right or left, I think it is more useful to know whether it is right or left looking than the exact angle.  I've never used the antenna azimuth angle or platform heading in a search- it is harder to compare angles, which may not match exactly, than a binary right-left looking comparison.
I don't actually even see a platform heading parameter in the Radarsat-2 metadata (product.xml) for non-map products.  It can be computed if needed based on embedded orbit or tie point information, but that isn't completely trivial and is probably more work than a search indexer wants to do.
I would be okay with having antenna_azimuth as an optional parameter if others find it useful for their applications, but I do think that a simple (also optional) parameter to indicate right/left looking for platforms that offer both would be more useful.  It would not have to be named "look_direction", though I'm not sure what the best name for it would be (clock angle of +/-90 degrees? observation direction? antenna pointing direction?).  Unfortunately there doesn't seem to be a consistent term used.

@walterggit: I agree that in case of filtering SAR data sets an antenna_azimuth attribute is excessive. From your suggestions above, I would go for observation_direction to distinguish between left and right looking. If we agree on antenna_azimuth as an optional parameter, can't you use antennaPointing as antenna_azimuth for Radarsat-2 data?

@claxn: antennaPointing in the Radarsat-2 metadata is set to Right/Left rather than an angle.  I have not found any angle in the non-map-product Radarsat-2 metadata that corresponds to either the platform heading or the antenna azimuth angle; we compute these from the orbit or tie point data if needed.  Radarsat-2 map products do have a satellite heading parameter.
I agree that observation_direction sounds best for the left/right indicator name.

@walterggit: Ah okay, thanks for the clarification! Only specifying observation_direction and leave antenna_azimuth aside will do the job for all SAR data for the time being, I think.

@claxn: That seems reasonable to me too.

Thanks! I'll make a PR for it and let you know once it is ready to be reviewed.

@walterggit @claxn You can review the new field at https://github.com/radiantearth/stac-spec/pull/425

Has been merged and will be part of the 0.7 release.


Test environment

Removed the 'manager' VM, useless now.
Now using the Vagrant ansible provisioner.

Thanks for the reviews @webknjaz, @hardion, and @artcz

Thanks for the reviews @webknjaz, @hardion, and @artcz

FYI if you want to make GitHub aware of someone helping you with code, you can add trailers to the commit description, like:
Co-authored-by: Name Surname<EMAIL_ADDRESS>


Menu for choosing WS endpoint (local or hosted Alex) {temporary, only till we bundle light client}

Fixed by #302


fix: updated CSS for tools/generator page buttons

Description
Fixed the alignment issue of buttons inside tools/generator page.
Related issue(s)
Fixes #3008

Summary by CodeRabbit

New Features

Improved layout and alignment of buttons on the Generator Page for better user experience.

Bug Fixes

Consolidated button functionalities for a cleaner interface.

@coderabbitai full review

@coderabbitai configure

/rtm

/bounty

@asyncapi/bounty_team

Related to https://github.com/asyncapi/website/issues/3247.


Adding documentation on the relationship between clouddriver concepts…

… and DC/OS

We'll probably want to move our documents to the wiki at some point but including in the repo for now to make review easier.


Use static bundled library on linux

It has no link dependencies on linux and is easier to use. I also fixed the path to the library in the bindings. I've had this as a local change the entire time, I just hadn't got round to pushing it up.

Can we do the same for Mac? I can only test on W10 and Linux Mint.

I'm not sure, I don't have a mac to hand either. I do think we should probably have arm64 binaries in addition  to amd64 binaries for mac though, since apple silicon is becoming more of a thing.


Added TODO for later MyFaces updates

Added TODO for later MyFaces updates

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Incorrect Resolution of Overloads

I don't know if this is a bug or just me not understanding how overloads work. Here's some code that I've checked against TS 2.5.3:
class Request1 { }

class Response1 {
  a: string;
}

class Request2 { }

class Response2 {
  b: string;
}

interface IServer {
  Send(request: Request1): Promise<Response1>;
  Send(request: Request2): Promise<Response2>;
}

class Server implements IServer {
  Send(request: any): Promise<any> {
    return Promise.resolve(null); //TODO: real implementation
  }
}

function createServer(): IServer {
  return new Server();
}

let api = createServer();

api.Send(new Request1()).then(x => {
    //CORRECT: x is Response1
});

api.Send(new Request2()).then(x => {
    //FAIL!!! x is Response1 instead of Response2
});

Here's a playground link.
It seems that the overloads aren't being resolved correctly. No matter what I do, I always get Promise<Response1> as the return type. What have I missed?
I've got an API with a single generic Send method, but based on what the parameter is, a particular return type follows. If the above is somehow "by design" I'd love an explanation of how/why and if possible some advice on an alternative approach.
Thanks!

Working as designed.
TypeScript is a structural language.  There is no structural difference between Request1 and Request2, so it always matches only one overload.  You need some sort of structural difference between Request1 and Request2 in order to allow TypeScript to discriminate between those types.
playgournd link
class Request1 {
  private type: 'request1' = 'request1';
}

class Response1 {
  a: string;
}

class Request2 {
 private type: 'request2' = 'request2';
}

class Response2 {
  b: string;
}

interface IServer {
  Send(request: Request1): Promise<Response1>;
  Send(request: Request2): Promise<Response2>;
}

class Server implements IServer {
  Send(request: any): Promise<any> {
    return Promise.resolve(null);
  }
}

function createServer(): IServer {
  return new Server();
}

let api = createServer();

api.Send(new Request1()).then(x => {
  x; // Response1
});

api.Send(new Request2()).then(x => {
  x; // Response2
});

Thanks @kitsonk ! That makes perfect sense. For some reason I thought that nominal typing would work in this particular case, but that's what I get for coding when I should be asleep ;) The good news is that the real implementation will most certainly involve different structures for each input and if not, we could guarantee it using the technique above.


Feature request: serde_as attribute: allow usage with re-exported serde_with crate at different path

It would be useful for my scenario to allow the serde_as attribute macro to function with the serde_with crate rooted at an alternate path - equivalently to Serde's #[serde(crate = "...")] attribute.
As the Serde docs mention, this would be used when a deserialise impl is being generated from within another macro. By re-exporting serde_with from my own crate, I allow consumers to not have to add the crate to their own manifest - and removing/modifying my usage of serde_with in future does not become a breaking change.
Happy to work on this if you'd like.

Hi @tobz1000, that sounds like a nice addition. I have not paid special considerations for this problem, so there might be a couple of places which either assume that serde_with or serde is available.
serde is already re-exported from serde_with, so this should be used to replace all references of serde.
https://github.com/jonasbb/serde_with/blob/eb1c52dbea9f0a7d4c2e5f9b8a9f74f8af77c01d/src/lib.rs#L203-L204
I think all the macros need to be checked if they assume any crate name. with_prefix! is hopefully correctly implemented.
I would appreciate the help if you want to start working on this already. Feel free to submit individual PRs for the parts you need. That way it is a less overwhelming task.

Thanks for merging :) I will have a look at updating the guide documentation, and making necessary changes to other macros, when I can.

I see you're working on other parts of this issue (#217) - is there anything else you would like me to tackle that you're not already doing?

I think the only thing missing now is writing the documentation for #217. I get to that at least over the weekend. After that I can release a new version.


Opening "About Webp" in the Help > About Plugins menu cannot be closed and PS process must be aborted to escape

There is no X to click nor escape button functionality. UI is completely blocked by this help window.
I am using Windows 10 19042.1165, Photoshop 2020 21.2.4, Webp plugin 0.3.3.

Thanks for your report. I know this is not obvious, but have you tried clicking the window content itself?
I may add a "click here to exit" sentence in the box (because clicking anywhere on the text closes it) or take more time to see how to add an X button in WIN32 UI.

Hi, I tried doing what you said, and that worked!

Fixed in WebPShop v0.4.2.


Update test runner and disable tests on Windows.

The scripts for npm test are not working properly with node 5.11. I reverted them to what they were before we added some basic windows test support.
We are unlikely to ever support running all these tests on windows. It isn't necessary – it's enough that our CI will properly run the tests. Running Jest's core tests on windows should be enough.
Over time I'd like to phase out real Windows support in favor of bash/Ubuntu on Windows. Maybe ~6 months after bash for Windows is stable, so at the end of this year.

@facebook-github-bot import

@facebook-github-bot import

@facebook-github-bot shipit


no sketchgraphicsoverlay in quartz 100.0.0

hi there,
There is declaration of SketchGraphicsOverlay in the link below
https://github.com/Esri/arcgis-runtime-samples-android/blob/master/map-sketching/src/main/java/com/esri/arcgisruntime/sample/mapsketching/MainActivity.java
however, this class does not belong to arcgis runtime sdk or android api. Therefore, I am guessing it is one of classes in beta? Which class should be used in 100.0.0 as a replacement?
Regards,
Alison

Hi Alison - this class is not part of the API, but is defined within the sample - you can see the source code here - https://github.com/Esri/arcgis-runtime-samples-android/blob/master/map-sketching/src/main/java/com/esri/arcgisruntime/sample/mapsketching/SketchGraphicsOverlay.java

hi shellygill,
yes you r right, dumb me. I will close this question  and fade away silently, haha.
have a great day
Alison.

No problem Alison :-)


Open link on a new tab

Hello again, @yokoffing
How to make Firefox to stay on the page when I click on a link, please? I would like to stay on page and links opening on background tabs.
Thank you, friend. :)

https://github.com/yokoffing/Betterfox/blob/56fb226db50b85d8654780f8cdd982b48bc3e8dd/Peskyfox.js#L313-L315
https://github.com/yokoffing/Betterfox/blob/6d07092eb37b010150ad9a30adfcb9070f300dce/Peskyfox.js#L328-L361
Read above, then try the browser.tabs.loadInBackground pref. That should be sufficient, but you're welcome to tinker with the other prefs if you want something more extreme.

The command that worked was the browser.tabs.loadDivertedInBackground = true :)
Thank you.

browser.tabs.loadDivertedInBackground

I don't think I've ever seen this used. Would you be able to share what website/programs showed a change in behavior for you?


Recorder Load track doesn't work

Describe the bug
Trying to configure a button to load an MP3 file on the recorder for playback. The same file loads directly in the application and plays without issue.
To Reproduce
Build local companion to Voicemeeter (not using proxy)
Add button -> Press action -> Voicemeeter: Recorder - Load Track
Provide absolute file path to file, including extension (C:\Users\KLyvers\Documents\Music\song.mp3)
On press of button Voicemeeter shows "undefined" where it would show the file path and "Error: Cannot open File"
Of note: did try adding single and double quotes around the path in the Filepath section of button configuration.
Expected behaviour
A native streamdeck plugin uses this same path to load file and play
Screenshots
If applicable, add screenshots to help explain your problem.
System (please complete the following information):

Companion Version: 3.1.2 (3.1.2+6243-stable-05c37a10)
Voicemeeter Banana <IP_ADDRESS>

Additional context

A load track bug was fixed last month, try a newer version of Companion as the one you're on is quite a while back.

Running the "beta" version of companion has fixed this, Thank you!

The plugin included with Companion 3.2.0+6647-beta-5aec8e7e does resolve this issue. Thank you!


projects directory with 4 projects

This adds a project directory to crate root based of discord discussion with gbj.
I think the idea here is to have a dumping ground for everybody's projects in one convenient location for easy user discovery.
By having it be a separate directory we can exclude it from CI, and it won't have the same guarantees that the examples directory does. The project can aid in discovery of projects while distancing itself from the actual content, somewhat.
If people are storing lots of different Leptos projects here, and there aren't the same standards (which there probably shouldn't be to encourage lots of contributions), then individual contributors of those projects will have a lot of freedom to update these projects whenever they see fit which will hopefully translate into a lot of pull requests for people pushing code and taking responsibility for their own projects in the projects folder.
I'm not sure how fine-grained the merge approval process can get and if you can do it per-directory but I'd be happy to oversee the projects directory, maintain a list of which projects do what, and work with contributors to put their projects here and approve & merge pulls requests to the projects directory.
Thanks,
Sam

Thanks so much.
It would be helpful if you could write something for a small README.md for the projects dir that just describes each of these projects. I will open a README file with some small notes, so at your convenience you can just make a PR to update that.
Thanks for your patience and for putting these all together!

Thanks so much.
It would be helpful if you could write something for a small README.md for the projects dir that just describes each of these projects. I will open a README file with some small notes, so at your convenience you can just make a PR to update that.
Thanks for your patience and for putting these all together!

Absolutely! Thank you. :)


Add readonly typings for Set and Map

Fixes #10919
Similar to ReadonlyArray, these typings remove the mutation methods from Set and Map so that they can only be initialized by the constructor.
Example

Hi @gmoothart, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

thanks @gmoothart. can you please sign the CLA?

I guess for the CLA i need to talk to @naomiblack.

Formatting fixed. I also updated some parameters names which were wrong, and fixed the example.
It would be nice to be able to have type inference for the generic parameters, but I don't think it's possible in this case?
Re: the CLA, there is a custom Google/Microsoft one that I did sign and yeah, Naomi should be able to help you.


Need help

This management command should be invoked via ./manage.py runapscheduler whenever the web server serving your Django application is started. The details of how and where this should be done is implementation specific, and depends on which web server you are using and how you are deploying your application to production. For most people this should involve configuring a supervisor process of sorts.

I do not fully understand this.
I am trying to (it is super basic)
1: Start the website and scheduler jobs
2: Take a look at jobs scheduled (within 2 days just to see if anything went wrong )
Please help me

If you are working in your development environment, then just run ./manage.py runapscheduler in a terminal window on your OS to start the scheduler.

thanks


Allow to set sip API when using PyQt4.

Python 2.7 tests do not pass under windows if not done.

LGTM


Editor bug import asset warning bug within the game project

Release Type: Official Release
Version: <IP_ADDRESS>8+
Platform(s): Editor
Describe the bug
Adding a raw asset within the project solution and importing the asset warns importing assets are not inside resource folder when there is no ResourceFolders declared in the .sdpkg file.
Hitting Ok also prompts if you want to copy the asset in the resource folder.
Hitting Ok here will crash the editor.
The 'New game' template is one of the rare project templates that explicitly declare the resource folder in the .sdpkg file:
ResourceFolders:
    - !dir Resources

Other templates, eg TopDown RPG do not:
ResourceFolders: []

Futhermore, it places the Resource folder (and Asset folder) one level above the game project folder.
To Reproduce
Steps to reproduce the behavior:

Create TopDown RPG template
Go to existing Resources folder, add new raw resource (or just use an existing asset) and drag-drop into the asset sub-window
Observe warning(s)

Expected behavior
Handle the special case where package's Resource folder(s) are not explicitly declared.
Additional context
Original feature introduced #1781
Copy raw asset into resource folder feature added here #1827

This also happens with the First Person Template.
I traced the exception to AssetCollectionViewModel.cs - Line 542
ExceptionError: Index out of range for directory.Package.Package.ResourceFolders[0]
It seems like it should be relatively easy to fix, but I wasn't able to understand where the code sets the resource folder directories. Following the code path of the package class ended up being more complicated than I expected....

Looks like grayscale textures broke in <IP_ADDRESS>8 https://github.com/stride3d/stride/issues/2376
best to use <IP_ADDRESS>2 for the time being.

I remember fixing all templates a while back. Wasn't it included in the latest release of Stride?

Unless I've messed around too much will my machine, I tried the RPG template with <IP_ADDRESS>8 and the sdpkg still has ResourceFolders: []
My vague understanding is this would need to be updated since it's still pointing to the older sample <IP_ADDRESS>?
https://github.com/stride3d/stride/blob/237e8605e4b36337b8dca92d2338b1086547616a/sources/editor/Stride.Samples.Templates/ThisPackageVersion.PackageBuild.cs#L7
Oddly enough, the .cs code changes to use top level statements does come through (I guess there's some additional upgrading steps the editor understands?)

@Basewq good point.


Deleting wrong newlines when typing doc comments

Type: Bug
Typing eg. a close parenthesis ) inside a /** */ doc comment will always remove the preceding newline in TypeScript and cause code formatting to be completely broken by making lines run into each other.
Confirmed to be caused by this extension via bisect.
Extension version: 2.1.2
VS Code version: Code 1.87.0 (019f4d1419fbc8219a181fab7892ebccf7ee29a2, 2024-02-27T23:42:16.599Z)
OS version: Linux x64 6.5.0-5-amd64
Modes:

System Info

Item
Value

CPUs
13th Gen Intel(R) Core(TM) i9-13900K (32 x 5000)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
1, 1, 1

Memory (System)
62.56GB (19.39GB free)

Process Argv
-w --waitMarkerFilePath /tmp/ve141Nlj

Screen Reader
no

VM
0%

DESKTOP_SESSION
xfce

XDG_CURRENT_DESKTOP
XFCE

XDG_SESSION_DESKTOP
XFCE

XDG_SESSION_TYPE
x11

Why is the extension even modifying code? Isn't it supposed to be purely a linter?
Would be nice to be able to disable this type of functionality with a setting so next time I don't have to wonder why my editing is completely broken in random places :smiling_face_with_tear:

I can confirm this issue, but only when *Format on Type is enabled. Inserting a ) after a newline inside a doc comment and triggering Format on Save somehow does not reproduce the issue.
@jaens Biome is both a linter and a formatter, but you can certainly disable its formatter if you don't want it to format.

That's good, but how to actually disable the formatter? I have already selected Prettier as my default formatter in VSCode

That's good, but how to actually disable the formatter? I have already selected Prettier as my default formatter in VSCode, so as far as I understand, Biome should not be doing anything?

It could be due to this, if you have it enabled in the settings (as JSON or through the interface)
"editor.codeActionsOnSave": {
    "source.fixAll": "explicit",
    "source.organizeImports.biome": "explicit"
}


Add manual synchronization function

Hello. First of all, thank you for sharing code and experiment results.
Reading the code, I found that the model will use fast weights to infer. According to LookAhead, fast weights (before synchronization) may perform worse than slow weights. By chance of (1-1/k) probability (80% when k=5), we will use unsynchronized fast weights to validate/test. Therefore, it should be better if we manually synchronize before evaluation.

Hi @qbx2 ,
Thanks for the feedback!
I think adding a manual sync is a good idea, along with a manual clear weights (for restarting new training).
I will try and add that later this week!
Thanks
Less

Another minor issue: There is a typo N_sma_threshhold in ranger.py. It should be N_sma_threshold.


Ajax Data Request Error

https://github.com/psgstellar/Stellar/blob/cced06f43b29eacb9e417475b2ec418396d34464/Stellar/src/main/java/com/psg/web/MainController.java#L108-L114
https://github.com/psgstellar/Stellar/blob/cced06f43b29eacb9e417475b2ec418396d34464/Stellar/src/main/webapp/WEB-INF/jsp/psg/register.jsp#L64-L115

This problem was discovered by @mjk6828
https://github.com/psgstellar/Stellar/blob/cced06f43b29eacb9e417475b2ec418396d34464/Stellar/src/main/resources/egovframework/sqlmap/mapper/Register_SQL.xml#L6-L8
select count * from test where id = #{_parameter}

select count(*) from test where id = #{_parameter}

This problem was discovered by @mjk6828
https://github.com/psgstellar/Stellar/blob/cced06f43b29eacb9e417475b2ec418396d34464/Stellar/src/main/resources/egovframework/sqlmap/mapper/Register_SQL.xml#L6-L8
select count * from test where id = #{_parameter}

select count(*) from test where id = #{_parameter}