External image sources

Hi,
First of all thank you for your work, it's excellent and very simple to use.
I have a small problem, when I use the face recognition, the api doesn't seem to work with external image sources. I would like to work with a data base and I'm receiving this error message :
"Failed to execute 'texImage2D' on 'WebGL2RenderingContext': Tainted canvases may not be loaded."
Do you know how can I overcome this problem ?

Hmm, can you show some example code of what you are doing? The error message indicates that whatever you are trying to pass into the net is either not a tensor or a valid media element or the media content is not loaded yet.

html :

js
     const $imgToCompare = footballerImageContainer.querySelectorAll("img")
//compare image
const compareImage = async ()=>{

    //load models
    await faceapi.loadModels(MODEL_URL)

    //vector the custom image
    const descriptor1 = await faceapi.computeFaceDescriptor($customImage)

   //compare all the images to the custom image
    $imgToCompare.forEach(img => {
        //compare both image
        faceSimilarities(img, descriptor1)
    });
}

//compare faces
const faceSimilarities = async (image, descriptor1)=>{

    //vector the images to compare
    const descriptor2 = await faceapi.computeFaceDescriptor(image)

    //compare the ressemblance of the faces
    const distance = faceapi.euclideanDistance(descriptor1, descriptor2)

    //transform the distance in %
    const similarityPercentage = Math.round(((1 - distance) * 100) * 100) / 100
    // console.log(similarityPercentage + "%")

    //put the value in the array
    imgScore.push(similarityPercentage)

    //if it's the last image
    if($imgToCompare[$imgToCompare.length - 1] === image){
        compareScore()

    }
}

So this will calculate the euclidian distance between a custom image, and all the image in the "footballer_images_container" div. When it's finished, it will pick the image with the most similarities with the function compareScore().
The problem is it will work for "public/amy1.png" because the source is in local but not for "https://upload.wikimedia.org/wikipedia/commons/e/e4/Karim_Benzema_2018.jpg" because the source is external.
I hope i'm clear.

You may get blocked by the browser because of the CORS on the external site

Yeah @seranus is right, that sinply wont work. Look at the example how I implemented external images fetching, I proxy the request via an express server

Ok thank you !

@sathyamoorthyrr have you found a solution for videos?

@lpsBetty have you found solution, any idea. I'm have same problem

@sathyamoorthyrr have you found a solution for videos?

@lpsBetty
I think I got settled with an internal video, as per this, https://github.com/sathyarr/video-face-emotion-detection-analysis/blob/master/README.md#how-to-run
I have lost the context altogether. been so long worked on this.

@IgorGomesFATEC yes it worked with the "newer" npm package: https://www.npmjs.com/package/@vladmandic/face-api

I am facing a similar issue.       My images are local to the computer.      If I load them like this:

everything works correctly.
However, if I retrieved them from a server I have running locally:

I get the exact same error message:
DOMException: Failed to execute 'texImage2D' on 'WebGL2RenderingContext': Tainted canvases may not be loaded.
I don't understand this, since both approaches are successful in loading the image, and in both cases, I am not accessing the image until after the 'load' event is thrown.        Don't both result in exactly the same image data being loaded into the element?


Fix issues

Add ignore file support
Fix log output

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

tools/office-cmdlet-updater/config/default.json
:white_check_mark:Succeeded

tools/office-cmdlet-updater/services/log.store.service.js
:white_check_mark:Succeeded

tools/office-cmdlet-updater/services/markdown.service.js
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

tools/office-cmdlet-updater/config/default.json
:white_check_mark:Succeeded

tools/office-cmdlet-updater/controllers/markdown.controller.js
:white_check_mark:Succeeded

tools/office-cmdlet-updater/services/log.store.service.js
:white_check_mark:Succeeded

tools/office-cmdlet-updater/services/markdown.service.js
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Microsoft.Sql/servers/elasticPools metrics documentation outdated

Metrics like database_* for Microsoft.Sql/servers/elasticPools resources does not exist since base metrics have database dimension.
Also, the dimension is Microsoft.Sql/servers/elasticpools and not Microsoft.Sql/servers/elasticPools.
Moreover, can you please document properly the metrics (aka avoid cpu_percent = CPU percent). The metrics documentation is way too light.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a0a586c4-71fd-e60b-9c4c-1a3eb2443c74
Version Independent ID: 2f3706cc-073b-a310-8da4-2a5a90da6473
Content: Azure Monitor supported metrics by resource type - Azure Monitor
Content Source: articles/azure-monitor/platform/metrics-supported.md
Service: azure-monitor
Sub-service: metrics
GitHub Login: @rboucher
Microsoft Alias: robb

Also, it seems that lot of metrics are missing.
Regarding the API:
  "cpu_percent",
  "physical_data_read_percent",
  "log_write_percent",
  "dtu_consumption_percent",
  "storage_percent",
  "workers_percent",
  "sessions_percent",
  "eDTU_limit",
  "storage_limit",
  "eDTU_used",
  "storage_used",
  "xtp_storage_percent",
  "sqlserver_process_core_percent",
  "sqlserver_process_memory_percent",
  "tempdb_data_size",
  "tempdb_log_size",
  "tempdb_log_used_percent",
  "allocated_data_storage",
  "allocated_data_storage_percent"

@BzSpi
Thanks for your feedback! We will investigate and update as appropriate.

Since there's extensive change required to the doc, re-assigning to @rboucher , content owner, to review and revise.

#please-close. This doc was just updated with latest information.


Overhead from SecureRandom in Buddy benchmarks

Buddy benchmarks use buddy.core.nonce/random-bytes, which creates a new SecureRandom instance on each invokation. This may introduce significant overhead, as the instantiation of SecureRandom is a blocking operation that depends on available entropy.
Impact: The overhead in Buddy benchmarks hinders comparing their metrics to other benchmarks, as they do not contain similar overhead, but reuse the SecureRandom instance.
Potential solution: invoke the buddy.core.nonce/random-bytes two arg version, which uses the SecureRandom instance provided as the second parameter.

Hi thanks for finding this.
I did a quick update as you suggested, the through put doubled but its still only ~+500 op/s , way less than the thousands per second that the other libs and even the just bouncy castle shows.
I'll run a full benchmark and re-publish the results.

see https://github.com/gerritjvv/crypto/pull/2/files (ignore the html part which crept in from the blog post preps :) ).

Thanks for the quick fix! Now I feel much more confident in using these benchmarks as a reference.
:+1:

https://github.com/gerritjvv/crypto/tree/master/crypto-perf this page now contains the new changes made and another set of aes vs non aes benchmarks.


dynamic window width

the width of the window adjusts to the length of the text (made with chatGPT)

Is this change a patch? If so, you should prefix the pull request title as such.


Wyoming whisper support for Jetson AGX Xavier

If nobody has until now i wanted to push support for older models like AGX Xavier for the Docker containers like wyoming whisper.
Especially Wyoming whisper might profit from getting a native docker image on Jetson AGX Xavier because currently we can only use CPU when using whisper. Having a container like https://hub.docker.com/r/dustynv/wyoming-whisper for other platforms would be appreciated. Altough i haven't managed to get it running it seems there are already many Docker Images for GPU use and Wyoming Whisper. See https://github.com/andyattebery/faster-whisper-cuda-docker

Hi @ark626, are you currently able to build it for JetPack 5?   IIRC at the time those containers were added, I encountered compilation errors in the HA/Wyoming stack on JP5.  But if they build, I will push the images to dockerhub :+1:

I was able to build the image quite straightforward, using the repo/Dockerfile from here https://github.com/rhasspy/wyoming-addons/tree/master/whisper with ctranslate2:4.2.0 image from here as base

Had same issue as @ark626 . After some digging was able to get it build and working for JetPack5. Downgraded ctranslate2 to 3.24.0 for CUDA11 as mentioned in the faster-whisper requirements. And did some changes to use python 3.8. If others are interested, the diff can be checked here: https://github.com/dusty-nv/jetson-containers/compare/master...binsentsu:jetson-containers:master


Fix needed for phoenix 2178

Review and Merge

Please instruct me if I have to change any more classes.


⚠ Fortnite has degraded performance

In 86c48f7, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1426 ms

Resolved: Fortnite performance has improved in 5b1775b.


bugfix:FastjsonUndoLogParser关于datatime类型的bug导致事务不能回滚

Ⅰ. Describe what this PR did
解决FastjsonUndoLogParser关于datatime类型的bug导致事务不能回滚
Ⅱ. Does this pull request fix one issue?
fixes #3866.

Codecov Report

Merging #3897 (e548b98) into develop (fcc60db) will decrease coverage by 0.07%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             develop    #3897      +/-   ##
=============================================
- Coverage      40.78%   40.70%   -0.08%
  Complexity      3060     3060
=============================================
  Files            682      682
  Lines          22896    22872      -24
  Branches        2844     2796      -48
=============================================
- Hits            9337     9309      -28
+ Misses         12687    12666      -21
- Partials         872      897      +25

Impacted Files
Coverage Δ

.../java/io/seata/rm/datasource/DataCompareUtils.java
72.41% <0.00%> (-1.71%)
:arrow_down:

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
:arrow_down:

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
:arrow_down:

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
:arrow_down:

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
:arrow_down:

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0.00%> (-6.25%)
:arrow_down:

...otobuf/convertor/GlobalStatusRequestConvertor.java
93.75% <0.00%> (-6.25%)
:arrow_down:

...obuf/convertor/GlobalRollbackRequestConvertor.java
93.75% <0.00%> (-6.25%)
:arrow_down:

...protobuf/convertor/RegisterTMRequestConvertor.java
94.73% <0.00%> (-5.27%)
:arrow_down:

...protobuf/convertor/RegisterRMRequestConvertor.java
90.47% <0.00%> (-4.77%)
:arrow_down:

... and 27 more


Integrate Zap Logger for Enhanced Request/Response Logging

Is your feature request related to a problem? Please describe.
Currently, there is no structured logging implemented in the route handling of our application. This makes it challenging to debug issues and track requests/responses, especially when trying to identify errors or monitor the application's behavior. I'm always frustrated when I can't find sufficient information in the logs to troubleshoot problems effectively.
Describe the solution you'd like
I would like to implement Zap logging in the routes/routes.go file to enhance our logging capabilities. This should include logging relevant information such as incoming requests, response statuses, and any errors that occur during the request handling process. For example, each route handler should log when a request is received, and the status of the response (e.g., 200 OK, 404 Not Found, etc.).
Describe alternatives you've considered
As an alternative, we could continue using the default logging provided by Gin, but it lacks the structured and customizable features that Zap offers. Additionally, we could explore other logging libraries, but Zap is known for its performance and structured logging, which aligns with our application's needs.
Additional context
Implementing Zap will not only help in debugging but also in monitoring the application's health and usage patterns over time. It would be beneficial for all team members to have access to structured logs that provide insights into the application's operation.
Please assign this issue to me and label it under gssoc level3

There is no need of Zap logger , gin has its own capability to log , and its implemented and it is in production

I know but again as I said "As an alternative, we could continue using the default logging provided by Gin, but it lacks the structured and customizable features that Zap offers. Additionally, we could explore other logging libraries, but Zap is known for its performance and structured logging, which aligns with our application's needs." Thats why i thought why not to add it .


Razor component catch-all route throws

Running on <IP_ADDRESS>, I've created a razor component (.razor file) with a route using a catch-all template (the same happens with a single-asterisk catch-all):
@page "/foo/{**data}"

An exception is thrown at runtime:

System.InvalidOperationException:
Invalid template 'foo/{**data}'. The character '*' in parameter segment '{**data}' is not allowed.

Nothing in the routing docs for RC's mentions catch-all parameters being unsupported, only optional parameters.

@MV10 thanks for contacting us.
Razor components don't support that type of catch-all routes. I believe you can still use "/foo?{*data}".


[docs] Revert upgrade to next 9

In case renaming the route isn't a positive tradeoff.

@eps1lon Thanks for preparing the PR ❤


STM32 ADC - read of multiple channels in a sequence

Is your enhancement proposal related to a problem? Please describe.
Currently STM32 only supports a single channel in a sequence read, this is not consistent with the driver of other SoCs and not documented anywhere.
https://github.com/zephyrproject-rtos/zephyr/blob/1cc73074d0540caa8dd7ea9501afefea2e410791/drivers/adc/adc_stm32.c#L325
Describe the solution you'd like
Make it consistent with other drivers and reflect what the int adc_read(conststructdevice *dev, conststructadc_sequence *sequence) API intends to do.
Describe alternatives you've considered
N/A
Additional context
N/A

I'm closing as already requested in https://github.com/zephyrproject-rtos/zephyr/issues/32288.


Missing declarations to index-19f89c12.js and SyntaxError: Cannot use import statement outside a module

It's not possible to build it in other way than develop, because some scripts inside vue3-pdfjs have no declarations:

failed build:

SyntaxError: Cannot use import statement outside a module

Hi @spokospace , I just tried on a fresh installation of Vue and there doesn't seem to be any problem with the builds. If you're using a modern bundler you can import the component like import { VuePdf, createLoadingTask } from 'vue3-pdfjs';

Hello. Okay, yes, thanks! I configured it and run on development mode correctly, but still have issue with production.
I'm trying to connect this with vite-ssg (inside vitesse starter template).
I tried with:
import { VuePdf, createLoadingTask } from 'vue3-pdfjs/cjs/index.js' but then I have error 'window is not defined':
[vite-ssg] An internal error occurred.
[vite-ssg] Please report an issue, if none already exists: https://github.com/antfu/vite-ssg/issues
(node:7) UnhandledPromiseRejectionWarning: ReferenceError: window is not defined
    at eval (/home/projects/github-ijnjm5/node_modules/pdfjs-dist/legacy/web/pdf_viewer.js:2141:3)
    at new Promise (<anonymous>)
    at Array.Object.defineProperty.value (/home/projects/github-ijnjm5/node_modules/pdfjs-dist/legacy/web/pdf_viewer.js:2140:24)

or:
[vite-ssg] An internal error occurred.
[vite-ssg] Please report an issue, if none already exists: https://github.com/antfu/vite-ssg/issues
/www/catalog/node_modules/.pnpm/pdfjs-dist@2.11.338/node_modules/pdfjs-dist/legacy/web/pdf_viewer.js:2224
  window.requestAnimationFrame(resolve);
  ^

ReferenceError: window is not defined

I have the rest of the site based on vitesse, so I really care not to change that. If I manage to configure it with pdf, I will let you know.

I tried it with async load and checking if window is not undefined:
const pdfSrc = ref<VuePdfPropsType['src']>(props.pdfPath)
const numOfPages = ref(0)

onMounted(async() => {

  if (typeof window !== 'undefined') {

    const vue3Pdfjs = await import('vue3-pdfjs')
    const VuePdf = vue3Pdfjs.VuePdf
    const createLoadingTask = vue3Pdfjs.createLoadingTask

    const loadingTask = createLoadingTask(pdfSrc.value)
    loadingTask.promise.then((pdf: PDFDocumentProxy) => {
      numOfPages.value = pdf.numPages
    })

  }
})

but then I have error:
index-19f89c12.js?v=c8422c1c:3 Uncaught (in promise) SyntaxError: The requested module '/node_modules/.pnpm/pdfjs-dist@2.12.313/node_modules/pdfjs-dist/legacy/build/pdf.worker.entry.js?v=c8422c1c' does not provide an export named 'default'
There is any way to fix this issue with pdf worker?

Hi @spokospace , I just tried on a fresh installation of Vue and there doesn't seem to be any problem with the builds. If you're using a modern bundler you can import the component like import { VuePdf, createLoadingTask } from 'vue3-pdfjs';
If you still wish to use the esm folder you'll need to add a declaration to your shims file like declare module 'vue3-pdfjs/esm';

run for vite, have erro: Cannot read properties of undefined (reading 'DISABLE')


Error: failed to parse markup

Moved Gitblit 1.8.0 GO directory off my server to backup. Then I formatted the server and moved the Gitblit directory back to the server. Now I am getting really slow speeds compared to before and the markdown doesn't parse.
I have been running Gitblit on a Raspberry Pi 3 for about a year with no issues and very fast load times. Now that I have reinstalled Raspian nothing is quite the same.
Also, just for a heads up, I have tried both Java7 and Java8 with no noticeable difference.
Any ideas what I might want to check?

Can't seem to find any logs


Edge computing device deployment issues

Hello,
Thanks for sharing your excellent work!
I am trying to deploy DSVT algorithm to edge computing devices.
I referenced DSVT-AI-TRT and the initial TensorRT code that you provided. Then, I am deploying it using TensorRT with NVIDIA T4 compute card in the testing phase and the average time taken for inference is around 230ms@FP32 and 120ms@FP16, which gives relatively acceptable results.
However, when we tried to deploy this on the NVIDIA Jetson Xavier NX, the average time for inference using TensorRT was 1465ms@FP32 and 709ms@FP16, as shown in the figures below. Data shows that it takes longer in inference and postprocess phases , which is far from our desired goal of "real-time inference".

After a data search, I found that RTX3090 has 35.6 TFLOPs, T4 has 16.1 TFLOPs, and Xavier NX has 6.8 TFLOPs. I don't quite understand the difference in computility between RTX3090 and T4 is 2.2x, but it brings 10x elapsed time(calculate using your data), and the computility between T4 and Xavier is 2.36x, and it brings 7x elapsed time. Why is the gap so large? Are there any ideas to help us reduce the elapsed time of deploying this algorithm on Xavier NX?
Thank you very much!

Sorry for that, we have only tried it on RTX 3090 and A100; perhaps it is related to TensorRT and the internal implementation in PyTorch?
Unfortunately, we are not experts in this field, so we may not be able to provide you with valuable advice.


sprintfix: ip选择器版本升级(closed #1391 closed #1393 closed #1391 closed #1…

…385)

Codecov Report

Merging #1436 (27bebb9) into v2.3.1-dev (b4e7c71) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           v2.3.1-dev    #1436      +/-   ##
==============================================
- Coverage       73.83%   73.82%   -0.02%
==============================================
  Files             369      369
  Lines           25104    25104
==============================================
- Hits            18536    18532       -4
- Misses           6568     6572       +4

Impacted Files
Coverage Δ

apps/backend/subscription/steps/plugin.py
54.45% <0.00%> (-0.63%)
:arrow_down:

...nents/collections/agent_new/choose_access_point.py
94.90% <0.00%> (-0.47%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Can we customize query generation?

Hi there,
I heard that the Requery is most powerful if we use Kotlin Coroutine.
So, I'm going to use it for my new project on Kotlin.
And our database is Apache Phoenix based on HBase, but the Requery doesn't support officially.
I got a couple of POC for use that on our system. I think it seems like works fine, but not perfect.
The main issue is that the 'UPSERT' command doesn't support.
Apache Phoenix uses to that command instead of 'INSERT' and the command works for insert or update.
I think if we can do customization while make the query, then it could be resolved.
Hence, can we customize query generator? If so, how to do that myself?
If we can't do that, it could be painful for our project.
Thanks for your advice.
Best regards,
Unho.

Yes it should be possibly by providing your database specific Platform, see the built in implementations for examples

@npurushe thanks for your information. I'd like to make to be work Apache Phoenix for Requery.
I can share it If I have any update on that.


To do list add&remove

In this pull request, I have implemented the following requirement :

I have added more functionality of adding and removing todo task
All modifications are being updated in the local host server

@CollinsTatang Thanks for your kind review.


TTL in Table 70 for Load Balanced Flows

Describe the bug
Table 70 in OVS Pipeline has a "dec_ttl" field in the flow entries. If the flow is coming from local gateway (ie recently processed by kube proxy) then the TTL is already decremented by Linux IP stack. Hence the "dec_ttl" in the flow entry in that Table 70 is redundant for these service to backend pod flows.
To Reproduce
Just prep a Kubernetes cluster with Antrea. Generate traffic from frontend pod (on worker1) to service (clusterIP based) , see if the traffic gets to the backend2 pod (on worker2) which is backing that service. Check the TTL values on frontend pod side and backend2 pod side.
Expected
Expectation is TTL should only be decremented only twice en route from frontend pod to backend2 pod. Cause there are two routers in between.
Actual behavior
TTL from frontend pod to service (which kube proxy load balances to backend2 pod) gets decremented three times. (once by worker1 Linux IP stack, once by table 70 on worker1, once by table 70 on worker2)
Versions:
Please provide the following information:

Antrea version v0.10.0-dev-4ed2c67
Kubernetes version v1.18.8
Container runtime: Docker version 19.03.11, build 42e35e61f3
Linux kernel version on the Kubernetes Nodes : 4.15.0-112-generic

Additional context
Got packet captures from worker1 ens160 interface and pod interface on backend1 pod on worker2. <IP_ADDRESS> is frontend pod and <IP_ADDRESS> is backend2 pod.
Captures.zip
@tnqn

You must be right. But it seems not very simple to fix, so I wonder does it deserve a fix or not.
@wenyingd : what you think?

Of course we can add flows in table 70 to avoid dec TTL for packets from gw0, but that will require one flow for each remote Node; or we can add another table to do TTL only, but just feel these are not worthwhile.

You must be right. But it seems not very simple to fix, so I wonder does it deserve a fix or not.
@wenyingd : what you think?

Since we have already classifiered packet's source in table0 (ClassifierTable), maybe a solution is that we decrease TTL on source node only if it is sent from local Pod (using check with in_port)? Anyway, it looks we have to handle TTL differently from other actions on source Node in L3RoutingTable(table=70), adding a new table or using a special(higher priority) flow entry for packet from gw0 in  is necessary if have to support it.
I have one concern is I am not sure if we would miss the case for NodePort Service if we ignore the packet entered from gw0? Does kube-proxy also decrease TTL on NodePort Service packets? @dumlutimuralp

Another thought is , does this issue only exist when we use kube-proxy for Service functions? If yes, does it mean it will be gone after Antrea Proxy is used? @dumlutimuralp @jianjuns  Then the fix looks meaningless, for we should remove the workaround flows at that time.

@wenyingd the issue exists regardless of host network is used for service loading.
For service traffic, if host network does DNAT, it already decreases TTL itself, then OVS pipeline does another time.
For non-service traffic, like Node or non-hostnetwork Pod accesses another Pod, it doesn't need to decrease TTL on local Node, but OVS pipeline does once.
In short, the packets from gw0 never needs decreasing TTL.

@wenyingd the issue exists regardless of host network is used for service loading.
For service traffic, if host network does DNAT, it already decreases TTL itself, then OVS pipeline does another time.
For non-service traffic, like Node or non-hostnetwork Pod accesses another Pod, it doesn't need to decrease TTL on local Node, but OVS pipeline does once.
Do you mean accessing local Pod? We didn't decrease TLL for packet if it is accessing local Pod. Currently the two TTL decreasement taken by OVS include: 1) packet targeting at a remote subnet CIDR; 2) packet from remote Node.
In short, the packets from gw0 never needs decreasing TTL.

@tnqn If we enable Antrea Proxy and let gw0 access Service, do we need to decrease TTL? If no, then we could come to a conclusion that do not decrease TTL if packet is from gw0. In such case, I would prefer to use a special table (e.g. 71) to perform TTL decreasement. On source Node, if a packet is targeting at a remote subet CIDR, the MAC and tunnel header should changed in table 70, and then go into table 71 to check and perform TTL decreasement. For other packets should go into table 80(L2OutputCaculationTable) directly. The next table of table71 is table 80 by default. What do you think @jianjuns @tnqn ?

Right all packets from gw0 should skip TTL dec. A separate table sounds simpler than adding one flow for each remote Node. But I feel still not a small change to our current pipeline.

70 will include local Pod destination and TTL dec for packets from gw0, and then 71 is for tunnel?

I would prefer to use 70 table for local Pod destination and tunnel, and 71 is only for TTL dec on source Node. As TTL dec on dst Node is always taken in OVS pipeline, we could not change these flows. The TTL dec difference exists only on the source Node, so when packet is on source Node table 70 only rewrites DMAC and sets tunnel, and then takes TTL dec in table 71. Then we could have different processing according to the source is Pod or gw0.

For Policy Only mode, do we need to dec TTL when rewriting packet's dst MAC using gw0's? In current flow entries, TTL is taken.

From a pure networking point of view, my thoughts are as below,
Linux TCP/IP Stack is a virtual router. Hence whichever "routed" flow goes through it then that flow' s TTL should be decremented. For instance,

Pod to remote Pod flows are essentially traversing two virtual routers, first is source node' s IP stack, second is destination node' s IP stack. Source pod and destination pod resides in different pod subnets anyway. (I see that for those flows Antrea decrements the TTL by 2 in total , one time at source node and one time at destination) . Expected behaviour should also be to decrement TTL by 2.

Pod to service flows are also traversing two virtual routers, first step is source node' s IP stack for kube-proxy driven iptables NAT rule operation, second step is once again source node' s IP stack to do the encap and then destination node' s IP stack (and I see that for these flows Antrea decrements TTL by 3 in total) Expected behaviour should be to decrement TTL by 2, since the first visit of the flow to the Linux IP stack of source node is for DNAT. But once traffic hits Linux IP stack, Linux automatically decrements TTL anyway.

External to remote pod (external resource -> node port on node1 -> remote pod on node2) flows are essentially traversing two virtual routers again. (for this one Antrea decrements the TTL by 3 in total, two times at the source node and one time at destination node) Expected behaviour should be to decrement TTL by 2.

As @tnqn mentioned, I think flows that come from antrea-gw0 interface on the node should be exempt from "dec_ttl" action.

@dumlutimuralp
For Pod to Service and External to remote Pod traffic, it is indeed routed 3 times? For example for external to remote Pod: host IP -> gw0 -> remote gw0 -> remote Pod. Then it is not wrong to decrement TTL by 3?

@jianjuns my interpretation of traffic just being DNATed by iptables (for pod to service or external to nodeport) is not a routing decision rather than an IP swap since there will be routing that has to occur anyway between nodes. Cannot recall of the top of my head what an if an actual/ordinary load balancer' s behaviour is to decrements the TTL when it forwards traffic to a backend server.

Pod -> Service is complexer. But what you think about external Pod -> remote Pod. Is it like host IP -> gw0 -> remote gw0 -> remote Pod?

Not sure I fully undestand.
I actually compared Pod to service and Pod to Remote Pod in the Github article.
As I see, both pod to service and also external to nodeport service (which is backed by clusterip anyway) , go through iptables for DNAT. Hence not sure if that process should decrement TTL. But as I understand that is Linux IP stack and it always does it and there is no way we would want to interfere with default Linux behaviour. Which definitely makes sense. But then when the packet needs to be sent to a remote node we decrement TTL again for the traffic. Which to me does not make sense, cause the packet has been through Linux IP stack just previously. Just because it will go through the same stack but this time for overlay encap between source and destination node should not cause another TTL decrement.


Better card search for DFCs, flip and meld cards.

Travis tests have failed
Hey @bakert,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.


Removing UI elements when shared space set in config.

What is the goal of this addition? You already can't see the critical keys in the GUI (they are *'d out). I'd see more value in hiding the stitching tab entirely to simplify the UI, although maybe it would be better to just do that by default

What is the goal of this addition? You already can't see the critical keys in the GUI (they are *'d out). I'd see more value in hiding the stitching tab entirely to simplify the UI, although maybe it would be better to just do that by default

This seems to be the simplest change, keeping to the minimal work philosophy. It doesn't change much the current behavior, and hides the confusing entries. Only the email field is still displayed. We could hide the whole tab, but that removes the ability to kick of manual runs.
Ideally the cloudstitch flow would get a redesign, but thats for a future date.

Ok so if I understand correctly then your goals are:

Be able to manually kick off runs
Remove confusing elements from the GUI

If that is the case, why don't we hide those fields unless you are in dev mode or remove them entirely? General users are going to specify them by config file anyway

Per discussion, I've instead merged a change that always hides these widgets unless in dev mode


Support for 3.6+ $expr in queries

I would love to be able to compare fields with each other in a query without needing to fall back on javascript in the where operator.
Since MongoDB 3.6+ we can use expressions within queries: https://docs.mongodb.com/v3.6/reference/operator/query/expr/
Example: db.monthlyBudget.find( { $expr: { $gt: [ "$spent" , "$budget" ] } } )
Using $expr instead of javascript would obviously perform better.
Is this planned for a future release?
Thanx!
Chris

Yes - we've got some catching up on those. Current focus is on ODM 2.0, which will (finally) get rid of the legacy driver and thus allow us to start working on new features introduced in more recent MongoDB server versions. I'm triaging this for the 2.x series as 2.0 won't bring many new features of that kind - I'd rather start following up with more rapid minor releases in short succession.

I expected something like that :) Thanx for the heads up.
Thanks a million for this library!


Extend description of div()

This PR:

expands the description of div to include integer and non-integer division
clarifies language in related functions
corrects a few typos

@kromerm
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@Court72 I notice the PR is closed with unmerged commits. Does that mean the changes are rejected? I can’t see any other review comment so I’m not sure what’s happened here. Thanks.

Hi @richardswinbank,
Your changes were merged in another PR and are now live: https://learn.microsoft.com/azure/data-factory/control-flow-expression-language-functions.
Thanks for contributing!


Add core functions appium

Add to Appium Core Functions:

active
getWindowHandles
execute
executeAsync
maximizeWindow

Functions already merged.

Status: in-progress

LGTM


Editable codalib

This is to fix the tzlocal (dependency of codalib) not being installed into the environment. Also, there was a complaint about mismatching basepythons coming from tox, so we are taking care of that too. ping @madhulika95b @somexpert

we can get rid of sudo: false from travis to fix the pending travis build. The rest looks good to me 👍


style(ndm): Fix lint errors in scsicommands.go

Fixes #105
Signed-off-by: Jean Morais<EMAIL_ADDRESS>

@jeanmorais can u please sign ur PR as tests are failing.

Codecov Report

Merging #120 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #120   +/-   ##
=======================================
  Coverage   55.77%   55.77%
=======================================
  Files          41       41
  Lines        1533     1533
=======================================
  Hits          855      855
  Misses        621      621
  Partials       57       57

Impacted Files
Coverage Δ

pkg/smart/scsicommands.go
0% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@jeanmorais you need to sign your commit.

Try doing a force push or close it and raise one more PR.

@sagarkrsd The last commits is signed.
So you need to rebase all the commits into one commit and then you can sign it using git commit --amend .


Do not use beast base64 encoding without fix:

We switched to using boost::beast (https://github.com/ripple/rippled/commit/27703859e7c3f8da19098b2d2f7e9445a95ca2b5) but Boost 1.67 and 1.68 are missing this fix
https://github.com/ripple/rippled/commit/0439dcfa7a5215cc74a8e254a28eadace6a524b7
https://github.com/boostorg/beast/blob/boost-1.68.0/include/boost/beast/core/detail/base64.hpp
https://github.com/boostorg/beast/blob/boost-1.68.0/test/beast/core/detail/base64.cpp

Jenkins Build Summary
Built from this commit
Built at 20180821 - 18:10:52
Test Results

Build Type
Log
Result
Status

msvc.Debug
logfile
1033 cases, 0 failed, t: 764s
PASS :white_check_mark:

gcc.Debug -Dcoverage=ON
logfile
1036 cases, 0 failed, t: 851s
PASS :white_check_mark:

docs
logfile
1 cases, 0 failed, t: 2s
PASS :white_check_mark:

gcc.Release -Dassert=ON, MANUAL_TESTS=true
logfile
1101 cases, 0 failed, t: 937s
PASS :white_check_mark:

clang.Debug
logfile
1036 cases, 0 failed, t: 284s
PASS :white_check_mark:

clang.Debug -Dunity=OFF
logfile
1036 cases, 0 failed, t: 274s
PASS :white_check_mark:

rpm
logfile
1035 cases, 0 failed, t: n/a
PASS :white_check_mark:

gcc.Debug -Dunity=OFF
logfile
1036 cases, 0 failed, t: 181s
PASS :white_check_mark:

msvc.Debug, NINJA_BUILD=true
logfile
1033 cases, 0 failed, t: 633s
PASS :white_check_mark:

gcc.Debug
logfile
1036 cases, 0 failed, t: 294s
PASS :white_check_mark:

clang.Release -Dassert=ON
logfile
1035 cases, 0 failed, t: 399s
PASS :white_check_mark:

gcc.Release -Dassert=ON
logfile
1035 cases, 0 failed, t: 428s
PASS :white_check_mark:

gcc.Debug -Dstatic=OFF
logfile
1036 cases, 0 failed, t: 293s
PASS :white_check_mark:

gcc.Debug -Dstatic=OFF -DBUILD_SHARED_LIBS=ON
logfile
1036 cases, 0 failed, t: 295s
PASS :white_check_mark:

gcc.Debug, NINJA_BUILD=true
logfile
1036 cases, 0 failed, t: 274s
PASS :white_check_mark:

msvc.Debug -Dunity=OFF
logfile
1033 cases, 0 failed, t: 1176s
PASS :white_check_mark:

clang.Debug -Dunity=OFF -Dsan=address, PARALLEL_TESTS=false, DEBUGGER=false
logfile
1036 cases, 0 failed, t: 730s
PASS :white_check_mark:

msvc.Release
logfile
1032 cases, 0 failed, t: 406s
PASS :white_check_mark:

clang.Debug -Dunity=OFF -Dsan=undefined, PARALLEL_TESTS=false
logfile
1036 cases, 0 failed, t: 702s
PASS :white_check_mark:

Not as straightforward of a test as I was hoping, but I cherry-picked this change on a separate branch that added a test where we attempt to decode an invalid non-base64 encoded manifest. This change allows that build to succeed, but it fails when reverting to using beast's decoder
https://github.com/wilsonianb/rippled/commits/test-base64
https://github.com/wilsonianb/rippled/commit/26115a2c2c8856dd2dee0d0f9a3b24846a21fa4f#comments
https://github.com/wilsonianb/rippled/commit/20b2af7357086b5cfb9b6964e01190578e876e0d#comments

I'm having trouble building on macOS against boost 1.68 (1.67 built fine):
cmake -Dunity=OFF -Dassert=ON ../rippled

CMake Error at Builds/CMake/FindBoost.cmake:2044 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.68.0

  Boost include path: /Users/howardhinnant/Development/boost_1_68_0

  Could not find the following static Boost libraries:

          boost_context

@HowardHinnant ..I don't think this will build with 1.68 until we merge https://github.com/ripple/rippled/pull/2652

Ah, in that case everything looks great! :-)

Merged as https://github.com/ripple/rippled/commit/8c14002c2587f311bb8e13111a922ceca48b7450


Alibi detect runtime updates

This PR updates the alibi-detect runtime in MLserver project. This PR does the following things,

Removes the support for legacy protocols and updates the docs (https://github.com/SeldonIO/MLServer/issues/494)
Updates runtime to use only the load detector fuctionality and removes the ability to initialise the detector based on model atrifacts and other configuration.

This is a step towards https://github.com/SeldonIO/MLServer/issues/496 to fully support the new config based detectors subject to this alibi-detect PR https://github.com/SeldonIO/alibi-detect/pull/389 merging. Either way current code changes supports loading detectors based on configs or even dill files directly.
Fixes #494 #496

New updated docs https://github.com/SachinVarghese/MLServer/blob/alibi-detect/docs/examples/alibi-detect/README.ipynb

Action Items:

Simplify examples (remove extra drift and outlier stuff)
Add docs links
Predict kwargs move to model settings


[docs] Windows 10/11 installation updated

This PR updates the documentation, hosted in https://tornadovm.readthedocs.io/en/latest/ with the following changes:

Update the installation instructions for Windows 10/11 with MSys2
Fixed typos on the unsupported page.

The new version of the documentation will be rendered automatically with this PR.

All fixes done


SQLProj: No docker image build needed for deploying a database to docker

When deploying db to docker was originally implemented, there were some requirement about installing some packages in the docker container (sqlpackag.exe) so we needed a DockerFile and had to create a docker image but we don't need that anymore so we can directly run the docker container using SQL server images. Creating new image is resourceful and although  we only created one image per SQL serve, even that is not needed now. Also this makes the deployment faster since it's only pull run docker.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 48.248%

Files with Coverage Reduction
New Missed Lines
%

extensions/sql-database-projects/src/common/utils.ts
2
82.9%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
14797

Relevant Lines:
29118

💛  - Coveralls


Bulk Import

Allow user to bulk create the entries for the channels selected.

we will take on this in feature implementation.

steps:
step 1: login  into admin  spurt_cms

Please follow the below steps to start with bulk import
steps:
step 1: login  into admin  spurt_cms

step 2 :Go to Settings  tab

step3 : Now Explore your bulk import feature

Thank You.Will explore this space.

Hello,This feature is awesome,but while mapping the fields from my excel sometime am facing issues with mismatch.If you could introduce auto mapping for field header that would solve my issue.

Thanks for your interest. We will look into the possibilities.

@cms-coder ,As requested , we have implemented auto mapping feature which will be helpful.
Please browse on our new feature Auto mapping as shared in the screen below.


:zap: Pushing what I think should be a fix for Issue #4

@mtfoley, could you take a look at this?
Closes #4

@j-dogcoder i marked a handful of things. have you tested github actions before? if not, @blackgirlbytes just did an article about it recently: https://dev.to/github/how-to-edit-a-github-action-3j14 (i guess you'd start around step 5).

I merged #11 in order to help get this unblocked.  action.js changed a fair amount so you may have to merge upstream and see what you've got from there.

Ooops!


Cleanup of packages used for building git

Thank you so much for your nifty git build script. I am trying to use it in one of my docker builds (for an older version of ubuntu that has the gnutls problem). However, the sideffect is that I end up with a really large image (2.6GB).
Is there anyway the script could be modified to do some cleanup of all build packages that are not necessary after building git? I have tried some cleanup, but I'd figure there could be some more.

Thanks for reporting it. I will push the changes in some time.


[iOS] NSURLErrorDomain Code=-999 "cancelled"

Configuration
System:
OS: macOS 10.14.6
CPU: (8) x64 Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz
Memory: 99.09 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.16.3 - ~/.nvm/versions/node/v10.16.3/bin/node
npm: 6.9.0 - ~/.nvm/versions/node/v10.16.3/bin/npm
Watchman: 4.7.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
Android SDK:
API Levels: 19, 23, 25, 26, 27, 28
Build Tools: 23.0.1, 25.0.2, 25.0.3, 26.0.1, 26.0.2, 26.0.3, 27.0.1, 27.0.3, 28.0.3
System Images: android-19 | Intel x86 Atom, android-22 | Google APIs Intel x86 Atom, android-23 | Intel x86 Atom_64, android-23 | Google APIs Intel x86 Atom_64, android-26 | Google APIs Intel x86 Atom, android-26 | Google Play Intel x86 Atom, android-27 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.5 AI-191.8<IP_ADDRESS>91312
Xcode: 10.3/10G8 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.5 => 0.60.5
"react-native-track-player": "1.1.8",
Issue
I've already checked other issues, but none of the method proposed worked for me.
I have this error
Adding tracks: [<react_native_track_player.Track: 0x7fdcaf792030>, <react_native_track_player.Track: 0x7fdcaf7481e0>]
2019-09-09 19:29:46.282978+0200 MyApp[36438:3165905] Task <28F1D414-9019-49D7-8A15-504383B49A36>.<1> load failed with error Error Domain=NSURLErrorDomain Code=-999 "annullato" UserInfo={NSErrorFailingURLStringKey=https://www.myserver.com/audio/7, NSErrorFailingURLKey=https://www.myserver.com/audio/7, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <28F1D414-9019-49D7-8A15-504383B49A36>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <28F1D414-9019-49D7-8A15-504383B49A36>.<1>, NSLocalizedDescription=annullato} [-999]

with an URL like this:
https://www.myserver.com/audio/7
this route uses a Laravel Controller that checks the auth token and then responds with the file or with an error.
Calling the URL with Postman or with Axios inside the app, all works fine, but with this library I've -999 code error...
I've added all headers required but the request doesn't even reach the server, it's canceled before doing the request.
Any advice?
Code
The page on the server is:
class AudioController extends AuthController
{
    public function getFile(Request $request, Chapter $chapter) {

        try {
            if (!$this->authUser) {
                return \ResponseHelper::formatErrorApiResponse("No auth user");
            } else {
                $pathToFile = \Storage::disk('audio')->url($chapter->audio_file);
                return response()->file($pathToFile);
            }

        } catch (\Throwable $th) {
            \Log::debug($th->getMessage());
            return \ResponseHelper::formatErrorApiResponse("Error chapter file");
        }

    }
}

and in React Native:
setupPlayer = (chapters, callback) => {
        try {
            TrackPlayer.destroy(); // to clear the queue
            TrackPlayer.setupPlayer().then(() => {
            TrackPlayer.registerPlaybackService(() => require('./playback-service.js'));
            TrackPlayer.updateOptions({
                stopWithApp: true,
                capabilities: [
                    TrackPlayer.CAPABILITY_PLAY,
                    TrackPlayer.CAPABILITY_PAUSE,
                    TrackPlayer.CAPABILITY_STOP,
                    TrackPlayer.CAPABILITY_SKIP_TO_NEXT,
                    TrackPlayer.CAPABILITY_SKIP_TO_PREVIOUS
                ],
                });
                if (callback) {
                    callback(chapters);
                }
            });
        } catch (error) {
            console.log("error audio service");
            console.log(error);
        }

    }

    setupTracks = async (chapters) => {

        var token = await retrieveToken();
        var auth = await getCheckHeaderValue();

        this.setupPlayer(chapters, (chapters) => {
            var tracks = chapters.map( chapter => {
                var url = encodeURI(chapter.audioUrl);
                var track = {
                    id: `id_${chapter.id}`,
                    url: `${url}`,
                    title: `${chapter.title}`,
                    artist: `${chapter.character}`,

                    album: `${chapter.collection}`,
                    artwork: `${chapter.image}`,

                    headers: {
                        "X-Auth": auth,
                        "Authorization": `Bearer ${token}`,
                        "Accept-Encoding": "gzip, deflate",
                    }
                };
                console.log(track);
                return track;
            })

            TrackPlayer.add(tracks).then( async () => {
                console.log("tracks added");
                var state = await this.playerState();
                console.log("STATE: "+state);
            }).catch( error => {
                console.log(error);
            });
        });

    }

The state is always IDLE and the error is "impossible to find the request URL on this server".
Thanks for your help, I've been stuck with this for too long :(
\m

@mrigo how did you solve this? I'm facing the same issue

@brunoserra yes I solved! The url was incorrect and the server response was a right 404 ... check the url or the connectivity!


Add govet-fieldalignment linter check

Add govet-fieldalignment to .golangci.yml
Fix errors that come from adding govet-fieldalignment

by reordering the fields of structs
by putting nolint:govet annotations

I make a draft pr to ask opinions!!
I thought it is not possible to understand the whole structures of so many plugins in a short time, but I believe there must be many "struct"s that have reasons why they have fields in those order.
I tried to make them look as nice as possible, but there is no choice for some structs in order to remove errors.
I don' think.. there is a way to make the fields of a struct read in different order than what is written in the code.
What would be the best way?
Closes: #691
Signed-off-by: Hyeongju Johannes Lee<EMAIL_ADDRESS>

I think this looks good more or less.
The only thing I'd like to preserve is to keep sync.Mutex in the beginning of structs. Could you try to add an unused padding field with a comment that the padding is needed for better alignment?

Do you mean to put a field that is used only for the purpose of a padding so that sync.Mutex can be kept in the beginning of struct? Is it possible to put a field that is not used..? If there is a way that I do not know because of my lack of knowledge on golang, please tell me!

Yeah, adding an unused field is not a good idea. Forget it.
It's better to disable the check explicitly for those particular structs. For example this directive disables the funlen check explicitly:
https://github.com/intel/intel-device-plugins-for-kubernetes/blob/32e8c5902afec6d09b314acb3368379b61e5a404/cmd/gpu_nfdhook/labeler_test.go#L36

@rojkov Thank you for letting me know the way to ignore some checks for somethings.
I ordered sync.Mutex having structs back by putting //nolint:govet
Btw, I have a question about the link you gave (though it may be not related to this pr)..! I noticed that we do not have "funlen" for linter check any more..! Is there a reason why we keep the annotation?

I noticed that we do not have "funlen" for linter check any more..! Is there a reason why we keep the annotation?

Good question! I think we can drop the nolint:funlen comments since we don't use this check.
AFAIR I have it disabled because 1) there are too many length'y functions in our tests and more importantly 2) the gocyclo and gocognit checks do much better job than funlen to keep complexity of the functions low.

Codecov Report

Merging #709 (84ef8af) into main (331f472) will increase coverage by 0.10%.
The diff coverage is 100.00%.

:exclamation: Current head 84ef8af differs from pull request most recent head dd05fb6. Consider uploading reports for the commit dd05fb6 to get more accurate results

@@            Coverage Diff             @@
##             main     #709      +/-   ##
==========================================
+ Coverage   59.87%   59.98%   +0.10%
==========================================
  Files          32       32
  Lines        2784     2784
==========================================
+ Hits         1667     1670       +3
+ Misses       1032     1030       -2
+ Partials       85       84       -1

Impacted Files
Coverage Δ

cmd/fpga_crihook/main.go
89.43% <ø> (ø)

cmd/fpga_plugin/fpga_plugin.go
73.68% <ø> (ø)

cmd/gpu_nfdhook/labeler.go
73.45% <ø> (ø)

cmd/gpu_plugin/gpu_plugin.go
84.11% <ø> (ø)

cmd/gpu_plugin/rm/gpu_plugin_resource_manager.go
80.43% <ø> (ø)

cmd/qat_plugin/dpdkdrv/dpdkdrv.go
88.33% <ø> (ø)

cmd/sgx_plugin/sgx_plugin.go
76.78% <ø> (ø)

cmd/vpu_plugin/vpu_plugin.go
73.10% <ø> (ø)

pkg/deviceplugin/api.go
25.00% <ø> (ø)

pkg/deviceplugin/manager.go
84.12% <ø> (ø)

... and 9 more

Continue to review full report at Codecov.

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


3.1.x fixes

Sorry Guys, for my pull request.
Im a little bit new on GitHub and my purpose was to pull this repo to my repositories.  Im not sure who is an 'Admin' of this repo, but dont want to break something and dont want to make any furthere changes within it.
So if some could make a 'Revert' of my pull request, that would be good.

Can someone please close this PR? It doesn't make sense to merge all commits from 3.1.x-fixes to master. Jenkins is continuously building the PR and spamming me with unrelated notification mails...


Polybar Debian Package

As I see from the installation instructions there are no specific way to install polybar in Debian based distros, which gives me the following question:
Will polybar be packaged under Debian format? If not can I try to do something about it?

We the polybar team will probably not package polybar for Debian. I don't even know if one of our team members actually uses Debian.
In general you don't need our permission to package polybar for another distro 😉
There has been an effort already by @jpleau in #1054, but I don't know what the current status is. Maybe contact them first and see what they've already got.
If you decide to package for debian, please let us know and feel free to ask for help in this thread.

Thanks for the info, I've already contacted him, hope to make some progress at it.

I have a Debian package for Polybar in https://github.com/ayosec/polybar-debian.
The repository includes a script to download the source and generate the package. Please let me know if the instructions in the README need to be improved.
There are compiled packages for Debian Buster, Ubuntu 18.04, and Ubuntu 19.10 in the releases page. These packages are built with GitHub Actions.

@ayosec Oh wow, that's really cool. Github actions seem to really make this very easy.

I noticed that there are two patches in the repo. They seem like something that could be put into the main-repo.
@patrick96 what do you think of these?
https://github.com/ayosec/polybar-debian/blob/master/patches/0001-Show-full-contents-when-an-unmatched-character-is-fo.patch
https://github.com/ayosec/polybar-debian/blob/master/patches/0002-Set-precision-for-network-speedrate-to-1.patch

@kronn If think the patch for the unmatched character warning would be nice for debugging.
I think my plan in #1063 covers the second one.

I found debian builds here... worked on bullseye(currently sid)

And, just to add to the pile, there are also working builds here:
https://build.opensuse.org/package/show/home:stevenpusser:polybar/polybar


Keymaps

Bindings like that are likely to cause ambiguities and should stay private or special purpose.
A related issue was raised for Twig caused by such binding.
see: https://github.com/Sublime-Instincts/BetterTwig/issues/33

I was actually inspired to add this because of the binding in the official JavaScript packages that automatically adds ${} around a selection after pressing $ while inside string templates: https://github.com/sublimehq/Packages/blob/master/JavaScript/Default.sublime-keymap#L65-L71
I think this is "special purpose" but maybe there is a better scope for this to apply to instead?

Maybe something that targets values inside meta values or something


Scenes

I am in the process of recreating this project.  I have a pretty handle of the entire thing, but I can't seem to get what the scenes portion is doing.  Would you be willing to explain this for me.
I know this is not an actual issue (well, it is for me), but it the only way to ask about this.
Thank you!

Sure, I would love to help you out!!
The scenes feature actually uses an input select in home assistant. It contains all the values like morning, evening , night, etc. The idea being, the home can only be in state at a time. I then use the value of the input select within automations to actually change the states of the devices or "change the scene". It is a little bit confusing because I'm not actually using the "scenes" feature of home assistant. You can find the screenshot of my input select helper below. Do let me know if you need more help and I would love to see your implementation!

I appreciate the response.  I have just never seen the input_select piece.  I read the Home Assistant docs on input_select and I will play around and make sure I get it.  Thank you!
Here is what I have done so far:
I am using an ILI9341 2.4" LCD for the display and a dual 18650 battery board/charger for power.  I will design and 3D print a case for it.  Here are pics of the Home page and Lights page.  I am adding a second Lights page.  On the Home page I added 6 sensors that simply show the state...and on each lights page I will have 11 devices.
For now I have added the button, like yours, but I will come up with a permanent solution once I start drawing up the printed case.
This is a great project, I didn't know I needed this until I saw it.

Ooh it looks really great!! It looks amazing with a bigger screen. Do let me know if you need any help. Always happy to help 😀


Cluster Remove Custom classes

Hi, When we add markers in cluster group, on spiderfy it removes the our custom classes and id to that marker image element.
Could you please guide us how to deal with this. We need the id of marker and custom classes.

Dupe of #447


Prepare for release v1.11.0-rc3

Summary of Changes
Bugfixes:

cluster-pool-ipv4-cidr and cluster-pool-ipv6-cidr options now accept string slices and not just string (#17780, @cndoit18)
Additional FQDN selector identity tracking fixes (#17788, @joestringer)
bpf: exclude pod's reply traffic from egress gateway logic (#17869, @jibi)
Fix bug where the agents would silently skip all IPv6 masquerading due to an incorrect configuration. (#17906, @pchaigno)
Fixes an issue which can cause traffic to be dropped when running Cilium in ENI mode due to the presence of iptables rules left over by the AWS VPC CNI plugin. Notable features that could be impacted include the egress gateway functionality. (#17845, @bmcustodio)
Operator gc incluster identities only (#17589, @ArthurChiao)

Misc Changes:

Add few values in CiliumEndpointPropagation metric bucket. (#17957, @krishgobinath)
build(deps): bump github.com/aliyun/alibaba-cloud-sdk-go from 1.61.1331 to 1.61.1333 (#17937, @dependabot[bot])
build(deps): bump github.com/aliyun/alibaba-cloud-sdk-go from 1.61.1333 to 1.61.1334 (#17950, @dependabot[bot])
build(deps): bump github.com/aws/aws-sdk-go-v2 from 1.11.0 to 1.11.1 (#17946, @dependabot[bot])
build(deps): bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds from 1.8.0 to 1.8.1 (#17951, @dependabot[bot])
build(deps): bump github.com/Azure/azure-sdk-for-go from 59.2.0+incompatible to 59.3.0+incompatible (#17938, @dependabot[bot])
build(deps): bump github.com/docker/docker from 20.10.10+incompatible to 20.10.11+incompatible (#17936, @dependabot[bot])
datapath: allow specifying cilium_host routes metric (#17544, @Frankkkkk)
Prepare for release v1.11.0-rc2 (#17934, @aanm)
Remove duplicate CiliumNode watcher (#17873, @aanm)

Do we want to bring in the previous changelog snippets from rc2, rc1, rc0?
Otherwise LGTM. I see that we still need to fix up CODEOWNERS for the branch, and maybe some other things like .github?

@joestringer yes, I'll do that in a previous stage. Regarding CHANGELONG I don't think it's that important given that the v1.11.0 will contain everything again.


Include a "main" mono font pack (downloader only?)

Intel One Mono, IBM Plex Mono, Hack, Fira Code, and JetBrains Mono" <-


Cannot revert function changes which depends on a return type change

I tried to search all reported issues but didn't seem find any related ones. However, the issue I am having is actually common.
Suppose you have  a function B defined which return SETOF type A, revert for the initial adding is OK since you simply just get rid of A and B. But issue happens when you want to make a change to type A by adding new attributes and change B to return these new attributes. Deployment works. But when you want to revert the changes made to function B, it always complain: "ERROR:  return type mismatch in function declared to return A..., DETAIL:  Final statement returns too few columns."
It looks like the revert first change B to previous version which return previous A type with less attributes. I already declare B requires A during my changes but it still complains during revert. Is this a bug? If not, can anybody tells me how to get the changes reverted correctly?

Hi. I think that the mail list is a better place to take questions like this. I suggest you post some examples there. The upshot, though, is that I assume you're using PostgreSQL, and you'll have to update these two objects (the custom data type and the function) in sync. Like have the revert script first drop the function, then change the type, then create the function again.


Codecov uploader fails on Apple M2

Describe the bug
Downloading the recommended mac uploader fails with the following message: bad CPU type in executable
To Reproduce
Steps to reproduce the behavior:

Download mac version of the uploader (tried with v0.6.3 & v0.6.2)
chmod +x uploader
Run with ./uploader in root of project
See error displayed in terminal

Expected behavior
Uploader works like normal
Sytem Info
Software:

    System Software Overview:

      System Version: macOS 13.6 (22G120)
      Kernel Version: Darwin 22.6.0

Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: Mac14,6
      Chip: Apple M2 Max
      Total Number of Cores: 12 (8 performance and 4 efficiency)
      Memory: 64 GB
      System Firmware Version: 8422.141.2

@hansjhoffman have you tried downloading the aarch64 version of the uploader here?

I did try as you suggested. Running file codecov-aarch64 prints out codecov-aarch64: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped. Linux binaries are not compatible with the Mac chipset. Same issues even with the latest v0.7.1


cannot execute

双击run-user.bat后出现黑窗闪退，运行python run.py --webdriver_manager --headless时报错
Traceback (most recent call last):
File "run.py", line 5, in
from auto_answer import AutoAnswer
File "E:\file\学习\WZU-SPOC-tools-master\WZU-SPOC-tools-master\auto_answer.py", line 3, in
from post_process import PostProcess
File "E:\file\学习\WZU-SPOC-tools-master\WZU-SPOC-tools-master\post_process.py", line 8, in
class PostProcess(WebProcess):
File "E:\file\学习\WZU-SPOC-tools-master\WZU-SPOC-tools-master\post_process.py", line 73, in PostProcess
def set_submit_data(self, quiz_submissions_list: list[str]):
TypeError: 'type' object is not subscriptable

Python版本太低了，typing模块在Python3.9后被直接引入，详情可见PEP 593 – Flexible function and variable annotations


Provide open parameters schema

Let the CCI data store return an open parameters schema according to https://github.com/dcs4cop/xcube/blob/master/docs/source/storeconv.md.

Closed by #15


Remove module dependency cycle between Thanos and Cortex

Following up here from a Slack conversation with @bwplotka (cc: @pracucci)...
Summary of the issue
An old version of Prometheus pulled in<EMAIL_ADDRESS>An old version of Alertmanager pulled in that version of Prometheus.
An old version of Cortex pulled in that version of Alertmanager.
An old version of Thanos pulled in that version of Cortex
A newer version of Cortex pulled in that version of Thanos
A newer version of Thanos pulled in that version of Cortex
...
A newer version of Cortex pulled in that version of Thanos
A newer version of Thanos pulled in that version of Cortex
A recent version of Cortex pulled in that version of Thanos
A recent version of Thanos pulled in that version of Cortex
Newer versions of Prometheus have moved to<EMAIL_ADDRESS>Newer versions of Alertmanager have removed the dependency on Prometheus.
Newer versions of Cortex have moved to newer versions of Alertmanager.
Newer versions of Thanos have moved to newer versions of Cortex.
Newer versions of Cortex have moved to newer versions of Thanos.
Kubernetes releases predate go modules and historical tags do not conform to go module standards.
Go treats<EMAIL_ADDRESS>as newer than<EMAIL_ADDRESS>The cycle between Thanos and Cortex keeps their oldest history together alive in the dependency graph.
If you depend on Thanos or Cortex, then you get stuck with<EMAIL_ADDRESS>and must use replace directives if you need to use a newer version such as<EMAIL_ADDRESS>Solution A
Go doesn't allow dependency cycles in packages, so there must not be any. Thanos and Cortex could work together to break the module cycle my extracting shared packages into separate modules.
This is theoretically the better option, but I don't know how much work would be involved and it may add a significant maintenance burden.
Solution B
Thanos and Cortex could work together to reset the cycle in their dependency graph. The cycle would continue to exist, but the historical dependencies would be dropped. This is probably the quicker fix and the other solution may still be undertaken in the future if desired.
Here's how this could work, which I've tested with dummy modules:
Step 1

Thanos adds commit X that removes Cortex from its go.mod file. At this commit, Thanos won't build properly.
Cortex adds commit Y that removes Thanos from its go.mod file. At this commit, Cortex won't build properly.

Step 2

Thanos adds its dependency to Cortex back at github.com/cortexproject/cortex@Y. Thanos will now build properly.
Cortex adds its dependency to Thanos back at github.com/thanos-io/thanos@X. Cortex will now build properly.

Step 3

Thanos continues to update it dependency on Cortex as usual but never downgrades it to before commit Y.
Cortex continues to update it dependency on Thanos as usual but never downgrades it to before commit X.

Another idea is to add to go.mod of cortex and thanos:
exclude (
        // Exclude pre-go-mod kubernetes tags, as they are older
        // than v0.x releases but are picked when we update the dependencies.
        k8s.io/client-go v1.4.0
        k8s.io/client-go v1.4.0+incompatible
        k8s.io/client-go v1.5.0
        k8s.io/client-go v1.5.0+incompatible
        k8s.io/client-go v1.5.1
        k8s.io/client-go v1.5.1+incompatible
        k8s.io/client-go v10.0.0+incompatible
        k8s.io/client-go v11.0.0+incompatible
        k8s.io/client-go v2.0.0+incompatible
        k8s.io/client-go v2.0.0-alpha.1+incompatible
        k8s.io/client-go v3.0.0+incompatible
        k8s.io/client-go v3.0.0-beta.0+incompatible
        k8s.io/client-go v4.0.0+incompatible
        k8s.io/client-go v4.0.0-beta.0+incompatible
        k8s.io/client-go v5.0.0+incompatible
        k8s.io/client-go v5.0.1+incompatible
        k8s.io/client-go v6.0.0+incompatible
        k8s.io/client-go v7.0.0+incompatible
        k8s.io/client-go v8.0.0+incompatible
        k8s.io/client-go v9.0.0+incompatible
        k8s.io/client-go v9.0.0-invalid+incompatible
)

This what we have done in Prometheus. I am wondering if all of this is yet another fallout of Prometheus removing the vendor/ directory.

An exclude block like that good for when you want to do go get -u ./... to update your dependencies and stick to<EMAIL_ADDRESS>Once you pick up a transitive dependency on<EMAIL_ADDRESS>then it's virtually impossible to exclude your way out. The go tool will just pick the next commit after<EMAIL_ADDRESS>

Actually, it looks like there were changes made to the exclude directives in go 1.16: https://groups.google.com/g/golang-nuts/c/FAO6x5AhfPg/m/-Z5baPnLBQAJ
That might be enough for now... I'll do some tests.

Discussion during contributor hours:

Stripping down cyclic modules to separate repo is the goal!

Thanos imports Query Frontend and e2e part.

e2e should be easy. Re: https://github.com/efficientgo/tools/pull/5 - @pracucci mentions it might be ok as long as there is control over it, question is: Where would be the good repo place? Shared API/lib?
Experimentation phase -  we don't want to slow down.
Query frontend we can take a look: We could trim down packages.

We can do solution B, but we are not sure how that helps with the replace issue, maybe we don't know Go Module internals that much 🤗

who owns github.com/corthanos ? ;)

ME!

Want to own too? (:

👋🏽  @vatin could you check if the method above helps?
@abursavich are you unblocked?
Would be nice to fix it anyway (:  There is a new way btw in Go to retract certain versions: https://golang.org/ref/mod#go-mod-file-retract but I think it does not help much.
I would not try to reset deps before Go1.17. Reasons: In that version all non-go modules Go packages will be blocked, so there will be lot's of fixing anyway. (:

@bwplotka For my specific use-case, I would prefer having "something that works directly from upstream" (this all basically ends up feeding into a Go build farm that extracts statistics from packages, see https://github.com/vatine/gochecker/ for details, and in the reports/ subdir for painfully many details). From my POV, it'd be easier to throw away the stats I have collected so far and simply not feed in Thanos as a "seed package") than trying to retrofit a "rewrite the go.mod for specific module-versions" framework into the existing builder.

@abursavich are you unblocked?

Yeah, with go 1.16 I can just use excludes.

This is about reseting the cycle, but ideally we can track removing cycle at all here 🤗
As discussed here:
https://github.com/thanos-io/thanos/issues/3832#issuecomment-785823600

AC:

Thanos is no longer dependant on Cortex. 🤔

Motivation:

Continous pain of upgrading interfaces with breaking changes between project

Go 1.17 might help, so worth to check the upgrade process with this Go version

I believe this is still unresolved

After recent developments concerning Cortex licensing, I think has now more importance on the long run.


Add isImplicitlyConvertible and isQualifierConvertible to phobos v3.

Both traits do exactly the same thing as their std.traits counterparts, though these have far more documentation and examples.
I'm not a big fan of isImplicitlyConvertible, since it's usually a bad idea to test for implicit conversions in template constraints, and the is expression is incredibly simple to boot, but a trait is needed when a template predicate is needed (e.g. for the templates in phobos.sys.meta), and having isImplicitlyConvertible allows for a good place to put documentation on implicit conversions in general (as well as to warn against testing for them in template constraints).
isQualifierConvertible isn't actually used much in Phobos v2 right now (in most cases right now, Unqual is used with an is expression instead), but it is used by the range traits, and there probably are a number of cases where it would be better to use it than Unqualified or Unconst with an is expression. But it's new enough that I don't think that many of us have really thought through how best to use it yet. Either way, if we want to be able to do something like isInputRange!(R, const char), then it's a good trait to have.

I definitely want to be able to write isInputRange!(R, const char), so...


sasl_passwd file has repeat entries after multiple container restarts

Behaviour
/ets/postfix/sasl_passwd has repeat entries after multiple docker-compose start and docker-compose up -d
Steps to reproduce this issue

set POSTFIX_RELAYHOST POSTFIX_RELAYHOST_AUTH_ENABLE POSTFIX_RELAYHOST_USERNAME and POSTFIX_RELAYHOST_PASSWORD in anonaddy.env
run docker-compose stop and docker-compose up -d a few times

Expected behaviour
/ets/postfix/sasl_passwd does not contain duplicate entries and remains stable
Actual behaviour
sometimes a new line gets added on top and sometimes a duplicate entry will appear (in fact, i think they alternate).

postfix/master.cf also exhibits this behavior, so it seems like this is not scoped to just one file, but many config files for which this image cat to the end of a file.
the main impact i'm seeing now is that i get warnings from postfix about duplicate entries. but there may be other impact longterm and it would be nice to be able to restart containers while still assuming stable config files

Thanks for your feedback will take a look.

Yeah so the issue is located here for the master.cf:
https://github.com/anonaddy/docker/blob/f0421db85ffaf6240c72d1e6f187f1f654def5dd/rootfs/etc/cont-init.d/03-config.sh#L341
We would need to templatize and put them in rootfs/tpls like we do for nginx and php I guess.


deployment to vercel or netlify isn't working for API calls.

When project is deployed, client pages renders normally but API calls to '/endpoint/... from client/main.ts returns a 404 error - SyntaxError: Unexpected token 'T', "The page c"... is not valid JSON

Hi @elvis-ndubuisi, I don't have much experience with hosting express apps on Vercel nor Netlify, but I think that the better choice would be to host your server on something capable of running the process continuously instead of running the app as serverless. That's because when integrating Vite and serving static files in production we make express behave like a fullstack application, and as far as I'm concerned hosting express on Vercel makes sense only when you have nothing more than API paths, without any static files serving logic etc.
What works for me personally is to host your server on some kind of VPS server.
I hope that I made things a little bit more clear, but I'm not capable of providing more information and I'll close this issue as it isn't quite related to the package itself.


npm run settings doesn't have any settings and doesn't save URLs

pi@discordbot:~/StockAlertBot $ npm --version
7.21.0
pi@discordbot:~/StockAlertBot $ node --version
v16.7.0
Followed the instructions... Server starts when I do "npm run settings" -- pages have no content and I cannot save URLs... URLs entered manually in config.json do not show up.

Hello. This can happen if the server is unable to open the config.json. You can open DevTools (Chrome) or Developer Tools (Firefox) by pressing F12 and let me know what error has occurred.

Gotcha.  This seems to be due to the fact I’m not running it localhost but instead connecting from my PC to the Rpi on port 3250… Can it be modified to allow connecting via remote IP and not just via localhost?
From: Prabhjot Singh @.***
Sent: Tuesday, August 24, 2021 6:56 PM
To: Prince25/StockAlertBot @.>
Cc: slbailey @.>; Author @.***>
Subject: Re: [Prince25/StockAlertBot] npm run settings doesn't have any settings and doesn't save URLs (#115)
Hello. This can happen if the server is unable to open the config.json. You can open DevTools (Chrome) or Developer Tools (Firefox) by pressing F12 and let me know what error has occurred.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Prince25/StockAlertBot/issues/115#issuecomment-905029359 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AABCURSXWEVZ4ANIHN564PTT6QPPPANCNFSM5CXW6UCQ .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .  https://github.com/notifications/beacon/AABCURV5ZZNOBQCLLNHI2JTT6QPPPA5CNFSM5CXW6UC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGXY2N3Y.gif

Yes, quite easily.
If you need to change the port, you can do so here: https://github.com/Prince25/StockAlertBot/blob/05692821a43eb64d4d604e84817baace3e6833a3/server/index.js#L43
Then change the address to open here:
https://github.com/Prince25/StockAlertBot/blob/05692821a43eb64d4d604e84817baace3e6833a3/server/index.js#L108
For the page to read the config.json properly, you will need to change the server endpoint here:
https://github.com/Prince25/StockAlertBot/blob/05692821a43eb64d4d604e84817baace3e6833a3/server/index.html#L1362
Duplicate of an older issue #41.

Thanks for the speedy reply.  Looking forward to using this!

You're welcome. I'm planning to make it easier to configure in the future.


Update ch-21.html

CP-ITI-1268

Reviewed integration of CP-ITI-1268 in Vol 1 (separate update to Vol 2).


Organize the code repository to accommodate v2

We talked before about reorganizing the code repository so that we can have both the current code plus the current contents of jaeger-otelcol in one place.
This task is to track the proposal and implementation for this.

@joe-elliott Did you volunteer for this in the past? Are you still interested in working on this?

Yup, I can spend some time on this.  I was thinking:
./opentelemetry
   /manifests
   /processors
   /exporters
   /receivers

Each processor/exporter/receiver would have a go.mod allowing it to be referenced by the otelcol-builder.  Then we could add makefile entries for calling the otelcol-builder like we have in jaeger-otelcol.

For a v2 branch, if we decide to go this way, we could have something like this instead:
├── exporter
│   └── badger
├── extension
│   └── query
├── internal
├── manifests
├── pkg
│   ├── boundedqueue
│   ├── http
│   │   └── query
│   └── spi
│       └── storage
├── processor
└── receiver

Each "final'' package (pkg/boundedqueue/, pkg/spi/storage/, exporter/badger/) would be a go module.

fwiw, I strongly prefer organizing code by business functions, not implementation details.

extension -> query is the inverse of that, I don't care how query is implemented, as extension or not.
processor & receiver are ok
exporter -> badger is a bit iffy, I'd say "storage" is a more important aspect of badger than "exporter" (however, in reality I would expect exporter -> storage and storage -> badger, because storage is a much bigger API than exporter, and exporter does not really care which storage

True. From otelcol's perspective, extension, exporter, ... are part of its business if we consider it as an ingestion pipeline. For Jaeger, the business isn't just ingesting the data, so, it does make sense to organize it differently.
But then, what about pkg?

But then, what about pkg?

hehe, https://github.com/golang-standards/project-layout/issues/10
I would keep pkg the same as it is in Jaeger today, a collection of standalone utils that could be theoretically moved out of the project. NOT storage APIs.
Also, in retrospect I think the current Jaeger structure could've been better if storage was all under storage/, instead of only APIs being there, but the impls being under plugin/storage/. It was unnecessary complication / separation.

Something like this then?
.
├── agent
│   └── jaegerthriftudp
├── collector
│   ├── jaegerproto
│   └── jaegerthrifthttp
├── internal
├── manifests
├── pkg
├── query
│   ├── extension
│   └── handler
└── storage
    ├── badger
    ├── cassandra
    ├── elasticsearch
    ├── grpcplugin
    └── spi

I would keep pkg the same as it is in Jaeger today, a collection of standalone utils that could be theoretically moved out of the project. NOT storage APIs.

Just to confirm: you don't mean the current set packages, just the general concept, right? Quite a few of those packages would probably not be useful for v2.
Also, did we settle in using a v2 branch vs. v2 directory in the main branch?

Something like this then...

Is each binary going to have its own go.mod? That approach really bothers me. I've worked with monorepos before, and they always had a single set of dependencies, which is kind of one of the main points of the monorepo.

Just to confirm: you don't mean the current set packages, just the general concept, right? Quite a few of those packages would probably not be useful for v2.

Yes, I am referring to the concept.

Also, did we settle in using a v2 branch vs. v2 directory in the main branch?

My preference is to keep everything in the main branch, refactor it as needed.

Is each binary going to have its own go.mod?

Each OpenTelemetry Collector component needs to be its own go mod. In the current proposal, the following would be otelcol components:

v2/agent/jaegerthriftudp/
v2/collector/jaegerproto/
v2/collector/jaegerthrifthttp/
v2/query/extension/
v2/remotesampling/extension
v2/storage/badger/
v2/storage/cassandra/
v2/storage/elasticsearch/
v2/storage/grpcplugin/

which is kind of one of the main points of the monorepo

The otelcol-contrib is indeed having problems with dependencies. This was kind of the reason for having jaeger-otelcol.

My preference is to keep everything in the main branch, refactor it as needed.

Alright, then:
.
└── v2
    ├── agent
    │   └── jaegerthriftudp
    ├── collector
    │   ├── jaegerproto
    │   └── jaegerthrifthttp
    ├── internal
    ├── manifests
    ├── pkg
    ├── query
    │   ├── extension
    │   └── handler
    ├── remotesampling
    │   ├── extension
    │   └── handler
    └── storage
        ├── badger
        ├── cassandra
        ├── elasticsearch
        ├── grpcplugin
        └── spi

Each OpenTelemetry Collector component needs to be its own go mod. In the current proposal, the following would be otelcol components:

Actually, it might be possible to change the builder to not require a go module... Let me scratch something.


'accuracy' and tf.metrics.get('accuracy') produce different results

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes, see below
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): OpenSUSE
TensorFlow installed from (source or binary): pip binary within pyenv
TensorFlow version (use command below): v2.0.0-rc2-26-g64c3d38 2.0.0
Python version: 3.7.5

Describe the current behavior
The same model behaves differently whether one uses 'accuracy' or tf.keras.metrics.get('accuracy') (see below).
Describe the expected behavior
They should behave identically.
Code to reproduce the issue
"""Bug."""
# import keras
import numpy as np
import tensorflow.keras as keras

X = np.empty([10, 224, 224, 3])
Y = np.empty([10, 2])

MODEL = keras.applications.vgg16.VGG16(weights=None, classes=2)

MODEL.compile(optimizer=keras.optimizers.Adam(),
              loss='categorical_crossentropy',
              metrics=['accuracy'])
MODEL.fit(X, Y, epochs=10)

MODEL.compile(optimizer=keras.optimizers.Adam(),
              loss='categorical_crossentropy',
              metrics=[keras.metrics.get('accuracy')])
MODEL.fit(X, Y, epochs=10)

Example output:
Train on 10 samples
Epoch 1/10

10/10 [==============================] - 4s 389ms/sample - loss: inf - accuracy: 0.9000
Epoch 2/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.9000
Epoch 3/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.9000
Epoch 4/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.9000
Epoch 5/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.9000
Epoch 6/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.9000
Epoch 7/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.9000
Epoch 8/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.9000
Epoch 9/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.9000
Epoch 10/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.9000
Train on 10 samples
Epoch 1/10

10/10 [==============================] - 1s 131ms/sample - loss: nan - accuracy: 0.0000e+00
Epoch 2/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.0000e+00
Epoch 3/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.0000e+00
Epoch 4/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.0000e+00
Epoch 5/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.0000e+00
Epoch 6/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.0000e+00
Epoch 7/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.0000e+00
Epoch 8/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.0000e+00
Epoch 9/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.0000e+00
Epoch 10/10

10/10 [==============================] - 0s 8ms/sample - loss: nan - accuracy: 0.0000e+00

Other info / logs
Closely related to #34088

@bersbersbers This has been fixed in the latest version of tf-nightly. Please find my gist here.

I believe this is not fixed. Your gist clearly shows this output, with different accuracy values reported:
...
Epoch 10/10
10/10 [==============================] - 19s 2s/sample - loss: 0.0000e+00 - accuracy: 1.0000
Train on 10 samples
Epoch 1/10
10/10 [==============================] - 20s 2s/sample - loss: 0.0000e+00 - accuracy: 0.0000e+00
Epoch 2/10
...

@gowthamkpr this has not been fixes, please see my answer above.

@bersbersbers Thank you for the issue. There are 3 metric accuracy functions:

Accuracy: This just checks the equality of y_true and y_pred.
Binary accuracy: This converts y_pred to 0 or 1 based on a threshold and then compares with y_true.
Categorical_accuracy: This checks the equality of class index of the max y_pred with the class index of the max y_true value

When you say keras.metrics.get('accuracy') you get the accuracy function. But if you pass the string accuracy, we infer between binary_accuracy/categorical_accuracy functions based on the shape of the model output.
Please let me know if you have any questions or concerns with this.
Thank you!

When you say keras.metrics.get('accuracy') you get the accuracy function. But if you pass the string accuracy, we infer between binary_accuracy/categorical_accuracy functions based on the shape of the model output.
Please let me know if you have any questions or concerns with this.

I believe it cannot be expected from a user to know all this, given that neither the behavior of accuracy (why is accuracy different from the accuracy function?) nor that of keras.metrics.get (what is it supposed to be doing?) is documented. The latter simply calls deserialize(str(identifier)), and I have never before seen a (de)serializer (designed to) modify the behavior of an object.

I agree that this needs more documentation. get does not have this behavior, compile API does. get will just return the deserialized version. Hence, when you give keras.metrics.get('accuracy') it will just return the accuracy function.

I have updated the compile API docs to address this, will be in the next nightly. Thank you!

wow, this change from "accuracy" to "binary_accuracy" made me think that my model trained in tf 2.1 was performing really poorly in tf 2.2. as i looked closer i realized the performance was the same, but "accuracy" was computed differently. it might have been better to have a warning when using "accuracy" in tf 2.2 saying that the definition will change, then in tf 2.3 actually changing it... or anything else to help introduce the change to folks.


Random fact feature

Hey, There is this interesting api i found, which provides random facts related to numbers and dates. We could use this for now.
Numbersapi
Another one,
FactAPI
(returns data in xml)
Let me know your opinions :smiley:

it's pretty good. I think we can add a facts module and for starters include this it.
Later, we can improve the facts module to include other types of facts too.

Yep, exactly!
@swapagarwal whats your say?

Looks good, go ahead with http://numbersapi.com/random/trivia


Implement hotscotch on asp.net pages

I am trying to implement hopscotch on a few asp.net pages. I put the references to the scripts and js in the master file. The problem is that the messagebox keeps flashes for some reason like it is in a loop. Any help would be greatly appreciated.

Yes, it's already one year old but still on top place in Google so I added this info if someone else has the same problem: In asp.net you should not use a button as it will do a postback and hopscotch does not start then. Instead use a span or something else. See also [Use LinkedIn HopScotch on ASPX Masterpages] (http://dotnetco.de/Blog/ID/52/Use-LinkedIn-HopScotch-on-ASPX-Masterpages.aspx)

Huh... good to know. Thanks for the info @K232!


[Feature Request] Disable Horizontal Swiping to change resource when using vertical scroll mode

Describe the bug
When vertical scroll mode is enabled (not paginated), I am working on a feature which allows users to goForward or goBackward with the tap of a button, rather than swiping left or right. In order to make this feature very clean, it's a requirement that I disable horizontal swiping.
Is there clear instruction on how to disable these horizontal swipes? If not, could you point me to the location of where this interaction is bound?
How to reproduce?

Open book
Ensure scroll mode is enabled
Swipe left or right to change the resource

Readium version
2.6.0
OS version
N/A
Testing device
N/A
Environment
No response
Additional context
No response

It's currently not possible to disable the swipes when scroll mode is enabled. However you can do that by setting             scrollView.isScrollEnabled = false in PaginationView.
Would you be interested in contributing a PR adding this capability, enabled with for example a EPUBNavigatorViewController.Configuration.disablePageTurnsWhenScrolling setting?


[Maintenance] improve testing utils and add delete-user-file test

Adding integration tests is a pre-requisite to https://github.com/actualbudget/actual-server/issues/420, as refactoring might break some stuff without us knowing, and manually doing the actions on the front-end is a pain.
I wanted to create a small PR that shows the value of adding integration tests.
I kept it small on purpose so that I wouldn't have done this for nothing if it gets rejected.
My plan is that this gets accepted, and I/we start adding integration test on all/major endpoints, so that we can more readily refactor the backend to be inline with https://github.com/actualbudget/actual-server/issues/420.

Took your comments into account.
Also, during some more integration testing for /sync, I noticed that I actually needed the middleware to be express.raw for the /sync endpoint to work during integration tests. I would wager that this is specific to jest or supertest, as I had no issues without it when using the frontend. Same for the delete-user-file endpoint, worked prefectly using curl without specifying the express.json() middleware, but during integration testing it complained the body was empty, as specified in one of my previous comments.
Am not knowledgeable enough in javascript testing to know why that might be.

Follow up PR is here: #423


Fail to install

Using  asdf install terraform-docs 0.9.1 (notice that it doesn't have a v in the version:
❯ asdf install terraform-docs 0.9.1
Downloading [terraform-docs] from https://github.com/segmentio/terraform-docs/releases/download/0.9.1/terraform-docs-0.9.1-darwin-amd64 to /var/folders/vs/k_3wkr1s2d3cjx7qpgyj8l7w0000gn/T/asdf_XXXXXXXX.wVpisiIT/terraform-docs-0.9.1-darwin-amd64
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100     9  100     9    0     0     30      0 --:--:-- --:--:-- --:--:--    30
Creating bin directory
Cleaning previous binaries
Copying binary

It writes to disk Not Found in the binary name.
You must use v0.9.1 in order to make it work.

Thanks for this! I was stuck too.
``asdf list all terraform-docs``` returns nothing.

@looztra: I think you need a -sL instead of just -s on the curl command to retrieve the versions now due to Github API changes

thank you for reporting this, working on it

This has been fixed by #3
run asdf plugin update terraform-docs to update your local copy of the plugin
@yordis you have to use asdf install terraform-docs v0.9.1 so that it works. Actually, you have to use of the versions returned by asdf list all terraform-docs when you execute asdf install terraform-docs XXX.
This command (list all) was failing because the git repo coordinates changed (and the plugin didn't follow the redirect).
This is now fixed.


Calculate delta by Bounds

Hi,
so I have a set of places that are saved in my db with their bounds (nw_lat, nw_lng, se_lat, se_lng). I've used that with the Javascript Google Maps api but now we are creating an app for our service and with react-native-maps you can only set the longitudeDelta and latitudeDelta.
How can I calculate the right delta from bounds?

You can obtain the deltas just subtracting one coordinate from another.
I think in your case something like the following might work:
const longitudeDelta = Math.abs(se_lng - nw_lng);
const latitudeDelta = Math.abs(se_lat - nw_lat);

similar to #356
But @almirfilho is right. Those are just differences.