[Question]: Best practice when utilizing caching from service worker capabilities

I am working on an application that heavily uses service workers and caching. I want to know if there's any best practice or any api routes I should look to disable caching on. For my application, I am using a library serwist and it provides some very good fundamentals but I want to consider the api routes and network connections that this package will be making, what to skip caching and which ones should be ok to cache for say an hour.
I am presuming that I should not cache api routes like /api/login and /api/logout but I am not totally sure.
I know this might be a bit out of scope of this project but I am not exactly sure which api routes will be ok to cache and which ones will not be so I will really appreciate your help on this. I will also try myself to set up the package with my application and try some caching strategies to see which works but I might miss some important routes/information that will bite  me in the foot later so I am hoping this issue will provide some useful insights into how the package works best with service workers and caching.

Hey @discoverlance-com,
Sounds like a really nice problem to solve!
I think you can safely cache /api/logout route as it's only purpose is to return empty headers. As long as cookieName does not change, this api route can be safely cached by Service Worker.
/api/login on the other hand requires an idToken. It can be cached, but it should always return different response based on the idToken. Ie. you should use the idToken as cache key.
You will most likely need to fetch that idToken using firebase/auth client SDK. Are you working on caching those requests in Service Worker as well?

Hey @discoverlance-com,
Sounds like a really nice problem to solve!
I think you can safely cache /api/logout route as it's only purpose is to return empty headers. As long as cookieName does not change, this api route can be safely cached by Service Worker.
/api/login on the other hand requires an idToken. It can be cached, but it should always return different response based on the idToken. Ie. you should use the idToken as cache key.
You will most likely need to fetch that idToken using firebase/auth client SDK. Are you working on caching those requests in Service Worker as well?

Hi, thanks for the reply.
Ideally, I don't want to cache any auth resources unless necessary and will have no effect on the functionality of the package or firebase. So yes, per what you have said about the logout api, I think I will go ahead to cache that but I think I will consider not caching the api/login route for now given it should be returning a different response or I will consider NetworkFirst caching mode which will try to first get new data, store the response in cache and will only use cache should the request fail.
What about api routes like the tokens api route for refreshing the tokens? Should I consider not caching those? Are these 3 api routes the only ones I need to consider or is there any other api route to consider? Thanks.

What about api routes like the tokens api route for refreshing the tokens?

This route is designed to give you the latest valid ID token to communicate with external services. In case of the lack of network connection, it will be called if the token is expired and you're using getValidIdToken function.
If you want it still to work when app is offline, you could cache it, but you'll also need to cache external API calls, if you have any.

or is there any other api route to consider?

No, it's only those three.
In general, it all depends on what you want to achieve – do you want the login functionality to work offline? It sounds weird, but could be achieved with Service Worker caching. Downside of that is the fact that service worker will keep the credentials, so if the app is offline and Firebase Client SDK calls are also cached, it may help bad actors to log in to the app.
/api/logout is safe to cache. Other paths – I would start without caching those and experiment how app behaves offline. If the credentials are valid, app technically could work offline for 1 hour without making a call api routes

Sorry, I might have sent too many alerts. I was not sure of the guide to closing issues so I was a bit unsure whether I am to close it or you will. So I reopened it.
At the moment, I have the information I need as a result based on your reply so this case can be closed.


use conf start pinot

use conf start pinot controller,  broker, server

Codecov Report

Merging #4205 into master will decrease coverage by 21.09%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #4205      +/-   ##
============================================
- Coverage     67.16%   46.07%   -21.1%
============================================
  Files          1034     1034
  Lines         51491    51491
  Branches       7214     7214
============================================
- Hits          34585    23724   -10861
- Misses        14520    25719   +11199
+ Partials       2386     2048     -338

Impacted Files
Coverage Δ
Complexity Δ

.../org/apache/pinot/common/http/MultiGetRequest.java
0% <0%> (-100%)
0% <0%> (ø)

...che/pinot/common/restlet/resources/TablesList.java
0% <0%> (-100%)
0% <0%> (ø)

...che/pinot/pql/parsers/pql2/ast/OptionsAstNode.java
0% <0%> (-100%)
0% <0%> (ø)

...ers/pql2/ast/PredicateParenthesisGroupAstNode.java
0% <0%> (-100%)
0% <0%> (ø)

...ot/core/query/scheduler/TableBasedGroupMapper.java
0% <0%> (-100%)
0% <0%> (ø)

...t/core/segment/index/readers/OnHeapDictionary.java
0% <0%> (-100%)
0% <0%> (ø)

...ommon/utils/retry/RetriableOperationException.java
0% <0%> (-100%)
0% <0%> (ø)

...t/core/query/scheduler/OutOfCapacityException.java
0% <0%> (-100%)
0% <0%> (ø)

...ot/common/utils/retry/AttemptFailureException.java
0% <0%> (-100%)
0% <0%> (ø)

...l/FixedByteSingleValueMultiColumnReaderWriter.java
0% <0%> (-100%)
0% <0%> (ø)

... and 520 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 1ac071f...ce6e65b. Read the comment docs.

I don't think the changes are following the rst format. Also, IMO these should be part of the quick start instead of the running Pinot in production.

I don't think the changes are following the rst format. Also, IMO these should be part of the quick start instead of the running Pinot in production.

+1

I don't think the changes are following the rst format. Also, IMO these should be part of the quick start instead of the running Pinot in production.

yes, the format can be modified. Currently, from the pinot document, we use this kind of startup in the production environment. How do you start it? @Jackie-Jiang @mcvsubbu


ReAttach the pagination

Hi Marko
In may case I tried to reattach the pagination after I filter the items in the adapter, so i dont need the pagination since the items are static and depend on the items already exist.
after that, when the user click say all the item the pagination should reattach again.
How to do that.
Thanks for you help

@Mansourali You will need to use unbind() call in order to detach from pagination. Later on, once when user leaves "filter feature" you can setup pagination again as you want (just like the initial setup).

I will close this issue since there isn't any further actions regarding this.


I am trying this extension and get error excel.php

I am using php 71 in Windows and using php_xlswriter.dll from php_xlswriter-1.0.1-7.1-ts-vc14-x86.zip
I got this error when running excel.php:
object(Vtiful\Kernel\Excel)#1 (2) { ["config":"Vtiful\Kernel\Excel":private]=> array(1) { ["path"]=> string(8) "./tests/" } ["fileName":"Vtiful\Kernel\Excel":private]=> string(23) "./tests/tutorial01.xlsx" } object(Vtiful\Kernel\Excel)#1 (2) { ["config":"Vtiful\Kernel\Excel":private]=> array(1) { ["path"]=> string(8) "./tests/" } ["fileName":"Vtiful\Kernel\Excel":private]=> string(23) "./tests/tutorial01.xlsx" } object(Vtiful\Kernel\Excel)#1 (2) { ["config":"Vtiful\Kernel\Excel":private]=> array(1) { ["path"]=> string(8) "./tests/" } ["fileName":"Vtiful\Kernel\Excel":private]=> string(23) "./tests/tutorial01.xlsx" } string(23) "./tests/tutorial01.xlsx"
What did I do wrong?

Its about the path. after reconfigure it to the following
$config = ['path' => 'c:/tests/'];
and create folder tests in c:
The script run successfuly


Looking forward to an additional download channel

Thank you for continuously updating and maintaining the code for your great work~
The training weights you provided are stored on OneDrive, which is not very convenient for me to access. Can you provide an alternative download channel (such as Google Drive)?
Thanks a lot.

Thanks for your suggestions. It is hard for me to access Google Drive since I am located in China.


Multiple dependencies?

Is it possible to have a test that executes only when multiple predecessors have completed (and passed)?
One solution is:
t1 = test(...)
t2 = testif(t1, ...)
t3 = testif(t2, ...)
But this serializes t1 and t2, which may be able to run concurrently.

Maybe a change like:
diff --git a/ats/management.py b/ats/management.py
index 92911ed..055f571 100644
--- a/ats/management.py
+++ b/ats/management.py
@@ -573,7 +573,11 @@ class AtsManager(object):
     def testif(self, parent, *clas, **options):
         "Create test, to be run only if othertest passed."
         testobj = self.test(*clas, **options)
-        parent.addDependent(testobj)
+        if isinstance(parent, list):
+            for p in parent:
+                p.addDependent(testobj)
+        else:
+            parent.addDependent(testobj)
         return testobj

would enable usage like this:
t1 = test(...)
t2 = test(...)
testif([t1, t2], ...)

etc.


Trying to call toString method on null in _tryDefineProperty method

In _tryDefineProperty if  JSON.stringify(desc) fails, null.toString is calling. I got this problem in IE11, when I commented this descJson = descJson.toString(); my app worked
                var descJson = null;
                try {
                    descJson = JSON.stringify(desc);
                }
                catch (error) {
                    descJson = descJson.toString();
                }
                console.log("Attempting to configure '" + prop + "' with descriptor '" + descJson + "' on object '" + obj + "' and got error, giving up: " + error);
            }```

@DenisKozko , thank you for reporting the issue, could you tell me the case when desc can't be JSON.stringify.

I think it's just a logic error here, but if you really need an example I can give you screen from my IE console. I log first 3 params of this method.

Hope it will help you. If you need more info you can ask me

@DenisKozko , ok, thank you, I will add check to avoid this error.

@JiaLiPassion
Can you please tell me when this fix will be in angular master?

@DenisKozko , I am not sure, you can used the attached zone.zip to replace node_modules\zone.js\dist for now.
zone.zip

@JiaLiPassion I am getting this error Function.prototype.toString: 'this' is not a Function object, I tried to update with your the zip files that you had sent.  but it's still getting this error.
I used this flag #933 which you have mentioned __Zone_enable_cross_context_check = true;, that makes the app to work again, however, dom will not get updated correctly, unfortunately. means change detection in Angular will not continue working properly.
@JiaLiPassion FYI, this issue is happening only when the CLI flag in --pord, There is no issue in the development environment which I guess uglifying or minifying is making this problem.
1- Angular 5
2- CLI 1.5
3- zone 0.8.18
The issue is on IE11.

@mhadaily , could you provide a reproduce repo?

@JiaLiPassion Sorry, ignore, the issue actually was at Swiper.js library and their new esm module.


Database: Failed installation due to permission error on tmp files

Bug report
TASK [database : check if database already exists] *****************************
fatal: [fworch-srv]: FAILED! =>
msg: |-
Failed to set permissions on the temporary files Ansible needs to create when becoming an unprivileged user (rc: 1, err: chown: changing ownership of '/var/tmp/ansible-tmp-1630576349.767145-35948006218567/': Operation not permitted
chown: changing ownership of '/var/tmp/ansible-tmp-1630576349.767145-35948006218567/AnsiballZ_postgresql_query.py': Operation not permitted
}). For information on working around this, see https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user
To Reproduce
Ubuntu 20.04 Server: normal installation without
allow_world_readable_tmpfiles = True

or
pipelining = True

in ansible.cfg

leaving config as:
[ssh_connection]
pipelining = True


Update setup-remote.md to present the correct sequence of steps related to /.brownie/network-config.yaml file

The brownie configuration directory ".brownie" is not created right after the ocean-lib installation but after the first brownie function is called. Therefore, the steps in the install-remote.md must be updated to present the correct sequence of actions.
Currently, the first step to set up Ocean after the installation of ocean-lib is chapter 1.1 in setup-remote.md which states
"Brownie's network configuration file is at ~/.brownie/network-config.yaml".
However, the .brownie directory does not exist yet. In order to create it, a brownie function needs to be called first.
Please update the install-remote.md to first run a brownie function, then edit the ~/.brownie/network-config.yaml file, if necessary.

Also, in the list of commands to run in the python console, some commands are doubled, as shown below:
import os
from ocean_lib.example_config import get_config_dict
->from ocean_lib.ocean.ocean import Ocean
config = get_config_dict("polygon-test")
->ocean = Ocean(config)

->from ocean_lib.ocean.ocean import Ocean
->ocean = Ocean(config)

Please correct this as well.


As an editor I want to be able to crop images that don't have aspect ratio so that I don't have to use Photoshop

See #256
This is not the easiest thing to achieve while not hurting performance.
Acceptance criteria

The crop features are used
The image has reserved space to avoid CLS in the web
The image is not stretched
The image is not smaller than the available space

In order to ensure good quality we should (Keep the ones we need for this US)

[ ] Test for accessibility
[ ] Perform performance and load test

Related to #775

Im pretty sure this isnt relevant I suggest closing @meols


[DynamicField] Make hash_type_and_key public

This function should be public for smart contracts to use.
sui::bag::add does not return the id of the newly created object.
We hope to calculate the id of the new object through hash_type_and_key and store it in the event.

If sui does not provide a way to traverse table or bag, then  should expose hash_type_and_key, make table or bag keys computable off-chain.

Could you talk a bit more about what it is you are trying to do?
If you look at the underlying implementation of table and bag. They are fairly simple wrappers.
You could make a version of table and bag that basically have a linked list of previous/next entries, by wrapping the value to also store these prev/next keys.
But if you want some additional knowledge off chain, we might want to expose that in a different way.

You could make a version of table and bag that basically have a linked list of previous/next entries, by wrapping the value to also store these prev/next keys.

Good idea.

But if you want some additional knowledge off chain, we might want to expose that in a different way.

I just found out that we can get all keys of table and bag using getObjectsOwnedByObject off-chain.
const {JsonRpcProvider} = require("@mysten/sui.js");

(async ()=> {
    const TESTNET_URL = "https://fullnode.testnet.sui.io:443";

    let client = new JsonRpcProvider(TESTNET_URL);
    let bagId = "0x9f7e2cd16df60de1ba4425053a87e284706256db";
    let keys = await client.getObjectsOwnedByObject(bagId);

    console.log(keys);
})()


Quartz Timer Functional Tests are failing in jbpm due to Java Heap Space issue only in 7.67.x-blue

When adding the latest tests to the blue branch (like RHPAM-4442 and RHPAM-4446), these are impacting the execution of the whole suite (clean up is commented in one of them), so execution finishes with some errors:
[ERROR] Tests run: 39, Failures: 0, Errors: 4, Skipped: 3, Time elapsed: 1,862.148 s <<< FAILURE! - in org.jbpm.test.functional.timer.GlobalQuartzRAMTimerServiceTest
13:51:38 [ERROR] testInterediateBoundaryTimerWithGlobalTestServiceRollback[2](org.jbpm.test.functional.timer.GlobalQuartzRAMTimerServiceTest)  Time elapsed: 1,186.287 s  <<< ERROR!
13:51:38 java.lang.OutOfMemoryError: Java heap space
13:51:38
13:51:38 [ERROR] testTimerStart[2](org.jbpm.test.functional.timer.GlobalQuartzRAMTimerServiceTest)  Time elapsed: 148.177 s  <<< ERROR!
13:51:38 java.lang.OutOfMemoryError: Java heap space
13:51:38
13:51:38 [ERROR] testTimerFailureAndRetrigger[2](org.jbpm.test.functional.timer.GlobalQuartzRAMTimerServiceTest)  Time elapsed: 111.718 s  <<< ERROR!
13:51:38 java.lang.OutOfMemoryError: Java heap space
13:51:38
13:51:38 [ERROR] testIntermediateTimerWithGlobalTestServiceSimulateCMT[2](org.jbpm.test.functional.timer.GlobalQuartzRAMTimerServiceTest)  Time elapsed: 128.01 s  <<< ERROR!
13:51:38 java.lang.OutOfMemoryError: Java heap space
13:51:38
13:51:39 [INFO] Running org.jbpm.test.functional.timer.GlobalThreadPoolTimerServiceTest
15:23:30 [ERROR] Tests run: 42, Failures: 0, Errors: 39, Skipped: 3, Time elapsed: 5,511.461 s <<< FAILURE! - in org.jbpm.test.functional.timer.GlobalThreadPoolTimerServiceTest
15:23:30 [ERROR] testInterediateTimerWithGlobalTestServiceWithinTransaction[0](org.jbpm.test.functional.timer.GlobalThreadPoolTimerServiceTest)  Time elapsed: 200.327 s  <<< ERROR!
15:23:30 java.lang.OutOfMemoryError: Java heap space
15:23:30
15:23:30 [ERROR] testTimerStartMemoryLeak[0](org.jbpm.test.functional.timer.GlobalThreadPoolTimerServiceTest)  Time elapsed: 117.838 s  <<< ERROR!
15:23:30 java.lang.OutOfMemoryError: Java heap space
15:23:30
15:23:30 [ERROR] testIntermediateTimerWithGlobalTestServiceRollback[0](org.jbpm.test.functional.timer.GlobalThreadPoolTimerServiceTest)  Time elapsed: 125.695 s  <<< ERROR!
15:23:30 java.lang.OutOfMemoryError: Java heap space

@gmunozfe looks like this is unrelated to the codebase donated to Apache and looks like a product issue, please move this to Red Hat systems

@gmunozfe looks like this is unrelated to the codebase donated to Apache and looks like a product issue, please move this to Red Hat systems

@porcelli Not exactly, this is an issue reproducible only in this 7.67.x-blue branch due to the addition of new tests that are impacting memory. As by default, this module jbpm-test-coverage has skipTests flag activated, these tests are only failing when executing the whole suite on demand, but these are community tests, not only for product.


setup_irods.py hangs when environment file provided

When an --env-file is provided (as in Example 2), the setup_irods.py script eats 100% of the CPU and never completes. This is true even when the --env-file contains the exact same values specified by the ENV directives in the dockerfile. It also occurs when using the environment file provided in Example 2.

@bnordgren - new PR merged for 4.2.2 that should address this.
Ref: PR #4

Issue has been resolved, closing


ClinGen G6PD expert panel suggestion

The ClinGen G6PD variant curation expert panel suggested the following carefully crafted wording changes to two MONDO ID's. @nicolevasilevsky
To Map on top of: GCPD Deficiency (MONDO: 0005775)
G6PD deficiency – Proposed language:
An X-linked genetic condition caused by alterations in the gene G6PD that result in moderately to severely decreased activity levels of the enzyme glucose-6-phosphate dehydrogenase. Most individuals with G6PD deficiency are asymptomatic. Individuals with G6PD variants that cause G6PD deficiency are at risk for acute hemolytic anemia in response to certain medication exposures, chemical exposures, infections, or consumption of fava beans.
To Map on top of: anemia, nonspherocytic hemolytic, due to G6PD deficiency (MONDO: 0010480)
G6PD deficiency, with chronic non-spherocytic hemolytic anemia (CNSHA) – Proposed language:
An X-linked genetic condition caused by alterations in the gene G6PD that result in severely decreased activity levels of the enzyme glucose-6-phosphate dehydrogenase.  Individuals with hemizygous G6PD variants associated with CNSHA have CNSHA. Individuals with G6PD variants that cause CNSHA are at risk for acute hemolytic anemia in response to certain medication exposures, chemical exposures, infections, or consumption of fava beans.

Response to this issue is here: https://github.com/monarch-initiative/mondo/issues/7890


[BUG] cds-typer does not generate ES module syntax with targetModuleType set to auto

Is there an existing issue for this?

[X] I have searched the existing issues

Nature of Your Project
JavaScript
Current Behavior
After initializing my project with the esm, the JS files of cds typer still use CJS syntax, though the package.json contains type: module:
// This is an automatically generated file. Please do not change its contents manually!
const cds = require('@sap/cds')
const csn = cds.entities('AdminService')
// service
const AdminService = { name: 'AdminService' }
module.exports = AdminService
module.exports.AdminService = AdminService
// Books
module.exports.Book = { is_singular: true, __proto__: csn.Books }
module.exports.Books = csn.Books
// Authors
module.exports.Author = { is_singular: true, __proto__: csn.Authors }
module.exports.Authors = csn.Authors
// Languages
module.exports.Language = { is_singular: true, __proto__: csn.Languages }
module.exports.Languages = csn.Languages
// Genres
module.exports.Genre = { is_singular: true, __proto__: csn.Genres }
module.exports.Genres = csn.Genres
// Currencies
module.exports.Currency = { is_singular: true, __proto__: csn.Currencies }
module.exports.Currencies = csn.Currencies
// events
// actions
// enums

This is my package.json:
{
  "name": "override",
  "version": "1.0.0",
  "description": "A simple CAP project.",
  "repository": "<Add your repository here>",
  "license": "UNLICENSED",
  "private": true,
  "dependencies": {
    "@sap/cds": "^8",
    "express": "^4"
  },
  "devDependencies": {
    "@cap-js/sqlite": "^1",
    "@cap-js/cds-types": "^0.8.0",
    "@cap-js/cds-typer": ">=0.1",
    "@types/node": "^22.0.0",
    "typescript": "^5"
  },
  "scripts": {
    "start": "cds-serve",
    "watch": "cds-tsx w"
  },
  "type": "module",
  "sapux": [
    "app/admin-books",
    "app/browse"
  ],
  "imports": {
    "#cds-models/*"<EMAIL_ADDRESS>  }
}

Once I add the following section to package.json, ES modules are used successfully:
"cds": {
    "typer": {
      "target_module_type": "esm"
    }
  }

Expected Behavior
When using the default setting auto for the targetModuleType, I expect es modules to be generated by cds-typer.
Steps To Reproduce

cds init esm-test --add esm,typer,sample
cd esm-test
npm i
Execute a change in your data model and check the resulting JS files in @cds-models

Environment
- **OS**: macOS 15
- **Node**: 22.7.0
- **npm**: 10.9.0
- **cds-typer**: 0.30.0
- **cds**: 8.5.1

Repository Containing a Minimal Reproducible Example
No response
Anything else?
I read the documentation and checked the PR #398  for further guidance but I didn't find anything that was helpful to me.
Thank you in advance for your support!

Hi Ansgar,
good catch! I have prepared a fix.
Best,
Daniel

Hi Daniel,
thanks for the quick response!
I tested your branch locally and I solves my issue.
Best,
Ansgar


File "/usr/local/lib/python3.7/site-packages/pydot.py", line 1933, in create raise OSError(*args) FileNotFoundError: [Errno 2] "dot" not found in path.

I am using pydot to generate graph and i installed graphviz, my program has to run in docker when i tried locally i copied files of graphviz to folder where my code exists and added these lines
os.environ["PATH"] += os.pathsep + os.getcwd()+'/Graphviz2.38/bin/'
os.environ["PATH"] += os.pathsep + os.getcwd()+'/Graphviz2.38/lib/'
I removed path from environment variable its worked fine in local but when trying in docker its raising error

FROM python:3.7
RUN pip install Flask gunicorn
RUN pip install pydot
RUN pip install pandas
RUN pip install graphviz
COPY src/ app/
WORKDIR /app
ENV PORT 8080
CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 app:app
These are in Dockerfile

Did you fixed it? I got same error on a remote server, I guess its related to the GUI stuff.

Seems like a dupe of https://github.com/pydot/pydot/issues/257

Thanks for the reminder! Closing as duplicate


Node 8.x support

As per #48 runtime support under node 10.1 was dropped. Node 8.x is still widely used as a runtime, especially in servers. I suggest that it should be supported a bit longer.
Also note that the fs Promises API is still experimental in node 10.
These changes would be needed for node 8 support:

fs.promises was unavailable prior to node 10.

Use a library like normalize/mz for async fs operations, or use Util.promisify like before.

Don't use the global URL object. It was unavailable prior to node 10.

require('url').URL references the same object in earlier versions.

As a more long-term solution targeting earlier versions of node with Babel during the build step could be a solution, which still means newer features can be used in the code without having to worry about compatibility.

The initial approach with this fork was to move on and use new Node features. We have older version published on NPM if you want to stick with an older version of Node. Version 6.0 released today is written in Typescript, but targeting Node 10.

Node 10 finally became available in AWS Lambda as of a few days ago, which was my pain point. So we will be able to move on for now.
With that said, I don't see the point of not targeting Node 8 when it's still supported and widely adopted. You guys should try to support current versions of node, like many other npm libraries.
PS. The 6.0.0 release is completely broken

@c-bandy Yes, 6.0 got NPM publishing error, will publish 6.1 with localizations support today.

@c-bandy version 6.1 fixed NPM publishing issue


add guide for switching between password hashing methods

Pow has a guide for configuring the password hashing algorithm. There may come a time where people need to switch between password hashing methods (say, bcrypt/pbkdf2 to argon, or Pow's pbkdf2 implementation to pbkdf2_elixir). A guide or snippet on implementing this switch might be helpful.

Great idea. It's actually pretty straight forward. You just need a module that accepted deprecated hashing methods in verify function for :password_hash_methods. It could look like this to convert Pow's pbkdf2 impl to Argon2:
defmodule MyApp.Password do
  def hash(secret), do: Argon2.hash_pwd_salt(secret)

  def verify(secret, "$pbkdf2-" <> _ = hash), do: Pow.Ecto.Schema.Password.pbkdf2_verify(secret, hash)
  def verify(secret, "$argon2-" <> _ = hash), do: Argon2. verify_pass(secret, hash)
end

There are other details that should be included in the guide, like automatically hash with the new algo when the user signs if the current has in the db is with the old algo. The above also only works if the algo has been encoded in the hash. If not, then you would probably add a new column to the user that specify what algo or password version is used.

Great idea. It's actually pretty straight forward. You just need a module that accepted deprecated hashing methods in verify function for :password_hash_methods. It could look like this to convert Pow's pbkdf2 impl to Argon2:
defmodule MyApp.Password do
  def hash(secret), do: Argon2.hash_pwd_salt(secret)

  def verify(secret, "$pbkdf2-" <> _ = hash), do: Pow.Ecto.Schema.Password.pbkdf2_verify(secret, hash)
  def verify(secret, "$argon2-" <> _ = hash), do: Argon2. verify_pass(secret, hash)
end

There are other details that should be included in the guide, like automatically hash with the new algo when the user signs if the current has in the db is with the old algo. The above also only works if the algo has been encoded in the hash. If not, then you would probably add a new column to the user that specify what algo or password version is used.


DRM content-protected won't play on tvOS

Hi there, I'm creating this issue to report that I cannot play DRM content-protected videos on tvOS
I am using:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>on tvOS

I'm providing the following sources to THEOplayer:
const url = Platform.select({
    ios: hlsUrl ?? dashUrl,
    android: dashUrl ?? hlsUrl,
});

const sourceContentProtection: DRMConfiguration = {
        integration: 'keyos',
        fairplay: {
            licenseAcquisitionURL: XXXXXXXX,
            certificateURL: YYYYYYYYY,
        },
        // some custom protection data generated by our backend
        ...(authXML && {
            customdata: authXML,
        }),
    };

const source: Sources | undefined = url
    ? {
          type:
              url === dashUrl
                  ? 'application/dash+xml'
                  : 'application/x-mpegurl',
          src: url,
          contentProtection: sourceContentProtection,
      }
    : undefined;

....
return(
  <THEOplayerView
      source={{
          sources: source ? [source] : [],
      }}
  />
)

tvOS is reporting the following error:
Something went wrong while trying to play the content.

Note that the same stream is playing perfectly on THEOplayer web and that other not DRM content-protected videos are working perfectly on this tvOS  📺
Related to issue #29

Hi @danychi,
As I mentioned on the internal ticket you created (THEOSD-12374), this is working without issues on our side. Let's continue our investigation on the internal ticket to see what might be going wrong here.
I will be closing this issue now.
Kind regards,
Ceyhun


[don't merge] Vector layers in CartoDB.js

Work in progress. Putting up this PR to track progressively.
@javisantana @rochoa @alonsogarciapablo

@rochoa the majority of these comments apply to leaflet-cartodb-group-layer-base.js, as leaflet-vector-cartodb-group-layer-base.js is a modified copy of it.


Using kubebuilder's built-it mechanizm to secure /metrics instead of using kube-rbac-proxy in helm-operator

Feature Request
Describe the problem you need a feature to resolve.
Hi Team. In helm-operator code the /metrics endpoint is exposed and is using 3rd party component kube-rbac-proxy to secure access to it. The image is being used is being currently hosted on gcr.io. There is a plan to retire container registry on GCP so image will not be available from March 18, 2025
Describe the solution you'd like.
The proposed solution is to migrate to built-in authn/authz mechanism added to kubebuilder WithAuthenticationAndAuthorization. More details are described on the kubebuilder's page:
https://book.kubebuilder.io/reference/metrics
/language helm

Hi @dchirikov With the below issue, we'll move to kubebuilder 4.1.1 and away from scaffolding the kube-rbac-proxy, there is nothing stopping you from moving your project to the latest controller runtime to pickup these changes if you need them before operator-sdk's work is finished.

#6730


picolisp: include httpGate tool

https://software-lab.de/doc/httpGate.html
httpGate is a central element of the PicoLisp application server
architecture. Its purpose is to perform the following tasks:

Provide a single application entry port (e.g. 80 or 443).
Allow PicoLisp applications to run as non-root.
Start application servers on demand.
Handle HTTPS/SSL communication.

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build picolisp

@GrahamcOfBorg eval


[Explore]: What is your release cadence?

Background
I'd like to release v2.0.0 of go-functional, but not until the beta has seen real production usage. How often do you ship to prod?
Acceptance Criteria
Just some questions answered.
Timebox
No timebox
Dev Notes
No response

Hey @BooleanCat
We are not aware of any production usages of Korifi so far. There are companies evaluating it right now though.
As per release cadance, we release whenever we believe we have anything worth releasing. We are currently looking into getting experimental managed services support with Korifi, this would probably take us about two months more.
What are your concerns? What we have seen so far, go-functional works well for us. If you are considering backwards incompatible changes, don't worry - we can adopt them.

Thanks for the information! I just wanted to tease out any bugs that would incur breaking changes to fix but if you're willing to adopt breaking changes then I won't wait! Thanks.


Icon request: Vivaldi

URL for the brand / site / app
https://vivaldi.com
Logo resources for the icon
https://vivaldi.com/press/
Proof of the Aegis-compatible 2FA
https://help.vivaldi.com/services/account/two-factor-authentication/
Anything else?
Press kit contains red logo but community - for which the 2FA is - uses #3f78eb as color

Maintainer note: Icon should be made based of Vivaldi browser's branding (red).

Confirmation

[X] I have read and followed the issue guidelines & issue form.

Here you go!
https://github.com/aegis-icons/aegis-icons/blob/master/icons/1_Primary/Vivaldi.svg

:question: How to add icon(s) to Aegis?
:star: Support this project by giving a star! Just adding like to this comment is also appreciated.

Thabks for the quick work.

Maintainer note: Icon should be made based of Vivaldi browser's branding (red).

Why? The 2FA is for the community which uses blue?

Maintainer note: Icon should be made based of Vivaldi browser's branding (red).

Why? The 2FA is for the community which uses blue?

Because account also works on the browser, they don't have seperate systems for both.


No file /etc/setup/setup.rc error

awk: cmd. line:4: fatal: cannot open file `/etc/setup/setup.rc' for reading (No such file or directory)
awk: fatal: cannot open file `/etc/setup/setup.rc' for reading (No such file or directory)
grep: /etc/setup/installed.db: No such file or directory
Installing nano
Unable to locate package nano

Getting this error repeatedly unable to install or remove any packages

i have the same issue on debian from gitlab ci.

I'm getting this issue from within Git Bash (which is automatically installed when installing Git for Windows).
Perhaps this package doesn't properly support Git Bash?


Show units for variables that are strings

Ex: India ICEMR Behavior cross-sectional study has a number of variables (Transit time to health facility, 'Time from fever onset to treatment seeking', Time from malaria test until treatment started; Proposed time to seek malaria treatment) that have units loaded which do not display. Presumably this is because all of these variables contain values like "1-2" and "Don't know", and so are string rather that continuous.
Please implement units in the label and data table even when data is string.

.

this will entail changes in the subsetting service, the service layer API, and the client code


/sys mounts outlive mininet execution

Hi,
the mounts done in namespaces outlive the execution of mn. It results with many /sys mounts polluting the system after a few executions of mininet. This was reported in Debian: https://bugs.debian.org/799654
The problem is due to systemd changing the default semantics of mounts (which are shared). The fix is to make the mounts done by mnexec local to the containers. Here is a fix that we apply in Debian currently: https://anonscm.debian.org/cgit/collab-maint/mininet.git/tree/debian/patches/0001-mnexec-properly-setup-the-mount-namespace.patch?id=015854c68385282fb0a1b0e8f05cd45510d32063
Cheers,
Tomasz

This is an irritating development, but the same issue has cropped up on Fedora. I think the fix looks good.

I agree. Although most of systemd stuff is really cool and fancy, some invasive changes break lots of stuff. It seems that this is the price of evolution.


FULL Duplex support on ILI9341 display driver.

Currently the only driver that supports (have code to do it) full duplex communication is the FT18x.
I need to read back some information from the ILI9341 driver, how can we add support for full duplex communication for it? driver-specific code, generic code?

FULL Duplex literally means reading and writing at the same time - bits are transferring in both directions at the same time. Even thought the FT81x has code to do this, it doesn't really operate in full duplex mode. In full duplex mode, it sends some address bits and/or commands, ignores some dummy bits as required by the FT81x, and then receives some data. While it's sending data, it ignores any received data (treats them as dummy bits) and while it is reading data, the esp32 SPI driver just sends zeros. This is effectively half-duplex mode in reality and due to my misunderstanding, this is the way I first got things to work. Half duplex mode is the way I should have done things from the start and my recent changes enable it to work that way. I didn't fully disable full duplex mode though due to some quirks when reading large amounts of data (the FT81x one byte at a time hacks in half duplex config mode, which I am still not sure if it is an esp32 SPI driver bug or a quirk of the FT81x).
I don't know much about any other display controller but I would guess that they don't truly operate in full duplex mode either as what display needs to read & write at the same exact time. It probably requires some address and/or command bits to be sent and then responds with data. This is still technically half-duplex mode as it has a write (address & command) followed by a read (data returned). the esp32 SPI driver supports this in half duplex mode using the address and command bits (it just doesn't support writing arbitrary data in the same transaction). If it is not flexible enough, then you can fake it use full duplex by crafting the right bits to send (which is what the FT81x does in full duplex mode).
So I would check the data sheet to see if it really transfers and received simultaneously. If it does then it is truly full duplex. But if you send an address and/or command followed by reading data, then it is really half duplex. Either way the disp_spi.c supports both methods and since the FT81x can be configured to use either mode (even though it is not truly full duplex) it can serve as an example. Just note that dummy bits config is specific to the device used. Some may not need them at all. Also, I doubt I could have gotten this to work without a logic analyzer to see into the process to make sure it matches the datasheet but that was likely due to my lack of experience with esp32, SPI, etc...
Also, as for driver-specific or generic, it seems to me that reading data, dummy bits, timing, etc.. is going to be pretty specific to the device. In other words, it may be hard to make it generic enough to suit all the quirks of each devices.
I am in no way an expert on this - this is just what I figured out through trial and error for the FT81x.


chore: release main

:robot: I have created a release beep boop
db-service: 1.12.0
1.12.0 (2024-07-25)
Added

UPDATE/DELETE: Enable path expressions for improved data manipulation (#325) (94f0776)
Add fallback for @cap-js/hana for unknown entities (#403) (e7dd6de)
Add missing func cqn structures (#629) (9d7539a)
Add simple queries feature flag (#660) (3335202)
also support lowercase matchespattern function (#528) (6ea574e)
Dataset streams (#136) (006b1b4)
Enable native HANA fuzzy search for search function queries (#707) (0b9108c)
forUpdate and forShareLock (#148) (99a1170)
hana: drop prepared statements after end of transaction (#537) (b1f864e)
Improved connection pool for HANAService (#349) (1c284e6)
Odata built-in query functions (#558) (6e63367)
orderby: allow to disable collations with @cds.collate: false (#492) (820f971)
Reduce distinct from usage (#157) (d5bcec9)
search: enable deep search with path expressions (#590) (e9e9461)
SELECT returns binaries as Buffers (#416) (d4240d5)
SELECT returns LargeBinaries as streams unless feature flag "stream_compat" is set (#251) (8165a4a)
strict mode to validate input for INSERT, UPDATE and UPSERT (#384) (4644483)
support HANA stored procedures (#542) (52a00a0)
Support Readable Streams inside INSERT.entries (#343) (f6faf89)
temporal data: add time slice key to conflict clause (#249) (67b8edf)
use place holders for update and delete (#323) (81472b9)

Fixed

** infer:** unique alias for scoped subqueries (#465) (5dbaa8e)
cqn2sql: smart quoting also for update statements (#475) (1688f77)
cqn4sql: be robust against $self.<element> references (#471) (2921b0e)
cqn4sql: only transform list if necessary (#438) (8a7ec65)
expand: enable expanding from subquery (#709) (5ed03e5), closes #708
expand: Only accept on structures, assocs or table aliases (#551) (3248512)
INSERT with first undefined value (#484) (c21e3c4)
order by: for localized sorting, prepend table alias (#546) (a273a92)
order by: reject non-fk traversals of own columns in order by (#599) (3288d63)
A test fix to test release please (#274) (a444f78)
add placeholder for string values (#733) (8136a45)
Align all quote functions with @sap/cds-compiler (#619) (42e9828)
align time function behavior (#322) (c3ab40a)
Allow only for array of arrays as data for plain SQL (#449) (22e1c43)
Allow SELECT.join queries again with full infer call (#469) (5329ec0)
Always deduplicate columns (#151) (db5fbbe)
always generate unique subquery aliases (#435) (c875b7d)
another comment (#304) (efc7fe2)
assign artificial alias if selecting from anonymous subquery (#608) (e1a7711)
avoid spread operator (#630) (a39fb65)
<EMAIL_ADDRESS>(#210) (3781159)
broad expand with more than 50 columns (#261) (27e187f)
calculated elements: path expressions in func.args within xpr (#321) (cee25e3)
cds failing tests (#154) (d2bd96e)
cds.infer: Always use srv.model (#451) (41cf4a2)
comment (#296) (55dcf46)
comment (#302) (f97d295)
consider list in from.where (#429) (3288e94)
cqn2sql: $user.locale refs (#431) (ec55276)
cqn2sql: Smart quoting of columns inside UPSERT rows (#519) (78fe10b)
cqn2sql: supporting calculated elements (#387) (2153fb9)
cqn4sql: expand structured keys in on-conditions (#421) (b1e0677)
deep delete for views without navigation (#434) (3ebc9c2)
deep insert with backlinks as key in children (#199) (253ae0d)
Disconnect db service on shutdown (#327) (8471bda)
Do not generate UUIDs for association keys (#398) (9970e14)
do not include assoc in INSERT columns (#203) (d78657f)
do not prepend table alias to session variables (#656) (24e8b19)
do not rely on db constraints for deep delete (#390) (9623af6)
don't release to pool twice (#243) (4f2e8f1)
Don't skip unknown columns in INSERT.columns (#189) (8503a9e)
dont insert structured elements (#461) (f3f688d)
dont mistake non-key access with foreign key (#642) (2cd2349)
draft: deep update on a managed draft entity without change should update the modifiedAt field on the parent entity (#149) (e12577e)
enumeration issue with session context in @cap-js/hana (#399) (8106a20)
etag with stream_compat (#562) (b0a3a41)
exclude cds.LargeBinary from wildcard expansion (#577) (6661d63)
flat update with arbitrary where clauses (#598) (f108798)
for aggregated expand always set explicit alias (#739) (53a8075), closes #708
Getting rid of quirks mode (#514) (c9aa6e8)
ignore virtual keys in UPSERT(#463) (49adbf3)
improved = and != with val null for HANA and Postgres (#626) (cbcfe3b)
Improved placeholders and limit clause (#567) (d5d5dbb)
INSERT entries containing undefined values (#453) (d3aad75)
issue with reused select cqns (#505) (916d175)
joins without columns are rejected (#535) (eb9beda)
localized: refs in subqueries in from are translated (#366) (cfe4897)
make @cap-js/sqlite work with<EMAIL_ADDRESS>(#422) (44c0a59)
multiple result responses (#602) (bf0bed4)
non-fk access in filter conditions are properly rejected (#336) (4c948fe)
Only check first row if no changes required (#552) (39b0b85)
only consider persisted columns for simple operations (#592) (6e31bda)
optimize foreign key access for expand with aggregations (#734) (77b7978)
optimize foreign key access in a join relevant path (#481) (5e30de4), closes #479
order by icu OR with (best-effort) mapping OR without collation (#120) (67a317b)
pass context of navigation for list within infix filter (#433) (0ca077f)
preserve $count for result of SELECT queries (#280) (23bef24)
quotations in vals (#754) (94d8e97)
Reduce insert queries for deep update (#568) (55e5114)
Reduced count query complexity when possible (#553) (3331f02)
Restore former deep upsert behavior / error (#406) (284b1e3)
Retain null columns for sqlite (#238) (dc21173)
rewrite assoc chains if intermediate assoc is not fk (#715) (3873f9a)
search: check calculated columns at any depth (#310) (8fd6153)
search: dont search non string aggregations (#527) (c87900c)
search: search on aggregated results in HAVING clause  (#524) (61d348e)
select without columns from unknown entity (#466) (eb857de)
Skip virtual fields on UPSERTs (#405) (1a05dcb)
sqlite date string compatibility parsing only for valid dates (#410) (2a8bb2d), closes #409
Support expand with group by clause (#721) (90c9e6a)
test PR to test release-please (#276) (2b28804)
test PR to test release-please (#278) (97925df)
Throw 'new Error' instead of string on $search with multiple words (#472) (51be94d)
UPSERT for @cap-js/hana for entities with multiple keys (#418) (9bbac6e)
URGENT: fix bug with missing ref.id || ref (#440) (3e2ef24)
wrong odata count in filter with groupby (#352) (70690a1)

Changed

generic-pool as real dep (#750) (b50c907)
require >=<EMAIL_ADDRESS>(f4d09e2)
require >=<EMAIL_ADDRESS>(#627) (f4d09e2)

Performance Improvements

HANA list placeholder (#380) (3eadfea)

postgres: 1.9.2
1.9.2 (2024-07-25)
Changed

build script generates cds8 dependency in deployer app (#758) (5c21a67)

hana: 1.1.1
1.1.1 (2024-07-25)
Fixed

assocs with default value (#752) (a8660cf)
make name for columns for ordinality unique (#746) (d3f9b23)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

db-service-v1.12.0
postgres-v1.9.2
hana-v1.1.1
:sunflower:


[master] Upgrade to latest dependencies

Cron. -knative-prow-robot
/cc knative-sandbox/source-wg-leads
/assign knative-sandbox/source-wg-leads
Produced via:
./hack/update-deps.sh --upgrade --release v0.21
./hack/update-codegen.sh

Details:
bumping knative.dev/pkg 1bbf0a6...0d31134:
  > 0d31134 Fix nil pointer panic in kvstore (# 2002)
  > 6040b3a improve client error message when our webhook doesn't have a valid cert (# 2000)
  > 7101e9d allow the addressable ducktype to act as an ownerref (# 1999)
  > 250a183 Bump K8s libs to 1.19 (# 1986)
  > 2f4dd35 Switch Webhook to ed25519 and expiration of the certificate to seven days (# 1998)
  > 32a3248 upgrade to latest dependencies (# 1997)
  > 992644a Update common github actions (# 1996)
  > 8cd47b5 drop excess logger properties (# 1993)
bumping knative.dev/eventing 5dc363d...ea452b5:
  > ea452b5 go 1.15 in go.mod, drop k8s 1.17 e2e tests (# 4795)
  > ce099cf new cloudevent extension attribute with dispatch error (# 4760)
  > 83ecc7c Set failure policy to ignore for webhook (# 4793)
  > ae17ca3 Adding HPA for eventing-webhook (# 4792)
  > 81ce898 [# 4739] Update e2e channel defaults webhook test (# 4790)
  > 88f397f upgrade to latest dependencies (# 4789)
  > d430261 Drop k8s.io replace directives & bump deps to include k8s 1.19 libs (# 4788)
  > 86bc239 Upgrade otel  (# 4786)
  > 340f07f upgrade to latest dependencies (# 4785)
  > 0c86634 Format markdown (# 4784)
  > ff327f0 Expose the function RunMainTest (# 4779)
  > c4a39e2 test(sources): add roundtrip tests for sources v1 types (# 4764)
  > ebd5b0f Allow to specify build platform for test images (# 4763)
  > 7123f45 Use KO_YAML_FLAGS for multi-platform build (# 4770)
  > 26a3bfa upgrade to latest dependencies (# 4766)
  > 1b383e0 Update common github actions (# 4765)
  > d1bac1e use v1beta2 as the storage version of PingSource (# 4750)
bumping knative.dev/hack 4422dca...8d623a0:
  > 8d623a0 Use git tag directly in master to get latest version (# 43)

/close

/close


Update dependencies

Update all the dependencies!

Coverage remained the same at 99.367% when pulling b66deda1b8a59dc0f7fbbca88fb1d7a385550720 on update-deps into 097078a454027bc1b366b26fa58f9b021127b093 on main.


Setup react server and the initial react code

solve issue #1

We will not use a SPA for the Identity provider. We will use simple templates and normal forms


Flaky test: ScriptTags_SubresourceIntegrityCheck

This test fails occasionally with the following error:
System.Net.Http.HttpRequestException : Resource temporarily unavailable
---- System.Net.Sockets.SocketException : Resource temporarily unavailable
   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask`1 creationTask)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at System.Net.Http.HttpClient.FinishGetStreamAsync(Task`1 getTask)
   at Microsoft.VisualStudio.Web.CodeGenerators.Mvc.CdnScriptTagTests.ScriptTags_SubresourceIntegrityCheck() in /_/test/VS.Web.CG.Mvc.Test/CdnScriptTagTests.cs:line 50
--- End of stack trace from previous location where exception was thrown ---
----- Inner Stack Trace -----
   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
------- Stdout: -------
Found script tag in '_ValidationScriptsPartial.cshtml', src='https://ajax.aspnetcdn.com/ajax/jquery.validate/1.17.0/jquery.validate.min.js' integrity='sha384-rZfj/ogBloos6wzLGpPkkOr/gpkBNLZ6b6yLy4o+ok+t/SAKlL5mvXLr0OXNi1Hp'
Found script tag in '_ValidationScriptsPartial.cshtml', src='https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.9/jquery.validate.unobtrusive.min.js' integrity='sha384-ifv0TYDWxBHzvAk2Z0n8R434FL1Rlv/Av18DXE43N/1rvHyOG4izKst0f2iSLdds'
Found script tag in '_ValidationScriptsPartial.cshtml', src='https://ajax.aspnetcdn.com/ajax/jquery.validate/1.17.0/jquery.validate.min.js' integrity='sha384-rZfj/ogBloos6wzLGpPkkOr/gpkBNLZ6b6yLy4o+ok+t/SAKlL5mvXLr0OXNi1Hp'
Found script tag in '_ValidationScriptsPartial.cshtml', src='https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.9/jquery.validate.unobtrusive.min.js' integrity='sha384-ifv0TYDWxBHzvAk2Z0n8R434FL1Rlv/Av18DXE43N/1rvHyOG4izKst0f2iSLdds'
Found script tag in '_ValidationScriptsPartial.cshtml', src='https://ajax.aspnetcdn.com/ajax/jquery.validate/1.17.0/jquery.validate.min.js' integrity='sha384-rZfj/ogBloos6wzLGpPkkOr/gpkBNLZ6b6yLy4o+ok+t/SAKlL5mvXLr0OXNi1Hp'
Found script tag in '_ValidationScriptsPartial.cshtml', src='https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.9/jquery.validate.unobtrusive.min.js' integrity='sha384-ifv0TYDWxBHzvAk2Z0n8R434FL1Rlv/Av18DXE43N/1rvHyOG4izKst0f2iSLdds'
Found script tag in '_Layout.cshtml', src='https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.3.1.min.js' integrity='sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT'
Found script tag in '_Layout.cshtml', src='https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js' integrity='sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa'

Other tests within that build may have failed with a similar message, but they are not listed here. Check the link above for more info.
CC @Eilon,@muratg,@mkArtakMSFT
This issue was made automatically. If there is a problem contact @ryanbrandenburg.

Please use this workflow to address this flaky test issue, including checking applicable checkboxes and filling in the applicable "TODO" entries:

Is this actually a flaky test?

No, this is a regular test failure, fix the test/product (TODO: Link to commit/PR)
Yes, proceed below...

Is this test failure caused by product code flakiness? (Either this product, or another product this test depends on.)

[ ] File a bug against the product (TODO: Link to other bug)
Is it possible to change the test to avoid the flakiness?

Yes? Go to the "Change the test!" section.
No?

[ ] Disable the test (TODO: Link to PR/commit)
[ ] Wait for other bug to be resolved
[ ] Wait for us to get build that has the fix
[ ] Re-enable our test (TODO: Link to PR/commit)
[ ] Close this bug

Is it that the test itself is flaky? This includes external transient problems (e.g. remote server problems, file system race condition, etc.)

Is there is a way to change our test to avoid this flakiness?

Yes? Change the test!

[ ] Change the test to avoid the flakiness, for example by using a different test strategy, or by adding retries w/ timeouts (TODO: Link to PR/commit)
[ ] Run the test 100 times locally as a sanity check.
[ ] Close this bug

No?

[ ] Delete the test because flaky tests are not useful (TODO: Link to PR/commit)

This comment was made automatically. If there is a problem contact @ryanbrandenburg.

ScriptTags_SubresourceIntegrityCheck failed again.
This comment was made automatically. If there is a problem contact @ryanbrandenburg.

@vijayrkn / @seancpeters - do you own this test?

@Eilon - This test is part of the aspnet/scaffolding repo, but I've not seen it before. @natemcmaster might have some insight.

This test appears to have failed as result of general network outages on Friday. I'm closing because I don't think there is any action item here.


[TRANSLATIONS] - Hindi

Want to contribute? Use the discussion board thread to see which sections are currently being worked on and what's left:  #148

[ ] Base README.md
[ ] Quizzes
[x] Introduction base README

[x] Defining Data Science README
[x] Defining Data Science assignment
[x] Ethics README
[x] Ethics assignment
[x] Defining Data README
[x] Defining Data assignment
[x] Stats and Probability README
[x] Stats and Probability assignment

[x] Working with Data base README

[x] Relational Databases README
[x] Relational Databases assignment
[x] Non-Relational Data README
[x] Non-Relational Data assignment
[ ] Python README
[x] Python assignment
[ ] Data Preparation README
[ ] Data Preparation assignment

[x] Vizualization base README

[x] Quantities README
[ ] Quantities assignment
[x] Distributions README
[ ] Distributions assignment
[x] Proportions README
[ ] Proportions assignment
[x] Relationships README
[ ] Relationships assignment
[x] Meaningful Visualizations README
[x] Meaningful Visualization assignment

[x] Data Science Lifecycle base README

[ ] Introduction README
[ ] Introduction assignment
[ ] Analyzing README
[x] Analyzing assignment
[x] Communication README
[ ] Communication assignment

[x] Data Science in the Cloud base README

[x] Intro README
[x] Intro assignment
[ ] Low Code README
[ ] Low Code  assignment
[ ] Azure README
[x] Azure  assignment

[x] Data Science in the Wild base README

[ ] Real World Examples README
[x] Real World Examples assignment

I'd love to work on this one...

I would also love to help with this, can I work with this too?

I recommend starting a discussion in the discussion boards to divide up the work

@AdityaGarg00 @subh-chaturvedi @joshi-kaushal  check out this thread here to discuss  #148

I would like to help with this, can I work with this too?

I would like to help with this, can I work with this too?

@imsushant12 absolutely! Feel free to hop in on that discussion thread in #148

I would like to help with this, can I work with this too?

@imsushant12 absolutely! Feel free to hop in on that discussion thread in #148

Thankyou 🙌

Want to contribute? Use the discussion board thread to see which sections are currently being worked on and what's left: #148

[ ]  Base README.md

[ ]  Quizzes

[x]  Introduction base README

[ ]  Defining Data Science README
[ ]  Defining Data Science assignment
[x]  Ethics README
[ ]  Ethics assignment
[ ]  Defining Data README
[ ]  Defining Data assignment
[ ]  Stats and Probability README
[ ]  Stats and Probability assignment

[x]  Working with Data base README

[ ]  Relational Databases README
[ ]  Relational Databases assignment
[ ]  Non-Relational Data README
[ ]  Non-Relational Data assignment
[ ]  Python README
[ ]  Python assignment
[ ]  Data Preparation README
[ ]  Data Preparation assignment

[ ]  Vizualization base README

[ ]  Quantities README
[ ]  Quantities assignment
[ ]  Distributions README
[ ]  Distributions assignment
[ ]  Proportions README
[ ]  Proportions assignment
[ ]  Relationships README
[ ]  Relationships assignment
[ ]  Meaningful Visualizations README
[ ]  Meaningful Visualization assignment

[ ]  Data Science Lifecycle base README

[x]  Introduction README
[ ]  Introduction assignment
[ ]  Analyzing README
[ ]  Analyzing assignment
[ ]  Communication README
[ ]  Communication assignment

[ ]  Data Science in the Cloud base README

[ ]  Intro README
[ ]  Intro assignment
[ ]  Low Code README
[ ]  Low Code  assignment
[ ]  Azure README
[ ]  Azure  assignment

[ ]  Data Science in the Wild base README

[ ]  Real World Examples README
[ ]  Real World Examples assignment

Is it still open can I work on this?

@ParnaviKulkarni absolutely! Feel free to hop in and tell others what you plan to work on

Hey can I contribute ?

Yea Sure Go ahead @shivanithorve01

I would love to work on Data Science in real-world examples Readme.

I would love to contribute..

@iamshanawaz Please go ahead and contribute to the remaining files 😃

Can I contribute to this project?

Can I contribute to this project?

Absolutely! Check out the list at the top to see what's remaining 🙂

As I am from Data Science background, I would love to contribute in this repository.

I love contributing . If you want, I can work on this issue .

That's great @abhi1e9-1e10  and @SachinDabhade you can start contributing on the left ones and if you have any concern you can message here .😃😃

I also want to contribute  , Can you assign me  this issue .

We do not assign issues; rather I encourage you all to go to the Discussion boards and organize the work

I want to work on "Defining Data README" and "Defining Data Science README"

Hi, I am bhumikatewary, a contributor to OpenForce 2022. I would like to work on this issue. I would be making a PR as soon as I am done with resolving the issue. Thank you

Please review my updates on  [TRANSLATIONS] Hindi - Defining Data Science README #359

Sorry Bhumika but this translation is already taken by me... and I have made pull request also. So sorry about it but there are many contribution remaining. Keep trying

hi, I recommend you all gather here https://github.com/microsoft/Data-Science-For-Beginners/discussions/148 and organize a checklist of who's translating which files

I would be glad if I could get guidance on which repos I can contribute in since most of them are already taken

I would like to work on 01-defining-data-science! Is it is still unpicked?

This file is already taken @gargabhishek100

Hey can I also be a part of the project  ? I would really love to help

@AdityaGarg00 I would like to work on this 🙂

Sure @Saur2158 and @vedant-z Go ahead you can start contributing just mention the files you start contributing to so that everyone could know that you are contributing to that particular file.

@AdityaGarg00  Actually I was searching for thr files yet to be translated but I couldn't find one .
If you can point out any particular one it would be of great help.
Thanks

I would love to contribute to this issue as Hindi is my Native language and I use Hindi in my day-to-day life.

I would love to contribute..

@vedant-z  just translate the unticked files mentioned in the issue itself but do mention the file whatever you are going to translate .

Hi @AdityaGarg00, @paladique this will be my first open source contribution, really excited for it, can I please work on the following:
-Data Science in the Cloud base
-Low Code assignment README

Yes sure, really glad to hear that @shivam141102 .
P.S. You can contribute to any file without asking us.

Hey, is this still open .I'd like to contribute

Hey, is this still open .I'd like to contribute

@sourabhligade You can contribute to any file without asking.

I have translated  Defining Data Science README file in Hindi. and i am attaching it here , please assign me this so i can contribute in this.
Defining Data Science README.txt

I have translated Defining Data Science assignment file in Hindi. and i am attaching it here , please assign me this so i can contribute in this.
Defining Data Science assignment.txt

I would also like to work on Data Science in the Wild base README- real world examples assignment...Please assign it to me


createBasicAuthentication

Hi gentlemen,
I want to thank you first for this great tool. I have a question: how can I make below in Karate. I have read the part about header but I could not understand that. please help me. Thanx
public class OpgaveStatus {
private Response response;
private RequestSpecification createBasicAuthentication() {

    return given()
            .auth()
            .basic("tstpor", "tooltestor");
}

First you should encode your username and password (username:password) to Base64 format, using for example the "HTTP Basic Authentication Example" js-function in the documentation or other encoders. In your case ("tstpor", "tooltestor") it's "dHN0cG86dG9vbHRlc3Rvcg=="
Then you can set the header in the feature via
Given header Authorization = 'Basic dHN0cG86dG9vbHRlc3Rvcg=='
Or you can set the header globally in the karate-config.js via
karate.configure('headers', {'Authorization': 'Basic dHN0cG86dG9vbHRlc3Rvcg=='})

please ask these kinds of questions on Stack Overflow, thanks: https://stackoverflow.com/questions/tagged/karate


Branch in string access

Hi!
I compiled this simple function:
pub fn deref_compact_string(string: &CompactString) -> &str {
    string
}

It generated the following asm on my x86_64 laptop:
deref_compact_string:
 mov     rax, rdi
 movzx   edx, byte, ptr, [rdi, +, 23]
 lea     ecx, [rdx, +, 64]
 movzx   esi, cl
 cmp     sil, 24
 mov     ecx, 24
; That’s actually branchless
 cmovb   ecx, esi
 cmp     dl, -2
; But that’s a branch
 jne     .LBB1_1
 mov     rdx, qword, ptr, [rax, +, 8]
 mov     rax, qword, ptr, [rax]
 ret
.LBB1_1:
 movzx   edx, cl
 ret

These two movs after the branch feel like they come from these two assignments: https://github.com/ParkMyCar/compact_str/blob/9e00e7d6fcfd36a6f2608f3b09211128af10d64c/compact_str/src/repr/mod.rs#L367-L370
So it seems that this if stopped compiling to cmov at some point.

Ah shoot, thanks for filing an issue! One question just to double check, did you compile in release mode?

Yeah, it was obtained via cargo asm, which compiles in release mode by default.

I tried to apply this trick:
let c = usize::from(last_byte == HEAP_MASK);
let ptr_or_void = [&mut std::ptr::null(), pointer_ref];
let length_or_void = [&mut 0, length_ref];
*ptr_or_void[c] = heap_pointer;
*length_or_void[c] = heap_length;

It generates assembler code that is branchless but otherwise horrible, so is probably slower:
compact_str::deref_compact_string:
 movzx   ecx, byte, ptr, [rdi, +, 23]
 mov     qword, ptr, [rsp, -, 64], rdi
 mov     rax, qword, ptr, [rdi]
 lea     edx, [rcx, +, 64]
 movzx   edx, dl
 cmp     dl, 24
 mov     esi, 24
 cmovb   esi, edx
 movzx   edx, sil
 mov     qword, ptr, [rsp, -, 56], rdx
 mov     rdx, qword, ptr, [rdi, +, 8]
 lea     rsi, [rsp, -, 16]
 mov     qword, ptr, [rsp, -, 48], rsi
 lea     rsi, [rsp, -, 64]
 mov     qword, ptr, [rsp, -, 40], rsi
 lea     rsi, [rsp, -, 8]
 mov     qword, ptr, [rsp, -, 32], rsi
 lea     rsi, [rsp, -, 56]
 mov     qword, ptr, [rsp, -, 24], rsi
 xor     esi, esi
 cmp     cl, -2
 sete    sil
 mov     rcx, qword, ptr, [rsp, +, 8*rsi, -, 48]
 mov     qword, ptr, [rcx], rax
 mov     rax, qword, ptr, [rsp, +, 8*rsi, -, 32]
 mov     qword, ptr, [rax], rdx
 mov     rax, qword, ptr, [rsp, -, 64]
 mov     rdx, qword, ptr, [rsp, -, 56]
 ret

I wonder if there is a way to tell it that writing into the void can be safely optimized out.

I was curious whether cmov actually performs any better, so I inline-asm’ed it and it kinda does.
Patch
diff --git a/compact_str/src/repr/mod.rs b/compact_str/src/repr/mod.rs
index e6a0e811..8604d387 100644
--- a/compact_str/src/repr/mod.rs
+++ b/compact_str/src/repr/mod.rs
@@ -3,6 +3,7 @@ use core::{
     mem,
     ptr,
 };
+use std::arch::asm;
 use std::borrow::Cow;

 #[cfg(feature = "bytes")]
@@ -353,20 +354,23 @@ impl Repr {
         let mut pointer = self as *const Self as *const u8;
         let heap_pointer = self.0 as *const u8;

-        let pointer_ref = &mut pointer;
-
         // initially has the value of the stack length, conditionally becomes the heap length
         let mut length = core::cmp::min((last_byte.wrapping_sub(LENGTH_MASK)) as usize, MAX_SIZE);
         let heap_length = self.1;
-        let length_ref = &mut length;

         // our discriminant is stored in the last byte and denotes stack vs heap
         //
         // Note: We should never add an `else` statement here, keeping the conditional simple allows
         // the compiler to optimize this to a conditional-move instead of a branch
-        if last_byte == HEAP_MASK {
-            *pointer_ref = heap_pointer;
-            *length_ref = heap_length;
+        unsafe {
+            asm!(
+                "cmp {0}, {1}",
+                "cmove {2}, {3}",
+                "cmove {4}, {5}",
+                in(reg_byte) last_byte, in(reg_byte) HEAP_MASK,
+                inout(reg) pointer, in(reg) heap_pointer,
+                inout(reg) length, in(reg) heap_length,
+            );
         }

         // SAFETY: We know the data is valid, aligned, and part of the same contiguous allocated

Most benchmarks didn’t significantly improve, but there’s one where criterion detected improvement:
u128::to_compact_string/12345678909876543210123456789
                        time:   [31.835 ns 32.029 ns 32.283 ns]
                        change: [-4.4597% -2.8194% -1.1233%] (p = 0.00 < 0.05)
                        Performance has improved.

and some where improvement is within noise threshold:
A lot of criterion output
String::to_compact_string/hello world!
                        time:   [8.5981 ns 8.7600 ns 8.9191 ns]
                        change: [+0.1533% +2.0519% +4.0135%] (p = 0.04 < 0.05)
                        Change within noise threshold.

char::to_compact_string/a
                        time:   [9.4501 ns 9.4793 ns 9.5136 ns]
                        change: [-2.7346% -1.5083% -0.3400%] (p = 0.01 < 0.05)
                        Change within noise threshold.

bool::to_compact_string/true
                        time:   [2.6392 ns 2.6565 ns 2.6756 ns]
                        change: [-3.7504% -2.3054% -0.6976%] (p = 0.00 < 0.05)
                        Change within noise threshold.

isize::to_compact_string/-9999999
                        time:   [13.613 ns 13.791 ns 13.976 ns]
                        change: [-3.7152% -2.0093% -0.2719%] (p = 0.02 < 0.05)
                        Change within noise threshold.

u32::to_compact_string/54321
                        time:   [8.5940 ns 8.6496 ns 8.7202 ns]
                        change: [-1.9642% -1.0126% -0.0641%] (p = 0.04 < 0.05)
                        Change within noise threshold.

I’ll try to look into it more later.

Might be related to this issue: https://github.com/rust-lang/rust/issues/53823
The timing is off though. This problem exists from 1.25 onwards, and AFAIU branchless deref was working after that moment?


dt-shell-color-scripts: init at 1.0.0

Description of changes
This is a collection of shell color scripts by Derek Taylor. Sorry for republishing PR but I messed up the commit history by accident. I think I have amended all the changes  that @AndersonTorres requested

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Sorry again for reposting the PR

What do you think

Yeah i will do that thanks!

@AndersonTorres I think I fixed everything you asked. Thanks so much for reviewing my package. I have never packages shell scripts in NixOS before, only rust programs which are easier.

Finally, fix the commit message:
dt-shell-color-scripts: init at unstable-2022-02-22

@AndersonTorres Finally ready! :)


CNCF Sandbox onboarding: transfer domain to CNCF/LF (ITx)

Per https://github.com/cncf/toc/issues/556

Keep

Done


Jaeger Query expects agent at localhost

The Jaeger Query does not accept a custom location for the agent. When the agent is remote (like in Kubernetes), the UI won't be correctly reporting spans to the agent/collector.
https://github.com/jaegertracing/jaeger/blob/master/cmd/query/main.go#L86-L91

would it be better to rely on ENV var configurability of jaeger-client, instead of adding CLI options?

IIRC, Viper uses both. So, we add a "flag", and it can be passed via CLI option, config entry on a file, or env var. @pavolloffay can confirm, as I know he tested this specific scenario when working with Viper.

If it's added to viper it will be available in all forms (flag, env, conf file).

My point was that jaeger clients already can be configured via env vars in a uniform way across languages. Adding a cli option creates yet another way to do the same, I think it's confusing.

My point was that jaeger clients already can be configured via env vars in a uniform way across languages. Adding a cli option creates yet another way to do the same, I think it's confusing.

+1, I wasn't aware that the Go client can also be configured with env vars. Is it documented somewhere? Should the env vars used by the Java Client work here as well (JAEGER_AGENT_HOST/JAEGER_AGENT_PORT)?

we don't have it yet (https://github.com/jaegertracing/jaeger-client-go/pull/207), but that's the plan for all clients, isn't it?

Is that PR still being worked on? If not, I'd like to add that to my list of tasks.

it seems like it stalled, you might want to take it over.

Looks like this is done already. I'm closing it, but feel free to reopen if that's not the case.

This appears to still be the case despite https://github.com/jaegertracing/jaeger-client-go/pull/275 and the fact that<EMAIL_ADDRESS>uses jaeger-client-go@6733ee486c780528f2c8088305e16fdb685134c7
$ docker run --rm -e JAEGER_AGENT_HOST=crazyhost -p 16686:16686 jaegertracing/jaeger-query:1.11.0 --cassandra.servers host.docker.internal
{"level":"info","ts":1557519953.939844,"caller":"healthcheck/handler.go:99","msg":"Health Check server started","http-port":16687,"status":"unavailable"}
{"level":"info","ts":1557519954.1403282,"caller":"cassandra/factory.go:92","msg":"Cassandra archive storage configuration is empty, skipping"}
{"level":"info","ts":1557519954.1493726,"caller":"query/main.go:192","msg":"Archive storage not created","reason":"Archive storage not configured"}
{"level":"info","ts":1557519954.1500454,"caller":"query/main.go:140","msg":"Registering metrics handler with HTTP server","route":"/metrics"}
{"level":"info","ts":1557519954.1501677,"caller":"healthcheck/handler.go:133","msg":"Health Check state change","status":"ready"}
{"level":"info","ts":1557519954.1502209,"caller":"query/main.go:149","msg":"Starting HTTP server","port":16686}
{"level":"error","ts":1557519962.9545448,"caller":"zap/logger.go:33","msg":"error when flushing the buffer: write udp <IP_ADDRESS>:45266-><IP_ADDRESS>:6831: write: connection refused","stacktrace":"github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go/log/zap.(*Logger).Error\n\t/home/travis/gopath/src/github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go/log/zap/logger.go:33\ngithub.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go.(*remoteReporter).processQueue.func1\n\t/home/travis/gopath/src/github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go/reporter.go:257\ngithub.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go.(*remoteReporter).processQueue\n\t/home/travis/gopath/src/github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go/reporter.go:267"}

@epkugelmass are you saying that version of jaeger-client used by the query should be updated? I can have a look and update it for 1.12.0

I'm not exactly sure what's wrong. The version of jaeger-client used by query looks like it should pick up JAEGER_AGENT_HOST. As I believe my example demonstrates, it doesn't. Though perhaps the error is between the chair and keyboard in this case.

error log
{"level":"error","ts":1561109732.0587971,"caller":"zap/logger.go:33","msg":"error when flushing the buffer: write udp <IP_ADDRESS>:45513-><IP_ADDRESS>:6831: write: connection refused","stacktrace":"github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go/log/zap.(*Logger).Error\n\t/home/travis/gopath/src/github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go/log/zap/logger.go:33\ngithub.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go.(*remoteReporter).processQueue.func1\n\t/home/travis/gopath/src/github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go/reporter.go:257\ngithub.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go.(*remoteReporter).processQueue\n\t/home/travis/gopath/src/github.com/jaegertracing/jaeger/vendor/github.com/uber/jaeger-client-go/reporter.go:267"}

run in docker
docker run -d --name jaeger-collector --restart=always -e SPAN_STORAGE_TYPE=elasticsearch -e ES_SERVER_URLS=http://<IP_ADDRESS>:9200 -p 14250:14250 -p 14267:14267 -p 14268:14268 -p 9411:9411 jaegertracing/jaeger-collector:1.12

# add JAEGER_AGENT_HOST or not, are invalid
docker run -d --name jaeger-query --restart=always -e SPAN_STORAGE_TYPE=elasticsearch -e ES_SERVER_URLS=http://<IP_ADDRESS>:9200 -e JAEGER_AGENT_HOST=<IP_ADDRESS> -p 16686:16686/tcp jaegertracing/jaeger-query:1.12

docker run -d --name jaeger-agent --restart=always -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778/tcp -p 14271:14271 jaegertracing/jaeger-agent:1.12 --collector.host-port=<IP_ADDRESS>:14267

# docker inspect jaeger-query
"Env": [
                "JAEGER_AGENT_HOST=<IP_ADDRESS>",
                "SPAN_STORAGE_TYPE=elasticsearch",
                "ES_SERVER_URLS=http://<IP_ADDRESS>:9200",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": null,
            "Image": "jaegertracing/jaeger-query:1.12",

run in host machine, fine
if use jaeger-query run in host machine, no error log
# ./jaeger-query
{"level":"info","ts":1561109806.4300108,"caller":"flags/service.go:113","msg":"Mounting metrics handler on admin server","route":"/metrics"}
{"level":"info","ts":1561109806.4303596,"caller":"flags/admin.go:108","msg":"Mounting health check on admin server","route":"/"}
{"level":"info","ts":1561109806.4304655,"caller":"flags/admin.go:114","msg":"Starting admin HTTP server","http-port":16687}
{"level":"info","ts":1561109806.430495,"caller":"flags/admin.go:100","msg":"Admin server started","http-port":16687,"health-status":"unavailable"}
{"level":"info","ts":1561109806.4477036,"caller":"healthcheck/handler.go:129","msg":"Health Check state change","status":"ready"}
{"level":"info","ts":1561109806.4477382,"caller":"app/server.go:125","msg":"Starting CMUX server","port":16686}
{"level":"info","ts":1561109806.4478016,"caller":"app/server.go:107","msg":"Starting HTTP server","port":16686}
{"level":"info","ts":1561109806.4478235,"caller":"app/server.go:116","msg":"Starting GRPC server","port":16686}
^C{"level":"info","ts":1561109835.1337676,"caller":"flags/service.go:143","msg":"Shutting down"}

I'm currently seeing this issue on jaeger-query 1.14 in k8s.
kc describe po jaeger-query-775b979c9c-rcccm
...
    Environment:
      JAEGER_AGENT_HOST:     otel-collector
      JAEGER_SAMPLER_TYPE:   const
      JAEGER_SAMPLER_PARAM:  1

And then seeing a similar error log as the above:
{"level":"error","ts":1573572272.0326753,"caller":"zap/logger.go:33","msg":"error when flushing the buffer: write udp <IP_ADDRESS>:46043-><IP_ADDRESS>:6831: write: connection refused" ...


Bullet rigid body in character mode can't be rotated

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Linux amd64, Godot build 9a78efc
Issue description:
A body in character mode shouldn't rotate because forces act on it, bu itt should still be able to rotate if a non zero angular velocity is set. However using bullet and character mode seems to lock the object and prevent it to rotate in any way.
Steps to reproduce:
Create a rigid body, set it to character mode and set the angular velocity to (0, 10, 0). Switch between Bullet and GodotPhysics.

A possible solution could be to just set the inertia along the axes to infinity if that is supported by Bullet

I think it should be expected that it cant rotate.. not sure why it should
On Nov 16, 2017 8:52 PM, "m4nu3lf"<EMAIL_ADDRESS>wrote:

A possible solution could be to just set the inertia along the axes to
infinity if that is supported by Bullet
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/12979#issuecomment-345101049,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z27Zufz2mwz2hcAM_KyDJP-ySvzFXks5s3Mq8gaJpZM4QhUzD
.

@reduz not even by changing the transform? (it is overwritten by the physics engine I think at every frame). If that is the case what is the purpose of this mode?
In GodotPhysics the body character mode can rotate if the angular velocity is set or by changing transform. Is this a bug in the GodotPhysics engine?

Probably a bug on the Godot side and no, it should not rotate..
On Nov 16, 2017 9:12 PM, "m4nu3lf"<EMAIL_ADDRESS>wrote:

@reduz https://github.com/reduz not even by changing the transform? (it
is overwritten by the physics engine I think at every frame). If that is
the case what is the purpose of this mode?
In GodotPhysics the body character mode can rotate if the angular velocity
is set or by changing transform. Is this a bug in the GodotPhysics engine?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/12979#issuecomment-345104705,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z21GoYqYJszcdc8MOSxcqb6HKHNiIks5s3M9XgaJpZM4QhUzD
.

OK, but how is it meant to be used? is it the armature that should rotate?

Yeah, just rotate the mesh
On Nov 16, 2017 9:16 PM, "m4nu3lf"<EMAIL_ADDRESS>wrote:

OK, but how is it meant to be used? is it the armature that should rotate?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/12979#issuecomment-345105392,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2x9YhazGSqw_fYaXJfHzZIfxbek-ks5s3NBGgaJpZM4QhUzD
.

It was always possible to rotate the body, which is useful for capsules and other type of irregular shapes, in 3 the shape should be rotated instead then?
And if the rotation is a bug, affects 2D bodies...

@reduz Are there any plans to remove node2d properties from physic nodes or replace it with (physic working) one.
It's very confusing and also not beginner friendly and the quote in documentation
"In Godot you can animate anything you find in the Inspector." does not count anymore (very sad).
I'm not angry if it sound so.

@puppetmaster- I don't have the slightest clue about the meaning of what you just wrote

@reduz I try to explain . . .
RigidBody2D, KinematicBody2D . . . inherit from node2d, but when you use node2d function or animate the node2d properties you get a lot of problem or it didn't work. In godot 2.1 some of them worked but no more in godot 3. I attached some issues where describe it better.
some Issues:
https://github.com/godotengine/godot/issues/12335
https://github.com/godotengine/godot/issues/5734
https://github.com/godotengine/godot/issues/2129
https://github.com/godotengine/godot/issues/11050
I hope is clear now.

@puppetmaster- this has always worked like this, and it's super easy to work around. I don't really see the problem. Most of these issues should be closed, save for applying scale to rigid bodies, which will be done, but after 3.0 is out

@reduz Great! So animating position, scale and rotation will work again in a future release after 3.0 is out.

@puppetmaster- there really is no point in animating those things, you can animate the shapes or meshes though and that works fine.

I think the discussion is a bit OT now, but @eon-s had a very fair point. I personally think it would be good to have a behavior like in the old engine, so you can rotate the body with the collision shapes (e.g. on user input) but without having it rolling, or rotating in any way because of physics interactions.
This is my opinion but in any case I'm not sure this is supported by Bullet.

@m4nu3lf Of course it should be good, but it makes supporting it in a physic engine more work, for something that can be very easily worked around. I would have expected it to not even work in Godot physics

Yes, it basically behaves like if the inertia has some infinite values. So it all boils down if you can set the inverse inertia to zero in Bullet. I agree that it can be worked around as I already did in one project, (so it is not a major issue for me), but it is not immediate if you want to keep the physics interactions for the linear part and you have an irregular shape.


(curriculum): Iterate with JavaScript While Loops

I noticed this problem when reviewing that PR.
The example in the challenge description, is the exact code that instructions say to implement...

Link to the challenge
We could probably change either the example or the coding part to make them a little different.
Maybe just something as simple as changing the instructions to...
Push the numbers 5 through 9 to myArray using a while loop.
or perhaps slightly more difficult...
Push the numbers 5 through 0, in that order and including both the 5 and 0, to myArray using a while loop

I am fine with either suggestion.

not really a feature in my mind, but not exactly a bug either. i'm curious what the ideal conventional commit style tag would be here. in any case, the content of the pull request should reflect the slightly more difficult suggestion.


Need to create documentation for Create Inventory service

As a Product Owner
I need to use Swagger to create interactive documentation for Create Inventory
So that REST API can be referred and tested in link BASE_URL+ /apidocs/
Details and Assumptions

There is a home page with UI for Inventory service.
Create service is written with Flask-RESTX

Acceptance Criteria
Given a REST API for creating an inventory item
When entering link BASE_URL + /apidocs/ on Home Page
Then Usage of the API is explained and can be interactively tested in the sub-page.

Duplicate with #75


feat: add support for additional chains on ramp

What it solves
Resolves #784
How this PR fixes it

Add the following chains to the allowed list:

Arbitrum
Base
Celo
zkSync Era
zkEVM

How to test it

Try to use the Ramp safe app while in a wallet using each of the chains above.
The app will load without any errors.

Screenshots

@jmealy please add yourself to the CLA allowlist: https://github.com/safe-global/safe-react-apps/blob/development/.github/workflows/cla.yml#L26

I'm trying to test this branch on Arbitrum but it only shows me Ethereum tokens:

@jmealy did you manage to get it to show Arbitrum tokens?

I'm trying to test this branch on Arbitrum but it only shows me Ethereum tokens:
@jmealy did you manage to get it to show Arbitrum tokens?

I got it working, I didn't have Arbitrum in the config.
I was using coinlist to see what Tokens to support for each chain, but it told me Arbitrum used ETH, so I only added that:
https://chainlist.org/?chain=42161&search=42161
Do you want to it just have Arbitrum tokens or ETH also?

Ah I see. Thanks.
There’s no such token AFAIK, only Eth and ERC20.

Tested on the new chains, it now works and lists tokens on those chains correctly. ✅


doi_link_update check errors for DIF10 and ECHO-C

Describe the bug
For echo-c and dif10 schemas, the doi_link_update check is not working correctly. It causes pyQuARC to quit instead of producing an output message.
To Reproduce
Steps to reproduce the behavior:

Run pyQuARC for sample echo-c record (C1411142649-LARC)
See error

Expected behavior
Expected pyQuARC to provide summary output instead of quitting.

Merged and seems to be fixed


change namespace

we are changing the namespace in the next version of audiolink.
you could go for a smarter solution with defines based on version.
0.3.x and below are VRCAudioLink, 1.x.x will be AudioLink

This has been resolved as referencing the Audiolink namespace is no longer needed in the scripts.
Thanks for the headsup~


Prebuilt CSSPropertyOperations.js

Hi there.
Recently our Webpack started to complain with This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.  @ ./~/glamor/lib/CSSPropertyOperations.js 26:78-86
Not a big deal, but we prefer not to have console warning. Can it be fixed somehow? I tried to put that file to noParse section of webpack config as we usually do for such files but this breaks whole bundle.

Can you update your glamor version to the latest and try? We now use our own version of that module.

Thanks, working now.


ENETUNREACH unhandled error

My setup: Kubernetes cluster with redis-sentinel. I have a node application that connects to redis via redis-sentinel:
Redis({
  sentinels: [{ host: process.env.REDIS_SENTINEL, port: 26379 }],
  name: 'mymaster',
  retryStrategy: function(times) {
    return Math.min(times * 2, 2000);;
  }
});

I'm getting this error consistently on some of my containers:
events.js:154
      throw er; // Unhandled 'error' event
      ^

Error: connect ENETUNREACH <IP_ADDRESS>:6379 - Local (<IP_ADDRESS>:0)
    at Object.exports._errnoException (util.js:856:11)
    at exports._exceptionWithHostPort (util.js:879:20)
    at connect (net.js:847:16)
    at net.js:933:9
    at _combinedTickCallback (node.js:370:9)
    at process._tickCallback (node.js:401:11)

Adding DEBUG = ioredis:* fixes the issue, but I'm able to reproduce consistently without it. Tried on both 2.0.0-rc3 and 1.15.1

Ah actually was able to get some logs with DEBUG on
Fri, 06 May 2016 16:05:07 GMT ioredis:redis status[localhost:6379]: [empty] -> connecting
Fri, 06 May 2016 16:05:07 GMT ioredis:redis status[redis-sentinel:26379]: [empty] -> connecting
Fri, 06 May 2016 16:05:07 GMT ioredis:redis queue command[0] -> sentinel(get-master-addr-by-name,mymaster)
Fri, 06 May 2016 16:05:07 GMT ioredis:redis status[localhost:6379]: [empty] -> connecting
Fri, 06 May 2016 16:05:07 GMT ioredis:redis status[redis-sentinel:26379]: [empty] -> connecting
Fri, 06 May 2016 16:05:07 GMT ioredis:redis queue command[0] -> sentinel(get-master-addr-by-name,mymaster)
Fri, 06 May 2016 16:05:07 GMT ioredis:redis queue command[0] -> subscribe({q}:events)
Listening at port 80
Fri, 06 May 2016 16:05:07 GMT ioredis:redis status[<IP_ADDRESS>:26379]: connecting -> connect
Fri, 06 May 2016 16:05:07 GMT ioredis:redis status[<IP_ADDRESS>:26379]: connect -> ready
Fri, 06 May 2016 16:05:07 GMT ioredis:connection send 1 commands in offline queue
Fri, 06 May 2016 16:05:07 GMT ioredis:redis write command[0] -> sentinel(get-master-addr-by-name,mymaster)
Fri, 06 May 2016 16:05:07 GMT ioredis:redis status[<IP_ADDRESS>:26379]: connecting -> connect
Fri, 06 May 2016 16:05:07 GMT ioredis:redis status[<IP_ADDRESS>:26379]: connect -> ready
Fri, 06 May 2016 16:05:07 GMT ioredis:connection send 1 commands in offline queue
Fri, 06 May 2016 16:05:07 GMT ioredis:redis write command[0] -> sentinel(get-master-addr-by-name,mymaster)
Fri, 06 May 2016 16:05:07 GMT ioredis:connection error: Error: connect ENETUNREACH <IP_ADDRESS>:6379 - Local (<IP_ADDRESS>:0)
events.js:154
      throw er; // Unhandled 'error' event
      ^

Error: connect ENETUNREACH <IP_ADDRESS>:6379 - Local (<IP_ADDRESS>:0)
    at Object.exports._errnoException (util.js:856:11)
    at exports._exceptionWithHostPort (util.js:879:20)
    at connect (net.js:847:16)
    at net.js:933:9
    at _combinedTickCallback (node.js:370:9)
    at process._tickCallback (node.js:401:11)

ENETUNREACH means the network was unreachable. In your case, the client is able to connect to <IP_ADDRESS>: 26379 but not to <IP_ADDRESS>:6379. It should have nothing to do with whether the debug mode is enabled.

Yeah that makes sense - might be some momentary network problems when the container first starts, but I just thought all the connection errors were silent and the connection would be retried if no error listener was attached. This error crashes the app

Yes, ioredis won't emit error if there's no listener attached (https://github.com/luin/ioredis/blob/master/lib/redis/event_handler.js#L104). It's strange the error crashes your app. Could you post the code that can reproduce the problem?

Closing this issue. Feel free to reopen it with more details if the issue still valid.

hi @cmcewen , have you ever been able to slve your problem ?
My app is also crashing when the redis docker container is either not running.

Crashes!!
While manually toggle the MacBook's WIFI off during the sleeping.
import * as Redis from "ioredis"

async function main() {
    const client = new Redis.Cluster([
        {host: "<IP_ADDRESS>", port: 6397},
        {host: "<IP_ADDRESS>", port: 6398},
        {host: "<IP_ADDRESS>", port: 6399},
    ], {
        enableReadyCheck:   true,
        enableOfflineQueue: false,
        redisOptions:       {
            password: "xxxxxxx",
        },
    });

    try {
        client.on('error', console.error)
        await new Promise(res => client.on('ready', res))
    } catch (e) {
        console.error(e)
        return
    }

    console.log("sleeping")
    await new Promise(res => setTimeout(res, 20e3))
    console.log("sleeping end")

    let i = 1
    while (i++ < 10) {
        try {
            const set = await client.set("abc", "qq122321")
            const get = await client.get("abc")
            console.log(set, get)
        } catch (e) {
            console.log(e)
        }
        await new Promise(res => setTimeout(res, 5e3))
    }
}

main()

sleeping
events.js:291
      throw er; // Unhandled 'error' event
      ^

Error: connect ENETUNREACH <IP_ADDRESS>:6399 - Local (<IP_ADDRESS>:55166)
    at internalConnect (net.js:923:16)
    at defaultTriggerAsyncIdScope (internal/async_hooks.js:364:12)
    at net.js:1011:9
    at processTicksAndRejections (internal/process/task_queues.js:79:11)
Emitted 'error' event on Socket instance at:
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: 'ENETUNREACH',
  code: 'ENETUNREACH',
  syscall: 'connect',
  address: '<IP_ADDRESS>',
  port: 6399
}


Hello, after installed package error and iam not understand.

Hello I am having problems after installing this package, does anyone know why? I have tried it repeatedly but it still fails. Maybe someone has experienced the same thing, thank you in advance!

please use SQLite3 Driver to make this work!


Have a test for the typescript peer dep to match upstream

https://github.com/standard/eslint-config-standard-with-typescript/blob/8c836dc44c4e8a1b73263259509df490c8e9fddf/package.json#L67
Does upstream support<EMAIL_ADDRESS>https://github.com/typescript-eslint/typescript-eslint#supported-typescript-version
I'd like us to have a test for this.

Actually, https://github.com/typescript-eslint/typescript-eslint#supported-typescript-version ... Upstream's attitude is to declare the support in the docs and then to declare * in the peerDep, "to allow experimentation". And their code prints a warning when the typescript version you're using is not supported. We can do the same, I suppose.


Update meta links in layout footer variants

What
This updates the meta block on alternate variants of the footer to bring them in line with the change made in PR #2165

This will only update the examples in the library. I think the update needs to happen in the public_layout_helper.

Argh... :headdesk: Will fix!


Sample groups and annotation queries

We add a Group model, with only a human readable name field. Samples can be linked n:m to groups. This can be used, for example, to group samples by disease type, or by sequencying platform.
Groups are public; everyone can list groups and link samples to groups. Only users with the admin role can create, modify, or delete groups.
Query expressions define a set of samples as a boolean search query which can consider both samples and groups. They are parsed from strings to their corresponding abstract syntax trees allowing structured reasoning and modification.
We add a Query model containing a query expression. The Annotation model links n:m to the Query model. This replaces the columns sample_frequency (use a singleton query expression) and global_frequency (use the tautology query expression *).
This allows users to define any number of queries to calculate variant frequencies over in their annotations.
Query expressions of the form sample:<uri> (singleton queries) are allowed by the owner of the specified sample or on public samples.
Tautology query expressions * (global queries) are allowed by annotators and traders.
The new user role querier allows free-form query expressions, while the new role group-querier allows free-form query expressions that consider only groups (not samples).
Since this introduces incompatible API changes, the API version is updated to 2.0.0.

@jfjlaros @sndrtj This is the new group query functionality.
We still need to update our API clients for this.


Current undocumented requirements to use the railtie.

Requires warden gem "warden" in your gemfile, separately from Tyrant.
Requires using the master version of the gem from Github. gem 'tyrant', github: "apotonick/tyrant", branch: "master".

Without those you may get a strange bin/rails:6: warning: already initialized constant APP_PATH error on startup.

Whoohoo, issue no. 1! Yeah, I will clean this up once I feel Tyrant is ready for a first release. Thanks!


[INTEGRATION][CIRCLECI] Added optional pipeline parameter 'integration-type'

This PR adds an optional pipeline parameter called integration-type which is consisted of the
enumerated values of: *, airflow, dagster, dbt, publish, and python.
This will optionally let user trigger the circleci build only against a specific type of integration, that may reduce the time of integration testing.
Signed-off-by: howardyoo<EMAIL_ADDRESS>

Note: All schema changes require discussion. Please link the issue for context.

[ ] Your change modifies the core OpenLineage model
[ ] Your change modifies one or more OpenLineage facets

If you're contributing a new integration, please specify the scope of the integration and how/where it has been tested (e.g., Apache Spark integration supports S3 and GCS filesystem operations, tested with AWS EMR).
Checklist

[x] You've signed-off your work
[x] Your pull request title follows our guidelines
[ ] Your changes are accompanied by tests (if relevant)
[ ] Your change contains a small diff and is self-contained
[ ] You've updated any relevant documentation (if relevant)
[ ] You've updated the CHANGELOG.md with details about your change under the "Unreleased" section (if relevant, depending on the change, this may not be necessary)
[ ] You've versioned the core OpenLineage model or facets according to SchemaVer (if relevant)

Codecov Report

Merging #749 (669aba2) into main (009e285) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main     #749   +/-   ##
=========================================
  Coverage     83.91%   83.91%
  Complexity       50       50
=========================================
  Files            68       68
  Lines          2947     2947
  Branches         18       18
=========================================
  Hits           2473     2473
  Misses          448      448
  Partials         26       26

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more