text:
Broken navigation to file-level extention functions

Example
inline fun <T> runWriteAction(crossinline runnable: () -> T): T {
  return ApplicationManager.getApplication().runWriteAction(Computable { runnable() })
}

This is probably caused by the use of a Java stub instead of the Kotlin one, thus making stub indices unreliable.

Well, I had to come up with an alternative. I had to also rename the plugin.
The decompilation is now optional and appears as an editor notification.

repo: lppedd/idea-kt-as-java-decompiler


text:
Performance Enhancement: Deactivate Change Detection for inactive components in exam mode

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.

Motivation and Context

Some Students complained about performance issues during the exam. The most of them managed to work around this issue by reloading the page if the performance became too bad, but we want to improve the performance, because this is not a good a user experience.
The students reported, that the problems happend mostly with the modeling editor
Description

We analyzed the performance behavior of the Artemis during the exam mode, by using the chromes performance monitor.
We deactivate angular change detection for components which are inactive and also for the modeling-editor completely. This improves the performance issue, but does not entirely fix it.
We also fixed a memory leak in the client, which was happening with the exam-timer.component. The timer was not terminated correctly, so that it still checked for the exam end even when navigating out of the exam mode.
Another fix was made inside the apollon library to improve the performance when moving model elements.

Caveat:

We are aware, that there are some more problems with the performance. When a online code editor is loaded, the cpu usage in the exam is increased, even though the components change detection is deactivated when navigating to another exercise. This behavior indicates that there are still some processes running even though the code editor is hidden and change detection is deactivated (rxjs observable subscriptions might be the issue here).
The CPU usage goes up when entering the exam mode (when exercise components are loaded) (on other Artemis pages 0-1%, in exam mode 3-5% on my machine). This is because of the exam timer and the periodic checks we do there. We check every 100ms if the exam is over and if we need to update the displayed time.

Steps for Testing

Make sure current functionality is not broken

create an exam (add multiple programming exercises with online-code-editor, at least 3)
participate in it
make sure everything works as expected

pay extra attention to the exam timer
pay extra attention to switching exercises - is the content loaded correctly?
pay extra attention to whether changes are synchronized correctly
changes in online-code-editor are detected:

submit something for exercise 1 and wait for the result. Are the results, build logs, tasks and problem statement correct?
submit something for exercise 1. While the result is still building, switch to exercise 2 and wait until the result comes in
(result comes in while exercise 1 is not visible). Then switch to exercise 3. Is exercise 3 still displayed correctly? Then switch to exercise 1. Are the results, build logs, tasks and problem statement correct, for exercise 2 (none) and exercise 1 correct?

For problem statement check:

if the taskbar is correct, see screenshot
if the tasks in the instructions are highlighted correctly, see screenshot
if the diagram is correctly displayed and correctly highlighted, see screenshot

why are you not handling the activation and deactivation of change detection in the super class?
This would reduce the code duplication. Please also make sure to user proper names.
cdr is not a good variable name!

We moved activation and deactivation as well as ngOnInit to the superclass as most components had very similar behaviour.
See 5e32a09205c4f75d49ba9065afcb6e3699d48857

@kloessst found an issue when the result is received and the corresponding code editor is in the background. Then the instructions are not displayed correctly, the same might be the case for the build logs.
I think we need to recalculate those elements based on the last result when navigating into the exercise.

With the help of @kloessst we added a fix for that

There is still a problem: The task bar on top somehow displayed a wrong state - see screenshot
-> convert to draft

source: gharchive/pull-request

authors: TobiasPr anditurdiu

license: MIT

license_type: permissive

license_source: github-api


text:
Development: Modernize appearance of course, exercise and user statistics

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[ ] I chose a title conforming to the naming conventions for pull requests.

Client

[x] I followed the coding and design guidelines.
[ ] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

This PR switches the implementations for the chart in course and exercise statistics from ng2-charts/ chart.js to ngx-charts.
Description

The HTML templates as well as the underlying logic has been adapted in order to fit ngx-charts' requirements.
I additionally introduced a new style file and util. These are not directly necessary now but it allows me to remove some code duplicates and hopefully unifies the styling for vertical bar charts.
Last but not least, I centralized the three doughnut charts in the exercise statistics because I think it is better this way.
Steps for Testing

Prerequisites:

1 Administrator
1 Course with multiple exercises and some participation
1 Exercise with some participation

Important: As always, I recommend to look at the old implementation first before deploying this PR. Take some screenshots, this might make it easier to compare both implementations later on

Log in to Artemis
Navigate to Course Administration
Click on the course card and then on "Statistics"
Inspect the charts, change the time span, check tooltips and translations
Go to the exercise overview page and click on the title of the corresponding exercise
Again, click on "Statistics" and inspect the charts. Test the behavior for different button clicks
In the "Server administration" menu, select "User statistics"
Again, inspect the charts.

Comments:

As you might observe, the line in the average scores chart for the course statistics is missing in the new implementation. Instead, the average course score is written on the left. This is the solution @krusche and I discussed, as such bar-line combinations are not supported by ngx-charts per default.

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[x] Test 1
[ ] Test 2

Test Coverage

Screenshots

Old course statistics:

New Course statistics:

Old Exercise statistics:

New Exercise statistics:

Old User statistics:

New User statistics:

Tested on ts2. Changes work as expected.

Ehm, it also worked fine for me too, but your screenshot seems to show the old implementation because ngx-charts has tilted text/numbers 😅, i.e. are you sure you tested it on a testserver where this PR was deployed?

Tested in TS1
Working as spected.

Just a question/suggestion: Is there a reason why the week view always starts with the actual day in the last column. Today: Monday in the last column. I imagine tomorrow will be Tuesday in the last column. I think would be better to have the view that all calendars have. The complete active week's view.
It is the same with the month's view.
However, the year's view already shows the active year: starting in January 2021 finishing in December 2021.

authors: Malyuk-A Santiastik willergeorg


text:
Runner: Stop does not kill golang process

Example running the code below with cmd-R
Then executing ctrl-c does not kill the running process
Using the keyboard shortcut or the command menu option.
Example Code
package main

import (
	"fmt"
	"net/http"
)

type String string

type Struct struct {
	Greeting string
	Punct    string
	Who      String
}

func (s String) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	fmt.Fprint(w, s)
}

func (s *Struct) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "%s %s %s", s.Greeting, s.Punct, s.Who)
}

func main() {
	// your http.Handle calls here
	http.Handle("/string", String("I'm a frayed knot."))
	http.Handle("/struct", &Struct{"Hello", ":", "Gophers!"})
	http.ListenAndServe("localhost:4000", nil)
}

Yeah, same issue running the HTTP server in Go on Ubuntu. Go web/network development using this plugin would be tremendous, but not really feasible at the moment.

@damonkreft We've recently had a PR for handling multiple panes and killing things correctly, https://github.com/ioquatix/script-runner/pull/9 - we haven't released a new version yet on NPM but if you'd be able to test out the latest master branch and report back on that PR that would be great.

Closing this old issue because it's unclear that this is still an issue. If it is, please provide a patch that resolves this, thanks!

source: gharchive/issue

authors: damonkreft euforic ioquatix lsegal

repo: lsegal/atom-runner

license: mit

license_source: bigquery


text:
Password Manager interferes with password entry

Steps to reproduce:

Mac Safari or Mac Chrome
1password installed in Safari or Chrome extensions
Go to the login page of Voyage Banking app
entering a password results in a "Password required" message with no form submission
no way to get around this unless the password manager extension is removed

Fixed.

authors: raymer tmichalski

repo: lssinc/voyage-app-angular


text:
tickets/DM-40454: Correct path to serverPath for T&S site n3 volume defs

I had specified "path" everywhere I meant "serverPath"

Tested on base.  I'm going to merge, as it only affects things that are a) currently broken and b) not yet in use.

repo: lsst-sqre/phalanx


text:
tickets/DM-33000

Switch to GH workflow from Travis.

Add GH workflow.
Remove .travis.yml file.
Replace Travis references with GH ones.
Replace master branch reference with main

I'll leave the decision to delete up to Andy. I don't have authority on that.


text:
🛑 ZZVoice is down

In 58c789f, ZZVoice ($ZZVOICE) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ZZVoice is back up in 90df1c1 after 1 minute.


text:
🛑 Mirror-爬 is down

In a6000be, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 1072 ms

Resolved: Mirror-鱼露 is back up in a25405a.


text:
🛑 Mirror-爬 is down

In 96e77a9, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 1010 ms

Resolved: Mirror-鱼露 is back up in 459900a.


text:
🛑 Mirror-爬 is down

In 2260aad, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 797 ms

Resolved: Mirror-木生 is back up in 5c848db.


text:
🛑 Mirror-爬 is down

In 3ba3d6e, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 714 ms

Resolved: Mirror-鱼露 is back up in 5956a48.


text:
🛑 Mirror-爬 is down

In 9d87972, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 1063 ms

Resolved: Mirror-鱼露 is back up in 064e490.


text:
CDX index update

I'm modifying the DBF file successfully, but the VisualFox program still uses the values from the CDX file.
Any hints? Thank you!

duplicate of #16

repo: luads/php-xbase


text:
RFC: User-defined type predicates

Rendered

This PR is closed as part of RFC migration; please see https://github.com/luau-lang/luau/issues/1074#issuecomment-1785578157 for context.
Additional notes: It's not fully clear to me if type-specific predicates are hugely valuable? My impression was that the more important use case appears in libraries like Roact where the resulting type depends on the input arguments. Maybe the idea is it's already possible to cover with annotations though. Overall I don't have significant insights to offer on this, but I'm also not sure if we're at a good place in the current type checking rework to offer new type checking features that are user-visible? If we are then maybe this can just be reopened.

authors: JohnnyMorganz zeux

repo: luau-lang/luau


text:
HTTP/3 request timeout with io.PipeReader body

With an http.Request like this:
pipeR, pipeW := io.Pipe()
relayReq, err := http.NewRequestWithContext(ctx, "POST", "https://127.0.0.1:8888/v1", pipeR)
resp, err := rt.RoundTrip(relayReq)
[...]
io.Copy(pipeW, os.Stdin)

The request fails with the following error.
$ echo TEST | go run .
2020/06/21 xx:xx:xx Read on stream 0 canceled with error code 268

But if the body in http.NewRequestWithContext is a strings.Reader or nil, the request would successfully complete.
The request body seems to be sent asynchronously. Why would the RoundTrip call get blocked and eventually time out?
Example code:
package main

import (
	"context"
	"crypto/tls"
	"io"
	"log"
	"net/http"
	"os"
	"time"

	"github.com/lucas-clemente/quic-go/http3"
)

func main() {
	if err := dial(); err != nil {
		log.Fatal(err)
	}
}

func dial() error {
	http.Handle("/", http.NotFoundHandler())

	server := http3.Server{
		Server: &http.Server{
			Addr: "127.0.0.1:8888",
		},
	}
	go server.ListenAndServeTLS("c", "k")

	rt := http3.RoundTripper{
		DisableCompression: true,
		TLSClientConfig: &tls.Config{
			InsecureSkipVerify: true,
		},
	}

	pipeR, pipeW := io.Pipe()

	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
	defer cancel()

	relayReq, err := http.NewRequestWithContext(ctx, "POST", "https://127.0.0.1:8888/v1", pipeR)
	if err != nil {
		return err
	}

	resp, err := rt.RoundTrip(relayReq)
	if err != nil {
		return err
	}

	errCh := make(chan error)
	go func() {
		io.Copy(pipeW, os.Stdin)
		pipeW.Close()
		errCh <- nil
	}()
	go func() {
		io.Copy(os.Stdout, resp.Body)
		resp.Body.Close()
		errCh <- nil
	}()
	<-errCh
	return nil
}

For use with bidirectional HTTP streams like WebSocket. Alternative way to support this is to make resp.Body an io.ReadWriteCloser, see https://github.com/nhooyr/websocket/blob/v1.8.6/dial.go#L119.

According to RFC 8441, WebSockets over HTTP/2 can be bootstrapped using an extended CONNECT method to create a tunnel over a single HTTP/2 stream. HTTP/3 explicitly supports the CONNECT method, and

The request stream remains open at the end of the request to carry the data to be transferred.

So I think eventually our http3 package should support an open request stream (body) after the RoundTrip call.

Does the websocket connection use HTTP framing?

Does the websocket connection use HTTP framing?

Yes, it should.

https://quicwg.org/base-drafts/draft-ietf-quic-http.html#name-the-connect-method
All DATA frames on the stream correspond to data sent or received on the TCP connection. Any DATA frame sent by the client is transmitted by the proxy to the TCP server; data received from the TCP server is packaged into DATA frames by the proxy. Note that the size and number of TCP segments is not guaranteed to map predictably to the size and number of HTTP DATA or QUIC STREAM frames.

Oops, looks like RFC 8441 uses the raw stream. I'll do more resarch on this.
After successfully processing the opening handshake, the peers should
proceed with the WebSocket Protocol [RFC6455] using the HTTP/2 stream
from the CONNECT transaction as if it were the TCP connection
referred to in [RFC6455].

Oops, looks like RFC 8441 uses the raw stream. I'll do more resarch on this.

Well, stream in HTTP/2 is a bidirectional sequence of frames, so of course it uses HTTP framing.

stream in HTTP/2 is a bidirectional sequence of frames, so of course it uses HTTP framing.

Right. If you were to layer websockets on top of HTTP/3, you could get rid of HTTP framing, since QUIC already provides native streams. However, I'm not sure if that's even properly specified anywhere.
The IETF recently formed a new working group for WebTransport, which will address exactly this issue: https://tools.ietf.org/html/draft-vvv-webtransport-overview-01.

Yes, how WebSocket would work with HTTP/3 is not specified yet.
Back to the CONNECT method itself (primarily used with HTTP proxies), there is still need for bidirectional data stream after the HEADERS exchange, which is not supported in quic-go yet as I have demonstrated.

Back to the CONNECT method itself (primarily used with HTTP proxies), there is still need for bidirectional data stream after the HEADERS exchange, which is not supported in quic-go yet as I have demonstrated.

How does this work in HTTP/2? Can you point me to the corresponding Go standard library code?

How does this work in HTTP/2? Can you point me to the corresponding Go standard library code?

See https://github.com/golang/go/issues/13717 and https://golang.org/cl/18266.

Not sure if I understand https://golang.org/cl/18266 correctly, but all it's doing is setting the URL and RequestURI of the http.Request, right? That should be easy enough to mimic in the http3 package.

https://github.com/golang/go/issues/13717 references https://github.com/golang/go/issues/13444#issuecomment-161115822, which is an io.Pipe() demo that works in x/net/http2 but not in quic-go. I think quic-go is lacking a more fundamental capability here.

I'll modify my example to fit his demo, wait a sec.

I'll modify my example to fit his demo, wait a sec.

quic-go's RoundTrip() blocks and times out, as expected from the top comment demo.
Example 2
[...]
	pipeR, pipeW := io.Pipe()

	ctx, cancel := context.WithTimeout(context.Background(), 8*time.Second)
	defer cancel()

	relayReq, err := http.NewRequestWithContext(ctx, "PUT", "https://127.0.0.1:8888/v1", pipeR)
	if err != nil {
		return err
	}

	errCh := make(chan error)
	go func() {
		for {
			time.Sleep(1 * time.Second)
			fmt.Fprintf(pipeW, "It is now %v\n", time.Now())
		}
	}()

	go func() {
		resp, err := rt.RoundTrip(relayReq)
		if err != nil {
			log.Fatal(err)
		}
		log.Printf("Got: %#v", resp)
		io.Copy(os.Stdout, resp.Body)
		resp.Body.Close()
		errCh <- nil
	}()

	<-errCh
	return nil
}

Interestingly, in my second example, if I remove the context with timeout (turn http.NewRequestWithContext into http.NewRequest), it would eventually return 404 in a minute and a few seconds.

The reason this is timing out is that we're using a buffered writer for requests (as introduced in #2443).
It looks like that change was ok for the the http.ResponseWriter, as it implements the http.Flusher interface, but apparently that doesn't apply to requests.
Does that make sense to you?

Does that make sense to you?

Yes, indeed. The more frequent data is written to pipe in Example 2 without context, the faster it receives the response and exits. Looks like buffering.

repo: lucas-clemente/quic-go


text:
Timegap in 0-RTT flow

Hey I noticed a random gap of one Rount Trip Time in my transmissions. The picture is showing a part of the transmission. Ive marked the packet after this gap. Can somenone explain me why this is happening?

Could be a lot of things. Flow control, congestion control, amplification limit etc. you can record a qlog and debug it using qvis.

authors: Kinqdos marten-seemann


text:
Loja

Por fim, conseguindo utilizar o nosso sistema iremos agora verificar o escopo total da classe "Loja"

[ ] Verificar o Faturamento da loja com o seguinte calculo: Gastos com funcionários - lucro

repo: lucasdray/Projeto-OO


text:
default folder

Change default folder stopped working after todays update.

Thank you, @LarryZJr! This has been fixed!

authors: LarryZJr lucaseverett

repo: lucaseverett/toolbar-dial-firefox


text:
🛑 Higyrus-prod is down

In 57ed51c, Higyrus-prod (https://client.nasini.com.ar) was down:

HTTP code: 502
Response time: 396 ms

Resolved: Higyrus-prod is back up in b95b02c after 1 day, 55 minutes.

repo: luciano-buono/upptime


text:
Add filter-full icon

Implements filter-filled from codicons…

Hm... any use cases for this one? I've consulted the tags but couldn't find anything.

Hm... any use cases for this one? I've consulted the tags but couldn't find anything.

For example in VS Code (I think with git lens extension)—but I’ve seen in other places—the filter icon is either filled or outlined depending on whether active filters are applied…

Since Lucide doesn’t do fill, there is no other way to represent a difference.

Well, there's also that indicator dot. 😛
Dunno, just because we don't support filled icons out of the box, it doesn't mean people can't force fill them if they want to, anyhow, I'll let @ericfennis decide, personally, I'm not really a fan of this one. 😅

I agree with @karsa-mistmere. Looking at other icon libraries nobody has an icon like this one. Probably nobody will use it.
I close this one, If other people think differently about this, they can react to this PR. Maybe we will reconsider and reopen it.

authors: danielbayley ericfennis karsa-mistmere

repo: lucide-icons/lucide

license: ISC


text:
Add furniture/amenities icons

Related to #1453, #1454 and #1461.
wardrobe/cabinet-filing alts:

@danielbayley Usecase is not clear to me for:
desk-lamp, pillow and rocking-chair.

This PR is merged to the lab branch. This PR does not match our PR template, which requires valid use cases. To move on we merged this PR to the lab branch, which will be moved to a separate repo in the future.

authors: danielbayley ericfennis


text:
Encodec support

Lets us use pre-trained Encodec as a replacement for SoundStream. Works for 24kHz specifically
Tested that it works using my demo script
Usage:
encodec = EncodecWrapper()
# now insert it anywhere you'd insert soundstream = soundstream

this is amazing! thank you! 🙏💯 will definitely review it tomorrow or Saturday

merged, thank you again!

authors: LWprogramming lucidrains

repo: lucidrains/audiolm-pytorch


text:
🛑 Loxone is down

In 98946c4, Loxone (http://loxone.kerl.io) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Loxone is back up in 2644e52 after 3 minutes.

repo: lucienkerl/status


text:
🛑 Loxone is down

In d046a8e, Loxone (http://loxone.kerl.io) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Loxone is back up in 6fdec74.


text:
Remove symbolic links

Remove symbolic links in tests/resources/test_data/data/local/test_basic/with_requirements_config/ms-101

Deleted "symbolic link" files and verified nothing broke. No errors and all tests pass.

repo: luftfartsverket/reqstool-client


text:
Remove delete of envfile

This should be ok as subsequent runs just overwrite that file anyhow...
closes https://github.com/bars0um/react-native-config/issues/1
Otherwise a race condition occurs / or possibly just an odd state where a second execution of the task during the same build finds no envfile

Bump?

Merge it please, there's no good reason to delete the file and issues caused by it might sometimes be really hard to catch.

authors: Asvarox alexpchin bars0um

repo: luggit/react-native-config


text:
The example github action returns an error.

 raise InvalidCompilation(f\"{config} not found\")\ncrytic_compile.platform.exceptions.InvalidCompilation: cache/solidity-files-cache.json not found\n", "results": {}}

You can see the example run here.
https://github.com/tellor-io/chorus/runs/1605724359?check_suite_focus=true

@krasi-georgiev this seems an error with slither, and not the action.
check this link on how to use slither.
On version 0.3.1 of this action you have an input to add extra slither arguments if needed.
Let me know how it worked out for you 😁

Thanks for the update. At the end I decided to install and use directly instead of this helper


text:
Add vim-plist plugin

Add support for plist files for vim
Candidates

https://github.com/darfink/vim-plist

Move to: https://github.com/luishdez/vim-dotfiles

repo: luishdez/osx-playbook


text:
🛑 Schmidt-Nagel is down

In d86b5a4, Schmidt-Nagel (https://schmidt-nagel.ch) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Schmidt-Nagel is back up in ecc9794.

repo: lukas-hablitzel/upptime


text:
Make the intermediate certificate available again

If I'm reading this correctly, I believe commit 6a32f20e004b9d835cd02de9d78300be02784cf1 now creates chain.pem as (intermediate + root) and fullchain.pem as (cert + intermediate + root)? If that's correct, then I would like to request that the intermediate certificate be output separately. When I upload chained certificate files, I need the intermediate certificate far more often than I need the root certificate.
Some tools (such as the Qualys SSL server test) throw a warning about configuration when the root certificate is included in the bundle, since the expectation is that the trusting party should have the root already in their trust store. For similar reasons, I have often needed to upload the LE intermediate certificate as a separate file (for applications which don't support chained certificates), but I've never had to upload the root.
Having the intermediate certificate available would allow me to do a partial chain of (cert + intermediate) or access the intermediate separately as needed. (This was the previous behavior of the "fullchain" and "chain" files. I can replicate the partial chain easily enough through hooks or other scripts, as long as the intermediate is available in some form.)

Yea I guess having the root cert in the chain is kinda redundant (but only redundant, this shouldn't break anything), I'll have to figure out a nice way to detect it being the root cert and excluding it from the chain, I basically wanted this new "walk" functionality so that stuff doesn't break if Let's Encrypt ever reorganizes their internal CA structure.

I agree that the new "walk" function is a useful addition. And if LE ever reorganized such that there were multiple intermediate certs to include, then it would change the parsing needs dramatically.
There's already a test for issuer_cert_uri, and a null result indicates we're done parsing the chain. So if we receive a null result for issuer_cert_uri, we can write out the current certificate as root.pem. As we return from our recursion, we could write out the successive certs as intermediate1.pem, intermediate2.pem, etc. Once we returned from the walk, we'd have the whole chain as root -> intermediate1 -> ... -> intermediateX -> issued cert.
The fullchain file can still point to the whole bundle, root included. But that way we have the intermediates available separately (and the root, too!) for whatever needs we may have... and it should be future-proof in case of CA structure change. I'm totally cool with extending my own scripts to create my own certificate chain files out of the various bits and pieces.

This should do the trick: ee65261ea833a234d9d7402f87a6803fa945ae12
Writing each intermediate certificate to a file doesn't seem useful for me, with this change it just stops when it detects the root of the chain.


text:
Module 'contacts_service' not found

this plugin works perfectly fine in development/debug version of the app but whenever i go Runner -> Archive in Xcode (to deploy my app to the app store) the build fails saying
Module 'contacts_service' not found

what's the problem?

I am facing this issue as well

Facing same issue any updates on this?

I am facing same issue.

Setting the deployment target to 12.1 Solves this bug.

authors: akshay-appinventiv fazalullahmemon milanobrenovic vmwsree


text:
[Feature Request] Web Links For Authors

A lot of the authors in the quotes have bios that would be interesting to read, especially those on, say, Wikipedia. My feature request is to add these somehow (I guess in the Authors collection, if not into the quotes themselves (de-normalised, effectively, for ease of consumption).
Would you consider adding a "link" field (and possible even a photo url field) to the authors collection? I'd be happy with both pieces of work (A: adding the fields, and B: populating some of the authors themselves) if you'd like? Similar to my other request, I'd of course need access to the backend for 'B'.

First, sorry it took me a while to respond to this issue! This is a great idea. I've wanted to do this for a while but had been putting it off.
Done:
Added the following fields to all authors:

link the person's wikipedia page.
bio A short description about the person

I also cleaned up the authors collection. I removed all the duplicates, fixed incorrect and incomplete names, and removed unknown people with no wikipedia page or website.
TODO:

Add an image field to authors

It would be great to have a profile photo for each author.
Let me know if you're still interested in working on this!

It would be great to have an author's profile picture.  👍
I would suggest to add url as image field and maintaining pinterest library of authors for uniformity. I am making pinterest library of authors with grayscale images for my project.
Also, data sample need an update with new records of

author bio and
author web link.

@LeCodeurSpatial I just updated the sample data.

I am currently working on adding author images. I hope to have some time next weekend to work on this, we can discuss it more then :)

@lukePeavey Nice! Surely will be up for discussion. :raised_hands:

I think we should create a separate issue for the author images feature.
@LeCodeurSpatial
would you mind opening a new issue?

Done!

@lukePeavey  sorry to bother you again, but I have the same issue (as images) on how to get bio with any get request, could you please enlighten me  ?

@dippas
The bio field is included on authors returned by the /authors or /authors/:id endpoint.  If you are trying to get the bio for the author of a quote returned one of the quotes endpoints (/quotes/ or /random`) you would need to make a separate request to get author details using the author name or id. Let me know if this answers your question.
Example (try in browser)
GET /authors?name=Martin Luther King Jr.

@lukePeavey  thanks, I knew I was missing something basic .
But maybe adding this info in readme?

We can definitely add something to the docs to clarify this.

I'm going to close this issue. We have added the following fields to authors:

link URL to the authors wikipedia page
bio A brief, one paragraph bio of the author (source: wiki API)
description A one-line description of the author, usually the person's nationality and primary occupation. For example, "Austrian Physicist" or "American Author" (source: wiki API / Google)

I am still working on adding profile images, but there is a separate issue for that now (#38)
Thanks to @HiltonGiesenow

authors: HiltonGiesenow LeCodeurSpatial dippas lukePeavey

repo: lukePeavey/quotable


text:
Rework Handler/Request/Response Signatures

Just brainstorming; nothing may actually come out of this!

I've been looking at the ServerRequest and ServerResponse interfaces a lot lately & wondering if they should even be here 🤔
Background
First, an overview of the PROs/CONs of everything, which lays out the reasoning for their existence:
ServerRequest
PROs

the ServerRequest<P> TS interface makes for really nice DX as it can give confidence wrt req.params contents
the req.body() "smart helper" is nice for auto-detecting & auto-parsing the body
...nice to still have direct access to the req.body.json() (and other) methods, if needed
it's nice that new URL is done once and its values are stored on the request directly, so don't have to repeat

CONs

See #52

Only specific properties are forwarded from Request to ServerRequest
Impossible to do req.clone as it no longer exists
Cannot support new Request(req.url, req) out of the box (related #52)

It's invented, which means it requires setup/buy-in in order to use some (but not all) utilities Worktop offers

ws.connect doesn't have a preference
ws.listen returns a handler than needs to be given a ServerRequest because of the req.params usage within it

A ServerRequest must be created from a FetchEvent in order for req.extend to exist

this is not ideal because Module Workers don't have FetchEvents

Visually
Compared to Request, these are the property differences:
  url: string;
++ path: string;
  method: Method;
++ origin: string;
++ hostname: string;
++ search: string;
++ query: URLSearchParams;
++ extend: FetchEvent['waitUntil'];
  cf: IncomingCloudflareProperties;
  headers: Headers;
++ params: P;
-- json(): Promise<any>;
-- formData(): Promise<FormData>;
-- arrayBuffer(): Promise<ArrayBuffer>;
-- blob(): Promise<Blob>;
-- text(): Promise<string>;
++ body: {
++	<T>(): Promise<T|void>;
++	json<T=any>(): Promise<T>;
++	arrayBuffer(): Promise<ArrayBuffer>;
++	formData(): Promise<FormData>;
++	text(): Promise<string>;
++	blob(): Promise<Blob>;
++ };
-- cache: RequestCache;
-- credentials: RequestCredentials;
-- destination: RequestDestination;
-- integrity: string;
-- keepalive: boolean;
-- mode: RequestMode;
-- redirect: RequestRedirect;
-- referrer: string;
-- referrerPolicy: ReferrerPolicy'
-- signal: AbortSignal;
-- clone(): Request;

ServerResponse
The main purpose of ServerResponse was to surface a Node.js-like API for composing responses.
PROs

Has res.end, res.setHeader, res.writeHead and a bunch of others
Still able to do new Response(res.body, res) for ServerResponse -> Response  transform
Contents remain mutable for request lifecycle (desired) until res.end or res.send is called
Only relies on req.method for construction – used for HEAD checks
Provides res.send for automatic Content-* headers and res.body serialization

CONs

Custom, requires manual construction and/or adjustment for type match
Does not satisfy native Response type requirements

AKA, can't pass a ServerResponse to an external library/helper if it wants a Response value

Even though ServerResponse is tiny, it's still extra code

Handler
The Handler right now is strictly tied to the ServerRequest, ServerResponse pair. It makes sense for this to always have some worktop-specific signature to it, but the question boils down to whether or not ServerRequest and ServerResponse are the right base units.
The signature now is this:
type Handler<P> = (req: ServerRequest<P>, res: ServerResponse) => Promisable<Response|void>;

...which satisfies all "middleware" and "final/route handler" requirements. Worktop loops through all route handlers until either:

a Response or Promise<Response> is returned directly
the internal res.send or res.end have been called, which marks the ServerResponse as finished, and a Response is created from the ServerResponse contents

PROs

Easily composable
Satisfies middleware & final handler use cases
Predictable & easily understood
Allows mix/match of Promises
No need for next()

CONs

Requires ServerRequest and ServerResponse to be setup first

With the background out of the way, I have a few ideas of how these could be simplified and/or reworked to be compatible with libraries outside of worktop.

Important: All of these suggestions are breaking changes, which is not taken lightly. If any of these are to happen, Worktop would have a strong division between old-vs-new through versioning – supporting the existing API and {new stuff} would not be considered.

Request Changes
1. Raw Request and add $ object for all customizations
This drops ServerRequest and instead uses Request directly, adding a $ property that has an object with all worktop extras. This would be like how Cloudflare adds the cf key with its own metadata.
interface RequestExtras<P extends Params> {
  params: P;
  path: string;
  origin: string;
  hostname: string;
  search: string;
  query: URLSearchParams;
  body<T>(): Promise<T | void>;
  extend: FetchEvent['waitUntil'];
}

interface Request<P extends Params = Params> {
  $: RequestExtras<P>;
}

TypeScript Playground

Breaks:

req.params -> req.$.params
req.path -> req.$.path
req.* -> req.$.*
req.body() -> req.$.body()
req.body.json() -> req.json() (rely on native)
req.body.*() -> req.*() (rely on native)
req.extend() -> req.$.extend()

Additionally, I see two potential issues with this:

It converts the Request interface to a generic, which means code can throw/cause TS errors when used outside of worktop. In other words, if someone tries to do Request<MyParams> outside of worktop, then that's gunna throw an error because Request, natively, is not a generic. Not having the generic means that worktop loses its params insights.
Worktop can ensure req.$ always exists, but if a user writes a middleware/handler to be used outside of worktop, then something like req.$.path will throw a cannot access "path" of undefined error

2. Raw Request and use context object for all customizations
This is the exact same thing as above, but it uses the context key instead of $ for the object.

TypeScript Playground

3. Add all customizations directly to a Request object
Uses the incoming Request as is, but adds all the worktop customizations to it directly:
interface Request<P extends Params = Params> {
  params: P;
  path: string;
  origin: string;
  hostname: string;
  search: string;
  query: URLSearchParams;
  extend: FetchEvent['waitUntil'];
}

TypeScript Playground

Breaks:

req.body() -> removed – use external utility
req.body.json() -> removed – use req.json()
req.body.*() -> removed – use req.*()

Additionally, this shares the same potential gotchas as Options 1 & 2

Worktop assumes/requires Request to be a generic; might cause issues externally
Worktop provides the req.params object; any user middleware running outside of worktop might include req.params.foo and req.params is not defined

Request Changes: Poll

Response Changes
There's not much that can really change about ServerResponse since it's all custom/worktop's to begin with... Really, there's only been on thing on my mind:
Move res.send to external utility
If res.send were exported as a top-level send utility (either from worktop/response or from worktop/utils), then people could use it externally.
In order to accomodate this change, send would have to return a Response directly. Right now it mutates the ServerResponse to signal the worktop.Router that the Handler loop is complete. All of the serialization & statusCode checks would happen within the send utility itself. However, it would be up to the Router to perform the HEAD check. This would keep its API more or less comparable to @polka/send.

Note: It's entirely possible to keep res.send and add a send export.

Response Changes: Poll

Handler Changes
As mentioned before, the Handler itself depends on decisions made to (Server)Request and (Server)Response. So any suggestions here will be made in addition to those, as this section is focusing on the Handler function signature itself.

Important: For brevity, I'll use Promise<Response> as a return type to refer to Promisable<Response | void>

1. Absolutely no changes
Keep the signature the same and use the exactly same ServerRequest and ServerResponse types:
type Handler<P> = (req: ServerRequest<P>, res: ServerResponse): Promise<Response>;

2. Keep the signature, but use Request type
Maintain the (req, res) parameters, but replace ServerRequest with one of the suggestions above.
type Handler<P> = (req: Request<P>, res: ServerResponse): Promise<Response>;

3. Use Request+ and a Context object

Note: Using Request+ to denote an overloaded/modified Request type; see above.

Changes the signature so that a Request is always used, leaving it up to Context to store additional/extra information. Your Handlers will be passing around the same Context object, which allows middleware/handlers (including Router.prepare) to mutate the context as needed.
For this Option 3 entry, the Context object looks like this:
type Context = {
  response: ServerResponse;
  waitUntil: FetchEvent['waitUntil'];
}

type Handler<
  P extends Params = Params,
  C extends Context = Context,
> = (req: Request<P>, context: C) => Promise<Response>;
// ^ this means you can inject your own `Context` types

4. Use pure Request and a Context object
Similar to Option 3, but moves all would-be ServerRequest extras into the Context object. This means that the Request is pure and has nothing added onto it (other than Cloudflare's cf property)
type Context<P extends Params = Params> = {
  // Request extras
  params: P;
  path: string;
  origin: string;
  hostname: string;
  search: string;
  query: URLSearchParams;
  // the FetchEvent information
  extend: FetchEvent['waitUntil']; // name TBD
  waitUntil: FetchEvent['waitUntil']; // name TBD
  passThroughOnException: FetchEvent['passThroughOnException']; // name TBD
  // the ServerResponse
  response: ServerResponse;
}

type Handler<
  P extends Params = Params,
  C extends Context = Context,
> = (req: Request, context: C<P>) => Promise<Response>;
// ^ this means you can inject your own `Context` types

5. Only receive a Context parameter
Change the Handler signature so that it's just receiving a single object with everything in it. It may look something like this:
interface Context<P extends Params = Params> {
  // raw request
  request: Request;
  // the ServerResponse
  response: ServerResponse;

  // request extras
  params: P;
  path: string;
  origin: string;
  hostname: string;
  search: string;
  query: URLSearchParams;

  // the FetchEvent information
  extend: FetchEvent['waitUntil']; // name TBD
  waitUntil: FetchEvent['waitUntil']; // name TBD
  passThroughOnException: FetchEvent['passThroughOnException']; // name TBD
}

type Handler<
  P extends Params = Params,
  C extends Context = Context,
> = (context: C<P>) => Promise<Response>;

Handler Changes: Poll

Now, if you voted for something that involved a Context object, should worktop auto-create a ServerResponse for you?
All Context-based answers assume that ServerRequest is gone, shifting its properties either to the req directly or to the Context object. In this world, Worktop can continue providing a context.response (name TBD) for you, or you can create it yourself as part of your Router.prepare hook.
The purists among you may have despised the wannabe-Nodejs all this time, so this would be the opportunity to explicitly opt into ServerResponse only when needed ... something like this:
import { Router } from 'worktop';
import { ServerResponse } from 'worktop/response';
import type { Context } from 'worktop';

interface MyContext extends Context {
  response: ServerResponse;
}

const API = new Router<MyContext>();

API.prepare = function (req, context) {
  // assumes no changes to ServerResponse API
  context.response = new ServerResponse(req.method);
}
// or
API.prepare = function (context) {
  // assumes no changes to ServerResponse API
  context.response = new ServerResponse(context.request.method);
}

Thank you!
I know this a lot (too much) to read and sift through. If you managed to go through it – or even some of it – thank you so much. I really really appreciate the feedback.

Ok, so I was having a play in the TS playground a bit, combing some of the ideas in here:

Change the Handler signature to accept two params: a raw Request and a Context object
Remove ServerRequest entirely:

moves req.params to context.params
moves req.search (and others) to context.url.search (and others) In fact, context.url is the raw new URL(req.url) object, so you can reference it wherever/whenever.
moved req.query -> context.url.searchParams I might add a context.url.query alias.
moves the req.body() smart helper to a worktop/utils export.

Does not auto-construct ServerResponse for you In this example, "user" chooses to construct it as context.res during the API.prepare hook.
Changes ServerResponse.send and ServerResponse.end so that they return Response directly

View in TypeScript Playground

Note: You'll have to scroll towards the bottom to see user-facing code!

Closing this as it – well, some form of "it" – has been implemented in #83
This is going to be available as worktop@next and I will continue to experiment with the new system under these @next tags. Anyone is welcome to try it out too, of course!
Once I have enough confidence in the new arrangement, this work will be promoted to the main/latest worktop stable release.

repo: lukeed/worktop


text:
find fonts: bin path figlet is not absolute

*S:\wintools\rkit* figlet -list
find fonts: bin path figlet is not absolute
S:\wintools\rkit\ path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;S:\wintools\rkit;C:\Program Files\Amazon\AWSCLI\bin;S:\wintools\PortableApps\jdk1.8.0\bin;S:\BOULOT\nQ-Documents\ConnectWiseControl\Toolbox\tools\rkit-nQ;C:\Program Files\Git\cmd;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\dotnet;C:\Users\eric\AppData\Local\Microsoft\WindowsApps;S:\wintools\PortableApps\Magick;
S:\wintools\rkit\ dir /b fonts
banner.flf
big.flf
block.flf
bubble.flf

The current (abandoned?) code tree appears to have a -d option to specify this, but that's still not very optimal as it should "just work" wherever you dump it and it's unclear whether the code as-is works or not given all the "testing" style checkins.
Otherwise both the release and git versions are just using os.Args[0] which isn't reliable on any platform afaik and on windows is always just the typed command line.
https://github.com/kardianos/osext has a cross-platform way of getting the full path to the executable that uses a kernel call on Windows that will always be accurate that should be pretty easy to integrate into this project if somebody feels like forking it.  For now I'm only using it in one batch file so I just call it by full path.

Create a bat file figlet.bat
@ECHO OFF
absolute\path\to\figlet.exe %*

Then add figlet.bat directory to the path.

authors: AnthonyK213 RonRicoSuave audioscavenger

repo: lukesampson/figlet


text:
linqpad: fix file names

Fixes error Can't shim 'lprun.exe': File doesn't exist.

@Ash258 requested changes made :)

Is everything working with these changes? I do not have enough time to proper test.
Some nested executable calls could potentially call files with its original name.

Tested after making the requested changes and it works perfectly for me.

And application itself is working? I do not know how linqpad is spawning other executables.
I cannot do some advanced testing right as I am perminted from dotnet installation.

Application launches and works as expected :)

repo: lukesampson/scoop-extras

license: Unlicense


text:
GitHub regex is very opinionated about version string

https://github.com/lukesampson/scoop/blob/79bf99c3c110494d799e147263db7b6f2f921d4e/bin/checkver.ps1#L56
This doesn't work for this repo: https://github.com/spring-projects/spring-boot/releases (because version is not purely numeric).
I workarounded this for particular app manifest using custom regex (https://github.com/andreysaksonov/scoop-bucket/blob/master/springboot.json) and I think this regex is more safe. Should it be used by default for github checkver?

Using a default regex that allows non numeric characters could lead to automatic update for 1.2.3-alpha1 if they are published as releases.
In the case of sprint-boost I would recommend only matching the RELEASE versions \/releases\/tag\/(?:v)?([\d.]+)\.RELEASE

Thanks! Now I got the idea, probably this concept is good candidate to be added to the https://github.com/lukesampson/scoop/wiki/App-Manifests.

repo: lukesampson/scoop

license: unlicense


text:
What should I do after oraclejdk has been removed from java bucket?

Today when I try "scoop update *" and "scoop status", I get a message:
These app manifests have been removed:
    oraclejdk

I find that "oraclejdk" is removed from the java bucket, I wonder whether this will cause some trouble to use java, and is there any solutions to solve this problem?

You can switch to an other JDK distribution.
There's [openjdk](https://github.com/ScoopInstaller/Java/blob/master/bucket/openjdk.json) which directly downloads from the Oracle blessed build from java.net.

authors: Charlestar PAStheLoD


text:
HTMLCanvasElement with webgl context

@ZoeDreams @battlelinegames @valioDOTch @lekzd I'm merging aswebglue into asdom, so this includes your commits so you'll also be in the contributors list here.
(Rather than copy/pasting ideas without clear attribution, I like to merge unrelated repo histories, as I find that the best way to give people credit).

Merging: Although not all WebGL APIs are added yet, enough APIs are added to show a simple webgl gradient example.

repo: lume/asdom


text:
esbuild: .ts imports aren't transformed into .js

Version
2.1.3
Platform
linux
What steps will reproduce the bug?

initialize lume project with esbuild.

.
├── _config.ts
├── _site
│   ├── a.js
│   └── b.js
├── a.ts
├── b.ts
└── deno.json

setup project as following:

_config.ts
import lume from "lume/mod.ts"
import esbuild from "lume/plugins/esbuild.ts"

const site = lume()

site.use(esbuild({
  extensions: [".tsx", ".ts"],
  options: {
    minify: false,
    keepNames: false,
    bundle: false,
    splitting: true,
  },
}))

export default site

a.ts
import { b } from "./b.ts"

console.log(b)

b.ts
export const b = 3

run deno task build.

How often does it reproduce? Is there a required condition?
it always happens.
What is the expected behavior?
.ts extension in compiled output is converted to .js.
What do you see instead?
a.js
import { b } from "./b.ts";
console.log(b);

b.js
const b = 3;
export {
  b
};

output extension is unchanged './b.ts', thus fails to load in browser.
Additional information
No response

site.process([".js"], (pages) => {
	for (const page of pages) {
		if (!page.content) return
		console.log(page.content)
		page.content = (page.content as string).replace(
			re,
			(line) => line.replace(/"(\..*)\.tsx?/, '"$1.js'),
		)
	}
})

This hack works as a band-aid but is very prone to error as it does not use AST.

Thanks for highlighting this.
I'll try if https://esbuild.github.io/api/#out-extension can fix that.

After different attemps, I wasn't able to configure esbuild to make this change automatically. Seems like this decision is made by design, and the only way to change the extension is configuring the bundle option as true: https://github.com/evanw/esbuild/issues/3371

@scarf005 I've been making a lot of changes in the esbuild plugin, and, among other things, I tried to fix this issue.
It's not a perfect solution but I think covers most of cases (even npm: and jsr: imports are replaced by esm.sh). You can take a look here: https://github.com/lumeland/lume/blob/9937f59ba9cf030b09bf01d6ad7289a1157f1e44/plugins/esbuild.ts#L342-L356
Could you test it to make sure it works fine?
Just ugrade Lume with deno task lume upgrade --dev.

repo: lumeland/lume


text:
Disable alloc/utils tests that fail on Windows

Changelog
Bug Fixes

Disable tests that aren't passing on Windows until we have the time to figure out why Windows x86_64 is using 4-byte instead of 8-byte and only recently.

Superseded by https://github.com/lumen/lumen/pull/374

repo: lumen/lumen


text:
maven 3.2.3 does not exist for install-maven.sh, download server currently hosts 3.2.5

Step 19 : RUN /bin/bash /opt/lumify/scripts/install-maven.sh
 ---> Running in fd03e80e4fb2
--2015-01-09 20:50:12--  http://www.us.apache.org/dist/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz
Resolving www.us.apache.org... 104.130.219.184, 2001:4801:7828:101:be76:4eff:fe11:7b9d
Connecting to www.us.apache.org|104.130.219.184|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-01-09 20:50:12 ERROR 404: Not Found.

Changing it to 3.2.5 should fix the problem

Merged referenced pull request.

authors: kunklejr tlpinney

repo: lumifyio/lumify


text:
Implement Gaussian potential

This PR is an implementation of a Gaussian potential.
Todo

[x]  Add input manual entry (when we know where).
[x]  Add tests for lumol-input.

Edit: Sorry for the formatting changes, this is due to rustfmt on save.

There is both a check in the new function as well as the input parser for correct input. I also named the bad example for input test gaussian-... because I always have to go through multiple test cases to copy one I can reuse. We may want to give the test files more descriptive names 😄

Should I squash the commits?

Yes please =)

Le 26 oct. 2017 à 18:23, Gernot Bauer notifications@github.com a écrit :
Should I squash the commits?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Only beta is failing, and I could not reproduce the failure locally, even with the official docker image from Travis. So I propose we merge this and other PR, and I'll try to debug the issue further this weekend.

Sure! Do you merge?

authors: Luthaf g-bauer

repo: lumol-org/lumol


text:
Implement the IO Monad

Summary
While the implementation of Enso is purely dynamic, future plans to support a type-system, type-checking, and type inference means that even the dynamic Enso needs to have support for some basic monads in the aim of future-compatibility.
This task deals with the implementation of the IO monad (or an initially hard-coded construct that behaves like it), and its associated operations.
Value
While it would be possible to provide standard IO-based operations in isolation, independent of monadic contexts, the future plans for the language mean that we have to do otherwise. Implementing emulations of a few key contexts now ensures that we are compatible with our future plans.
Specification

Determine a design for how to emulate the IO monad in the context of a purely dynamic interpreter. This design must be compatible with how we want it to operate in the typechecked future.
Implement this design alongside benchmarks and tests, while ensuring that performance is acceptable. This will likely mean ensuring that whatever is already implemented is congruent with the design.

Acceptance Criteria & Test Cases

The above design has been implemented in the Enso interpreter.
It is tested rigorously to avoid any semantic changes later on, as well as benchmarked to get an idea of performance.

Closed as the plans for the 2.0 release have changed.

repo: luna/enso


text:
Access to the properties of the dictionary/list

Example code:
MenuList = new Dictionary<string, List<string>>();
MenuList.Add("menu1", new List<string>());
MenuList["menu1"].Add("item 1.1");
MenuList["menu1"].Add("item 1.2");
MenuList["menu1"].Add("item 1.3");

MenuList.Add("menu2", new List<string>());
MenuList["menu2"].Add("item 2.1");
MenuList["menu2"].Add("item 2.2");
MenuList["menu2"].Add("item 2.3");

MenuList.Add("menu3", new List<string>());
MenuList["menu3"].Add("item 3.1");
MenuList["menu3"].Add("item 3.2");
MenuList["menu3"].Add("item 3.3");

ScriptObject so = new ScriptObject;
so.Import(MenuList, ScriptMemberImportFlags.Property, renamer: member => member.Name);

input (in template):
{{if MenuList.Count > 0 }}
	{{for group in MenuList.Keys }}

{{ group }}

	{{end}}
{{end}}

When parsing and rendering, no errors occur, but the output is an empty string.

Dictionary should not not acced though an import as they are considered as script objects, meaning that doing a MenuList.menu2 will return the list string. You should simply make it available with sc["MenuList"] = MenuList and then you should be able to iterate on the key/value like this:
{{ for $kp in MenuList }}

{{ $kp.key }}

{{end}}

You can also use the object.keys

authors: pavelkarinin xoofx

repo: lunet-io/scriban


text:
Fixes for updated scroll dependency

The new scroll dependency introduced in
https://github.com/luser/rust-minidump/pull/101 has slightly
simplified traits.  Adapt the code to work with these.

Thank you!

authors: flub luser

repo: luser/rust-minidump


text:
[Feature-Request] ROS Support for Sensor S5K33D

Hi, I have just bought a OAK-FFC-4P with 4 OAK-FFC ToF 33D recently, and would like to view TOFs from the sensors through ROS2 Humble, but I got error that the sensors S5K33D in the OAK-FFC ToF 33D are not supported

May I know is there any specific file or launch that I can run on, which support the modules , can either show TOFs or just normal color view?

@Serafadam ^^

Hi, sorry for the delay. Could you test if this branch works for you?

authors: MartinMotycka Serafadam Thinkminator

repo: luxonis/depthai-ros


text:
failed to allocate 0 bytes

Running against the latest main branch ea52682. With the BW1092 esp32 I keep seeing the following from idf.py monitor when running the people-tracker demo using the latest main from experiments gen2-people-tracker on the myriad;
req_data | spi_get_size response: 0, ret: 1
sending spi_get_size cmd.
receive spi_get_size response from remote device...
response: 0
failed to allocate 0 bytes
sending POP_MESSAGES cmd.
receive POP_MESSAGES response from remote device...

The demos were previously working on an older version of the repo.

Will need @Erol444 or @themarpe to help on this one.

@nemccarthy thanks for reporting - will be taking a closer look by the end of the week

Has the problem been resolved?
I have this problem too.
when flash bootloader with depthai==2.8.0.0.dev+b0410e916bc92656765313ea809670e4cab7e4ae
and flash DAP with depthai==2.2.1.0
people-tracker run in ESP32,uart printf as below,about 3 frames per second,too slow:

when flash bootloader with depthai==2.8.0.0.dev+b0410e916bc92656765313ea809670e4cab7e4ae
and flash DAP with depthai==2.10.0.0
people-tracker run in ESP32,uart printf as below,no result:

Hello @liuli2008212 , could you also try flashing bootloader/pipeline from the latest develop of depthai-python? There were quite a few changes, so it might have been fixed already.

Hello @Erol444 is the lastest depthai-python==2.10.0.0? I flashed bootloader by V2.10.0.0,but the BW1092 is not working,esp32 printf :
Timeout: no response from remote device
failed to recv packet

@liuli2008212 for latest you could try develop branch of this repository as well as develop branch of depthai-python repository (use examples/install_requirements.txt to install the develop version - there is also an updated bootloader there)
Note that there are some issues still even on that branch, which we are working on to fix. Most likely in 2-3 weeks

@themarpe thank you for your support, I used the bootloader,but it's not results,as below:

@liuli2008212 thanks for testing it out.
We have stability issues with SPI in latest develop and are working on fixing that along with speed and other improvements.
ETA is around 1-3 weeks depending on some other tasks at hand.
Will let you know once its fixed:)

Hi, @themarpe  Has it been resolved?

@liuli2008212 I've updated main branch of the repo with added changes


text:
🛑 BrandTag Blockchain API is down

In 16a0e7b, BrandTag Blockchain API (https://rest.brandtag.io/chain/height) was down:

HTTP code: 500
Response time: 590 ms

Resolved: BrandTag Blockchain API is back up in 83d5dc7.

repo: luxtagofficial/upptime


text:
Daggerfall Unity

Project Link
https://github.com/Interkarma/daggerfall-unity
Project License
MIT License
Steam App Ids
https://steamdb.info/app/1812390/
Additional Context
No response

@holmraven
Thanks for the interest. I'm already working on the engine, but it's currently on hold due to an issue with it running inside the Steam environment. Once that is fixed, I'll be able to implement it pretty quickly.
You can watch progress here: https://github.com/luxtorpeda-dev/packages/pull/651

repo: luxtorpeda-dev/packages

license: Zlib


text:
React hot loader not working?

Running into an issue where hot reload of React components is not working as expected. There is a HMR warning in the console which may be related:

Here are the steps I've performed, on a Win10x64 machine:

Clone repo
npm install
Change package.json scripts entry for start

from:
nodemon --watch server/data/**/*.js --exec \"npm run update && ./node_modules/.bin/babel-node server/index.js\"

to:
nodemon --watch server/data/**/*.js --exec \"npm run update && babel-node server/index.js\"

Notice the elimination of ./node_modules/.bin/. This is a quick and dirty fix for Windows which doesn't like the local babel-node reference.

npm start
Open http://localhost:3000/login in browser.
Open client/components/Login/LoginComponent.js, change  page heading text and save.
Page heading text is not changed, and warning message appears in developer console.

My expectation is the login page heading would change without a full-page refresh.  Any idea why this is not working as expected?

I can confirm the error, but the fix does not work for me (please let us know which babel-cli/babel-node version you use). I'd speculate that react-hot-loader causes this, last updated in #62. However, before the PR, the error message was

The following modules couldn't be hot updated: (They would need a full reload!)

@ncrmro might be more familiar with HMR

@rogersp @Neitsch can confirm master and canary branches HMR isn't being triggered atm. Checking it out.

Actually that was cause I had two webpack dev servers except custom ports were sending one's request to the other. HMR should be working with the latest branches. I'm working on  OS X. Haven't done much dev on windows.

@Neitsch @ncrmro  can confirm HMR does work for react components in canary branch on Windows.

@rogersp great going to close for now!

authors: Neitsch ncrmro rogersp

repo: lvarayut/relay-fullstack


text:
Fetch upstream

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

Long time no updates.  I only want to clone the main branch to my fork.  Thanks

repo: lvvvvvf/nodejs-asset


text:
Live migration with openvswitch

Required information

Distribution: Ubuntu
Distribution version: 18.04
The output of "lxc info" or if that fails:

Kernel version:
LXC version:
LXD version: 3.11 from snap
Storage backend in use: btrfs

Issue description
I am trying to use openvswitch instead of the lxdbr0 and i am able to do so but i cannot live migrate a container attached to the openvswitch to another remote. The two machines are exactly the same and both run openvswitch with the same name of the switch etc. So when i do "lxc move c1 remote2:", i get the error that the restore fails because it cannot attach the vethXXXX interface to the openvswitch at the destionation. Am i doing something wrong?
Steps to reproduce
assume that i have one container and two remotes running alpine/edge container
lxc network create ovs-1 bridge.driver=openvswitch
ovs-vsctl add-port ovs-1 enp0s8
lxc network attach-profile ovs-1 default eth0
lxc launch images:alpine/edge c1
lxc move c1 remote2: <---error
Information to attach

[ ] Any relevant kernel output (dmesg)
[ ] Container log (lxc info NAME --show-log)
[ ] Container configuration (lxc config show NAME --expanded)
[ ] Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log)
[ ] Output of the client with --debug
[ ] Output of the daemon with --debug (alternatively output of lxc monitor while reproducing the issue)

Full details:
root@vm03:~# lxc move vm02:a1 local: --mode=relay
Error: Error transferring container data: migration restore failed
(00.000055) Warn  (criu/log.c:203): The early log isn't empty
(00.009473) Warn  (criu/net.c:2867): Unable to get tun network namespace
(00.116293) Warn  (criu/cr-restore.c:1266): Set CLONE_PARENT | CLONE_NEWPID but it might cause restore problem,because not all kernels support such clone flags combinations!
(00.564266) Error (criu/net.c:2929): Can't add interface veth2D98Q0 to bridge lxdbr0: Operation not supported
(00.644744) Error (criu/cr-restore.c:2294): Restoring FAILED.
root@vm03:~#

This shows that CRIU appears to have detected the network interface as bridged and so attempted to re-add to the target bridge. Unfortunately it doesn't appear to know that openvswitch bridges are special and you can't use the same netlink call to attach a nic to one of those.
All this happens within CRIU outside of LXD or LXC's control, so it's unfortunately not really something we can do much about. You may want to file a bug against https://github.com/checkpoint-restore/criu to either add the missing logic to re-attach to openvswitch or add logic to detect non-standard bridged interfaces during dump and refuse dumping (so you don't end up with a non-restorable container).

@stgraber Are you able to reproduce this? Can you see in any of the logs the full command-line that is used to run CRIU?

I wiped my test systems after reproducing the issue unfortunately, I'll re-reproduce it and grab our detailed criu output this time around.

dump: https://paste.ubuntu.com/p/MbdJTZpPJW/
restore: https://paste.ubuntu.com/p/4GP2ZCcBdw/
@adrianreber

dump command: /snap/lxd/current/criu/criu dump --tcp-established --file-locks --link-remap --manage-cgroups=full --ext-mount-map auto --enable-external-sharing --enable-external-masters --enable-fs hugetlbfs --enable-fs tracefs -D /tmp/lxd_checkpoint_150842847/final -o /tmp/lxd_checkpoint_150842847/final/dump.log --cgroup-root  /lxc.payload/c1 --cgroup-root name=systemd /lxc.payload/c1 --cgroup-root blkio /lxc.payload/c1 --cgroup-root cpu,cpuacct /lxc.payload/c1 --cgroup-root hugetlb /lxc.payload/c1 --cgroup-root memory /lxc.payload/c1 --cgroup-root net_cls,net_prio /lxc.payload/c1 --cgroup-root perf_event /lxc.payload/c1 --cgroup-root devices /lxc.payload/c1 --cgroup-root pids /lxc.payload/c1 --cgroup-root freezer /lxc.payload/c1 --cgroup-root cpuset /lxc.payload/c1 --cgroup-root rdma /lxc.payload/c1 -vvvvvv --action-script /tmp/lxd_checkpoint_150842847/action.sh --ext-mount-map /dev/fuse dev/fuse --ext-mount-map /dev/net/tun dev/net/tun --ext-mount-map /proc/sys/fs/binfmt_misc proc/sys/fs/binfmt_misc --ext-mount-map /sys/fs/fuse/connections sys/fs/fuse/connections --ext-mount-map /sys/fs/pstore sys/fs/pstore --ext-mount-map /sys/kernel/debug sys/kernel/debug --ext-mount-map /sys/kernel/security sys/kernel/security --ext-mount-map /dev/mqueue dev/mqueue --ext-mount-map /dev/lxd dev/lxd -t 4610 --skip-in-flight --freeze-cgroup /sys/fs/cgroup/freezer///lxc.payload/c1 --ext-mount-map /dev/console console --external tty[8800:33] --prev-images-dir ../003 --track-mem --force-irmap --ghost-limit 268435456
restore command: /snap/lxd/current/criu/criu restore --tcp-established --file-locks --link-remap --manage-cgroups=full --ext-mount-map auto --enable-external-sharing --enable-external-masters --enable-fs hugetlbfs --enable-fs tracefs -D /tmp/lxd_restore_154854612/final -o /tmp/lxd_restore_154854612/final/restore.log --cgroup-root  /lxc.payload/c1 --cgroup-root name=systemd /lxc.payload/c1 --cgroup-root hugetlb /lxc.payload/c1 --cgroup-root memory /lxc.payload/c1 --cgroup-root blkio /lxc.payload/c1 --cgroup-root perf_event /lxc.payload/c1 --cgroup-root net_cls,net_prio /lxc.payload/c1 --cgroup-root cpuset /lxc.payload/c1 --cgroup-root freezer /lxc.payload/c1 --cgroup-root devices /lxc.payload/c1 --cgroup-root pids /lxc.payload/c1 --cgroup-root cpu,cpuacct /lxc.payload/c1 --cgroup-root rdma /lxc.payload/c1 -vvvvvv --ext-mount-map dev/fuse /dev/fuse --ext-mount-map dev/net/tun /dev/net/tun --ext-mount-map proc/sys/fs/binfmt_misc /proc/sys/fs/binfmt_misc --ext-mount-map sys/fs/fuse/connections /sys/fs/fuse/connections --ext-mount-map sys/fs/pstore /sys/fs/pstore --ext-mount-map sys/kernel/debug /sys/kernel/debug --ext-mount-map sys/kernel/security /sys/kernel/security --ext-mount-map dev/mqueue /dev/mqueue --ext-mount-map dev/lxd /var/snap/lxd/common/lxd/devlxd --root /var/snap/lxd/common/lxc/ --restore-detached --restore-sibling --inherit-fd fd[6]:tty[8800:33] --ext-mount-map console /dev/pts/0 --lsm-profile apparmor:lxd-c1_</var/snap/lxd/common/lxd>//&:lxd-c1_: --external veth[eth0]:vethKGTF3A@lxdbr0

@stgraber That was fast. Thanks! Can you see the command-line LXC creates to call CRIU.
I think the output from this line would be important to know (I hope):
https://github.com/lxc/lxc/blob/master/src/lxc/criu.c#L639

There it is. Thanks. Too slow on my side :grin:

Looks like we're passing --external for the veth along with the bridge name which is what liblxc knows at that point, unfortunately it's not a normal bridge so the normal attach doesn't work.

lxc.conf and lxc.log on restore side:
root@vm03:~# cat /var/snap/lxd/common/lxd/logs/c1/lxc.conf
lxc.log.file = /var/snap/lxd/common/lxd/logs/c1/lxc.log
lxc.log.level = info
lxc.console.buffer.size = auto
lxc.console.size = auto
lxc.console.logfile = /var/snap/lxd/common/lxd/logs/c1/console.log
lxc.mount.auto = proc:rw sys:rw
lxc.autodev = 1
lxc.pty.max = 1024
lxc.mount.entry = /dev/fuse dev/fuse none bind,create=file,optional 0 0
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file,optional 0 0
lxc.mount.entry = /proc/sys/fs/binfmt_misc proc/sys/fs/binfmt_misc none rbind,create=dir,optional 0 0
lxc.mount.entry = /sys/fs/fuse/connections sys/fs/fuse/connections none rbind,create=dir,optional 0 0
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none rbind,create=dir,optional 0 0
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none rbind,create=dir,optional 0 0
lxc.mount.entry = /sys/kernel/security sys/kernel/security none rbind,create=dir,optional 0 0
lxc.mount.entry = /dev/mqueue dev/mqueue none rbind,create=dir,optional 0 0
lxc.include = /snap/lxd/current/lxc/config//common.conf.d/
lxc.arch = linux64
lxc.hook.pre-start = /snap/lxd/current/bin/lxd callhook /var/snap/lxd/common/lxd 3 start
lxc.hook.post-stop = /snap/lxd/current/bin/lxd callhook /var/snap/lxd/common/lxd 3 stop
lxc.tty.max = 0
lxc.uts.name = c1
lxc.mount.entry = /var/snap/lxd/common/lxd/devlxd dev/lxd none bind,create=dir 0 0
lxc.apparmor.profile = lxd-c1_</var/snap/lxd/common/lxd>//&:lxd-c1_<var-snap-lxd-common-lxd>:
lxc.seccomp.profile = /var/snap/lxd/common/lxd/security/seccomp/c1
lxc.idmap = u 0 1000000 1000000000
lxc.idmap = g 0 1000000 1000000000
lxc.rootfs.path = dir:/var/snap/lxd/common/lxd/containers/c1/rootfs
lxc.net.0.type = veth
lxc.net.0.flags = up
lxc.net.0.link = lxdbr0
lxc.net.0.hwaddr = 00:16:3e:20:8b:11
lxc.net.0.name = eth0
lxc.mount.auto = shmounts:/var/snap/lxd/common/lxd/shmounts/c1:/dev/.lxd-mounts

root@vm03:~# cat /var/snap/lxd/common/lxd/logs/c1/lxc.log
lxc c1 20190315142154.413 INFO     lsm - lsm/lsm.c:lsm_init:50 - LSM security driver AppArmor
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:759 - Processing "reject_force_umount  # comment this to allow umount -f;  not recommended"
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:do_resolve_add_rule:505 - Set seccomp rule to reject force umounts
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:937 - Added native rule for arch 0 for reject_force_umount action 0(kill)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:do_resolve_add_rule:505 - Set seccomp rule to reject force umounts
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:946 - Added compat rule for arch 1073741827 for reject_force_umount action 0(kill)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:do_resolve_add_rule:505 - Set seccomp rule to reject force umounts
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:956 - Added compat rule for arch 1073741886 for reject_force_umount action 0(kill)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:do_resolve_add_rule:505 - Set seccomp rule to reject force umounts
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:966 - Added native rule for arch -1073741762 for reject_force_umount action 0(kill)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:759 - Processing "[all]"
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:759 - Processing "kexec_load errno 38"
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:937 - Added native rule for arch 0 for kexec_load action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:946 - Added compat rule for arch 1073741827 for kexec_load action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:956 - Added compat rule for arch 1073741886 for kexec_load action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:966 - Added native rule for arch -1073741762 for kexec_load action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:759 - Processing "open_by_handle_at errno 38"
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:937 - Added native rule for arch 0 for open_by_handle_at action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:946 - Added compat rule for arch 1073741827 for open_by_handle_at action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:956 - Added compat rule for arch 1073741886 for open_by_handle_at action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:966 - Added native rule for arch -1073741762 for open_by_handle_at action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:759 - Processing "init_module errno 38"
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:937 - Added native rule for arch 0 for init_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:946 - Added compat rule for arch 1073741827 for init_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:956 - Added compat rule for arch 1073741886 for init_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:966 - Added native rule for arch -1073741762 for init_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:759 - Processing "finit_module errno 38"
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:937 - Added native rule for arch 0 for finit_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:946 - Added compat rule for arch 1073741827 for finit_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:956 - Added compat rule for arch 1073741886 for finit_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:966 - Added native rule for arch -1073741762 for finit_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:759 - Processing "delete_module errno 38"
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:937 - Added native rule for arch 0 for delete_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:946 - Added compat rule for arch 1073741827 for delete_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:956 - Added compat rule for arch 1073741886 for delete_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:966 - Added native rule for arch -1073741762 for delete_module action 327718(errno)
lxc c1 20190315142154.413 INFO     seccomp - seccomp.c:parse_config_v2:970 - Merging compat seccomp contexts into main context
lxc c1 20190315142154.413 INFO     conf - conf.c:run_script_argv:371 - Executing script "/snap/lxd/current/bin/lxd callhook /var/snap/lxd/common/lxd 3 start" for container "c1", config section "lxc"
lxc c1 20190315142154.664 INFO     start - start.c:lxc_init:902 - Container "c1" is initialized
lxc c1 20190315142154.665 INFO     cgfsng - cgroups/cgfsng.c:cgfsng_payload_create:1453 - The container process uses "lxc.payload/c1" as cgroup
lxc c1 20190315142154.666 INFO     criu - criu.c:exec_criu:639 - execing: /snap/lxd/current/criu/criu restore --tcp-established --file-locks --link-remap --manage-cgroups=full --ext-mount-map auto --enable-external-sharing --enable-external-masters --enable-fs hugetlbfs --enable-fs tracefs -D /tmp/lxd_restore_154854612/final -o /tmp/lxd_restore_154854612/final/restore.log --cgroup-root :/lxc.payload/c1 --cgroup-root name=systemd:/lxc.payload/c1 --cgroup-root hugetlb:/lxc.payload/c1 --cgroup-root memory:/lxc.payload/c1 --cgroup-root blkio:/lxc.payload/c1 --cgroup-root perf_event:/lxc.payload/c1 --cgroup-root net_cls,net_prio:/lxc.payload/c1 --cgroup-root cpuset:/lxc.payload/c1 --cgroup-root freezer:/lxc.payload/c1 --cgroup-root devices:/lxc.payload/c1 --cgroup-root pids:/lxc.payload/c1 --cgroup-root cpu,cpuacct:/lxc.payload/c1 --cgroup-root rdma:/lxc.payload/c1 -vvvvvv --ext-mount-map dev/fuse:/dev/fuse --ext-mount-map dev/net/tun:/dev/net/tun --ext-mount-map proc/sys/fs/binfmt_misc:/proc/sys/fs/binfmt_misc --ext-mount-map sys/fs/fuse/connections:/sys/fs/fuse/connections --ext-mount-map sys/fs/pstore:/sys/fs/pstore --ext-mount-map sys/kernel/debug:/sys/kernel/debug --ext-mount-map sys/kernel/security:/sys/kernel/security --ext-mount-map dev/mqueue:/dev/mqueue --ext-mount-map dev/lxd:/var/snap/lxd/common/lxd/devlxd --root /var/snap/lxd/common/lxc/ --restore-detached --restore-sibling --inherit-fd fd[6]:tty[8800:33] --ext-mount-map console:/dev/pts/0 --lsm-profile apparmor:lxd-c1_</var/snap/lxd/common/lxd>//&:lxd-c1_<var-snap-lxd-common-lxd>: --external veth[eth0]:vethKGTF3A@lxdbr0
lxc c1 20190315142155.141 ERROR    criu - criu.c:do_restore:1100 - criu process exited 1, output:

lxc c1 20190315142155.144 INFO     conf - conf.c:run_script_argv:371 - Executing script "/snap/lxd/current/lxcfs/lxc.reboot.hook" for container "c1", config section "lxc"
lxc 20190315142155.144 WARN     commands - commands.c:lxc_cmd_rsp_recv:133 - Connection reset by peer - Failed to receive response for command "get_state"
lxc c1 20190315142155.647 INFO     conf - conf.c:run_script_argv:371 - Executing script "/snap/lxd/current/bin/lxd callhook /var/snap/lxd/common/lxd 3 stop" for container "c1", config section "lxc"
lxc c1 20190315142155.683 ERROR    criu - criu.c:__criu_restore:1432 - restore process died

Yeah, getting a reproducing environment is pretty simple, just deployed two Ubuntu 18.04 VMs, then ran:
snap install lxd --edge
lxd.migrate -yes
snap set lxd daemon.debug=true criu.enable=true openvswitch.builtin=true
snap restart lxd
lxd init --auto
lxc network set lxdbr0 bridge.driver openvswitch
lxc config set core.https_address :8443
lxc config set core.trust_password test
lxc remote add other-vm vm02.maas.mtl.stgraber.net
lxc move other-vm:container local:

And LXC does https://github.com/lxc/lxc/blob/master/src/lxc/criu.c#L576
						ret = snprintf(buf, sizeof(buf),
							       "veth[%s]:%s@%s",
							       eth, veth,
							       n->link);
					else
						ret = snprintf(buf, sizeof(buf),
							       "%s=%s@%s", eth, veth, n->link);

and it uses lxc.net.0.link = lxdbr0. So LXC needs to use some other information at that point.

So the bridge is still called lxdbr0?

The LXD edge snap uses the current master branch of CRIU too FWIW.
@adrianreber liblxc has lxc_bridge_attach which calls is_ovs_bridge and then jumps to lxc_ovs_attach_bridge for the attach in such cases, I guess we either need an equivalent in CRIU or we need to add logic to criu.c in liblxc to detect that the bridge is openvswitch and not tell CRIU to attach the veth, instead having liblxc do it through lxc_bridge_attach

Yep, bridge is still called lxdbr0, it's just using openvswitch as a backend rather than normal Linux bridging.
So the interface exists but it doesn't have the usual bridge directory and API:
root@vm03:~# ls /sys/class/net/lxdbr0/ -l
total 0
-r--r--r-- 1 root root 4096 Mar 15 14:16 addr_assign_type
-r--r--r-- 1 root root 4096 Mar 15 14:16 address
-r--r--r-- 1 root root 4096 Mar 15 14:31 addr_len
-r--r--r-- 1 root root 4096 Mar 15 14:31 broadcast
-rw-r--r-- 1 root root 4096 Mar 15 14:31 carrier
-r--r--r-- 1 root root 4096 Mar 15 14:31 carrier_changes
-r--r--r-- 1 root root 4096 Mar 15 14:31 carrier_down_count
-r--r--r-- 1 root root 4096 Mar 15 14:31 carrier_up_count
-r--r--r-- 1 root root 4096 Mar 15 14:31 dev_id
-r--r--r-- 1 root root 4096 Mar 15 14:31 dev_port
-r--r--r-- 1 root root 4096 Mar 15 14:31 dormant
-r--r--r-- 1 root root 4096 Mar 15 14:31 duplex
-rw-r--r-- 1 root root 4096 Mar 15 14:31 flags
-rw-r--r-- 1 root root 4096 Mar 15 14:31 gro_flush_timeout
-rw-r--r-- 1 root root 4096 Mar 15 14:31 ifalias
-r--r--r-- 1 root root 4096 Mar 15 14:16 ifindex
-r--r--r-- 1 root root 4096 Mar 15 14:16 iflink
-r--r--r-- 1 root root 4096 Mar 15 14:31 link_mode
-rw-r--r-- 1 root root 4096 Mar 15 14:31 mtu
-r--r--r-- 1 root root 4096 Mar 15 14:16 name_assign_type
-rw-r--r-- 1 root root 4096 Mar 15 14:31 netdev_group
-r--r--r-- 1 root root 4096 Mar 15 14:31 operstate
-r--r--r-- 1 root root 4096 Mar 15 14:31 phys_port_id
-r--r--r-- 1 root root 4096 Mar 15 14:31 phys_port_name
-r--r--r-- 1 root root 4096 Mar 15 14:31 phys_switch_id
drwxr-xr-x 2 root root    0 Mar 15 14:31 power
-rw-r--r-- 1 root root 4096 Mar 15 14:31 proto_down
drwxr-xr-x 4 root root    0 Mar 15 14:16 queues
-r--r--r-- 1 root root 4096 Mar 15 14:31 speed
drwxr-xr-x 2 root root    0 Mar 15 14:31 statistics
lrwxrwxrwx 1 root root    0 Mar 15 14:16 subsystem -> ../../../../class/net
-rw-r--r-- 1 root root 4096 Mar 15 14:31 tx_queue_len
-r--r--r-- 1 root root 4096 Mar 15 14:16 type
-rw-r--r-- 1 root root 4096 Mar 15 14:16 uevent

Okay, so CRIU does not know how to connect the interface to the bridge. So, from my point of view, the best solution would be that CRIU does not touch the networking at all, but all the network namespace configuration is done by LXC and CRIU only restores the container into that existing namespace.
That sounds like a lot of changes to how LXC uses CRIU.

@adrianreber I wonder, can we just tell CRIU to restore the veth but not connect it?
If we have the name of the host side veth, then it becomes easy for liblxc to call our existing bridge attach function on it post-restore.

authors: adrianreber haha150 stgraber

repo: lxc/lxd


text:
lxc should suggest to lauch 20.04 instead of 20.04

root@snapd:~# snap install lxd --edge
lxd (edge) git-605bd7a from Canonical✓ installed
root@snapd:~# lxc list
If this is your first time running LXD on this machine, you should also run: lxd init
To start your first instance, try: lxc launch ubuntu:18.04

+------+-------+------+------+------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+-------+------+------+------+-----------+

The above should suggest 20.04.

@simondeziel want to send a branch for this?

authors: simondeziel stgraber


text:
Moved PopularTables out into separate component

Summary of Changes
Moved populartables into a separate isolated component for compartmentalization reasons. This is the first step for our new home page.
Tests
Got rid of popular tables tests in searchpage, still need to move them to individual tests for the component
Documentation
N/A
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes, including screenshots of any UI changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public python functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes all tests documented in the developer guide
[ ] I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message"

Codecov Report

Merging #183 into master will increase coverage by 0.1%.
The diff coverage is 74.07%.

@@           Coverage Diff            @@
##           master    #183     +/-   ##
========================================
+ Coverage   54.19%   54.3%   +0.1%
========================================
  Files         118     119      +1
  Lines        2919    2941     +22
  Branches      295     296      +1
========================================
+ Hits         1582    1597     +15
- Misses       1307    1314      +7
  Partials       30      30

Impacted Files
Coverage Δ

...lication/static/js/components/SearchPage/index.tsx
100% <100%> (ø)
:arrow_up:

...c/js/components/SearchPage/PopularTables/index.tsx
72% <72%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 525d432...544a943. Read the comment docs.

👀 @ttannis @danwom  this PR should be good to review

oops nvm I need to fix some tests

@ttannis @danwom should be good to look over again, I've moved PopularTables to common and addressed comments

@danwom addressed comments

authors: codecov-io ryanlieu

repo: lyft/amundsenfrontendlibrary


text:
Revert "Added glog dependency in advance of implementation for docker…

… (#1037)"
This reverts commit a8341d3d5c765167b5d52ded1030ababe5fb3e27.

@mrice32 opening this while it's fresh from our discussion. We don't need to merge until we are sure we are good with spdlog.

LGTM

repo: lyft/envoy


text:
CHATGLM2_ADALORA——TRANSFORMERS.IPYNB tokenizer.build_prompt报错

执行
ds_train = ds_train_raw.map(
preprocess,
batched=True,
num_proc=4,
remove_columns=ds_train_raw.column_names
)
ds_val = ds_val_raw.map(
preprocess,
batched=True,
num_proc=4,
remove_columns=ds_val_raw.column_names
)
报错
AttributeError: 'ChatGLMTokenizer' object has no attribute 'build_prompt'

def preprocess(examples):
max_seq_length = cfg.max_source_length + cfg.max_target_length
model_inputs = {
"input_ids": [],
"labels": [],
}
for i in range(len(examples[cfg.prompt_column])):
if examples[cfg.prompt_column][i] and examples[cfg.response_column][i]:
query, answer = examples[cfg.prompt_column][i], examples[cfg.response_column][i]
        history = examples[cfg.history_column][i] if cfg.history_column is not None else None
        prompt = tokenizer.build_prompt(query, history)
        print(query)
        prompt = cfg.source_prefix

        a_ids = tokenizer.encode(text=prompt, add_special_tokens=True, truncation=True,
                                 max_length=cfg.max_source_length)
        b_ids = tokenizer.encode(text=answer, add_special_tokens=False, truncation=True,
                                 max_length=cfg.max_target_length)

        context_length = len(a_ids)
        input_ids = a_ids + b_ids + [tokenizer.eos_token_id]
        labels = [tokenizer.pad_token_id] * context_length + b_ids + [tokenizer.eos_token_id]

        pad_len = max_seq_length - len(input_ids)
        input_ids = input_ids + [tokenizer.pad_token_id] * pad_len
        labels = labels + [tokenizer.pad_token_id] * pad_len
        labels = [(l if l != tokenizer.pad_token_id else -100) for l in labels]
        model_inputs["input_ids"].append(input_ids)
        model_inputs["labels"].append(labels)
return model_inputs

chatglm2版本的问题，你需要拉取最新的代码。


text:
🛑 XRM Homepage is down

In c15324a, XRM Homepage (https://web.dev.cmxapp.cloud/) was down:

HTTP code: 403
Response time: 372 ms

Resolved: XRM Homepage is back up in 3dc64df after 1 hour, 14 minutes.


text:
改变了Zhihu类的父类，让Zhihu类继承Account

在Zhihu、Account类中添加了构造函数（init）
原先Zhihu、Account继承自Models类，这样在程序在运行中会产生两个session对象
改变后不仅类结构易于理解，也不会产生两个session对象

大佬们，我的不行吗？
能指点指点我么？

明天我看看

明天我看看

大佬看好了。我已经毕业了，工作三年了


text:
Mock does not reset for other tests

Checklist

[X] I have read Caveats documentation and didn't find a solution for this problem there.

Bug description
I am trying to unit test lambda function.
I am trying to test 5xx status code in my lambda. In order to test it I want to remove mock so that credential error (CredentialsProviderError: Could not load credentials from any providers)occurs (which is obvious). But since the mock of the first describe is still active I am not able to test it. How do I reset the mock for different describe test cases
The only way I intend to work if I comment on the first describe block i.e don't use the mock at all.
Tried to follow this too but didnt worked https://github.com/m-radzikowski/aws-sdk-client-mock/issues/83
I have posted this on stackoverflow too for reference.
Reproduction
import { APIGatewayProxyResult } from 'aws-lambda';
import { main } from "../../lib/src/lambda/approval-handler";
import { mockClient } from "aws-sdk-client-mock";
import {
    CodePipelineClient
} from "@aws-sdk/client-codepipeline";
import { event, queryStringParameters } from "../utils/lambda-event"

describe("Successful Approve or Deny", () => {. //this works

    const pipelineClientMock = mockClient(CodePipelineClient);

    beforeEach(() => {
        pipelineClientMock.reset();
    });

    it("returns a 301 response with a redirect location if all required query parameters are provided", async () => {

        pipelineClientMock.resolves({})

        const result: APIGatewayProxyResult = await main(event);
        expect(result.statusCode).toEqual(301);
    });

})

describe("When Approval or Deny is not sent successfully", () => { //this fails because mock is still active

    it("returns a 502 error response if any of the required query parameters are missing", async () => {

        const result: APIGatewayProxyResult = await main(event);
        expect(result.statusCode).toEqual(502);
    });
});

Environment

Node version: LTS
Testing lib and version:  Jest : "^27.5.1",
Typescript version: "~3.9.7"
AWS SDK v3 Client mock version: "^2.1.1"
AWS JS SDK libs and versions:   "@aws-sdk/client-codepipeline": "^3.231.0",

@m-radzikowski
I solved it by moving a particular instance of mock client inside describe block and using .restore . May be updating a readme would help a lot to others users who will face a similar problem, because there is a mention to .reset but not to .restore
I would be happy to update the project readme under the Lambda section by adding this as a use case. Let me know if you would like me to do this
 describe("When Approval or Deny is not sent successfully", () => {
    const pipelineClientMock = mockClient(CodePipelineClient);
    beforeEach(() => {
        pipelineClientMock.restore();
    });

    it("returns a 502 error response if any of the required query parameters are missing", async () => {

        const result: APIGatewayProxyResult = await main(event);
        expect(result.statusCode).toEqual(502);
    });
});

Hey, sorry again for not responding earlier.
Mocks use Sinon.js Stubs (https://sinonjs.org/releases/latest/stubs/). The mocked client exposes the send() method stub itself as well as some Sinon methods, like reset() and restore() (see https://m-radzikowski.github.io/aws-sdk-client-mock/classes/AwsStub.html).
As you discovered, after calling mockClient() on a class, all further instances of this client will be mocked. There is nothing that would reset this between tests.
In the example in the README, in the beforeEach we call mock.reset(). This does not remove the mock, only cleans it from any configuration and history, so tests are independent. So that's a best practice.
In most cases, we won't call mock.restore() at all, simply because we want to have our client mocked for every test, and only change how that mock behaves.
But if we have such need, the best solution would be to call restore() in the afterEach() / afterAll(). For example:
describe("block with mocked client", () => {
    let pipelineClientMock: AwsClientMock<CodePipelineClient>;

    beforeAll(() => {
        pipelineClientMock = mockClient(CodePipelineClient);
    });

    beforeEach(() => {
        pipelineClientMock.reset();
    });

    afterAll(() => {
        pipelineClientMock.restore();
    });

    it("...", async () => {
        // client is mocked here
    });
});

describe("block without mocked client", () => {
    it("...", async () => {
        // client is NOT mocked here
    });
});

For the README - let me update it with an explanation on both the reset() and restore() methods, as you are correct that it's missing.

@m-radzikowski Can i do it as a PR?

authors: jatinmehrotra m-radzikowski

repo: m-radzikowski/aws-sdk-client-mock


text:
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 61-66: ordinal not in range(256)

def main(request):
    try:
        # Load the PKCS12 object from the pfx file
        p12 = load_pfx(path.join(settings.MEDIA_ROOT, 'cer', '12152.pfx'), '123')

        subject = p12.get_certificate().get_subject()
        timezone = pytz.timezone('Asia/Calcutta')
        # default coords of bottom right corner in a pdf page
        coords = [350, 50, 550, 150]  # Координаты где будет подпись!
        # coords = [int(coord) for coord in args.coords.split(',') if coord]
        page = 1  # страница где будет подпись
        dest = path.join(settings.MEDIA_ROOT, 'pdf','signed.pdf')  # Путь где сохранить подписанный подф
        date = datetime.datetime.utcnow() - datetime.timedelta(hours=12)
        date = date.strftime('%Y%m%d%H%M%S+00\'00\'')
        signature = signature_string(subject.CN, date, subject.C)
        dct = {
            b'sigflags': 3,
            b'sigpage': page - 1,
            b'contact': b'finacctind@endurance.com',
            # b'location': subject.C.encode(),
            b'location': b'Szczecin',
            b'signingdate': date.encode(),
            b'signingdate': b'20191122082642+02\'00\'',
            b'reason': b'Signed by endurance',
            b'signature': signature.encode(),
            b'signaturebox': tuple(coords[:4]),
        }
        print(settings.BASE_DIR)
        input_file = path.join(settings.BASE_DIR, 'pdf.pdf')  # Путь к самому пдф файлу
        datau = open(input_file, 'rb').read()
        print(sys.getfilesystemencoding())
        print(locale.getpreferredencoding())
        datas = pdf.cms.sign(datau,
                             dct,
                             p12.get_privatekey().to_cryptography_key(),
                             p12.get_certificate().to_cryptography(),
                             [],
                             'utf-8'
                             )

        output_file = input_file.replace(input_file, dest)
        with open(output_file, 'wb') as fp:
            fp.write(datau)
            fp.write(datas)
    except Exception as e:
        import traceback;
        traceback.print_exc()
        eprint(e)
        sys.exit()

Traceback (most recent call last):
File "D:\test_projects\sign_pdf\sign\views.py", line 82, in main
'utf-8'
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 377, in sign
return cls.sign(datau, udct, key, cert, othercerts, algomd, hsm)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 350, in sign
pdfdata2 = self.makepdf(datau, dct, zeros)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 301, in makepdf
visualization, nav = self.makevisualization(no, udct, nsig, page)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 269, in makevisualization
return self.textvisual(no, udct, nsig, page)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 194, in textvisual
visual, nav = self.makeannotation(pdfao, no+4)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 173, in makeannotation
result += b'stream\n%s\nendstream\n' % stream.encode('latin1')
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 61-66: ordinal not in range(256)
'latin-1' codec can't encode characters in position 61-66: ordinal not in range(256)
Traceback (most recent call last):
File "D:\test_projects\sign_pdf\sign\views.py", line 82, in main
'utf-8'
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 377, in sign
return cls.sign(datau, udct, key, cert, othercerts, algomd, hsm)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 350, in sign
pdfdata2 = self.makepdf(datau, dct, zeros)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 301, in makepdf
visualization, nav = self.makevisualization(no, udct, nsig, page)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 269, in makevisualization
return self.textvisual(no, udct, nsig, page)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 194, in textvisual
visual, nav = self.makeannotation(pdfao, no+4)
File "D:\test_projects\sign_pdf\venv\lib\site-packages\endesive\pdf\cms.py", line 173, in makeannotation
result += b'stream\n%s\nendstream\n' % stream.encode('latin1')
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 61-66: ordinal not in range(256)
Constantly getting this error. I tried changing the encoding did not help. I don’t know what to do

all values in dct should be of type byte
last parameter to pdf.cms.sign in this case shoud be 'sha256', not 'utf-8'

I tried sha256. But it did not help

What is your python version? Mine is 3.6.7 and the system is Ubuntu 18.4.
Are the examples working correctly ?