[Bug]: [vue-runtime] TypeError: Cannot read properties of null (reading 'isCE')

Description
toRefs() expects a reactive object but received a plain one.
[Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.
[Vue warn]: onBeforeUnmount is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.
TypeError: Cannot read properties of null (reading 'isCE')
    at Object.renderSlot (/workspaces/vodoley/vodoley-frontend/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:2937:34)
    at /workspaces/vodoley/vodoley-frontend/.output/server/node_modules/@yeger/vue-masonry-wall/dist/masonry-wall.umd.js:13:1841
    at Object.renderList (/workspaces/vodoley/vodoley-frontend/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:2874:22)
    at /workspaces/vodoley/vodoley-frontend/.output/server/node_modules/@yeger/vue-masonry-wall/dist/masonry-wall.umd.js:13:1751
    at Object.renderList (/workspaces/vodoley/vodoley-frontend/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:2874:22)
    at Proxy.<anonymous> (/workspaces/vodoley/vodoley-frontend/.output/server/node_modules/@yeger/vue-masonry-wall/dist/masonry-wall.umd.js:13:1395)
    at renderComponentRoot (file:///workspaces/vodoley/vodoley-frontend/.output/server/chunks/handlers/renderer.mjs:2961:45)
    at renderComponentSubTree (file:///workspaces/vodoley/vodoley-frontend/.output/server/chunks/handlers/renderer.mjs:10597:51)
    at renderComponentVNode (file:///workspaces/vodoley/vodoley-frontend/.output/server/chunks/handlers/renderer.mjs:10526:16)
    at Object.ssrRenderComponent (file:///workspaces/vodoley/vodoley-frontend/.output/server/chunks/handlers/renderer.mjs:10946:12)

Reproduction
Nuxt project info:                                                                                01:03:48

Operating System: Linux
Node Version:     v16.14.2
Nuxt Version:     3.0.0-rc.4
Vue Version:     3.2.37
Package Manager<EMAIL_ADDRESS>Builder:          vite

The error is only thrown in the production build
Additional context
No response
Preferences

[ ] I want to be assigned to and work on this issue myself

Interesting, the library works fine with Vite's SSR and SSG. This seems like a Nuxt 3/Vue Renderer bug, considering the stack trace.

I wanted to say that I also just got this error when using it with nuxt 3 rc4 (not sure if the previous rc versions have the same issue).

This is an issue of Nuxt 3, see https://github.com/nuxt/framework/issues/2530.
Perhaps https://github.com/nuxt/framework/issues/2530#issuecomment-1110747586 can fix the problem.

OK, I am not sure if I did this right, but I added this to my nuxt config:
    vite: {
        logLevel: 'info',
        optimizeDeps: {
            include: [
                '@yeger/vue-masonry-wall'
            ]
        }
    },
    ```

    Unfortunately, I still get the same error above. @or2e Can you let me know if you get this fixed and post the solution here?

@dosstx dosstx
Studied the code of some Nuxt3 modules. Need to add:
https://v3.nuxtjs.org/guide/going-further/esm/#transpiling-libraries

@dosstx dosstx
Studied the code of some Nuxt3 modules. Need to add: https://v3.nuxtjs.org/guide/going-further/esm/#transpiling-libraries

Thank you very much for the workaround!
I added the required config changes to the README.

I just released v3.0.38 that should fix the issue without requiring the above workaround.
It also enables SSR support without defining a stub for the ResizeObserver.

I'm not sure this issue is correctly solved. I got the same error using "@yeger/vue-masonry-wall": "^3.0.42".
I use "nuxt": "3.0.0-rc.6" and node 16.15.1.
I added
 build: {
    transpile: ['@yeger/vue-masonry-wall'],
 }

to my nuxt.config.ts and it works well.

I'm not sure this issue is correctly solved. I got the same error using "@yeger/vue-masonry-wall": "^3.0.42". I use "nuxt": "3.0.0-rc.6" and node 16.15.1.
I added
 build: {
    transpile: ['@yeger/vue-masonry-wall'],
 }

to my nuxt.config.ts and it works well.

Looks like the migration to Vite 3 broke something. In the meantime, you could use 3.0.38. I gave that a try and it worked. See https://stackblitz.com/edit/github-enexbp?file=package.json,plugins%2Fvue-masonry-wall.ts,app.vue.

I narrowed it down to v3.0.40 of this library.
Since there's only one change, Nuxt 3 seems to be having issues with the valid .mjs extension.

Reported upstream at https://github.com/nuxt/framework/issues/6094

Will be closed by https://github.com/nuxt/framework/issues/4084.

I'm not sure this issue is correctly solved. I got the same error using "@yeger/vue-masonry-wall": "^3.0.42". I use "nuxt": "3.0.0-rc.6" and node 16.15.1.
I added
 build: {
    transpile: ['@yeger/vue-masonry-wall'],
 }

to my nuxt.config.ts and it works well.

I had the same error using nuxt 3.0.0-rc.6 and v3.0.43 of this library. Adding
build: {
        transpile: ['@yeger/vue-masonry-wall'],
    },

to nuxt.config.ts resolved the issue.

We now add vue as an external by default. We can track any remaining issues in #4084.

Sorry - originally posted thinking this was an issue in nuxt/framework - didn't mean to tell you to close it 😆


Issue- Connecting srsRAN with Open5gs

Hello,
I'm trying to deploy Open5GS Core with srsran, using for the Core the script sa-deploy.yaml and for SRSRAN the srsgnb_zmq.yaml and srsue_5g_zmq.yaml scripts. Also tried with the other 2 scripts for srs: srsue_zmq.yaml and srsgnb.yaml.
The GNB seems to be registered in the AMF but there's no information regarding the UE.
Do you have a suggestion for this issue?
Amf logs after GNB registration:

Amf logs after UE registration:

Gnb logs after UE registration:

UE logs:

Thanks!

I see in UE and open5gs logs that UE has attached. Please upload a wireshark /tcpdump trace so that I can take a look.

Closing due to inactivity. Please re-open the issue with pcaps and logs if you still face issue.


[feature request]yurtappdaemon need a node pool type selector

What would you like to be added:
Add selector to select node pool by its type for yurtappdaemon CRD.
Why is this needed:
When the time developing pool-coordinator feature, we found that pool-coordinator should be deploy to the node pool which type is edge. But yurtappdaemon only supports to select node pool by label.
If we add node selector to the podSpec of yurtappdaemon, we will see that the pool-coordinator in cloud type of node pool will always be the pending status.
others
/kind feature

@kadisi Do you have any comments about this feature request?

Maybe we could add a new struct as the NodeSelector of yurtappdaemon.
Like this:
// NodePoolSelector includes nodepool type and a label selector of node pool.
type NodePoolSelector struct {
	Type     NodePoolType          `json:"type"`
	Selector *metav1.LabelSelector `json:"selector"`
}

// YurtAppDaemonSpec defines the desired state of YurtAppDaemon.
type YurtAppDaemonSpec struct {
	Selector             *metav1.LabelSelector `json:"selector"`
	WorkloadTemplate     WorkloadTemplate      `json:"workloadTemplate,omitempty"`
	NodePoolSelector     NodePoolSelector      `json:"nodepoolSelector"`
	RevisionHistoryLimit *int32                `json:"revisionHistoryLimit,omitempty"`
}

In yurtappdaemon controller, we can select node pool type by field selector.
Rewrite function getNameToNodePools maybe useful.
func (r *ReconcileYurtAppDaemon) getNameToNodePools(instance *unitv1alpha1.YurtAppDaemon) (map[string]unitv1alpha1.NodePool, error) {
	klog.V(4).Infof("YurtAppDaemon [%s/%s] prepare to get associated nodepools",
		instance.Namespace, instance.Name)

	// get the label selector of node pool
	nodepoolLabelSelector, err := metav1.LabelSelectorAsSelector(instance.Spec.NodePoolSelector.Selector)
	if err != nil {
		return nil, err
	}

	// get the field selector of node pool
	var nodepoolFieldSelector fields.Selector
	switch instance.Spec.NodePoolSelector.Type {
	case unitv1alpha1.Edge, unitv1alpha1.Cloud:
		nodepoolFieldSelector = fields.OneTermEqualSelector("spec.nodepoolSelector.type", string(instance.Spec.NodePoolSelector.Type))
	case "":
		// if no type value presented, nodepoolFieldSelector will be nil. But won't return error.
	default:
		return nil, fmt.Errorf("illegal node pool type %s", instance.Spec.NodePoolSelector.Type)
	}

	nodepools := unitv1alpha1.NodePoolList{}
	if err := r.Client.List(context.TODO(), &nodepools, &client.ListOptions{
		LabelSelector: nodepoolLabelSelector,
		FieldSelector: nodepoolFieldSelector,
	}); err != nil {
		klog.Errorf("YurtAppDaemon [%s/%s] Fail to get NodePoolList", instance.GetNamespace(),
			instance.GetName())
		return nil, nil
	}

	indexs := make(map[string]unitv1alpha1.NodePool)
	for i, v := range nodepools.Items {
		indexs[v.GetName()] = v
		klog.V(4).Infof("YurtAppDaemon [%s/%s] get %d's associated nodepools %s",
			instance.Namespace, instance.Name, i, v.Name)

	}

	return indexs, nil
}

@donychen1134 @rambohe-ch I don't recommend NodePoolSelector. Selector is already an atomic operation that determines which nodes to deploy to. Whether to deploy to an Edge nodepool or not needs to be designed at a higher level.

@rambohe-ch @kadisi
Maybe we could add a mutating webhook to node pool. When node pool is created or updated, webhook should add a label to nodel pool resource whose value is node pool type. Then we could use selector to chose 'edge' type node pool.

@rambohe-ch @kadisi Maybe we could add a mutating webhook to node pool. When node pool is created or updated, webhook should add a label to nodel pool resource whose value is node pool type. Then we could use selector to chose 'edge' type node pool.

@donychen1134 It's a good idea to add Label for nodePool in webhook. agree +1
@kadisi please take a look.

@rambohe-ch @kadisi Maybe we could add a mutating webhook to node pool. When node pool is created or updated, webhook should add a label to nodel pool resource whose value is node pool type. Then we could use selector to chose 'edge' type node pool.

@donychen1134 It's a good idea to add Label for nodePool in webhook. agree +1
@kadisi please take a look.

@donychen1134 @rambohe-ch good idea.  but please confirm the label key.

@rambohe-ch @kadisi
Maybe use openyurt.io/node-pool-type as node pool label?

@rambohe-ch @kadisi Maybe use openyurt.io/node-pool-type as node pool label?

@donychen1134 agree +1


And now I started another master on the default port. Restarted filer and in the stdout of the filer:
I1118 09:53:49 70206 masterclient.go:132] redirected to leader <IP_ADDRESS>:9333
So it looks like it just ignored the "-master" parameter and tried to connect to the localhost: default_port

I

And now I started another master on the default port. Restarted filer and in the stdout of the filer: I1118 09:53:49 70206 masterclient.go:132] redirected to leader <IP_ADDRESS>:9333

When the master is started not using the 9334 port, as IP1:9334,IP2:9334,IP3:9334, it is standalone and not in the master group. So this is expected.

@chrislusf, You were in a hurry to close the problem or I misunderstood your answer.  Your configuration looks correct, but the error seems impossible.
Can you try to run one master first?

Stopped all masters on all servers and started one on server1:
/opt/weed -logdir=/var/log/weed master -ip=IP1 -mdir=/srv/mweed2/  -volumeSizeLimitMB=102400 -defaultReplication=000  -metrics.address=IP4:9091 -port 9334 -port.grpc 19334
....
I1119 10:35:14 08603 masterclient.go:79] No existing leader found!
I1119 10:35:14 08603 raft_server.go:158] Initializing new cluster
I1119 10:35:14 08603 master_server.go:162] leader change event:  => IP1:9334
I1119 10:35:14 08603 master_server.go:164] [ IP1:9334 ] IP1:9334 becomes leader.
...
panic: assertion failed: leader.elected.at.same.term.0

goroutine 63 [running]:
github.com/chrislusf/raft._assert(...)
        /go/pkg/mod/github.com/chrislusf/raft@v1.0.7/util.go:60
github.com/chrislusf/raft.(*server).processAppendEntriesRequest(0xc000bb9200, 0xc0005a6870)
        /go/pkg/mod/github.com/chrislusf/raft@v1.0.7/server.go:983 +0x8df
github.com/chrislusf/raft.(*server).leaderLoop(0xc000bb9200)
        /go/pkg/mod/github.com/chrislusf/raft@v1.0.7/server.go:884 +0x3ba
github.com/chrislusf/raft.(*server).loop(0xc000bb9200)
        /go/pkg/mod/github.com/chrislusf/raft@v1.0.7/server.go:609 +0x165
github.com/chrislusf/raft.(*server).Start.func1()
        /go/pkg/mod/github.com/chrislusf/raft@v1.0.7/server.go:470 +0x5d
created by github.com/chrislusf/raft.(*server).Start
        /go/pkg/mod/github.com/chrislusf/raft@v1.0.7/server.go:468 +0x1bb

O_o
What am I doing wrong? ;(

The master stops crashing if I remove these parameters:
-port 9334 -port.grpc 19334

can you add "=" between the CLI option name and values? Seems they are ignored.

clean up the directory /srv/mweed2/ and -mdiron other master servers.

Ok, that helped fix the problem with the master. Not obvious enough.
Filer still shows no signs of life - after launch, it just keeps silent
/opt/weed -logdir=/var/log/weed filer -ip=IP1 -port=8889 s3.port=8334 -defaultReplicaPlacement=000 -dataCenter=vin1 -master="IP2:9334,IP1:9334,IP3:9334"
I also tried to strace this process and I see that it is trying to connect to localhost + the wrong port:
[pid 208501] connect(8, {sa_family=AF_INET6, sin6_port=htons(19333), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
[pid 208501] getsockopt(8, SOL_SOCKET, SO_ERROR, [111], [4]) = 0
[pid 208501] socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 8
[pid 208501] connect(8, {sa_family=AF_INET, sin_port=htons(19333), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = -1 EINPROGRESS (Operation now in progress)

did you miss a dash in front of s3.port=8334?

Perhaps it can be closed, only one question remains - is it safe to clear mdir?

yes.


Installation issue

Hi,
while installing pyleecan most of the installation process runs through however it stops with following message:
Using cached deap-1.3.1.tar.gz (1.1 MB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
error in deap setup command: use_2to3 is invalid.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Any idea?
Thanks for your help!

Hello,
Thank you for your interest in pyleecan.
If I understand correctly, it seems that pip doesn't manage to install deap 1.3.1.
As a first solution, you can try to run directly "pip install deap" with administrator rights. 1.3.1 is the latest version and I'm using it on a Python 3.8 so there should be no reason why it can't be installed. Which version of python are you using ?
Once deap installed you can run "pip install pyleecan" again.
As a further response to your issue, I'm experimenting "optional" dependency. deap is in fact not mandatory any more in pyleecan. This package enables to run NSGA2 optimization, we now have Bayes optimization with smoot as well. So as a test I have removed deap and smoot from the mandatory dependencies from pyleecan (to enable to choose which package to use).
They are listed in the "full" list,
pip install pyleecan
would install the smallest number of package and
pip install pyleecan[full]
the complete list (normal + deap + smoot + gmsh).
So technically, the "pip install deap" from the first solution could not be required if you don't plan to use NSGA2 optimization.
@SebGue What do you think of this new organization (I'm taking inspiration from what we did for https://github.com/Eomys/MoSQITo) ? It's an experimentation before 1.4.0. By the way I'm currently working on updating all the tutorials, then I plan to update the website and the "how to install page".
Best regards,
Pierre

Hello,
Glad to know that you managed to install pyleecan :) We plan to move to upper python version in the near future.
I haven't seen this message before :/ Are you using windows or Linux ? We still have to work on the compatibility with Linux cf issue #104 (hopefully there was an update that should enable to do it now)
Best regards,
Pierre

Hello @BonneelP
sorry for my late response. Do you mean optional dependencies by new organisation? That seems reasonable.
Or is there anything else new to mosquito, since I don't follow this project.
Best regards, Sebastian

Yes I was referring to the optional dependencies.

Hello,
I just released pyleecan 1.4.0 that includes the optional dependencies installation and I have updated the website.
I'm closing this issue, if you need further help you can reopen it.
Best regards,
Pierre


Warning: Undefined array key "internal_tag" in DependsOnInternalToken.php

I have just upgraded a project from deptrac 1.x to 2.0.1.
my migrated config looks like:
imports:
    - deptrac.baseline.yaml

parameters:
    analyser:
        types:
            - class # default
            - use # default
            - file # detect entry scripts like cronjobs
    paths:
        - erp/
        - nagios/
        - orderimport/

    layers:
        -   name: EntryScripts
            collectors:
                -   type: directory
                    value: /(erp|nagios|orderimport)/([^\\/]+)\.php$
        -   name: Integration
            collectors:
                -   type: directory
                    value: .*(\\|/)integration(\\|/).*
        -   name: Service
            collectors:
                -   type: directory
                    value: .*(\\|/)service(\\|/).*
        -   name: ViewModel
            collectors:
                -   type: directory
                    value: .*(\\|/)viewmodel(\\|/).*
        -   name: Model
            collectors:
                -   type: classLike
                    value: .*(\\Model\\|_Model_(?!Mapper)).*
        -   name: Mapper
            collectors:
                -   type: classLike
                    value: .*_Mapper_.*
                -   type: classLike
                    value: .*Mapper
        -   name: Vendor
            collectors:
                -   type: directory
                    value: .*(\\|/)vendor(\\|/).*

    ruleset:
        EntryScripts:
            - Model
            - ViewModel
            - Service
        ViewModel:
            - Model
        Model:
            - ViewModel
        Mapper:
            - Model
        Integration:
            - Vendor
            - Model
        Service:
            - Mapper
            - Integration
            - ViewModel
            - Model

when running deptrac with
$ composer deptrac
> vendor/bin/deptrac analyze --config-file=application/Rocket/deptrac.yaml
 180/256 [===================>--------]  70%

 -------------------- ------
  Report
 -------------------- ------
  Violations           0
  Skipped violations   153
  Uncovered            763
  Allowed              1023
  Warnings             0
  Errors               0
 -------------------- ------

 256/256 [============================] 100%> vendor/bin/deptrac analyze --config-file=scripts/deptrac.yaml
 107/118 [=========================>--]  90%

Warning: Undefined array key "internal_tag" in C:\dvl\Workspace\php-clxproductnet\vendor\qossmic\deptrac\src\Core\Analyser\EventHandler\DependsOnInternalToken.php on line 21

I get a PHP Warning

Warning: Undefined array key "internal_tag" in C:\dvl\Workspace\php-clxproductnet\vendor\qossmic\deptrac\src\Core\Analyser\EventHandler\DependsOnInternalToken.php on line 21

not sure whether its a bug in deptrac or in my config

just found https://github.com/qossmic/deptrac/issues/1418#issuecomment-2136698261 which fixes the warning

The Config you are using is older right?
Because the change to the current yaml syntax happend before my time an I thought that there had been a decent deprecation phase?!

The Config you are using is older right?

right - we are long time deptrac users and the config was created years ago


[T3A2][W14-A1]Ye Huanhui

Ready for review

Some comments added. Feel free to add more comment if you have any questions. Once you are done, you may close the PR after reading comments.


[Question]: Is relation between nodes being thrown away when constructing KG using KnowledgeGraphIndex?

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
I'm following the tutorial of knowledge graph query engine https://docs.llamaindex.ai/en/latest/examples/query_engine/knowledge_graph_query_engine.html#. I have some questions regarding the KG index being constructed.
From this line of code
https://github.com/run-llama/llama_index/blob/fbc32773dcdc92078441e36f086e730dc62c4114/llama-index-core/llama_index/core/indices/knowledge_graph/base.py#L236, it seems that after the triplet is parsed using llm, only the subject and object are pushed to the table. Is the relation between these two nodes thrown away?
Below is a KG that I created following the tutorial.  If I'm understanding it correctly, ultimately the index_struct will be a key-node dictionary only?
KG(index_id='0c5db4cf-a946-4282-a762-43ff15da1bd9'
 summary=None
 table={'Reviews': {'1d8ac0c3-9b61-4748-973b-d03de8be28fe'
 '175a26a3-84cd-4cd7-82af-f7412209cffa'
 '9413d2cf-bfc9-496d-a55e-1ed06c246841'
 'e7c91a47-10ac-45b7-8106-1a2a4a6e06b0'}
 'Political preferences': {'175a26a3-84cd-4cd7-82af-f7412209cffa'}
 'Ethical differences': {'175a26a3-84cd-4cd7-82af-f7412209cffa'}
 'Travel experiences': {'67c12b5a-584b-4294-bab2-1985c2d73b40'}
 'Deeply personal': {'67c12b5a-584b-4294-bab2-1985c2d73b40'}
 'Perspectives': {'67c12b5a-584b-4294-bab2-1985c2d73b40'}
 'Commentary': {'d9864ebf-20a3-4e18-b5d0-f25bdb4ca804'}
 'Rant': {'d9864ebf-20a3-4e18-b5d0-f25bdb4ca804'}
 'Owner or employees': {'d9864ebf-20a3-4e18-b5d0-f25bdb4ca804'}
 'Experience': {'d9864ebf-20a3-4e18-b5d0-f25bdb4ca804'
 '8921abfd-cb89-4bec-b81e-b14234bf64ee'}
 'We': {'799801ff-c287-4fc0-b409-4bd7d64eeadd'
 '1df8d035-b783-4f46-8b79-d677d44c16bc'}
 'Comments and advice': {'1df8d035-b783-4f46-8b79-d677d44c16bc'}
 'Personal travel experience': {'1df8d035-b783-4f46-8b79-d677d44c16bc'}
 'Business': {'42d6667f-291f-407f-9122-724bee77e483'
 '73b73083-ba76-4b5f-85b0-c529ede03217'
 '1df8d035-b783-4f46-8b79-d677d44c16bc'
 '017cc16d-c086-4796-aef1-5f172c37b6fd'}
 'Customs': {'1df8d035-b783-4f46-8b79-d677d44c16bc'}
 'Travel': {'1df8d035-b783-4f46-8b79-d677d44c16bc'}
 'Hotel': {'376361f0-77f2-488c-b436-6e9091729695'}
 'Local laws': {'376361f0-77f2-488c-b436-6e9091729695'}
 'Owner behavior': {'376361f0-77f2-488c-b436-6e9091729695'}
 'Violence': {'27251970-a930-4354-affb-20cea08cad2f'}
 'Refugees': {'27251970-a930-4354-affb-20cea08cad2f'}
 'Terrorist activity': {'27251970-a930-4354-affb-20cea08cad2f'}
 'Asylum seekers': {'9413d2cf-bfc9-496d-a55e-1ed06c246841'}
 'Location': {'9413d2cf-bfc9-496d-a55e-1ed06c246841'}
 'Easily': {'9413d2cf-bfc9-496d-a55e-1ed06c246841'}
 'Tripadvisor': {'e50e51b1-9282-415b-88b4-7a5750de36db'}
 'Supporter of refugees': {'e50e51b1-9282-415b-88b4-7a5750de36db'}
 'Acts of violence': {'e50e51b1-9282-415b-88b4-7a5750de36db'}
 'Review': {'30a3bf4e-abd7-4577-8035-bbc6b60a6e71'
 '7c7811d9-e827-4e8f-b95a-3e2df27b65bc'
 '8921abfd-cb89-4bec-b81e-b14234bf64ee'
 'ec646e60-c14b-4bc1-88eb-e61c8c772483'}
 'Substantial information': {'7c7811d9-e827-4e8f-b95a-3e2df27b65bc'}
 'Additional information': {'7c7811d9-e827-4e8f-b95a-3e2df27b65bc'}
 'Context': {'1d8ac0c3-9b61-4748-973b-d03de8be28fe'}
 'Bubble rating': {'1d8ac0c3-9b61-4748-973b-d03de8be28fe'}
 '1 to 5': {'1d8ac0c3-9b61-4748-973b-d03de8be28fe'}
 'File_path': {'31690a2d-e5da-4b18-8312-77eee64bebba'}
 'Ta_example/example1.txt': {'31690a2d-e5da-4b18-8312-77eee64bebba'}
 'You': {'73b73083-ba76-4b5f-85b0-c529ede03217'}
 'Aspect': {'73b73083-ba76-4b5f-85b0-c529ede03217'}
 'Excessive commentary': {'8921abfd-cb89-4bec-b81e-b14234bf64ee'}
 'Owner': {'8921abfd-cb89-4bec-b81e-b14234bf64ee'}
 'Fraudulent': {'e7c91a47-10ac-45b7-8106-1a2a4a6e06b0'}
 'Information': {'e7c91a47-10ac-45b7-8106-1a2a4a6e06b0'}
 'Incidents of fraud': {'017cc16d-c086-4796-aef1-5f172c37b6fd'}
 'Email': {'017cc16d-c086-4796-aef1-5f172c37b6fd'}
<EMAIL_ADDRESS>{'017cc16d-c086-4796-aef1-5f172c37b6fd'}
 'Contact': {'799801ff-c287-4fc0-b409-4bd7d64eeadd'}
 'Fraud-related questions': {'799801ff-c287-4fc0-b409-4bd7d64eeadd'}
 'Businesses relevant to travelers': {'799801ff-c287-4fc0-b409-4bd7d64eeadd'}
 'Property': {'c0d9c728-66fe-4412-91ff-93d46fa56adc'
 'ec646e60-c14b-4bc1-88eb-e61c8c772483'
 '22d8d519-65f1-4679-986a-340b2cfd55c6'}
 'Listed business': {'ec646e60-c14b-4bc1-88eb-e61c8c772483'}
 'Submit': {'42d6667f-291f-407f-9122-724bee77e483'}
 'New listing': {'42d6667f-291f-407f-9122-724bee77e483'}
 'Requirements': {'c0d9c728-66fe-4412-91ff-93d46fa56adc'}
 'Here': {'c0d9c728-66fe-4412-91ff-93d46fa56adc'}
 'Function': {'c0d9c728-66fe-4412-91ff-93d46fa56adc'}
 'Travelers': {'22d8d519-65f1-4679-986a-340b2cfd55c6'}
 'Helpful': {'22d8d519-65f1-4679-986a-340b2cfd55c6'}
 'Regular part': {'22d8d519-65f1-4679-986a-340b2cfd55c6'}
 'Special event parking': {'30a3bf4e-abd7-4577-8035-bbc6b60a6e71'}
 'Example': {'30a3bf4e-abd7-4577-8035-bbc6b60a6e71'}}
 rel_map={}
 embedding_dict={})

subj and obj are treated as keywords for retrieval
the relationship is still in the graph store, and when triplets are retrieved, the full triplet is sent to the LLM

@logan-markewich Would you mind referring me how I can get the relationship in the graph store? I tried to use
query_engine = index.as_query_engine()

response = query_engine.query("Tell me more about asylum seekers")

However, I'm always told that there is no relationship found. I can check that asylum seekers is a keyword in the index_struct.

Likely its not doing a great job at extracting keywords for the query
You can do rel_map = graph_store.get_rel_map(subj_list, depth=2, limit=30)

Thanks! I'm able to get the relations now.
How do I improve the query performance? I saw that the retrieve code is wrapped in different classes for a couple of times. Is there any attribute I can set to customize the retrieve metrics?

I think probably using the KnowledgeGraphRagRetriever will give much better results

Do you have a quick code example?

OK I think I've figured out what went wrong. The default search method is based on keywords. The keyword was stored as "Asylum seekers" so that it fails to recognize "asylum seeker" as a keyword. It might be better to use embedding as a search strategy. How should I enable it? Is KnowledgeGraphRagRetriever  automatically searching based on embeddings?

KG RAG retriever:
https://docs.llamaindex.ai/en/stable/examples/query_engine/knowledge_graph_rag_query_engine.html#perform-graph-rag-query
Using embeddings with the base retriever
https://docs.llamaindex.ai/en/stable/examples/index_structs/knowledge_graph/KnowledgeGraphDemo.html#query-with-embeddings

@logan-markewich Thanks! Just an FYI, the KG RAG retriever is not retrieving the correct entities as well so that it always returns an empty response. Using embeddings with base helps finding the entities. But somehow the generation results are not satisfying enough that it does not incorporate the relations found in the KG.

@logan-markewich Thanks! Just an FYI, the KG RAG retriever is not retrieving the correct entities as well so that it always returns an empty response. Using embeddings with base helps finding the entities. But somehow the generation results are not satisfying enough that it does not incorporate the relations found in the KG.

I'm also having the issue where my KG RAG retriever is always returning an empty list.
Specifically doing something like this:
llama_debug = LlamaDebugHandler(print_trace_on_end=True)
callback_manager = CallbackManager([llama_debug])
storage_context = StorageContext.from_defaults(graph_store=neo4j_graph_store)

graph_rag_retriever = KnowledgeGraphRAGRetriever(
    storage_context=storage_context,
    verbose=True,
    with_nl2graphquery=False,
    callback_manager=callback_manager
)

graph_rag_retriever.retrieve('<Question here>')

Did you figure out why you were getting an empty response?


refactor: technology component to fetch data

To avoid doing that externally. Now technology component is able to fetch display name and icon given a technology slug. So can be used in more places without callers having to map.
Also:

Split service into functions for performance purposes
Remove unneeded Technology model. Now TechnologyItem is the only model needed. Display name and icon will be fetched by component
Rename id to slug on resume.json so map is 1:1

#508  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @davidlj95 and the rest of your teammates on  Graphite


Ability to remove profile picture

Is your feature request related to a problem? Please describe.
Once a profile picture is uploaded, it cannot be removed.
Describe the solution you'd like
Add the ability to remove one's profile picture and revert to the Hugging Face default gradient color picture.
Describe alternatives you've considered
None.
Additional context
GitHub has a similar feature. When Edit profile picture is clicked, two options are presented: "Upload a photo..." and "Remove photo"

cc @gary149

This is now possible! :fire:


[mac] Network name fixes

This PR fixes the following issues:

otLinkActiveScan() doesn't null-terminate a network name if it has the maximum length of 16 characters (#3233).
otThreadSetNetworkName() doesn't update the network name if the new name is a prefix of the current name.

I signed it!


Differences between this repo and Caustic-Design

Hi!
I've noticed in the README file you mentioned this repo is based on the paper Poisson-Based Continuous Surface Generation for Goal-Based Caustics (Yue, 2014), while the Caustic-Design repo is based on the paper High-contrast Computational Caustic Design (Schwartzburg, 2014)
I wonder are there any differences between them in terms of the final output quality?
It seems Schwartzburg's paper performs better with high-contrast images compared to Yue's. Is that true?
Much appreciated!

Ah, I see, so it's about patent.
I do hope you can continue working on that project though, things like non-square shapes, or running in terminal with no UI, are quite useful.
(ps. I saw you mentioned in this issue that you will "first working on point light sources". Based on my manufacturing experience, that's not really necessary. Things work just fine with a point light source at the right distance, it's just the image is a bit larger. No distortion or whatever.
Like this: (image ----4m---- lens ----30cm---- torch)

Thanks again for your reply!

Hi, the yue et al implementation is fully terminal based and uses the aspect ratio of the provided image. A rectangular image results in a rectangular lens.
And for the point light sources, it is useful to have exact control over the resulting caustic image even with point light sources. For example i want the image to be exactly a certain size with a licht source at a certain position. Also by using a point light source we have to account for the refraction on entering the lens. This is already implemented. You just have to edit a variable in the fresnel mapping and recompile.

Also if i may ask, your fabricated results look really good! What cnc setup are you using?

the yue et al implementation is fully terminal based and uses the aspect ratio of the provided image. A rectangular image results in a rectangular lens.

Yeah, I'm aware of that. I just want better quality though, so some inconvenience wouldn't matter.

What cnc setup are you using?

Well actually, I asked a friend of mine to do the fabrication. He told me the set up is: (hopefully I didn't translate it wrong)

This is highly dependent on the machine. For example, the spindle's vibration acceleration varies at different speeds, and every machine is different. The speed I use is 22k RPM. For surface parallelism, the tolerance is 0.04 mm, with a G1 feed rate of F1000 and a stock allowance of 0.1 mm.

I don't know some of the technical terms so I'll post his original text below:

这个和机器有很大关系，比如主轴在不同转速时震动加速度是不一样的，每台机器都不一样，我用的速度是22k/rpm.出平行距离0.04 ，g1速度f1000,预留量0.1

And his machine:

And some product we made for Veritasium:
https://github.com/user-attachments/assets/a5df2236-52eb-4ba9-9558-47850b990729

I noticed that you are using a least squares algorithm to solve this problem, recommend an article's algorithm, A Fast Algorithm for Optimal Transportation, this FFT-OT algorithm is also very fast to compute and the code is open source.You can find the source code herehttps://www3.cs.stonybrook.edu/~gu/.I uploaded the code,hope you can see these!maybe it can help for your project!
FFT_OT.zip

@freeformgrit i see that the code for point light sources which accounts for input refraction is not pushed. My apologies.
And for the contrast of yue's paper, if you dont check for triangle collapses and let the mesh fully deform you get an optimal mapping (identical to the results of otsolver, only alot slower). But my implementation of the poisson solver for the normal integration (hight mapping) breaks when the contrast is too high.  For example the hello world image. That's why I'm implementing a least squares solver for the normal mapping (see branches).
I have a branch of otsolver that has a program which takes vertices from the Target_Surface program and outputs the transported target points that you can use as light origin points to create a caustic lens in the Target_Surface program. This supports high contrast images and is still patent free as far as i know. And it's really fast.
I will look into FFT_OT how compatible this is for caustic design, looks interesting!


AppCheck Admin SDK requires use of internal package externally in its API

Describe your environment

Operating System version: Macbook Pro Apple M1 Ventura 13.4.1 running Dockerized env from golang:1.20-alpine.
Firebase SDK version: 4
Library version: v4.12.0
Firebase Product: Appcheck

Describe the problem
Original Stack Overflow source here.
First, I believe the Firebase documentation for how to use AppCheck with the Golang SDK is wrong here.
It says you need to create a new appcheck.Client directly via method off of your firebase.App, but this method doesn't exist (anymore?):
func main() {
    app, err := firebaseAdmin.NewApp(context.Background(), nil)
    if err != nil {
        log.Fatalf("error initializing app: %v\n", err)
    }

    appCheck, err = app.AppCheck(context.Background()) // <-- here, does not exist
    if err != nil {
        log.Fatalf("error initializing app: %v\n", err)
    }

    http.HandleFunc("/yourApiEndpoint", requireAppCheck(yourApiEndpointHandler))
    log.Fatal(http.ListenAndServe(":8080", nil))
}

So, instead, I've referred to Firebase's appcheck package here which says you now need to create a new instance via this method instead:
func NewClient(ctx context.Context, conf *internal.AppCheckConfig) (*Client, error)

This, in theory, should work. However, note the use of an internal package.
We can try using NewClient(...), and will be able to provide its first arg of context.Context, but won't be able to provide a value for its second arg of type *internal.AppCheckConfig because it's internal.
Steps to reproduce:
import firebase "firebase.google.com/go"

// get the admin app of type *firebase.App
app, err := firebase.NewApp(context.Background(), nil, opt)
if err != nil {
    return err
}

// then try to get the type of *appcheck.Client
appCheck, err := appcheck.NewClient(context.Background(), &internal.AppCheckConfig{ // <-- won't work because using internal package
    ProjectID: "your_proj_id",
})
if err != nil {
    return err
}

The "steps to reproduce" example imports the v1 major version of the module, which did not have an AppCheck method. The v4 major version ("firebase.google.com/go/v4") used by the example in the documentation does (docs).
The example from the documentation builds without errors for me. In an empty directory:
$ cat > main.go
package main

import (
    "context"
    "log"
    "net/http"

    firebaseAdmin "firebase.google.com/go/v4"
    "firebase.google.com/go/v4/appcheck"
)
// ...
// rest of the code from https://firebase.google.com/docs/app-check/custom-resource-backend#go
// ...
$ go mod init example.com/test
go: creating new go.mod: module example.com/test
go: to add module requirements and sums:
$ go mod tidy
go: finding module for package firebase.google.com/go/v4/appcheck
go: finding module for package firebase.google.com/go/v4
go: found firebase.google.com/go/v4 in firebase.google.com/go/v4 v4.12.0
go: found firebase.google.com/go/v4/appcheck in firebase.google.com/go/v4 v4.12.0
$ go build .
// no errors


Welcome view: "window reload notification" even when not needed

Refs: https://github.com/microsoft/vscode/issues/119463

Welcome view, click on extension to install, notice notification

The issue is that we:

Show notification even if the extension install does not require a reload
Wording is not that good. Button should be called "Reload"
Consider just doing this automatically and not showing a notification since it is user intiated

Duplicate of https://github.com/microsoft/vscode/issues/109423


reverting merge

I've accidentally merged the csproj into the master branch.
Should we manually revert the change with a PR or should we do something different?
/cc @BillWagner @blackdwarf

@mairaw I think this is the best strategy. Because it's the master branch, it could be really bad to erase the history.
And. LGTM.

Agreed with @BillWagner.

Thanks for the input, that's what I thought too. I'll check with you how to do the sync properly since the way I tried to do caused this.


Andrewkh/update nightly channel

Nightlies are at a new temporary channel pointed by cloudflare, see https://github.com/pytorch/test-infra/pull/5747/files

Landing this now since all CI has started successfully


Custom Model with args_schema not working

i tried out a simple custom model. as long as i am using only one "query" parameter everything is working fine. in this example i like to use two parameters (i searched the problem and i found this SendMessage usecase...)
unfortunately it does not work.. and throws this error.
input_args.validate({key_: tool_input})   File "pydantic/main.py", line 711, in pydantic.main.BaseModel.validate   File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__ pydantic.error_wrappers.ValidationError: 1 validation error for SendMessageInput message   field required (type=value_error.missing)
the code :
`from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.llms import OpenAI
from langchain.tools import BaseTool
from typing import Type
from pydantic import BaseModel, Field
class SendMessageInput(BaseModel):
email: str = Field(description="email")
message: str = Field(description="the message to send")
class SendMessageTool(BaseTool):
name = "send_message_tool"
description = "useful for when you need to send a message to a human"
args_schema: Type[BaseModel] = SendMessageInput
def _run(self, email:str,message:str) -> str:
    print(message,email)
    """Use the tool."""
    return f"message send"

async def _arun(self, email: str, message: str) -> str:
    """Use the tool asynchronously."""
    return f"Sent message '{message}' to {email}"

llm = OpenAI(temperature=0)
tools=[SendMessageTool()]
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
agent.run("send message hello to<EMAIL_ADDRESS>`

The ZERO_SHOT_REACT_DESCRIPTION agents don't yet work with multi-argument messages.
The CHAT_ZERO_SHOT_REACT_DESCRIPTION work better, though the updates to tool descriptoin are still not landed.
We are looking to land fixes in the. next couple of days

many thanks for the quick reply. cheers

Thanks for your hard work on this guys. Is there any progress on the issue? Cheers!

@vowelparrot Thank you for this, this solved several days of extreme frustration.
I don't have the OPs use case, just a simple agent with a web search tool, however the difference in result consistency with CHAT_ZERO_SHOT_REACT_DESCRIPTION vs ZERO_SHOT_REACT_DESCRIPTION is startling. I'm using GPT4 on a private Azure instance.

link not found.
https://python.langchain.com/en/latest/modules/agents/agents/examples/structured_chat.html?highlight=structured chat @vowelparrot .


Check and fix issues with the TOC

For instance, the 'Tips and Tricks' user guide introduced in #1665 isn't linked right now and I believe the old 'Showcase' notebook appears in the navigation sidebar on some pages.

Neither of the issues described here apply now.


Revert "Update to 0.17.12"

Reverts dtandersen/docker_factorio_server#217:
0.17.12 is not a functional headless server release due to
https://forums.factorio.com/viewtopic.php?f=7&t=67735
We should stay with 0.17.11 and upgrade to 0.17.13 asav.

isnt that the point of the whole experimental branch? It was released, so there should be an image for it, I would assume.

if it works, fine. but having this on latest now means, that any headless server that updates/rebuilds will fail. I don't think, that's worse the thing? The bug has been fixed, so we can skip 0.17.12 with no prob

I would suggest rolling out 0.17.13, tagging it latest and leaving 0.17.12 for completeness sake.

yeah fine for me. I'd have prefered, if the build would have been postponed until a working version becomes latest, but so I just wait.


GESIS Collaboration - Dynamic image building in a JupyterHub

Context
We recently started a collaboration with GESIS with the goal of generalizing, improving, and sustaining the "persistent binderhub" deployment at notebooks.gesis.org.
Here are the major things we'd like to do as part of this collaboration:

Generalize the "Persistent BinderHub" setup so that it is no longer unique to GESIS infrastructure
Improve aspects of the design and implementation to be more sustainable, scalable, usable, etc
Upstream as much as possible to parts of the JupyterHub / Binder ecosystem

Here's a link to the deliverables on the collaboration
Project roles

Point of contact with @arnim and GESIS: @jmunroe
Engineering project manager: @damianavila
Engineering developer: @consideRatio

References

Yuvi's write-up about unifying BinderHub/JupyterHub under one Helm Chart
Ryan's idea of "Binder for everything"

Tracking progress
We'll use this issue to track progress on the collaboration, and to list issues where we have discussion and iteration on more focused parts of the collaboration. Below is a rough list of things to do.

[ ] Announce this collaboration publicly in some way
[ ] Do an audit of the Persistent BinderHub Helm Chart
[ ] Have a community meeting for feedback and brainstorms about design and end-product goals
...decide on first steps for iteration and fill them out here

Dedicated board
Ref: https://github.com/orgs/2i2c-org/projects/33.

ping to @bitnik @arnim and @mriduls in case any of them are interested in following along, collaborating, or joining in discussions and meetings.

Just sharing some slides I presented to a Turing-based project around what I perceive the use cases/target audiences are for JupyterHub and BinderHub and how this dynamic image building in JupyterHub work might affect BinderHub as a separate project

https://docs.google.com/presentation/d/1ueejB2ZcYaZTve3CqVRE1d4fl0TCSMXF_vuD8hm23fU/edit?usp=sharing

@choldgraf should we do some kick-off?

Two quick updates:
Meeting / timing
@arnim yes I believe it's a good idea - we have been working to finish up deploying Pangeo's BinderHub before working on this, and I think we figured out a short-term path forward there last week so hopefully can then shift focus to this project. We will ping here once it's time.
Kernels as a service
In a recent conversation with @jlperla we noted that this work might be related to another feature that many have requested in the Jupyter ecosystem, which is something like "Binder / Jupyter kernels as a service for scalable computation". The idea is that you could define an environment via a Binder-like repository, build it into an image with repo2docker, and then scale computation using that repository's environment via some cloud mechanism. This wouldn't be as rapidly scalable as something like Dask Gateway, but could be a useful way to rapidly / interactively parallelize something in the cloud. Just noting that here in case we find a way to connect it with this work.

The "kernels as a service for scalable computation" idea sounds interesting ;)  All the best for the deployment of Pangeo's Hub. A while ago @rabernat raised also an extremely interesting question. Maybe we can indeed move one step closer to a generic backplane for all kinds of scientific infrastructure. Computational replicability is key in economics, geoscience, and the social sciences ;)

Here's a document I wrote almost a year ago now that might help https://hackmd.io/OXhKs4xyQra0KgBglegSBQ

This is great news. Thank you @damianavila for helping with this 🎉

@arnim, how does your calendar looks-like for a meeting next week? I can send a when2meet link for next week if you are available. 2i2c eng resources should be available to meet next week as well.

how does your calendar looks-like for a meeting next week?

Do you have a preferred day? Usually around this time would work for me well :)

@damianavila Typically somewhere between 12:00 UTC and 23:59 UTC should work

OK, I have create a when2meet event so we can find a slot that works for everyone involved in this conversation: https://www.when2meet.com/?16135851-mYuiB
@consideRatio @yuvipanda @sgibson91, I would appreciate it if you can join this meeting. Please check the link and drop your availability. Thanks!

@damianavila Should we say Thursday, 21th July, 2022 at 17:15 UTC (or your timezone)?
Video - Jitsi: https://meet.jit.si/DynamicImageBuilding

@armin, I was finalizing the survey of availability and I was going to propose Wed 20th at 17 UTC, instead.
Can you make it?
Btw, I can offer a 2i2c zoom room in the invite I am going to send if Zoom is OK for you.

Can you tell me the email to use in the invite? I will post the details here as well in case you do not want to share your email here.

arnim dot bleier at gmail ...

Thank you (some people use dedicated calendars for meeting invites, this is why I explicitly asked).
Invitation sent! cc @2i2c-org/tech-team

Details.
When: Wed 20th 17 UTC
Where: 2i2c zoom room
Agenda (dropping some points that we can change if we want/need to):

Quick presentation
State of the problem
Exploration/design phase
Implementation
Provision
Status updates

Can we send @MridulS an invite in case he wants to join?

Sure, @MridulS do you have any email preference for the invite?

seth dot mridul [at] gmail dot com

Invitation sent!

@damianavila do we need a passcode 4 zoom?

Hi @consideRatio,
you mentioned last time that you were working on a similar proposal. Do you think you would have some time to chat? I would love to understand this better :)

@arnim, curious to understand if you are trying to get additional context about @consideRatio's previous experience with BinderHub-like and/or JHub-like deployments or if you want to understand better the general idea we talked about (proposed) in the meeting.
Btw, I am planning to get the team together this week to start working in depth on the technical proposal (and some experimentation to support that technical exploration). After a few discussions with the team members, I should be able give you a sense of the timeline we are talking about.
 Do you frequently check it? I would like to use some spaces there for the specific discussions. I would also like that place to be a medium where you can quickly reach out to me (and where I can ping you as well).

Not at all, but if you send me an infinite, I would come by from time to time :)
Generally speaking, I'm still fully trying to understand the proposal. I'm in summer school this week, but if you have some time @damianavila, maybe you help me to understand it a bit better. It's probably just me being slow.

Not at all, but if you send me an infinite, I would come by from time to time :)

Sure thing, I will send you an invite soon.

Generally speaking, I'm still fully trying to understand the proposal. I'm in summer school this week, but if you have some time @damianavila, maybe you help me to understand it a bit better. It's probably just me being slow.

No problem at all! Given that you are in summer school this week, maybe we can meet next one?

Thank you @damianavila :+1:

@arnim, I sent you an invite to our Slack space.

THX - just sent my hello message :)

Some updates:

Created a dedicated team (@consideRatio, @yuvipanda, and @sgibson91) who is assigned to push forward this project.
Created a dedicated Slack channel to have focused discussions about the project.
Created a dedicated GH project board to collect issues related to this project.
Coordinated and discuss next steps with the team.

We are starting with an exploratory phase consisting of:

Series of technical meetings
MVP to validate the ideas coming from those meetings
MVP presentation in front of stakeholders (feedback loop)
Iteration

Next step:

A series of 3 technical meetings (one per week) to discuss specific technical items involving @yuvipanda's proposal, UX/UI needs, underlying technology, pre-existing experiences, etc.

This series will be tracked here: https://github.com/2i2c-org/infrastructure/issues/1577

After the first meeting, we have some next steps briefly described here: https://github.com/2i2c-org/infrastructure/issues/1577#issuecomment-1205891914

Hi @damianavila, I thought that you would ping me first when you have some time to chat. I'm not sure we agreed to build on tljh in our first meeting.

We are only deploying tljh-repo2docker as a means to perform user experience research to inform what we should build (to some extent) for, most likely, the z2jh helm chart.

I'm also certainly interested in trying tljh-r2d and have to confess to my shame that I haven't done so yet :) Already subscribed to infrastructure/issues/1596

Hi @damianavila, I thought that you would ping me first when you have some time to chat. I'm not sure we agreed to build on tljh in our first meeting.

For future readers, there was a conversation in the specific binderhub-jupyterhub 2i2c Slack channel that further clarifies the context and the clarification @sgibson91 shared above: https://2i2c.slack.com/archives/C03RLNFM43F/p1659687870338259

Hi 👋  I'm back to the office this month. Should we have a small meeting, maybe next week? Let me know if there is anything I can do.

We should also consider if the proposed new architecture allows for things to be used such as dynamic repository credentials (jupyterhub/binderhub/pull/1169) should they land in BHub or would this then better be integrated on the JHub side.

I think https://infrastructure.2i2c.org/en/latest/howto/features/github.html might help with this ⬆.
There is a blog post from @yuvipanda at https://blog.jupyter.org/securely-pushing-to-github-from-a-jupyterhub-3ee42dfdc54f.

Hey all - I've added a "project roles" section to the top comment here and tagged folks that I think are dedicating their time to the project. Please edit if I got any of that wrong!

The last available update of the plan lives at https://github.com/2i2c-org/binderhub-service/issues/27.


docs: update bash commands from npm to pnpm equivalent , add discord dev mode description

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Closes #559

One nit

Seen to. 😃


Feature request: Display container's restart policy in dashboard.

It would be nice to at least display the container's restart policy in the container dashboard under "Container details" if the container has one.

Closed by #435


Use of Concepts Breaks Clang 10 C++2a

I'm getting odd compiler errors when compiling with C++2a on Clang 10. The diagnostic is definitely buggy, but perhaps there is a misuse of the concepts feature (idk).
Boost 1.73.0: https://godbolt.org/z/cJju9g
In file included from /celibs/boost_1_73_0/boost/beast/core/basic_stream.hpp:1457:

/celibs/boost_1_73_0/boost/beast/core/impl/basic_stream.hpp:782:1: error: out-of-line definition of 'async_connect' does not match any declaration in 'basic_stream<type-parameter-0-0, type-parameter-0-1, type-parameter-0-2>'

async_connect(

^~~~~~~~~~~~~

Boost 1.72.0: https://godbolt.org/z/4eD3QJ
(Link says Clang trunk but I tried both)
On 1.72.0 there is a possibly more useful error:
In file included from /celibs/boost_1_72_0/boost/beast/core/basic_stream.hpp:14:

In file included from /celibs/boost_1_72_0/boost/beast/core/detail/stream_base.hpp:13:

In file included from /celibs/boost_1_72_0/boost/asio/steady_timer.hpp:22:

In file included from /celibs/boost_1_72_0/boost/asio/basic_waitable_timer.hpp:21:

In file included from /celibs/boost_1_72_0/boost/asio/detail/deadline_timer_service.hpp:21:

In file included from /celibs/boost_1_72_0/boost/asio/execution_context.hpp:409:

In file included from /celibs/boost_1_72_0/boost/asio/impl/execution_context.hpp:18:

In file included from /celibs/boost_1_72_0/boost/asio/detail/handler_type_requirements.hpp:53:

/celibs/boost_1_72_0/boost/asio/async_result.hpp:70:20: error: concept cannot have associated constraints

BOOST_ASIO_CONCEPT completion_handler_for =

It works fine on 1.71

template <typename T>
concept True = true;

template <typename>
struct basic_stream {
template<True H>
  void async_connect();
};

// impl

template<class A>
template<True H>
   //    ^ instead of `class`
void basic_stream<A>::async_connect() {

https://godbolt.org/z/jsaAGY
The problem is that in Beast the function implementations do not also specify the concept in template function parameter list. Whether the standard requirements that I do not know, but it at least makes for a clean work around.

This was already fixed in develop 638e2d1244a3655e90f343c45ef27ff562540b61
Thank you.


Jmackey python bindings abstract functions autogenerated

Separate pr changes to the auto-generated python bindings functions to avoid too many changes in one pr.
Biggest changes:

Autogenerated warning at top of every file.
Abstractions import.
Conversion from ordering args to sending args as dict from locals()
Additional file - hca/api/abstractions/init.py - necessary to avoid circular imports b/c the abstract functions depend on the autogenerated functions. So just regenerate the same functions in the abstractions directory.

Closing this pr b/c the code used to create the autogenerated bindings is not in here. Will just include the new python bindings in the next pr.


Workload: CSV summary statistics

So cool to see the Frictionless integration! Is there a demo out there I can :eyes:?


Fast atomics

Motivation:
The existing Atomic class holds an UnsafeEmbeddedAtomic which holds an OpaquePointer to raw memory for the C atomic. This results in multiple allocations on init. The new FastAtomic class uses ManagedBufferPointer which tail allocates memory for the C atomic as part of the FastAtomic class allocation.
Modifications:
Created FastAtomic class that uses ManagedBufferPointer to allocate memory for the C atomic. Created version of catmc_atomic_* C functions that expect memory to be allocated/deallocated by caller. Created FastAtomicPrimitive protocol for the new version of catmc_atomic_* functions.
Result:
Purely additive. FastAtomic is available as an alternative to Atomic which results in fewer memory allocations.

@weissi I'm not sure how I can make Atomic be implemented by FastAtomic since they're generic over different types (AtomicPrimitive vs FastAtomicPrimitive). I was able to convert AtomicBox over to FastAtomic though.

@swift-nio-bot test this please

@2bjake unfortunately, the API breakage checker found breakages here: https://ci.swiftserver.group/job/swift-nio2-api-breakage-prb/406/console
Essentially, we need to keep the OpaquePointer APIs depite the fact we now accept UnsafePointer<concrete_type>

@weissi The types of the original AtomicPrimitive APIs are unchanged and still deal in OpaquePointers. Is it an issue that they are now provided as default implementations on a protocol extension?

@2bjake
[...]
 17:12:39 /* Type Changes */
17:12:39 Accessor Bool.atomic_add.Get() has return type change from (OpaquePointer, Bool) -> Bool to (UnsafeMutablePointer<catmc_atomic__Bool>, Bool) -> Bool
17:12:39 Accessor Bool.atomic_compare_and_exchange.Get() has return type change from (OpaquePointer, Bool, Bool) -> Bool to (UnsafeMutablePointer<catmc_atomic__Bool>, Bool, Bool) -> Bool
17:12:39 Accessor Bool.atomic_exchange.Get() has return type change from (OpaquePointer, Bool) -> Bool to (UnsafeMutablePointer<catmc_atomic__Bool>, Bool) -> Bool
17:12:39 Accessor Bool.atomic_load.Get() has return type change from (OpaquePointer) -> Bool to (UnsafeMutablePointer<catmc_atomic__Bool>) -> Bool
17:12:39 Accessor Bool.atomic_store.Get() has return type change from (OpaquePointer, Bool) -> Void to (UnsafeMutablePointer<catmc_atomic__Bool>, Bool) -> Void
17:12:39 Accessor Bool.atomic_sub.Get() has return type change from (OpaquePointer, Bool) -> Bool to (UnsafeMutablePointer<catmc_atomic__Bool>, Bool) -> Bool
17:12:39 Accessor Int.atomic_add.Get() has return type change from (OpaquePointer, Int) -> Int to (UnsafeMutablePointer<catmc_atomic_long>, Int) -> Int
17:12:39 Accessor Int.atomic_compare_and_exchange.Get() has return type change from (OpaquePointer, Int, Int) -> Bool to (UnsafeMutablePointer<catmc_atomic_long>, Int, Int) -> Bool
17:12:39 Accessor Int.atomic_exchange.Get() has return type change from (OpaquePointer, Int) -> Int to (UnsafeMutablePointer<catmc_atomic_long>, Int) -> Int
17:12:39 Accessor Int.atomic_load.Get() has return type change from (OpaquePointer) -> Int to (UnsafeMutablePointer<catmc_atomic_long>) -> Int
17:12:39 Accessor Int.atomic_store.Get() has return type change from (OpaquePointer, Int) -> Void to (UnsafeMutablePointer<catmc_atomic_long>, Int) -> Void
17:12:39 Accessor Int.atomic_sub.Get() has return type change from (OpaquePointer, Int) -> Int to (UnsafeMutablePointer<catmc_atomic_long>, Int) -> Int
17:12:39 Accessor Int16.atomic_add.Get() has return type change from (OpaquePointer, int_least16_t) -> int_least16_t to (UnsafeMutablePointer<catmc_atomic_int_least16_t>, int_least16_t) -> int_least16_t

@2bjake the problem is that a some_struct * in imported into Swift in two different ways:

UnsafePointer<some_struct> if struct some_struct is fully declared in the header file
OpaquePointer if struct some_struct is forward declared

Previously, we had situation (2) but now it's (1). That's not a problem per se but the types did change unfortunately.

@2bjake sorry, I think the real problem is this
17:12:39 /* Renamed Decls */
17:12:39 Var Bool.atomic_add has been renamed to Var fast_atomic_add
17:12:39 Var Bool.atomic_compare_and_exchange has been renamed to Var fast_atomic_compare_and_exchange
17:12:39 Var Bool.atomic_exchange has been renamed to Var fast_atomic_exchange
17:12:39 Var Bool.atomic_load has been renamed to Var fast_atomic_load
17:12:39 Var Bool.atomic_store has been renamed to Var fast_atomic_store
17:12:39 Var Bool.atomic_sub has been renamed to Var fast_atomic_sub
17:12:39 Var Int.atomic_add has been renamed to Var fast_atomic_add
17:12:39 Var Int.atomic_compare_and_exchange has been renamed to Var fast_atomic_compare_and_exchange
17:12:39 Var Int.atomic_exchange has been renamed to Var fast_atomic_exchange
17:12:39 Var Int.atomic_load has been renamed to Var fast_atomic_load
17:12:39 Var Int.atomic_store has been renamed to Var fast_atomic_store
17:12:39 Var Int.atomic_sub has been renamed to Var fast_atomic_sub
17:12:39 Var Int16.atomic_add has been renamed to Var fast_atomic_add
17:12:39 Var Int16.atomic_compare_and_exchange has been renamed to Var fast_atomic_compare_and_exchange
17:12:39 Var Int16.atomic_exchange has been renamed to Var fast_atomic_exchange
17:12:39 Var Int16.atomic_load has been renamed to Var fast_atomic_load
17:12:39 Var Int16.atomic_store has been renamed to Var fast_atomic_store
17:12:39 Var Int16.atomic_sub has been renamed to Var fast_atomic_sub
17:12:39 Var Int32.atomic_add has been renamed to Var fast_atomic_add
17:12:39 Var Int32.atomic_compare_and_exchange has been renamed to Var fast_atomic_compare_and_exchange
17:12:39 Var Int32.atomic_exchange has been renamed to Var fast_atomic_exchange
17:12:39 Var Int32.atomic_load has been renamed to Var fast_atomic_load

so for example Int32.atomic_load is no longer present but it was before. That's why the api-digester thinks it was renamed (but really it was removed)

@weissi Right, I saw those. But Int32.atomic_load and all the rest are still present. The AtomicPrimitive protocol APIs are unchanged, and all of the primitives still conform it. The only difference is that each primitive's AtomicPrimitive extension doesn't explicitly list each API. They get conformance from the protocol extension that has default implementations that rely on the FastAtomicPrimitive APIs.

@2bjake hmm, I see what you're saying. That would mean that this is a swift-api-digester bug then though. Would you mind filing a bug report there?

@2bjake actually, I can do the bug report filing.

@2bjake I think api-digester is right. Try this program:
public protocol FP {
    associatedtype Foo

    static var fastFoo: (String) -> String { get }
}

extension P where Self: FP {
    public static var foo: (String) -> String {
        return {
            return Self.fastFoo($0)
        }
    }
}

public protocol P {
    static var foo: (String) -> String {get}
}

public struct S: FP {
    public typealias Foo = String
    public static let fastFoo: (String) -> String = { $0 }
}

public struct T: P {
    public static let foo: (String) -> String = { $0 }
}

public func use() {
    let s = S()
    let t = T()

    print(S.foo("sss"))
    print(S.fastFoo("ccc"))
    print(T.foo("asdf"))
}

which will fail compilation with
$ swift x.swift
x.swift:32:13: error: type 'S' has no member 'foo'
    print(S.foo("sss"))
          ~ ^~~

@2bjake the error is that nothing conforms for example Bool to AtomicPrimitive, right?

@weissi The problem with that sample program is that nothing conforms S to P. Add extension S: P {} and it compiles. If you look in atomics.swift, conformance to AtomicPrimitive is added to all of the primitives, for example:
extension Bool: AtomicPrimitive {
    public static let atomic_create  = { OpaquePointer(catmc_atomic__Bool_create($0)) }
    public static let atomic_destroy = { (p: OpaquePointer) in catmc_atomic__Bool_destroy(UnsafeMutablePointer(p)) }
}

@weissi Here's an example that is just a reduced version of the actual code:
// fastatomics.swift
public protocol FastAtomicPrimitive {
    associatedtype AtomicWrapper
    static var fast_atomic_add: (UnsafeMutablePointer<AtomicWrapper>, Self) -> Self { get }
}

public struct catmc_atomic__Bool {}

extension Bool: FastAtomicPrimitive {
    public typealias AtomicWrapper = catmc_atomic__Bool
    public static let fast_atomic_add: (UnsafeMutablePointer<AtomicWrapper>, Self) -> Self = { _, _ in true }
}

// atomics.swift
public protocol AtomicPrimitive {
    static var atomic_create: (Self) -> OpaquePointer { get }
    static var atomic_add: (OpaquePointer, Self) -> Self { get }
}

extension AtomicPrimitive where Self: FastAtomicPrimitive {
    public static var atomic_add: (OpaquePointer, Self) -> Self { return { fast_atomic_add(UnsafeMutablePointer($0), $1) } }
}

extension Bool: AtomicPrimitive {
    public static var atomic_create: (Bool) -> OpaquePointer = { _ in
        OpaquePointer(bitPattern: 123)!
    }
}

thanks @2bjake , I created https://bugs.swift.org/browse/SR-11859 . Do you have a user on that JIRA so I can credit you for the proper repro?
Do you see a way to make API digester happy? Because if not, all our tooling will now forever tell us that there's a problem between 2.10 and 2.11, that's not the end of the world but still not great.

@2bjake oh, also: the allocations per HTTP request went up by 9 allocations per request:
17:20:18 ++ assert_less_than_or_equal 39000 30970
17:20:18 ++ [[ ! 39000 -le 30970 ]]
17:20:18 ++ fail 'assertion '\''39000'\'' <= '\''30970'\'' failed'
17:20:18 ++ echo 'FAILURE: assertion '\''39000'\'' <= '\''30970'\'' failed'
17:20:18 FAILURE: assertion '39000' <= '30970' failed

that's a 30% regression with an expected improvement... So somewhere, the new code must introduce new allocations, I suspect that the computed properties to conform the FastAtomicPrimitives to the AtomicPrimitives cause those :(

@weissi The computed properties are for adapting the existing AtomicPrimitive to the new Swift interface of the c functions. If we went back to the duplicated c code solution, it would sidestep this issue. If the idea is to deprecate and eventually remove the original Atomic code, then the duplicate code is only temporary.
The duplicate c code solution would also make the API digester happy.

@2bjake alright, let's do the copy & pasting then :). Sorry about the back and forth.
By the way, you can run the allocation counter tests yourself on your machine by running IntegrationTests/run-tests.sh -f allocation.

@weissi No worries. I agreed with you that it was worth a try to eliminate the duplicate code. It was fun coming up with the solution to do it with computed properties in the protocol extension which eliminated a bunch of the AtomicPrimitive conformance code. Unfortunately it does seem like a pattern in my experience that elegant code solutions don't always jive with perf & strict backward compatibility requirements.
Thanks for the tip about running the allocation tests. I was wondering how to do that! :)

Ok, with the deduplication commit reverted, allocations go from 554000 down to 548000 because AtomicBox is using FastAtomic. I then converted the usages of Atomic throughout the codebase to FastAtomic and allocations dropped further to 543000.

@weissi My username on that JIRA is jakef.

@swift-nio-bot test this please

TheAtomic unit tests are getting deprecation warnings which causes validation to fail. Any thoughts on how to handle this?

@2bjake there seem to be warnings in the code now, mind just switching those to FastAtomic<T>?
21:24:38 [13/85] Compiling NIO BaseSocket.swift
21:24:38 /code/Tests/NIOConcurrencyHelpersTests/NIOConcurrencyHelpersTests.swift:34:40: error: 'Atomic' is deprecated: please use FastAtomic instead
21:24:38         let ai = NIOConcurrencyHelpers.Atomic<UInt64>(value: 0)
21:24:38                                        ^
21:24:38 /code/Tests/NIOConcurrencyHelpersTests/NIOConcurrencyHelpersTests.swift:47:18: error: 'Atomic' is deprecated: please use FastAtomic instead
21:24:38         let ab = Atomic<Bool>(value: true)
21:24:38                  ^
21:24:38 /code/Tests/NIOConcurrencyHelpersTests/NIOConcurrencyHelpersTests.swift:60:18: error: 'Atomic' is deprecated: please use FastAtomic instead
21:24:38         let ab = Atomic<Bool>(value: false)
21:24:38                  ^
21:24:38 /code/Tests/NIOConcurrencyHelpersTests/NIOConcurrencyHelpersTests.swift:80:22: error: 'Atomic' is deprecated: please use FastAtomic instead
21:24:38             let ab = Atomic<T>(value: max)
21:24:38                      ^
21:24:38 /code/Tests/NIOConcurrencyHelpersTests/NIOConcurrencyHelpersTests.swift:110:22: error: 'Atomic' is deprecated: please use FastAtomic instead
21:24:38             let ab = Atomic<T>(value: upperBound)
21:24:38                      ^
21:24:38 /code/Tests/NIOConcurrencyHelpersTests/NIOConcurrencyHelpersTests.swift:140:22: error: 'Atomic' is deprecated: please use FastAtomic instead
21:24:38             let ab = Atomic<T>(value: zero)
21:24:38                      ^
21:24:38 /code/Tests/NIOConcurrencyHelpersTests/NIOConcurrencyHelpersTests.swift:171:22: error: 'Atomic' is deprecated: please use FastAtomic instead
21:24:38             let ab = Atomic<T>(value: zero)
21:24:38                      ^
21:24:38 /code/Tests/NIOConcurrencyHelpersTests/NIOConcurrencyHelpersTests.swift:202:22: error: 'Atomic' is deprecated: please use FastAtomic instead
21:24:38             let ab = Atomic<T>(value: zero)
21:24:38                      ^
21:24:39 Build step 'Execute shell' marked build as failure

@weissi those are the unit tests for Atomic. Switching that code to FastAtomic makes them worthless (we already have FastAtomic unit tests). Should I remove them? Or do you have a way to have tests against deprecated code without causing validation errors?

@2bjake if you rebase your branch on top of master, you can use this trick: https://github.com/apple/swift-nio/blob/master/Tests/NIOTests/ByteBufferTest.swift#L2445
Just deprecate the tests that use deprecated functions :)

@swift-nio-bot test this please

@weissi I think the 5.1 validation error is a false alarm, it's failing because total_allocations is lower than expected, which is a good thing (this is what I saw on my machine). I'm not sure what's going on with the 5.0 validation error, allocs went up by 5, from 30970 to 30975.

@2bjake awesome work! To make this actually pass CI, you can now do what is for me the favourite part of a PR that optimises allocations: You can edit the two docker files in your PR and subtract the right number of allocations your PR saves :).
So if you save 4 allocations, you typically subtract 4000 from the limits (because we usually run stuff 1000 times). Usually, there's some extra slack at the end to account for random stray allocations. So for example if we have a benchmark that allocates 12 times per round and we run it 1000 times, then I'd usually set a limit of 12050 == (12 times * 1000 allocations) + 50 slack.
Does that make sense?

@2bjake for the one where it went up a tiny little bit (from 30790 to 30795, feel free to increase the slack to 30799 or something). Just needs to be below 31000.

@swift-nio-bot add to whitelist

@weissi Allocations in the conn tests went down in 5.1 but went up in 5.0.
/// 5.1 ///
MAX_ALLOCS_ALLOWED_1000_reqs_1_conn=30550
test_1000_reqs_1_conn.total_allocations: 30492

MAX_ALLOCS_ALLOWED_1_reqs_1000_conn=533050
test_1_reqs_1000_conn.total_allocations: 522000

MAX_ALLOCS_ALLOWED_ping_pong_1000_reqs_1_conn=4450
test_ping_pong_1000_reqs_1_conn.total_allocations: 4434

/// 5.0 ///
MAX_ALLOCS_ALLOWED_1000_reqs_1_conn=30970
test_1000_reqs_1_conn.total_allocations: 30975

MAX_ALLOCS_ALLOWED_1_reqs_1000_conn=994050
test_1_reqs_1000_conn.total_allocations: 1005000

MAX_ALLOCS_ALLOWED_ping_pong_1000_reqs_1_conn=4480
test_ping_pong_1000_reqs_1_conn.total_allocations: 4489

I poked around online but didn't find anything about the 5.1 release that would explain it. A total guess, but I'm wondering if the capturing closures that are passed to withUnsafeMutablePointerToElements cause allocations in 5.0 but are optimized in 5.1? The FastAtomic implementation has a bunch of them.

@2bjake that's great! We still care about 5.0 working but performance-wise 5.1 is definitely the target. So I think we're more than happy with 5.1 becoming better for 5.0 becoming worse :).
Just adjust the docker files accordingly and then this is good to go :).

@2bjake oh damn, one annoying thing: according to our public API declaration we have to prefix all new global type/protocol names with NIO. So we'd need to rename them to NIOFastAtomicPrimitive and NIOFastAtomic. That makes me think: let's just use NIOAtomic maybe?
The reason for the NIO prefixes is to "guarantee" that we won't clash with other people's types which would break SemVer in Swift :(


Chatbot Added

🚀 Pull Request
Description
Added Chatbot for the website.

Fixes #101
Closes #101

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update

Checklist:

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

Screenshot of final output/video

Code:

Update the chatbotid in the above code to activate the chatbot functionality use chatbase.io to create the chatbot id

@rahulsainlll any updates on the merge

@NK-Works does it answer project related queries efficiently? If so, kindly attach screenshots for the same.

@Aarzookhunger Here you go

now coming to the main issue regarding the chatbotid without which the website will not work...
You need to create your own chatbot id from https://www.chatbase.co/
I can show u the steps to create and train the chatbot with just putting the website link and the about page as text to the chatbot interface if you want but i can't provide you my personal chatbot id as i dont have a pro account and can only create 1 chatbot at a time...
So for contributing to other repos i need that...
but it just takes 3 mins literally to train you own chatbot in that website using just the link to your website (git-trace) to train the bot... so dont worry and also just message me here I will give u a guide to make your own using screenshots... :)
Hope that works:)

@rahulsainlll if you can create chatbot I'd from your account, mine is exhausted.

@rahulsainlll I am facing the same issue...
I have 6 accs 5 are already exhausted while the 6th one is being used to test chatbots for other websites...

@Aarzookhunger now you can merge it

@NK-Works what about chatbot-id? I approved these changes so that when project admin reviews this it'll be handy for him to merge this PR, but adding I'd for chatbot is still pending.

@rahulsainlll I have the chatbotid available now as I have created a new account... so if you want I can directly send it in the comments rather than updating the pull req do you want it?


Add more recording. Fix dependency direction regarding filename-extension.ts

Merging this PR since 1) continuous-integration/appveyor/pr failed but continuous-integration/appveyor/branch is OK and 2) the build failure is due to Chocolatey's server issue.
https://ci.appveyor.com/project/TomoyukiAota/photo-location-map/builds/29396330
Build started
git clone -q https://github.com/TomoyukiAota/photo-location-map.git C:\projects\photo-location-map
git fetch -q origin +refs/pull/211/merge:
git checkout -qf FETCH_HEAD
Running Install scripts
choco upgrade googlechrome --ignore-checksums
Chocolatey v0.10.15
Upgrading the following packages:
googlechrome
By upgrading you accept licenses for the packages.
googlechrome is not installed. Installing...
googlechrome not installed. An error occurred during installation:
 The remote server returned an error: (503) Server Unavailable. Service Unavailable
googlechrome package files upgrade completed. Performing other installation steps.
The upgrade of googlechrome was NOT successful.
googlechrome not installed. An error occurred during installation:
 The remote server returned an error: (503) Server Unavailable. Service Unavailable
Chocolatey upgraded 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Failures
 - googlechrome (exited 1) - googlechrome not installed. An error occurred during installation:
 The remote server returned an error: (503) Server Unavailable. Service Unavailable
Command exited with code 1


Update docs

Add documentation for .pypirc and gpg-agent.conf files.

Given the architecture updates, README.md and functions.md will have to be refactored.

Resolved with #41.


[refinedstorage] Found status: OUTDATED Target: 1.6.15

Issue description:
I simply tried making a server with this mod on and I got this issue. im using forge-1.12.2-<IP_ADDRESS>38-universal which is the same version in using for my game and that works fine
What happens:
I get this at the end of my server log "[refinedstorage] Found status: OUTDATED Target: 1.6.15"
What you expected to happen:
I expected the server to not tell me that my forge is outdated since I use the same version of forge on my game and it works fine. I only get this when trying to start a server
Steps to reproduce:

set up forge server of same version
put this mod in mods folder(I have many other mods also in the mods folder though)
start the server
...

Version (make sure you are on the latest version before reporting):

Minecraft: yes
Forge: yes but not really because im using the stable version, the same one I use for my game which works fime
Refined Storage: I don't know. all I know is im using the right version for my forge and game version

Does this issue occur on a server? [yes/no]
yes, it only happens on my server
If a (crash)log is relevant for this issue, link it here:
SERVER LOG
https://pastebin.com/4yJSAvBw

Which Refined Storage version are you running?
The OUTDATED warning message simply says that your Refined Storage installation is outdated and that there is a newer version available, in this case 1.6.15.

I got the latest version for 1.12.2

Which one is that? Can you check your mods folder.

1.6.15 although I am getting an issue now where it says "Found status: UP_TO_DATE Target: null"

That means you updated RS after creating this issue.
UP_TO_DATE is fine, it's normal to log that. It means what it says.

why does it still stop though?
sometimes it says up to date and other times its the same message but with out of date instead

and sometimes it says Ahead. its different every time


Windows GUI: Dialog fixes

Two commits:

Noticed that there is code to handle opening multiple files simultaneously but the Open File dialog doesn't allow selecting multiple files. It is now enabled and multiple files can be selected and opened simultaneously.

Minor fix to the positioning of the new Open Folder dialog. It now consistently opens at the same position near the corner of MediaInfo's main window.

Gentle reminder that this is not merged yet in case it is forgotten. ☺


[astro-angular] Beta 0.2.0-beta.11 published without content

Please provide the environment you discovered this bug in.
astro 2.4.1
astro-angular 0.2.0-beta.11
Which area/package is the issue in?
astro-angular
Description
The npm package of the 0.2.0-beta.11 version only has the readme and the package.json file in it:
https://www.npmjs.com/package/@analogjs/astro-angular/v/0.2.0-beta.11?activeTab=code
In contrast to the previous versions such as 0.2.0-beta.10, there is no src folder. The package.json still points to "./src/index.js" in the main entry, so I suppose there should be a src directory. Currently, when installing it via astro add @analogjs/astro-angular and running astro dev there is an error because the main entry cannot be found.
Can you please publish a new version which has the correct contents again? Thank you and thank you for your amazing work! ❤
For the meantime: Is there any way that I can install a previous version? astro add<EMAIL_ADDRESS>did not work.
Please provide the exception or error you saw
01:20:21 PM [astro] Unable to load /Users/<my_name>/projects/techtalk/fhir-on-astro/astro.config.mjs

 error   Failed to resolve entry for package "@analogjs/astro-angular". The package may have incorrect main/module/exports specified in its package.json.
  File:
    /Users/<my_name>/projects/techtalk/fhir-on-astro/astro.config.mjs
  Stacktrace:
Error: Failed to resolve entry for package "@analogjs/astro-angular". The package may have incorrect main/module/exports specified in its package.json.
    at packageEntryFailure (file:///Users/<my_name>/projects/techtalk/fhir-on-astro/node_modules/.pnpm/vite@4.3.8_@types+node@20.2.3_less@4.1.3/node_modules/vite/dist/node/chunks/dep-4d3eff22.js:23382:11)
    at resolvePackageEntry (file:///Users/<my_name>/projects/techtalk/fhir-on-astro/node_modules/.pnpm/vite@4.3.8_@types+node@20.2.3_less@4.1.3/node_modules/vite/dist/node/chunks/dep-4d3eff22.js:23379:5)
    at tryNodeResolve (file:///Users/<my_name>/projects/techtalk/fhir-on-astro/node_modules/.pnpm/vite@4.3.8_@types+node@20.2.3_less@4.1.3/node_modules/vite/dist/node/chunks/dep-4d3eff22.js:23113:20)
    at Context.resolveId (file:///Users/<my_name>/projects/techtalk/fhir-on-astro/node_modules/.pnpm/vite@4.3.8_@types+node@20.2.3_less@4.1.3/node_modules/vite/dist/node/chunks/dep-4d3eff22.js:22874:28)
    at Object.resolveId (file:///Users/<my_name>/projects/techtalk/fhir-on-astro/node_modules/.pnpm/vite@4.3.8_@types+node@20.2.3_less@4.1.3/node_modules/vite/dist/node/chunks/dep-4d3eff22.js:42847:46)
    at async TransformContext.resolve (file:///Users/<my_name>/projects/techtalk/fhir-on-astro/node_modules/.pnpm/vite@4.3.8_@types+node@20.2.3_less@4.1.3/node_modules/vite/dist/node/chunks/dep-4d3eff22.js:42575:23)
    at async normalizeUrl (file:///Users/<my_name>/projects/techtalk/fhir-on-astro/node_modules/.pnpm/vite@4.3.8_@types+node@20.2.3_less@4.1.3/node_modules/vite/dist/node/chunks/dep-4d3eff22.js:40500:34)
    at async file:///Users/<my_name>/projects/techtalk/fhir-on-astro/node_modules/.pnpm/vite@4.3.8_@types+node@20.2.3_less@4.1.3/node_modules/vite/dist/node/chunks/dep-4d3eff22.js:40651:47
    at async Promise.all (index 1)
    at async TransformContext.transform (file:///Users/<my_name>/projects/techtalk/fhir-on-astro/node_modules/.pnpm/vite@4.3.8_@types+node@20.2.3_less@4.1.3/node_modules/vite/dist/node/chunks/dep-4d3eff22.js:40577:13)

Other information
No response
I would be willing to submit a PR to fix this issue

[ ] Yes
[X] No

Thanks @glutengo. Must have been a bad build. I don't think astro add lets you specify a package version
Fixed in 0.2.0-beta.12

perfect, thank you! I can confirm it works again


API & MIcroservice Scope

I need a widget, dashboard element, what are we calling them? One that is dedicated to answering: How big is my API? I want to know if it is a microservice or not. I want some way of measure number of endpoints, parameters, verbs, data model, etc.

Let's just call them widgets for now - it's politically correct since we're on a dashboard.
Now, for starters let's just decide on an initial list of metrics that can be easily calculated from an API definition.  I'll make an outline and you can fill it in with extra stuff:

Num of endpoints
Num of read vs write endpoints
URL nesting level
Avg num of params / endpoint
Num of models

To me this list is fairly adequate to give us an initial indicator on how close or far an API is to the definition of a microservice.  As this is something totally subjective though, I think our best bet would be to finalize a basic list of metrics and then start to apply some 'best practices' overlays on these.


Daily Update Portugues

Checklist:

[ ] Updated extVersionCode value in build.gradle for individual extensions
[ ] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[X] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[ ] Added the isNsfw = true flag in build.gradle when appropriate
[X] Have not changed source names
[X] Have explicitly kept the id if a source's name or language were changed
[ ] Have tested the modifications by compiling and running the extension through Android Studio
[ ] Have removed web_hi_res_512.png when adding a new extension
[X] Updated the extension url

Changelog:
HiperCool Change Url
CeriseScans Change Url
Arkham Scan -> HuntersScan (Fusion)
animaregia (Down) close
SssScanlatorHentai (is closed)
Issues close #428
Issues close #426

Also, combining multiple changes like this makes it harder to review. Seems like all remaining icons were properly deleted.
Changes: Cerise Scan (pt-BR): https://cerisescan.com -> https://cerisescan.net HipercooL (pt-BR): https://hipercool.xyz -> https://hiper.cool Arkham Scan (pt-BR): deleted, replaced by Hunters Scan (pt-BR) (existing extension) SSS Hentais (pt-BR): deleted (Closes #426) AnimaRegia (pt-BR): deleted (Closes #428)

Thanks

Please don't accept the pr, tomorrow I'll delete some extensions that don't work anymore.

Please don't accept the pr, tomorrow I'll delete some extensions that don't work anymore.

Then make a new pull request for it. Vetle already recommended you to make one PR for each extension.


[FEAT] - Generate Meta Tags

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Generate Meta Tags for the template.
Describe alternatives you've considered
Use https://metatags.io/ to generate it, copy the tags generated and paste it into the head of the html page
Additional context
This issue will be broken down into smaller issues so it will be easier to review and fix. Check the box as you fix any of the issues stated below.
Meta information.
Image

Title
Portfolio Template - Open source
Description
Build or customize your portfolio website using this super easy template. Free to use if you are a member of the community or a contributor to this project

[ ] Update the images src with this link. Use: https://user-images.githubusercontent.com/62628408/150613011-b78a7f5a-0af1-4312-aab0-0022e7258693.png
[ ] Paste it in the head of the html page

can i work on this?

Sure @vermilion4 Assigned. 🙌🏾


EADDRINUSE

Hi! Thanks for writing minbay, excited to try it out. Still getting this:
artur at AMBP in ~/Desktop/minbay on master [!]
$ npm start

><EMAIL_ADDRESS>start /Users/artur/Desktop/minbay
> node sbot server --allowPrivate

Log level: notice
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE :::3000
    at Object.exports._errnoException (util.js:1022:11)
    at exports._exceptionWithHostPort (util.js:1045:20)
    at Server._listen2 (net.js:1259:14)
    at listen (net.js:1295:10)
    at Server.listen (net.js:1391:5)
    at Object.exports.serve (/Users/artur/Desktop/minbay/serve.js:8:5)
    at Object.<anonymous> (/Users/artur/Desktop/minbay/sbot.js:63:8)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)

even after trying everything I read on scuttlebut, commenting out line 52 and the like. Help appreciated :) Thanks!

@arturi Thanks for trying Minbay!
This error is because you have two copies of ssb-ws running, as one is bundled with minbay. The other ssb-ws you probably installed in .ssb/plugins. A few people have reported this, so I think I'll go ahead and push a temporary fix of the problem.
The reason ssb-ws is bundled is so you don't have to install a bunch of ssb plugins to get started with minbay.
I disabled minbay's loading of the .ssb/plugins folder. Do a pull, and let me know if this error goes away!

oh wait, this is port 3000, not port 8989.  You might have another copy of minbay still running on your system that didn't shut down properly?

Yes, I was, as it turned out, thanks :) Maybe better to go with something like 6734 here? Or 3279 :)

Works now! Thank you!

@arturi How about 3013? I'll change and push.

Great, thanks!

Fixed in 653b63fa81d74167101576295e54299f0b9b9cad


e2e test error: Log in goroutine after TestNoNewEnemy has completed: no such process

When merging in the latest main changes (as of Jan 31  8:45am PT). I encountered the following error in the e2e test suite:
2022-01-31T16:45:42.2426549Z     newenemy_test.go:343:<PHONE_NUMBER>070212767<PHONE_NUMBER>070212767.0000000039 -0.0000000039 1 1 3 3
2022-01-31T16:45:42.5098528Z     newenemy_test.go:343:<PHONE_NUMBER>347004451<PHONE_NUMBER>347004451.0000000037 -0.0000000037 1 1 3 3
2022-01-31T16:45:42.6102526Z === CONT  TestNoNewEnemy/protected_from_data_newenemy
2022-01-31T16:45:42.6102998Z     newenemy_test.go:231: spicedb is protected after 2 attempts
2022-01-31T16:45:42.6103560Z --- PASS: TestNoNewEnemy (80.27s)
2022-01-31T16:45:42.6103980Z     --- PASS: TestNoNewEnemy/protected_from_schema_newenemy (30.14s)
2022-01-31T16:45:42.6104444Z     --- PASS: TestNoNewEnemy/protected_from_data_newenemy (4.82s)
2022-01-31T16:45:42.6104687Z PASS
2022-01-31T16:45:42.6157997Z panic: Log in goroutine after TestNoNewEnemy has completed: no such process
2022-01-31T16:45:42.6158742Z
2022-01-31T16:45:42.6158755Z
2022-01-31T16:45:42.6158767Z
2022-01-31T16:45:42.6159085Z goroutine 158 [running]:
2022-01-31T16:45:42.6159392Z testing.(*common).logDepth(0xc000106680, {0xc0002f0a98, 0x11}, 0x3)
2022-01-31T16:45:42.6159754Z 	/opt/hostedtoolcache/go/1.17.6/x64/src/testing/testing.go:779 +0x4c9
2022-01-31T16:45:42.6160020Z testing.(*common).log(...)
2022-01-31T16:45:42.6160316Z 	/opt/hostedtoolcache/go/1.17.6/x64/src/testing/testing.go:761
2022-01-31T16:45:42.6160620Z testing.(*common).Log(0x40ca07, {0xc0003fb8a0, 0xaf1be0, 0x1})
2022-01-31T16:45:42.6160936Z 	/opt/hostedtoolcache/go/1.17.6/x64/src/testing/testing.go:800 +0x45
2022-01-31T16:45:42.6161283Z github.com/authzed/spicedb/e2e.(*TLogger).Write(0xc00000e1b0, {0xc0001a6280, 0x10, 0x9})
2022-01-31T16:45:42.6161624Z 	/home/runner/work/spicedb/spicedb/e2e/util.go:17 +0xa6
2022-01-31T16:45:42.6161920Z fmt.Fprintln({0xd1d7a0, 0xc00000e1b0}, {0xc0003f37c0, 0x1, 0x1})
2022-01-31T16:45:42.6162248Z 	/opt/hostedtoolcache/go/1.17.6/x64/src/fmt/print.go:265 +0x75
2022-01-31T16:45:42.6162557Z github.com/authzed/spicedb/e2e.cleanupOnDone.func1()
2022-01-31T16:45:42.6162881Z 	/home/runner/work/spicedb/spicedb/e2e/run.go:55 +0x87
2022-01-31T16:45:42.6163164Z created by github.com/authzed/spicedb/e2e.cleanupOnDone
2022-01-31T16:45:42.6163476Z 	/home/runner/work/spicedb/spicedb/e2e/run.go:51 +0xa7
2022-01-31T16:45:42.6163788Z FAIL	github.com/authzed/spicedb/e2e/newenemy	80.288s
2022-01-31T16:45:42.6229755Z FAIL
2022-01-31T16:45:42.6269086Z ##[error]Process completed with exit code 1.
2022-01-31T16:45:42.6309006Z ##[group]Run actions/upload-artifact@v2
2022-01-31T16:45:42.6309229Z with:
2022-01-31T16:45:42.6309412Z   name: node-logs
2022-01-31T16:45:42.6309613Z   path: e2e/newenemy/*.log
2022-01-31T16:45:42.6309813Z   if-no-files-found: warn

The good news is this was a fast failure! Most of the previous failures were timeouts from a stalled test run.

Another instance: https://github.com/authzed/spicedb/runs/5013570439?check_suite_focus=true


Misinformation about okular

Okular: Allows free-hand annotations, but not saving those for later use. Allows inserting custom saved stamps, but these will not be visible in other PDF readers.

Okular can save signatures as stamps fine and works under every pdf reader

@v3ss0n This information comes from Okular itself. I have Okular version 20.12.3. When I click for example "Approved", I first get a message box saying "Stamps inserted in PDF documents are not visible in PDF readers other than Okular". My test confirms this; after stamping a PDF, the stamp is visible in Okular when I open it again, but not in evince PDF reader.
If this information is still wrong or incomplete, could you elaborate?

@tsdgeos Do you have any input?

You have an Okular version that is almost 3 years old at this point, use something newer and it will work. If you don't want to update your distribution you can use the flathub version that besides a few quirks works generally good (at least for testing things like this)
https://flathub.org/apps/org.kde.okular

then something wrong with the way you do .  I have been signing and sending contracts for years.
here is how you do

Go to settings
Choose Stamp
Choose  a SVG of your signature.
Place it anywhere on PDF
Export it (save it)
Send it .
Open with any PDF viewer.
???
Profit!

@v3ss0n @tsdgeos Thanks for your input. I'll try to test this and update the README accordingly.

@v3ss0n @tsdgeos I've now tried Okular version 23.04.3 via flatpak. In the Settings menu, I cannot find any Stamp option, neither in the Configure Okular screen. I am able to use a custom stamp this way:

Show the Annotation toolbar
Select the Stamp tool
Click the Advanced settings button
Select an .svg file and click OK
Click the document to insert the stamp.

The stamp is indeed visible in other PDF readers, so this works.
As before, I can also draw a free-hand line annotation.
I experience the following rough edges (when using Okular for this particular use case):

The stamp seems to get rasterized when inserted, resulting in lower quality.
The option isn't saved to the stamp menu when the application is restarted.
I can't use a .pdf file as a stamp.
I cannot save a free-hand line annotation for future use.

Could you confirm the "rough edges" above, or help me work around them?

The stamp seems to get rasterized when inserted, resulting in lower quality.
it is resterized , not a SVG. If it streched , click ctril + drag.

The option isn't saved to the stamp menu when the application is restarted.
you can choose from annotation menu. it  is saved there.

I can't use a .pdf file as a stamp.

SVG and PNG only  i think

it is resterized , not a SVG.

Not sure what you mean. I have an SVG file with vector graphics, you can zoom in arbitrarily far without pixelation, but when I use it as a stamp in Okular, it is pixelated.

you can choose from annotation menu. it is saved there.

I can see that it's saved in the stamp dropdown in the annotation menu, but when I restart the program, it's no longer there. Are you able to see the custom stamps in the menu after restarting Okular? @tsdgeos could this be because I'm using the flatpak version?

@tsdgeos could this be because I'm using the flatpak version?

Possible

@svenssonaxel  the stamps i had made years ago are still there so it is saved. I am using Arch OS provided not flatpak.

@v3ss0n @tsdgeos Any comments on this proposed fix? I hope it doesn't sound too negative. Okular is a nice piece of software with a lot of functionality, but the context here is a complete focus on this one use case.
diff --git a/README.md b/README.md
index b518418..2f88d76 100644
--- a/README.md
+++ b/README.md
@@ -50,7 +50,8 @@ There appears to be a lack of applications that run on Linux and allow for attac
   Allows inserting images and .pdf files but will rasterize them rather than retain the vector graphics, resulting in lower quality.
 * **Okular:**
   Allows free-hand annotations, but not saving those for later use.
-  Allows inserting custom saved stamps, but these will not be visible in other PDF readers.
+  Allows inserting custom saved stamps, but will rasterize them rather than retain the vector graphics, resulting in lower quality.
+  (Older versions of Okular might save the stamps in a way that isn't visible in other PDF readers.)
 * **Evince:**
   Allows certain kinds of annotations, but nothing that can look like a free-hand signature.
 * **pdftk**, **ghostscript**, and other command-line tools:

Allows inserting custom saved stamps, but will rasterize them rather than retain the vector graphics, resulting in lower quality.

Lower quality is wrong , i just tested my sign, on entry i did Shift Click + drag till full page , and there is no difference in quality. Restarization is only happens AFTER first entry .


almost every pixel is masked for many training-set stars!

Here is an example: 2M06123730+4036001
...but there are many more.  What is going on?  How can ASPCAP give us "good" labels for a star that almost no pixel is good in any sub-visit.  Literally not one good measurement of any wavelength at all.

We are using the individual-visit masks; is that what you are asking?

I'm closing this, because we have a new stacking working; this is out of scope.


Handle EHOSTUNREACH errors in io.netty.channel.unix.Errors (#13317)

Fixes #13317

Good catch @tristantarrant did you already signed our license agreement?
Last point of https://netty.io/wiki/developer-guide.html#checklist

Yep, I have signed the CLA