running dsub from docker container in CI

I am running dsub inside a docker container which I prepared with python 2.7, google cloud sdk and dsub (you can reach it in docker hub yehudasabag/dsub-runner:v1.1).
Since the dsub is supposed to run from some other CI machine, I am using a service account to authenticate to GCP, so before I am running the dsub command I am running the following commands:
gcloud auth activate-service-account --key-file [json file with the service account details]  gcloud config set compute/zone europe-west3-a gcloud config set project [my project name]
Then I run the dsub command, expecting it to use the given service account. The service account has permissions of Genomics Admin and Storage Admin (too much, just trying to make it work...).
I keep getting the following output:

Traceback (most recent call last):
File "/usr/local/bin/dsub", line 10, in
sys.exit(main())
File "/usr/local/lib/python2.7/site-packages/dsub/commands/dsub.py", line 933, in main
dsub_main(prog, argv)
File "/usr/local/lib/python2.7/site-packages/dsub/commands/dsub.py", line 922, in dsub_main
launched_job = run_main(args)
File "/usr/local/lib/python2.7/site-packages/dsub/commands/dsub.py", line 988, in run_main
provider_base.get_provider(args, resources),
File "/usr/local/lib/python2.7/site-packages/dsub/providers/provider_base.py", line 48, in get_provider
args.project)
File "/usr/local/lib/python2.7/site-packages/dsub/providers/google_v2.py", line 443, in init
credentials)
File "/usr/local/lib/python2.7/site-packages/retrying.py", line 49, in wrapped_f
return Retrying(*dargs, **dkw).call(f, *args, **kw)
File "/usr/local/lib/python2.7/site-packages/retrying.py", line 206, in call
return attempt.get(self._wrap_exception)
File "/usr/local/lib/python2.7/site-packages/retrying.py", line 247, in get
six.reraise(self.value[0], self.value[1], self.value[2])
File "/usr/local/lib/python2.7/site-packages/retrying.py", line 200, in call
attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
File "/usr/local/lib/python2.7/site-packages/retrying.py", line 49, in wrapped_f
return Retrying(*dargs, **dkw).call(f, *args, **kw)
File "/usr/local/lib/python2.7/site-packages/retrying.py", line 206, in call
return attempt.get(self._wrap_exception)
File "/usr/local/lib/python2.7/site-packages/retrying.py", line 247, in get
six.reraise(self.value[0], self.value[1], self.value[2])
File "/usr/local/lib/python2.7/site-packages/retrying.py", line 200, in call
attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
File "/usr/local/lib/python2.7/site-packages/dsub/providers/google_base.py", line 539, in setup_service
credentials = oauth2client.client.GoogleCredentials.get_application_default(
File "/usr/local/lib/python2.7/site-packages/oauth2client/client.py", line 1271, in get_application_default
return GoogleCredentials._get_implicit_credentials()
File "/usr/local/lib/python2.7/site-packages/oauth2client/client.py", line 1256, in _get_implicit_credentials
credentials = checker()
File "/usr/local/lib/python2.7/site-packages/oauth2client/client.py", line 1187, in _implicit_credentials_from_gce
if not _in_gce_environment():
File "/usr/local/lib/python2.7/site-packages/oauth2client/client.py", line 1042, in _in_gce_environment
if NO_GCE_CHECK != 'True' and _detect_gce_environment():
File "/usr/local/lib/python2.7/site-packages/oauth2client/client.py", line 999, in _detect_gce_environment
http, _GCE_METADATA_URI, headers=_GCE_HEADERS)
File "/usr/local/lib/python2.7/site-packages/oauth2client/transport.py", line 282, in request
connection_type=connection_type)
File "/usr/local/lib/python2.7/site-packages/httplib2/init.py", line 2135, in request
cachekey,
File "/usr/local/lib/python2.7/site-packages/httplib2/init.py", line 1796, in _request
conn, request_uri, method, body, headers
File "/usr/local/lib/python2.7/site-packages/httplib2/init.py", line 1737, in _conn_request
response = conn.getresponse()
File "/usr/local/lib/python2.7/httplib.py", line 1108, in getresponse
raise ResponseNotReady()
httplib.ResponseNotReady

From what I understand this is related to the GCP authentication.
If on the same docker machine I am using (manually) the gcloud auth application-default login the cmd works.
Any ideas what may be the issue?

After some investigation in the code I see that in setup_service in google_base the code tries to authenticate with get_application_default if not credentials were supplied.
Looking around the code, no one passes this method credentials, so it alway calls the get_application_default.
This approach is not suitable for running in CI, or some other machines which are not the local development machine. I think that the code should use the default GCP auth method which reads the GOOGLE_APPLICATION_CREDENTIALS environment variable and authenticate based on it. If someone wants to use default application credentials he will do it by himself using the gcloud commands.
After commenting out this line, and setting the GOOGLE_APPLICATION_CREDENTIALS the flow I described above is working.
If still needed to use in the code the defualt application credentials than there should be some cmd line flag to disable it IMO.
WDYT? I am willing to open a PR once something is decided.

Thanks for reporting @yehudasabag.
The ability to pass credentials to setup_service was added for code that uses dsub as a Python library, rather than as a command-line tool.
It should be that oauth2client.client.GoogleCredentials.get_application_default() picks up GOOGLE_APPLICATION_CREDENTIALS from the environment if it is set. See the documentation here:
https://cloud.google.com/docs/authentication/production#howtheywork

GCP client libraries use a strategy called Application Default Credentials (ADC) to find your application's credentials. When your code uses a client library, the strategy checks for your credentials in the following order:
First, ADC checks to see if the environment variable GOOGLE_APPLICATION_CREDENTIALS is set. If the variable is set, ADC uses the service account file that the variable points to.

Here's the associated code:
https://github.com/googleapis/oauth2client/blob/0d1c814779c21503307b2f255dabcf24b2a107ac/oauth2client/client.py#L1233
The execution of the "GCE check" shouldn't be happening if you set GOOGLE_APPLICATION_CREDENTIALS as the environment is checked first.
Please check that GOOGLE_APPLICATION_CREDENTIALS is being set properly and not being masked out somewhere in your environment - perhaps check for it in the environment before the call to get_application_default(). Let us know what

Thank you for your response @mbookman
You are right, I forgot to set the  GOOGLE_APPLICATION_CREDENTIALS env var. For some reason I had in mind that the gcloud auth activate-service-account --key-file [json file with the service account details]  should have set it, which is not true. After I set it the original code is working.
Thanks you for your reply. Closing this issue.


Fix for issue number 19, ingress current api version and previous api version…

The current version of kubernetes is unable to install this helm chart.  Update Ingress api version to the current stable version used by kubernetes 1.22.*.  Update the else version to use the previous beta version.

Careful, there is more required than just changing the version, see https://kubernetes.io/docs/reference/using-api/deprecation-guide/#ingress-v122

@karezza
{{- if .Values.ingress.enabled -}}
{{- $serviceName := include "docker-registry.fullname" . -}}
{{- $servicePort := .Values.service.port -}}
{{- $path := .Values.ingress.path -}}
apiVersion: {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }} networking.k8s.io/v1 {{- else }} extensions/v1 {{- end }}
kind: Ingress
metadata:
  name: {{ template "docker-registry.fullname" . }}
  labels:
    app: {{ template "docker-registry.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
{{- if .Values.ingress.labels }}
{{ toYaml .Values.ingress.labels | indent 4 }}
{{- end }}
  annotations:
    {{- range $key, $value := .Values.ingress.annotations }}
      {{ $key }}: {{ $value | quote }}
    {{- end }}
spec:
  rules:
    {{- range $host := .Values.ingress.hosts }}
    - host: {{ $host }}
      http:
        paths:
          - path: {{ $path }}
            pathType: Prefix
            backend:
              service:
                name: {{ $serviceName }}
                port:
                  number: {{ $servicePort }}
    {{- end -}}
  {{- if .Values.ingress.tls }}
  tls:
{{ toYaml .Values.ingress.tls | indent 4 }}
  {{- end -}}
{{- end -}}

The service section towards the end is broken up into multiple entities too, and PathType: <ImplementationSpecific> is a neccesary field. I'm not sure if these are the only changes needed, but this worked for me.

i think https://github.com/Kapernikov/docker-registry.helm/commit/22eca8f7680c1289dd094ffe36f44fbbedde14f5 this is what is needed ...

i went  thru the kubernetes history to see how long networking.k8s.io/v1 is already there, and apparently its only there since 1.19 (which is 1 year ago). actually astonished that kubernetes breaks compat with old API only 1 year after releasing the new one...
so i guess it makes sense to try to also support the v1beta1.

I suppose #33 is relevant to this?

Hello !
Could we just add :
apiVersion: {{- if $apiVersion.Has "networking.k8s.io/v1" }} networking.k8s.io/v1 {{- else if $apiVersion.Has "networking.k8s.io/v1beta1" }} networking.k8s.io/v1beta1 {{- else }} extensions/v1beta1 {{- end }}

So that we can support 1.22 while not breaking any older version ?

Superceded by #48.


Removes top level requirements.*

This will resolve: https://github.com/data-refinery/data_refinery/issues/17
These two files are not actually required by anything in this project. In the past I think there were some dependencies which were needed for the whole project but all of these got moved into the Docker containers for different sub-projects. The only python package needed by the entire repo is pip-tools, but the install.sh script installs that into a virtualenv for the user, so it doesn't seem necessary to have a requirements.txt with only that one line in it.

Re:

Do you have another way to automate running these tools?
I'm not entirely sure what you mean there. I have them installed on my machine, but I guess I don't have a way to install easily other than running the commands to install them (optionally into a virtualenv).

Re:

This could conceivably make reproducibility hard.
I don't think that will be an issue because the only thing pip-tools is used for is to compile requirements.ins into requirements.txts. Since both of these files are under source control I don't see how reproducible would be hard, since all the requirements.txt files specify the exact version for everything that is actually installed into a Docker container.

Re: pep8 and flake8:
Sorry, I sorta conflated the step of installing these tools with how they are used. To elaborate: we don't have pep8 or flake8 in our repo for adage-server either, so it makes sense to me to remove them here. Each of us still uses them (or a similar linter) to check code, though. I have a trigger in my editor to run them for Python files. We also rely on codeclimate integration through GitHub to perform those checks and more.

Re: pip-tools:
Good point. Tracking the specific version of that tool does not matter as much as what it's actually installing. Mostly I just wanted to make sure you had considered the implications of that. It also occurs to me that you'll have reproducibility somewhat covered by the Docker repository as well, right? If you needed to get back to a specific container state you should be able to dive into the history of the images you've pushed.


Remove the symlink that used to point to gems/pending

The directory rooted at $app_root/vmdb/gems/pending has been moved
into a separate gem and is no longer present at that path.
We will not be updating the link location every time the gem
changes versions or we track a new git sha so I'm removing this.

/cc @simaishi

https://github.com/ManageIQ/manageiq-gems-pending/blob/master/lib/gems/pending/WriteVm/build_linux/init.rb#L13 is the only place I've found that seems to still rely on this.
Clearly it wouldn't have worked since the gem was split out, but worth mentioning here either way I think.
ping @roliveri

@carbonin the referenced link is from encrypted code days and includes a require to a now missing ruby class MiqLoad here so I highly doubt we need that file but I'll let @roliveri confirm

We don't need that file. Even back in the day, it was only a prototype.


⚠ Bofrost.nl has degraded performance

In 5c0748c, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1156 ms

Resolved: Bofrost.nl performance has improved in 094e735 after 6 minutes.


Separate debug and release builds to improve compile times when switching

Ok, basically there are two ways to deal with that, both can be done via cmake :

Having two output directories (say {build, bin}-{deb|rel})
Having a postfix for debug targets (radiumCored, radiumEngined, radiumd)

The main drawback with the first point is the need to have dlls on both bin directories, but there is a clear separation between both compilations (which is maybe the main problem of the second point).
Any suggestion ?

It looks like, on MSVC, generated objects are separated per build config, and, with single-config build systems (like Makefile), this is not something that is doable automagically.
Hence, I guess the best thing is to use different build directories (and have an IDE or a script manage this for us).
After a bit of testing, separating the output files (libs / bins) is not really relevant, since the link time for them is really not an issue. I guess we can close this issue.

We must have separate plugins folders for builds, unfortunately. Or filters to load only debug/release plugins.

We can still configure cmake to use different directories in debug and release modes (http://stackoverflow.com/a/20835044). So we have one single build dir (from which you call cmake), an several folders generated depending on th build type.
This is very simple to do. Maybe I'm missing something with this request.

Well actually there are two issues that are a bit mixed there.
The first one is "it could be great to be able to avoid having to recompile everything when changing build type". Since make is not able to handle different configurations, avoiding this means building in different directories.
The second issue is more related the the plugins. It appears that there are some problems with plugins that are not recompiled when changing the main application build type (if I understood correctly what Valentin meant) thus leading runtime problems.
This one could / should be handled by outputing the dlls to a different folder, depending on the build type (maybe just append -dbg or d to the debug output directory)

Right, I agree with that.
I'm thinking about a fix, I will try to push it by the end o th week.

Fixed by PR #151


feat: bump up harbor to v2.2.1

Signed-off-by: He Weiwei<EMAIL_ADDRESS>

@holyhope @sguyennet
Would you please take a look at this PR?  Thanks！

Can you please go get<EMAIL_ADDRESS>please?
So we keep all constants and config up to date.

Due to the limitation of the harbor repo (go.mod and go.sum are in the src subdirectory not in the root directory of the repo), go get<EMAIL_ADDRESS>not works as we think.
Update the github.com/goharbor/harbor/src also not works.
go get<EMAIL_ADDRESS>go get<EMAIL_ADDRESS><EMAIL_ADDRESS>invalid version: unknown revision src/v2.2.1

So I will just update the github.com/goharbor/harbor/src

LGTM :-)


Personal suggestion: can we add event drivers or components for database operation.

For example: monitoring MSSQL MySQL Oracle's table and view are triggered by write operations. You can input the new and old values written to dapr memory or persistent disk and DB in JSON format.
My English is not very good, the content is translated through translation software.

Can you explain some more? Is the scenario that you want to be notified of DB changes in your app?

Closing as duplicate of #718


Not an issue, just wanted to say thank you!

Saw that someone was using the ebsynth library I started on, and thought that was super cool. Thank you!
There will be an updated version out soon with support for ebsynth video stylization. Shouldn't affect your code (same class definitions), and it's significantly faster than the original version. Keep an eye out!

Awesome 👍


 The version was v0.3.37.

agreed ... though there is no documentation regarding this (BTW i did it manually with tsd and typings install - and commited the typings in the typings folder)

resolved ... a while ago.


[Feature request] Continuous streaming of logs emitted from KFP component pod

Description:
When a KFP component launches a scale out cluster such as codeflare/ray or spark, the application logs need to continue flowing back to the data science pipeline UI. In many large scale processing use cases, the said runs could take hours and days to complete. Pipeline launcher needs to the ability to monitor processing errors so a failed execution could be terminated early if needed.
Additional information:
[Miscellaneous information that will assist in solving the issue.]

@yuanchi2807 this sounds like a UI feature request, with now odh-dashboard having dsp support in it's upstream, maybe you can create this issue here on how you envision this could like like there:
https://github.com/opendatahub-io/odh-dashboard/issues/1247
and maybe the UI team can formulate a user story around this.
There is currently work underway on adding logging , which might be related to this.
Going to close this as this is (at least for now until we have a concrete UI feature request) unrelated to backend.

Agree to close. Thank you.


Have you deployed this to heroku or AWS?

if you do, do you have https://devcenter.heroku.com/articles/deploying-go or procfile?

I have not deployed on heroku, but I have tested on AWS. And I have deployed on Digital Ocean. I don't currently have a procfile. Sorry :(

thanks. how about docker? do you have one for digital ocean?

I installed Tile38 directly on the server. I'm quite familiar with Docker and it shouldn't bee too difficult to assemble a Dockerfile. Though I have not tested it.

I use this for deploying tile38
Dockerfile
FROM phusion/baseimage:0.9.18

CMD ["/sbin/my_init"]
RUN locale-gen en_US.UTF-8
RUN update-locale LANG=en_US.UTF-8
RUN groupadd -r tile38 && useradd -m -g tile38 tile38
RUN apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q git build-essential
RUN curl -O https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz
RUN tar -C /usr/local -xzf go1.6.linux-amd64.tar.gz
ENV PATH=$PATH:/usr/local/go/bin
RUN mkdir -p /gopath /goroot
ENV GOPATH=/gopath
ENV PATH=$PATH:$GOPATH/bin
RUN git clone https://github.com/tidwall/tile38.git /tile38
RUN cd /tile38 && make && make install

RUN mkdir /etc/service/tile38
ADD tile38.sh /etc/service/tile38/run
RUN chmod +x /etc/service/tile38/run

VOLUME ["/data"]

EXPOSE 9851

tile38.sh
#!/bin/bash
set -e

chown -R tile38 /data

exec sudo -u tile38 /usr/local/bin/tile38-server -d /data -h <IP_ADDRESS> -p 9851

@mozinator thanks for sharing your Dockerfile.

Hey guys, I noticed mention of docker. Hope you don't mind if I append to this thread. I'm currently trying to get tile38 up and running in a docker container:
Dockerfile
`FROM golang
RUN git clone https://github.com/tidwall/tile38.git /go/src/github.com/tile38
RUN cd /go/src/github.com/tile38 && make
VOLUME ["/data"]
ENTRYPOINT /go/src/github.com/tile38/tile38-server
EXPOSE 9851`
I've got a truncated docker-compose file:
    freeza:         image: company/freeza         ports:             - "4001:8081"         depends_on:             - tile38         links:             - tile38         env_file:             - ./dockerlocal.env     tile38:         image: company/tile38         ports:             - "9851:9851"
When I try to run these, for some reason I'm unable to connect. This compose file is much larger than this with connected services. I wasn't sure if you ran into this if you have tried tile38 with docker?
[michaelseay trunks] (dev)$ docker-compose up --build Starting trunks_tile_1 Recreating trunks_freeza_1 Attaching to trunks_tile_1, trunks_freeza_1 tile_1    | tile_1    |    _______ _______ tile_1    |   |       |       | freeza_1  | 2016/05/03 04:21:25 unable to fill pool: dial tcp [::1]:9851: getsockopt: connection refused tile_1    |   |____   |   _   |   Tile38 1.1.4 (b5b4f92) 64 bit (amd64/linux) tile_1    |   |       |       |   Port: 9851, PID: 5 tile_1    |   |____   |   _   | tile_1    |   |       |       |   tile38.com tile_1    |   |_______|_______| tile_1    | tile_1    | 2016/05/03 04:21:25 [INFO] Server started, Tile38 version 1.1.4, git b5b4f92 tile_1    | 2016/05/03 04:21:25 [INFO] AOF loaded 0 commands: 0.00s, 0/s, 0 bytes/s tile_1    | 2016/05/03 04:21:25 [INFO] The server is now ready to accept connections on port 9851 trunks_freeza_1 exited with code 1

Hi @mpseay,
We don't currently have an official docker image but we do plan on publishing one together in the near future.
Tile38 does run in a docker container. I haven't seen the error that you mention, but I'm not too familiar with docker-composer. This is a Dockerfile that I'm currently using. It's based on the lastest tar.gz release as opposed to the git repo.
FROM debian:wheezy

RUN apt-get update \
    && apt-get install -y curl \
    && curl -L https://github.com/tidwall/tile38/releases/download/1.1.4/tile38-1.1.4-linux-amd64.tar.gz -o tile38-1.1.4-linux-amd64.tar.gz \
    && tar xzvf tile38-1.1.4-linux-amd64.tar.gz \
    && rm tile38-1.1.4-linux-amd64.tar.gz \
    && apt-get remove -y curl && apt-get autoremove -y

VOLUME ["/data"]
ENTRYPOINT /tile38-1.1.4-linux-amd64/tile38-server
EXPOSE 9851

I wish I could help more.

Awesome, I'll be on the look out. In the meantime I'll see if I can figure this out and I'll update the thread if I can get it functioning! Thanks!

Quick Update: Turns out the issue was my own :( My connection details in my service container was trying to access localhost rather than the docker host. Problem solved!

@mpseay Glad to hear you found a solution. I hope Tile38+Docker works out well for your project.

I just want to share that I have been using tile38 for a couple of months in production now. It works great!

@mozinator That great to hear! If it's not asking too much, could you share your use case? I would love to hear how Tile38 is helping you or your organization.

@tidwall I developed an app meant for people who dont have nautical charts or safety equipment on their boats. The app has an nautical chart in it, and you can see other ships on it in real-time.
That last part is made possible due to tile38 👍

@mozinator  Very cool! Sounds like a super useful app.
Thanks for sharing!

If you want a super slim version of this, here's a Dockerfile for Alpine (3.4):
FROM alpine:3.4

ENV TILE38_VERSION 1.5.0
ENV TILE38_DOWNLOAD_URL https://github.com/tidwall/tile38/releases/download/$TILE38_VERSION/tile38-$TILE38_VERSION-linux-amd64.tar.gz

RUN apk update \
    && apk add ca-certificates \
    && update-ca-certificates \
    && apk add openssl \
    && wget -O tile38.tar.gz "$TILE38_DOWNLOAD_URL" \
    && tar -xzvf tile38.tar.gz \
    && rm -f tile38.tar.gz \
    && mv tile38-$TILE38_VERSION-linux-amd64/tile38-server /usr/local/bin \
    && rm -fR tile38-$TILE38_VERSION-linux-amd64

EXPOSE 9851
CMD ["tile38-server"]

Image size is about 19.57 MB

@gordysc This looks good. I think could work as the template for the official image.

@tidwall The only addition we'd probably want to make is the mount point for data that's persisted to disk, so that can be done on an SSD outside the Docker container.  I haven't taken a look yet, but is there a flag to dictate where to persist data on disk? We'd probably want to have that be mounted to the volume: /data

@gordysc Yes. There a -d flag that allows for specifying a data directory.

@tidwall Beautiful! So just a few things to get this left to make this happen:

Creating an official Dockerhub repo
Adding automatic builds (https://docs.docker.com/docker-hub/builds/)
Adding logic to support the -d flag.

@gordysc OK. I'll take care of this and keep you posted. Thanks.

@gordysc I have the automatic builds enabled and create an automated build at https://hub.docker.com/r/tile38/tile38 which points to this project. I included master/latest and tags.

@tidwall will follow up with another PR this evening to update documentation/formatting for Dockerhub

@gordysc Is it possible to have custom dockerhub formatting? It looks like they pull in the Github README which has a mix of HTML and markdown.

@tidwall No, but you can have a README specifically for Dockerhub.  You just have to isolate it w/ the Dockerfile in a separate directory.  The PR above should allow you to adjust the formatting and content you put on Dockerhub independently of your Github's main README

@steve21124 were you ever able to deploy to Heroku?

can someone share how to host on Heroku? Please

I'm closing this issue for now. As @s32x mentioned above, due to the ephemeral nature of there's no open way to get Tile38 integrated with Heroku. At least not without some type of business support and/or creating a SaaS.
If someone has other ideas, feel free to reopen and add to this issue.
Thanks.

Has anyone tried running tile38 on ecs? Any best practices?
Spun it up through ecs with the docker image, but running in to an issue. Using the node driver, which uses the redis RESP protocol.
To connect my other ecs services to my tile38 service, I set up an ALB, only to realize after hours of debugging later, that load balancers do not support the RESP protocol 😞. The only way to connect to my instances was to find the ip of specific instances, which change with new deployments.
While testing, also been running into this issue that shuts down the tile38 service:

It looks to be similar to the index out of range error reported here -- am I doing something wrong? Tile38 tends to disconnect, and eventually throw the error.  (https://github.com/tidwall/tile38/issues/247)


connection pool not honoured and causing crazy number of concurrent open connections

i tried to use standard http protocol and set connection pool as stated in the documentation,
here is the code: https://play.golang.org/p/5ZX2daNsDRp
when i ran:
ab -n 300 -c 20 <IP_ADDRESS>:8000/
OR
ab -n 300 -c 5 <IP_ADDRESS>:8000/

and see inside pgadmin4, connection spiked to 100 connections (my default postgresql max number of connections allowed)
why is this happening?
did i code this badly?
did i missed anything?
thank you

i found the issue.
i just need to move sqlx.open to main, and supposed to be called once on start of server
then 10 connections is honoured


feat(tutorial): complete step 1

PR for Step 1

Hi @kellychurchill I have submitted a new commit which I think fixes the highlighted issue 👍

👍 Looks good - 🎉 You are one step closer to completion of the Carbon React tutorial and earning the digital credential.


Code execution circle attribute does not show in Pharo snippets

Try executing code in a Pharo snippet. No circle appears.
Then switch to another tab and back. The circle appears.

GtPlaygroundEvaluatedCodeButtonAttribute should be updated:

works now:


Add Nong Song:

Song Name
After Dark x Sweather Weather
Artist Name
Gerson
Source
Youtube
Youtube Link
https://www.youtube.com/watch?v=KPq5DGaSQ9I
Direct File Link
No response
Song ID
10
Start Offset [ms]
No response
Extra
"Kerosene house" - 96733442

accept

accept
im the one who accepts buddy 💀

@neprao tysm!


Fix code about failable initializer in README

Hi,
map.JSONDictionary is [String : AnyObject].
So, I modified to use value()
Thanks

When checking the existence of a value, either method works. I am going to leave as is for now. Thanks for your input


Paint game

Paint game in python

@TusharAMD please assign

@Mrjoy832 has made a issue with same name. Let's check what he does and if your approach is different I will assign.

@TusharAMD mine is like, paint ball kind of setup that u must have seen in the big bang theory

Assigned for now. Lets see what @Mrjoy832 has to say something

Assigned for now. Lets see what @Mrjoy832 has to say something

he has changed the issue..now it's fine


Off by one issue in InteractionNumber

The interaction numbers start at -1 instead of 0. This is in the file new mircoprod files. Specifically:
/pnfs/dune/persistent/users/abooth/nd-production/MicroProdN1p2/output/run-spill-build/MicroProdN1p2_NDLAr_1E18_RHC.spill.nu/EDEPSIM_SPILLS/0000000/0000100/MicroProdN1p2_NDLAr_1E18_RHC.spill.nu.0000102.EDEPSIM_SPILLS.root
root [1] EDepSimEvents->Scan("InteractionNumber")
***********************************
*    Row   * Instance * Interacti *
***********************************
*        0 *        0 *        -1 *
*        1 *        0 *         0 *
*        2 *        0 *         1 *
*        3 *        0 *         2 *
*        4 *        0 *         3 *
*        5 *        0 *         4 *
*        6 *        0 *         5 *
*        7 *        0 *         6 *
*        8 *        0 *         7 *
*        9 *        0 *         8 *
*       10 *        0 *         9 *

The interaction numbers were fixed in issue #54, but it seems like they're off by one now for some reason. Not sure why.
Actually, this sample is without rock files. So it's not the spill builder. Here's the same file pre-spill builder. Not sure why but it starts at -1
Attaching file /pnfs/dune/persistent/users/abooth/nd-production/MicroProdN1p2/output/run-edep-sim/MicroProdN1p2_NDLAr_1E18_RHC.edep.nu/EDE
PSIM/0000000/0000100/MicroProdN1p2_NDLAr_1E18_RHC.edep.nu.0000102.EDEPSIM.root as _file0...
(TFile *) 0x3df4840
root [1] EDepSimEvents->Scan("InteractionNumber")
***********************************
*    Row   * Instance * Interacti *
***********************************
*        0 *        0 *        -1 *
*        1 *        0 *         0 *
*        2 *        0 *         1 *
*        3 *        0 *         2 *
*        4 *        0 *         3 *
*        5 *        0 *         4 *
*        6 *        0 *         5 *

My current hypothesis is that this results from the interaction of:

KinemPassThru::LastEntryNumber (called by RooTrackerKinematicsGenerator::GeneratePrimaryVertex)
And some restructuring we did (a long time ago) in lbl-neutrino/edep-sim to support dropping events that don't leave any energy deposits in the active volumes (/edep/db/set/requireEventsWithHits).

Specifically, the writing of the GENIE pass-thru entry previously happened early in the event loop, whereas now it happens near the end (so that the interaction can be omitted from the pass-thru tree if it turned out to be invisible). KinemPassThru::LastEntryNumber assumes the pass-thru entry has already been written, but now that's not the case. So line 254 should be changed from
    return fPersistentTree->GetEntries() - 1;

to
    return fPersistentTree->GetEntries();

I looked at an older 2x2 sim file and the first InteractionNumber was indeed -1, so this is not a new issue, just something we hadn't noticed since we weren't using the InteractionNumber anywhere. And this only affects files that haven't gone through spill building, since the original edep-sim InteractionNumber is now thrown away during spill building, as discussed in #54.
I'll test this change to confirm that it fixes the issue.


cralloc: add BatchAllocator

Add a batch allocator which reduces the number of individual object
allocations.
name                        time/op
BatchAllocator/Baseline-10  1.99µs ± 3%
BatchAllocator/Batched-10   1.78µs ± 0%

name                        alloc/op
BatchAllocator/Baseline-10  2.40kB ± 0%
BatchAllocator/Batched-10   2.60kB ± 0%

name                        allocs/op
BatchAllocator/Baseline-10     100 ± 0%
BatchAllocator/Batched-10     12.0 ± 0%

This change is

TFTR!


Remove metadata but keep date

I think it would be nice to delete metadata after a photo is taken, but keep the date. Similar to how location can be toggled seperately from the other metadata.

Just noticed this is a duplicate. Sorry


Possible refactor to use mdfind

Hi Sindre,
I've been using a small function to find installed apps in my Electron-based app, Browserosaurus. I thought I'd try replacing my function with your package but using AppleScript to "tell Finder" causes my app to display a Finder access permission dialog. Would you be up for a refactor of your package to avoid this? Here's what I'm using:
import { execFile } from 'child_process'
import { promisify } from 'util'

const execFileP = promisify(execFile)

async function appExists(nameOrBundleId: string): Promise<boolean> {
  const isBundleId = nameOrBundleId.includes('.')

  const query = isBundleId
    ? `kMDItemContentType == 'com.apple.application-bundle' && kMDItemCFBundleIdentifier == '${nameOrBundleId}'`
    : `kMDItemKind == 'Application' && kMDItemFSName == '${nameOrBundleId}.app'c`

  const { stdout: appPath } = await execFileP('mdfind', [query])

  return Boolean(appPath)
}

Let me know if you'd like a PR.

Yeah, this package was made before all the recent security theatre in macOS. A PR to use mdfind would be lovely. 👍


Error building an STF Capable Dromajo

Discussed in https://github.com/riscv-software-src/riscv-perf-model/discussions/80

Originally posted by Nofal475 August 23, 2023
I am following the steps given to buid a STF-Capable dromajo, but for some reason it is failing
I get a long error message when I run make, part of which is attached below
If I don't apply dromajo_stf_lib.patch I don't get this error
Error:
/home/nofal/miniconda3/envs/sparta/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:910:52: error: static assertion failed: template argument must be a complete class or an unbounded array
910 |       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
|                     ~^~
/home/nofal/miniconda3/envs/sparta/x86_64-conda-linux-gnu/include/c++/12.3.0/type_traits:910:52: note: 'std::__is_complete_or_unbounded<__type_identitystf::TraceInfoRecord >((std::__type_identitystf::TraceInfoRecord(), std::__type_identitystf::TraceInfoRecord()))' evaluates to false
/home/nofal/miniconda3/envs/sparta/x86_64-conda-linux-gnu/include/c++/12.3.0/bits/stl_construct.h: In instantiation of 'void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = stf::TraceInfoRecord*]':
/home/nofal/miniconda3/envs/sparta/x86_64-conda-linux-gnu/include/c++/12.3.0/bits/alloc_traits.h:850:15:   required from 'void std::_Destroy(_ForwardIterator, _ForwardIterator, allocator<_T2>&) [with _ForwardIterator = stf::TraceInfoRecord*; _Tp = stf::TraceInfoRecord]'
/home/nofal/miniconda3/envs/sparta/x86_64-conda-linux-gnu/include/c++/12.3.0/bits/stl_vector.h:730:15:   required from 'std::vector<_Tp, _Alloc>::~vector() [with _Tp = stf::TraceInfoRecord; _Alloc = std::allocatorstf::TraceInfoRecord]'
/home/nofal/Workspace/Student/map/riscv-perf-model/traces/stf_trace_gen/dromajo/stf_lib/stf-inc/stf_writer_base.hpp:24:11:   required from here
/home/nofal/miniconda3/envs/sparta/x86_64-conda-linux-gnu/include/c++/12.3.0/bits/stl_construct.h:188:51: error: static assertion failed: value type is destructible
188 |       static_assert(is_destructible<_Value_type>::value,
|                                                   ^
/home/nofal/miniconda3/envs/sparta/x86_64-conda-linux-gnu/include/c++/12.3.0/bits/stl_construct.h:188:51: note: 'std::integral_constant<bool, false>::value' evaluates to false
/home/nofal/miniconda3/envs/sparta/x86_64-conda-linux-gnu/include/c++/12.3.0/bits/stl_construct.h:195:25: error: invalid use of incomplete type 'std::iterator_traitsstf::TraceInfoRecord*::value_type' {aka 'class stf::TraceInfoRecord'}
195 |       std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/nofal/Workspace/Student/map/riscv-perf-model/traces/stf_trace_gen/dromajo/stf_lib/stf-inc/stf_record_types.hpp:2055:11: note: forward declaration of 'std::iterator_traitsstf::TraceInfoRecord*::value_type' {aka 'class stf::TraceInfoRecord'}
2055 |     class TraceInfoRecord : public TypeAwareSTFRecord<TraceInfoRecord, descriptors::internal::Descriptor::STF_TRACE_INFO> {
|           ^~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/dromajo.dir/build.make:76: CMakeFiles/dromajo.dir/src/dromajo.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:147: CMakeFiles/dromajo.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

@bdutro is able to reproduce and is looking at it.

So Brett reproduced a different error that he fixed with an updated package (not related to this issue).
We can't reproduce your issue.  Can you try with clang instead?
CC=clang CXX=clang++ cmake .. <args>

I did all the steps again from installing stf_lib olympia and sparta and now it is working, i think there was a problem with my stf_lib build.
Thanks again for your help.

Good to hear.


Elevated convection diagnostics

Elevated convection is viewed as different from surface-based convection, and thus requires different diagnostics to determine if the convection is elevated. Often these diagnostics are a combination of surface quantities and quantities from higher levels. This ticket tracks implementation of different diagnostics to identify elevated convection.

[x] #324
[x] #261
[ ] #262
[ ] #263

[ ] recipe for filtered cape ratio needed
[ ] downdraft properties needs rewrite as too slow


react-native-owl not working on Android

Tried setting up React-Native-Owl on React-Native Project to capture screenshots on Android. It doesn't work!
Setup

Setup owl.config.json as per the documentation.

{
    "android": {
      "packageName": "com.loki",
      "quiet": true
    },
    "debug": true,
    "report": true
  }

npm run owl build -- --platform android - Works fine ✅
npm run owl test -- --platform android - Fails ❌

Error
><EMAIL_ADDRESS>owl /Users/nikhilmittal/Desktop/Github/loki
> ./node_modules/react-native-owl/dist/cli/index.js "test" "--platform" "android"

[OWL] Starting websocket server.
[OWL] Running tests on android.
[OWL] WebSocket now listening on port 8123.
Sat Jan  1 09:41:00 IST 2022
date: cannot set date: Operation not permitted
Error: Command failed with exit code 1: adb shell date 01010941
    at makeError (/Users/nikhilmittal/Desktop/Github/loki/node_modules/react-native-owl/node_modules/execa/lib/error.js:60:11)
    at handlePromise (/Users/nikhilmittal/Desktop/Github/loki/node_modules/react-native-owl/node_modules/execa/index.js:118:26)
    at processTicksAndRejections (internal/process/task_queues.js:95:5) {
  shortMessage: 'Command failed with exit code 1: adb shell date 01010941',
  command: 'adb shell date 01010941',
  escapedCommand: 'adb shell date 01010941',
  exitCode: 1,
  signal: undefined,
  signalDescription: undefined,
  stdout: undefined,
  stderr: undefined,
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}

Hi @NM-2000
Can I just check if you had an Android emulator running, or a debuggable Android device attached?
If so, please can you share the details so that we can attempt to replicate this issue?
Thanks

@robwalkerco I faced with this issue too and emulator is runned

When I run that command manually I see the next error:
date: cannot set date: Operation not permitted

Fix:
adb root # first
adb shell date 01010941 # now it won't fail

@retyui brilliant! Thanks for the fix! Would you like to create a small PR for this fix? (the tests will also need updating a little I think, if you add this additional command)
cc @manosim

If you don't have chance to make a PR, then I'm sure either @manosim or I will be able to do it soon.

Actually @retyui @NM-2000, this issue is already fixed in the v1.0.0 RC yarn add react-native-owl@next. The full v1.0.0 should happen soon 😀
Closed by #85


Fatal error: string.h: No such file or directory

When I try luaver install 5.3.4 I get
==>  Detecting already downloaded archives
lua-5.3.4 has already been downloaded. Download again? [Y/n]: y
rm: remove write-protected regular file 'lua-5.3.4/doc/lua.1'? y
==>  Downloading lua-5.3.4
==>  Downloading from http://www.lua.org/ftp/lua-5.3.4.tar.gz
--2017-05-21 17:44:06--  http://www.lua.org/ftp/lua-5.3.4.tar.gz
Resolving www.lua.org (www.lua.org)... <IP_ADDRESS>, 2a01:4f8:201:620f::2001
Connecting to www.lua.org (www.lua.org)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 303586 (296K) [application/gzip]
Saving to: ‘lua-5.3.4.tar.gz’

lua-5.3.4.tar.gz                                100%[=====================================================================================================>] 296.47K   230KB/s    in 1.3s

2017-05-21 17:44:08 (230 KB/s) - ‘lua-5.3.4.tar.gz’ saved [303586/303586]

==>  Download successful
==>  Extracting archive
==>  Unpacking lua-5.3.4.tar.gz
lua-5.3.4/
lua-5.3.4/Makefile
lua-5.3.4/doc/
lua-5.3.4/doc/luac.1
lua-5.3.4/doc/manual.html
lua-5.3.4/doc/manual.css
...
lua-5.3.4/src/lapi.c
lua-5.3.4/src/lparser.h
lua-5.3.4/src/lua.hpp
lua-5.3.4/src/lstrlib.c
lua-5.3.4/README
==>  Unpack successful
==>  Detecting platform
==>  Platform detected: linux
==>  Compiling lua-5.3.4
cd src && make linux
make[1]: Entering directory '/home/sam/.luaver/src/lua-5.3.4/src'
make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[2]: Entering directory '/home/sam/.luaver/src/lua-5.3.4/src'
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lapi.o lapi.c
lapi.c:14:20: fatal error: string.h: No such file or directory
compilation terminated.
<builtin>: recipe for target 'lapi.o' failed
make[2]: *** [lapi.o] Error 1
make[2]: Leaving directory '/home/sam/.luaver/src/lua-5.3.4/src'

Any idea of whats wrong?

The error occurred while installing lua. It seems that it cannot find the string.h header file. I assume you are running linux (as detected by luaver).
Try installing the dependency below:
sudo apt-get install build-essentials

I hope this got your issue fixed. If not, let me know further details and feel free to reopen this. Thanks :)

thanks! that worked. Not sure what happened in may but i just tried to download it again and googled the error message and found the issue I opened. Fixed my issue.

Good!


Add initial support for remote dev container

Description:
Add initial support for Remote Containers: https://code.visualstudio.com/docs/remote/containers
I know, it's not perfect but a good start

I guess the Dev dockerfile exists for this, so does this replace that file?

Well, that would be removed with: https://github.com/home-assistant/architecture/issues/243

Okay! All in favor for cleaning things up, and using one image!

We should also update the developer docs

Here are some things that should be addressed:

Do we want to ignore existing virtualenvs installed in the repo (bin, lib dirs)
Document how one gets started
Document how you can develop a lib for an integration in HA and install that dev version
Document how to run tests
Document how to debug (ptsvsd integration?)
enable flake8/pydocstyle in devcontainer settings?


Add core analysis and gui calculate tests

This PR adds tests that confirm an analysis based on a simple test dataset runs. All standard corrections (density, TI, PDM, REWS) are included. AEP calculation is included. Report generation is included.
These tests run locally and pass but I have not yet confirmed they work on AppVeyor.

Tests fail on AppVeyor:

path to test data files not resolved correctly

can fix using absolute path based on repo head

matplolib ImportError

matplotlib needs added to the requirements.txt file for the conda env

I will make these changes and confirm the tests pass on AppVeyor before merging.

The above commits fix the tests to run on AppVeyor (all pass) and add some more tests of the core analysis object so I will go ahead and merge these changes.


Optimize the Gas intrinsic codegen

Quoting this:

Do we have rough idea of how much faster will this be?

So, here's the assembly for what is roughly current assembly that we generate for gas in wasmer, after intrinsification:
mov    0x10(%rax,%riz,1),%rcx
mov    $0x64,%rdx
mulq   %rdx,%rcx
mov    0x0(%rax,%riz,1),%rdx
addq    %rcx,%rdx
jo     .overflow
cmp    %rdx,0x8(%rax,%riz,1)
mov    %rdx,0x0(%rax,%riz,1)
jbe    .overflow

changing nothing other than removing the multiplication, which is possible after this PR, would produce something more like this:
mov    $56320000,%rcx
mov    0x0(%rax,%riz,1),%rdx
addq    %rcx,%rdx
jo     .overflow
cmp    %rdx,0x8(%rax,%riz,1)
mov    %rdx,0x0(%rax,%riz,1)
jbe    .overflow

If this code is run for 100 loop iterations (imagine something along the lines of for _ in 0..100 {} that's fully unrolled), here are the numbers:

current znver1
new znver1
current haswell
new haswell

cycles
318
215
265
213

ipc
2.83
3.26
3.40
3.29

block reciprocal throughput
2.8
2.0
2.5
2.0

So it is a modest 20%-or-so improvement to the throughput of gas.
Eventually, after the multiplication is removed, the machine code can be further tweaked to reduce the hot instructions down to something along the lines of
subq $56320000, 0x0(%rax,%riz,1)
js .overflow

This would require some computation after a VM return to figure out the actual amount of gas consumed, but during normal execution would improve the throughput of gas by another 50%-or-so.
NB: the measurements are synthesized by llvm-mca and the perceived performance may be quite different in practice depending on the surrounding code.

We should work towards gettting that subq + js codegen working.

cc https://github.com/near/nearcore/issues/5295

We also should evaluate storing the remaining gas pool inside a reserved register. This is heavily accessed value, so it should overall improve the throughput a little (over accessing it from the cache a lot of the time)


Adds Object Oriented Programming section intro slide and text.

Pre-Submission Checklist

[x] Your pull request targets the feature/curriculum-expansion branch of FreeCodeCamp. (Not the staging branch).
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[ ] All new and existing tests pass the command npm run test-challenges. Use git commit --amend to amend any fixes. [Tests not working in general on this branch]

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)

Checklist:

[x] Tested changes locally.

Description

Quick addition of the introductory text and slide for the Object Oriented Programming section before I head out of town.

Happy Hacktoberfest!


Test performance of transfer details endpoint

We should check if the performance of the transfer details endpoint is fast enough (<1s).
We will do this by running the dev version on the staging server and work with the events there.

So far on staging with ~300 Transfers it was never slower than 400ms with an avarage of 230ms.
Thats good enough for now, but we have to check this again on the live server with more transfers.


WSAS-2099 : Adding test case

Closing this PR as this has code formatting issue. A new PR with this change is sent: https://github.com/wso2/product-as/pull/406


Update ammonite to 2.4.1

Updates com.lihaoyi:ammonite from 2.4.0 to 2.4.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.4.0).
You might want to review and update them manually.
docs/antora/modules/ROOT/pages/Configuring_Mill.adoc

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.lihaoyi", artifactId = "ammonite" } ]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains

Closing in favor of #1569


bean method call doesn't support primitive argument type

I read post issues and know someone have submit similar issue before.  unfortunately it occurs again in my application.
For example , I have a java class name Pet:
public class Pet(){    int age;    public int add(int increment){        return age + increment;    } }
And I have a Pet instance named pet in template context.  Code like:
{{ pet.add(2) }}
It simply does'nt work.   Please help.

Related issue is #196 but it was for map. It has just been fixed and is gonna be in the next release. Your case still doesn't work.

I use as workaround the variants:

create a pebble function wrapper
use static method (expose an Utils class that contains static methods)

It would be nice to have the possibility to call a public method with parameters like in the first comment.

Fixed via #341


Support lower end devices

128GB mapsize is sufficient to maintain node performance and allow lower end devices to operate. The existing 1TB mapsize requirement that is present in the current release prevents widespread node adoption.

The one potential problem is that I think some people's DBs are larger than 128GB due to bloating issues. I guess we'll just have to require they vacuum the DB before upgrading.

@schenkty is now testing 256GB

I had clamped it down in my initial wallet ledger separation as well. When Colin redid the branch he set it to 64gb for ledger and 1gb for wallet. which from my testing worked fine

I just test 256GB and it works great. I did test 64GB and found it to crash but I have not found any reason for it to crash so I am going to attempt it again with a fresh build. I recommend that the lower the mapsize the better but it is understandable for the reasons that @PlasmaPower pointed out that it not be too low and prevent growth in the future. I believe 64GB would work for the most

Just tested 64GB for a bit and it works fine

Ok I think 128GB is a good compromise then. We can tune it further with the wallet separation.


Merge selection based on loading current inserts

This is preparatory work for mutations. The main idea is described in the comments: https://github.com/yandex/ClickHouse/blob/new-merge-selection/dbms/src/Storages/MergeTree/ReplicatedMergeTreeQueue.cpp#L975

Superseded by #2426


Freeze carousel in Demo page

I didn't dig this issue why it occurred, but I'd like to report and note steps to reproduce.
Steps to reproduce

Open Demos page in Chrome
Scroll down to Autoplay carousel
Keep Demos tab, and switch to other Chrome's tab
Wait 5 minutes
Back to Demos tab
Autoplay carousel is stopped

+1

+1

Hi all, I create PR #199 for it. :)

+1

duplicate of #202


Re-point OS API calls to Codefi proxy

Routes all requests we make to OpenSea in controllers through the proxy server recently deployed by Codefi.

This looks pretty straight forward. @andrepimenta @gantunesr  Any thoughts on the failover for the OpenSea proxy?

@Gudahtt I've addressed some of your feedback, and fragmented the error handling approach into two slightly different patterns so you could visualize each and help me decide which one makes more sense. In getCollectibleInformationFromApi and getCollectibleContractInformationFromApi (CollectiblesController.js) I'm now using a modified fetch method (fetchWithErrorHandling) which catches errors and uses logOrRethrowError. This leads to a slightly strange pattern of having to check if what is returned is defined and then return that or move on in the function (to the retry or the default/null return value). In getOwnerCollectibles (CollectiblesDetectionController.js) I left the try/catches in place but added a nested try/catch around the retry attempt. It gets kindof hard to reason about when nested. Neither is pretty but they're the best options I could think of right now...

Ping here when you have time @Gudahtt 😅

@Gudahtt adapted the helper method and applied to the CollectibleDetectionController case as well here: https://github.com/MetaMask/controllers/pull/805/commits/5115b4bc91f148eca9ddb86b79d798aa1d1d38ca. Still unclear on how to approach the error handling.

@sethkfman @gantunesr @wachunei if you have some time tomorrow to take a look at this, I'd really love to get this merged so we can start getting ready to release NFT's on the extension 😅

Looks good; my only suggestion is making https://proxy.metaswap.codefi.network/opensea/v1 a constant somewhere, as it's used multiple times.

consolidated these constants here: https://github.com/MetaMask/controllers/pull/805/commits/915c211c6d546c29de29fdfb9e1ab55cb95f5957

@mcmire @sethkfman ready for another look when you have a chance 😄

Doesn't need to be blocked on my review - everything I commented on has been resolved


Web API with MongoDB: Corrected instructions for MongoDB and database creation

Fixes #28372

Corrected the version 6.0 instructions to run with the currently available version of MongoDB and MongoDB Shell.
Clarified which commands were to be run at the OS command line and which ones were to be run on the MongoDB Shell.
Specified the version of MongoDB required by the tutorial

Internal previews

📄 File
🔗 Preview link

aspnetcore/tutorials/first-mongo-app.md
aspnetcore/tutorials/first-mongo-app

Some build issue not related to this doc is going on, closing and reopening to force new build.


Usage for Laravel 6

I cant use the preset for Laravel 6

composer require laravel/ui:^1.0 --dev

composer require laravel-frontend-presets/tailwindcss --dev

You’ll want to use ^3.0 for Laravel 6.x

You mean the version of the preset? ^3.0

I got it now. Thank you 👍


[HOLD for payment 2023-10-02] Chat - IOU - Hover is not being shown after stopping to scroll

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open a chat where there are IOU cards and scrollable conversation
Scroll and stop in the middle of an IOU card
Move the mouse horizontally on the IOU card without moving up and down to hover over other components

Expected Result:
There should be a hover indicator and context menu should show up just after stopping scrolling even if user doesn't move the mouse up and down
Actual Result:
Hover indicator and context menu doesn't show up unless user hovers over other components and comes back
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: v1.3.72-6
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/9b5b4a77-673d-4947-9863-a83e4da01e39
https://github.com/Expensify/App/assets/115492554/e792f9b9-00d7-4399-9526-7883004829f4
Expensify/Expensify Issue URL:
Issue reported by: @Nathan-Mulugeta
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1695219522514479
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Proposal
Scroll while still hovering over component hides existing reaction/hover
What is the root cause of that problem?
isHoveredRef is set to false on scroll start and on scroll stop the state is set to isHoveredRef which is false
What changes do you think we should make in order to solve the problem?
Remove this line:
https://github.com/Expensify/App/blob/d00a4d6b76a34538d0a93551100582ab5404c96c/src/components/Hoverable/index.js#L49
The hover state is still set to false on scroll in the line below but the previous hover state can be set again if the original component is still hovered:
https://github.com/Expensify/App/blob/d00a4d6b76a34538d0a93551100582ab5404c96c/src/components/Hoverable/index.js#L50
What alternative solutions did you explore?
A timeout could be applied to handle when hover state should be checked again after scroll stop

I think this is expected behavior from this PR.

@Pluto0104 If you hover over a component and scroll a little bit while still hovering over the component, the hover effect disappears.
In Slack the hover effect is invisible while scrolling but becomes visible again when stopped on scrolling on the same component (Slack was referenced in that PR issue as an optimal behaviour)

+1 on @raymondchooi's comment

It looks like we may have broken this here: https://github.com/Expensify/App/pull/27236
@mountiny @abdulrahuman5196 do you have any ideas?

@thienlnam i think this does not have to be a blocker, seems quite minor and could go through a normal deploy process, do you agree? @hurali97 could you look into fixing this one?

Yeah I agree, looks pretty minor

@mountiny Yeah sure, I am looking into this !

@mountiny @adelekennedy Could you guys help assign me here? Thanks!

[@abdulrahuman5196] The PR that introduced the bug has been identified. Link to the PR:
[@abdulrahuman5196] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

https://github.com/Expensify/App/pull/27236

[@abdulrahuman5196] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

The regression step should be good.

[@abdulrahuman5196] Determine if we should create a regression test for this bug.
[@abdulrahuman5196] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Go to any Report and start scrolling.
Once the scroll stops on an item, the hover effect should be visible.
Scroll slightly to remain in that item.
Verify the hover effect should disappear when you scroll and should come back when you stop.
👍 or 👎

@mountiny @thienlnam what's the deal here - https://github.com/Expensify/App/pull/27236 so is anyone due payment (I'm searching stack overflow and coming up short)

@adelekennedy its $500 to @mollfpr for reviewing and testing https://github.com/Expensify/App/pull/27921
And then @Nathan-Mulugeta $50 for reporting this issue

Offer sent to @mollfpr and @Nathan-Mulugeta here

@adelekennedy I think I can get paid from NewDot from now on. Confirm in https://github.com/Expensify/App/issues/27087#issuecomment-1748935486.

Can I get a payment summary on this issue so I can issue payment for @mollfpr?

@JmillsExpensify summary is

@mollfpr $500 for review and testing
@Nathan-Mulugeta $50 for reporting

$500 payment approved for @mollfpr based on summary above.


webpack doesn't respect ts-node options

I am trying to write webpack.config file in typescript
I set my tsconfig.json file to use module: es2020 but override it for ts-node only which webpack uses to compile webpack config files written in typescript, i.e: webpack.config.ts to be module: commonjs.
{
compilerOptions:{
"module": "es2020"
},
"ts-node": {
    "compilerOptions": {
      "module": "commonjs"
    },
  }
}

the output of ts-node --show-config shows that it uses module: commonjs and running ts-node webpack.config.ts runs successfully.
but running it through webpack webpack --config webpack.config.ts doesn't respect values overridden by ts-node and fails with error Cannot use import statement outside a module
to confirm that the problem is coming from not respecting the ts-node property in tsconfig file I changed the main module to commonjs and run the webpack cmd again and it run successfully.

Yes, expected https://webpack.js.org/api/cli/#troubleshooting


Migrated to Swift 3 syntax.

If anything looks off, just let me know and I'll updated it.
Note, I tested using the sample app and it works. The only exception in the sample app is the Enable Contacts button crashes the simulator on iOS 10 even before the pop-up asking for permission appears, but it works fine on an iOS 9.3 simulator. I added a //FIXME for this as well.

Thanks! I'll check this out next week when I'm back at work.

Sounds good. 👍

first() (located at https://github.com/nickoneill/PermissionScope/blob/master/PermissionScope/Extensions.swift#L38) is part of Swift 3 (http://swiftdoc.org/v3.0/protocol/Sequence/#func-first_).

@bre7 Did you mean to just comment the first() extension out, or remove it completely?

Comment the whole method for now.

Done like dinner.

👍

I've updated my local version of PermissionScope to adopt the changes in these commits and almost everything is resolved. However, I'm getting an error with line 955 of PermissionScope.swift: if let error = error where error.code == Int(CMErrorMotionActivityNotAuthorized.rawValue) {. The error message says, "Value of type 'Error' has no member 'code'." Do you know what might be causing this? (I'm using Xcode 8 beta 4.)

@blwinters i saw that as well...it's a new issue that just arose in beta 4. I couldn't figure out how to correct it though, so hopefully it's just a property that's been hidden by mistake and will be fixed in beta 5.

@blwinters @jstheoriginal Related to SE-112 I think: http://ericasadun.com/2016/08/01/geomapping-the-swift-change-log/

good to know!

Any chance to have an official swift3 branch any time soon? 🤔

Only thing needed is to fix offsetInPlace. I'll submit the other fixes later.

I have a Swift-3 branch ready here if you want to have a look

Great. Only one minor detail: I think you can now use .normal instead of UIControlState() (e.g: button.setTitleColor)

Good to know, I already update those too. 👍

Any Plan to create a branch for this?

Can someone explain to me how I can use this PR?

@deada92 in your pod file:
pod 'PermissionScope', :git => 'THE GIT URL', :branch => 'THE BRANCH NAME'

Hey @ed-mejia,
thx for the hint. I use xcode beta 6 and cocoapods 1.1.0.beta.1 and install it with:
  pod 'PermissionScope', :git => 'https://github.com/jstheoriginal/PermissionScope.git', :branch => 'swift-3'
I still have 51 errors of these:
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:19:42: error: function types cannot have argument label 'status'; use '_' instead
public typealias statusRequestClosure = (status: PermissionStatus) -> Void
                                         ^
                                         _
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:20:42: error: function types cannot have argument label 'finished'; use '_' instead
public typealias authClosureType      = (finished: Bool, results: [PermissionResult]) -> Void
                                         ^
                                         _
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:20:58: error: function types cannot have argument label 'results'; use '_' instead
public typealias authClosureType      = (finished: Bool, results: [PermissionResult]) -> Void
                                                         ^
                                                         _
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:21:42: error: function types cannot have argument label 'results'; use '_' instead
public typealias cancelClosureType    = (results: [PermissionResult]) -> Void
                                         ^
                                         _
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:548:47: error: expected ',' joining parts of a multi-clause condition
        if let settingTypes = settings?.types where settingTypes != UIUserNotificationType() {
                                              ^~~~~
                                              ,
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:956:38: error: expected ',' joining parts of a multi-clause condition
                if let error = error where error.code == Int(CMErrorMotionActivityNotAuthorized.rawValue) {
                                     ^~~~~
                                     ,

Any idea why?

Swift 3 related... E.g: where is now ,

Ah, I was thinking the branch fixed the syntax.
Anyway I have fixed some other syntax related to the UIColor calls.
I'm getting now this.. can you help me again?

/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:241:21: error: value of type 'CGRect' has no member 'offsetInPlace'
        headerLabel.frame.offsetInPlace(dx: -contentView.frame.origin.x, dy: -contentView.frame.origin.y)
        ~~~~~~~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:242:21: error: value of type 'CGRect' has no member 'offsetInPlace'
        headerLabel.frame.offsetInPlace(dx: 0, dy: -((dialogHeight/2)-50))
        ~~~~~~~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:246:19: error: value of type 'CGRect' has no member 'offsetInPlace'
        bodyLabel.frame.offsetInPlace(dx: -contentView.frame.origin.x, dy: -contentView.frame.origin.y)
        ~~~~~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:247:19: error: value of type 'CGRect' has no member 'offsetInPlace'
        bodyLabel.frame.offsetInPlace(dx: 0, dy: -((dialogHeight/2)-100))
        ~~~~~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:250:21: error: value of type 'CGRect' has no member 'offsetInPlace'
        closeButton.frame.offsetInPlace(dx: -contentView.frame.origin.x, dy: -contentView.frame.origin.y)
        ~~~~~~~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:251:21: error: value of type 'CGRect' has no member 'offsetInPlace'
        closeButton.frame.offsetInPlace(dx: 105, dy: -((dialogHeight/2)-20))
        ~~~~~~~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:252:21: error: value of type 'CGRect' has no member 'offsetInPlace'
        closeButton.frame.offsetInPlace(dx: self.closeOffset.width, dy: self.closeOffset.height)
        ~~~~~~~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:262:20: error: value of type 'CGRect' has no member 'offsetInPlace'
            button.frame.offsetInPlace(dx: -contentView.frame.origin.x, dy: -contentView.frame.origin.y)
            ~~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:263:20: error: value of type 'CGRect' has no member 'offsetInPlace'
            button.frame.offsetInPlace(dx: 0, dy: -((dialogHeight/2)-160) + CGFloat(index * baseOffset))
            ~~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:283:27: error: value of type 'CGRect' has no member 'offsetInPlace'
                    label.frame.offsetInPlace(dx: -self.contentView.frame.origin.x, dy: -self.contentView.frame.origin.y)
                    ~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:284:27: error: value of type 'CGRect' has no member 'offsetInPlace'
                    label.frame.offsetInPlace(dx: 0, dy: -((dialogHeight/2)-205) + CGFloat(index * baseOffset))
                    ~~~~~~^~~~~ ~~~~~~~~~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:610:23: error: value of type 'DispatchQueue' has no member 'after'
        DispatchQueue.main.after(
        ~~~~~~~~~~~~~~^~~~ ~~~~~
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:955:18: error: contextual member 'main' has no associated value
            to: .main()) { activities, error in
                 ^
/Volumes/SDIntern/Entwicklung/Apps/PrayForTheWorld/Pods/PermissionScope/PermissionScope/PermissionScope.swift:79:39: error: unable to infer closure type in the current context
    lazy var defaults: UserDefaults = {

Everything is Swift 3 related. Non-existent methods, etc. Try to fix them using the docs or wait for final PR

okay thx

Swift 3 (Xcode 8.0 beta 6) branch committed

thank you 👍


Fix issue where bulk_lookup_rdap() returns only one item result

Add rdap lookups to the returned dictionary results

Travis CI hook doesn't seem to be working and coveralls is missing. Strange.

Coverage increased (+0.0006%) to 99.214% when pulling fe7dd4fde02c170b22bbf08274677070b71d9659 on ameidatou:issue_262_bugfix into 282fb01904fa5c38afa3a759908041b5b65b8674 on secynic:dev.


Dont treat registry ports badly when cleaning image name during Bump

Fixes #151;
Fixed the cleanImageName function here.
Behaviour before:
$ cat func.yaml
name: localhost:5000/rdallman/hotyodawg
version: 0.0.3
runtime: go
entrypoint: ./func
$ ../fn bump
Bumped to version 0.0.4
$ cat func.yaml
name: localhost
version: 0.0.4
runtime: go
entrypoint: ./func

Behaviour after:
$ cat func.yaml
name: localhost
version: 0.0.4
runtime: go
entrypoint: ./func
$ ../fn bump
Bumped to version 0.0.5
$ cat func.yaml
name: localhost:5000/rdallman/hotyodawg
version: 0.0.5
runtime: go
entrypoint: ./func

thanks for taking this one. sorry not to mention this earlier, fwiw we use https://github.com/fnproject/fn/blob/master/api/agent/drivers/driver.go#L277 in the server side to do this parsing. it would be nice if we used the same code in the CLI, there seem to be numerous places where parsing images is buggy in the CLI but works fine in the server. as far as battle plan there for using that code since we aren't mono repo anymore, I'm not sure, I would like to avoid importing fn wholesale into the cli (it has come up for other things). at least, there's no good plan there for a common import, but it seems wise to copy the code over for image parsing in the CLI since we've diverged and the server version seems to work well. thoughts?

@rdallman I agree that it would be wise to pick up the same image parsing functions in the cli. I think copying over those functions with some appropriate table-tests would be useful here. By making it obvious that those functions are present in the cli we may drive more adoption of its usage. Incoming update.

Hilariously you can find a bunch of image name parsing by searching for "/"

@rdallman hmm, introducing those functions as specified in fn server will actually change functionality here in some cases:

an image name of something would be converted into library/something
this may have unexpected results when combined with FN_REGISTRY
I find it hard to tell whether the name field in the func.yaml is meant to be the function name or the destination image to push to. it's not really clear.

I think we should bring those functions on board when your proposal of FN_REGISTRY_URL is ready. Since that standardises the image name building greatly.

darn, thanks for looking. that makes sense, we have an added ambiguity for library/ images conflicting with registries that should not have FN_REGISTRY prepended (further building the case to modify semantics).

I find it hard to tell whether the name field in the func.yaml is meant to be the function name or the destination image to push to. it's not really clear.

yea, I agree it's confusing. there's an issue filed https://github.com/fnproject/fn/issues/310 but since closed with some context that may be of interest, if you have any opinion would be glad to hear it.
this code looks good to fix this bug, let's ship it and fix image/registry stuff altogether elsewhere. thanks!


Flash button does not appear on some android phones

Flash button does not appear on some android phones, so I can't activate Flash on the phone. Model GT-S7580. Of course phone has built-in flash.

Really not sure what you mean... The default overlay has no flash button on it, it's something you would add yourself.


Stop using 2 way data binding and do DDAU.

DDAU = Data Down Actions Up.
Basically emit an action every time the value changes.

This issue is closed since we moved to another repo: https://github.com/thefrontside/emberx-range-input/issues/4


Sections in issue templates

When I make issues following the issue template I find myself hampered by the fact that our templates use formatting, not sections, to construct the form. I'd like to use sections so that paragraph breaks are more obvious and have implemented this in the "Defect" and "Enhancement" templates in the attached PR. Any objections?

No objections from me.


breaking change: changing title property by label property in Vertica…

…lSectionOverflow. fixes #239

Pull Request Test Coverage Report for Build 1133

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 72.559%

Totals

Change from base Build 1122:
0.0%

Covered Lines:
579

Relevant Lines:
760

💛  - Coveralls


Testing!

Decide on a testing framework and get solid unit test coverage.

Started - https://github.com/Jakehp/qkCryptoJS/commit/33b3ba111fdf2169ae216ac4b96f3afaf97e11a7


Critical: minotaur doesn't start for ages when any data source is unreachable

Instead of using the data it already has cached, stale as it may be, minotaur instead just doesn't start at all. This appears in the logs, but minotaur never actually starts mining:
$ cat /var/log/minotaur/minotaur.log
2018-03-24 12:44:43: [info] initialising
2018-03-24 12:44:43: [warning] failed to check for updates
2018-03-24 12:49:44: [info] scanning devices
2018-03-24 12:49:44: [info] found 10 nvidia GPUs
2018-03-24 12:49:44: [info] device 0 [1070Ti]:      ccminer: blake2s,blake256r8,decred,cryptonight,keccak,neoscrypt,nist5
2018-03-24 12:49:44: [info] device 0 [1070Ti]:      ccminer: qubit,lbry,lyra2rev2
2018-03-24 12:49:44: [info] device 0 [1070Ti]:     ethminer: daggerhashimoto
2018-03-24 12:49:44: [info] device 0 [1070Ti]: xmrig_nvidia: cryptonight
2018-03-24 12:49:44: [info] device 0 [1070Ti]:    excavator: blake2s,decred,cryptonight,daggerhashimoto,keccak,sia,neoscrypt
2018-03-24 12:49:44: [info] device 0 [1070Ti]:    excavator: daggerhashimoto_decred,daggerhashimoto_pascal,pascal,daggerhashimoto_sia
2018-03-24 12:49:44: [info] device 0 [1070Ti]:    excavator: lyra2rev2,equihash,lbry,nist5
2018-03-24 12:49:44: [info] device 0 [1070Ti]:     ccminer2: blake2s,keccak,neoscrypt,x11gost,x11,qubit,x13,lbry,nist5
2018-03-24 12:49:44: [info] device 1 [1080tife]:     ethminer: daggerhashimoto,daggerhashimoto
2018-03-24 12:49:44: [info] device 1 [1080tife]: xmrig_nvidia: cryptonight,cryptonight
2018-03-24 12:49:44: [info] device 1 [1080tife]:    excavator: nist5,equihash,keccak,lyra2rev2,neoscrypt,lyra2rev2,keccak,equihash
2018-03-24 12:49:44: [info] device 1 [1080tife]:    excavator: nist5,neoscrypt
2018-03-24 12:49:44: [info] device 1 [1080tife]:     ccminer2: x11gost,x11gost
2018-03-24 12:49:44: [info] device 2 [1070Ti]:  as above
2018-03-24 12:49:44: [info] device 3 [1070]:     ethminer: daggerhashimoto
2018-03-24 12:49:44: [info] device 3 [1070]: xmrig_nvidia: cryptonight
2018-03-24 12:49:44: [info] device 3 [1070]:    excavator: blake2s,decred,cryptonight,daggerhashimoto,keccak,pascal,neoscrypt
2018-03-24 12:49:44: [info] device 3 [1070]:    excavator: daggerhashimoto_decred,daggerhashimoto_pascal,sia,daggerhashimoto_sia
2018-03-24 12:49:44: [info] device 3 [1070]:    excavator: lyra2rev2,equihash,lbry,nist5
2018-03-24 12:49:44: [info] device 3 [1070]:     ccminer2: keccak,x11gost,nist5
2018-03-24 12:49:44: [info] device 4 [1080timsi]:     ethminer: daggerhashimoto,daggerhashimoto
2018-03-24 12:49:44: [info] device 4 [1080timsi]: xmrig_nvidia: cryptonight,cryptonight
2018-03-24 12:49:44: [info] device 4 [1080timsi]:    excavator: keccak,neoscrypt,equihash,lyra2rev2,nist5,nist5,equihash,keccak
2018-03-24 12:49:44: [info] device 4 [1080timsi]:    excavator: lyra2rev2,neoscrypt
2018-03-24 12:49:44: [info] device 4 [1080timsi]:     ccminer2: x11gost,x11gost
2018-03-24 12:49:44: [info] device 5 [1070Ti]:  as above
2018-03-24 12:49:44: [info] device 6 [1080Ti]:     ethminer: daggerhashimoto
2018-03-24 12:49:44: [info] device 6 [1080Ti]: xmrig_nvidia: cryptonight
2018-03-24 12:49:44: [info] device 6 [1080Ti]:    excavator: nist5,equihash,keccak,lyra2rev2,neoscrypt
2018-03-24 12:49:44: [info] device 6 [1080Ti]:     ccminer2: x11gost
2018-03-24 12:49:44: [info] device 7 [1070Ti]:  as above
2018-03-24 12:49:44: [info] device 8 [1080tiasus]:     ethminer: daggerhashimoto,daggerhashimoto
2018-03-24 12:49:44: [info] device 8 [1080tiasus]: xmrig_nvidia: cryptonight,cryptonight
2018-03-24 12:49:44: [info] device 8 [1080tiasus]:    excavator: equihash,neoscrypt,keccak,lyra2rev2,nist5,nist5,equihash,keccak
2018-03-24 12:49:44: [info] device 8 [1080tiasus]:    excavator: lyra2rev2,neoscrypt
2018-03-24 12:49:44: [info] device 8 [1080tiasus]:     ccminer2: x11gost,x11gost
2018-03-24 12:49:44: [info] device 9 [1080Ti]:  as above
2018-03-24 12:49:44: [warning] you only have calibration data for 228/270 supported algorithm/device combinations
2018-03-24 12:49:44: [info] retrieving state from miner backends
2018-03-24 12:49:45: [info] device 0 [1070Ti]: most profitable is now: ethermine/daggerhashimoto in region: None using ethminer
2018-03-24 12:49:45: [info] device 1 [1080tife]: most profitable is now: ethermine/daggerhashimoto in region: None using ethminer
2018-03-24 12:49:45: [info] device 2 [1070Ti]: most profitable is now: ethermine/daggerhashimoto in region: None using ethminer
2018-03-24 12:49:45: [info] device 3 [1070]: most profitable is now: ethermine/daggerhashimoto in region: None using ethminer
2018-03-24 12:49:45: [info] device 4 [1080timsi]: most profitable is now: ethermine/daggerhashimoto in region: None using ethminer
2018-03-24 12:49:45: [info] device 5 [1070Ti]: most profitable is now: ethermine/daggerhashimoto in region: None using ethminer
2018-03-24 12:49:45: [info] device 6 [1080Ti]: most profitable is now: flypool/equihash in region: None using excavator
2018-03-24 12:49:45: [info] device 7 [1070Ti]: most profitable is now: ethermine/daggerhashimoto in region: None using ethminer
2018-03-24 12:49:45: [info] device 8 [1080tiasus]: most profitable is now: flypool/equihash in region: None using excavator
2018-03-24 12:49:45: [info] device 9 [1080Ti]: most profitable is now: flypool/equihash in region: None using excavator
2018-03-24 12:51:25: [warning] failed to refresh data for pool: ethermine
2018-03-24 12:53:05: [warning] failed to refresh data for pool: flypool

Critical: It does seem to start mining eventually but this takes over 5 minutes.

As far as I can tell, this is directly related to these messages:
2018-03-24 12:51:25: [warning] failed to refresh data for pool: ethermine
2018-03-24 12:53:05: [warning] failed to refresh data for pool: flypool

When the API for any pool goes down, the whole thing stops.
GS stops working, too, it never renders anything.


version 10.0.22621.2070 is not support

Duplicate of https://github.com/stascorp/rdpwrap/issues/2290


Update audiodevicemodulesmanager.md

added capabilities for RS2

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


Remove dependence on installations from github

This removes our dependence on installing specfic branches of codes via github, instead of via pip. Installing deps via github is forbidden for us to be on PyPI (see #93 ).

Codecov Report

Merging #123 (dc19627) into master (8af61ed) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##           master     #123   +/-   ##
=======================================
  Coverage   61.30%   61.30%
=======================================
  Files          30       30
  Lines        1920     1920
=======================================
  Hits         1177     1177
  Misses        743      743


Proper check for git repository

Checklist

[ ] I have filed an issue about this change and discussed potential changes with the maintainers.
[ ] I have received the approval from the maintainers to make this change.
[x] This is not a stylistic, refactoring, or cleanup change.

Please note that the maintainers will not be reviewing this change until all checkboxes are ticked. See
the Contributions section in the README for more
details.
Discussion thread for this change
Issue number: <please reference the issue number or url here>
Description of this change
Our project is in git repo and have .git folder in one of the parent folder so check for .git is not enough.


Adding Bree

Currently about 40% complete?
Fast travel and job board have been added to the area.

Basic job quests done, Archet added, build at about 90% complete with some minor terra-forming needed.

Build complete, quests being handled in separate issue


Establish a trace context in a non-http context.

Is your feature request related to a problem? Please describe.
Tracing seems dependent on an HTTP Context. When I am performing a function in response to a message coming in off of pubsub for example, I cannot establish an http context for the "request" nor would I want to, however the trace information may be available on the bus message so I should be able to re-establish the span and continue it. This results in broken traces once a transaction/span hits a service bus of any kind.
Describe the solution you'd like
I think ideally, the Activity object would be in place of (or in tandem with) the TraceHeaderContext. Activities are created whenever an entrypoint is engaged. For example when an HTTP request begins (incoming) or when the message from the bus is dispatched to a handler.
As luck would have it, the Activity also supports the W3C trace context format, making it easy to establish that. Since it would appear that this SDK doesn't yet support that either, we can use the tracestate to propogate the X-Cloud-Trace header and its value. Possibly knock out two enhancements in one. An adapter may be warranted.
Describe alternatives you've considered
I've considered creating a different scoped service. Sort of a property bag that would be accessible through DI but this wouldn't be consistent with how traces are establish when we actually DO have an HTTP context. It would be better to have a unified method, which I think lies in the Activity.

Tracing itself isn't dependent on an HTTP context. Our ASP.NET Core part is, for natural reasons.
I suspect that the real answer is going to be integration with OpenTelemetry - to be honest, I hope that we can provide a good logging format to stdout that will avoid needing a logging API, and OpenTelemetry integration for tracing, allowing us to avoid a "heavy" integration at all.
Amanda may well have more information.

@jskeet I that OpenTelemetry  is probably a better fit, but I'm having a hard time figuring out where we're at with that. We're currently settled on the W3C format and a few blogs suggest Google has (or is) implementing it and it is already available in some areas. I'm trying to find a solution that allows us to trace and log using W3C Trace Context to keep them linked. I agree that I'd rather just emit this stuff to stdout. I guess the greatest challenge right now is establish the trace context outside of an HTTP context.
We do have a support contract btw (we're migrating from Azure to GCP), and this is a bit of a sticking point. I wanted to gauge interest here first and I can open it inside of cloud console.

I suspect you can do everything you need already with what's in the ASP.NET Core Diagnostics package, or with the "raw" tracing/logging APIs (which can certainly be used directly). Amanda may have more information. We haven't been prioritizing OpenTelemetry so far, partly as it's still in beta (and we're a small team), but I would hope we'll set aside some time at some point. (I appreciate that doesn't help you right now.)

Oh that's good information. This is a huge talking point with us. We were under the impression that we couldn't have to use proprietary cloud trace headers as we build out other systems that are not hosted in GCP. We have a team that's trying to refine some logging in other non-cloud systems but pipe them through cloud trace, using that w3c format so we can trace full transactions across cloud and non cloud systems if that makes sense. If we still have to use X-Cloud-Trace-Context while OpenTelemetry integration is being developed, that would be good to know. Am I understanding that right? That OpenTelemetry would be a different package that still sinks to stackdriver/cloud trace? Or is it something else completely?
Is there a roadmap somewhere by chance?

I would expect OpenTelemetry integration to be via a different package, yes. (I suspect there'd be a package which is just a Cloud Trace sink, and relies on OpenTelemetry itself for all the integration.) We haven't had the time to look deeply at OpenTelemetry yet.
No roadmap for all this I'm afraid, more due to being busy with other work than anything else.
If you could give some more information about your scenario (are you using ASP.NET Core at all, or should we be talking about other contexts?) I suspect @amanda-tarafa will be able to help you more concretely than I can.

@jstafford5380 I'll try to answer/comment on all your points, but please come back if I've missed something:
On OpenTelemetry: What have stopped us from even starting to look at OpenTelemetry integration is basically this notice on the .NET OpenTelemetry repo. It's not just that the library is in beta, but also that they don't guarantee to follow a specific version of the spec and are making emphasis on not even attempting to be backwards compatible from release to release.
On the W3C format: Some of GCP's infrastructure already supports traceparent while still supporting x-cloud-trace-context. I'm sorry the best information I have right now for you is this https://github.com/GoogleCloudPlatform/esp-v2/pull/252#issuecomment-686884547 from another Googler. I will try to get more shareable details internally. From this issue I can't be sure what GCP infrastructure you are using, but it's possible that you don't even have to use x-cloud-trace-context.
On using other than HttpContext for establishing a trace context: We have Google.Cloud.Diagnostics.AspNetCore[3].IExternalTraceProvider that you can use to provide (for logging) any tracing context you'd like. This will solve both your issues of not having to depend on HttpContext and being able to read some other than x-cloud-trace-context trace headers (as long as the infrastructure sends them our way of course).  Usage of this is not documented (I can work on that) but you can take a look at #5214 which introduced this feature. Basically you configure the logging component of Google.Cloud.Diagnostics.AspNetCore[3] but not the tracing component, and then, with standard DI, inject whatever implementation of IExternalTraceProvider you need. In the absence of Google.Cloud.Diagnostics.AspNetCore[3]'s tracing component, we'll use that provider for obtaining trace context for log entries. There's also FR #5360 open for adding trace information to error log entries logged with the error reporting component of Google.Cloud.Diagnostics.AspNetCore[3] in case you were planning on using that.
On Activity (I think you mean System.Diagnostic.Activity): Yes, this probably is a nice way to go, but it will require lots of work now, and since we are in-between current state and the hope of OpenTelemetry integration, we probably won't be investing time on it unless there's absolutely no other alternative. I believe what I've described above is a good alternative for you.
Let me know.

Yes, IExternalTraceProvider is only intended to work for the Logging component of the Diagnostics libraries. I wasn't sure from your original post whether you wanted to expand traces or just add the information to log entries.
If I'm understanding you correctly, you want an Activity based layer that can be initialized from multiple sources, one of them being HTTP, one of them being Pub/Sub subscribers, maybe some others. Google.Cloud.Diagnostics.AspNetCore* is not that layer, nor is something you could simply wrap with Activity because it is, as @jskeet said, naturally tied to HttpContext.
But, I think you can use Goole.Cloud.Diagnostics.AspNetCore* as the implementation of the HTTP dependand bits, and Google.Cloud.Diagnostics.Common for implementing the rest:

At the center is Diagnostics.Common.ContextTraceManager which holds the Common.IManagedTracer for the current context (context here used in general terms). You'd want to write your Activity layer on top of that, so that Activity writes to and reads from the current Common.IManagedTracer.
You'd configure the tracing Diagnostics.AspNetCore* so that the middleware defined there handles HTTP context based tracing, i.e., initializes the current IManagedTracer correctly for HTTP requests. This would be currently tied to Google's header format, but I can add a simple hook here so you can use the W3C format if needed.
You'd then write code that initializes IManagedTracer for non-HTTP context tracing. For that you can obtain a factory Func<TraceHeaderContext, IManagedTracer> from standard DI (it was registered by Diagnostics.AspNetCore*) and you'd use that factory and TraceHeaderContext.Create(string traceId, ulong? spanId, bool? shouldTrace) to obtain an IManagedTracer that you can set as the current tracer on ContextTraceManager, for Pub\Sub incoming messages or anything else.
From then on everything should work the same.

This might seem like a little too much, but is really not. Notice that you don't even need to write the Activity based layer if you are OK with using IManagedTracer directly. And the other bit that you need to write is really the initialization of the trace context for non-HTTP based traces, which is expected being custom (with respect to what we support).
If I didn't understand right, I'd need a little more context, maybe some code snippets of what you want to achieve to try and help you better.
Let me know.

This might seem like a little too much, but is really not.

No, not at all! I think that makes sense. I think I would need to figure out how to create get traceid, ulong, spanid from a trace traceparent though in order to create that context.

Microsoft have created System.DiagnosticSource.Activity that allows you to capture TraceId and SpanId.
See also: https://github.com/dotnet/runtime/blob/main/src/libraries/System.Diagnostics.DiagnosticSource/src/ActivityUserGuide.md

BTW, OpenTelemetry .NET reaches v1.0 https://devblogs.microsoft.com/dotnet/opentelemetry-net-reaches-v1-0/

Thanks @StasPerekrestov. Yes we are already looking into next steps. An annoucement will be made once we have a plan.

@jstafford5380 Given your latest comments on #5929 I was wondering if you still have the need for this feature or not, i.e. the hook to provide trace information that is not comming from Google's own trace header.
@StasPerekrestov you've also shown interest. Is my proposed approach in https://github.com/googleapis/google-cloud-dotnet/issues/5897#issuecomment-773537493 something that would work for you? Would you need the hook as well for obaining the trace information from other than Google's own trace header?
I'm just prioritizing the Diagnostics work and this info will help me do that. Thanks.

Yeah, I think it's still needed. We still need the ability to re-establish
a trace context that didn't necessarily come in from an http request.
On Tue, Apr 6, 2021 at 8:45 AM Amanda Tarafa Mas @.***>
wrote:

@jstafford5380 https://github.com/jstafford5380 Given your latest
comments on #5929
https://github.com/googleapis/google-cloud-dotnet/issues/5929 I was
wondering if you still have the need for this feature or not, i.e. the hook
to provide trace information that is not comming from Google's own trace
header.
@StasPerekrestov https://github.com/StasPerekrestov you've also shown
interest. Is my proposed approach in #5897 (comment)
https://github.com/googleapis/google-cloud-dotnet/issues/5897#issuecomment-773537493
something that would work for you? Would you need the hook as well for
obaining the trace information from other than Google's own trace header?
I'm just prioritizing the Diagnostics work and this info will help me do
that. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/googleapis/google-cloud-dotnet/issues/5897#issuecomment-814226493,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALI4REDEUCWV7Q7WVPDPIELTHMUDDANCNFSM4W5OJ3JQ
.

In my case, I use a subscription to pubnub and there is no HttpContext when I receive a message.

OK, thanks for the info. I'll work on this then.

I've just merged #6568 that addresses this issue fully by:

Decoupling Diagnostics from Google's trace header so you can use other trace context formats.
Making it easier to use the Diagnostics packages from non ASP.NET Core apps, in particular when requests are not HTTP requests.
I've added docs and simple code snippets for both use cases.

I'll flag here when we've released, I first want to addres a couple more requests that we have open.


About the truncation of values and keys in AutoCorrelation

Hello, I am very curious about the truncation in AutoCorrelation for cross attention. Why the values are truncated by the first L elements but not the last L, which might be more correlated to the outputs.
https://github.com/thuml/Autoformer/blob/main/layers/AutoCorrelation.py#L111
 def forward(self, queries, keys, values, attn_mask):
        B, L, H, E = queries.shape
        _, S, _, D = values.shape
        if L > S:
            zeros = torch.zeros_like(queries[:, :(L - S), :]).float()
            values = torch.cat([values, zeros], dim=1)
            keys = torch.cat([keys, zeros], dim=1)
        else:
            values = values[:, :L, :, :]
            keys = keys[:, :L, :, :]

Good point!
As your suggestion, the last L is more correlated. You can change this part to keys[:, -L:, :, :] and values[:, -L:, :, :].
In our paper, most experiments are under the condition of L>S. You can try the above setting.