Add backend function to automatically convert gifs to smaller videos

We had a user uploading full of gifs, which looks fun but is also freaking huge to download.
What should our approach be with gifs?
Is there a compression that reduces nicely the size without getting a super-low quality output?
child of #3

Gonna grab this as a way to get my feet wet with the platform (ping @mattia-io ).
Standard doctrine around this seems to require using something like fluent-ffmpeg-extended or something else that wraps ffmpeg.
Are there any issues around requiring the installation of ffmpeg binary to be installed? My read seems to indicate that it's compatible with the MIT license for this usage, but if it's a no-go I can dig around for another solution.

oooor I could RTFM and see that it's all firebase. ffmpeg-static it is

I suggest you have a look at the functions folder, we already have a function that converts images. The idea would be to allow it to also convert gifs into smaller video.

Hey @sam-heller , awesome to hear you're picking this one up. I think ffmpeg is probably a pretty solid option. Here's an example use with firebase functions<EMAIL_ADDRESS>although if you have an alternate approach don't feel entirely constricted (widening the choice of platforms is a long term objective: https://github.com/OneArmyWorld/onearmy/wiki/Backend-Functions)

let me know if you hit any sticking points working with the platform, getting a good workflow for testing functions deploys can be a bit of a pain.

Hello,
@sam-heller Did you make any progress here?
I have experience with nodejs, ffmpeg and microservices. I can build a microservice using the google function which receives a GIF and convert to an MP4 for example.
I have experimented with google functions before but never with real projects that are used.
If this task is about creating a google function with node and ffmpeg that will convert a gif into a video file, I can definitely handle that.
Questions:

What is the input format (google storage bucket object? or something else?)
What will be the expected output (save it to another bucket object?)
What will be the video format (MP4?)
Should it loop the gif a couple of times inside the video? (how many times?)

That's exactly the setup we're looking at, something in node that can convert gif to a better format (I'm guessing mp4, although open to webm or any other recommendations). The input would be an attached storage bucket, although methods already exist to push/pull to tmp directory for working directly with a file object. All that is missing is the code to take input file and output as a file, and then piecing together.
I think it got deprioritised as we found a workaround (just don't let people upload gifs... smart eh?), but I can see why it would be useful to have. As we haven't heard otherwise I'd say it's open to take on if you are interested in the challenge?

@chrismclarke My son and I developed this proof of concept/prototype google function:
https://us-central1-mercurial-datum-221620.cloudfunctions.net/ConvertGifToMP4/
Once you access this it will give you instructions on how to use it. It will convert a gif into an mp4. You can control the fps and the bitrate to control the quality/size of the mp4.
The resulting mp4 will be downloadable once converted.
On this prototype, it will only convert a specific list of gif files to be used as fileIn value

earth.gif 852ko
hearth.gif 372ko
groot.gif 3.1mo
avocado.gif 118ko
giphy.gif 176ko

It will only be allowed to read and write to the bucket called ben64.
This is only to present you with a prototype to make sure this represent that kind of result you expect.
Let me know if we are on the right track.

Thanks for all the effort you've put into this. It's unlikely that we'll make use of fine-grained controls such as bitrate and fps (likely to just have a uniform setting used throughout), but as a developer I do like exposing these types of functionality in case it's ever required in the future!
Really like the demo too! I think for using within the platform it would be great to pass back full file information/storage meta (including size), but impressive how it efficient it seems to be, more than 10x smaller for the files I've tried with the default settings from the example.

When you are happy with the code, I suggest you make a PR with the necessary video conversion utility functions saved in the functions/src/Utils
https://github.com/OneArmyWorld/onearmy/tree/master/functions/src/Utils
If you are happy to write in typescript then a .ts file would be preferred, but if it is javascript I'm sure it would be very quick for someone else to add them after.
Thanks again.

likely to just have a uniform setting used throughout

I totally agree

It's unlikely that we'll make use of fine-grained controls such as bitrate and fps

I was not sure what kind of quality/size trade-off you wanted, so now you have the options to choose which settings you prefer in case the default wasn't what you wanted.

it would be great to pass back full file information/storage meta (including size)

We'll definitely add the full meta

impressive how it efficient it seems to be, more than 10x smaller

Thanks! We were very pleased with the results too!

When you are happy with the code, I suggest you make a PR

Shouldn't I try to make it work locally first? Do you have instructions on how to run the whole thing locally? Otherwise I would make a blind PR, not knowing if it integrate well with what you got.

If you are happy to write in typescript then a .ts file would be preferred

Unfortunately I do not work with typescript.
So the next step is to clean the code, add the full metadata on the response, try it locally (if possible, waiting on your answer) and make a PR.
Thanks!

Sounds great. I think fully testing the full workflow at this stage would probably be a bit tricky as it depends on a few pending changes to the frontend site (minimally some sort of testing page on the dev site where a user could upload a gif and see the downloaded video, ideally integration with existing methods). Generally the workflow for testing backend functions really needs a lot of improvement, and I'm reluctant to put that burden on you!
An intermediate approach would be to simply add a trigger to backend functions to execute the code on file upload, and use the firebase dashboard interface for testing. This again isn't the smoothest workflow, but at least gives a solid proof of concept. I could provide login to the staging site dashboard if you wanted to try this, but again I'd still be happy to just get the code in and worry about the rest as required.

Closing as we removed functionality to upload gifs. Can always re-open if the decision is reverted


Crash on clicking link without "http://" prefix

Steps to reproduce:

post a link using markdown [link](anywebsite.com)
"click" the link

it does not seem to crash on develop branch, but it does not open the link either
this may be better solved in the matrix sdk
because if  just randomurl.org is posted, VectorMessageListFragment.onURLClick is called with http://randomlink.org,
but if [link](randomurl.org) is used, the same method is called with randomurl.org
so from my very limited (noob to the project) perspective, it looks like the matrix sdk handels this already for some links, but not for others


Update README.md

see diff
I think that's all

Thanks for your repo gardening! Very helpful!

@KyleAMathews you are awesome, I spend two hours to setup webpack to do what you do in one command line gatsby new gatsby-example-site; cd gatsby-example-site; npm run develop

that would be good tldr


Clean Up LiveStreams

The livestream table and associated storage group directory on the server become cluttered with transcoded streams.  Provide a utility to clean these out based on some criteria.  Possibly as a separate server-side thread in a mythling PHP file?

Let MythTV provide this feature.


Handle ClientConnectorError to allow for retries

Currently, if the API call results in a ClientConnectorError, it won't be properly handled, and it won't be eligible for retries. This adds the ClientConnectorError to the exceptions that trigger the databricks retry block.

@Lee-W can you try to fix the mypy failure so that we can get this merged to main

ok

Fixed the databricks issue. other failures are blocked by https://github.com/astronomer/astronomer-providers/pull/1341


FALCON-1616. Consume Workflow job end notifications for SLA monitoring

This was a dummy pull request raised long back. closing it


remove category x what can we not include in an asf project

remove category x what can we not include in an asf project

please add issue number  Remove dependencies #697


pilot-agent response  in multiple threads

Bug Description
I use ebpf to trace kprobe, tcp_sendmsg. And it shows that about 6 or 13 threads response for "/stats/prometheus" the same time.

Version
istio v1.10.1

Additional Information
No response
Affected product area

[ ] Ambient
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[X] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

Is this the right place to submit this?

[X] This is not a security vulnerability
[X] This is not a question about how to use Istio

What is 100MB mean?

@hzxuzhonghu It means size in ebpf map field is large than 100MB,
else {
			trafficp->sent += size;

			if (trafficp->sent > 100000000) {
			    bpf_printk("update send > 100MB occured: %d \n",trafficp->sent);
				bpf_printk("saddr %u \n",ip_key.saddr);
				bpf_printk("daddr %u \n",ip_key.daddr);
			    bpf_printk("family: %d \n",family);
				bpf_printk("sport: %d\n",ip_key.lport);
				bpf_printk("dport: %d\n",ip_key.dport);
				bpf_printk("update size: %d \n",size);
			}
		}

stats/promethues are sidecar metrics, in general, he will increase with the business access topology, for the general system, the amount of data output each time may be more than 300kb, according to the general case, 15s per collection frequency, in 300 times (4500s) may reach 100m, and your The ebpf program does not distinguish between pods, so if there are multiple pods, this amount of data may be reached faster, but theoretically this should have little effect.

I doubt the scraping from envoy is too slow because of the large amount of metrics. So if the scraping period is shorter than the time cost. There could be multi concurrent threads handling stats

@kebe7jun 1. we use vmagent to pull metrics from pod every 30s. 2. I will delete the key of  ebpf map every 1s, so no 300 times. 3. pod ip as one field of ebpf map key, so multiple pods no effect.

@hzxuzhonghu I have a test in my local minikube cluster, there are also multiple concurrent threads handling stats. BTW, when trace the receive function like kprobe/tcp_cleanup_rbuf, the count is equal the metics bytes.

 I'm not quite clear on the logic of how your ebpf clears the data, not sure if that includes cumulative data.

There have been many improvements since 1.10 here btw, it is far EOL. Worth upgrading before debugging more.

Unfortunately the Istio project cannot reasonably support infinite versions though. If you cannot upgrade that is unfortunate but its also not reasonable to expect help from the community - we could easily be wasting our time with bugs we already fixed years ago if we spent time on EOL versions.
You don't need to upgrade your production, but unless the issue is reproducible in a supported version I think this will be closed.

@howardjohn okay, I find the root case, so I will close this issue.

@howardjohn okay, I find the root case, so I will close this issue.

can you share the details for other guys?


Flexget throwing RSS error

2016-04-13 21:44 CRITICAL task Torrentz BUG: Unhandled error in plugin rss: request() got an unexpected keyword argument 'raise_status'
2016-04-13 21:44 CRITICAL manager Torrentz An unexpected crash has occurred. Writing crash report to /root/.flexget/crash_report.2<IP_ADDRESS>428777146.log. Please verify you are running the latest version of flexget by using "flexget -V" from CLI or by using version_checker plugin at http://flexget.com/wiki/Plugins/version_checker. You are currently using version 1.2.510
2016-04-13 21:44 WARNING task Torrentz Aborting task (plugin: rss)
2016-04-13 21:44 CRITICAL task KATtv BUG: Unhandled error in plugin rss: request() got an unexpected keyword argument 'raise_status'
2016-04-13 21:44 CRITICAL manager KATtv An unexpected crash has occurred. Writing crash report to /root/.flexget/crash_report.2<IP_ADDRESS>428821304.log. Please verify you are running the latest version of flexget by using "flexget -V" from CLI or by using version_checker plugin at http://flexget.com/wiki/Plugins/version_checker. You are currently using version 1.2.510
2016-04-13 21:44 WARNING task KATtv Aborting task (plugin: rss)
2016-04-13 21:44 CRITICAL task Extratorrent BUG: Unhandled error in plugin rss: request() got an unexpected keyword argument 'raise_status'
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flexget/task.py", line 438, in _runplugin
return method(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/flexget/event.py", line 22, in call
return self.func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/flexget/utils/cached_input.py", line 142, in wrapped_func
response = func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/flexget/plugin.py", line 124, in wrapped_func
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/input/rss.py", line 235, in on_task_input
response = task.requests.get(config['url'], timeout=60, headers=headers, raise_status=False, auth=auth)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 480, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/cfscrape/__init__.py", line 25, in request
resp = super(CloudflareScraper, self).request(method, url, *args, **kwargs)
TypeError: request() got an unexpected keyword argument 'raise_status'

what version are you on?

1.2.513

This is a problem with the rss and the cfscraper plugin. Easy fix is to stop using the cfscraper plugin. I don't have time to fix it right now. I have opened an issue on the cloudflare-scrape github, but he hasn't answered.


Doc: improve Swagger documentation for APIs

What this PR changes/adds
This PR decorates API interface classes with more informative description annotations to improve the docs.
Why it does that
OpenAPI doc was pretty sparse until now.
Further notes / limitations
It seems the Swagger annotation framework has a few serious limitations, which forces us to duplicate code. These are:

Cannot re-use global responses, like HTTP 409s or 404s. This is somewhat possible directly in yaml, but not using java annotations
Annotating an ExceptionMapper seems not to work, at least I didn't get it to work (yet)
when annotation @Operation, it's a all-or-nothing situation. For example, adding just the description on operations that return an object, causes the response schema to get removed, unless it is explicitly added again.
documenting parameters, such as path parameters, only works, if the @PathParam annotation on the controller implementation is removed. Otherwise the documentation gets duplicated, it the ParameterIn.PATH is specified. If that is not specified, the @Parameter entry is ignored.
For now, I've limited the PR to all public facing APIs, i.e. the Data MAnagement API and the Observability API

Linked Issue(s)
Closes #1122
Checklist

[ ] added appropriate tests?
[ ] performed checkstyle check locally?
[ ] added/updated copyright headers?
[ ] documented public classes/methods?
[ ] added/updated relevant documentation?
[ ] added relevant details to the changelog? (skip with label no-changelog)
[ ] formatted title correctly? (take a look at the CONTRIBUTING and styleguide for details)

Codecov Report

Merging #1448 (8adf891) into main (c03f7d9) will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1448      +/-   ##
==========================================
+ Coverage   67.61%   67.62%   +0.01%
==========================================
  Files         719      719
  Lines       15936    15957      +21
  Branches     1043     1044       +1
==========================================
+ Hits        10775    10791      +16
- Misses       4687     4692       +5
  Partials      474      474

Impacted Files
Coverage Δ

...dataspaceconnector/core/CoreServicesExtension.java
91.48% <0.00%> (ø)

...ceconnector/contract/ContractServiceExtension.java
95.08% <0.00%> (ø)

...econnector/spi/system/ServiceExtensionContext.java
0.00% <0.00%> (ø)

...connector/transfer/core/CoreTransferExtension.java
0.00% <0.00%> (ø)

...paceconnector/iam/oauth2/core/Oauth2Extension.java
0.00% <0.00%> (ø)

...core/transfer/TransferProcessSendRetryManager.java
89.47% <0.00%> (ø)

...egotiation/AbstractContractNegotiationManager.java
100.00% <0.00%> (ø)

...iation/ConsumerContractNegotiationManagerImpl.java
87.78% <0.00%> (ø)

...iation/ProviderContractNegotiationManagerImpl.java
90.86% <0.00%> (ø)

...ector/iam/oauth2/core/jwt/DefaultJwtDecorator.java
100.00% <0.00%> (ø)

... and 24 more

Continue to review full report at Codecov.

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

@juliapampus anything to add? otherwise can I merge?


Cannot parse URI with query/fragment/path containing square brackets ([])

Although it works in the browser.
URI.new: 'https://httpbin.org/get?query[0]=test'

Could not parse URI: https://httpbin.org/get?query[0]=test
  in method parse at ... (URI) line 283
  in method new at ... (URI) line 381

I'm checking the grammar and I don't think square brackets are part of the pchar token that defines that part of the query. square brackets are gen-delim, (and it's defined as such at the grammar, which is a pretty loyal rendering of the original grammar), but not sub-delim which is what's in this OP.
It might be a bit more informative, though, although I don't see how. So I'm for closing this issue, if no one else objects.

Yeah, I think the (quite hard to follow, because it is spread out so much,) grammar in the RFC precludes the [ and ] there because, as you say, they aren't in sub-delim.  They probably should be "percent encoded" as (e.g.) %5B' and %5D`.
It's entirely possible that either the browser is encoding under the hood, or that everything is being more tolerant than the grammar in the RFC.  https://httpbin.org/get?query[0]=test works fine everywhere.

It's entirely possible that either the browser is encoding under the hood, or that everything is being more tolerant than the grammar in the RFC. https://httpbin.org/get?query[0]=test works fine everywhere.

Browsers are notable for that kind of thing. You can put whatever you want in the URL slot, it will be encoded.
So... closing?

Yeah I think so. curl goes so far as to use the [] for its own use (glob the url,) and :
       -g, --globoff
              This  option switches off the "URL globbing parser". When you set this option, you can specify URLs that contain the letters {}[] without having curl itself interpret them. Note that these letters are not normal legal
              URL contents but they should be encoded according to the URI standard.


[9.x] Add like operator to collections

Adds SQL-like operator to the Laravel collections.
Usage:
$collection->where('name', 'like', 'Lara%')->all();

Thanks to this question/answer:
https://stackoverflow.com/questions/4912294/php-like-thing-similar-to-mysql-like-for-if-statement

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Envoy hanging with frequent hangup signals

Title: Envoy hangs with frequent hangup signals
Description:
My team is currently working on deploying Envoy as an edge proxy. We're managing Envoy through Nomad which is handling the lifecycle of the container running through docker. We've noticed that intermittently, Envoy will 'freeze' and stop accepting requests. I think I've traced this back to something with the hot-restarter where if it receives SIGHUPs too frequently, it'll get stuck and the old Envoy process will eventually turn into a zombie, without anything transitioning to the new fork that just spawned.
Repro steps:
Using Envoy 1.11.0 in Docker 18.03.1-ce and Ubuntu 16.04.5
I was able to reproduce the issue by sending frequent SIGHUPs to my container. e.g.
while true; sleep 2; do docker kill --signal="SIGHUP" 52dfc; done
We are passing the following to the command line
/usr/local/bin/envoy -c /local/envoy.yaml --restart-epoch 0 --parent-shutdown-time-s 180 --drain-time-s 120 --cpuset-threads --log-level INFO
Our entrypoint is the python hot-restarter.
Logs:
strace output attached to the hot-restarter towards the crash
...
--- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=0, si_uid=0} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
write(1, "got SIGHUP", 10)              = 10
write(1, "\n", 1)                       = 1
write(1, "forking and execing new child pr"..., 49) = 49
write(1, "\n", 1)                       = 1
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f2154e4b9d0) = 193
write(1, "forked new child process with PI"..., 37) = 37
write(1, "\n", 1)                       = 1
select(0, NULL, NULL, NULL, {60, 0})    = ? ERESTARTNOHAND (To be restarted if no handler)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=155, si_uid=0, si_status=0, si_utime=7, si_stime=3} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
write(1, "got SIGCHLD", 11)             = 11
write(1, "\n", 1)                       = 1
wait4(155, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 155
write(1, "PID=155 exited with code=0", 26) = 26
write(1, "\n", 1)                       = 1
wait4(174, 0x7ffe08efa8bc, WNOHANG, NULL) = 0
wait4(193, 0x7ffe08efa8bc, WNOHANG, NULL) = 0
select(0, NULL, NULL, NULL, {60, 0})    = ? ERESTARTNOHAND (To be restarted if no handler)
--- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=0, si_uid=0} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
write(1, "got SIGHUP", 10)              = 10
write(1, "\n", 1)                       = 1
write(1, "forking and execing new child pr"..., 49) = 49
write(1, "\n", 1)                       = 1
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f2154e4b9d0) = 212
write(1, "forked new child process with PI"..., 37) = 37
write(1, "\n", 1)                       = 1
select(0, NULL, NULL, NULL, {60, 0})    = ? ERESTARTNOHAND (To be restarted if no handler)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=174, si_uid=0, si_status=0, si_utime=3, si_stime=1} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
write(1, "got SIGCHLD", 11)             = 11
write(1, "\n", 1)                       = 1
wait4(174, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 174
write(1, "PID=174 exited with code=0", 26) = 26
write(1, "\n", 1)                       = 1
wait4(193, 0x7ffe08efa8bc, WNOHANG, NULL) = 0
wait4(212, 0x7ffe08efa8bc, WNOHANG, NULL) = 0
select(0, NULL, NULL, NULL, {60, 0})    = ? ERESTARTNOHAND (To be restarted if no handler)
--- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=0, si_uid=0} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
write(1, "got SIGHUP", 10)              = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=0, si_uid=0} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
write(1, "got SIGHUP", 10)              = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=0, si_uid=0} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
write(1, "got SIGHUP", 10)              = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=0, si_uid=0} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
write(1, "got SIGHUP", 10)              = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=0, si_uid=0} ---
rt_sigreturn({mask=[]})                 = -1 EINTR (Interrupted system call)
write(1, "got SIGHUP", 10)              = ? ERESTARTSYS (To be restarted if SA_RESTART is set)

Snippet of the last bits of logs before it died
[2019-08-08 01:05:22.822][212][debug][http] [source/common/http/conn_manager_impl.cc:600] [C6][S18271715739972951314] request headers complete (end_stream=true):
':authority', '<IP_ADDRESS>:443'
':path', '/ready'
':method', 'GET'
'user-agent', 'Consul Health Check'
'accept', 'text/plain, text/*, */*'
'accept-encoding', 'gzip'
'x-forwarded-proto', 'https'
'x-request-id', '12345'
'x-envoy-expected-rq-timeout-ms', '15000'
'content-length', '0'

[2019-08-08 01:05:22.822][212][debug][http] [source/common/http/conn_manager_impl.cc:1092] [C6][S18271715739972951314] request end stream
[2019-08-08 01:05:22.822][212][debug][admin] [source/server/http/admin.cc:1178] [C6][S18271715739972951314] request complete: path: /ready
[2019-08-08 01:05:22.822][212][debug][http] [source/common/http/conn_manager_impl.cc:1359] [C6][S18271715739972951314] encoding headers via codec (end_stream=false):
':status', '200'
'content-type', 'text/plain; charset=UTF-8'
'cache-control', 'no-cache, max-age=0'
'x-content-type-options', 'nosniff'
'date', 'Thu, 08 Aug 2019 01:05:22 GMT'
'server', 'envoy'

[2019-08-08 01:05:22.822][212][trace][connection] [source/common/network/connection_impl.cc:392] [C6] writing 209 bytes, end_stream false
[2019-08-08 01:05:22.822][212][trace][http] [source/common/http/conn_manager_impl.cc:1497] [C6][S18271715739972951314] encoding data via codec (size=5 end_stream=true)
[2019-08-08 01:05:22.822][212][trace][connection] [source/common/network/connection_impl.cc:392] [C6] writing 15 bytes, end_stream false
[2019-08-08 01:05:22.822][212][trace][main] [source/common/event/dispatcher_impl.cc:158] item added to deferred deletion list (size=1)
[2019-08-08 01:05:22.822][212][trace][http] [source/common/http/conn_manager_impl.cc:857] [C6][S18271715739972951314] decode headers called: filter=0x3346000 status=1
[2019-08-08 01:05:22.822][212][trace][http] [source/common/http/http1/codec_impl.cc:387] [C6] parsed 272 bytes
[2019-08-08 01:05:22.822][212][trace][connection] [source/common/network/connection_impl.cc:456] [C6] socket event: 2
[2019-08-08 01:05:22.822][212][trace][connection] [source/common/network/connection_impl.cc:541] [C6] write ready
[2019-08-08 01:05:22.822][212][trace][connection] [source/common/network/raw_buffer_socket.cc:66] [C6] write returns: 224
[2019-08-08 01:05:22.822][228][trace][connection] [source/common/network/connection_impl.cc:456] [C5] socket event: 3
[2019-08-08 01:05:22.822][228][trace][connection] [source/common/network/connection_impl.cc:541] [C5] write ready
[2019-08-08 01:05:22.822][228][trace][connection] [source/common/network/connection_impl.cc:494] [C5] read ready
[2019-08-08 01:05:22.822][228][trace][connection] [source/common/network/raw_buffer_socket.cc:23] [C5] read returns: 224
[2019-08-08 01:05:22.822][228][trace][connection] [source/common/network/raw_buffer_socket.cc:37] [C5] read error: Resource temporarily unavailable
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/http1/codec_impl.cc:366] [C5] parsing 224 bytes
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/http1/codec_impl.cc:479] [C5] message begin
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C5] completed header: key=content-type value=text/plain; charset=UTF-8
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C5] completed header: key=cache-control value=no-cache, max-age=0
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C5] completed header: key=x-content-type-options value=nosniff
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C5] completed header: key=date value=Thu, 08 Aug 2019 01:05:22 GMT
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C5] completed header: key=server value=envoy
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/http1/codec_impl.cc:445] [C5] headers complete
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C5] completed header: key=transfer-encoding value=chunked
[2019-08-08 01:05:22.822][228][debug][router] [source/common/router/router.cc:994] [C4][S14432783368273822899] upstream headers complete: end_stream=false
[2019-08-08 01:05:22.822][228][trace][http] [source/common/http/conn_manager_impl.cc:1254] [C4][S14432783368273822899] encode headers called: filter=0x33337c0 status=0
[2019-08-08 01:05:22.822][228][debug][http] [source/common/http/conn_manager_impl.cc:1297] [C4][S14432783368273822899] closing connection due to connection close header
[2019-08-08 01:05:22.823][228][debug][http] [source/common/http/conn_manager_impl.cc:1359] [C4][S14432783368273822899] encoding headers via codec (end_stream=false):
':status', '200'
'content-type', 'text/plain; charset=UTF-8'
'cache-control', 'no-cache, max-age=0'
'x-content-type-options', 'nosniff'
'date', 'Thu, 08 Aug 2019 01:05:22 GMT'
'server', 'envoy'
'x-envoy-upstream-service-time', '4'
'connection', 'close'

[2019-08-08 01:05:22.823][228][trace][connection] [source/common/network/connection_impl.cc:392] [C4] writing 262 bytes, end_stream false
[2019-08-08 01:05:22.823][228][trace][http] [source/common/http/conn_manager_impl.cc:1484] [C4][S14432783368273822899] encode data called: filter=0x33337c0 status=0
[2019-08-08 01:05:22.823][228][trace][http] [source/common/http/conn_manager_impl.cc:1497] [C4][S14432783368273822899] encoding data via codec (size=5 end_stream=false)
[2019-08-08 01:05:22.823][228][trace][connection] [source/common/network/connection_impl.cc:392] [C4] writing 10 bytes, end_stream false
[2019-08-08 01:05:22.823][228][trace][http] [source/common/http/http1/codec_impl.cc:466] [C5] message complete
[2019-08-08 01:05:22.823][228][trace][http] [source/common/http/http1/codec_impl.cc:740] [C5] message complete
[2019-08-08 01:05:22.823][228][debug][client] [source/common/http/codec_client.cc:95] [C5] response complete
[2019-08-08 01:05:22.823][228][trace][main] [source/common/event/dispatcher_impl.cc:158] item added to deferred deletion list (size=1)
[2019-08-08 01:05:22.823][228][trace][http] [source/common/http/conn_manager_impl.cc:1484] [C4][S14432783368273822899] encode data called: filter=0x33337c0 status=0
[2019-08-08 01:05:22.823][228][trace][http] [source/common/http/conn_manager_impl.cc:1497] [C4][S14432783368273822899] encoding data via codec (size=0 end_stream=true)
[2019-08-08 01:05:22.823][228][trace][connection] [source/common/network/connection_impl.cc:392] [C4] writing 5 bytes, end_stream false
[2019-08-08 01:05:22.823][228][trace][main] [source/common/event/dispatcher_impl.cc:158] item added to deferred deletion list (size=2)
[2019-08-08 01:05:22.823][228][debug][connection] [source/common/network/connection_impl.cc:101] [C4] closing data_to_write=277 type=2
[2019-08-08 01:05:22.823][228][debug][connection] [source/common/network/connection_impl.cc:651] [C4] setting delayed close timer with timeout 1000 ms
[2019-08-08 01:05:22.823][228][debug][pool] [source/common/http/http1/conn_pool.cc:198] [C5] response complete
[2019-08-08 01:05:22.823][228][debug][pool] [source/common/http/http1/conn_pool.cc:236] [C5] moving to ready
[2019-08-08 01:05:22.823][228][trace][http] [source/common/http/http1/codec_impl.cc:387] [C5] parsed 224 bytes
[2019-08-08 01:05:22.823][228][trace][main] [source/common/event/dispatcher_impl.cc:76] clearing deferred deletion list (size=2)
[2019-08-08 01:05:22.823][228][trace][connection] [source/common/network/connection_impl.cc:456] [C4] socket event: 2
[2019-08-08 01:05:22.823][228][trace][connection] [source/common/network/connection_impl.cc:541] [C4] write ready
[2019-08-08 01:05:22.823][228][trace][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:234] [C4] ssl write returns: 277
[2019-08-08 01:05:22.823][228][debug][connection] [source/common/network/connection_impl.cc:580] [C4] write flush complete
[2019-08-08 01:05:22.822][212][trace][main] [source/common/event/dispatcher_impl.cc:76] clearing deferred deletion list (size=1)
[2019-08-08 01:05:22.826][228][trace][connection] [source/common/network/connection_impl.cc:456] [C4] socket event: 6
[2019-08-08 01:05:22.826][228][debug][connection] [source/common/network/connection_impl.cc:477] [C4] remote early close
[2019-08-08 01:05:22.826][228][debug][connection] [source/common/network/connection_impl.cc:188] [C4] closing socket: 0
[2019-08-08 01:05:22.826][228][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:270] [C4] SSL shutdown: rc=0
[2019-08-08 01:05:22.826][228][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:201] [C4]
[2019-08-08 01:05:22.826][228][debug][main] [source/server/connection_handler_impl.cc:80] [C4] adding to cleanup list
[2019-08-08 01:05:22.826][228][trace][main] [source/common/event/dispatcher_impl.cc:158] item added to deferred deletion list (size=1)
[2019-08-08 01:05:22.826][228][trace][main] [source/common/event/dispatcher_impl.cc:76] clearing deferred deletion list (size=1)
[2019-08-08 01:05:22.900][228][trace][connection] [source/common/network/connection_impl.cc:456] [C0] socket event: 3
[2019-08-08 01:05:22.900][228][trace][connection] [source/common/network/connection_impl.cc:541] [C0] write ready
[2019-08-08 01:05:22.900][228][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:168] [C0] handshake error: 2
[2019-08-08 01:05:22.900][228][trace][connection] [source/common/network/connection_impl.cc:494] [C0] read ready
[2019-08-08 01:05:22.900][228][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:168] [C0] handshake error: 2
[2019-08-08 01:05:23.101][228][trace][connection] [source/common/network/connection_impl.cc:456] [C0] socket event: 3
[2019-08-08 01:05:23.101][228][trace][connection] [source/common/network/connection_impl.cc:541] [C0] write ready
[2019-08-08 01:05:23.101][228][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:157] [C0] handshake complete
[2019-08-08 01:05:23.101][228][trace][connection] [source/common/network/connection_impl.cc:494] [C0] read ready
[2019-08-08 01:05:23.101][228][trace][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:73] [C0] ssl read returns: -1
[2019-08-08 01:05:23.101][228][trace][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:148] [C0] ssl read 0 bytes into 0 slices
[2019-08-08 01:05:23.139][228][debug][main] [source/server/connection_handler_impl.cc:280] [C7] new connection
[2019-08-08 01:05:23.139][228][trace][connection] [source/common/network/connection_impl.cc:456] [C7] socket event: 3
[2019-08-08 01:05:23.139][228][trace][connection] [source/common/network/connection_impl.cc:541] [C7] write ready
[2019-08-08 01:05:23.139][228][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:168] [C7] handshake error: 5
[2019-08-08 01:05:23.139][228][debug][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:201] [C7]
[2019-08-08 01:05:23.139][228][debug][connection] [source/common/network/connection_impl.cc:188] [C7] closing socket: 0
[2019-08-08 01:05:23.139][228][debug][main] [source/server/connection_handler_impl.cc:80] [C7] adding to cleanup list
[2019-08-08 01:05:23.139][228][trace][main] [source/common/event/dispatcher_impl.cc:158] item added to deferred deletion list (size=1)
[2019-08-08 01:05:23.139][228][trace][main] [source/common/event/dispatcher_impl.cc:76] clearing deferred deletion list (size=1)
[2019-08-08 01:05:23.263][228][trace][connection] [source/common/network/connection_impl.cc:456] [C0] socket event: 3
[2019-08-08 01:05:23.263][228][trace][connection] [source/common/network/connection_impl.cc:541] [C0] write ready
[2019-08-08 01:05:23.263][228][trace][connection] [source/common/network/connection_impl.cc:494] [C0] read ready
[2019-08-08 01:05:23.263][228][trace][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:73] [C0] ssl read returns: 133
[2019-08-08 01:05:23.263][228][trace][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:73] [C0] ssl read returns: -1
[2019-08-08 01:05:23.263][228][trace][connection] [source/extensions/transport_sockets/tls/ssl_socket.cc:148] [C0] ssl read 133 bytes into 1 slices
[2019-08-08 01:05:23.263][228][trace][http] [source/common/http/http1/codec_impl.cc:366] [C0] parsing 133 bytes
[2019-08-08 01:05:23.263][228][trace][http] [source/common/http/http1/codec_impl.cc:479] [C0] message begin
[2019-08-08 01:05:23.263][228][debug][http] [source/common/http/conn_manager_impl.cc:246] [C0] new stream
[2019-08-08 01:05:23.264][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C0] completed header: key=Host value=<IP_ADDRESS>:443
[2019-08-08 01:05:23.264][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C0] completed header: key=Connection value=close
[2019-08-08 01:05:23.264][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C0] completed header: key=User-Agent value=ELB-HealthChecker/2.0
[2019-08-08 01:05:23.264][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C0] completed header: key=Accept value=*/*
[2019-08-08 01:05:23.264][228][trace][http] [source/common/http/http1/codec_impl.cc:445] [C0] headers complete
[2019-08-08 01:05:23.264][228][trace][http] [source/common/http/http1/codec_impl.cc:334] [C0] completed header: key=Accept-Encoding value=*

I think it's quite likely there are bugs and race conditions still when Envoy is repeatedly hot restarted. I don't think scenario has gotten much production usage. I'm marking help wanted in case someone wants to take a look. cc @derekargueta if you are looking to debug something this might be a good one to work on.

@mattklein123 yeah feel free to assign to me. We use hot restart fairly extensively for our non-k8s infra so it'd be nice to shake out more bugs.


updated apache-directory-studio (2.0.0.v20150606-M9)

Fixes #12110.

almost...
$ brew install Caskroom/cask/apache-directory-studio
==> brew cask install Caskroom/cask/apache-directory-studio
==> Downloading http://www.us.apache.org/dist/directory/studio/2.0.0.v20150606-M9/ApacheDirectoryStudio-2.0.0.v2015
######################################################################## 100.0%
Error: It seems the symlink source is not there: '/opt/homebrew-cask/Caskroom/apache-directory-studio/2.0.0.v20150606-M9/Apache Directory Studio.app'

That one’s easier to fix. Just download the package, uncompress it, see where the app is and correct it. Care to take a stab at it?

I would but I am relatively new to Git and it may be an actual stab more than progress...

Well, you won’t get better if you don’t try. Like I said, it’s an easy fix. I can help you if you submit a PR, but I won’t fix that part anytime soon.

Can you give me some hints on where to start with the Cask sequencing?  The .rb file doesn't reference any symlinks or download paths...  I checked the '/opt/homebrew-cask/Caskroom/' folder and there isn't anything in there...

Just look at url and app. app is assuming an Apache Directory Studio.app at the root of the package downloaded by url. That error simply means it isn’t there. Likely, it either changed names or is now under a subdirectory.

Sorry for the dumb questions but which package would I need to look at to look for the url and app?

apache-directory-studio.rb.

I forked it, cloned it locally, edited the URL, committed and pushed it back up to remote server...  how do I merge my fork into the actual project?

You don’t. You submit a PR, and the team merges it.

Hmm... did I get it right?

Yes, it was a correct edit. However, it won’t fix the error you were getting, since that is to do with app.

Yes, it was a correct edit. However, it won’t fix the error you were getting, since that is to do with app. This is what was needed. Thank you for working on it, nonetheless, it was a correct contribution.


Can't get odd, even, first, last... pseudo class

This is my tailwind.config.js:
     variants: {             backgroundColor: ['responsive', 'group-hover', 'first', 'last', 'odd', 'even', 'hover', 'focus', 'active', 'visited', 'disabled'],         },
And this my html:
 <div v-for="item in itemList" class="border-t text-gray-600 bg-yellow-500 odd:bg-gray-200">          item         </div>
Does not work for me any pseudo-class that I add in taildwind.config.css.
Please, help me!

Hmm should work, are you sure your CSS is being compiled using your Tailwind config?
Here's a working example:
https://tailwind.run/DFcetn


[plugin-images] no manifest found

I've added the plugin configuration like below, everything else in elder.config.js is unchanged from demo project.
'@elderjs/plugin-images': {
      debug: true, // help with debugging
      s3: {
        USE_S3_HOSTING: false, // images will be hosted on s3 instead of inserting relative url.
      },

      folders: [
        {
          src: '/images/', // where your original images are. Relative to rootDir/process.cwd() defined in your elder.config.js.
          output: '/images/', // where files should be put within the distDir defined in your elder.config.js.
        },
      ],
      widths: [1280, 992, 768, 576, 400, 350, 200], // Sizes the images will be resized to.
      fileTypes: ['webp'], // file types in addition to jpeg/png.
      imageManifest: '/images/ejs-image-manifest.json', // relative to root dir or an async function
      cacheFolder: '/images/sizes/', // relative to root dir
      scales: [1, 2], // 1x, 2x sizes
      svg: false, // experimental... you can play with it.
      quality: 70, // quality to save the resized images in.
      cssString: ``, // if you want to overwrite the default css added
      addVanillaLazy: true, // if you want to disable the lazyload plugin and add your own.
      vanillaLazyLocation: '/static/vanillaLazy.min.js', // vanillaLazy's location relative to the root of the site. The plugin will move it to your public folder for you.
    }

But when I run yarn start, I get
> Elder.js running on http://localhost:3000
elderjs-plugin-images: no manifest found at /Users/path/to/project/elderjs-app/images/ejs-image-manifest.json
elderjs-plugin-images: Done.

There is no manifest generated anywhere  – what am I doing wrong?
The documentation says the default file structure is
root (which is /Users/path/to/project/elderjs-app/, right?)
| -- images
| -- | -- image files
| -- | -- ejs-image-manifest.json
| -- | -- sizes
| -- | -- | -- (resized images)

Thank you for any pointers!

The manifest should be generated on the first run.
Are there image files in the /images/ folder?
If not, we'll need more debug information such as OS, etc.

Seems like just missing a * in folders src to me. It should be src: '/images/*' instead.

Yes, there's image files in the folder, and when I do `src: '/images/*' instead nothing seems to happen.
I'm running this on macOS 11.4, with elderjs 1.5.5 and plugin-images 1.1.6
If you need any other information I'm very happy to get it, you'll just need to tell me how 😅

can you share your debug output from the plugin, eg this is. mine
elderjs-plugin-images: Processing 2 local source images.
s3 settings undefined
Completed /images/github_action-ejs-1000. {
  width: 1000,
  height: 430,

Sure!
yarn build
yarn run v1.22.10
warning ../../package.json: No license field
$ node ./src/cleanPublic.js && npm run build:rollup && npm run build:html
 Clearing out public folder.

><EMAIL_ADDRESS>build:rollup
> rollup -c

Elder.js using rollup in production mode.

./node_modules/intersection-observer/intersection-observer.js → public/_elderjs/static/intersection-observer.js...
created public/_elderjs/static/intersection-observer.js in 206ms

src/layouts/*.svelte, src/routes/**/*.svelte, src/components/**/*.svelte → ___ELDER___/compiled...
(!) Plugin replace: @rollup/plugin-replace: 'preventAssignment' currently defaults to false. It is recommended to set this option to `true`, as the next major version will default this option to `true`.
created ___ELDER___/compiled in 1.1s

src/components/**/*.svelte → public/_elderjs/svelte...
(!) Plugin replace: @rollup/plugin-replace: 'preventAssignment' currently defaults to false. It is recommended to set this option to `true`, as the next major version will default this option to `true`.
created public/_elderjs/svelte in 1.1s

><EMAIL_ADDRESS>build:html
> node ./src/build.js

elderjs-plugin-images: no manifest found at /path/to/project_directory/images/ejs-image-manifest.json
elderjs-plugin-images: Done.


GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: User of caller and user of subject differs

After an upgrade to xrdp 0.9.2 with xorgxrdp v0.2.2 we get this error in some xrdp session, but not all: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: User of caller and user of subject differs.
Does anyone have an idea what could cause that and how to solve it?

I think that is not a xrdp's issue.


About the SDXL model location of shared COMFYUI?

Hello, thank you for your work. I have installed it smoothly. Since the original COMFYUI is installed on the PC, I also downloaded XL's BASE,REIF model. So the instructions follow, skipping the COMFY and model download steps. However, SwarmUI still need me to move the XL model to the SwarmUI MODEL folder in order to use it normally. I pointed the model folder path to the COMFYUI MODEL folder in the server settings. It does not work. It cannot read XL model files. Can you tell me how to solve the problem? Now I can only copy one copy of the two XL models for SWARMUI to use alone.

You can point both UIs to the same model path -- edit swarm's path in Server -> Server Configuration, if you use comfy self-start it will automatically tell comfy about swarm's path settings so you don't even need to worry about configuring that half


Wrong API base

https://github.com/github-tools/github/blob/master/lib/Requestable.js#L76
If path is '/repo//', should still add api base to the path.

I don't think there would be a situation where there would be double slashes in the URL. For repository names, if / is in the name, it gets replaced with -.

I thought it could be nicer if the method could tolerant some mistakes. The double slash mistake could be corrected when users passing params anyway. Thanks f
or your reply.


Reorder reads and writes for itemstats aggregation.

Reorder reads and writes for itemstats aggregation to leverage SIMD instructions, improving code generation by ensuring that the variables are accessed in the order they are declared in memory. This change optimizes data locality and enhances the compiler's ability to generate efficient vectorized code.
See https://godbolt.org/z/7GGEM1e7j for a comparison of the generated assembly.
No functional changes.

This is cool, thanks!

released in 1.6.28


lit-html API docs are missing information

There's been a regression in API doc generation, comments are no longer showing up.

Related to https://github.com/TypeStrong/typedoc/issues/1159 ... Looks like when we went to Eleventy, we accidentally ended up using a newer version of handlebars that caused the issue. Updating to a newer Typedoc should help.


Minor clean up for env servlet status methods.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#827  👈
#825
main

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

Join @rohinb2 and the rest of your teammates on  Graphite

Merge activity

May 23, 1:50 PM EDT: @rohinb2 started a stack merge that includes this pull request via Graphite.


Option of empty wrapper

Would it be possible to have have an option available for an empty wrapper? Something that looks like this:
Current examples:
(FROG-1234)
{FROG-1234}
What I'm looking for is just have no wrapper.
FROG-1234

Great suggestion, this option is definitely lacking. Give me some time, it will be added soon. 👍

@moreorover Version 2.2.0 with the No wrapper option has just been published. If you enjoy using this plugin, please support us by leaving a review or rating


fix(android): set initial page natively

Summary
Closes #400
On Android, setting initial page was implemented asynchronously on React side and native onPageSelected was fired twice (with default value and then with proper one).
This PR moves the implementation directly to ViewPager2 API.

Test Plan

What's required for testing (prerequisites)?
Setup Basic Example with initialPage={1} and with onPageSelected={(e: any) => console.log(e.nativeEvent.position)}
What are the steps to reproduce (after prerequisites)?
Open the Example and see what pages are reported in onPageSelected callback
Compatibility

OS
Implemented

iOS
❌

Android
✅

Checklist

[x] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I updated the typed files (TS and Flow)

https://github.com/callstack/react-native-pager-view/releases/tag/v5.3.3


Password parse issue, problematic '&'

I had a problem when creating/updating issues (internal error 500) when using a gmail account to send emails and after some debugging I realized that the problem was an "incorrect" password.
I used an env file with the following (I tried using the -e switch as well):
<EMAIL_ADDRESS>SMTP_PASS='h3t2&C52V5!#207R6kL'

But on the /home/redmine/redmine/config/initializers/smtp_settings.rb file, inside the running container, I've found:
    :user_name            =><EMAIL_ADDRESS>    :password             => "'h3t2{{SMTP_PASS}}C52V5!#207R6kL'",

It seems that the & character is causing problems here.
This happens whether if I use quotes or not in the password field.
Note: the account and password are dummy ones :)

@ivanalejandro0 due to the nature of bash certain characters need to be escaped. & is one of them. stick a \ character before the & -> \& and it should resolve the issue.

I thought it could be because of that.
I'm not sure if someone should do something to fix this...

docker: it makes sense to escape in the command line (-e), but maybe should/could read raw characters from the env file?
this dockerfile: maybe you should handle the password differently since the {{SMTP_PASS}} string is being placed inside the password.

In any case, maybe it would make sense to note this in your docs in case of someone has the same issue. Or just close this issue since it can be tagged as 'misuse' and if someone else has this problem can be pointed towards this.
Thanks

@ivanalejandro0 the & issue is purely a bash thing and yes docker could probably handle such case if it was in the position to do so. Meaning adding something like -e "VAR=a&b" in the docker command is first interpreted by bash before it can be interpreted by docker. Using single quote helps in such cases. i.e. -e 'VAR=a&b'
Similarly nothing can be done about this in the docker image because it has already been interpreted by bash at this point.

hmm, that's odd. I remember using single quotes and have redmine failing (before I realize which was the problem so I can't make sure).
Anyway, this was mainly a user problem so feel free to close this.


Nav refactoring

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
✔

Please let me know when it's ready for review.

Please let me know when it's ready for review.

Already now, thx

I've kept the old widgets for now, so I can peek around and not forget any functionality

It looks good at first, some observations.

You can use enums for constants and avoid psalm-suppress, so the user can use them too.
PSALM needs to be fixed.
What is the difference between Menu::class and NavTabs::class, you couldn't have a single widget for both cases.
TabPane::class what do we mean by this widget.
You need to add phpdoc to all widgets.

It looks good at first, some observations.

You can use enums for constants and avoid psalm-suppress, so the user can use them too.
PSALM needs to be fixed.
What is the difference between Menu::class and NavTabs::class, you couldn't have a single widget for both cases.
TabPane::class what do we mean by this widget.
You need to add phpdoc to all widgets.
Move enums to a different directory than widgets, it could be Enum.
Move abstract class to a diffirent directory than widgets, it could be Base.

Yes, i think about this, but I didn't do the rough draft
I can't. Locally, I have a psalm configuration error
Menu (Nav in future) - just for a menu with links with no content. If you combine it with tabs, you don't need abstraction, but you need to mark the necessity to render content somehow
TabPane(l) - An auxiliary widget to indicate that a link/tab has content. TabPane always contains a link associated with it and they customize each other in this case. NavLink can be either a standalone tab link or content (in these cases the link attributes are not set).
We should probably get this to a satisfying conclusion first.  ))
Yes

Yes, the code has improved a lot, some observations.

Add phpdoc to classes and methods.

If you don't have any problems i can fix the static analysis and upload the changes, then send the PR for review and merge it, and continue improving this package.

Yes, the code has improved a lot, some observations.

Add phpdoc to classes and methods.

If you don't have any problems i can fix the static analysis and upload the changes, then send the PR for review and merge it, and continue improving this package.

Yes. Later i can show you my psalm config error. But i think - it last step. By the way - how do you think about move that or similar widgets/components (where few files) in sub-directory?

I think that widgets in the root directory are fine, because we have a shorter namespace, ideally everything that is not a widget can be moved, anyway let's ask for opinions from @samdark @vjik

I think that widgets in the root directory are fine, because we have a shorter namespace, ideally everything that is not a widget can be moved, anyway let's ask for opinions from @samdark @vjik

What I mean is. Now we get a navigation widget consisting of 6 files:

AbstractNav
Menu|Nav
NavTabs|Tabs
NavLink
NavItem
TabPane

For example, you can refactor dropdown somethink like

If widgets can be used with other widgets, then of course i would rename them, one thing we want to do is replace the array items in all widgets with one widget.

That my pslam error

It would be great if we convert NavItem to Item, and add support for icons, template to build in link as we wanted, support for container by link, with these changes Item::widget would be agnostic, and could be used in all widgets that need a menu.
We could do it in a separate PR.

That my pslam error

It looks like you either have a different version of psalm installed globally, or you have an outdated version of psalm that the package uses.

That my pslam error

It looks like you either have a different version of psalm installed globally, or you have an outdated version of psalm that the package uses.

Maybe i have error with PHP 8.3

That my pslam error

It looks like you either have a different version of psalm installed globally, or you have an outdated version of psalm that the package uses.

It would be great if we convert NavItem::widget() to Item::widget(), and add support for icons, template to build in link as we wanted, support for container by link, with these changes Item::widget() would be agnostic, and could be used in all widgets that need a menu.
We could do it in a separate PR and thus eliminate the array methods from all the widgets.

Maybe rename NavItem -> Item, NavLink -> Link. It strongly looks like this could be used in conjunction with Dropdown

That my pslam error

It looks like you either have a different version of psalm installed globally, or you have an outdated version of psalm that the package uses.

It would be great if we convert NavItem::widget() to Item::widget(), and add support for icons, template to build in link as we wanted, support for container by link, with these changes Item::widget() would be agnostic, and could be used in all widgets that need a menu.
We could do it in a separate PR and thus eliminate the array methods from all the widgets.

Maybe rename NavItem -> Item, NavLink -> Link. It strongly looks like this could be used in conjunction with Dropdown in future
Dropdown::widget()
     ->items(
             Link::widget(),
             Link::widget()->item(Item::widget())
)

Default Dropdown list can generally be inherited from AbstractNav

If we can use it in all the widgets that generate a menu, which are several, let's do it.

@terabytesoftw can you look and help?

What is missing to finish the PR?

What is missing to finish the PR?

It's works, so i need your solution ))
There are a few things I don't like related to immutability. But as a prototype, it's a 100% workable option

I'm thinking of merging this PR into a develop branch, so that the missing stuff can be addressed, do you agree?

Yes. Two things I don't like:

How I solved the psalm tests in places
The setParent method is not immutable. If you make it immutable - it gets lost in all cloning or starts referencing another object

I'm thinking of merging this PR into a develop branch, so that the missing stuff can be addressed, do you agree?

Yes. Two things I don't like:

How I solved the psalm tests in places
The setParent method is not immutable. If you make it immutable - it gets lost in all cloning or starts referencing another object

No problem, i'll solve it in the develop branch.


Plot waterbody

@dblodgett-usgs , I added functionality to plot_nhdplus.R to plot on and off-network waterbodies with differing style and also added function to find waterbody outlet for a given lake (and provide message if lake has not outlet / off-network) - this should address both #110 and #125. I'm used to doing PRs on my own repos and guessing there are some loose ends here so opened as a draft PR.

Yep, I use test_that - I'll try to take a look at this today and add some test coverage - might be later today / tomorrow before I can finish up.

Added test coverage and tweaked a few things - I was still finding a few issues affecting other tests, I think I mostly have addressed but want to check a bit more.  Still not sure about the way plot_waterbodies and flowline_only parameters are used together now in plot_nhdplus, may want to look at combining / dropping one of these parameters?

I think for now, I'd say the "flowline_only" parameter should stay and be the switch to skip everything other than flowlines. I actually wonder if we want to just plot waterbodies always and not include a parameter to turn that on and off?

@dblodgett-usgs , that is what I was thinking as well as I dug into it - just have the 'flowline_only' parameter and leverage that rather than introducing the 'plot_waterbodies' parameter.  I think remaining fails are some simple things I'm missing - I can strip out the 'plot_waterbodies' parameter in the branch and push again and see where we're at if that sounds good?  Hopefully can get to shortly...

Sounds fine -- and like I said above, if you want a hand, I could help push this over the finish line.


Hope to support running local models

Feature request
Hi,
It would be nice to have support for the ability to run local models for dart/flutter, like  llam.rn.
Motivation
There are many local models that can run on mobile devices now. I think if we can support this feature, it will greatly help more users experience offline AI capabilities.
Your contribution
I'm not very familiar with C++, but I'll do my best if needed.

Hey @xcc3641,
Thanks for bringing up this topic.
Currently we only support running local models via Ollama (on desktop).
For mobile, we have several open issues:

https://github.com/davidmigloz/langchain_dart/issues/432
https://github.com/davidmigloz/langchain_dart/issues/317
https://github.com/davidmigloz/langchain_dart/issues/361

I'll close this issue in favour of those.


incorrect data slice returned for negative longitudes

Reported by Andrew Wittenberg on 27 Oct 2006 16:51 UTC
This one's really screwy.  An XY slice plotted erroneously as YT!  Not new in
v6.0, this bug is present in v5.81 too.  Perhaps related to bug 1008?
Strangely, changing the region slightly makes the problem go away.
    NOAA/PMEL TMAP
    FERRET v6
    Linux(g77) 2.4.21-32 - 08/23/06
    26-Oct-06 22:07

yes? use monthly_navy_winds
yes? set region/x=-260:-180
yes? shade uwnd[! displays erroneously as YT, and gives a note!
*** NOTE: FERRET is more efficient if regions are fully specified
*** NOTE: X axis limits are unspecified - possibly others, too
yes? shade uwndl=2 ! YT again, and this time all data are missing!
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1465

Comment by<EMAIL_ADDRESS>on 27 Oct 2006 16:52 UTC
*** This bug has been marked as a duplicate of 1463 ***


compaction task hangs without error

Recently in our testing pipeline, we found that some compaction tasks hang for a long time (>45min) without any error. Although the meta-side task expiration mechanism can make sure task will be forced cancelled if no progress has been made for some time, it is worth investigating why the task can hang at the first place.

Note that the recent occurrences are all in the test run when testing switching to opendal s3:

nexmark-kafka-benchmark-20240221-075859
nexmark-kafka-benchmark-20240220-132426
nexmark-kafka-benchmark-20240220-132306

cc @Li0k @wcy-fdu

This not only happen with OpenDAL s3
https://github.com/risingwavelabs/risingwave/issues/15169
https://buildkite.com/risingwave-test/nexmark-benchmark/builds/3092
q17: https://grafana.test.risingwave-cloud.xyz/d/EpkBw5W4k/risingwave-dev-dashboard?orgId=1&var-datasource=Prometheus: test-useast1-eks-a&from=1708450421000&to=1708452226000&var-namespace=nexmark-bs-15-105-daily-20240220
q19: https://grafana.test.risingwave-cloud.xyz/d/EpkBw5W4k/risingwave-dev-dashboard?orgId=1&var-datasource=Prometheus: test-useast1-eks-a&from=1708454470000&to=1708456275000&var-namespace=nexmark-bs-15-105-daily-20240220

This not only happen with OpenDAL s3 #15169 https://buildkite.com/risingwave-test/nexmark-benchmark/builds/3092
q17: https://grafana.test.risingwave-cloud.xyz/d/EpkBw5W4k/risingwave-dev-dashboard?orgId=1&var-datasource=Prometheus: test-useast1-eks-a&from=1708450421000&to=1708452226000&var-namespace=nexmark-bs-15-105-daily-20240220
q19: https://grafana.test.risingwave-cloud.xyz/d/EpkBw5W4k/risingwave-dev-dashboard?orgId=1&var-datasource=Prometheus: test-useast1-eks-a&from=1708454470000&to=1708456275000&var-namespace=nexmark-bs-15-105-daily-20240220

Search for the log covering the full run of the test. I didn't see duration too long happening in this test.

Another issue where compute node hangs reading block. #15239

I can't read the logs posted in comments, so I don't know what happened yet.
Here are ideas I have:

Enable keep_alive and other http settings for opendal like we do for aws s3 sdk:

https://github.com/risingwavelabs/risingwave/blob/e19aaecb1843dc9c3b309ecd8b6e863435a4fa98/src/object_store/src/object/s3.rs#L552-L567

In some edge cases we found that http connection could hang forever, please consider enable opendal's timeout layer (or do something over the object_store trait): https://opendal.apache.org/docs/rust/opendal/layers/struct.TimeoutLayer.html

It confuses me that the timeout does not work when IO hang @Xuanwo
        let future = async {
            self.inner
                .read(path, range)
                .verbose_instrument_await("object_store_read")
                .await
        };
        let res = match self.read_timeout.as_ref() {
            None => future.await,
            Some(read_timeout) => tokio::time::timeout(*read_timeout, future)
                .await
                .unwrap_or_else(|_| Err(ObjectError::internal("read timeout"))),
        };

I can't read the logs posted in comments, so I don't know what happened yet.
Here are ideas I have:

Enable keep_alive and other http settings for opendal like we do for aws s3 sdk:

https://github.com/risingwavelabs/risingwave/blob/e19aaecb1843dc9c3b309ecd8b6e863435a4fa98/src/object_store/src/object/s3.rs#L552-L567

In some edge cases we found that http connection could hang forever, please consider enable opendal's timeout layer (or do something over the object_store trait): https://opendal.apache.org/docs/rust/opendal/layers/struct.TimeoutLayer.html

The only opendal log we saw in the testing are related to retry:

However, I don't think the retry logs are relevant to this issue because when retry indicates progress on the I/O request but what we saw in this issue is that some I/O requests are stuck forever. As mentioned by @Little-Wallace, we do enable timeout on top of each I/O call by wrapping tokio::timeout (this is the reason why we didn't enable TimeoutLayer in opendal) but the tokio::timeout didn't fire after the deadline is passed, which means there is a dead lock or blocking logic somewhere causing the timeout future not be polled.

--- Compactor Traces ---
>> Compaction Task 50708-0
Compaction Task 50708 Split 0  [1843.496s]
  compact [!!! 1843.496s]
    compact_and_build_sst [!!! 1843.496s]
      rewind [!!! 1843.496s]
        object_store_streaming_read_read_bytes [!!! 1843.456s]

>> Compaction Task 51832-0
Compaction Task 51832 Split 0  [1062.498s]
  compact [!!! 1062.498s]
    compact_and_build_sst [!!! 1062.498s]
      add_full_key [!!! 1061.768s]
        object_store_streaming_upload_write_bytes [!!! 1061.768s]

Encountered Blocking of read and upload at the same time

Root cause found:
After #13618, ObjectStoreConfig is only passed to MonitoredObjectStore if the backend is S3ObjectStore, which causes no timeout for all other types of object store backend.

can close this issue ?

Please ping me when this happen again.


Determine XML import version and branch

If it's a supported version (just 3.0 for now), load the XML and proceed as usual. Otherwise, stop.

LGTM


WCAG 1.4.3: (ExpenseItIntro/Labels Name, Department "Expense Report For" view) [High Contrast 2] Contrast ratio failure for regular text

The following accessibility issue needs investigation.
App: ExpenseItIntro
Element path: Labels "Name", "Department" and their values.
Issue Details: Contrast ratio failure for regular text. Details:
Font Size = default
Font Weight=bold
How To Fix: https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html
This accessibility issue was found using Accessibility Insights for Windows, a tool that helps debug and find accessibility issues earlier. Get more information and download this tool at https://aka.ms/AccessibilityInsights.


small changes to circos tutorial

Added a warning about two Cut tools
Added a figures with axes

This looks ok but I'd like to check further when I get home.
It doesn't hurt to note the cut tools, but we've stopped noting that as much, now that we have the GTN in galaxy webhook which is highly recommended to avoid all of these issues and the "tool search" problem as well. If you haven't tried it, please do and let me know what you think!! https://docs.galaxyproject.org/en/master/_static/20.09-gtn-in-galaxy.mp4

This looks ok but I'd like to check further when I get home.
It doesn't hurt to note the cut tools, but we've stopped noting that as much, now that we have the GTN in galaxy webhook which is highly recommended to avoid all of these issues and the "tool search" problem as well. If you haven't tried it, please do and let me know what you think!! https://docs.galaxyproject.org/en/master/_static/20.09-gtn-in-galaxy.mp4

Damn this is awesome!


Update level-1-enterprise-basic-security.md

Fixed typo on line 46

@AndreaBarr Please review and merge this typo PR if possible. Thanks.

@AndreaBarr Following up.


App is crashed with next log

Could you please elaborate a bit more on how to reproduce this? Thanks!

We haven't received an instructions on how to reproduce this so we will close it. If you need further support please contact us at https://support.pusher.com/hc/en-us/requests/new


Exit shoot flow when observing extension error

This PR makes Gardener to exit the shoot reconciliation flow as soon as a step notices an error in one of resources reconciled in the seed cluster (e.g. infrastructure, etcd). Now, errors are reported quicker and not only after certain timeout has been exceeded.
Special notes for your reviewer:
Release note:

The error reporting for shoot clusters has been improved. Configuration problems or similar issues which occur during shoot reconciliation are now instantly visible in the shoot resource.

How to categorize this PR?

/area usability
/kind enhancement
/priority normal

/needs rebase
/status author-action

@rfranzke Command "/remove needs rebase" failed with "Label does not exist".

Additional Information
Redacted in public. Check backend logs.

@vlerenc FYI: https://github.com/gardener/gardener/pull/2336#issuecomment-631450535

Hmm... @rfranzke, when you submit a review, multiple events reach the bot, the first one succeeds, the next one doesn't (label is no longer set). OK, bad, not sure now how to handle that. Add is idempotent, remove is not in GitHub. Adding an added label does nothing, but removing a removed label fails. I will look into it, but not right away. Maybe I can deal with it, when I try to bundle the actions. I hope you can live with it. What I can do easily is silence the problem/not comment on error. ;-)

😄 I can certainly live with it. I forgot that /lgtm will remove these labels automatically, so I was thinking it's another problem. Thanks for looking into it.


Warning: Can't perform a React state update on an unmounted component.

I am getting this error:
Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
    at LoadingTimeout...

I have tried using useMemo and useEffect, also this error persist only for rendering PDFs. I think it is because  is unmounting and mounting..

@cyntler - I am also facing this issue while using  inside my react functional component. Can you please help. Need to use this wonderful library in my application

@vdo9 @Prakash730 Thanks for your requests but I really need to know more Informations to help. Can you provide me your code here? I have to see how you are using the library in your projects.

@cyntler  I have same error:
Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
    at LoadingTimeout (webpack://front-admin-ui/./node_modules/@cyntler/react-doc-viewer/dist/esm/components/LoadingTimout.js?:11:23)
    at Contents

My code:
import PropTypes from "prop-types";
import {withStyles} from "@mui/styles";
import {Dialog, Slide} from "@mui/material";
import {forwardRef} from "react";
import DocViewer, {DocViewerRenderers} from "@cyntler/react-doc-viewer";

const Transition = forwardRef(function Transition(props, ref) {
    return <Slide direction="up" ref={ref} {...props} />;
});

const dialogDocViewerStyle = ({});

function DialogDocViewer(props) {

    const {classes} = props;
    return (
        <Dialog
            fullScreen
            open={props.open}
            onClose={props.onClose}
            TransitionComponent={Transition}
        >
            <div>

                <DocViewer
                    documents={[{uri: props.file, fileName: props.fileName}]}
                    pluginRenderers={DocViewerRenderers}
                />

            </div>

        </Dialog>
    );
}

DialogDocViewer.propTypes = {
    classes: PropTypes.object.isRequired,
    file: PropTypes.string.isRequired,
    fileName: PropTypes.string.isRequired,
    open: PropTypes.bool.isRequired,
    onClose: PropTypes.func.isRequired,
}

export default (withStyles(dialogDocViewerStyle)(DialogDocViewer));


Failing to pull docker images for demo, on make start

Bug Report
Which version of the demo you are using?
Using demo from Tue, Nov 14, 2023, commit: 522b9ec9fb679b920e631c5a40b7e76dc37181bc
Symptom
Not able to start the demo application.
What is the expected behavior?
To start the application with make start
What is the actual behavior?
I was having issues getting the Grafana container accessible, I was seeing the error message: upstream connect error or disconnect/reset before headers. reset reason: remote connection failure, transport failure reason: delayed connect error: 111 when trying to access localhost:8080/grafana.
So, I ran a docker system prune -a in order to clear all my images and make sure I was starting fresh.
Then, I see this:
dev@bare-rwhite:~/opentelemetry-demo$ make start
docker compose up --force-recreate --remove-orphans --detach
[+] Running 0/0
 ⠋ quoteservice Pulling                                                                                0.1s
 ⠋ recommendationservice Pulling                                                                                0.1s
 ⠋ otelcol Pulling                                                                                0.1s
 ⠋ dataprepper Pulling                                                                                0.1s
 ⠋ adservice Pulling                                                                                0.1s
 ⠋ shippingservice Pulling                                                                                0.1s
[+] Running 0/25gservice Pulling                                                                                0.1s
 ⠙ quoteservice Pulling                                                                                0.2s
 ⠙ recommendationservice Pulling                                                                                0.2s
 ⠙ otelcol 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.2s
 ⠙ dataprepper Pulling                                                                                0.2s
 ⠙ adservice Pulling                                                                                0.2s
 ⠙ shippingservice Pulling                                                                                0.2s
[+] Running 1/25gservice Pulling                                                                                0.2s
 ⠹ quoteservice Pulling                                                                                0.3s
 ⠹ recommendationservice Pulling                                                                                0.3s
 ⠹ otelcol 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.3s
 ⠹ dataprepper 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.3s
 ⠹ adservice Pulling                                                                                0.3s
 ⠹ shippingservice Pulling                                                                                0.3s
[+] Running 1/25gservice Pulling                                                                                0.3s
 ⠸ quoteservice 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.4s
 ⠸ recommendationservice 10 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.4s
 ⠸ otelcol 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.4s
 ⠸ dataprepper 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.4s
 ⠸ adservice 8 layers [⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.4s
 ⠸ shippingservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.4s
[+] Running 1/25gservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.4s
 ⠼ quoteservice 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.5s
 ⠼ recommendationservice 10 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.5s
 ⠼ otelcol 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.5s
 ⠼ dataprepper 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.5s
 ⠼ adservice 8 layers [⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.5s
 ⠼ shippingservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.5s
[+] Running 2/25gservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.5s
 ⠴ quoteservice 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.6s
 ⠴ recommendationservice 10 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.6s
 ⠴ otelcol 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.6s
 ⠴ dataprepper 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.6s
 ⠴ adservice 8 layers [⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.6s
 ⠴ shippingservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.6s
[+] Running 3/25gservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.6s
 ⠦ quoteservice 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.7s
 ⠦ recommendationservice 10 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.7s
 ⠦ otelcol 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.7s
 ⠦ dataprepper 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.7s
 ⠦ adservice 8 layers [⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.7s
 ⠦ shippingservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.7s
[+] Running 6/25gservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.7s
 ⠧ quoteservice 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.8s
 ⠧ recommendationservice 10 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.8s
 ⠧ otelcol 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.8s
 ⠧ dataprepper 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.8s
 ⠧ adservice 8 layers [⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.8s
 ⠧ shippingservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.8s
[+] Running 7/25gservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.8s
 ⠇ quoteservice 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠇ recommendationservice 10 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠇ otelcol 3 layers [⣿⠀⠀]   538kB/60.83MB Pulling                                                                                0.9s
 ⠇ dataprepper 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠇ adservice 8 layers [⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠇ shippingservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
[+] Running 7/25gservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ quoteservice 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ recommendationservice 10 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ otelcol 3 layers [⣿⠀⠀]   538kB/60.83MB Pulling                                                                                0.9s
 ⠏ dataprepper 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ adservice 8 layers [⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ shippingservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ productcatalogservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ currencyservice 5 layers [⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ featureflagservice 6 layers [⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ opensearch 7 layers [⣿⣿⣿⠀⣿⣿⣿] 56.63MB/826.1MB Pulling                                                                                0.9s
 ⠏ kafka 13 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ checkoutservice 3 layers [⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ accountingservice 2 layers [⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ prometheus 12 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ cartservice 4 layers [⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ loadgenerator 9 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ paymentservice 7 layers [⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ emailservice 8 layers [⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ ffs_postgres 13 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ frontend 11 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ grafana 10 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ frauddetectionservice 34 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ frontendproxy 10 layers [⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ jaeger 5 layers [⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
 ⠏ redis-cart 5 layers [⠀⠀⠀⠀⠀]      0B/0B      Pulling                                                                                0.9s
error pulling image configuration: download failed after attempts=1: error parsing HTTP 403 response body: invalid character '<' looking for beginning of value: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error>SignatureDoesNotMatch<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><AWSAccessKeyId>AKIAI5LUAQGPZRPNKSJA</AWSAccessKeyId><StringToSign>AWS4-HMAC-SHA256\n20231114T221336Z\n20231114/us-east-1/s3/aws4_request\nb367dd9673beb1668db1a112faca4c3403097e2c952608b0e7f5cd3021214814</StringToSign><SignatureProvided>7e2d26c8282f1bfd484dfd951a7e7d977100dc59e9396de5d47d358b48a9a7a1</SignatureProvided><StringToSignBytes>41 57 53 34 2d 48 4d 41 43 2d 53 48 41 32 35 36 0a 32 30 32 33 31 31 31 34 54 32 32 31 33 33 36 5a 0a 32 30 32 33 31 31 31 34 2f 75 73 2d 65 61 73 74 2d 31 2f 73 33 2f 61 77 73 34 5f 72 65 71 75 65 73 74 0a 62 33 36 37 64 64 39 36 37 33 62 65 62 31 36 36 38 64 62 31 61 31 31 32 66 61 63 61 34 63 33 34 30 33 30 39 37 65 32 63 39 35 32 36 30 38 62 30 65 37 66 35 63 64 33 30 32 31 32 31 34 38 31 34</StringToSignBytes><CanonicalRequest>GET\n/quayio-production-s3/sha256/22/22010d1e55390ce1751f0aac7c650930ad8611cd38168a74864ab39f321ebe68\nX-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI5LUAQGPZRPNKSJA%2F20231114%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231114T221336Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host\nhost:quayio-production-s3.s3.amazonaws.com\n\nhost\nUNSIGNED-PAYLOAD</CanonicalRequest><CanonicalRequestBytes>47 45 54 0a 2f 71 75 61 79 69 6f 2d 70 72 6f 64 75 63 74 69 6f 6e 2d 73 33 2f 73 68 61 32 35 36 2f 32 32 2f 32 32 30 31 30 64 31 65 35 35 33 39 30 63 65 31 37 35 31 66 30 61 61 63 37 63 36 35 30 39 33 30 61 64 38 36 31 31 63 64 33 38 31 36 38 61 37 34 38 36 34 61 62 33 39 66 33 32 31 65 62 65 36 38 0a 58 2d 41 6d 7a 2d 41 6c 67 6f 72 69 74 68 6d 3d 41 57 53 34 2d 48 4d 41 43 2d 53 48 41 32 35 36 26 58 2d 41 6d 7a 2d 43 72 65 64 65 6e 74 69 61 6c 3d 41 4b 49 41 49 35 4c 55 41 51 47 50 5a 52 50 4e 4b 53 4a 41 25 32 46 32 30 32 33 31 31 31 34 25 32 46 75 73 2d 65 61 73 74 2d 31 25 32 46 73 33 25 32 46 61 77 73 34 5f 72 65 71 75 65 73 74 26 58 2d 41 6d 7a 2d 44 61 74 65 3d 32 30 32 33 31 31 31 34 54 32 32 31 33 33 36 5a 26 58 2d 41 6d 7a 2d 45 78 70 69 72 65 73 3d 36 30 30 26 58 2d 41 6d 7a 2d 53 69 67 6e 65 64 48 65 61 64 65 72 73 3d 68 6f 73 74 0a 68 6f 73 74 3a 71 75 61 79 69 6f 2d 70 72 6f 64 75 63 74 69 6f 6e 2d 73 33 2e 73 33 2e 61 6d 61 7a 6f 6e 61 77 73 2e 63 6f 6d 0a 0a 68 6f 73 74 0a 55 4e 53 49 47 4e 45 44 2d 50 41 59 4c 4f 41 44</CanonicalRequestBytes><RequestId>C39YDZ0KE40C69BZ</RequestId><HostId>ei5pMcDbdZc0+9anHs6yToGeqga2/iI6iJ/acQqs+FFzXMZsUtrXAQ7UuQTjRBChu7oPZG9eTqt4DDIavkH2vA==</HostId></Error>"
make: *** [Makefile:121: start] Error 18
dev@bare-rwhite:~/opentelemetry-demo$

Reproduce
Run docker system prune -a, followed by make start
other
Running on ubuntu 20.04, in AWS us-east-1.

Not seeing this anymore.


fix(analytics): look both userinfo and userEditableInfo

In many cases the title is present on editable info not info. This fixes it by looking at both aspects for analytics page. Otherwise we have a long list of None as title on top users and new users list.
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Closed in favor of https://github.com/datahub-project/datahub/pull/11909


Add support for Plex notifications

https://www.plex.tv/en-gb/blog/plex-knows-notifications/?langr=1

https://support.plex.tv/articles/push-notifications/

added in v0.5.0


[test] Mark stored-properties-client as executable.

Test was enabled in #21426, but it was not marked as executable, and the Android CI has been trying to run it in the builder, and failing.

Thank you, @drodriguez!

@swift-ci please smoke test


I2C SCL low after communication ends

Hi I am currently connecting I2C1 GP6 and GP7 to I2C Slave.
While I am analyzing the bus using a logic analyzer I see that the SCL is driven low.
By my code the internal PULL Up is HIGH at init. So, I have not put any Pull-up resister to the bus.

We can see the analyzer is failing to analyze the data since it is getting proper stop condition

Update:
After going through multiple forums it was understood that the STOP bit was not issued as in the code
i2c_read_blocking((i2c_inst_t *)p_int->hal_i2c_ctrl.p_i2c_inst, p_int->hal_i2c_cfg.node_addr, p_buff, no_byte, I2C_IS_NONSTOP);

I2C_IS_NONSTOP was set to true
Closing this issue as a coding mistake.


Wrong pose assigned when start new trajectory with initial pose

Hi,
I'm trying the pure localization mode now, and i'm able to end the previous trajectory and add a new trajectory with initial pose.
However, the initial pose being added does not follow the instruction I sent. It somehow assigns the robot to another point in the map.

Hi,
thanks for your prompt reply.
the initial pose is set exactly on the map_frame that specified in the config file. What i've done is, I wrote a simple script subscribe to /initial_pose topic that RVIZ published, everytime i got the pose sent from RVIZ, i'll call the service to end the previous trajectory and start a new trajectory with the pose that i got from RVIZ.
The interesting thing is , the initial pose is working on some maps, but the pose is not correct for others. I wonder is there anything i need to do when I build the map? Or  any other thing i need to do before i call the /write_state service to save the serialized slam state?

Your approach sounds good, that's how I'm also doing it more or less.
This shouldn't be affected by mapping. The only thing that could come to my mind is that the frame ID of the initial pose message doesn't match the frame ID of Cartographer's map frame.

Side note: since today you can use the /get_trajectory_states service to conveniently determine the active trajectories that need to be finished in your script. See https://github.com/googlecartographer/cartographer_ros/commit/8bbec6bff77a7e63669db34b9023ad1811e741fd (msg / srv)

Coz the map I used is the grid map that generated by Cartographer occupancy grid node, is possible that the frame origin of the generated grid map differ from the origin of serialized state map ?

I got the same problem, if you solve this problem, can you give me some advice?@ iceicehyhy

I would like to do the exact same thing.  @iceicehyhy can you share that script?

The to_trajectory_id parameter of the initial pose is important, this defines relative to which origin the pose is defined. See here for the concept for and here for the syntax (ignore the dummy values).
The ID has to be the one that is used by your frozen, global map. Usually it is 0 (better: check with /get_trajectory_states, see above).
My initial pose handler code works very reliable, unfortunately I can't share it at the moment as it is currently embedded in an proprietary project.

@MichaelGrupp @iceicehyhy
Hi, guys. I set  -initial_pose="{to_trajectory_id=0,relative_pose={translation={0.0,0.0,0.},rotation={0.,0.,0.0}}}".
But it appear at the last submap of trajectory_id 0.  Then i changed relative_pose some times, it changes too. But not the correct position( or not the desired position). So i guess the position is relative about the last submap of trajectory_id 0.   So what is the reason? could you give me some advice about how to solve this problem, thanks.
I am sincerely looking forward to your reply.

Oh and: try setting
-initial_pose="{
  to_trajectory_id=0,
  relative_pose={translation={0.0,0.0,0.},rotation={0.,0.,0.0}},
  timestamp = 0
}"

...the "timestamp" field is used to determine the trajectory node to which the initial pose is relative to, as far as I know. I always set it to 0, and it works fine for me.

@MichaelGrupp Thank you for your prompt reply. I will try to set  timestamp = 0. In my opinons, i think the origin of trajectory 0 is the first submap pose of trajectory 0. So i feel confused.

i think the origin of trajectory 0 is the first submap pose of trajectory 0

Yes, but as far as I know the timestamp parameter can be used to select later poses in trajectory 0 as the relative frame (not sure, never used this feature). Maybe it uses the last known pose in the last submap by default if you don't specify it as timestamp=0.
@gaschler

@MichaelGrupp Yes, when i set timestamp=0, it works normally. thank you very much.

Closing as answered. Thanks @MichaelGrupp !

@MichaelGrupp ，
Hi,
I am running 2d slam online ,when i call rosservice call /finish_trajectory,and set the new trajectory to z-axis=5,i runned:
rosrun cartographer_ros cartographer_start_trajectory -configuration_basename=backpack_2d.lua -configuration_directory=/home/calyu/catkin_ws/install_isolated/share/cartographer_ros/configuration_files -initial_pose="{to_trajectory_id=0,relative_pose={translation={0.0,0.0,5},rotation={0.,0.,0.0}}}
i can see the map look like this:

I want to save this map ,so than i runned rosservice call /finish_trajectory 1,but the Z axis will change to the initial position.(Z-axis = 0m).
look like this:

How can i to set the new trajectory in the new plane (Z-axis ≠ 0) and save this map? could you give me some advice about how to solve this problem, thanks.
I am sincerely looking forward to your reply.

@MichaelGrupp Thank you for your reply.
yes ,I want to have e.g multiple floors with 2D SLAM, how can i use separate 2D maps per floor, could you give me some advice about how to solve this problem? thank you.

@MichaelGrupp Thank you very much.

Hi，
Thank you very much for your advice.
Because I don't know much about the cartographer, in order to achieve the effect I need, can you help me modify it, of course, it's not free, I can pay for it.
Expected for your  reply.
------------------ 原始邮件 ------------------
发件人: "Michael<EMAIL_ADDRESS>发送时间: 2018年11月5日(星期一) 晚上8:26
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [googlecartographer/cartographer_ros] Wrong pose assigned whenstart new trajectory with initial pose (#913)
I would just process and store the data separately and use separate Cartographer nodes for each floor. On-the-fly floor changes are not possible with 2D SLAM at the moment.
If you want to have multiple 2D maps aligned with a z-offset in 3D space, you would need an additional coordinate frame to model the floors. If you use ROS, you can define an additional parent TF frame (let's call it "world"), in which your floor maps are located. The static transformation from  "world" to each map can be adjusted to model the floor height.
world       /     \      /       \ map1           map2
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@MichaelGrupp
Hi，
Thank you very much for your advice.
in order to achieve the effect I need? can you help me modify it, of course, it's not free.
Expected for your  reply.

@MichaelGrupp timestamp=0 info was very helpful.
Maybe it would be nice to update the documentation with this.It was not easy to reach the solution.
Thank you

I know. The timestamp option is weird and we are currently working on a complete refactor of the start trajectory service that will simplify things a lot. See #1245 and the corresponding RFC.
This will break the current API of this service, but in this case it's a good thing 😉


Getting Noise in audio when having video calling

Getting Noise in audio when having video calling may be due to ---(audio from speaker of phone is getting feedback into the mic of the phone creating a audio feedback loop) so can you please provide a solution for that.

@priyankasaini3 do your 2 phones are close to each other or different rooms?

They are closer to each other means they are in same room.

Can you try diff rooms?

Yes I tried it in different rooms and they worked fine in that case


Add volume snapshot class support

It'd really be great to have a chart to create volumesnapshot classes. I'll make a PR for it.

Created PR #49


Close link tag

Link tags are not required or allowed to be closed in valid HTML5.

I was trying to use it with Thymeleaf and got a validation error, I think it was validating againts XHTML.
Thanks for your feedback, I learned something new, and congrats on the nice editor.

Interesting, I think even with XHTML, link tags are self closing (<link />), but I'm not as familiar with XHTML.
Thanks, glad you enjoy it!