[OldDot Rules Migration] Category Rules

Part of the OldDot Rules Migration project
Main issue: https://github.com/Expensify/Expensify/issues/413886
Feature Description

![2024-08-07_14-40-16]

(https://github.com/user-attachments/assets/dba5b219-9d51-4935-909f-ce17e635bdb0)

High Level Section: https://docs.google.com/document/d/1oLr14YhL6Y0N5g4tbozdIIrFbybBlsRA0H9I8Wm--w8/edit#bookmark=id.dk0p2mr4zxie
Detailed Section: https://docs.google.com/document/d/1oLr14YhL6Y0N5g4tbozdIIrFbybBlsRA0H9I8Wm--w8/edit#bookmark=id.dk0p2mr4zxie
Manual Test Steps
TBD
Automated Tests
TBD
Issue OwnerCurrent Issue Owner: @WojtekBoman

Hi! I'm going to work on this :)

@Expensify/design
I have one question about the Approver page.
I see we have a similar page in the workflows section and it looks like this:

Can the category and tag approver selection pages be implemented similarly this page?

I'm asking because I don't know if I should display the selected approver at the top of the page and the All section below.

@shawnborton @dannymcclain Could you take a look at it when you have some time?  https://github.com/Expensify/App/issues/47015#issuecomment-2309974690

Can the category and tag approver selection pages be implemented similarly this page?

I think the answer is yes, but only after there is an approver selected. Otherwise I assume we start off having no approver selected for those two things, and thus the list would not have anything at the top - it would just be a list of all available options.
Also, let's make sure we take a look at the updated flows for approvers as I think what you are showing is the "old" approval UI, right?

Also, let's make sure we take a look at the updated flows for approvers as I think what you are showing is the "old" approval UI, right?

Yes, when I was writing this question I didn't notice it had been updated :)

On the Require receipts over page we should display policy?.maxExpenseAmount with policy?.outputCurrency for the default option, right? Is it appropriate to display $0 * Default if policy?.maxExpenseAmount is 0.

Yes. If the policy default is actually 0 we should show $0 • Default. The default for a new policy will not be 0, but<PHONE_NUMBER>0 (so in that case we won't show 0 because there is practically "no limit"). I'm not sure if we want to show anything special for that case though. Probably fine to have it just say Default or maybe Unlimited • Default.

I'm wondering if we should use onyx optimistic data for updating the approver and default tax rate, because items that we store in policy?.rules?.expenseRules and policy?.rules?.approvalRules have own ids. Should I generate optimistic data manually on the frontend side without ids?

I can't think of a reason why we would need those to be generated in the frontend.

How is this going? Is it done? This seems old.

This has been done for a while. But @dukenv0307 needs to be paid for the C+ role?

Payment Summary:

@dukenv0307 paid $250 via Upwork here (C+)


58 pr quality graph model

Issue #58

Description
I used pie chart to report the data as shown in the image below.
Screenshots:

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Codecov Report

Merging #72 into devel will decrease coverage by 0.1%.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           devel    #72      +/-   ##
=======================================
- Coverage   2.01%   1.9%   -0.11%
=======================================
  Files         15     15
  Lines        199    210      +11
  Branches      12     12
=======================================
  Hits           4      4
- Misses       183    194      +11
  Partials      12     12

Impacted Files
Coverage Δ

app/scripts/contentscript.js
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Test coverage is also under the minimum acceptable defined by @cjjcastro :rofl:


Add script for running prod migrations

Add a script to trigger Cloud Build for running migrations.

/assign @mikehelmick

/lgtm
/approve


High CPU Average Load

uname -a
Linux 11509 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux
Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz
cat /proc/cpuinfo | grep processor | wc -l
24
RAM : 48 GB
Nginx -V : 1.10.1
PHP-FPM 7.0
Pagespeed on
Percentage of the requests served within a certain time (ms)
50%    307
66%    471
75%    650
80%    846
90%  15199
95%  25798
98%  32796
99%  33283
100%  33764 (longest request)
CPU Average Load :  20
Pagespeed off
Percentage of the requests served within a certain time (ms)
50%   1052
66%   1299
75%   1440
80%   1571
90%   1916
95%   2170
98%   2425
99%   2825
100%   3404 (longest request)
CPU Average Load : 6
Concurrent Request 5000, Connections 50000
80% result is good, but CPU load is 3x times high.
pagespeed CriticalImagesBeaconEnabled false;
pagespeed EnableFilters  inline_javascript,rewrite_javascript,lazyload_images,defer_javascript;

pagespeed CriticalImagesBeaconEnabled false;
pagespeed EnableFilters  inline_javascript,rewrite_javascript,lazyload_images,defer_javascript;

It looks like your are benchmarking the worst case scenario where there's only html requests, which pagespeed needs to parse. If you really need to serve 5000 html pages concurrently, taking  a look at the downstream cache feature may be worth looking at?: https://developers.google.com/speed/pagespeed/module/downstream-caching

We need to serve PHP Pages and most of the static contents served by CDN.
Also, we are using PHP File Cache logic. Since other cache ways not suitable for us.


[CLOSED] Fix facet typo in asylum support tribunal decisions sub-categories

 Issue by robmckinnon
Thursday 03 March 2016 at 15:50 GMT
Originally opened as https://github.com/alphagov/specialist-publisher/pull/673

Correct typo in sub-categories facet value.

robmckinnon included the following code: https://github.com/alphagov/specialist-publisher/pull/673/commits

 Comment by h-lame
Thursday 17 March 2016 at 16:34 GMT

@robmckinnon - as with #672 this is good to go but needs a rebase before it can.

 Comment by h-lame
Friday 18 March 2016 at 10:25 GMT

@robmckinnon - looks like merging #672 means this one needs another rebase.

 Comment by robmckinnon
Friday 18 March 2016 at 10:31 GMT

@h-lame I've just done that second rebase. Thanks for reviewing the PRs,


Building error

When running the ./run.sh script I am getting this error.
implicit declaration of function 'accept' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
ctx->result = accept(s->sock_fd, addr, paddrlen);
^
./Modules/socketmodule.c:2819:19: note: did you mean 'access'?
/opt/wasi-sdk/share/wasi-sysroot/include/unistd.h:118:5: note: 'access' declared here
int access(const char *, int);
^

WASI SDK v15 is needed for this change. I updated the Dockerfile to use the latest WASI SDK.


Transformer failure due to missing parameter

Lark v0.5.6
Method missing self parameter, which causes Transformer to fail.
transformers.py
13:    def _call_userfunc(tree):

Looks like I didn't import the correct inline_args, seems to work fine now.


Remove useless comment

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add support for setting custom headers and bodies inside unit tests

This PR introduces the ability to add custom headers, override existing headers, and set custom body values from inside a unit test to the default request or passed request. Tests included.
This came about after looking into the feasibility of #2987. Even if I introduce NPM modules for unit tests, they are not very useful without being able to augment the request directly. This also enables chaining requests in unit tests, by taking the value of a previous request and augmenting the next. Authentication is one such capability.
Example:
// Send initial request unmodified to authenticate the user
const authResponse = await insomnia.send();

// Send secondary request with authentication token passed from previous response
const authenticatedResponse = await insomnia.send('req_123', {
  authentication: response.data.token
});

// Expect successful response from an authenticated resource
expect(authenticatedResponse.status).to.equal(200);

Missed an edge-case, looks like there is a sendRequest that can be passed in, and from the looks of it, that's what the application does.
Setting this PR to "work-in-progress"

Missed an edge-case, looks like there is a sendRequest that can be passed in, and from the looks of it, that's what the application does.
Setting this PR to "work-in-progress"

Working example below, note that you can do far more than expected with the Insomnia application, that doesn't translate into the axios implementation at the moment. Here I am changing the method to POST to test passing along a body. The original request is a GET with no body to ensure clean pass.

Working example below, note that you can do far more than expected with the Insomnia application, that doesn't translate into the axios implementation at the moment. Here I am changing the method to POST to test passing along a body. The original request is a GET with no body to ensure clean pass.

Any update on this thread ? 🤔
Could be such a nice feature !

Closed as stale.

will this ever be merged? This feature is long-overdue!

@apisaint any chance you can get this up and running with latest develop?


It is an error to have a setter with the same name as the enclosing class

A class name can clash with the basename of an instance or static setter (cf. 9085009f2a2fdfec6172488486e47997e062fe5a):
class C {
  static set C(v) {} //# 01: compile-time error
  set C(v) {} //# 02: compile-time error
}

dart (version 2.1.0-dev.0.0) reports an error for 01 (but not the correct one, it says Constructors can't be static) and accepts 02. dartanalyzer (version 2.1.0-dev.0.0) does not report an error for 01 nor 02.
Note that this is a near-revert of 402e69b53d59083d34d7538126837c4381aa0c4a which was used to close #30834: This error used to be emitted until that commit.
This means that a fix to this issue introduces an error which is a breaking change, but it was also an error until Feb 6, 2018, so the breakage is not likely to be large.

Is this a duplicate of (or overlap with) https://github.com/dart-lang/sdk/issues/32968 @eernstg?

No, #32968 is concerned with a conflict where a superclass declares a static member and a subclass declares a member (instance of static) with the same basename. This issue is concerned with a conflict between the name of a class and the basename of a setter.

Ah ok, carry on.

Created https://github.com/dart-lang/sdk/issues/34289 to track the analyzer work.

@eernstg FYI: This is a breaking change from Dart 1. The name of the setter above is "C=" so it didn't use to be an error.

I'm not worried about the breakage. I'm just pointing out that your statement that this was an error until Feb 6, 2018 isn't correct.

Ah, right, the Feb 2018 change in 402e69b53d59083d34d7538126837c4381aa0c4a fixed a kernel code generation problem, it did not eliminate an incorrect error (which is now a correct error).
But the other justifications for the change should still be valid.


Feature request: add url parsing utility

Following the recent API change (removal of path, query_string), I would like to upvode clifffrey's suggestion in https://github.com/ry/http-parser/pull/54#issuecomment-1591625 to have a utility function(s) to parse the URL given in the url callback.
As mentioned in that thread, it is well and possible to use a third library, but it's a hassle. For my small needs, it feels kind of awkward to need two libraries in order to be able to parse HTTP including URLs.

Fixed by d7675cd9a6.


Ignore antialiasing for selected nodes

Hi!
I would like to check if it is possible to avoid antialiasing for a ViewRenderable as antialiasing blurs the imageview in it. The other nodes would still need to have antialiase though.
By the way, is there anything I can do to achieve the maximum quality for a ViewRenderable?
Thank you.
Kind regards,
Wen Hao

Hi!
The quality of the ViewRenderable depends on the texture resolution. You can achieve better quality by making a View larger in the layout and smaller in 3D by using a ViewSizer.


Should be able to use jshint for json filetype

I may be doing something wrong but I am trying to map the json filetype to use the jshint checker and I'm having issues getting it to work.
My stripped .vimrc looks like this:
autocmd BufNewFile,BufReadPost *.json set filetype=json syntax=javascript
call plug#begin()
Plug 'scrooloose/syntastic'  " multi-language syntax checker
let g:syntastic_check_on_open=1
let g:syntastic_json_checkers = ['jshint']
let g:syntastic_debug=15
call plug#end()

It works for JS files so I know that it can find jshint binary but for good measure.
$ which jshint
/Users/kdavis/homebrew/bin/jshint

Here are the debug messages when opening the file:
"bower.json" 18L, 424C
syntastic: 0.017600: autocmd: BufReadPost, buffer 1 = 'bower.json'
syntastic: 0.017807: &shell = '/bin/bash', &shellcmdflag = '-c', &shellpipe = '2>&1| tee', &shellquote = '', &shellredir = '>%s 2>&1', &shellslash = 0, &shelltemp = 1, &shellxquote
 = ''
syntastic: 0.017972: UpdateErrors (auto): default checkers
syntastic: 0.018244: CacheErrors: default checkers
syntastic: 0.018413: notifiers: reset
syntastic: 0.018590: highlighting: reset
syntastic: 0.018705: cursor: reset
syntastic: 0.019001: g:syntastic_aggregate_errors = 0
syntastic: 0.019154: getcwd() = '/Users/kdavis/tmp'
syntastic: 0.020003: CacheErrors: no checkers available for json
syntastic: 0.020090: aggregated: {'_sorted': 0, '_name': '', '_owner': 1, '_columns': 1, '_rawLoclist': []}
syntastic: 0.020436: notifiers: refresh
syntastic: 0.020606: signs: refresh
syntastic: 0.020877: highlighting: refresh
syntastic: 0.021107: autoloclist: refresh
syntastic: 0.021187: autoloclist: toggle
syntastic: 0.021361: autocmd: BufEnter, buffer 1 = 'bower.json', &buftype = ''
syntastic: 0.021465: notifiers: refresh
syntastic: 0.021631: signs: refresh
syntastic: 0.021901: highlighting: refresh
syntastic: 0.022128: autoloclist: refresh
syntastic: 0.022207: autoloclist: toggle

Here's the output from the :SyntasticInfo command:
Syntastic version: 3.6.0-65 (Vim 703, Darwin)
Info for filetype: json
Global mode: active
Filetype json is active
The current file will be checked automatically
Available checkers: -
Currently enabled checkers: -

I know that I could just install and use jsonlint (and I may eventually in the interest of correctness) but I thought that this should work.
Am I missing something? Any ideas why this isn't working?

Add this to your vimrc
let g:syntastic_javascript_jshint_exec = '/Users/kdavis/homebrew/bin/jshintt'

It was worth a shot but that didn't work.
It still says "no checkers available for json", the same as before.

The supported checkers for each filetype are listed in the wiki.  You can't just call a javascript checker for a json file and expect it to work.
You can use g:syntastic_filetype_map to map json to javascript if you insist, but then all javascript checkers will check json files, and any checker that you'll install later for json will be ignored.
let g:syntastic_filetype_map = { 'json': 'javascript' }

Another way to do it would be to set the filetype of json files to json.javascript:
augroup filetype
    autocmd! BufRead,BufNewFile    *.json    set filetype=json.javascript
augroup END

This will tell syntastic to use both json and javascript checkers to check json files.

Okay, I was wondering if it just wouldn't work that way.
I had tried the filetype map route and definitely had the issue that you're describing where unwanted JS checkers were being applied to my JSON files. So that doesn't work very well.
Maybe there's another way to allow jshint as an alternate checker for json files.

There isn't, and for a very good reason:
$ jshint test.json
test.json: line 2, col 23, Strings must use singlequote.
test.json: line 3, col 24, Strings must use singlequote.
test.json: line 3, col 30, Strings must use singlequote.
test.json: line 4, col 23, Strings must use singlequote.
test.json: line 5, col 11, Strings must use singlequote.
test.json: line 6, col 13, Strings must use singlequote.
test.json: line 7, col 12, Strings must use singlequote.
test.json: line 8, col 14, Strings must use singlequote.
test.json: line 9, col 11, Strings must use singlequote.
test.json: line 10, col 12, Strings must use singlequote.
test.json: line 11, col 14, Strings must use singlequote.
test.json: line 12, col 13, Strings must use singlequote.
test.json: line 13, col 16, Strings must use singlequote.
test.json: line 15, col 30, Strings must use singlequote.
test.json: line 16, col 11, Strings must use singlequote.
test.json: line 17, col 13, Strings must use singlequote.
test.json: line 18, col 12, Strings must use singlequote.
test.json: line 19, col 14, Strings must use singlequote.
test.json: line 20, col 11, Strings must use singlequote.
test.json: line 21, col 15, Strings must use singlequote.
test.json: line 22, col 15, Strings must use singlequote.
test.json: line 23, col 12, Strings must use singlequote.
test.json: line 24, col 14, Strings must use singlequote.
test.json: line 26, col 31, Strings must use singlequote.
test.json: line 27, col 11, Strings must use singlequote.
test.json: line 28, col 13, Strings must use singlequote.
test.json: line 29, col 12, Strings must use singlequote.
test.json: line 30, col 14, Strings must use singlequote.
test.json: line 31, col 11, Strings must use singlequote.
test.json: line 32, col 15, Strings must use singlequote.
test.json: line 33, col 12, Strings must use singlequote.
test.json: line 34, col 14, Strings must use singlequote.
test.json: line 36, col 33, Strings must use singlequote.

33 errors

$ jsonval test.json
test.json: valid JSON

I see. It looks like your configuration prevents jshint reporting errors in that JSON file.
Can't you use a JSON-friendly config (possibly the defaults if you tell it no config at all, actually).
That doesn't mean that it couldn't work though.

The point is, jshint is typically not very useful for checking JSON.  There are JSON checkers for checking JSON, and they work well.

@lcd047, it's true. I was just trying to figure out why it didn't work the way that I thought it ought to.
Now that I've looked deeper I see that its running the plugin that wraps the binary rather than running the binary directly so I understand more clearly why it doesn't work that way.

There are no JSON checkers with commens support, so jshint is preferred choice. You can use eslint for JS and jshint for JSON (with different quotes style in configs):
" use eslint for js
let g:syntastic_javascript_checkers = ['eslint']

" use jshint for json
autocmd! FileType json let b:syntastic_checkers = ['jshint']

Please use jsonlint to check the json files.
" use jsonlint for json
let g:syntastic_json_checkers = ['jsonlint']

You should npm i -g jsonlint first.


Cannot find module babel-node

While running the installation instructions, I first ran into an issue where ../lib/cli wasn't found. Globally installing "nodemon" solved that issue, but now I'm stuck on this one. I'd ask this in a chat but I don't see any other means of contacting you all for assistance. :)
PORT=8080 npm run dev
><EMAIL_ADDRESS>dev /Volumes/Xenophoto/Dropbox/src/[redacted]
> nodemon -w src --exec "babel-node src --presets es2015,stage-0"
[nodemon] 1.10.0
[nodemon] to restart at any time, enter 'rs'
[nodemon] watching: /Volumes/Xenophoto/Dropbox/src/[redacted]/src/**/*
[nodemon] starting 'babel-node src --presets es2015,stage-0'
module.js:440
throw err;
^
Error: Cannot find module '../lib/babel-node'
at Function.Module._resolveFilename (module.js:438:15)
at Function.Module._load (module.js:386:25)
at Module.require (module.js:466:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Volumes/Xenophoto/Dropbox/src/[redacted]/node_modules/.bin/babel-node:3:1)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)
at tryModuleLoad (module.js:415:12)
at Function.Module._load (module.js:407:3)
[nodemon] app crashed - waiting for file changes before starting...

Hi there! 😊
Can you paste the output of npm ls --depth 0?
Thanks!

I initially received an error with this, so I removed my node_modules and reinstalled, now i"m back to having the same error but with ../live/cli
npm ls --depth 0<EMAIL_ADDRESS>/Volumes/Xenophoto/Dropbox/src/calypso ├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

hmm - what versions of node/npm are you using?  Seems very strange.
npm -v && node -v

3.10.5
v6.1.0

interesting, same as me...

Just did the full install process, and it works fine for me:
git clone git@github.com:developit/express-es6-rest-api.git tmp
cd tmp
npm i
PORT=8085 npm run dev

Are you using a custom registry or anything that could have messed up the installation?  Also make sure you're not setting NPM_CONFIG_PRODUCTION=true or NODE_ENV=production during installation.

How strange... I did your sequence of commands there (substituting the git URL for the http URL) and everything works fine now. Maybe there was an issue with my cloning download or something? Not sure, but it's working now. Thanks @developit Jason!

Funky! Might have been a weird clone or something yeah. Glad it worked out 😊

deleted the node_modules and reinstalled it using "npm i" , It worked for me.

deleted the node_modules and reinstalled it using "npm i" , It worked for me.

WORKED FOR MEE TOO


Add ability to allowlist features to be mixed in Cargo.toml

My crate has a lot of features and the exponential growth is becoming a problem. I don't actually care about the full matrix, I'd like a subset of them to be cargo-all-features-tested. Would it be possible to get a metadata key for this?

Sounds good to me 👍🏻


Update Composer dependencies (2022-01-05-00-04)

Visual regression test passed!
View the visual regression test report


[http-server-javascript] Two small correctness fixes

This fixes two issues that showed up in the widget and petstore REST examples.

Required query parameters were being detected as missing if their value was not exactly null. This PR changes this to a falsiness test.
Checking literal range-constrained properties in type differentiation could try to use a property without proving its presence. This PR adds an in check to that logic so that range-constrained properties have the same guard that literal-valued properties do.

All changed packages have been documented.

:white_check_mark: @typespec/http-server-javascript

Show changes
@typespec/http-server-javascript - fix ✏

Added an additional check for the presence of a property before performing a bounds check on integer properties constrained to a range.

@typespec/http-server-javascript - fix ✏

Fixed a null check in query parameter requiredness check by replacing it with a falsiness check.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


Release Google.Cloud.Notebooks.V1 version 1.0.0-beta03

Changes in this release:
New features

Update Notebooks API for clients libraries (commit bfb3a24)

Created release for Google.Cloud.Notebooks.V1-1.0.0-beta03


Create endpoint to search in subproperties

I have to following data structure in an angular v4 application:
export interface Product {
  title: string;
  family: Family;
}

export interface Family {
  familyId: string;
  familyName: string;
}

Is it possible (if yes, how) to create an endpoint that retrieves products based on familyId?

You can do it yourself with a GET interceptor such as this one:
https://github.com/angular/in-memory-web-api/blob/master/src/app/hero-in-mem-data-override.service.ts#L49


more async

Codecov Report

Merging #337 (3e90108) into main (f34cd5b) will decrease coverage by 0.05%.
The diff coverage is 84.37%.

@@            Coverage Diff             @@
##             main     #337      +/-   ##
==========================================
- Coverage   71.36%   71.31%   -0.06%
==========================================
  Files         180      180
  Lines        7358     7439      +81
  Branches      555      555
==========================================
+ Hits         5251     5305      +54
- Misses       1975     2002      +27
  Partials      132      132

Impacted Files
Coverage Δ

pyEX/client.py
64.06% <ø> (ø)

pyEX/cryptocurrency/__init__.py
100.00% <ø> (ø)

pyEX/economic/__init__.py
100.00% <ø> (ø)

pyEX/tests/test_api.py
100.00% <ø> (ø)

pyEX/tests/test_api_client.py
100.00% <ø> (ø)

pyEX/cryptocurrency/cryptocurrency.py
88.88% <70.00%> (-11.12%)
:arrow_down:

pyEX/economic/economic.py
74.07% <86.04%> (-4.56%)
:arrow_down:

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 f34cd5b...3e90108. Read the comment docs.


Cannot build Dockerfile.ubuntu-18.04

The following packages have unmet dependencies:
intel-level-zero-gpu : Depends: intel-igc-opencl (= 1.0.8517) but 1.0.1629709536 is to be installed
intel-opencl : Depends: intel-igc-opencl (= 1.0.8517) but 1.0.1629709536 is to be installed
E: Unable to correct problems, you have held broken packages.

Hi @ionutboscuintel, thanks for reporting this issue, we're working with the release team in order to fix it.
In the meantime, you can install the following 2 dependencies before in order to meet that fixed dependency
 apt install -y intel-igc-core=1.0.8517 intel-igc-opencl=1.0.8517

Hi @ionutboscuintel,
The issue has been fixed by the release team, I've tested it in my own and it works.
Would you mind taking a look in your side?
Thanks for your patience.

Yes, this is fixed now. The issues can be closed. Thank you!


Add annotations in helm chart

Signed-off-by: yeya24<EMAIL_ADDRESS>What problem does this PR solve?
Fixes #200
What is changed and how does it work?
Check List
Tests

Unit test
E2E test
Manual test (add detailed scripts or steps below)
No code

Code changes

Has Go code change
Has CI related scripts change
Has Terraform scripts change

Side effects

Breaking backward compatibility

Related changes

Need to update the documentation

Does this PR introduce a user-facing change?:

NONE

Thanks for contributing. I think the job for pre-install and post-delete in helm chart templates may also need to expose the pod annotation configuration. The rest LGTM. @yeya24

/ok-to-test

Codecov Report

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

@@           Coverage Diff           @@
##           master     #204   +/-   ##
=======================================
  Coverage   43.64%   43.64%
=======================================
  Files          18       18
  Lines         685      685
=======================================
  Hits          299      299
  Misses        353      353
  Partials       33       33

Impacted Files
Coverage Δ

api/v1alpha1/podchaos_types.go
32.55% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks for contributing. I think the job for pre-install and post-delete in helm chart templates may also need to expose the pod annotation configuration. The rest LGTM. @yeya24

Thanks for your review, do you mean that I need to add a new section in helm values.yaml to expose the annotations for the jobs? So what else fields I need to add in this section?

Thanks for contributing. I think the job for pre-install and post-delete in helm chart templates may also need to expose the pod annotation configuration. The rest LGTM. @yeya24

Thanks for your review, do you mean that I need to add a new section in helm values.yaml to expose the annotations for the jobs? So what else fields I need to add in this section?

Yes, we need to ensure the pod created by the job won't be injected sidecar with Istio. That's why we also need to annotate both two jobs. @yeya24

@yeya24 have you test it, LGTM


Swizzling bug

This isn’t an immediate issue for me but I thought I should flag it.
I was just trying the swizzling (autoIntegrate) to see if it helped the silent notification issues I’m having and while looking at the code I saw this (in CleverTap.m lines 376-397):
            } else if (class_getInstanceMethod(ncdCls, NSSelectorFromString(@"userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"))) {
                sel = NSSelectorFromString(@"userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:");
                __block NSInvocation *invocation = nil;
                invocation = [ncdCls ct_swizzleMethod:sel withBlock:^(id obj, UNUserNotificationCenter *center, UNNotificationResponse *response, void (^completion)(UIBackgroundFetchResult result) ) {
                    [CleverTap handlePushNotification:response.notification.request.content.userInfo openDeepLinksInForeground:YES];
                    [invocation setArgument:&center atIndex:2];
                    [invocation setArgument:&response atIndex:3];
                    [invocation setArgument:&completion atIndex:4];
                    [invocation invokeWithTarget:obj];
                } error:nil];
            }
        }
        if (class_getInstanceMethod(cls, NSSelectorFromString(@"application:didReceiveRemoteNotification:fetchCompletionHandler:"))) {
            sel = NSSelectorFromString(@"application:didReceiveRemoteNotification:fetchCompletionHandler:");
            __block NSInvocation *invocation = nil;
            invocation = [cls ct_swizzleMethod:sel withBlock:^(id obj, UIApplication *application, NSDictionary *userInfo, void (^completion)(void) ) {
                [CleverTap handlePushNotification:userInfo openDeepLinksInForeground:NO];
                [invocation setArgument:&application atIndex:2];
                [invocation setArgument:&userInfo atIndex:3];
                [invocation setArgument:&completion atIndex:4];
                [invocation invokeWithTarget:obj];
            } error:nil];

I’m 85% sure that the blocks are the wrong way round on these two swizzles. The application:didReceiveRemoteNotification:fetchCompletionHandler is the now whose fetchCompletionHandler takes a UIBackgroundFetchResult argument not the userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:

Hi @josephlord
Sorry for not responding earlier! We have been trying to reproduce the scenario explained and have been able to replicate the same at our end.
Thank you for the feedback. We will be releasing an update to the SDK fixing the problem by this week.

Thanks. No problem. I think it might not affect behaviour because swizzled Obj-C blocks aren’t really type safe so the declarations being wrong may have no effect but I thought I should let you know anyway.

Yeah, it might not be affecting the behavior and functionality for our SDK users. Nonetheless, we have added a fix for the declarations as well.
We agree with you fetchCompletionHandler of the application(_:didReceiveRemoteNotification:fetchCompletionHandler:) method has the UIBackgroundFetchResult argument in the case of the Silent Push Notifications.
Thank you for bringing this up. We appreciate your feedback.


[Bug] onRowSelected getting triggered onRowAction

Description
The onRowSelected event is firing even when a row button is clicked
Steps to reproduce the behaviour:

Drag a table
Add a row button
Display a message on row button clicked with showAlert('Row button Clicked')
Display a message on row selected with showAlert('Row selected')
Click a row button of the table
Both messages are displayed

@riodeuno in this case, since we have decided that the action click will select the row as well, How do we handle onRowSelected not getting called? Should that be the case

Yes, this is for backwards compatibility. Any reason, why this shouldn't be the case?

OP does not want the onRowSelected fired onRowAction, this is what I understand from the above

onClick of an action button, in many scenarios, our users have used TableName.selectedRow as a binding in the trigger
To do this correctly, we need to do the following

Migrate all instances of TableName.selectedRow from the onClick trigger to currentRow.
This way, onClick of a row button, we can do the following:

Disable selection of the row
Disable onRowSelected trigger

Decided from before:

Clicking on a table row action should not un-select, however, it should select

The 2nd point in the above statement contradicts this point.
Also what exactly we mean by Migrate all instances of TableName.selectedRow from the onClick trigger to currentRow


ERROR `/favicon.ico' not found

[X] This is a question about using the theme.
[X] I believe this to be a bug with the theme --- not Jekyll, GitHub Pages or one of the bundled plugins.
[ ] This is a feature request.
[X] I have updated all gems with bundle update.
[X] I have tested locally with bundle exec jekyll build.

Environment informations

Minimal Mistakes version:
github-pages or jekyll gem version:

- Operating system: OSX El Capitan
Expected behavior

Steps to reproduce the behavior

git clone
bundle
bundle exec jekyll serve --port 4001
The response:

Configuration file: /Users/mac/gits/jekyll/minimal-mistakes/_config.yml
            Source: /Users/mac/gits/jekyll/minimal-mistakes
       Destination: /Users/mac/gits/jekyll/minimal-mistakes/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
                    done in 0.122 seconds.
 Auto-regeneration: enabled for '/Users/mac/gits/jekyll/minimal-mistakes'
Configuration file: /Users/mac/gits/jekyll/minimal-mistakes/_config.yml
    Server address: http://<IP_ADDRESS>:4001/
  Server running... press ctrl-c to stop.
[2016-07-08 11:32:01] ERROR `/favicon.ico' not found.
[2016-07-08 11:32:01] ERROR `/favicon.ico' not found.

Suggestion: Add a favicon.ico file to the root folder fixes this.
I'm preparing a PR now.

I purposely left out the favicon.ico to avoid the propagation of one designed for the theme. I've included it in the past and no one (well mostly no one) ever bothers to change it.
Someone who knows what a favicon is will be the same person who will add one in. I don't think it's a big issue that the WEBrick server bundled with Jekyll is shouting that there is one missing. The default jekyll new site theme doesn't include a favicon either, so I think there's some precedence here to eliminate the fluff and provide sensible defaults when necessary.

OK. Is there a way to suppress the error message.

I'm not familiar with the intricacies of WEBrick to know if there's a way to suppress those errors. It's not really an error with Jekyll, WEBrick, or the theme.
Depending on your browser some automatically make HTTP request for favicon.ico and since it doesn't exist WEBrick is showing that message. Those requests will also appear in your server logs.
Best way around it is as you noted above, drop a favicon.ico file in the root of your site. As this is more of a web dev thing than a responsibility of the theme I don't feel it's necessary to include. It's not going to break anything if you leave it out.

nice

Thank you for the explanation.

Looks like WEBrick is replaced by 'Thin'
https://stackoverflow.com/questions/3802913/error-errnoeconnreset-connection-reset-by-peer


Use hashbrown::HashTable instead of RawTable

I previously considered this in #280, and it didn't seem beneficial at the time, but now hashbrown has removed the "raw" feature for its upcoming 0.15. So we'll either have to make the move, or stay on 0.14 and possibly think about forking.
On the idea of forking -- I wonder if much could be gained by hard-coding that we always use RawTable<usize>, e.g. we never have to worry about dropping items. We could also get fancy and use u32 (or even u16) when the capacity is low enough, reducing memory usage -- as the pre-hashbrown version of this crate did!

I wonder if much could be gained by hard-coding that we always use RawTable<usize>,

I tested this in rustc, but it didn't show any noticeable change in compiler performance: https://github.com/rust-lang/rust/pull/129965

Just popping in to say that since I'm going to be working a lot on moving over hashbrown to use the HashTable API internally and completely get rid of the RawTable API, and would definitely be paying attention to any feedback you have if you shared it here: rust-lang/hashbrown#545
The raw table API is very messy and was designed before MaybeUninit existed, which is why we wanted to redo it.


How can i run my task between some time?

It seems that the package has not function to execute a task from time to time.
Is there any pythonic method to achieve it?
Like..

import schedule

def task():
    print 'Hello'

schedule.every(5).minutes.between('12:00','24:00').do(task)

+1

+2

I need to execute some job every day, every hour, start at '10:00' until '22:00'. The only way that I found do something like this is scheduling 2 task, one task that start every day at '10:00' that create another task executed by hour to 12 hours.
import schedule
import time
import datetime

def job():
    print("I'm working... " + datetime.datetime.now().strftime("%m/%d/%Y - %H:%M:%S"))

def createJob():
    schedule.every(1).to(12).hours.do(job)

schedule.every().day.at("10:00").do(createJob)

while True:
    schedule.run_pending()
    time.sleep(1)

The problem with this approach is the job are executed in random intervals.
The is no another way to do this ?

Hi @ciroanacleto
I have a code snippet that might interest to you.
The way I'm doing is using tw set() functions that control a global variabel which is a flag, basically.
In summary, the code is something like this
CAPTURE = False

def set_off():
        global CAPTURE
        print("INFO: Capture state: OFF")
        CAPTURE = False

def set_off():
        global CAPTURE
        print("INFO: Capture state: ON")
        CAPTURE = True

if __name__ == "__main__":
        schedule.every().day.at('10:00').do(set_on)
        schedule.every().day.at('20:00').do(set_off)

        while True:
                schedule.run_pending()
                if CAPTURE:
                        (...)

Nevertheless, take a look how you should initialize the CAPTURE flags

Hi @ciroanacleto
I have a code snippet that might interest to you.
The way I'm doing is using tw set() functions that control a global variabel which is a flag, basically.
In summary, the code is something like this
CAPTURE = False

def set_off():
    global CAPTURE
    print("INFO: Capture state: OFF")
    CAPTURE = False

def set_off():
    global CAPTURE
    print("INFO: Capture state: ON")
    CAPTURE = True

if __name__ == "__main__":
    schedule.every().day.at('10:00').do(set_on)
    schedule.every().day.at('20:00').do(set_off)

    while True:
        schedule.run_pending()
        if CAPTURE:
            (...)

Nevertheless, take a look how you should initialize the CAPTURE flags

Thanks by reply @BBarbosa
Inspired in your sugestion I achived a workaround for my needs:
import schedule
import time
import datetime

def job():
    print("I'm working... " + datetime.datetime.now().strftime("%m/%d/%Y - %H:%M:%S"))

def createJob():
    schedule.every(2).seconds.do(job).tag('second-tasks')

def cancelAllJobs():
    schedule.clear('second-tasks')

schedule.every().minute.at(":05").do(createJob)
schedule.every().minute.at(":20").do(cancelAllJobs)
print(schedule.jobs)

while True:
    schedule.run_pending()
    time.sleep(1)

The result was:
[Every 1 minute at 00:00:05 do createJob() (last run: [never], next run: 2019-03-20 10:57:05), Every 1 minute at 00:00:20 do cancelAllJobs() (last run: [never], next run: 2019-03-20 10:57:20)]
I'm working... 03/20/2019 - 10:57:07
I'm working... 03/20/2019 - 10:57:09
I'm working... 03/20/2019 - 10:57:11
I'm working... 03/20/2019 - 10:57:13
I'm working... 03/20/2019 - 10:57:15
I'm working... 03/20/2019 - 10:57:17
I'm working... 03/20/2019 - 10:57:19
I'm working... 03/20/2019 - 10:58:07
I'm working... 03/20/2019 - 10:58:09
I'm working... 03/20/2019 - 10:58:11
I'm working... 03/20/2019 - 10:58:13
I'm working... 03/20/2019 - 10:58:15
I'm working... 03/20/2019 - 10:58:17
I'm working... 03/20/2019 - 10:58:19

Note that the inner schedule job was executed on the interval between the two outer schedules at ':05' and ':20', that is, inside 15 seconds fits 7 executions in each 2 seconds.
Thanks again.

ok, I found some way to do this.
`import schedule
import time, datetime
def job():
print("I'm working %s"%(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
def control_job():
tnow = datetime.datetime.now()
hm = tnow.strftime('%H:%M')   #hour:minute like '10:00'
if hm in run_hour:
if run_hour[hm] == 0:
#run job and set the run flag to 1
job()
run_hour[hm]=1
#debug
print(run_hour)
#time < 10:00 and time> 22:00 reset all flag to 0
if ((hm <'10:00') or (hm >'22:01')):
for i in run_hour:
run_hour[i]=0
#global variable, set every hour as a run flag
run_hour = {'10:00':0, '11:00':0, '12:00':0, '13:00':0, '14:00':0, '15:00':0,
'16:00':0, '17:00':0, '18:00':0, '19:00':0, '20:00':0, '21:00':0, '22:00':0 }
schedule.every(59).seconds.do(control_job)  #set less than 1 min. ensure compare the flag at least once per minute.
while True:
schedule.run_pending()
time.sleep(1)`

Thanks by reply @ChuanPoLee
Before to think in the solution that I've posted above I tryed something like you has sugested.
I liked specially of solution that make uses of .tag() method, this make easy to delete specifc schedule jobs.

Hi, @ciroanacleto
Although I never use .tag(), but it sounds interesting. It can function like a switch.
Here is another sample, if you don't need job to run at exactly every o'clock, try this:
def job():
    print("I'm working %s"%(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
def control_job():
    #run between Mon. to Fri. and 09 ~ 18 hour/day
    tnow = datetime.datetime.now()
    hh = tnow.strftime('%H')   #hour like '09'
    wk = tnow.isoweekday() #Mon =1
    if (('08'<hh<'18') and (1 <=wk <=5)):
        job()

schedule.every().hour.do(control_job)

Nice !

I made this utility function to get a random time
def randomTime(a='00:00', b='23:59'):
    a_time = datetime.datetime.strptime(a, '%H:%M')
    b_time = datetime.datetime.strptime(b, '%H:%M')
    a_seconds = a_time.minute*60 + a_time.hour*60*60
    b_seconds = b_time.minute*60 + b_time.hour*60*60
    random_seconds = random.uniform(0, b_seconds - a_seconds)
    random_time = (a_time + datetime.timedelta(seconds=random_seconds)).strftime("%H:%M")
    return random_time

Then, I can use
schedule.every().day.at(randomTime("06:00", "7:25")).do(doSomethingOnce)

which needs to be scheduled daily itself (for example, every day at 1:00 am). doSomethingOnce is a one-time job which returns return schedule.CancelJob


Fix activation policy and add optional Quit menu

This fixes the application's activation policy preventing us from clicking the application menu at all and in addition adds a new function to add a default quit menu item (with CMD + Q support).
Example:
wnd.AddDefaultQuitMenu()

I love the progress recently, @StarHack! I will have to try these new features out.


not finding in Package Installer for Sublime Text 3

Which Syntax?:
Expected behavior and actual behavior:
Steps to reproduce the problem:
New Feature Description:
Example Syntax
Link to command reference

Hi @elijahblake81!
In order to use this package you need to reproduce the steps found at the documentation.

Same issue here, after upgrading to Sublime 3200. Sublime 3200 complain about not being able to open the package on startup after upgrade.

Hi,
Which OS are you seeing the problem on?
Can I see a screen shot of the error?
Are there any errors in the console?: View -> Show Console
The screen shot included on the original issue shows network tech is not available, is this the list of packages under "Package Control: Install Package"? Is it in the "Package Control: Remove Package" list?

Yes,  mine is in the Package Control: Remove Package, wow!  So sorry, someone else helped me get started with sublime text 3 a few days ago and I guess they had already installed it.  Sorry about the confusion.  Thank you for the help!

Your welcome 🙂


Simple viewer in Spatial viewer is no longer available

Description
When a field contains simple geometry the spatial viewer defaults to map view (EPSG:4326) instead of Cartesian view.
Selecting "Simple" as coordinate reference does not switch to Cartesian view, but changes the setting back to EPSG:4326.
This seems like a regression as DBeaver earlier on supported Simple view. Also, the Simple option just reverts to EPSG:4326.
DBeaver Version
Community Edition Version <IP_ADDRESS>308201919
Operating System
Windows 11
Database and driver
Database: PostgreSQL 12.15, PostGIS 3.3.3
Driver: PostgreSQL JDBC Driver 42.2.5
Steps to reproduce

Connect to a PostgreSQL database with PostGIS
Run a query that returns a geometry (and not geography) data type, e.g.: SELECT ST_MakeLine(ST_Point(1,2), ST_Point(3,4))
Select the Spatial viewer in the Results panel
Notice that a world map is shown with EPSG:4326 as coordinate reference instead of Simple (Cartesian view).
Select "Simple" as coordinate reference. Notice that this just reverts to EPSG:4326.

Additional context
Screenshot of example of simple line that is drawn in the ocean (from 1° E, 2° N to 3° E, 4° N) instead of on a simple Cartesian plane. Selecting "Simple" in the coordinate reference selector doesn't change anything.
1.9991059831233327, 1.001266907738794

Hi. Thank you for the report.


Bug on Waypoint: Target the Parent of an Element Using jQuery

Challenge http://freecodecamp.com/challenges/waypoint-target-the-parent-of-an-element-using-jquery has an issue. It says it wants the left well to have a red background using ".parent()", so i put this:
$("#left-well").parent().css("background-color", "red")

But it wouldn't work! The Lesson kept telling me:
"Your left-well element should have a red background."
Even though the background of the left well was red on the result screen!
I'm still trying to figure this out. But mostly I'm wondering if its not really a bug, I'm just screwing it up somehow.
Here's the code I have now:

jQuery Playground

#left-well

        <button class="btn btn-default target" id="target1">#target1</button>
        <button class="btn btn-default target" id="target2">#target2</button>
        <button class="btn btn-default target" id="target3">#target3</button>

#right-well

        <button class="btn btn-default target" id="target4">#target4</button>
        <button class="btn btn-default target" id="target5">#target5</button>
        <button class="btn btn-default target" id="target6">#target6</button>

@cjg040103 make sure to read the instructions carefully you are very close:
Give the parent of the #target1 element background-color of red.

Is it fixed now? I have the same problem too.

perfect hint @benschenker  (Y)


chore: Use Edge Windows for coverage report

Can you please do the same for the nightly lab tests?

https://github.com/shaka-project/shaka-player/blob/f3fa4f87927f8adbb21673d2e619a11ab31e66fe/.github/workflows/selenium-lab-tests.yaml#L237

Selenium coverage change looks good: https://github.com/shaka-project/shaka-player/actions/runs/5930986858


Create a single script to update test ingest fixtures

Now that there are multiple test ingest scripts (yay!), it's a bit of chore to update all fixtures if needed.
The goal of this issue is to provide a single script a user can run to update all ingest test fixtures under test_unstructured_ingest/expected-structured-output/ that are checked in.
Note: some ingest tests scripts only count the number of file outputs rather than examining the contents, and these files should not be checked in as fixtures.

Done in https://github.com/Unstructured-IO/unstructured/pull/367 .


Add resampling functionality

Most models require 16 khz sampling rate, but data might be in other rates, so it'd be nice to automatically resample data

For wav2vec2 and Hubert, it is already resampled on-the-fly if not in 16k,
https://github.com/felixbur/nkululeko/blob/64a949a37728726dddbc0bc25e4b351ea82df6ec/nkululeko/feat_extract/feats_wav2vec2.py#L51-L55
For others, I provided a Python script to convert to 16k in the emofilm data directory: convert_to_16k.py. It uses sox as backend, and maybe only works on Unix only.
If needed, I propose to use torchaudio.transforms.resample to avoid the need of new requirements.

ok, i needed that for the mos and snr models and can add it there.
The disadvantage of course is that a database not being in 16 kHz will be resampled than over and over again, potentially 4 times in one run.
So i wonder if we should implement a "resample"  module, that would affect the train and test splits of the project, (not the whole databases)

done with 0.62.0


Release candidate 1.1.0

This PR will integrate the changes made for the release of version 1.1.0.
The most important changes:

Ant design Two tone original package parity on colors.

The secondary color in the icons like the previous versions using the color prop or currentColor for the value but a fill-opacity of 0.09 is applied to this and in this way the resulting color is the closest thing to the original package.
Several icons in this variant did not respect this style and were fixed, for example: AiTwotoneCalculator, AiTwotoneCheckCircle, etc...

solid-icons:

Ant Design original package:

Changes in the way the exports key is structured in the package.json of the library.

This issue has been previously reported in #45 and #50, exports now has the same structure that solid-js uses to export its modules, this should fix the issue in build for astro and also adds support for cloudflare workers, deno...

Other minor changes:

A pre-commit hook was implemented to run the tests.
A Github actions is also being added for pull requests towards main.

A beta version of the package based on this branch has been released: https://www.npmjs.com/package/solid-icons/v/1.1.0-beta.1


updated instructions for running firefly with the Speculos simulator

Summary
Updated instructions for letting Firefly run with the Speculos simulator

LGTM. Thanks @shufps 🙌


Standalone runner

This code will be used in pipeline processing. It is currently called on each dataset individually. However, medical imaging software is often configured so images can be pushed to it and it then pushes the results onward in the chain. It would be useful for this to be wrapped in a way that it can be triggered with DICOM pushes, and the processed images are subsequently pushed onward.
DICOM pushes should be supported, but also nifti files, for example bids format, should also be supported. This could take the form of websocket or HTTP methods.

@etpeterson can you give more description on, I am hoping to work on it.

@Unique-Usman this is probably a multipart project and I wrote this up a while back so I wouldn't forget. Basically, what happens in hospitals is the images are created in DICOM format and pushed around using the c-store operation. It would be very convenient to be able to have a dicom listener running that accepts these pushes, then trigger the processing, then push the result somewhere else. It's much more complicated than that, but that's the basics.
I think it would make most sense as a docker image, but it could be a standalone program itself. Here's a list of projects that would have to be completed to make this work - roughly in order.

Read medical images as either DICOM or NIFTI - essentially wrap the wrapper with a program the reads these files and send them in with appropriate options. NIFTI is already used somewhat in the phantoms so is probably easier. DICOM is the "standard" but much harder to work with. This is probably a 2 part project - support NIFTI first and then DICOM.
Dockerize the code so that processing could be run from the command line, e.g. docker run <TF2.4image> <IVIM input images> <IVIM output images>
Allow the docker container to receive DICOM image pushes and push the results back with a basic config file based configuration. The best DICOM library I know of is dcmtk and it has a server that can dump files to a folder for a start.
Allow the docker container to communicate in NIFTI files. I'm not sure if this is natively possible, but perhaps an FTP server or websockets? I'm not sure this is truly necessary but might be useful.
Allow basic configuration to happen. There could be a simple website to choose what IVIM algorithm to use, for example. But also some basic HTTP commands to change the defaults for one series or all might be a good start here.
Intelligently handle resources. E.g. manage number of active threads and memory to optimize performance.

Almost surely I forgot something, but I think that largely outlines my thoughts. The goal is at the end to have a standalone container that can be integrated into processing pipelines with very little effort. I could create a new issue for some of the earlier ones with more detail if that still sounds interesting.

This sounds interesting. It also a big project. I think starting with the earlier ones seems interesting.

This sounds interesting. It also a big project. I think starting with the earlier ones seems interesting and I will like to work on it also. Thank you.

@Unique-Usman here's an issue I created for the first bullet if you want to tackle that one.

@etpeterson, thanks for the guidiance during the contribution. Can we move to the next line of action ?

@etpeterson, thanks for the guidiance during the contribution. Can we move to the next line of action ?

Sure! I created the next bullet point as a separate issue here.


Regarding to the execution of c++ files

Environment data

VS Code version: XXX
Jupyter Extension version (available under the Extensions sidebar): XXX
Python Extension version (available under the Extensions sidebar): XXX
OS (Windows | Mac | Linux distro) and version: XXX
Python and/or Anaconda version: XXX
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): XXX
Jupyter server running: Local | Remote | N/A

Expected behaviour
XXX
Actual behaviour
XXX
Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]

XXX

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

XXX

please could you fill in the issue template with details of the issue.
please feel free to reopen this issue it created a new one with the necessary details, such as what's the problem, steps to repro, etc.
closing for now due to lack of information


Missing Dependency in Deno

Describe the bug
Missing Dependency in Deno
To Reproduce
import node-kakao in Deno
Expected behavior
No Error
Screenshots

See #284


Setting traces_sample_rates to 0.0 makes it behave like 1.0

How do you use Sentry?
Sentry Saas (sentry.io)
Version
1.32.0, 1.33.0
Steps to Reproduce
We initialize Sentry using this code :
sentry_sdk.init(
    os.environ.get("SENTRY_DSN"),
    traces_sample_rate=0.0,
    environment="env",
    server_name="server_name",
    release=__version__,
    attach_stacktrace=True,
)

Then we programmatically start a Flask server (2.3.3) with Werkzeug in another Thread:
app = Flask(__name__)

# add some routes

app.run(debug=False, host=address, port=port, threaded=True)

Expected Result
No transactions are sent to sentry.io.
Actual Result
A lot of transactions (maybe all) corresponding to Flask are sent to sentry.io.
In the Sentry events, the Client Sample Rate metadata is not set for these events.

@Mindstan thank you for reporting this issue. Do you observe this bug in older versions of the SDK, as well, or only in 1.32.0 and above?

We didn't use every published versions, but we observed this problem since about 2 weeks. The init parameters in our app didn't change for the last 6 months, so we suspect that this is coming from the SDK itself.

@Mindstan Can't reproduce this -- would it be possible to add debug=True to your sentry_sdk.init and observe the debug logs for a bit? Specifically I'd be looking for the following:
A log that indicates an event with a transaction has left the SDK:
[sentry] DEBUG: Sending envelope [envelope with 1 items (transaction)] project:<project_id> host:<hostname>

They could look slightly different since envelopes may contain multiple events, so maybe searching for transaction is the way to go.
You should not see any of these, if you do, something is wrong.
A log message that indicates a transaction has been dropped because of sample rate:
[sentry] DEBUG: [Tracing] Discarding <http.server> transaction <generic WSGI request> because traces_sample_rate is set to 0

You should be seeing a lot of these.

@Mindstan do you have a frontend using sentry as well that talks to this flask server?

I have done some testing, and confirm that Sentry is not sending any samples :  logs.txt
I looked to one of the traces, and got 33k Flask transactions and 0 issues attached to it, so it looks like although the samples are not sent immediately, they ends up being sent with something else. We have a frontend in Typescript connected to this application, and this application is also making HTTP requests to another backend (Django), both have the Sentry integration (3 different projects / DSN).

@Mindstan if there are incoming traces and you don't want traces, please set traces_sample_rate=None instead of 0.

The docs states

traces_sample_rate
A number between 0 and 1, controlling the percentage chance a given transaction will be sent to Sentry. (0 represents 0% while 1 represents 100%.) Applies equally to all transactions created in the app. Either this or traces_sampler must be defined to enable tracing.

It's not really clear that setting it to 0 will in fact still send transactions depending on external events.

we had a clarification somewhere on the semantics of incoming traces but it seems to be gone in a recent docs refactor, I'll look into it

Added a docs PR to clarify the behavior of traces_sample_rate: https://github.com/getsentry/sentry-docs/pull/8561

With the docs update, this issue should be resolved. I am closing this. (docs update will go out soon)

This thread was so helpful in finding the root cause of mismatching sampling rate we faced. 💯
The documentation should also cover the different behavior of sampling when passing traces_sample_rate and traces_sampler. The latter skips requests with trace header, while the prior doesn't.
Thank in advance.


[DRAFT] Split generated files for error and version_features

Description
This PR, based on development-psa, is an exploration of a possible strategy to support deduplicating most files between mbedtls and mbed-crypto without breaking the API as an intermediate step. As such, it is a companion to https://github.com/ARMmbed/mbedtls/pull/2349 and will soon be completed by a technical analysis document.
The key observation is that it's easy to have specific variants of one thing on the TLS side as long as it's in headers. This is thanks to the carefully chosen include order, originally intended for config.h, and also used for version.h in #2349. We can extend that strategy to the generated files containing error strings rest. feature strings, in order to have only the crypto part on the crypto side, but get the full version when building libmbedcrypto as a submodule of mbedtls.
If the approach is adopted, this PR should be side-ported to mbed-crypto, then both should be merged before rebasing https://github.com/ARMmbed/mbedtls-psa/pull/232 and https://github.com/ARMmbed/mbedtls/pull/2349, making some adaptations in the later (see below) and merging them.
The adaptation in https://github.com/ARMmbed/mbedtls/pull/2349 would likely consist of just appending <crypto/include/mbedtls/*.h> to the list on line 40 of scripts/generate_errors.pl` and checking the result.
Status
DRAFT - for discussion only! - Ping @sbutcher-arm and @Patater
Things known to be broken for now:

might not work as intended when building from the submodule until sideported to mbed-crypto and submodule commit updated on the mbedtls side

Tested and working so far:

make all test
cmake . && make all test
tests/scripts/check-generated-files.sh (plus manual negative testing)

Closing this draft as an actual PR is up with a new, cleaner approach: https://github.com/ARMmbed/mbed-crypto/pull/97


[Doc Improvement][Invoke task modules from Microsoft Teams-SBS testing][2689479]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-botbuilder-taskmodule.yml
85
40
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 674b46e:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: CannotMergeCommit] Cannot merge commit 674b46e0f0643d5ec483b665f8d7b2fc8be62902 in branch doc-improvement-task-module of repository https://github.com/MicrosoftDocs/msteams-docs into branch main (commit d5be068938af74374d7cfbf6d3f6b3b8a8ceafd9). Please follow this documentation: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/ to use git.exe to resolve you content conflicts locally and then push to remote.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit a70a257:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/Teams-task-module/review-plus-create_2.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-botbuilder-taskmodule.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-botbuilder-taskmodule.yml
87
37
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 09082b2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/Teams-task-module/review-plus-create_2.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-botbuilder-taskmodule.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-botbuilder-taskmodule.yml
86
38
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 92ca9dc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/Teams-task-module/review-plus-create_2.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-botbuilder-taskmodule.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 752c4d7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/Teams-task-module/review-plus-create_2.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-botbuilder-taskmodule.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-botbuilder-taskmodule.yml
87
37
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 187eebb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/Teams-task-module/review-plus-create_2.png
:white_check_mark:Succeeded
View

msteams-platform/sbs-botbuilder-taskmodule.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Bug in tf.math.lbeta?

Hi there,
I noticed that there's a discrepancy between the implementations of the log-beta function in tensorflow and scipy.
Here's a simple test (pytest) to reproduce this:
import numpy as np
import tensorflow as tf

def test_lbeta():
    import scipy.special

    ab = [10, 20]
    x = scipy.special.betaln(*ab).astype('float32')

    # compare
    ab = tf.constant(ab, dtype='float32')
    with tf.Session() as sess:
        y = sess.run(tf.math.lbeta(ab))

    np.testing.assert_almost_equal(x, y)  # error: -19.115328 != -19.115334

The relative error is about 3e-7, which is not negligible. It gets worse with larger a and b.
This can be problematic in situations that rely on cancellation of large numbers, e.g. in computations involving the log-pdf of a Beta distribution.
Is this expected or is it a bug?

Please, let us know the TensorFlow version you are using.
Looks like the code is incomplete.Can you please provide full code snippet to reproduce it on our environment.Thanks!

$ python3 -c 'import tensorflow as tf; print(tf.__version__)'

1.14.0

In order to reproduce the error just run pytest on the code above or call the test_lbeta() function yourself, e.g.
$ python3 -c "
> import numpy as np
> import tensorflow as tf
>
>
> def test_lbeta():
>     import scipy.special
>
>     ab = [10, 20]
>     x = scipy.special.betaln(*ab).astype('float32')
>
>     # compare
>     ab = tf.constant(ab, dtype='float32')
>     with tf.Session() as sess:
>         y = sess.run(tf.math.lbeta(ab))
>
>     np.testing.assert_almost_equal(x, y)
>
> test_lbeta()
> "

AssertionError:
Arrays are not almost equal to 7 decimals
ACTUAL: -19.115328
DESIRED: -19.115334

Hi @KristianHolsheimer, I think it it due to precision. If you take a deeper look at the scipy's implementation, you can find out the two arguments passed into betaln (python API) or lbeta (c API) are double a.k.a. float64.
So the computation for lbeta in scipy is all done with double, meaning the numbers are more precise. While in TensorFlow, if you pass float into it, the computation will be done in float, which results in less precision for intermediate/output values. So to do a fair test against scipy, we should make sure the numbers passed into TF is float64.
https://colab.research.google.com/drive/1WcQV9wSKZkkqVc0zKiBlk-nC9Pmv9QzS
https://github.com/scipy/scipy/blob/master/scipy/special/functions.json#L216-L220
https://github.com/scipy/scipy/blob/master/scipy/special/_cephes.pxd#L7
https://github.com/scipy/scipy/blob/master/scipy/special/cephes/beta.c#L138

@KristianHolsheimer
Have a look on @WindQAQ's suggestion and let us know if that helps to resolve the issue. Thanks!

@WindQAQ You're absolutely right. That was it. Phew.. cheers!!


fix input box issue for safari and ipnone

if you check internet explorer search box in safari or iPhone you cannot type or select input field. this fix the issue

Hey @PunyaChapagain!
Thank you! I didn't notice this! But I think  *:not(input):not(textarea) is better.

Thank you for your suggestion and I have implemented inside container and works perfectly

Hi @PunyaChapagain. That works great. Please fix other lines to meet origin code style then I'll merge it.