Refactoring to reduce code complexity

Closes #148, #186 , #187, #188, and does some of the work for #169 and #184.
Summary
The main purpose of this PR is to reduce code complexity, and hopefully make things a little easier for others who want to contribute. Some of the logic around getting and saving responses had gotten a bit complicated as more features have been added, mainly in:

CachedSession.request()
CachedSession.send()
BaseCache.set_response()
BaseCache.get_response()

I've consolidated most of the logic around expiration, pre-serializiation, and other response object handling into a separate class, CachedResponse. This significantly simplifies the above methods, and removes most of the code duplication.
Changes
Serialization/Deserialization

Response creation time and expiration time are stored in CachedResponse, so the timestamp from the (response, timestamp) tuple is no longer needed
Replace _RawStore  with CachedHTTPResponse class to wrap raw responses, and:

Maintain support for streaming requests (#68)
Improve handling for generator usage
Add support for decode_content arg

Expiration

Add optional expire_after param to CachedSession.remove_old_responses()
Wrap temporary _request_expire_after in a property + setter method
Remove expires_before param from remove_old_entries, and always use the current time
Remove relative_to param from CachedSession._determine_expiration_datetime for unit testing and patch datetime.now in unit tests instead
Rename response.expire_after and response.cache_date to expires and created_at, respectively, based on browser caching

Docs

Add type annotations to public methods in CachedSession, CachedResponse, and BaseCache
Move main cache documentation from CacheMixin back to to CachedSession`, since that's probably where a user would look first
Add intersphinx links for urllib classes & methods
Update user guide for using requests-cache with requests_mock.Adapter

Misc

Make use of dict ordering from python3.6+ in _normalize_parameters()
Fix linting issues raised by flake8
Add unit tests using requests-mock, and rewrite some existing tests to use that instead of real requests to httpbin.org (will finish this in #169)

Backwards-compatibility
These changes don't break compatibility with code using requests-cache 0.5.2, but they aren't compatible with previously cached data due to the different serialization format. Retrieving a previously cached response will fail quietly and simply fetch and catch a new response.

Coverage decreased (-1.7%) to 84.992% when pulling 89d4c740f97c37788eeb90eef14e8e0c508b6d98 on JWCook:refactor into 08886efe1841aae9c6a5e133008b69296d23b8b9 on reclosedev:master.

@shoeffner To make this work with the changes you added in PR #177, I needed to change a few things:

Cache revalidation: I'd like both per-request and per-session expire_after to mostly behave the same way. I don't think it makes sense to do cache revalidation every time you pass a different expire_after to request(). In browser cache-land, I think that would be more like passing the Cache-Control: must-revalidate header; a value for Cache-Control: max-age (or our equivalent expire_after) should only apply to a new response added to the cache. Since this is a useful feature, though, I moved this behavior to CachedSession.remove_old_responses(), so you can optionally pass expire_after to revalidate the cache with the new expiration.
expire_after = None, 'default', or -1: After taking a closer look at this, it makes things a lot simpler if we can just say, "A per-request expire_after value that's not None will override the per-session expire_after". So now None does nothing, 'default' is no longer an option, and -1 (for either per-request or per-session expire_after) sets no expiration.

I hope you're okay with those changes. Let me know if you have any suggestions, or if one of those changes is inconvenient for the use cases you had in mind.

I am completely fine with those changes, the 'default' etc. solution was just if someone would like to have some more custom control over when to cache what and when to reset it. But allowing None for that purpose and using the simpler semantics is definitely a plus.

Overall this is a very good rewrite of multiple bits and pieces. It is a massive PR so there might be things I didn't see, but except for a few minor issues listed above I think this is really good.
While going through the PR I found that the documentation on install_cache is a little bit short (no mention of the kwargs or how the default backend is chosen), but that is something for another PR.

@shoeffner Thanks for reviewing the tests! That's super helpful.

While going through the PR I found that the documentation on install_cache is a little bit short

Yeah, and after going through the backlog of issues, I've noticed several other things that should be explained more in the docs. Differences between using CachedSession vs install_cache() was a common one. I'm working on updating the docs in a separate issue: https://github.com/reclosedev/requests-cache/issues/190

I'm going to go ahead and merge now this so I can start working on my next PR. If anyone has more comments or suggestions on this one, I can address them in a follow-up PR.


⚠ Bofrost.fr has degraded performance

In 8793e26, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 3855 ms

Resolved: Bofrost.fr performance has improved in f074486 after 6 minutes.


Examples

Coverage remained the same at 79.435% when pulling 1adb76fe751809190eb2dd2a5332b953000befd3 on examples into 241af6d7bdf091828e1ae67db4f555581a9f1f9a on develop.


Add AQE unit tests

Signed-off-by: Niranjan Artal<EMAIL_ADDRESS>Porting few relevent unit tests from Spark. Adjusted the configs so that AQE kicks in.

build

One test failed:
11:25:44  - multiple joins with aggregate *** FAILED ***
11:25:44    ArrayBuffer(SortMergeJoin [b#18782], [a#18800], Inner
11:25:44    :- BroadcastHashJoin [key#18762], [a#18781], Inner, BuildRight, false
11:25:44    :  :- Project [key#18762, value#18763]
11:25:44    :  :  +- Filter ((isnotnull(value#18763) AND (cast(value#18763 as int) = 1)) AND isnotnull(key#18762))
11:25:44    :  :     +- FileScan parquet [key#18762,value#18763] Batched: true, DataFilters: [isnotnull(value#18763), (cast(value#18763 as int) = 1), isnotnull(key#18762)], Format: Parquet, Location: InMemoryFileIndex[file:/ansible-managed/jenkins-slave/slave4/workspace/spark/rapids_premerge-gith..., PartitionFilters: [], PushedFilters: [IsNotNull(value), IsNotNull(key)], ReadSchema: struct<key:int,value:string>
11:25:44    :  +- Project [a#18781, b#18782]
11:25:44    :     +- Filter ((isnotnull(a#18781) AND (b#18782 = 1)) AND isnotnull(b#18782))
11:25:44    :        +- FileScan parquet [a#18781,b#18782] Batched: true, DataFilters: [isnotnull(a#18781), (b#18782 = 1), isnotnull(b#18782)], Format: Parquet, Location: InMemoryFileIndex[file:/ansible-managed/jenkins-slave/slave4/workspace/spark/rapids_premerge-gith..., PartitionFilters: [], PushedFilters: [IsNotNull(a), EqualTo(b,1), IsNotNull(b)], ReadSchema: struct<a:int,b:int>
11:25:44    +- BroadcastHashJoin [n#18819], [a#18800], Inner, BuildRight, false
11:25:44       :- Project [n#18819, l#18820]
11:25:44       :  +- Filter (isnotnull(n#18819) AND (n#18819 = 1))
11:25:44       :     +- FileScan parquet [n#18819,l#18820] Batched: true, DataFilters: [isnotnull(n#18819), (n#18819 = 1)], Format: Parquet, Location: InMemoryFileIndex[file:/ansible-managed/jenkins-slave/slave4/workspace/spark/rapids_premerge-gith..., PartitionFilters: [], PushedFilters: [IsNotNull(n), EqualTo(n,1)], ReadSchema: struct<n:int,l:string>
11:25:44       +- HashAggregate(keys=[a#18800], functions=[sum(cast(b#18801 as bigint))], output=[a#18800, sum(b)#18826L])
11:25:44          +- HashAggregate(keys=[a#18800], functions=[partial_sum(cast(b#18801 as bigint))], output=[a#18800, sum#18836L])
11:25:44             +- Project [a#18800, b#18801]
11:25:44                +- Filter ((a#18800 = 1) AND isnotnull(a#18800))
11:25:44                   +- FileScan parquet [a#18800,b#18801] Batched: true, DataFilters: [(a#18800 = 1), isnotnull(a#18800)], Format: Parquet, Location: InMemoryFileIndex[file:/ansible-managed/jenkins-slave/slave4/workspace/spark/rapids_premerge-gith..., PartitionFilters: [], PushedFilters: [EqualTo(a,1), IsNotNull(a)], ReadSchema: struct<a:int,b:int>
11:25:44    ) had size 1 instead of expected size 3 (AdaptiveQueryExecSuite.scala:354)

@nartal1 I am assuming it worked for you locally. I ran into the same issue in my PR and I assume that the test is non-deterministic currently due to data sizes varying based on ordering.

@nartal1 I am assuming it worked for you locally. I ran into the same issue in my PR and I assume that the test is non-deterministic currently due to data sizes varying based on ordering.

Yes @andygrove , you are correct. It worked for me locally with these configs. I was trying to change autobroadcastHashJoin threshold to smaller value to check if it works here. Do you have any other ideas which we could try?

build

build

build

build

Changing it to WIP as one of the tests is failing in CI. Not able to easily repro it locally.

build


top position according to responsive vs. scroll

hi, is it possible to adjust top position according to responsive vs scroll mode please?
I would like to use both scrollContainer as well as responsiveContainer, but with specific top position.
something like:
    $table.floatThead({
        scrollContainer: function($table){
            top: 105;
            return $table.closest(".wrapper");
        },

        responsiveContainer: function($table){
            top: 55;
            return $table.closest(".table-responsive");
        }
    });

any idea please how could I adjust top position for both modes?

Top can be a number or a function that returns top.
Make it be a function and then you just need to figure out which mode
you're in. Possibly check the window clientWidth to determine that.
On Tue, Feb 28, 2023, 9:37 AM pete111 @.***> wrote:

hi, is it possible to adjust top position according to responsive vs
scroll mode please?
I would like to use both scrollContainer as well as responsiveContainer,
but with specific top position.
something like:
$table.floatThead({
    scrollContainer: function($table){
        top: 105;
        return $table.closest(".wrapper");
    },

    responsiveContainer: function($table){
        top: 55;
        return $table.closest(".table-responsive");
    }
});

—
Reply to this email directly, view it on GitHub
https://github.com/mkoryak/floatThead/issues/477, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC5WSKAIBBEV3USCZSPXLLWZYEQZANCNFSM6AAAAAAVKZ3TOY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Top can be a number or a function that returns top. Make it be a function and then you just need to figure out which mode you're in. Possibly check the window clientWidth to determine that

could you please provide me with example? I am not very familiar with javascript

Sure, something like this (i did not run this code):
  $table.floatThead({
        responsiveContainer: function($table){
            return $table.closest(".table-responsive");
        },
        top: function(){
          // use your responsive breakpoint here instead
          if(document.body.clientWidth <= 500){
             return 55;
          } else {
             return 105;
          }
       }
    });

You're welcome


Clarify what "API-stable" means

Signed-off-by: Lee Surprenant<EMAIL_ADDRESS>

Maybe we should name the column "Java API stability"


UIA end of text is defined as last visible line

Environment
Windows build number: [run `[Environment]::OSVersion` for powershell, or `ver` for cmd]
Windows Terminal version (if applicable): master 9ce884c4

Any other software?

Steps to reproduce
This is in ConHost. This has not been tested in Terminal (yet).

generate output (run dir then dir /?)
using NVDA get the current line
scroll up a few lines
use NVDA to read the previous line
repeat step 4 until you're on the last visible line
use NVDA to read the next line

Expected behavior
Reads the next line.
Actual behavior
Refuses to read the next line because you are "at the bottom".

Moved from terminal 2.0 to 21H1 because it's a conhost bug.

Just tested this in Terminal. It repro's there too.

NVDA bounds UIA to the visible text.

That’s helpful to know. Since the traditional console can have text that’s below the viewport (whereas terminal cannot), how does the user discover that there is additional content? Is it an uncommon-enough use case that it doesn’t matter much?

I've never run into this.
Would it be possible to remove the literally thousands of empty lines from UIA? It slows down our diffing algorithm and sometimes I can get lost in all the blanks! If so I could take out the visible range bounding...

Maybe this is part of what's causing #5481? (in any case, if we don't have to bound to the visible ranges any more that issue would be mitigated).

I'm actually going to close this. This is specific to NVDA. Narrator, Inspect.exe, and Accessibility Insights don't do this. This is just NVDA bounding UIA to the visible text to improve performance.


chore: split save resource asset

This PR split the code for resource blob save into a function. After that, all resource upload use this function to save blob, include:

Upload from HTTP API POST /resource/blob
Upload from HTTP API POST /resource with external URL link.
Upload from Telegram message

Wait a minute, I'll rebase on the latest main branch to fix the conflict.

It's ready now, you can just merge this if there's any other problems.


FormatException: Could not find an option named "generated_file_prefix"

I'm following the example here:  https://pub.dartlang.org/packages/intl_translation
And after:
   pub run intl_translation:generate_from_arb --generated_file_prefix=fnx `find lib -name *.dart` translations/*

I recieve: FormatException: Could not find an option named "generated_file_prefix".
Correct option name is "generated-file-prefix" (dashes not underscores).
Both error message AND documentation are probably incorrect.

Thanks.
Fix pending for the documentation.  I'm not sure what you mean about the error message. It's just using the args package.

By error message I mean: FormatException: Could not find an option named "generated_file_prefix".
... again - incorrect name of the parameter (with underscores).

In that case it's not incorrect. It's just repeating the option name you provided and saying it couldn't find it. For comparison, try running
  pub run intl_translation:generate_from_arb --anything_that_does_not_exist_as_an_option

It would be nice if args did something like what git does, where if you type something that's close to an option that does exist it suggests it, but I don't think that's available at the moment.
The docs error is fixed in https://github.com/dart-lang/intl_translation/commit/377aa3a526ebe0ca7aeb2eb4d2206fe2dd5f6fde

Ok. Combination with the typo in the documentation was deadly.
Thanks!

flutter pub run intl_translation:generate_from_arb lib/src/i10n/localization_intl.dart lib/i10n-arb/intl_*.arb
i use this to generate all *.dart files by every arb. is Effective！


fix: update bert-finetune-pytorch

related to #581

Lets rename it to sst2-bert-base-uncased-hf (for HuggingFace)?

renamed to sst2-bert-hf-base-uncased.json to be comparable with the tf one sst2-bert-official-base-uncased.json


_infer_document_type_from_function_return() should return None instead of raising an exception

cases of problematic type annotations:

generic type, e.g. D=TypeVar("D", bound=Document)
in some cases the type annotation gets converted to a string

Note: If _infer_document_type_from_function_return() returns None, it is assumed that the document type does not change.

This was fixed in #337.


Respect MSBuild globs after initial project load

Currently, Omnisharp often glitches randomly when new documents are added, or projects get restored (which triggers "FileAdded" events under the hood)
The core issue is that the way MSBuild resolves "which path belongs to which project" can get much more complicated than what omnisharp's crude heuristic can handle. So everything is fine on initial project load, but subsequential changes cause errors.
https://github.com/OmniSharp/omnisharp-roslyn/pull/1704 lists a lot of connected issues. I've tried to pull this PR and test it, but it turns out:

MSBuild globs are very specific and complicated, so strings in "DefaultExcludes" can't be trivially used to check file paths.
MSBuild allows for many different ways to modify inclusion rules, besides default excludes

What we really need is to have a way to ask MSBuild "Should this file be in this project?". The closest thing I've found to that is MSBuild's GetAllGlobs() method. So this PR proposes storing a list of MSBuild glob objects directly from MSBuild project, and using them to match new files, instead of using any heuristics.

Great 😄. I didn't know about GetAllGlobs(). It is really a much better solution than mine. In the meantime I was trying to hook an event to trigger a design time build to just update the source files, but I was unsure of how to do it properly.
I tested your solution and it worked fine for me. If this is accepted I can close my PR.

What we really need is to have a way to ask MSBuild "Should this file be in this project?". The closest thing I've found to that is MSBuild's GetAllGlobs() method.

We use GetAllGlobs for this same purpose. =)

@SirIntruder would you mind resolving conflicts - looks like a merge caused it to no longer build

I may have broken this one too trying to resolve conflicts.  I think I'll pull this down tonight and get it working.

I've fixed the build error, I'll swing back and check to make sure the build passed later

Thanks @SirIntruder


Back-end cleanup notes for Thursday

The first three in here would really help for tomorrow. The rest are likely more long-term and can be moved into individual tickets if that's preferable.

[x] Get rid of duplicate standards. See Urban Institute: https://www.rapidskills.org/admin/occupation_standards?q[organization_id_eq]=44&commit=Filter&order=id_desc

[x] Remove duplicate organizations (mostly HCAP ones). I do not mean ones where they’re spelled slightly differently. I mean ones where they’re spelled exactly the same. We need to transfer any standards to the dupe we’re keeping, too. This is blocking adding logos for these right now. Ex. https://www.rapidskills.org/admin/organizations?q[title_contains]=1199&commit=Filter&order=id_desc

[x] We need a way to merge occupations. Both for 1 time clean up and likely on an ongoing basis. https://www.rapidskills.org/admin/occupations?q[title_contains]=truck&commit=Filter&order=id_desc

[x]  Index view:  drop creator, data trust. Approval, completed at, created at, updated at. Add work processes count, skills count, occupation type (hybrid, competency, etc.), onet, and rapids codes to index and show views.

[x] When choosing an org / user in dropdown, can we alpha sort these? Ex., New Occupation Standard choose Oragnization or User. https://www.rapidskills.org/admin/occupation_standards/new

[x] Let’s not include Unregistered standards in our index responses unless someone is requesting their  own standards. That data’s going to be messy for a while. We likely want to leverage the published_at attribute for this, too, so someone could eventually publish an unregistered.

[x] Link to sidekiq from admin tools isn’t working

[ ] It looks like Rapids/Onet aren’t coming through for any of our imports. Every occupation is blank.  https://www.rapidskills.org/admin/occupations?order=id_desc&page=6

[ ] We need a way  pull down the prod DB instead of running off seed data.

@Pcushing for

Index view: drop creator, data trust. Approval, completed at, created at, updated at. Add work processes count, skills count, occupation type (hybrid, competency, etc.), onet, and rapids codes to index and show views.

For the skills count -- do you want the total skills count, including nested within work processes, or just skills count directly linked to the standard?

@littleforest total skills count.

@Pcushing

Let’s not include Unregistered standards in our index responses unless someone is requesting their own standards.

You mean for the API response, right? Not admin page?

@littleforest you got it.

@Pcushing should the Occupation table have a unique title?

@Pcushing for using prod data in development -- do you want a periodic export of the prod db available, or is it sufficient to upload the HCAP, Urban Institute, etc. data files as part of a setup phase?

should the Occupation table have a unique title?

I think so.

for using prod data in development -- do you want a periodic export of the prod db available, or is it sufficient to upload the HCAP, Urban Institute, etc. data files as part of a setup phase?

Just a script or rake task or something we can run to pull down the prod db for local development. The current seeds file is sufficient for the moment, but there's sometimes data issues in prod that arent easily recreated no matter how good our seeding is.
cc @littleforest

@Pcushing seems like a unique key of [:title, :rapids_code, :onet_code] would be a safe bet at minimum, right? I'd like to put a constraint on the database just in case my duplicate bug is not fixed as I think it is.

@littleforest that's a good start. We may need to evolve as we go but let's start more restrictive.

@Pcushing I re-uploaded the rapid-skills-apprenti.csv and the urban-institute-a.csv to set the rapids/onet codes, but the other files have expired in S3 (I set them to expire after a short while since they're just living in my personal account for now). Do you have copies of those other files you can send me? (or you can try to re-upload yourself too).

@littleforest

Let's get that off your S3. Is there an easy way for you to share the current bucket set up so I can replicate it on my end?

I can't upload csv here so i'll send you what i've got on slack

@pcushing, here's what I would do for transferring S3:

(Optional) Create a rapid-skills specific user in IAM with S3 Full access. Give programmatic but not console access.  Skip this if you already have some other WorkHands user account you already use for this kind of thing.

Create a bucket in S3 to hold the files. Leave the defaults so it stays private. My bucket is in us-west-1 N. CA, but you can use whatever works for you.

If you don't already have the secret keys to open the credentials file, then get them from Heroku:

$ heroku config -a rapid-skills-staging | grep RAILS_MASTER_KEY
$ heroku config -a rapid-skills | grep RAILS_MASTER_KEY

Store these keys locally in config/credentials/staging.key and config/credentials/production.key, respectively.

Locally, open the secrets file:

$ docker-compose run --rm -e EDITOR=vim web rails credentials:edit --environment staging
$ docker-compose run --rm -e EDITOR=vim web rails credentials:edit --environment production

You can substitute another editor if you don't use vim. See the note in the docs about using the wait flag for something like Sublime. Haven't actually tested it to see if it works.

Replace my credentials and the bucket/region info as appropriate.

@Pcushing see item 10 in the dev setup notes for script to import prod data.


Fix windowsesu readme

python readme file fixes

/azp run automation - sdk

Can one of the admins verify this patch?


B 18192 int moving expense api delete

Summary
Move query logic from handler to service object
How to test

Login as a customer
Create a PPM, submit it.
Login as a SC, fill in the required data, submit.
Back as a customer, upload documents, add several Expenses.
Delete an Expense, and confirm the delete is successful.

Test coverage on server failed.
Last run: Wed 24 Jan 2024 08:34:25 PM UTC
Refer to this report to see coverage details for the server app.
Documentation for test coverage can be found at this link.


Cordova is not defined

When I start the PhoneGap  Developer in adroid and point to the url displayed in console (gulp serve) the phone shows black screen and when I push Menu button displays this error message (cordova is not defined).
[09:04:10] Starting 'serve'...
[phonegap] starting app server...
[phonegap] listening on <IP_ADDRESS>:3131
[phonegap]
[phonegap] ctrl-c to stop the server
[phonegap]
[phonegap] 200 /api/appzip
[phonegap] 200 /socket.io/socket.io.js
[phonegap] 200 /socket.io/?EIO=2&transport=polling&t=1439363077427-0
[phonegap] 200 /socket.io/?EIO=2&transport=polling&t=1439363077564-1&sid=5DHZIL0GZ_3IVuapAAAA

This is also happening to me.

does this help?
npm i -g cordova


Invoice number not shown in synopsis

Looks like this didn't make it into the preview:

also not shown on the "receipt" view:

also looks like that # symbol is what gets passed as meta info to stripe:

@lapubell  This is up on prod

@lapubell  This is up on prod


[QUESTION] HtmlEditorController doesn't have evaluateJavascript

Hi, Thank you guys for your awesome package
i want use evaluateJavascript function
but htmlEditorController doesn't have evaluateJavascript
just has evaluateJavascriptWeb function
how to change evaluateJavascriptWeb to evaluateJavascript?
Can you tell me how I can do it?

evaluate javascript is inside the InAppWebViewController exposed in HtmlEditorController.


Incorrect inference commands in Readme.md

Hi, it seems there is a typo with inference commands in the Readme.md, specifically, the split command is missing double hyphen:
python inference.py --dataFolder=[SCANNET_PATH] --task=predict_cluster_write split=test

I believe correct command should be:
python inference.py --dataFolder=[SCANNET_PATH] --task=predict_cluster_write --split=test

I believe there is another issue with the Readme.md. Can we confirm that command to train confidence model should be:
python train_confidence.py --restore=0 --dataFolder=[SCANNET_PATH]

rather than stated
python train.py --restore=0 --dataFolder=[SCANNET_PATH]

Thanks for the corrections!


[WIP] Closer to Figma design, still work to do

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

75 of 113 (66.37%)  changed or added relevant lines in 1 file are covered.
20 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-3.8%) to 68.733%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

data-table/table.js
75
113
66.37%

Files with Coverage Reduction
New Missed Lines
%

data-table/table.js
20
68.73%

Totals

Change from base Build<PHONE_NUMBER>:
-3.8%

Covered Lines:
217

Relevant Lines:
303

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

75 of 113 (66.37%)  changed or added relevant lines in 1 file are covered.
20 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-3.8%) to 68.733%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

data-table/table.js
75
113
66.37%

Files with Coverage Reduction
New Missed Lines
%

data-table/table.js
20
68.73%

Totals

Change from base Build<PHONE_NUMBER>:
-3.8%

Covered Lines:
217

Relevant Lines:
303

💛  - Coveralls


Create file thumbnail fallback image for odysee

We just display a grey box for thumbnails that error currently. We should have some placeholder thumbnial.

Also the default gradient on channel page please! https://github.com/lbryio/lbry-desktop/issues/4928

Here's the image - we can pass optimized params like we did with others:
https://spee.ch/missing-thumb-png:3.png
https://spee.ch/missing-thumb-png:3.png?quality=90&height=1200&width=630


Fix incorrect folding for else

Motivation
This fixes Issue #754
Implementation
If node was incorrectly listed in SIMPLE_FOLDABLES when it should rather be in NODES_WITH_STATEMENTS.
Automated Tests
The bug originated because the expectation file was incorrect. I have corrected the same.
Manual Tests
I have tested this against Ruby LSP's own local code in VS Code as mentioned in CONTRIBUTING.md

Oh, there are some test failures, do you want to try address those?

Oh, there are some test failures, do you want to try address those?

My bad! It's fixed now.


Ensure terraform cli exists in the runner

Description
Changes proposed in this pull request:

ensure terrafomr CLi is installed before running it

/cla


feat(render-engine): move cache to viewport

A description of the proposed changes:
Moving the cache canvas from the spreadsheet to the viewport is primarily for the scenario of freezing rows and columns.
How to test them:

Performance:  The FPS performance during scrolling should theoretically be consistent with the performance when there are no frozen rows or columns.

Font rendering: specially in scenarios involving overflow and merged cells spanning frozen rows and columns.

Correct texture mapping:  such as avoiding blank textures and ensuring complete rendering of text and background colors.

BREAKING CHANGE:
Before:
cache canvas was controlled by spreadsheet.
After:
cache canvas was created by viewport

slide dev可以展示，这个分支白屏了，得看看。

文本滚动后会被加粗，点击canvas后消失

slide dev可以展示，这个分支白屏了，得看看。

rrelativeXY, fixed

 文本滚动后会被加粗，点击canvas后消失

DPI 和分辨率多少?  建议设置并没有出现,  我都调整为不建议也没出现


CB-12930: (windows) Fix getDirectory trailing slash path

Platforms affected
Windows
What does this PR do?
Fix the issue
What testing has been done on this change?
Test on WP 8.1/10 and Desktop Win10
Checklist

[x] Reported an issue in the JIRA database
[x] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
[ ] Added automated test coverage as appropriate for this change.

Cordova CI Build has completed successfully.
Commit     - Link
Dashboard - Link
915 tests run, 7 skipped, 0 failed.

Key there, I would love this PR to be merged as well !

This bug caused us a lot of pain in a production app.  Any movement on this?

Hey @giuseppelt , there seems to be a merge conflict now. Could you maybe fix this? Thanks.


Pattern:  Content Group - simple - Create the ContentGroupSimple pattern per functional specifications

User Story

As a [user role below]:
IBM.com Library user

I need to:
have the ContentGroupSimple block pattern available

so that I can:
utilize within my application

Additional information

Functional specifications: https://ibm.ent.box.com/file/597415097647
Is utilized in the ContentBlockMedia and ContentBlockMixed
Design QA testing issue (#1044)
Prod QA testing issue (#1294)

Acceptance criteria

[ ] Create the ContentGroupSimple within the block patterns
[ ] Storybook stories created
[ ] README documentation
[ ] Minimum 80% unit test coverage
[ ] A comment is posted in the Design QA issue, tagging Wonil and Roberta, when development is finished
[ ] A comment is posted in the Prod QA issue, tagging Praveen and Chetan, when development is

@RaphaelAmadeu Do you think that you can fit this work into sprint 20-03?  @jeffchew

FYI the design specs are now available on Abstract: https://share.goabstract.com/cc5cd1b3-a485-41af-ad83-1a44be57c5f6?

@RobertaJHahn, as my another tickets are mostly on review, I do think that we can do this on the current sprint.


Revert "Skia Gold Support for Local & PreSubmit Testing in package:flutter"

Reverts flutter/flutter#40710
After landing, the Skia Client started timing out on tests and the dashboard became unavailable.

cc/ @kjlubick

Landing on red to resolve golden test timeouts. (Part of build red-ness.)


how to add/queue a new task

Quite often, we need to add/queue a new task triggered by some logic.
How to do that with your solution?
Thanks.

Hi,
that is a good question. I will have a look into it.
cu
KirK

Hi,
at the moment I do not see a good solution to your question.
What do you want to queue?
I have a other project in the pipe for this case. I hope I can finish it in the next days.

@kirkone we have a function, the Scheduled Task function, which can have a flexible list of tasks can be scheduled, and at any time/interval the user wants.

this is a little bit more komplex than I thought.
I think in your case the best option is a custom SchedulerHostedService I am about to complete #4 which will enable this possibility.
In your case you had to persist all the "jobs" because you can not make sure the application will run without interruption. In the case of a restart you have to look for the unhandled jobs and reschedule them again.

How about just to start with an in-memory persistence first?

How about just to start with an in-memory persistence first?

Maybe I did not get it right, but this would not solve the problem. You schedule a new task and then the app will restart. Your planned task is now gone and will never be executed.
This is not a good way of doing this in my opinion.
I will finish the work on the other project and then we can look if this fits your needs better.

But I agree with @unruledboy that the persistence is not the scope of the project. We should do something like this:

a user can add a new scheduled task to the task list while running
a user can subscribe to an event if a task is running / done / fail
it must be possible to remove the task

with these points a user can build their own persistence logic in their app.
To I think we should give it a try to implement this.

Hi,
I am working on this right now.
I ran into a problem.
When there are tasks to run the execution will be paused until the next task has to be started. When we add another task this new task will not run until the pause is over.
I have no idea how to cancel the wait when a new task is added.
Any ideas?
My current work is on the feature/scheduler branch


Loss goes nan when training dual swin-base

Hi, I've transferred your code to my own codebase, since your modification of the original mmdetection lies in 3 files (please correct me if I'm wrong):

CBNetV2/mmdet/models/backbones/cbnet.py
CBNetV2/mmdet/models/necks/cbnet_fpn.py
CBNetV2/mmdet/models/detectors/two_stage.py

I directly do a copy-paste to transfer your code my own version of mmdetection, however, loss goes to nan since epoch 17, the reason is that gradient is overflowing, amp loss scaler has to shrink to a small number, until divided by zero, thus it goes to nan.
I use default setting of AMP as yours, I can't figure out what's wrong, could you help me?

I meet the same situation!
have you solved it?

Nope, I've tried to transfer CBNetV2 to MMdetection v2.12.0 but still goes
NaN exactly at 17th epoch.
On Thu, 16 Sept 2021 at 11:40, fuweifu-vtoo @.***>
wrote:

I meet the same situation!
have you solved it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/VDIGPKU/CBNetV2/issues/39#issuecomment-920550821, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AG6FBLOZSE7ALADGAOWIMI3UCFRKDANCNFSM5CYBQLHA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


add eva pytorch

Hi! @lanctot!
It took me to implement EVA and experiments, but I added it in PyTorch!
These figures are a comparison of the Nash Conv averaged over three times of EVA agent.

Thanks @Asugawara ! Most of the team are on vacation now so we will take a look after the holidays.
Btw curious why try it in Kuhn and Leduc? Was it because the TF tests had it running in Kuhn? This algorithm was not designed for multiagent partially observable games.

I appreciate your reply on your day off!

Btw curious why try it in Kuhn and Leduc? Was it because the TF tests had it running in Kuhn?

Because the default argument is Kuhn in EVA's example.
https://github.com/deepmind/open_spiel/blob/master/open_spiel/python/examples/eva.py#L36

This algorithm was not designed for multiagent partially observable games.

Oh... I understand why EVA didn't converge and was slow...
I'll try to run another game referencing the article!
Have a great vacation!

Thank you Dr. @lanctot!
And Happy New Year!
I hope to contribute more this year!

Thank you Dr. @lanctot!
And Happy New Year!
I hope to contribute more this year!

Thank you Dr. @lanctot!
And Happy New Year!
I hope to contribute more this year!

Happy New Year to you too! That is amazing, I look forward to that. The PRs have been great; you are laying down the foundation of our PyTorch support. Thanks for all your work. ;-)

Thank you Dr. @lanctot!
And Happy New Year!
I hope to contribute more this year!

Happy New Year to you too! That is amazing, I look forward to that. The PRs have been great; you are laying down the foundation of our PyTorch support. Thanks for all your work. ;-)


load model and configure function

load model and configure the function to predict success but there is something must be fixed.

modifikasi app.py
modifikasi fungsi.py

Oke sipp


fix/Support white spaces in path for system URI registration

Thanks @hunterlester , it seems we'll need to have system_uri to support the exec command as an array of args then.


Added fixes for searching and various things

Better typesense 0.24.1 support
Exhaustive search disabled by default
Added central place for the MAX_RESULTS_PER_PAGE option

In the future we should strive for the "options" pattern, where a class represents the configuration options of the app and applies safe defaults in the correct type.
Added max_results_per_page() helper function as part of this fix.

Added class for getting searchable attributes of models in typesense
Added basic search analytics:

The default implementation saves the search terms and the first page of hits and hit count in the database, and indexes the search term in Typesense.
Indexing the search terms used by users will later help with adding new features. (E.g. search suggestions)

Fixed tests
Fixed an issue with the /v4/schedules/<dayFilter> request validator.
Fixed deprecation logger
Fixed bug with ordering through the search engine. E.g. ?q=searchterm&order_by=score would not order by score, rather by the default sort order.
Fixed #411

Exhaustive search disabled means that typesense will eat less system resources, but the number of hits will decrease, but the quality of relevance won't be affected.
I think with earlier versions of typesense we used exhaustive search to have enough hits. However the latest version already returns enough hits with exhaustive search turned off for most of the use cases. Only the drop_tokens_threshold and typo_tokens_threshold needs to be tweaked, and we can get good enough results I think.
Might fixes these issues:

#393
#401
#396

Searching Girls & Panzer doesn't bring up anything, but searching Panzer does.
Girls and Panzer also doesn't work.

Only the drop_tokens_threshold and typo_tokens_threshold needs to be tweaked, and we can get good enough results I think.

Do you think we should add these to .env.dist?

Only if we want to fully support the tweaking of it for not so hardcore users.

LGTM


Pinch capability for touchscreen

Hello!
Is there a way to embed pinch-zoom functionality on the canvas?
It'd be wonderful if we can resize the crop-area by pinching it in (and out)..
Thanks'

Agree, would be great to have that.
Or something like, croparea to get full crophost.


RUM-950 Support ImageView scaletypes

What does this PR do?
This PR restores imageview support (that was previously reverted on develop).
It then primarily adds support for all ImageView scaletypes.
In addition:
• Adds a screen to the example app focused on the different scaletypes
• Cleans up the image components screen in the example app to reorder the ImageViews there and remove Views (until/unless we support them)
• Fixes an issue with ImageViews where opacity wasn't computed correctly (WireframeExt)
• Support for ImageView cropping through the 'crop' property of the ImageWireFrame (WireframeUtils)
• Adds a boolean flag ignoreIsPII so that background images can no longer be blocked as PII (ImageWireframeHelper)
• Increases PII threshold from 49 to 100dp
• Extracts logic out of WireframeUtils into the new BoundsUtils in order to simplify testing
• Updates the functional tests payloads
Motivation
Fix a resizing issue with ImageView.
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1677 (1f4066d) into develop (1fc5582) will decrease coverage by 0.14%.
Report is 12 commits behind head on develop.
The diff coverage is 82.64%.

@@             Coverage Diff             @@
##           develop    #1677      +/-   ##
===========================================
- Coverage    83.73%   83.59%   -0.14%
===========================================
  Files          459      461       +2
  Lines        15778    15853      +75
  Branches      2354     2362       +8
===========================================
+ Hits         13211    13251      +40
- Misses        1938     1976      +38
+ Partials       629      626       -3

Files
Coverage Δ

...adog/android/sessionreplay/SessionReplayPrivacy.kt
100.00% <100.00%> (ø)

...essionreplay/internal/processor/WireframeBounds.kt
100.00% <100.00%> (ø)

...sessionreplay/internal/processor/WireframeUtils.kt
97.30% <100.00%> (-2.70%)
:arrow_down:

...eplay/internal/recorder/base64/Base64Serializer.kt
94.87% <ø> (-0.04%)
:arrow_down:

...play/internal/recorder/base64/ImageTypeResolver.kt
100.00% <100.00%> (ø)

...order/mapper/BaseAsyncBackgroundWireframeMapper.kt
95.24% <100.00%> (+0.32%)
:arrow_up:

...roid/sessionreplay/internal/utils/DrawableUtils.kt
97.37% <100.00%> (+1.37%)
:arrow_up:

...droid/sessionreplay/internal/utils/WireframeExt.kt
88.89% <100.00%> (-0.58%)
:arrow_down:

...y/internal/recorder/base64/ImageWireframeHelper.kt
94.07% <96.00%> (-0.62%)
:arrow_down:

...replay/internal/recorder/mapper/ImageViewMapper.kt
94.59% <95.00%> (ø)

... and 2 more

... and 22 files with indirect coverage changes


Update events.py to use KeyStateHandler

Now KeyStateHandler is used, instead of the 'old' approach.

Window events are not an "old" approach. It entirely depends on what you are trying to do.
Keep in mind that the KeyStateHandler uses events itself to track input.
(https://github.com/pyglet/pyglet/blob/c32556e92e854b9001da39fba70c4deb63c28878/pyglet/window/key.py#L67)
The events.py example is meant to be an example of events anyway, not the KeyStateHandler.

I agree. The KeyStateHandler is more of a generic thing, for convenience. For advanced uses, you want to use the event system directly.
We could add a separate example just for the KeyStateHandler though.

I think creating another example would be great for new users. Definitely should do it.

I will open another PR for this.


when you click a nuxtlink more times, the page is white

Environment
chrome
Reproduction
1、when you set nuxtlink with no-prefetch
2、continue click it
Describe the bug

Additional context
No response
Logs
No response

let's track in https://github.com/nuxt/nuxt/issues/13309 and https://github.com/nuxt/nuxt/issues/22900.


Plugin 'Rubocop' is incompatible with RubyMine 7.x

RubyMine 7.1.2
Ruby 2.2
Rails 4.4
Error :  Plugin 'Rubocop' is incompatible with this installation
Followed the same steps as mentioned

@sirlantis  When this issue is going to resolved


Isn't this URLEncode step here wrong?

Hello,
In UploadPartCopyRequest there's a URLEncode for the x-amz-copy-source field. I'm running into issues here. S3 responds saying the object doesn't exist whereas it does. On digging further I found this line.
https://github.com/aws/aws-sdk-cpp/blame/master/aws-cpp-sdk-s3/source/model/UploadPartCopyRequest.cpp#L101
https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html#API_UploadPartCopy_RequestSyntax
But the S3 documentation says the bucket nad object must be separated by /, and the object key name must be URL encoded. Isn't it?

@marcomagdy Could you please take a look

Hi @rahul003 ,
I'm not super sure on what you mean here, could you clarify a bit? Or even better if you could give me some sample code or logs that show the problem you're having?


Meaning of "The time-to-live (TTL) setting on a brokered message is not enforced when there are no clients actively listening."?

Hi Team,
Could you please explain the sentence in more detail ?
The time-to-live (TTL) setting on a brokered message is not enforced when there are no clients actively listening.
Does this mean -
If there is no listener to the queue/subscription who would call Receive() method to process the message, the message will never expire?
Please correct me if I'm wrong.

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

ID: 66f10c27-dd5a-63c4-2933-792979908896
Version Independent ID: 24fb6e36-13ea-ece9-7239-41d826dacb4a
Content: Azure Service Bus message expiration
Content Source: articles/service-bus-messaging/message-expiration.md
Service: service-bus-messaging
GitHub Login: @axisc
Microsoft Alias: aschhab

@btmore While there is no active listener, the messages are not removed from the queue but are still expired messages. Once a client connects, the TTL is enforced and messages are removed if required.
Due to this behavior, you would see such expired messages if you were to browse such a queue but a client would never receive such messages.

@btmore Just following up here... Hope my previous comment clears things up.

@PramodValavala-MSFT yes your previous comment cleared things up. I will close the issue. Thank you.


CursorInfo: Teach SemaLocResolver to recognize the start of an expression.

A location is resolved to the start of an expression only when it cannot be further refined to other kind, e.g. a reference. rdar://32749670

@swift-ci please smoke test

@swift-ci please smoke test


BSOD When trying DeviceIoControl to ManualMaped Driver

BSOD When trying DeviceIoControl to ManualMaped Driver.
I coudn't found any reason through WinDbg...
Anyone else?

You can't because no DriverObject exists, so you cannot set its IRP functions.  WinDbg would have shown you this.

@staticinvocation so we can;t communicate with ring3??

You can, you just can't use anything that would require a DriverObject.  Be creative.

@staticinvocation any PoC?xD,i am Noob.

see tdl dummy drv source
https://github.com/hfiref0x/TDL/blob/master/Source/DummyDrv2/dummy/main.c


Reference style guide in README

This branch:

Adds a link to the style guide in the README to let other devs know about it.
Catches bad page param values so we explicitly render a 404 error when something other than "styleguide" is given. The dynamic template string was making me nervous. 😅

/cc @smbriones

@cheshire137 thank you! 😄 Do you mind if I add style guide updates to master? Or should I use a separate branch?

Do you mind if I add style guide updates to master?

Updates to the styleguide page and SCSS changes seem fine to go directly to master, if you can. The master branch is marked as "protected," which might mean you can't push to it directly. 🤔

@cheshire137 You're right, I can't push to master. Created a PR! 😄


Fix traefik annotations as they are not working properly

Signed-off-by: Aleksandr Fofanov<EMAIL_ADDRESS>
Description

Please see the detailed description of the issue and context in #30
Motivation and Context

[x] I have raised an issue to propose this change (required)

Fixes #30
How Has This Been Tested?

I've added the test that verifies that operator produce correct annotations for Traefik ingresses.
I also tested the changes to the annotations by following the steps described in #30
Types of changes

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

Impact to existing users

This change shouldn't break anything in existing deployments.
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.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

@alexellis Please advise whether documentation should be updated and where exactly, I'm not sure about the right place. Thank you.

Hi thanks for the PR and issue.
What kind of URLs have you tested for this fix? Have you tried subpaths and files? I.e. when serving a folder structure or varying HTTP paths with a suffix

What kind of URLs have you tested for this fix? Have you tried subpaths and files? I.e. when serving a folder structure or varying HTTP paths with a suffix
@alexellis I tested root path, subpaths and files too.

I also updated the docs.

Please can you give an example of the FNI and the paths tested for it in the description of the PR?

@alexellis Added.

This is looking great. Almost ready to merge, I'd like to see a FunctionIngress that uses a path prefix now. See here: https://github.com/openfaas-incubator/ingress-operator/blob/master/README.md#schema
The idea is that you can say this function is mounted on the domain at /api/blog/v1

Example for Nginx (I suspect you may want to remove the (*.) for Traefik, but you may know better than I do with regards to that one.
apiVersion: openfaas.com/v1alpha2
kind: FunctionIngress
metadata:
  name: webpage
  namespace: openfaas
spec:
  domain: "webpage.myfaas.club"
  function: "webpage"
  ingressType: "nginx"
  path: "/v1/web/(*.)" # Optionally set a path for the domain i.e. nodeinfo.myfaas.club/v1/profiles/

This FNI would mount the webpage function at webpage.myfaas.club/v1/web/ so that anything sent there would appear as / in the webpage function.

@alexellis Yes, thanks for the pointer to FNIs with path. Totally forgot about this feature. I fixed the routing expression for this case, tested the changes and updated the description.
Related: It looks to me that Ingress Operator CRD in faas-netes chart is not up-to-date with the actual spec? There is no path attribute the in the spec.

The chart for the inlets-operator moved into the faas-netes repo here ->
https://github.com/openfaas/faas-netes/tree/master/chart/openfaas/templates
We tend to install it like: arkade install --ingress-operator which generates a command like:
Command: /Users/alex/.arkade/bin/helm3/helm [upgrade --install openfaas openfaas/openfaas --namespace openfaas --values /var/folders/p7/ptxtv_pd3n12fd6mc5wjhk1h0000gn/T/charts/openfaas/values.yaml --set clusterRole=false --set openfaasImagePullPolicy=IfNotPresent --set faasnetes.imagePullPolicy=Always --set gateway.replicas=1 --set ingressOperator.create=true --set queueWorker.replicas=1 --set basic_auth=true --set gateway.directFunctions=true --set operator.create=false --set basicAuthPlugin.replicas=1 --set queueWorker.maxInflight=1 --set serviceType=NodePort]

Can you add path as a separate PR into the faas-netes repo?
I also noticed that you have some issues with the last few commits, we can't accept a merge commit in a PR, so can you do a rebase? git rebase -i HEAD~N where N is the amount of commits in total.
Pick s for squash and then do a force push.

Despite the CRD validation not specifying path as a field, it is accepted and used:
Expand to view the logs:

space-mini:vagrant alex$ kubectl apply -f -
apiVersion: openfaas.com/v1alpha2
kind: FunctionIngress
metadata:
name: webpage
namespace: openfaas
spec:
domain: "webpage.myfaas.club"
function: "webpage"
ingressType: "nginx"
path: "/v1/web/(.)" # Optionally set a path for the domain i.e. nodeinfo.myfaas.club/v1/profiles/
functioningress.openfaas.com/webpage created
space-mini:vagrant alex$
space-mini:vagrant alex$ kubectl get functioningress.openfaas.com/webpage -o yaml
Error from server (NotFound): functioningresses.openfaas.com "webpage" not found
space-mini:vagrant alex$ kubectl get functioningress.openfaas.com/webpage -o yaml -n openfaas
apiVersion: openfaas.com/v1alpha2
kind: FunctionIngress
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"openfaas.com/v1alpha2","kind":"FunctionIngress","metadata":{"annotations":{},"name":"webpage","namespace":"openfaas"},"spec":{"domain":"webpage.myfaas.club","function":"webpage","ingressType":"nginx","path":"/v1/web/(.)"}}
creationTimestamp: "2020-06-18T14:05:01Z"
generation: 1
managedFields:

apiVersion: openfaas.com/v1alpha2
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:kubectl.kubernetes.io/last-applied-configuration: {}
f:spec:
.: {}
f:domain: {}
f:function: {}
f:ingressType: {}
f:path: {}
manager: kubectl
operation: Update
time: "2020-06-18T14:05:01Z"
name: webpage
namespace: openfaas
resourceVersion: "90086"
selfLink: /apis/openfaas.com/v1alpha2/namespaces/openfaas/functioningresses/webpage
uid: 2c8020d3-e8a6-4520-90f9-c8731730750a
spec:
domain: webpage.myfaas.club
function: webpage
ingressType: nginx
path: /v1/web/(*.)
space-mini:vagrant alex$

@alexellis Ok, squashed all commits in one.

Can you add path as a separate PR into the faas-netes repo?

Yes, will try to add this on the next week.

For the separate PR, can you just copy the code from my new PR? https://github.com/openfaas-incubator/ingress-operator/pull/33
It should be very quick to copy/paste from the new openfaas.com_functioningress.yaml file into the chart template in faas-netes.
Alex

@alexellis https://github.com/openfaas/faas-netes/pull/656

That's merged now. How are we looking for the path usecase when specific in the FunctionIngress?

Very much a pleasure having this quality of contribution. Thank you again.

Oh my goodness, I clearly didn't catch this, sorry.

Sorry @alexellis , all my fault. Will pay more attention to this in the future.


Removed @vercel/analytics from frontend

Removed @vercel/analytics from frontend due to being flagged by AdBlocker, causing rendering issues in the development.
(It is not affecting in Cloud version, neither in build)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Uninstalled @vercel/analytics from the frontend only also removed importing statement of inject and calling it.

Why was this change needed? (You can also link to an open issue here)

It was affecting rendering and no error in the console (check the Screenshots) if the AdBlocker extension is enabled, but it starts rendering if you disable it, so if someone is not aware of might be time taking process and check for various setup if it is problem with that.

Other information:

@holopin-bot  @ayaan-qadri Thank you!

@holopin-bot @ayaan-qadri Thank you!

Thank you @dartpain


Node labelling should be moved to node join

It's not possible in kubeadm yet, but might be possible by a little modification to the kubelet service start.

Done in #170


remove padding-top for TextField

fixed: remove padding-top for TextField if no label is provided.

I will check and back to you ASAP. I can also help to figure out why the CI is broking

you can fix the build errors with the command yarn prettier:format
follow here some pseudo code suggesting improvements
src/packages/TextField/index.tsx
import React from 'react'
import { InputHTMLAttributes } from 'react'
import Label from '../Label'
import * as S from './styles'

export type TextFieldProps = {
  label?: string
} & InputHTMLAttributes<HTMLInputElement>

const TextField = ({ label, ...props }: TextFieldProps) => (
  <Label title={label}>
    <S.TextField {...props} />
  </Label>
)

export default TextField

src/packages/Label/index.tsx
import React from 'react'
import { LabelHTMLAttributes } from 'react'
import * as S from './styles'

export type LabelProps = {
  title?: string
  children?: React.ReactNode
} & LabelHTMLAttributes<HTMLLabelElement>

const Label = ({ title, children, ...props }: LabelProps) => (
  <S.Label {...props}>
    {title && <S.Title>{title}</S.Title>}
    {children}
  </S.Label>
)

export default Label

src/packages/TextField/styles.ts
import styled, { css } from 'styled-components'
import { TextFieldProps } from '.'

export const TextField = styled.input<Pick<TextFieldProps, 'label'>>`
  ${({ theme, label }) => css`
    background: ${theme.colors.base.white};
    border-radius: ${theme.border.xxsmall};
    border: 0.2rem solid ${theme.colors.primary.lighter};
    border-radius: ${theme.border.xxsmall};
    color: ${theme.colors.primary.dark};
    font-size: ${theme.font.sizes.small};
    font-weight: ${theme.font.weights.regular};
    font-family: ${theme.font.family.primary};
    transition: ${theme.transitions.default};
    outline: none;
    height: 100%;
    letter-spacing: 0.1rem;
    padding: ${label ? '1.5rem 2.2rem 0 1.5rem' : '0 2.2rem 0 1.5rem'};
    &::placeholder {
      color: ${theme.colors.primary.medium};
    }
    &:hover {
      border: 0.2rem solid ${theme.colors.secondary.lighter};
    }
    &:focus {
      border: 0.2rem solid ${theme.colors.secondary.light};
    }
  `}
`

Let me know if you have a different idea
Thanks for your PR

@vczb so tell me what can I do? I have sent a pull request.

hey @Ksj14-kumar you did great.
folow here what changes you need to do:
I did a short video
https://user-images.githubusercontent.com/51221635/234939772-7edb047f-1aa5-405b-ab96-669d8602ac0f.mp4
1. src/packages/Label/index.tsx

2. src/packages/TextField/index.tsx

PLEASE
Squash all commits in a single one

let me know if you want some help to do this

Thanks again for your PR! you are always welcome :rocket:

@vczb Thanks

@vczb check this, I have  sent an updated pull request.

Hey @Ksj14-kumar great job, your PR looks good! :rocket:
We only need to squash all commits on a single one. There are several ways to do this I made a video showing one of those.
https://user-images.githubusercontent.com/51221635/235243314-e8d60298-52a2-41ca-8b94-7b504ec8cc17.mp4

follow the steps :

git log
copy the hash of your first commit
git reset hash-of-the-commit
git add .
git commit --amend --no-edit
git push origin issue-#71 -f

Any questions feel free to ping me.
After squash your PR will be ready to merge :fire:

If you want to squash using a different approach you can take a look here

@vczb Thank you for your explanation.

@vczb if there is an issue please let me know.


Host reboot, connectivity lost

From #33

Furthermore, i've just done the test of rebooting my host and all the network interfaces disapeared :(
Calico still seems to be configured as previously

calicoctl profile show
+------------------------------------+
|                Name                |
+------------------------------------+
|              busybox               |
|   elasticsearch_logging_v1_1jzvs   |
|   elasticsearch_logging_v1_az6c8   |
| fluentd_elasticsearch_<IP_ADDRESS> |
| fluentd_elasticsearch_<IP_ADDRESS> |
| fluentd_elasticsearch_<IP_ADDRESS> |
|      kibana_logging_v1_ifztn       |
|         kube_dns_v8_l6rtn          |
|         kube_dns_v8_tq8xf          |
|          kube_ui_v1_ym5ni          |
|    monitoring_heapster_v8_9cy06    |
|    monitoring_heapster_v8_pt4ey    |
| monitoring_influx_grafana_v1_obu8h |
+------------------------------------+
But there'is no calixxxx interface on the host anymore.
The pods on this host are unreachable

The docker daemon is still configured on cbr0

/usr/bin/docker -d -H fd:// --bridge=cbr0 --iptables=false --ip-masq=false
Maybe i forgot something ?

Same behaviour with 2 hosts. I have an unknown "tunl0" interface:
3: cbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 scope global cbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::54ac:f8ff:fe54:314d/64 scope link
       valid_lft forever preferred_lft forever
4: tunl0@NONE: <NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN group default
    link/ipip <IP_ADDRESS> brd <IP_ADDRESS>

Hi Smana,
I'm trying to reproduce this behavior locally.
Can you show the output of the following commands?
sudo systemctl status calico-node.service

sudo systemctl status kube-kubelet.service

sudo docker ps

Regarding tunl0, that is a tunnel interface that is created by Calico but will not be used unless ipip is enabled on your IP pool.  I think we can safely say it isn't related to the issue you're hitting.

I've managed to reproduce this issue locally - It looks to me like the Kubelet isn't informing the Calico plugin that the pods have been recreated, and so Calico doesn't know to re-create the caliXXX veths.
What I would expect to happen is this:

Node reboots and Kubelet is started (There are no running containers at this point)
Kubelet sync's each pod's state - creates "/pause" infra containers for each.
For each pod, Kubelet notifies the Calico plugin
The Calico plugin sets up networking (creates caliXXX veth, security profile, advertises route)
The Kubelet creates the pod's remaining containers.

I'm not seeing step 3 occur, which smells like a bug in the Kubelet to me.  We're going to do some more digging on this to see what codepaths are getting hit in the Kubelet, and raise a bug on the Kubernetes GitHub if appropriate.

thank you, i stay tuned

In the meantime, as a workaround is there a way to force the step 3 ?

For each pod, Kubelet notifies the Calico plugin

Sorry for the delay.  To workaround this, you can simply delete the pods using kubectl.  If they are managed by a ReplicationController, they will be re-created automatically (though possibly on a different host) and will have networking once they are created.
If they are not managed by a ReplicationController, then re-create the pods after deleting them.

Hi, any news ?
The problem is really serious, even when i restart the docker service my ips are lost :(
Please let me know if you need more info.
Regards,

Hi Smana,
I believe @Symmetric was looking into this, but he's on vacation now.  I'll pick up the investigation of this problem today and post my findings to the issue.
Casey

Hi Smana,
I've made some progress on this.

Upgrading to the latest master build of the Kubelet fixes step #3 from above - I now see the Kubelet calling the network plugin when it restarts the pods.
It then seemed Calico plugin was hitting an error, since Docker was assigning the same IP address to a different container, and Calico hadn't been notified that the pod had been torn down, and thus the IP had been unassigned.  I've updated to use a master build of the calico-kubernetes plugin and enabled Calico IPAM in order to sidestep this issue, and I'm now seeing networking come back up after rebooting nodes, and the docker service.

Could you try following these steps and let me know if they work?  This is what I had to do to fix this issue.

Build and install the master version of the kubelet on your nodes.
Build and install the master version of calico-kubernetes on your nodes.
Open /etc/systemd/calico-node.service and remove the --kubernetes flag from the start command.
Open /etc/network-environment and add the CALICO_IPAM=true variable.
Reload systemd - sudo systemctl daemon-reload
Restart the kubelet process.

To get this working with Docker IPAM likely requires changes to the Kubelet.  I'll have to do some more thinking on what the correct behavior should be there.

Hi Casey,
I'll try that asap and let you know.

Well, first step i've upgraded kubernetes(kubelet included) to the master version.
kubectl version
Client Version: version.Info{Major:"1", Minor:"1+", GitVersion:"v1.1.0-alpha.1.877+bf990acefa97a6", GitCommit:"bf990acefa97a69f430767d964d6fadfec1d9e93", GitTreeState:"clean"}
Server Version: version.Info{Major:"1", Minor:"1+", GitVersion:"v1.1.0-alpha.1.877+bf990acefa97a6", GitCommit:"bf990acefa97a69f430767d964d6fadfec1d9e93", GitTreeState:"clean"}

I didn't helped. Indeed when i rebooted my host, the pods were created but without ip address.
Now i need to figure out how to upgrade calico-kubernetes.
Currently i just downloaded the version 0.6.0 of calicoctl and run the command
calicoctl node --ip=${DEFAULT_IPV4} --kubernetes

Hi Smana -
I suspect we will be releasing a new version of calico-kubernetes in the next 1-2 days.  So, if you can wait that long before testing, that might be the easiest option.
If you'd like to test sooner than that, you can follow these steps to build and install calico-kubernetes.
To build from source.
# Clone the repository
git clone git@github.com:projectcalico/calico-kubernetes.git

# Build the plugin
cd calico-kubernetes
make binary

To manually install the binary, copy it from calico_kubernetes/dist/calico_kubernetes, and install it on your Kubernetes node(s).
# Install the binary on the node in this location
sudo mv calico_kubernetes /usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico

You'll want to remove the --kubernetes flag when running calicoctl node, otherwise your manually installed binary will be overwritten.
Let me know if you have any trouble with these steps and I'll be glad to help.

Thanks Casey,
I'll wait, in the meantime i have some tests/benchmarks to do.
I stay tuned,
Regards,
Smana

By the way could you please tell me what version of calico-docker is supposed to be used with the latest version of calico-kubernetes plugins ?
Thank you

I'd recommend using any version of calico-docker version v0.5.5 or later.

Hi @Smana - we've released calico-kubernetes v0.2.0 here.
You can download and install the plugin like so:
wget https://github.com/projectcalico/calico-kubernetes/releases/download/v0.2.0/calico_kubernetes
sudo mv calico_kubernetes /usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico
sudo systemctl restart kube-kubelet

To enable calico IPAM, edit /etc/network-environment and add this line:
CALICO_IPAM=true

Then, restart the kubelet
sudo systemctl retstart kube-kubelet

A version of calico-docker which includes this binary is expected to be released later this week.  In the meantime, calico-docker v0.5.5 or later will work fine.

Thanks Casey,
I'm trying it right now !
:)

Well my first tests using thecalico-kubernetes v0.2.0 is not satisfactory. The networking of a container is not properly configured though i didn't identified exactly the root cause.
On my node i run the calico-docker v0.5.5
./calicoctl node --ip=<IP_ADDRESS>

i download the calico-kubernetes plugin
 wget https://github.com/projectcalico/calico-kubernetes/releases/download/v0.2.0/calico_kubernetes -O \
/usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico

The network-environment has been updated
grep CALICO_IPAM /etc/network-environment
CALICO_IPAM=true

finally kubelet is restarted.
Then to test it out, i create a pod busybox and try to ping an ip address on another node and name resolution.
docker exec b8022bcb2bc7 ping -c 1 <IP_ADDRESS>
...100% packet loss
docker exec b8022bcb2bc7 ping -c 1 www.google.fr
ping: bad address 'www.google.fr'

Note: the ip address <IP_ADDRESS> is on another node
Using the --kubernetes which downloads another version on calico-kubernetes plugin it works as expected
./calicoctl node --ip=<IP_ADDRESS> --kubernetes
 systemctl restart kubelet.service
docker exec c7a445f4185d ping -c 1 <IP_ADDRESS>
1 packets transmitted, 1 packets received, 0% packet loss
docker exec c7a445f4185d ping -c 1 www.google.fr
1 packets transmitted, 1 packets received, 0% packet loss

Regards,
Smana

I forgot to mention that i was using kubernetes v1.6.0.
With the binaries built from master branch i had several other issues.

Hi Smana,
I've so far been unable to reproduce your issue on my cluster using the following:

v0.2.0 of the calico-kubernetes plugin
calicoctl version v0.5.5
A build of Kubernetes at commit 0902f80f8b94fd23c66398118fcdf9e845c165b1

Could you run the following commands to generate a Calico diagnostics bundle on both the source compute host as well as the destination compute host?  This will gather all the logs and routing diagnostics to help me debug.
sudo apt-get install ipset
sudo ETCD_AUTHORITY=<etcdIP:etcdPort> calicoctl diags

Once you've generated the bundles, could you please send them to me at<EMAIL_ADDRESS>so I can take a look?
One thing I did not mention above is that when enabling Calico IPAM, you should make sure that your Docker bridge (cbr0) is not configured with an IP address within the Calico IP pool.  This prevents conflicts between the docker bridge (which is still required for running docker) and the IPs assigned by Calico.
# So, assuming your pods are in the <IP_ADDRESS>/16 network.
sudo ifconfig cbr0 <IP_ADDRESS>/24

That was exactly what i needed, the containers networking are now well configured after a reboot.
I needed to remove the default pool subnet before adding mine :
calicoctl pool remov <IP_ADDRESS>/16
calicoctl pool add <IP_ADDRESS>/16

But now i can't control the subnet assigned to each node. it is randomly set.
Is it possible to configure manually the subnet assigned to each calico node ?
Regards,
Smana

Currently, it is not possible to manually assign subnets to each node when using Calico's IPAM.  Is this a required feature for you? Calico IPAM does currently assign address blocks to nodes in order to aggregate routes.

Actually that would give us more control on ip assignement.
For instance currently on my lab i have to add static routes on my router (no bgp) in order to get Internet on the containers.
And i use a dns server (skydns) which have a fixed cluster ip, let's say <IP_ADDRESS>.
My second concer is that  i prefer to use a released version of kubernetes for stability reasons.
So i'll wait a moment before upragding my cluster. For the moment we've decided to perform manual tasks if a node fails. The kubelet daemon is not enabled at startup therefore after 5 minutes, the pods are rescheduled on the remaining nodes.
Anyway i'll open a new ticket if needed.
Thank you.

I can't close this ticket because i'm not the issuer.

Actually, considering i'm using dns (managed by kubernetes) for service name resolution i need to solve this issue, the workaround i've described above is not a solution because if the dns server can't be reached my apps won't work properly.

@smana the service VIPs should be in a different subnet than the IP pools used for pods. This is because the kube-proxy on each node replaces the service VIP with the IP of one of the pods that is backing the service, and so that Service VIP could resolve to an IP in any pool in the cluster.
Automatically assigned Service ClusterIPs are controlled by the following kube-apiserver flag:
      --service-cluster-ip-range=<nil>: A CIDR notation IP range from which to assign service cluster IPs. This must not overlap with any IP ranges assigned to nodes for pods.

I'm not sure if you're allowed to manually configure a ClusterIP outside of that range; can you check what you've configure for the service-cluster-ip-range on your API server?

For instance currently on my lab i have to add static routes on my router (no bgp) in order to get Internet on the containers.

Are you referring to routes back to your containers here? Do you mean your router does not support BGP and thus you had to manually install routes? Or that BGP distributed routes were not sufficient in some way?

And i use a dns server (skydns) which have a fixed cluster ip, let's say <IP_ADDRESS>.

But that clusterIP shouldn't actually be routable because of the proxying behavior @Symmetric mentioned above.

My second concern is that i prefer to use a released version of kubernetes for stability reasons.

Understood - Kubernetes v1.1 has just entered code-freeze and will contain the code you need.  It should be released in about a month, and then you'll be all set :)

the service VIPs should be in a different subnet than the IP pools used for pods.
Thank you, i thought that the subnet for the kubernetes services had to be the same as the calico pool.
I've change the kubernetes services addresses sunbet
--service-cluster-ip-range=<IP_ADDRESS>/18
and the calico pool

calicoctl pool show --ipv4
+----------------+---------+
|   IPv4 CIDR    | Options |
+----------------+---------+
| <IP_ADDRESS>/18 |         |
+----------------+---------+

Are you referring to routes back to your containers here? Do you mean your router does not support BGP and thus you had to manually install routes? Or that BGP distributed routes were not sufficient in some way?

Yes i configured the routes back. Anyway it is specific to my lab and i will have the target plateform very soon (with physical nodes and bgp)

Understood - Kubernetes v1.1 has just entered code-freeze and will contain the code you need. It should be released in about a month, and then you'll be all set :)

Cool! i look forward to it.
Well that's fine as i said now after a reboot the pods ips are configured

Before reboot

kubectl describe --namespace=test pod backend-bydxe | grep ^IP
IP:				<IP_ADDRESS>
kubemaster /etc/kubernetes/manifests/osm 0 # calicoctl endpoint show --d | grep backend-bydxe
| kubenode-1 |      docker     | 8086aad975066fa4668c8ef88dce7b6f911f01859d28eb8ff628dc46ade33ec3 | 1c3c07da636711e5830f525400725bce | <IP_ADDRESS>/32 | 36:04:f0:5f:96:35 |                test_backend-bydxe_8086aad97506               | active

After reboot

kubemaster /etc/kubernetes/manifests/osm 0 # kubectl describe --namespace=test pod backend-bydxe | grep ^IP
IP:				<IP_ADDRESS>
kubemaster /etc/kubernetes/manifests/osm 0 # calicoctl endpoint show --d | grep backend-bydxe
| kubenode-1 |      docker     | 67bc43715405e9b5d92b840180087bb7486d3ed1ea0f58166018edb800e09b67 | e494e4ea636711e588f3525400725bce |  <IP_ADDRESS>/32 | 82:e5:0f:0b:a2:c0 |                test_backend-bydxe_67bc43715405               | active |
| kubenode-1 |      docker     | 8086aad975066fa4668c8ef88dce7b6f911f01859d28eb8ff628dc46ade33ec3 | 1c3c07da636711e5830f525400725bce |  <IP_ADDRESS>/32 | 36:04:f0:5f:96:35 |                test_backend-bydxe_8086aad97506               | active |

So the ticket can be closed
There are 2 remaining but they're not directly related the the reboot issue :

Now that the docker bridge is configured on a distinct network (<IP_ADDRESS>), i can't run docker containers for network debugging purpose. Indeed the pods are configured in the subnet <IP_ADDRESS>/18.
Do you have a way to run a container into the calico pool network ?

For an unknown reason the kubelet daemons don't update their status.
For instance each time I create a pod, the pod is actually created but when i request the status with kubectl it shows that the pod is not running. I have to restart kubelet in order to update the status... strange. Maybe it will be fixed in the version 1.1 of kubernetes, or i've missed a new mandatory option.

Thank you two :)
I will soon share my work regarding how to build a full cluster (kubernetes+calico) on debian jessie with Ansible.

I've raised #49 to discuss your first bullet.  The second one doesn't sound like a Calico issue to me, but a Kubernetes issue.

I will soon share my work regarding how to build a full cluster (kubernetes+calico) on debian jessie with Ansible.

Sounds great, looking forward to it!

For an unknown reason the kubelet daemons don't update their status.

Can you please open a separate issue for this? It could be a Calico issue, so report to us first. Start kubelet with the --v=5 flag, and then see what logs are emitted on the node when the kubectl get pod command is run. It's possible


Generic is not passed in type AxiosRequestConfigWithVersioning

Found a problem that the type AxiosRequestConfigWithVersioning does not pass a generic to AxiosResponse because of this, the return type is any
  export interface AxiosRequestConfigWithVersioning<T = any> extends AxiosResponse<T> {
                                                                                __^
    config: AxiosRequestConfigWithVersioning;
  }

This should get solved once I upgrade this library to use the new Generics for axios >=v1.0.0


authenticator:externalbrowser issue

I am unable to get the externalbrowser window to pop up indicating successful connection.  When I runserver, I get
DatabaseError: Failed to connect to DB: <my_account>.privatelink.snowflakecomputing.com:443.  Incorrect username or password was specified.
In settings.py (using dummy variables here, real ones are used in production):
DATABASES = {
    'default': {
        'ENGINE': 'django_snowflake',
        'DATABASE': 'SANDBOX_DB',
        'SCHEMA': '<my_schema>',
        'WAREHOUSE': 'COMPUTE_WH',
        'USER': '<my_username>',
        'PASSWORD': '<my_password>',
        'ACCOUNT': '<my_account>.privatelink',
        'OPTIONS': {
            'AUTHENTICATOR': 'externalbrowser',
            'ROLE': '<my_role>'
        }
    }
}

Also tried placing 'AUTHENTICATOR': 'externalbrowser' as its own key in default, outside of OPTIONS.
relevant package versions:
django==4.1
django-snowflake==4.1b1
snowflake-connector-python==3.6.0

system:
Windows 10 Enterprise version 21H2
Intel(R) Core(TM) i5-8350U CPU @ 1.70 GHz
As additional background I am able to successfully connect to snowflake using these same exact credentials when using snowflake-connector-python package only, outside of django, just running regular queries, and can also connect and update tables using the same exact credentials in Node.js.  But I can't get it to work with django-snowflake.  When I runserver, the expected web browser window never appears, it just indicates incorrect username or password, but I know they're correct.
My snowflake DB admin has access to what I am doing and he has advised me that he is seeing failed connections with snowflake-connector-python 3.6.0 and that it appears as though externalbrowser is not being used, that it may be attempting to access using my username and password only, which we cannot do as we're behind company enterprise agreement with snowflake and MUST use externalbrowser authentication.  Since I never see the browser window appear in django, just the incorrect username or password error in the terminal, perhaps I am doing something wrong to prevent django-snowflake from recognizing the authenticator key.  But I have tried all combinations, including the exact pattern as in the quickstart docs, and still no luck.
Has anyone encountered this and could anyone advise what I am doing wrong?
Thanks in advance.

The keys in OPTIONS shouldn't be capitalized as they correspond to the parameters of snowflake.connector.connect(). Please try with 'authenticator' and 'role'.

:+1:


vdk-pipelines-control-service: a directory can be manually set as a location to store databjobs when processing them to git.

Why?
As a prerequisite to this https://github.com/vmware/versatile-data-kit/issues/1281 we need to be able to manually set the folder where control service stores data jobs.
What?
I add a spring property to let us change the location but if its not specified it defaults back to the old behaviour.
I also did a little cleanup to make the file autoclosable so the coded is a little more succinct.
How has this been tested?
Unit and integration tests.
What type of change are you making?
New feature (non-breaking change which adds functionality)
Signed-off-by: murphp15<EMAIL_ADDRESS>

Good job! Please add this property to the application configuration.


Issues on deploying MetaDeploy on Heroku

I would like to spin up Metadeploy on Heroku but it can't due to the limit on how many free dynos can be spawn.

I was able to deploy on Heroku editing this line on app.json to
"formation": {
    "web": {
      "quantity": 1
    },
    "scheduler": {
      "quantity": 0
    },
    "devworker": {
      "quantity": 1
    }
  },

@ricxsar I will ask that we clarify the Heroku requirements for this application. I don't believe we can commit to supporting deployment in free-tier Heroku accounts.
For development and experimentation, you may also be interested in the work a member of our team did recently to support working with MetaDeploy in Docker.

We're tracking a request to document our Heroku requirements as W-7341597. I'll close out this issue for now. Thank you!

@davidmreed Thank you.


mapper_parsing_exception', "failed to parse field [match_body.host.os.version - Elasticsearch 7.9

Hi Team,
I am getting this error with an elastalert rule. I am using latest version of elasticsearch 7.9. and comparing an auditbeat document.Please help.
ERROR:root:Error writing alert info to Elasticsearch: RequestError(400, 'mapper_parsing_exception', "failed to parse field [match_body.host.os.version] of type [float] in document with id '0lrUOnQBX9Odf7bE1dIq'. Preview of field's value: '7 (Core)'")
Thanks,
Jijo John

Hi Team,
I am getting this error with an elastalert rule. I am using latest version of elasticsearch 7.9. and comparing an auditbeat document.Please help.
ERROR:root:Error writing alert info to Elasticsearch: RequestError(400, 'mapper_parsing_exception', "failed to parse field [match_body.host.os.version] of type [float] in document with id '0lrUOnQBX9Odf7bE1dIq'. Preview of field's value: '7 (Core)'")
Thanks,
Jijo John

Did you accidentally enable numeric-detection? The current mapping to os.version is float and you're trying to put 7 (Core), which is a string, to it.


Standard address space agent erroneously processes addresses of other addressspaces in the same namespace.

Describe the bug
If two or more addresssspaces (at least one standard) are collocated in the same namespace, a defect in agent means that it erroneously processes addresses of other addressspaces as if they belonged to it creating spurious addresses and auto links on the routers as a result.  No erroneous broker resources are defined.
If an address with the same name exists in both address spaces, the Agent will log an error where is tries to duplicate the router configuration (which errors).  This can lead to delays in the addresses coming ready.  On the next resync interval, the address should become ready.
2020-06-11T12:44:29.237Z agent ERROR configuration update for qdrouterd-queuespace-0 not up to date (attempt 2 of 3)
2020-06-11T12:44:29.237Z agent INFO  checking configuration of qdrouterd-queuespace-0
2020-06-11T12:44:29.249Z agent ERROR creating address myqueue1 on qdrouterd-queuespace-0 => Name conflicts with an existing entity
2020-06-11T12:44:29.249Z agent INFO  had 1 addresses, created 1 of which 1 failed:
2020-06-11T12:44:29.249Z agent INFO  address myqueue1 IS in retrieved list
2020-06-11T12:44:29.253Z agent INFO  autolinks up to date on qdrouterd-queuespace-0
2020-06-11T12:44:29.255Z agent INFO  linkroutes up to date on qdrouterd-queuespace-0
2020-06-11T12:44:29.261Z agent INFO  listeners up to date on qdrouterd-queuespace-0
2020-06-11T12:44:29.261Z agent ERROR configuration update for qdrouterd-queuespace-0 not up to date (attempt 3 of 3)
2020-06-11T12:44:29.261Z agent ERROR Unable to apply desired configuration; gave up after 3 attempts
2020-06-11T12:44:29.261Z agent ERROR error while applying configuration to qdrouterd-queuespace-0, retrying: {}
2020-06-11T12:44:29.261Z agent ERROR Unable to apply desired configuration; gave up after 3 attempts (Error: Unable to apply desired configuration; gave up after 3 attempts)

To Reproduce
Steps to reproduce the behavior:

Create two standard address spaces (as1 and as2) in the same namespace.
Create one queue in each addressspaces with different names (myqueue1 and myqueue2 respectively).
Grep the agent log of the first addresspace, observe that it has created an address and auto links for the address in the other addressspace.

# admin.d0921f7 belongs to as1.
oc logs admin.d0921f7-58976d7d7d-29l8h -c agent | grep myqueue2
2020-06-11T14:03:35.355Z agent INFO  addresses_ready: added ["myqueue2"]
2020-06-11T14:03:35.376Z agent INFO  created address myqueue2 on qdrouterd-d0921f7-0
2020-06-11T14:03:35.401Z agent INFO  created autolink ragent-myqueue2-broker-ddc0cfb-7bx7-0-in (dir: in, address: myqueue2) on qdrouterd-d0921f7-0
2020-06-11T14:03:35.424Z agent INFO  created autolink ragent-myqueue2-broker-ddc0cfb-7bx7-0-out (dir: out, address: myqueue2) on qdrouterd-d0921f7-0

Expected behavior
Addressspaces should be independent of one and other.

@enmasse-ci run tests profile=shared


lv_obj_set_pos() may encounter a NULL pointer

void lv_obj_set_pos(lv_obj_t * obj, lv_coord_t x, lv_coord_t y)
{
/Convert x and y to absolute coordinates/
lv_obj_t * par = obj->par;
...........
/Send a signal to the parent too/
par->signal_func(par, LV_SIGNAL_CHILD_CHG, obj);
}
here , we should make sure par is not NULL pointer. If par is null , par->signal_func() will encounter a segment fault, or usageFault.

@kisvegabor Is it necessary to check for this? I thought screens can't be moved.

Is it necessary to check for this? I thought screens can't be moved.

Yes, this problem can occur if you are trying to position a screen. Actually, none of the coordinate manipulator functions work for screens (e.g. lv_obj_set_size). I think it's enough to emphasize it in the documentation.

Added note in littlevgl/docs#19.


Fails to build on windows after latest release

https://github.com/vorner/signal-hook/runs/4448633628?check_suite_focus=true
Received from a user report: https://github.com/helix-editor/helix/issues/1242

:facepalm: My bad. I'll fix it hopefully soon.
The only changes present here are compilation fixes for some androids, so they can use the previous version without a worry until then.


Bugfix fix uniq key compaction bug

One rowset multi segments in uniq key compaction, segments rows will be
merged in generic_iterator but merged_rows not increased。
Compaction will failed in check_correctness, and make a tablet with
too much versions which lead to -235 load error.
Proposed changes
Issue Number: close #xxx
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Is it only for dev-1.1.1?

also for master


Cypress/E2E: Fix failed tests in prod

Summary
Failed on daily Cypress prod test
Screenshots

Release Note
NONE

Thanks @saturninoabril every thing look good except one test case,
M-T2345 /me on RHS

I see. Looks like it's due the CollapsedThreads enabled on your setup. Currently, we're running both local and prod with that as not set or disabled. We'll have it enable for sure for cases as required.

Thanks @saturninoabril every thing look good except one test case,
M-T2345 /me on RHS

I see. Looks like it's due to the CollapsedThreads enabled on your setup. Currently, we're running both local and prod with that as not set or disabled. We'll have it enable for sure for cases as required.

Thanks @saturninoabril after disabling  CollapsedThread setting passed.
I am wondering how did you figure out ?

@furqanmlk I noticed from your screenshot :)
@josephbaylon Good catch! Probably due to the recent app change. Update, PTAL.


use route instead of url...

Describe the bug
with my template, when I access a blog and blog detail I have an url like : myproject/blog/detail : this is normal
and then when I try to access another menu from this page... with url=contact
I have a wrong page displayed : myproject/blog/contact instead of myproject/contact
If I add a name in the route definition, and link my href="route('contact')"
then I have no problem, even when I'm in the blog detail page
So when I check the cms code, all the routes refer to URL
I think it's better to change all of that to route, and add a name to each route in cms.php

I understand the value of setting everything as routes, but you bug confuses me. Is there a menu link you are generating that is not linking correctly? Are you adding in your own code links and not properly setting the url? Are you having issues with the admin side of the code or on the portions of code which are published to your application? The code published to your application can be modified as you see fit. Please provide more specific examples and where these link issues are happening

sorry, I changed already every link with the route name already once I discovered that, and have no problems. I did nothing particular, I just discovered that while I was browsing through my links from menu and pages, then I have seen that you used URL and not Route...I tried with route and everything was ok, and just wanted to warn you. Of course if I can reproduce I will let you know, as I will use GrafiteCMS for several internal projects...in fact already started....I'm starting to like GrafiteCMS...excepted for static pages....but I'm sure it will be improved in the future !


Changes triggered by self

This PR was generated using Autosynth. :rainbow:
Synth log will be available here:
https://source.cloud.google.com/results/invocations/01a7440e-1f0c-4d68-a4a7-71ae1d8c3c3a/targets

Closing as it was incorrectly triggered.


Fix warning during build with -Wunused-parameter

Added -Wunused-parameter to CPPFLAGS
Signed-off-by: Andrii Chepurnyi<EMAIL_ADDRESS>

Hello,
Any comments why rejected?

Hi,
I don't want it.


Tutorial: Get started with Razor Pages in ASP.NET Core

In Part 2, add a model to a Razor Pages app in ASP.NET Core
In the step “Complete the Add Razor Pages using Entity Framework (CRUD) dialog:”
The Data context class text shown in the tutorial:  RazorPagesMovie.Models.RazorPagesMovieContext.
Is showing up as  RazorPagesMovie.Data.RazorPagesMovieContext  in VS version 16.7.3 using ASP.NET Core 3.1
Note the tutorial used "ASP.NET Core 2.2"
I was able to complete part 2 but I had to try more than once.  (Core 2.2, Core 3.1, Update VS etc...)

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

ID: 6719f08e-3bd7-dc1a-71df-f2ef9fbca9d8
Version Independent ID: 7096fdb3-612e-9e00-bd0b-8ea4886a09ce
Content: Part 2, add a model to a Razor Pages app in ASP.NET Core
Content Source: aspnetcore/tutorials/razor-pages/model.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Why aren't you following the 3.1 version?

I searched for “How to create web application in visual studio 2019” and chose “Create an ASP.NET Core web app in C# - Visual Studio ...” (https://docs.microsoft.com/en-us/visualstudio/ide/quickstart-aspnet-core?view=vs-2019) and followed the links to the next step.
Where is the tutorial for the 3.1 version?
Bob Bryant
Email address<EMAIL_ADDRESS><EMAIL_ADDRESS>Cell Phone:<PHONE_NUMBER>
From: Rick Anderson<EMAIL_ADDRESS>Sent: Thursday, September 10, 2020 1:12 PM
To: dotnet/AspNetCore.Docs
Cc: Bob Bryant; Author
Subject: Re: [dotnet/AspNetCore.Docs] Tutorial: Get started with Razor Pages in ASP.NET Core (#19820)
Why aren't you following the 3.1 version?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/dotnet/AspNetCore.Docs/issues/19820#issuecomment-690693567 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABTIUONFOV3YD6B5EYAXTH3SFEXJTANCNFSM4RFVYMSA .  https://github.com/notifications/beacon/ABTIUONW24YY4MTLFQJSYPTSFEXJTA5CNFSM4RFVYMSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFEVSLPY.gif