Possibility to reference other parts of the document

With ajv I can reference other parts of the JSON document via the $data keyword.
Would that be possible with this library as well?
Or would it be possible to define it as a separate custom keyword, maybe?
thanks!

It is not possible to use $data in standard keywords as in ajv. But you can create custom keyword. Extension.Validate gets the part of instance that is getting validated.

so I'd use the current value (=string containing a JSONPath or JSONPointer or similar), resolve it against the instance and validate it that way myself, correct?

Yes. You are correct


[Question]: What is the method to fetch all the downloaded file names ?

Your question
I have a download icon which will download multiple files upon clicking. How can I fetch all the SuggestedFilename ?
download.SuggestedFilename is returning only one name

Multiple download events should then get emitted where you can call the suggested filename, see here: https://playwright.dev/dotnet/docs/api/class-download#download-suggested-filename

Closing for now since it seems answered. Please file a new issue if you have further questions.


Add paging to Jenkins collector

Adds paging to the jenkins collector. Page size defaults to 1000. Paging is necessary when there are a very large number of jobs as jenkins seems to choke if a rest response is too large.

@pxk5958

rebased

LGTM

@nireeshT @satishc1 next up for testing.

rebased

LGTM

rebased on to 2.0.5

LGTM

LGTM


chore(main): release 2.0.0

:robot: I have created a release beep boop
2.0.0 (2024-11-07)
⚠ BREAKING CHANGES

Refactored topic structure for more granular flow and access (#100)

Features

Refactored topic structure for more granular flow and access (#100) (ac27f8e)

Bug Fixes

mqtt: require userClient in topic for all scene messages (#107) (07a98a2)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/arenaxr/arena-account/releases/tag/v2.0.0 :sunflower:


MailDB throws a 443 error (x509)

https://maildb.io has an invalid SSL certificate (certificate signed by unknown authority)

Removing in the next push. Thanks!


Add encryption mode for sensitive data fields

This project is good however the weakness here is the data privacy and security. The customer's email, addresses, bank accounts, and phone number was stored clearly. I suggest that you must add an option to store the customers address and phone number encrypted. As a first line of defense againsts data leakage

The clients data will be encrypted in future


FS 2.0 Data Integrity Errors

In the VM instance logs of a fresh 2.0 installation I see stack traces regarding integrety checking errors on inserts.
"Feb 15 23:43:28 forseti-server[11906]: IntegrityError: (_mysql_exceptions.IntegrityError) (1062, "Duplicate entry 'iam_policy/testpolicy-test' for key 'PRIMARY'") [SQL: u'INSERT INTO `1122243423423422_resources` (full_name, type_name, name, type, policy_update_counter, display_name, email, data, parent_type_name) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)'] [parameters: (('organization/12345/iam_policy/12345/', 'iam_policy/12345', '12345', 'iam_policy', 0, '', '', '{"bindings": [{"role": "organizations/12345/roles/PersonFolderRole", "members"<EMAIL_ADDRESS>{"role": "organizations/12345 ... (16878 characters truncated) ...
If you need the full error log let me know.

Fixed in PR #1102


Fix path in document for running clair.

Simple documentation change

#488 solved this problem. Thanks, though! I appreciate all the eyes on our documentation :D


Release staging/2.4.x

Description of changes
2.4.1 patch release
Disclaimer
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

should we have the next release be another minor and include #276?

should we have the next release be another minor and include #276?

I'd vote for this

I'd vote for this

Either that or just release in 3.0


[UI] - Removing Path in Ingress reset the page

Rancher v2.6.6
Step to reproduce :

Create an Ingress
Click on "Add path"
Input a path "/foo"
Click on "Add path"
Input a path "/bar"
Click on "Add path"
Input a path "/loo"
Click on "Remove" on the "/bar" path

=> Page reload
Expected : Not to reload, just remove the Path
Please note it also happend with existing Ingress - the pattern to reproduce is to remove a "Non-last Path"

@gaktive transferring to Dashboard so we can take a closer look.


UE5.1 Support

Hi, I noticed this project only supports UE5.2 while I'm currently using UE5.1.
Is it possible to follow your work and work under UE5.1 or did you meet any difficulties in using UE 5.1?

Hello, I apologize for the delayed response. I have tested and confirmed that the plugin works correctly in Unreal 5.1, 5.2 and 5.3. I need to update the readme, thank you for bringing this to my attention.
If you are unaware, I have created multiple YouTube tutorials on the basics of this plugin. Also, feel free to join the Discord server if you have any other questions or issues. I'm happy to help :)
YouTube Tutorials: Basic Usage & Using Llama
Discord: Invite Link


This doc sucks

This page is like bullsh*t as it's talking on its own without displaying people how to do that.
It has no reference on how people should set up power app portal with virtual entities - nobody knows how to do that and it has no reference to no document that tells you how to do it.

So go and write how things are set otherwise never mention it at all!

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

ID: d08cc0c6-a456-7546-b722-bef169996e80
Version Independent ID: f1cbaad5-d9d7-455c-f4f3-fcbd03bfcc0d
Content: Power Apps portals with finance and operations - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/power-platform/power-portal-reference.md
Service: dynamics-365-cross-app
Product: ****
Technology: ****
GitHub Login: @Sunil-Garg
Microsoft Alias: sunilg

Bug 777623 has been logged to address this issue.

Thank you for the feedback @DirkLee-me. We will update this page with pointers to Power Pages and also consider adding specific how-to's as needed for F&O. Thanks again.

@@.***> as well.

Thank you for the feedback @DirkLee-mehttps://github.com/DirkLee-me. We will update this page with pointers to Power Pages and also consider adding specific how-to's as needed for F&O. Thanks again.
From: DirkLee-me @.>
Sent: Monday, January 2, 2023 6:50 AM
To: MicrosoftDocs/dynamics-365-unified-operations-public @.>
Cc: Sunil Garg @.>; Mention @.>
Subject: [MicrosoftDocs/dynamics-365-unified-operations-public] This doc sucks (Issue #4360)
This page is like bullsh*t as it's talking on its own without displaying people how to do that.
It has no reference on how people should set up power app portal with virtual entities - nobody knows how to do that and it has no reference to no document that tells you how to do it.

So go and write how things are set otherwise never mention it at all!

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

ID: d08cc0c6-a456-7546-b722-bef169996e80
Version Independent ID: f1cbaad5-d9d7-455c-f4f3-fcbd03bfcc0d
Content: Power Apps portals with finance and operations - Finance & Operations | Dynamics 365https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fdynamics365%2Ffin-ops-core%2Fdev-itpro%2Fpower-platform%2Fpower-portal-reference&data=05|01|sunilg%40microsoft.com|2a6ee551c21142d85a3b08daecd0993b|72f988bf86f141af91ab2d7cd011db47|1|0|638082677919908325|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Jvjc4mDdcgr2qwoqU9Z5W%2FnlpSdE6yBRYxmEAbvJx4I%3D&reserved=0
Content Source: articles/fin-ops-core/dev-itpro/power-platform/power-portal-reference.mdhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FDynamics-365-Unified-Operations-Public%2Fblob%2Fmain%2Farticles%2Ffin-ops-core%2Fdev-itpro%2Fpower-platform%2Fpower-portal-reference.md&data=05|01|sunilg%40microsoft.com|2a6ee551c21142d85a3b08daecd0993b|72f988bf86f141af91ab2d7cd011db47|1|0|638082677919908325|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=u1SbUi0cWtDSRTFus9r3S448vrFZWR6ZXvzh5VOQvG8%3D&reserved=0
Service: dynamics-365-cross-app
Product: ****
Technology: ****
GitHub Login: @Sunil-Garghttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSunil-Garg&data=05|01|sunilg%40microsoft.com|2a6ee551c21142d85a3b08daecd0993b|72f988bf86f141af91ab2d7cd011db47|1|0|638082677919908325|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=H8qXGGsy7O%2FSXHL92DbKmE33YbOj6r%2B6qatWWBkL%2FRQ%3D&reserved=0
Microsoft Alias: sunilg

—
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fdynamics-365-unified-operations-public%2Fissues%2F4360&data=05|01|sunilg%40microsoft.com|2a6ee551c21142d85a3b08daecd0993b|72f988bf86f141af91ab2d7cd011db47|1|0|638082677919908325|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=DoO5t8Re1bFJrnwraEP3b2iUa4m1%2Fs5GlyLTJAivvkU%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAHNKDW3K7BJRDUYKWIMRTCLWQLTI3ANCNFSM6AAAAAATO4E4DQ&data=05|01|sunilg%40microsoft.com|2a6ee551c21142d85a3b08daecd0993b|72f988bf86f141af91ab2d7cd011db47|1|0|638082677919908325|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Du4zjphwLozAV5hHLNt1lZYLRaRGEViJpheVzWDDmhI%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>


Add functionality to update data

Since automatic downloading no longer works...

Hello @JJ,
I wrote the script that downloads alternative pages from kmu.gov.ua (Cabinet of Ministers of Ukraine website) on which the english data is updated every day. It can be adapted to this project.
Downloading is possible up to five times per day. Or if change the useragent than can be more.

Got this by clicking:

Scraping is an arcane art...


Messages not being received

Sometimes while chatting with somebody, they will send a message that I get on my phone, but not in YakYak. Restarting YakYak will show the messages in the history.
I am using the latest 1.4.2 client on Windows 10.

not all connected clients are updated at the same time. It's possible that if you waited a bit longer the message was going to arrive.
If not then maybe there was a connection problem but either way it's difficult to track it down without more information or a reliable way to reproduce it.


Add Socket Support

Modification to configuration.js and example config/index.js Tested on my local strapi instance and will be deploying to my prod version.

FYI this still does not work for Redis instance where there is no TCP connection available.  it's building the socket and connecting fine, however, it still attempts to do the default.
strapi:strapi-plugin-redis Building optional connection +0ms
ioredis:redis status[localhost:6379]: wait -> connecting +0ms
strapi:strapi-plugin-redis Built optional connection - socket +1ms
strapi:strapi-plugin-redis Building default connection +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> connecting +0ms
strapi:strapi-plugin-redis Built default connection - stand-alone +1ms
ioredis:connection error: Error: connect ECONNREFUSED <IP_ADDRESS>:6379
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
errno: -4078,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 6379
} +0ms
[ioredis] Unhandled error event: Error: connect ECONNREFUSED <IP_ADDRESS>:6379
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16)
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> close +50ms
ioredis:connection reconnect in 50ms +5ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> reconnecting +1ms
ioredis:connection error: Error: connect ECONNREFUSED <IP_ADDRESS>:6379
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
errno: -4078,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 6379
} +1ms
[2023-03-22 09:48:46.728] debug: ⛔ Server wasn't able to start properly.
[2023-03-22 09:48:46.730] error: Could not initialize REST Cache provider "redis": connect ECONNREFUSED <IP_ADDRESS>:6379
Error: Could not initialize REST Cache provider "redis": connect ECONNREFUSED <IP_ADDRESS>:6379
at EventEmitter.onError (D:\GitHub\Somos-Art\somos-server\node_modules\strapi-provider-rest-cache-redis\lib\index.js:20:9)
at Object.onceWrapper (node:events:628:26)
at EventEmitter.emit (node:events:513:28)
at EventEmitter.emit (node:domain:489:12)
at EventEmitter.silentEmit (D:\GitHub\Somos-Art\somos-server\node_modules\ioredis\built\Redis.js:460:30)
at Socket. (D:\GitHub\Somos-Art\somos-server\node_modules\ioredis\built\redis\event_handler.js:189:14)
at Object.onceWrapper (node:events:628:26)
at Socket.emit (node:events:525:35)
at Socket.emit (node:domain:489:12)
at emitErrorNT (node:internal/streams/destroy:151:8)
I don't have a default listed in my strapi plugin.
redis: {
enabled: true,
config: {
settings: {
debug: true,
debugIORedis: true,
},
connections: {
optional:
{
socket: {
socketPath: env('SOCKET_PATH')
},
db: 0
}
},
},
},
"rest-cache": {
enabled: true,
config: {
provider: {
name: "redis",
options: {
max: 32767,
connection: "optional",
},
},
strategy: {
contentTypes: [
// list of Content-Types UID to cache
{ contentType: "api::artwork.artwork", hitpass: false },
{ contentType: "api::category.category", hitpass: false }
]
},
},
},
}
I believe the build connections need to be shortchanged when one is successful instead of just doing a final else and falling back on default. I will continue working on this pull requet.

As this is fairly out of date and I'm reworking this plugin for Strapi 5 I'll go ahead and close this but please feel free to reopen a new PR if I'm missing something for socket capabilities in the upcoming 2.0 verison


Imagemagick broken download link

When  I try to download ImageMagick from Scoop I see message
URL https://www.imagemagick.org/download/binaries/ImageMagick-7.0.10-20-portable-Q16-x64.zip is not valid
Imagemagick was updated with new version. You need update download link too.

It's updated to a valid link.
https://github.com/ScoopInstaller/Main/blob/master/bucket/imagemagick.json
as you can check here.
@lukesampson you can close this issue.

Closing as this issue is stale. Please reopen if this is still an issue.


Exif rotation broken (Android)

Hi,
Unfortunately exif image rotation doesn't work for me. The lib seems to be ignoring the jpeg exif rotation attribute.
Looking at FFImageLoading source I found out that there is no calls to ExifExtensions.ToRotatedBitmap in the FFImageLoading.Droid project. Is that on purpose?
I think PlatformImageLoaderTask.PlatformGenerateBitmapAsync should do additional work, when the exifRotation variable is not 0.
Thanks for your work :)

It was a regression. Fixed. Thanks for the info! :)

Thank you @daniel-luberda!


Miscellaneous fixes

Accumulating here fixes to be merged later.

I think I'll have to double check the functions README.md as well.


[Q] TSAnalyze and metrics

Hi! First - thanks for producing an awesome tool and documentation! I am looking for best practices around long-term collecting and storing the tsanalyze data produced by live IP input.
The first approach I took, was to use tsp -I ip -r <IP_ADDRESS>:2000 -P analyze -O drop, which gives the total information at the end of measurement (program exit).
This can be changed by adding intreval tsp -I ip -r <IP_ADDRESS>:2000 -P analyze -i 1 -O drop, which then gives the total information on each interval, and then zeroes counters, and starts counters again in next interval.
I would be interested to know is it possible to run the TSDuck infinitely and access tsanalyze counters programatically (so that they are not zeroed based on event (interval) ?
some example pseudocode:
tsp = tsduck.TSProcessor()
tsp.input = ['ip', '-r', '<IP_ADDRESS>:2000']
tsp.plugins = [['analyze', '--json-line='+json_marker]]
tsp.output = ['drop']

with http_metrics_server as server:
    server.listen()
    server.serve_metrics(tsp["data"]["ts"]["packets"])

If you want to receive a cumulative / incremental analysis (ie. not reset at each interval), then add options --cumulative and --interval in plugin analyze.
If you want to query the counters at any possible time, without waiting for the interval, I do not see any solution for now.

Thank You! The cumulative option is what I was looking for!
May I ask You about long term collection - I see counters are 64bit integers, do they wrap up? However, I don't think it can be an issue with MPEG where I observe ~5k pps<PHONE_NUMBER>00 yearly)

Using 64 bits without caring for overflow was planned from the very beginning. For instance, for a TS at 100 Mb/s, you can count bits (not packets, not bytes, bits) during 5849 years. And any event on a TS necessarily occurs less frequently than bits. So, I think you are safe...

Thank You for Your support!


EXPERIMENTAL improve dependencies during build

This is mostly for discussion purposes for now.  In theory, what it does is:

if you build twice, without making any changes, the second time, bulid almost instant
if you then touch one .cu file, and rebuild, that .cu file, and only that .cu file, will be rebuilt
no more messages about 'dependency not found, removing'

Quite experimental for now, not very tested.  I don't reckon we should merge to master for now, but maybe worth trying for a bit, see how it goes?
Relates to following issues:

Annoying non-existent dependency file warnings
Rerunning make causes whole cutorch to rebuild again

How this is intended to work:
Background:

dependencies are added to add_custom_command at https://github.com/hughperkins/cutorch/blob/a9dc0709c900295ba2731d18083d7800e815d880/cmake/FindCUDA_streamlined.cmake#L1294-L1296

it has a looott of dependencies, including .cu files (good), .h files (good), the cunn.dir directory (less good), the generated build script itself (less good)
first time through, it simply depends on .depend file
second time you run, it actually loads all the dependencies from that file, into CUDA_NVCC_DEPEND, and we can filter that a bit, if we want

dependency file generation is handled by the lines at https://github.com/hughperkins/cutorch/blob/a9dc0709c900295ba2731d18083d7800e815d880/cmake/FindCUDA_streamlined/run_nvcc.cmake#L181-L234

these lines run nvcc -M, to get dependencies list
they trigger the dependency removed messages

So, in this change:

filter out some of the dependencies from the add_custom_command command, eg the dependnecy on the build script, and on cunn.dir
as per the change that has traditionally been applied to the global /usr/share/cmake FindCUDA module, comment out the dependency removed warning

This PR was originally created at https://github.com/torch/cutorch/pull/251 , but apparently cannot reopen a PR after force push, so recreating.
Edit: Example build outputs:

example output during rebuild https://gist.github.com/hughperkins/76dcd2207892040ed711
example output after touching THCStorageCopy.cu: https://gist.github.com/hughperkins/ad2e74661507c6797944

(Hmmm, I think I shall rename from CUDA_streamlined to CUDA_local, seems more objective.

Updated:

split into 3 commits:

initial copy of FindCUDA, no renaming
rename FindCUDA to FindCUDA_local
improve dependnecies handling, remove warning messages

renamed from FindCUDA_streamlined to FindCUDA_local

Thoughts on this?  It's kind of frustrating changing one tiny thing, an dthe whole world rebuilds :P This PR fixes this.  Not sure how to test it though?  Seems that travis passes.  Anything else we should test?  Something I can add to travis to improve a bit?

Oh wait, there is no travis right? Hmmm

@hughperkins i'll be happy to review and merge it. However, can you generate a diff of the changes you made on top of the originals (you can put it on gist if you wish)? that'll help me with both code review and maintenance.

Yes, so, the change is in three commits, so it's easy to view:

add the original files, from nvidia https://github.com/hughperkins/cutorch/commit/0f2ecbf876b759c4469f57d82810efabcb3e29c1
rename FindCUDA to FindCUDA_local https://github.com/hughperkins/cutorch/commit/cd7498f06e731cc9a28adee4c9b999c8d14b1578   This is so no naming conflicts with the system-installed one
do the customizations to our local FindCUDA_local https://github.com/hughperkins/cutorch/commit/7a88102c39d5da41b3df70cea6ce4af20370c6f3

okay. everything looks simple and good, except that I dont think it's necessary to change the name to _local. You can keep it as FindCUDA

Ok. Will update, and repush.

I don't think fixing a warning is worth adding 2k lines of code that are shipped with cmake anyway. are we going to update these files everytime they are changed in cmake?

@szagoruyko it's not just fixing the warning. this does not rebuild all cutorch files everytime we run luarocks make rocks/* , it only rebuilds files that have changed. that is a huge boost to developer productivity for us working on cutorch/cunn

oh sorry, get it now. still my question remains, it may cause problems with different versions on cmake and CUDA. we should then make it a flag option for developers and keep the normal cmake method to be used by default.

I'm ok with making it optional.  As long as I dont have to wait 20 minutes every time I add a semicolon or something, I'm happy :-)  I think this would mean we would need to keep the names separate, and the switch would basically change line 7 of CMakeLists.txt, ie FIND_PACKAGE(CUDA_local 5.5 REQUIRED) vs FIND_PACKAGE(CUDA 5.5 REQUIRED)

it's true that it'll be a maintenance headache. we used to have our own files in the past, and had lots of OSX issues. Ok I give in, we revert back to CUDA_local and propagate a flag to activate this path (maybe via an environment variable like CUTORCH_CMAKE=1 )

maybe via an environment variable like CUTORCH_CMAKE=1

Ah, because it has to propogate through the luarocks, and the rockspec?  Ok, sounds good.

We need this fix  badly! _local is fine with me - we should submit the fix to cmake developers though.

we should submit the fix to cmake developers though

Good idea.  I can handle that.  Let's test it a bit first though :-)  I shall change it to be an option.

(ignore those commits just now; just a rebase)

Ok. This last commit changes the use of local FindCUDA to an option.  Use like this:
CUTORCH_INCREMENTAL_BUILDS=ON luarocks make rocks/cutorch-scm-1.rockspec

Tests carried out:

erase build directory
start building using luarocks make rocks/cutorch-scm-1.rockspec

check starts building ok
check uses the old build process, ie with the dependency warnings etc
abort after 30-60 seconds of building

start building using CUTORCH_INCREMENTAL_BUILDS=ON luarocks make rocks/cutorch-scm-1.rockspec

check warning messages disappeared
use find build -name '*.o'occasionally to check *.o files start appearing
after several .o files built, interrupt the build

start build again, using incremental options, ie CUTORCH_INCREMENTAL_BUILDS=ON luarocks make rocks/cutorch-scm-1.rockspec

check that the first files built are not the ones in the .o files already built
check that each time a file finishes building, a new .o file appears (ie doesnt overwrite an existing one)
interrupt the build

touch lib/THC/THCStorage.cu
start incremental build

check that THCStorage.cu is one of the first files to be build (note: I'm building on 4-core, so there are 4 'first files' on each build)
wait for THCStorage.cu to finish building, THCStorage.o to appear
interrupt the build

touch lib/THC/THCStorage.h

start incremental build
check that THCStorage.cu is one of the first files to be build
interestingly a bunch of .o files disappear, leading me to think these are for .cu files that depend on THCStorage.h, which seems like a good sign

Nuance:

when I first created this pull request, I tested on ubuntu 14.04, using gcc-4.8, g++-4.8, cmake-<IP_ADDRESS>
this time, my machine is ubuntu 15.10, gcc-4.9, g++-4.9 (via CC and CXX vars), and cmake .... 3.2.2
ironically, or at any rate, interestingly, considering the previous discussion on versioning, it turned out that with my cmake version, a bunch of warnings appeared for policy CMP0054

which I fixed by merging line 129 of the cmake-3.2.2 run_nvcc.cmake across to our local copy
when I did this, I noticed there are actually a bunch of changes, eg cusolver is now added, for CUDA 7.0 and above, in cmake 3.2.2.  This concerns me somewhat, but since it's quite easy to merge things across, and since we are mostly all using ubuntu lts, I think it might kind of work ok, ish.  Since this build option is optional now, I guess we can see how it goes?

(I suppose another possible approach would be to patch it at directly in cmake instead; that does make a certain amount of sense, and I confess I havent tried that, so I'm not sure how difficult that might be to do)

Hmmm, looks like a bunch of work... they're not on github... involves signing up for mailing lists and stuff.  There is a maintainer for FindCUDA, 'James Bigler, nvidia.com - jbigler or jamesbigler - gmail dot com' https://cmake.org/Wiki/CMake:Module_Maintainers . Maybe I will email him, see what his thoughts are on the topic.

@hughperkins , @borisfom is from NVIDIA, he could probably ping James Bigler even in person :)

I have sent e-mail to James - he is in SLC, so no poking him in person :)
@hughperkins: did not have your e-mail, so copied only Soumith. I'll suggest to James to comment here.

I have merged this PR into my fork of cutorch and tested it.
My notes:

Dependencies work as expected: tried touching .cu and .cuh. Hallelujah!
Propagating env variable through luarocks is a real pain - I ended up changing option to be 'ON'.
There are other CUDA-enabled modules, notably cunn. I have made changes in my fork of cunn similar to cutorch - but fetching cmake files from cutorch (and relying on opton to be ON)
Given amount of plumbing and some uncertainty if changing cmake module name may have side effects, I would actually vote to rename FindCuda_local back to FindCuda. If we are inclined to have it as an option, we can move it to subdirectory and manipulate CMAKE_MODULE_PATH.
For easier sharing and eliminating duplication, should we put the subdirectory I just proposed, up into extra/ and have FindCUDA being called from extra/ just once ?

For easier sharing and eliminating duplication, should we put the subdirectory I just proposed, up into extra/ and have FindCUDA being called from extra/ just once ?

I was actually thinking this.  Especially if James updates FindCUDA to work for this, possibly the easiest way to integrate that into our work could be to bring it down as an 'extra' or 'pkg' repo.

No, why new repo? I would just host it inside extra/ directory in distro. This way (and with moving back to shadowing FindCuda name) no individual repo has to be altered to take advantage of the fix, only distro itself - speaking about maintenance.

No, why new repo?

Well, I was thinking, if we just point to a hypothetical git repository hosted by James, we will automatically pull down the latest version of that repo, with latest fixes and so on.  We could also then easily file pull requests and issues against that repo.

I see. Well, it's not that we should anticipate prolonged collaboration on this, really, so I suggest we would just move your fix up to extra/ and keep it shadowing FindCUDA until it's fixed at the source.

I see. Well, it's not that we should anticipate prolonged collaboration on this, really, so I suggest we would just move your fix up to extra/ and keep it shadowing FindCUDA until it's fixed at the source.

Yes, alright, sounds reasonable.  Probably should have a separate repo though, rather than distro, to keep distro clean.  I guess this would depend on @soumith's preference(s)?

I think the whole point was to pollute distro with the it :). I don't  think there is much point to have it as separate module - we still need the block adding (conditionally or not) the path to the shadow to CMAKE_MODULE_PATH to be in extra/CMakeLists.txt - might as well have the directory in the same repo (distro) as well.

Ok, so....

I'm sort of liaising with James, but he sort of expects me to use optix as the reference version of FindCUDA.  It's a 300-1000MB download, behind a registration page :-P  Seems not really ideal for a 2KB line file
I'm still liaising to figure out what he feels is the recommended way for us to obtain the latest version, install it with cutorch etc.
As far as the fix, I think he has a slightly more general fix plausibly, which I might look into in detail sometime, but for now, since the current fix seems to work, and I've tested it, leaving as is for now
more or less in the spirit of installing into pkg/FindCUDA or similar, I've done for now:

created a repo FindCUDA, https://github.com/hughperkins/FindCUDA

this is an installable rockscpec directory
it is sufficient to luarocks install rocks/findcuda-scm-1.rockspec to immediately activate incremental builds for both cutorch and cunn :-)

I've also hooked it into distro, as a submodule, at https://github.com/hughperkins/distro/tree/add-findcuda , havent created a pullrequest for this yet, we can discuss it in this thread first I think

Well, I think I will close this pull request for now, and leave the FindCUDA distro around for a bit.  It's easy to install. I'll probably throw a link into the original issues for this issue.

sorry to be a bit late to the party, but can we please put FindCUDA forks in cutorch/cunn and not in distro?
cutorch / cunn shouldn't reference anything outside of their directories, especially in distro. Distro is not meant to be a development env in the first place.
Let's just put the modified files into cutorch/cmake and cunn/cmake.

i'll add  https://github.com/hughperkins/FindCUDA as a subtree to this repo (cutorch) and to cunn. So no action is necessary from either of you.

Well... it is actually installable, just like any other torch luarocks module now.  It installs itself into eg ~/torch/install/share/cmake/torch , next to other installed cmake files.  This way, it then works for every cuda torch module, with no modification requried to any of them.  And it's fairly clean.  And it's optional, and doesnt affect people that just want to install torch, not do any development on the actual cutorch and cunn implementation.

that's a pretty good idea. thanks.

Ok :-)

Update from James Bigler on upstream FindCUDA:
"I probably confused the issue.  All the code you need is in CMake's master and next branches.  In fact, today I just checked in some code that only prints out the missing dependency files when in verbose mode (make VERBOSE=1).  [...]
"After it gets commited into 'master' I'll ask the CMake devs if it will make it into 3.5 RC2."
"My changes won't make it into 3.5, but it will for 3.5.1"

Update on my own plans: I think I will keep my FindCUDA repo, until such time as James's fixes make into Ubuntu LTS, or that I realize it's easy to install upstream cmake, and automatically get his fixes.  I will probably occasionally mirror James fixes into my repo, as and when some key fix or functionality becomes available.

Sounds like a plan. Thanks for the update!

Also, relying on regular CMake would mean requiring CMAKE version >= 3.5.1 - this may have many side effects and needs to be tested.

Also, relying on regular CMake would mean requiring CMAKE version >= 3.5.1 - this may have many side effects and needs to be tested.

Mmmm, right.

Also, my take on the repo topology: I believe it is less intrusive to keep it in the distro repo, under extra/ : them changes are minimal and local to distro repo only: added submodule and a single line change in the install script that installs the FindCuda rock after torch7 but before cutorch.
I think this is exactly what distro repo is for: to provide convenient environment to build all packages.

Well... I see a couple of arguments against adding it to distro:

I see distro as primarily targeted at end-users of torch, rather than people who will hack on the underlying cutorch implementation?  Anyone who has time to figure out how to hack probably has time to figure out how to install an extra package to speed up compilation?
It's not entirely certain that the modified FindCUDA will work on every platform.  So making all the end-users install it, who will never modify cutorch ever, seems to be increasing support load, without carrying a clear benefit?


Command-line option to pause at the end

Checklist

[X] I'm reporting a feature request
[X] I've verified that I'm running youtube-dl version 2021.02.10
[X] I've searched the bugtracker for similar feature requests including closed ones

Description

When youtube-dl is executed directly by other applications it automatically close at the end.
There is --exec pause to pause at the end but I have verified that it doesn't work in case of errors (for example this: ERROR: requested format not available.)
So it would like to have an option that run pause at the end in all cases, please.

just run youtube-dl OPTS URLS & pause

It works on command-line but when running it from CreateProcess it is different.


Changelog bot to figure out when changelog is not needed

There a few easy cases when the bot could figure out by itself that a changelog is not needed. E.g documentation only changes, changes to the CI setup, etc.
Con: our release scripts are also rely on having the "no-changelog-entry-needed" labels, so it would only work with the bot if it were to add the label (in that case, the automated decision could be super easily overridden by removing the label).

There is no reason why the bot couldn't set the label. I am not sure off the top of my head how we could make the bot remember that it set the label before and not just set it again next time it runs. Currently each run of the bot is stateless, getting just what it needs from the GitHub API. I don't know off the top of my head if you can query GH for the labels that used to be on a PR.

ahh, good points.
maybe then we could just tell it to remove in a comment? that will stay on the PR so the bot will notice next time again?

That should work. Would need a function to scan all the comments for commands but that sounds like a very handy thing to have anyway.

I looked at this while on the plane and decided it is best to roll out something specific to the core repo first: astropy/astropy-bot#100
To make this generic might be challenging, as all the repositories that use this might have their own definitions of what constitute of a code change that needs changelog or otherwise.
Re: There is no reason why the bot couldn't set the label -- I thought of one reason not to do this. The PR might evolve into a state that needs a changelog after all. When that happens and the bot skips because it set the label before, then this becomes a bug and not a feature.

Re: There is no reason why the bot couldn't set the label -- I thought of one reason not to do this. The PR might evolve into a state that needs a changelog after all. When that happens and the bot skips because it set the label before, then this becomes a bug and not a feature.

but that's when the comment comes into play, isn't it?

@bsipocz , do you mean that once the bot set that label to skip check, only a manual intervention and re-enable it again even if it is obvious from file listing that it should start checking again?


Suggestions for adding packages to geospatial

If you would like to suggest new packages to be added to the geospatial stack, please leave comments down here. Here are the steps:
First, check https://geospatial.gishub.org/#installed-packages and see if the suggested packages are listed on the list. If they are already listed, then you can skip the following steps.
Second, search the suggested packages on https://conda-forge.org/feedstock-outputs and make sure they can be found there. If not, that means the suggested packages are not available on conda-forge. If this is the case, then they cannot be added to the geospatial stack. Then you can skip the following step.
Third, leave the names of suggested packages here if they meet the above requirements.

pysal would be a good addition. However, one of the pysal dependencies fails pip check. Therefore, pysal can't be added to the geospatial stack until the issue is resolved by the pointpats maintainers. See https://github.com/pysal/pointpats/issues/80

Hi Prof. Wu,
This is a very nice idea!
Here are some suggestions:
Earth Engine:

wxee
eemont

STAC:

stackstac
planetary_computer
radiant_mlhub
easystac (It would install the above mentioned in STAC)

Visualizations:

proplot
eomaps
xmovie

EO processing:

spyndex
s2cloudless
rasterstats

ML:

torchgeo
verde

Hi, thanks for setting this up!
I would suggest including https://anaconda.org/conda-forge/geoalchemy2, as you have included SQLAlchemy anyway. I use the PyPI version in a couple of production apps.

@davemlz Good suggestions. I can probably add all of them except touchgeo and verde. Adding these two needs to download 199 packages with 643 MB, which can be time-consuming for users. I want the package to be as inclusive as possible, but in the meantime, I also want to make sure that it is relatively fast and easy to install.

@davemlz The geospatial-ml package is now available on PyPI. It should be available on conda-forge in a few days. For now, it only contains four packages. Suggestions for adding more geospaital packages for machine learning are welcome.
https://github.com/giswqs/geospatial-ml
PS: Initially, I used geoml as the package name, but PyPI does not allow that due to another existing package with a similar name.
    - geospatial
    - scikit-learn
    - torchgeo
    - verde

That's great! I will open an Issue with some suggestions there.
Thanks, Prof. Wu!

I'd like to suggest pystac-client and odc-stac

@joemcglinchy  pystac-client is ready on the list. See https://geospatial.gishub.org/#installed-packages
I will add odc-stac shortly.

oh my bad, i was looking at the recipe not the installed packages. thanks!

@joemcglinchy No problem. The recipe only lists the top-level dependencies. I did not list secondary dependencies to avoid the recipe getting too long.

@joemcglinchy odc-stac is now available through the geospatial package on PyPI. It should be available on conda-forge in a few hours. https://github.com/conda-forge/geospatial-feedstock/pull/9/files

The h3 package for working with Uber's hexagonal grid would be nice to have in there. Also, the cenpy package for census data and geographies.

@geowest11 Thank you for the suggestions. cenpy and h3 have been added. Should be available on conda-forge in a few hours.

Geocube for a nice rasterising api

@RichardScottOZ geocube has been added. Should be available on conda-forge soon.
https://github.com/conda-forge/geospatial-feedstock/pull/13

Hey Qiusheng! What do you think about supporting sliderule? It's for icesat-2 data retrieval. I'm not sure it's possible, but if its easy enough, would be great!
Also, cheers. I said this on twitter but it's worth repeating—this is a much needed contribution to the community, thanks again!

First off, thank you for your giant impact and contribution to Geospatial!
I would like to see "contextily" in your package

@jameshgrn @Pancheliuga Both contextily and sliderule have been added. Should be available shortly.
https://github.com/conda-forge/geospatial-feedstock/pull/14/files

Qiusheng, what do you think of adding pygmt? It is based on Generic Mapping Tools, a widely used tool in Geophysics
Great work of yours, BTW

@monocilindro Thanks for the suggestion. I am a bit hesitant to add pygmt. It has several large dependencies, which will add 172 MB to geospatial. I am trying to keep geospatial relatively small and easy to install.

Would it be possible to add routingpy?
https://github.com/gis-ops/routing-py
https://routingpy.readthedocs.io/en/latest/#

@ArterialMapping It appears that routingpy requires ipykernel >=5.3.4,<6, which was released over a year ago. Many packages in the geospatial stack require a much newer version of ipykernel. routingpy needs to bring ipykernel up to date before it can be added to geospatial.
https://github.com/conda-forge/routingpy-feedstock/blob/c32ee1d1500c3f6bbda723b342886b9b45488513/recipe/meta.yaml#L30

[

For routingpy we don’t support conda anymore unless community steps up for maintenance. It’s a pointless hassle for us, as a python-only lib.
I like this consolidation though. Is conda support a requirement to add to geospatial?

@nilsnolde Yes, supporting conda is a requirement to add to geospatial. Many geospatial packages are challenging to install via pip. The advantage of using conda is that it can resolve dependency conflicts, while pip cannot.
You can set up automerge for your package on conda-forge. It will automatically update conda-forge whenever you release a new version to PyPI. This requires minimal efforts to maintain the package on conda-forge.
https://conda-forge.org/docs/maintainer/infrastructure.html#conda-forge-admin-please-add-bot-automerge

thanks, think I was a bit too sleepy still this morning.. of course this is all about conda :sweat_smile: I figured there'd be some some automagic by now, my conda experience is 4-5 years ago. given the pervasiveness of conda I'll set up the workflow again and inform back again (actually we only have requests as actual dependency, the conda recipe is crazy outdated). thanks @giswqs and @ArterialMapping , was being pretty lazy on that one.

Just added pysal. Closing this issue for now. Feel free to open a new issue if you would like to suggest new packages to be added to geospatial.

Good day sir,
I'd like to suggest PCraster be added to the list.

PCRaster is not a Python package.

hyriver
https://hyriver.readthedocs.io/en/latest/

Please explore the possibility of adding "earthaccess" package; more info available at https://pypi.org/project/earthaccess/

PDAL (Python bindings) for processing PointClouds (Lidar data). Although admittedly its really a wrapper and also depends on GDAL.

@edwardpmorris pdal has been added. https://github.com/conda-forge/geospatial-feedstock/pull/37

Hi @giswqs I would like to suggest adding RadGEEToolbox to geospatial for Google Earth Engine processing workflows: conda-forge/radgeetoolbox-feedstock
Thanks!

xesmf for regridding. Or do any of the included packages offer a better solution?


extension market

Issue Type: Bug
Extension market is not working. When I searching any extension it shows we cannot connect to the Extensions Marketplace at this time, please try again later.
VS Code version: Code 1.52.1 (ea3859d4ba2f3e577a159bc91e3074c5d85c0523, 2020-12-16T16:34:46.910Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz (4 x 2400)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.90GB (1.20GB free)

Process Argv
C:\Users\HP\Desktop\code\homepage.html --crash-reporter-id 82c1d631-356a-4d40-9810-3978ee1398c2

Screen Reader
no

VM
0%

Extensions: none

when I am want to go to extensions marketplace I'am get a message is " we can not connect marketplace at this time, please try again later. "
so my connection, not a problem but I can not install extensions.
can you help me? what can I do?

Please follow these steps

Help -> Toggle Developer Tools -> Network
Then check for any network failed requests while browsing and installing the extensions if found all requests fails then its probably a proxy or DNS issue at your end.
To confirm its a DNS issue check if you can access this page https://ms-python.gallerycdn.vsassets.io/extensions/ms-python/python/2019.8.29288/1565127378610/Microsoft.VisualStudio.Services.Icons.Default, if you cannot please try configuring your DNS like pointing to <IP_ADDRESS> as suggested here? https://<IP_ADDRESS>/dns/. Otherwise please contact your network administrator.
If it is not a network issue, please share the logs from the following locations

Help -> Toggle Developer Tools -> Console
View -> Command Pallette... -> Toggle Shared Process -> Console
View -> Open View… -> Log (Shared)
View -> Open View… -> Log (Window)

Please follow these steps

Help -> Toggle Developer Tools -> Network
Then check for any network failed requests while browsing and installing the extensions if found all requests fails then its probably a proxy or DNS issue at your end.
To confirm its a DNS issue check if you can access this page https://ms-python.gallerycdn.vsassets.io/extensions/ms-python/python/2019.8.29288/1565127378610/Microsoft.VisualStudio.Services.Icons.Default, if you cannot please try configuring your DNS like pointing to <IP_ADDRESS> as suggested here? https://<IP_ADDRESS>/dns/. Otherwise please contact your network administrator.
If it is not a network issue, please share the logs from the following locations

Help -> Toggle Developer Tools -> Console
View -> Command Pallette... -> Toggle Shared Process -> Console
View -> Open View… -> Log (Shared)
View -> Open View… -> Log (Window)


No message reply after sending the /start command

Describe the bug
No message reply after sending the /start command.
Other functions seem to work properly.
To Reproduce
Steps to reproduce the behavior:

Send /start to the bot
Wait and receive nothing

Expected behavior
The bot will reply Hi! before.
Environment (please complete the following information):

deploy to heroku with default config

Additional context
The following is the log of the bot:
2021-05-26T13:45:55.542282+00:00 heroku[router]: at=info method=POST path="/1301281176:AAE13v1BWU9QfqQzQItUHHG0jCDsflUWLS0" host=misakapicbot.herokuapp.com request_id=fa275fb5-ddaa-431d-a795-c8a1993a0d74 fwd="<IP_ADDRESS>" dyno=web.1 connect=1ms service=46ms status=200 bytes=177 protocol=https
2021-05-26T13:45:56.113117+00:00 app[web.1]: 2021-05-26 13:45:56,111 - nazurin - ERROR - Update {"update_id": 803739853, "message": {"message_id": 5928, "from": {"id": 673435039, "is_bot": false, "first_name": "欠陥電気", "last_name": "𝑹𝒂𝒅𝒊𝒐𝑵𝒐𝒊𝒔𝒆", "username": "Misaka_0x34ca", "language_code": "ja"}, "chat": {"id": 673435039, "first_name": "欠陥電気", "last_name": "𝑹𝒂𝒅𝒊𝒐𝑵𝒐𝒊𝒔𝒆", "username": "Misaka_0x34ca", "type": "private"}, "date":<PHONE_NUMBER>, "text": "/start", "entities": [{"type": "bot_command", "offset": 0, "length": 6}]}} caused <class 'aiogram.utils.exceptions.CantParseEntities'>: Can't parse entities: unsupported start tag "id" at byte offset 121
2021-05-26T13:45:56.116012+00:00 app[web.1]: Traceback (most recent call last):
2021-05-26T13:45:56.117958+00:00 app[web.1]: File "/app/nazurin/__main__.py", line 53, in on_error
2021-05-26T13:45:56.117960+00:00 app[web.1]: raise exception
2021-05-26T13:45:56.117991+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/aiogram/dispatcher/dispatcher.py", line 1340, in process_response
2021-05-26T13:45:56.117991+00:00 app[web.1]: response = task.result()
2021-05-26T13:45:56.120735+00:00 app[web.1]: File "/app/nazurin/utils/decorators.py", line 28, in wrapped_func
2021-05-26T13:45:56.120736+00:00 app[web.1]: result = await asyncio.create_task(func(message, *args, **kwargs))
2021-05-26T13:45:56.138391+00:00 app[web.1]: File "/app/nazurin/__main__.py", line 17, in show_help
2021-05-26T13:45:56.138393+00:00 app[web.1]: await message.reply('''
2021-05-26T13:45:56.145935+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/aiogram/types/message.py", line 1500, in reply
2021-05-26T13:45:56.145938+00:00 app[web.1]: return await self.bot.send_message(
2021-05-26T13:45:56.145999+00:00 app[web.1]: File "/app/nazurin/utils/decorators.py", line 51, in decorator
2021-05-26T13:45:56.146000+00:00 app[web.1]: result = await func(*args, **kwargs)
2021-05-26T13:45:56.146456+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/aiogram/bot/bot.py", line 314, in send_message
2021-05-26T13:45:56.146457+00:00 app[web.1]: result = await self.request(api.Methods.SEND_MESSAGE, payload)
2021-05-26T13:45:56.146506+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/aiogram/bot/base.py", line 208, in request
2021-05-26T13:45:56.146507+00:00 app[web.1]: return await api.make_request(self.session, self.server, self.__token, method, data, files,
2021-05-26T13:45:56.146540+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/aiogram/bot/api.py", line 140, in make_request
2021-05-26T13:45:56.146541+00:00 app[web.1]: return check_result(method, response.content_type, response.status, await response.text())
2021-05-26T13:45:56.146570+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/aiogram/bot/api.py", line 115, in check_result
2021-05-26T13:45:56.146571+00:00 app[web.1]: exceptions.BadRequest.detect(description)
2021-05-26T13:45:56.146599+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.8/site-packages/aiogram/utils/exceptions.py", line 140, in detect
2021-05-26T13:45:56.146600+00:00 app[web.1]: raise err(cls.text or description)
2021-05-26T13:45:56.146705+00:00 app[web.1]: aiogram.utils.exceptions.CantParseEntities: Can't parse entities: unsupported start tag "id" at byte offset 121

I am going to reset token because it leaks in logs. 🤣

Fixed, thanks for reporting!
Please take good care of your token 🤣


suggestion: add delta_time to keep_waiting

Hi, I started playing with godot rust and found your coroutine lib extremely useful!
I wanted to animate a node from a coroutine, that is, wait one frame each then change it's position.
For that I needed access to the elapsed delta.
I've patched that in, in a fork: https://github.com/Houtamelo/gdext_coroutines/commit/0471d56349ee9aa12f1449a10ab87de4e4b4b68b
I'm then using it like this:
struct WaitForFramesWithDelta {
    frames_to_wait: u32,
    delta: Arc<Cell<f64>>,
    first: bool
}

impl KeepWaiting for WaitForFramesWithDelta {
    fn keep_waiting(&mut self, delta_time: f64) -> bool {
        let do_keep_waiting = self.frames_to_wait != 0;
        self.frames_to_wait = self.frames_to_wait.saturating_sub(1);

        if !self.first {
            self.delta.update(|d| d + delta_time);
        } else {
            self.first = false;
        }
        return do_keep_waiting;
    }
}

fn wait_for_frames_with_delta(frames_to_wait: u32, delta: &Arc<Cell<f64>>) -> Yield {
    return Yield::Dyn(Box::new(WaitForFramesWithDelta { frames_to_wait: frames_to_wait, delta: delta.clone(), first: true }));
}

fn foo() {
    // ...
    let delta_arc = Arc::new(Cell::new(0.0));
    yield wait_for_frames_with_delta(1, &delta_arc);
     let delta: f64 = delta_arc.get();
  // ...
}

as I understand it, keep_waiting is called immediatly on a yield point, so when accumulating the elapsed delta, I have to ignore the first call.

What do you think? Technically it would be a breaking change, since the trait signature changes.

I would like to merge your change, I made a comment in your PR: https://github.com/Houtamelo/gdext_coroutines/pull/4

Closed by https://github.com/Houtamelo/gdext_coroutines/commit/41fafbd58fb6694f42b67b1c2794461fed52aee3
@0x53A Btw, have you checked https://github.com/Houtamelo/spire_tween ? I made it specifically for procedural animations which might fit your use case.

Btw, have you checked https://github.com/Houtamelo/spire_tween ?

not yet, I'll take a look!


Add AI4Code Kaggle jupyter notebook code

@PhungVanDuy could you enable maintainer edits? https://github.blog/2016-09-07-improving-collaboration-with-forks/

@ncoop57  I just added you to my repo, you should have all permission :) Thanks!

@ncoop57  can you review this one also ?

LGTM


Question: Framework development in Golang

I am new to developing framework and I have a custom use-case in mind.
I am confused as to why we cannot develop frameworks for mesos in golang  by default.
My understanding of the process is that all the communication happens over various protobuf messages and hence, any language that supports protobuf should be good enough.
Am I missing something?
Thanks.

Sure, any lang that supports protobuf is just fine. If you're writing a
framework in Go there's no requirement that you use mesos-go. Before the
HTTP v1 API there were many undocumented requirements regarding the
protocol for interacting with mesos masters and agents (even though it was
protobuf, it wasn't really valid HTTP). The new v1 API is much easier to
consume and is actually HTTP compatible. You're free to write your own
integration code to interact with the v1 API. At this point in time the
work in the mesos-go/next branch is a thin convenience layer for
interacting with the API. It's much more lightweight than mesos-go/master.
It's also designed so that you can pick and choose which parts to use. If
you only want to use the generated protobuf code that's pretty easy to do.
If you want that + the events API you can do that too (without also
importing the additional business logic of the HTTP layer or the reference
scheduler controller).
The mesos-go/next branch is currently under development. If you've tried it
and have some feedback to share we'd love to hear it.
On Sat, Jul 9, 2016 at 5:30 AM, Krish<EMAIL_ADDRESS>wrote:

Hi,
I am new to developing framework and I have a custom use-case in mind.
I am confused as to why we cannot develop frameworks for mesos in golang
by default.
My understanding of the process is that all the communication happens over
various protobuf messages and hence, any language that supports protobuf
should be good enough.
Am I missing something?
Thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mesos/mesos-go/issues/254, or mute the thread
https://github.com/notifications/unsubscribe/ACPVLFjU030FQ21sHlZfTjTLCUCL1qJVks5qT2o6gaJpZM4JIlZE
.

Can we use golang framework with the 0.25 version of mesos?
Coz that's what we currently use.

it should work since mesos-go/master was last sync'd to mesos-0.26 protos. generally things work OK as long as the proto versions match, or are 1 release off.

@jdef Is the next branch currently usable?

@jdef Bump on the usability of the next branch. It's getting to the point where the feature gap is relatively large. What issues need to be resolved to feel more comfortable using it?

#274


Add Compound Interest Calculator Python Function

Why:
Closes #227
What's being changed:
Added a python program that prints compound interest based on information input from user.
Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Hey @theanorak
Thanks for your continuous contributions 😃
This PR will be reviewed and merged shortly

Thanks @harshraj8843 😄

Preview : https://codinasion--pr18-dev-5o7hj3iz.web.app/programme/compound-interest-calculator/

LIVE : https://codinasion.web.app/programme/compound-interest-calculator/


[BUG] get_agent is working in agents.py when you pass default creds to it

The get_agent is function in agents.py ( possibly others function might not be working) when passing default credential in current scrapi code.
Expected Behavior
get_agent should return the agent for dfcx.
Current Behavior
giving error:-   AttributeError: 'Credentials' object has no attribute 'universe_domain'
Possible Solution
Error is occuring due to latest changes in upstream library https://github.com/googleapis/google-cloud-python/pull/12239. We need to update credentials based on the change.
Steps to Reproduce
Create a new colab note book with code
!pip install dfcx-scrapi --quiet
!pip install --upgrade gspread --quiet

import sys

if "google.colab" in sys.modules:
    from google.auth import default
    from google.colab import auth

    auth.authenticate_user()
    creds, _ = default()
else:
    # Otherwise, attempt to discover local credentials as described on https://cloud.google.com/docs/authentication/application-default-credentials
    pass

from dfcx_scrapi.core import agents
a = agents.Agents(creds= creds, agent_id =<agent_id>)

a.get_agent(agent_id)

After some extensive research, I've verified the root cause on this and it's not with the scrapi library. 😄
TLDR - You need to force update google-auth>=2.27.0 for your environment
Details
For Google Colab environments, the default google-auth version is 2.17.3 which is incompatible with the latest changes that were pushed ~5 days ago in this PR for all Google SDKs.
SCRAPI uses various Google SDKs under the hood.
This causes the universe_domain variable to fail in the workflow.
If you pip install --upgrade google-auth, then restart and try again, everything works fine.
I've verified this in the following environments:

Google Colab
Vertex Workbench notebooks
Local VS Code Jupyter notebooks

Also with the various auth credential types:

Local ADC
SAK file
SAK Dict / JSON

SCRAPI Changes
The one change I will make to SCRAPI is to set the google-auth version in the requirements.txt file.


SW-6693: Replace pagination with common component

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Files
Coverage Δ

internal/server/caseload.go
76.10% <ø> (ø)

internal/server/client_tasks.go
77.24% <ø> (ø)

internal/server/deputy_tasks.go
80.99% <ø> (ø)

internal/server/page_vars.go
100.00% <ø> (ø)

main.go
0.00% <0.00%> (ø)

:loudspeaker: Thoughts on this report? Let us know!.


Serbian latin translation

Description
Translation file added.
Motivation and context
To have Serbian language available
Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[x] New feature (non-breaking change which adds functionality)

@MladenJanjetovic thanks so much!


Cloud and Enterprise Docs

Cloud and Enterprise Docs
Covers the different features provided in the Cloud and Enterprise products.
Closes https://github.com/treeverse/cloud-controlplane/issues/1249

Regarding navigation, I suggest you combine the lakeFS Cloud and lakeFS Enterprise into one page, sitting under reference. Then move all the cloud/enterprise-only reference pages to sit as child pages of that. i.e.
Reference
..Server config
..API reference
..etc
..lakeFS CLoud and Enterprise
....RBAC
....SSO
....Managed GC

If you have alternative ideas then let's discuss :)

I separated them into two different sections (with sub pages) as they contain different documentation.
Reference
..Server config
..API reference
..etc
..lakeFS Cloud
....RBAC
....SSO
....Managed GC
..lakeFS Enterprise
....SSO
``
LMK when you think

Re this: it's a self-service, it has some information throughout the wizard itself, I think having a documentation for a self-service might beat the purpose of the self service.

Re this, changed the instructions to be more clearer (I hope), please let me know if that's better now.


[Feature] nx conventions on shared dependencies, unit tests with code, dist

Is your feature request related to a problem? Please describe.
I am looking at reconciling our own dotnet plugin for nx with @nx-dotnet/core. We currently use Directory.Build.props and Directory.Build.target to customize the dotnet project to align to some default nx conventions, e.g. build output to /dist at the repo root, tests/specs next to code (under the same project). As another example, package references could go into Directory.Build.props at the root and be applied to all projects under, which might remove the need for the sync generator.
I'm interested in whether this sort of opinionated setup belongs in this library and how to incorporate it if yes.
Describe the solution you'd like
Clarity on whether we should try to contribute the opinionated workspace configuration and how best to structure it. e.g. parameter on init generator, etc.
Describe alternatives you've considered
We can use @nx-dotnet/core supplemented with our own plugin for the more opinionated templates.

Hey @tzuge! I know we briefly chatted about this in the past, and I had been meaning to follow up on it, but it had been incredibly building. I'd love to help this merger happen. New contributors are always welcome, and new users mean more testing and better results overall.
Original Discussion
Regarding the three concerns directly mentioned here, I'll detail the current background and paths I'd be willing/happy to embrace.
Shared Dependencies
We currently handle this via the sync generator and automatically when adding dependencies via the nuget-reference generator. As @bcallaghan-et mentioned, if we were to drop this down into the Directory.build.props file, then it affects the actual build outputs, which isn't something I want.
Same-directory / Inline tests
This is still something that I think is cool and wouldn't be a bad idea so long as the built artifacts were not affected too much. Even if they are, putting it behind a flag would be welcome. See my comments from our original discussion linked above.

I didn't really think that was feasible at the time. This part is not handled from nx-dotnet, but we could add it as a flag to the app/lib generator maybe? Something like --use-inline-tests

Dist folder output
We currently handle a few things in nx-dotnet via XML manipulation on the individual project files. This isn't the prettiest, but working with these files is something we have to do for project references as well. I'd personally be welcome to ripping out the .csproj manipulation entirely and even for reading it just using some of the dotnet commands (e.g. dotnet list). I don't think we could easily get rid of all of it, but it's undoubtedly one of the messier areas in the codebase and could use a second pass.
One of the two things that use XML manipulation currently is the output path mapping. This isn't great. A consequence of this is that when writing the move generator, we will have to recalculate this path and update it again (see discussion on #406).
The other is adding a prebuild target to the apps that runs a node task using an <exec> task. The whole node task looks something like this:
The output manipulation fits Directory.build.props, and the prebuild target would fit in Directory.build.targets. Honestly, I just wasn't aware of these at the time.
I'd welcome a change that removes the current manipulation stuff and replaces it with creating these two files in the init generator.
There are a few caveats I'd like to mention, though.

I'd like the new method's current output path to be the result. Looking at your all's current implementation, things are slightly different. The output path should look like $(RepoRoot)/dist/$(ProjectRoot).

Hey, happy to move forward w/ Directory.Build.props / Directory.Build.targets. I'll open two issues for that now and link them here.
Shared Dependencies
Most of the official Nx executors to build projects include an option called "generatePackageJson" or similar. This can be used along w/ some manual tweaking to generate a package.json that includes only the deps you need for your project, and then installing from that. The result is that you don't have all the node_modules when publishing.
The webpack/rollup-based executors that rely on tree shaking are more closely tied to what we would see in .NET, where building one project produces an output directory that includes the project's dependencies as well. This is an interesting case, where once again I just wasn't aware that .NET Core supported "trimming" for those purposes.
Perhaps trimming is another thing that we could specify in Directory.Build.props.
Same-directory / Inline tests
RE: Adding a flag, this is the only spot I'd really want to parameterize it. We already have some people wishing that some of our stuff more closely aligned with "the .NET way" of doing things, but others (myself included) think that overall the plugin should follow Nx more closely since its intended for integration in a larger monorepo.
I'm not sure about moving the choice for unit test framework to the workspace level. I agree that it is most likely (and probably preferable) that all projects in the monorepo use the same choice, but at the same time that would be a breaking change from the current setup.
It could be the case that when --use-inline-tests is picked we check if the setup for unit tests is present in Directory.Build.props, and if it is then we do nothing. If it isn't, we prompt w/ enquirer to check which framework to setup in Directory.Build.props.
Handling it this way would mean that we don't create a test project when --use-inline-tests is specified, but that we still give the option if the flag isn't passed in. Then it wouldn't be breaking, but we would need to move prompts for test framework over to enquirer rather than the schema.json as well.


[Tooltip] Component behaves funny in Firefox

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
I've implemented the tooltip component grabbed from MUI v4 into our app, and when I test it on Firefox, it behaves in funny way, as in, sometimes (randomly) the background disappears, the border is not continuous, when "arrow" is applied it's not shown.
I'm using the customised version of the tooltip (specifically the HTML one).
To avoid code mistakes (as in, my code), I've tested the examples drectly from the v4.mui website, and the present the same issues.
Firefox version 95.0 (64bit)
Attached screenshot

Expected behavior 🤔
Tooltip bckground, border and arrow should always show on firefox, or at least work like they do in Chrome.
Steps to reproduce 🕹
Steps:

Open Firefox
Go to https://v4.mui.com/components/tooltips/#tooltip
Hover over any tooltip a few times and you'll see the background disappearing

Context 🔦
The issue affect the UI/UX when a user access our app from Firefox.
Your environment 🌎
System:
OS: Windows 10 10.0.19044
Binaries:
Node: 14.17.3 - C:\Program Files\nodejs\node.EXE
Yarn: Not Found
npm: 6.14.13 - C:\Program Files\nodejs\npm.CMD
Browsers:
Chrome: Not Found
Edge: Spartan (44.19041.1266.0), Chromium (96.0.1054.34)
npmPackages:
@types/react:  17.0.19
react: 16.14.0 => 16.14.0
react-dom: 16.14.0 => 16.14.0
styled-components: 5.2.1 => 5.2.1
Firefox 95.0 (64bit)

I wasn't able to reproduce this error. Perhaps some Firefox extension is to blame?
Anyway, you are reporting an issue with v4. We are currently maintaining v5. Please verify if the problem exists in v5 and if you have any extensions enabled.

Hi @michaldudak ,
Thank you so much for your quick reply.
I have checked my Firefox and I do not have any extensions installed. I have tested the v5 as well (as per attached screenshot) and it does behave in the same way.
I tried on 2 other laptops in the office and on one of them it behaved the same as mine, while on the other one it didn't.
Therefore I'm starting to thing that the 2 laptops where it happens (which are exact same machines) might have some graphic cards issues...
I'll test it on other laptops shortly and will keep you posted on the results. Doesn't feel like a MUI issue though.
Thanks again.


some changes

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: noorulhaq
If they are not already assigned, you can assign the PR to them by writing /assign @noorulhaq in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Remove redundant default of PasswordSelectors

Currently we define defaults in two layers but this is redundant.

Ok I could not find the way to make it work unless we allow default + omitempty so I'll abandon this.


Safari mweb: Update date picker by adding icon and allowing numeral entry

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

Action Performed:

In Safari browser on mobile, go to new.expensify.com

Navigate to Settings >Workspace >Connect bank account

Proceed through VBA flow to Company Info (second page)

Scroll to Incorporation date

Notice there is no date picker icon in Incorporation date field (issue 1)

Click on Incorporation date field to choose date from date picker

Try to edit day/month/year, notice they cannot be edited manually (issue 2)

Expected Result:
Date picker on mweb should match web/mobile exactly - should show date picker icon and allow for manual numeral entry
Actual Result:
mweb does not show date picker icon, and date does not allowing manual numeral entry
Workaround:
Yes, they can use date picker in its current state (sub optimal)
Platform:

Where is this issue occurring?

Mobile Web (Safari only)

Version Number: 1.1.32-0
Reproducible in staging?: Y
Reproducible in production?: Y
Logs: N/A
Notes/Photos/Videos: Any additional supporting documentation
Issue reported by: @thesahindia
https://user-images.githubusercontent.com/31225194/153067483-727e4a5b-87f6-44bf-b77d-93df9c28149e.mov
View all open jobs on GitHub

Triggered auto assignment to @sonialiap (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Triggered auto assignment to @stephanieelliott (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

Job is on Upwork: https://www.upwork.com/jobs/~013b9fad465b315995

Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat (Exported)

Triggered auto assignment to @AndrewGable (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.


Update i2s.rst (IDFGH-7000)

minor improvements to the documentation, typos, spelling, language flow.

Thanks for your contribution.

sha=49cd71b5e5ec192540e166e84cabfa08925fda2a


Format Error in Standard Functionality

Hi there,
We have uncovered a problem with the text formatting of decimal fields when using the StrSubstNo, Message, Confirm (and probably any other string manipulation functions).
We have the error:

occurring when attempting to look at the 'Approval Entries' screen for Purchases.
We have identified the issue as occurring when the function RecordDetails is being called from the Approval Entry table.

(there is a minor issue with the use of Rec,Amount rather than PurchHeader,Amount - for consistency).
Following thorough testing, it is possible to assign this value to a local variable with the process then working. We are lucky in this instance that there is an event to which we can subscribe in order to bypass the problem. However, there may be many more fields for which this will be a problem.
Our extensive testing has found that the issue is the 'AutoFormatExpression' is set for this field.. we cannot modify this property in a table extension.

We can replicate this problem at will having created a simple table and attempting to use Confirm/Message to show the field - with the property set, the system breaks.. and without all is fine,
This requires correcting soonest.
Thanks

So this has been here for 3 weeks or so now.. and I have no idea if anyone has picked it up... but there has now been another occurrence in some 'Document Capture' functionality.

Sorry for not responding sooner. This issue was never picked up, as this repo only is for extensibility requests for Dynamics 365 Business Central or pull requests towards the 1st party Business Central apps. If this still is an issue, may I suggest that you open a support case or file a bug to ensure that all Business Central users benefit from your catch?
On premises - https://support.microsoft.com/en-us/supportforbusiness/productselection?sapId=93d37907-ad94-d591-22e9-593cfa09dd3f
Cloud – contact your partner, or if you are a partner open a support incident through Partner Center - https://partner.microsoft.com/en-us/pcv/dashboard/overview


STAREast: Urgent: Cannot Log In

Observed Behavior
Attempted to log in as user, organization, eventmanager, and<EMAIL_ADDRESS>and am currently unable to log in.
Attempted both typing the password in the box, and typing the password on another screen for copy paste to make sure to check spelling.
Was unable to log in.
Expected Behavior
Should be able to log in. 😭

Hi @DanniRiggin - Sorry for the delay. Is this on the live test site (http://allready-d.azurewebsites.net) or locally? I've just tested on the live site and been able to login for that user.

Hi @stevejgordon we were unable to log onto the test site at STAREast. I also just checked now and was able to log on. Not sure what happened!

Can be closed?

@mk0sojo I believe this can be closed


Can mockRunLogs support testing for errors strings?

I've seen stuff like this in ARMI and downstream:

People THINK they are testing an error but that line is actually never getting run. the assertRaises exits successfully once the error is hit.
I think it would be cool to support this.
I think it would look something like this:
# current code
with self.assertRaises(Exception) as e:
    _diffSpecialData(refData4, srcData5, out, dr)
    self.assertIn("Unable to unpack special data for paramName", e)

# new code
with mockRunLogs.BufferLog() as mock:
    with self.assertRaises(Exception):
        _diffSpecialData(refData4, srcData5, out, dr)
    self.assertIn("Unable to unpack special data for paramName", mock.getStderr())

this might be a bad example since it's not loading a reactor or something but do you see what I'm getting after?

I'm not sure I understand the request. We have this all over ARMI:
with mockRunLogs.BufferLog() as mock:
    self.assertEqual("", mock.getStdout())
    testName = "test_thing"
    runLog.LOG.startLog(testName)
    runLog.LOG.setVerbosity(logging.WARNING)

    # run your code that does SOMETHING with an error
    mockLog = mock.getStdout()
    self.assertIn("my special string", mockLog)

There are two situations I can imagine:

The error being raised does not have an associated runLog.error("Whatever") that comes before it. In which case, no we won't be supporting that. That tool only reads runLog statements.
The error being raised has a runLog.error("my string").  In which case this is already supported:

with mockRunLogs.BufferLog() as mock:
    self.assertEqual("", mock.getStdout())
    testName = "test_thing"
    runLog.LOG.startLog(testName)
    runLog.LOG.setVerbosity(logging.WARNING)

    with self.assertRaises(IOError):
        # run your code that does SOMETHING with an error
    mockLog = mock.getStdout()
    self.assertIn("my special string", mockLog)

So... the entire question comes down to "Is there a runLog.error() before the raise Error statement. If there is, great, we support that. If there isn't... I mean, MockRunLog is wildly the wrong tool. We would have to build something from scratch.

ahhhh gotcha
i think we should just close this ticket. i think you have it handled in the other ticket


[2026] Custom factory for api provider hash

Context

This trello ticket

Changes proposed in this pull request

Changed the api stub to use a factory which creates a hash

Guidance to review

 Consider using Factory_bot custom-strategies instead of api stubs


Multiple multi-cursor selection with CMD + Center click drag

Like Sublime Text, it would be nice to select multiple areas with multi-cursor using the center mouse button click and drag.
On VSCode, you can select one area with multi-cursor with ALT + Center mouse click and drag, with all lines starting from the same column. But if you try to select another area with the same method, you loose the previous one. Sublime Text allow to select multi-cursor areas in different position by keeping CTRL (different keybinding) pressed and do multiple center mouse click and drag.
Steps to reproduce the behavior:

Press ALT (depending on user settings) and click with center mouse button and drag
Release mouse button
Keep ALT pressed or press it again and try to select another area with center mouse button + drag
Previous selection is lost

Expected behavior
4. Keep previous selection and be able to select multiple areas with multi-cursor.
Of course you can select line by line with ALT + click, but the above would be much quicker!
Screenshots
Screen recording (custom keybinding with CTRL)
x64
Version 1.96.0
WinGet/Chocolatey

https://github.com/microsoft/vscode/issues/5402


Button on bottom of proposal page wraparound improvement

Currently the buttons on the bottom of the proposal page do not wrap around in a pleasing way:

Not the highest priority, but fixed easily enough and improves usability and makes misclicking less likely.

Look at /Users/Stiph002/Projects/ethics/main/templates/base/form_buttons.html, change style in /Users/Stiph002/Projects/ethics/main/static/main/style.css


t2 run/push: updates necessary for npm3 dependency resolution compatibility

Installing modules via npm3 may, or may not, place the resulting directory in your project/node_modules/* _OR_ in project/node_modules/foo/node_modules/*, depending on how it resolves the version required. This means that dependencies that have their own .tesselignore or .tesselinclude rules will have those rules resolved to their own path. For example: johnny-five has a .tesselignore that defines node_modules/serialport. That gets resolved to node_modules/johnny-five/node_modules/serialport/**/*.* (which means: ignore all files and directories under node_modules/johnny-five/node_modules/serialport/). If you have a project and did npm install johnny-five and you're using npm3... serialport wasn't installed here: node_modules/johnny-five/node_modules/serialport, it was installed here: node_modules/serialport.
Patch to follow.

This helps illustrate:
A resolved rule from node_modules/johnny-five/.tesselignore would look like this:
node_modules/johnny-five/node_modules/serialport/**/*.*

But during deployment, the serialport.node will be found as a binary dep and a record will be created that looks like this:
{
  binName: 'serialport.node',
  buildPath: '/build/Release/',
  buildType: 'Release',
  globPath: 'node_modules/serialport/build/Release/serialport.node',
  ignored: false,
  name: 'serialport',
  modulePath: 'node_modules/serialport',
  resolved: false,
  version: '2.1.2',
  extractPath: '/Users/rwaldron/.tessel/binaries/serialport-2.1.2-Release'
}

Note that modulePath: 'node_modules/serialport' is used in a minimatch() call to determine if this binary dep should be ignored, by comparing with the rule node_modules/johnny-five/node_modules/serialport/**/*.*, which obviously will not match in the npm3 module installation era.
This could be addressed by resolving the rules to the project root, but that's problematic for cases where:

Dependency A defines a dependency of<EMAIL_ADDRESS>
A also knows that B is not necessary for code running on a Tessel, so it defines a .tesselignore rule: node_modules/B/**/*.

Your application requires<EMAIL_ADDRESS>so npm3 installs<EMAIL_ADDRESS>to node_modules/A/node_modules/B (because it knows nothing about .tesselignore), and then installs<EMAIL_ADDRESS>in node_modules/B.

So, if we apply A's .tesselignore rules to the project's root, as well as A's root, the result will be the exclusion of BOTH<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

After exercising the latter case above, I've determined that that case is not problematic, because node_modules/A/node_modules/B will be found and ignored, leaving node_modules/B right where it needs to be.
For the case where a dependency of A should be ignored by a rule defined by A,  if there is no match for the rule at node_modules/A/node_modules/B, then we should look at node_modules/B.
This presents a new problem: if A depends on B but defines a rule that says B can be ignored for code running on a Tessel, BUT another module C depends on the same version of B, then A's rule needs to be ignored. I think this case is likely rare.

FWIW, the version of Node.js that we're bound to, ie the LTS isn't shipping with npm3 yet, so this isn't urgent

Here's a nice run down of npm3 behavior https://github.com/ashleygwilliams/npm-sandbox/tree/master/npm3/example1


Error loading example model

I followed the readme installation instructions and encountered no errors.
On start up of adt-explorer, I get:
[HPM] Proxy created: /  -> /
i ｢wds｣: Project is running at http://<IP_ADDRESS>/
i ｢wds｣: webpack output is served from
i ｢wds｣: Content not from webpack is served from C:\Users\myname\digital-twins-explorer-master\client\public
i ｢wds｣: 404s will fallback to /
Starting the development server...
Compiled successfully!
You can now view adt-explorer in the browser.
Local:            http://localhost:3000
On Your Network:  http://<IP_ADDRESS>:3000
However, when I load the example power system model or even a single file such as baseplant, I get the following error: "*** UploadError; Error "SyntaxError: unexpected token E in JSON at position 0" occured with parsing the response body - Error occured while trying to proxy to: localhost:3000/models? includeModelDefintion=true&api-version=2020-05-31-preview.
I used http://localhost:3000 for my ADT URL to sign in and the client app is running on localhost:3000.  Connect seems to work fine, but I get a spinner in the model view pane as soon as I log in and before running any query.  Eventually a very similar error as above pops up. "*** Error fetching models: Error; Error "SyntaxError: unexpected token E in JSON at position 0" occured with parsing the response body - Error occured while trying to proxy to: localhost:3000/models? includeModelDefintion=true&api-version=2020-05-31-preview.
PowerShell shows:
[HPM] Error occurred while trying to proxy request /models?includeModelDefinition=true&api-version=2020-05-31-preview from localhost:3000 to / (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
or
[HPM] Error occurred while trying to proxy request /query?api-version=2020-05-31-preview from localhost:3000 to / (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
This happens on two different client machines.

I sent some follow-up questions via email...

Resolved in offline conversation, configuration issue


Webhook: validate at least one of GRPCRoute.Rules.Matches.{Method,Service} is supplied

What type of PR is this?

/kind feature
What this PR does / why we need it:

Initial GRPCRoute apis validations
Add a validation to validate that at least one of the fields Service and Method of GRPCMethodMatch to be specified

Which issue(s) this PR fixes:

Fixes #1098
Does this PR introduce a user-facing change?:

NONE

@robscott Can you help review this? Thanks

/ok-to-test
/cc @gnossen

This LGTM, will give @gnossen some time to review.
/approve

/retest

@shaneutt @robscott Thanks for your reviews. Can I join the Kubernetes-sig org to contribute and test more easily? If yes, would you like to be my sponsors?

/lgtm

Hey @gyohuangxin, I'll sponsor you to join the k-sigs org, thanks for all your contributions!

@gyohuangxin, yep I will too :+1:

@robscott @shaneutt Thank you so much!


Create Jan 2024 CPU release post

Description of change

Checklist

[ ] npm test passes
[ ] documentation is changed or added (if applicable)
[ ] permission has been obtained to add new logo (if applicable)
[ ] contribution guidelines followed here

New & Noteworthy Notes:

no arm32 for JDK21 and onwards (reference PMC decision)
updates/refinements to SBOM contents (https://github.com/adoptium/temurin-build/pull/3608)
ensure we run reproducible test against JDK21 and make a statement on reproducibility (and the fact that we have a repeatable test being added into our pipeline)
reference SLSA level 3 compliance for Linux & Mac (https://adoptium.net/blog/2024/01/slsabuild3-temurin/)

Release Notes:

jdk17 - create_release_notes/67/
jdk11 - create_release_notes/69/
jdk21 - create_release_notes/70/
jdk8  - create_release_notes/71/

Amalgate info from https://openjdk.org/groups/vulnerability/advisories/2024-01-16 and NIST.

https://nvd.nist.gov/vuln/detail/CVE-2024-20945 not found ->
https://security.snyk.io/vuln/SNYK-ALMALINUX8-JAVA21OPENJDKHEADLESS-6182660

There are some linter errors, though.

Linter errors fixed, not sure I understand the CI / code cov failure or if it is specific to this PR or a general problem, ReferenceError: jest is not defined.

Raised https://github.com/adoptium/adoptium.net/issues/2624 since it appears to affect all PRs in this repo, not related to this one specifically.


connection closed due to  Error: Connection Failure

maybe it's because of your network.

maybe it's because of your network.

no, previously I had successfully paired with the same network, but when I tried again an error occurred like that.

i don't know how to solve it

maybe it's because of your network.

no, previously I had successfully paired with the same network, but when I tried again an error occurred like that.

i don't know how to solve it

maybe it's because of your network.

no, previously I had successfully paired with the same network, but when I tried again an error occurred like that.

Try pair again


Exclude explicit method "cloud" search for compute_engine.Credentials().

This is already covered by google_default (google.auth.default()) but with superior detection
and avoiding expensive connection timeouts e.g. to metadata.google.internal.
Added documentation on token='anon' option.
Fixed #143.
I don't know that we have any integration tests to cover this.  Is anyone able to run this in GCE to confirm that metadata credentials are still found by google_default (as they should be).

So, to be sure: if method is 'google_default', you will get the "cloud" variant automatically, if it is available? It it possible that the default picks another method, but the user want to force the "cloud" method?

I don't currently have the capacity to test this myself on GCE.  Problems were found running locally or in AWS, where compute_engine is looked-for and asked to access the metadata registry at metadata.google.internal, which of-course fails everywhere except a running GCE environment.  Problem is it fails with a long hostname-lookup timeout etc.
Passing token/method = None will force google_default first:
https://github.com/dask/gcsfs/blob/08475833e5df090e57a5256c98f9503aedc2c20b/gcsfs/core.py#L428-L429
_connect_google_default calls google.auth.default:
https://github.com/dask/gcsfs/blob/08475833e5df090e57a5256c98f9503aedc2c20b/gcsfs/core.py#L335-L336
google.auth.default lays out its 5-step default priority:
https://github.com/googleapis/google-auth-library-python/blob/2c6ad78917e936f38f87c946209c8031166dc96e/google/auth/_default.py#L220-L252
Step 4 is the GCE which involves the metadata hunt, but only after it decides it is worth proceeding.
That code is:
https://github.com/googleapis/google-auth-library-python/blob/2c6ad78917e936f38f87c946209c8031166dc96e/google/auth/_default.py#L190-L217
Looks OK to me.  If token='google_default' is passed explicitly, we should see the same behaviour but with no failover to cache or anon.  cloud seems duplicate and unnecessary in the loop.  cloud can still be explicitly requested.
Would be nice to get this tested in GCE though.

OK yes, since "cloud" is still an option for those that want it, I am fine with removing it from the set that are tried automatically - especially since the google method should pick it up anyway.

Thanks for doing this.


Add pretty printing for model and data to see what is available? Possibly a nice "display" function that works on both.

We could add a pretty print for the model/data classes (Julia ones) that will display information about the model, such as the available joints, bodies etc.

Finished in small branch, but what is printed could be vastly improved


[Event Request] codeunit 395 "FinChrgMemo-Issue" - OnBeforeInsertFinChargeEntry

Please add a new Publisher Call OnBeforeInsertFinChargeEntry in procedure InsertFinChargeEntry of codeunit 395 "FinChrgMemo-Issue"
Add Publisher Call in procedure InsertFinChargeEntry:

    "User ID" := UserId;
+   OnBeforeInsertFinChargeEntry(ReminderFinChargeEntry, FinChrgMemoHeader, FinChrgMemoLine);
    Insert;

Add new Publisher:

+    [IntegrationEvent(false, false)]
+    local procedure OnBeforeInsertFinChargeEntry(var ReminderFinChargeEntry: Record "Reminder/Fin. Charge Entry"; FinanceChargeMemoHeader: Record "Finance Charge Memo Header"; FinanceChargeMemoLine: Record "Finance Charge Memo Line")
+    begin
+    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Add channel submodule params to store list of connection IDs for which channels are allowed to upgrade

We will add params to 04-channeland keep a list of connection IDs that indicate which connections are allowed to have their channels upgraded. This list of connection IDs can only be updated governance or any other authority. During ChanUpgradeTry we will check if the connection ID in the channel's connection hops is part of the list of allowed connection IDs.
Protobuf
In channel/v1/channel.proto, add the Params message:
// Params defines the set of Channel parameters.
message Params {
  repeated string allowed_connections = 1;
}

In channel/v1/genesis.proto add in GenesisState:
Params params  = 9 [(gogoproto.nullable) = false];

In channel/v1/query.proto add the RPC query service, and request and response messages to query channel submodule params:
// ChannelParams queries all parameters of the ibc channel submodule.
rpc ChannelParams(QueryChannelParamsRequest) returns (QueryChannelParamsResponse) {
  option (google.api.http).get = "/ibc/core/channel/v1/params";
}

// QueryChannelParamsRequest is the request type for the Query/ChannelParams RPC method.
message QueryChannelParamsRequest {}

// QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method.
message QueryChannelParamsResponse {
  // params defines the parameters of the module.
  Params params = 1;
}

In channel/v1/tx.proto add the rpc message service, and the request and response messages to update channel submodule's params:
// UpdateChannelParams defines a rpc handler method for MsgUpdateParams.
rpc UpdateChannelParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);

// MsgUpdateParams defines the sdk.Msg type to update the channel parameters.
message MsgUpdateParams {
  option (cosmos.msg.v1.signer) = "authority";

  option (gogoproto.goproto_getters) = false;

  // authority is the address that controls the module (defaults to x/gov unless overwritten).
  string authority = 1;

  // params defines the channel parameters to update.
  Params params = 2 [(gogoproto.nullable) = false];
}

// MsgUpdateParamsResponse defines the MsgUpdateParams response type.
message MsgUpdateParamsResponse {}

Message server
In core/keeper/msg_server.go Add the RPC handler to update channel submodule's params:
// UpdateChannelParams defines a rpc handler method for MsgUpdateParams for the 04-channel submodule.
func (k Keeper) UpdateChannelParams(goCtx context.Context, msg *channeltypes.MsgUpdateParams) (*channeltypes.MsgUpdateParamsResponse, error) {
  if k.GetAuthority() != msg.Authority {
    return nil, errorsmod.Wrapf(ibcerrors.ErrUnauthorized, "expected %s, got %s", k.GetAuthority(), msg.Authority)
  }

  ctx := sdk.UnwrapSDKContext(goCtx)
  k.ChannelKeeper.SetParams(ctx, msg.Params)

  return &channeltypes.MsgUpdateParamsResponse{}, nil
}

Query service
In core/keeper/grpc_query.go add:
// ChannelParams implements the IBC QueryServer interface
func (k Keeper) ChannelParams(c context.Context, req *channelypes.QueryChannelParamsRequest) (*channeltypes.QueryChannelParamsResponse, error) {
  return k.ChannelKeeper.ChannelParams(c, req)
}

In core/04-channel/keeper/grpc_query.go  add:
// ChannelParams implements the Query/ChannelParams gRPC method.
func (k Keeper) ChannelParams(c context.Context, req *types.QueryChannelParamsRequest) (*types.QueryChannelParamsResponse, error) {
  ctx := sdk.UnwrapSDKContext(c)
  params := k.GetParams(ctx)

  return &types.QueryChannelParamsResponse{
    Params: &params,
  }, nil
}

Types
In core/04-channel/types/keys.go add the params store key:
// ParamsKey is the store key for the IBC channel parameters
ParamsKey = "channelParams"

Add params.go file in core/04-channel/types:
package types

import (
  "fmt"

  "github.com/cosmos/ibc-go/v7/internal/collections"
  host "github.com/cosmos/ibc-go/v7/modules/core/24-host"
)

// NewParams creates a new parameter configuration for the ibc channel module
func NewParams(allowedConnections ...string) Params {
  return Params{
    AllowedConnections: allowedConnections,
  }
}

// DefaultParams is the default parameter configuration for the ibc channel module.
func DefaultParams() Params {
  return NewParams()
}

// Validate all ibc-channel module parameters
func (p Params) Validate() error {
  return validateConnections(p.AllowedConnections)
}

// IsAllowedConnection checks if the given connection ID is registered on the allowlist.
func (p Params) IsAllowedConnection(connectionId string) bool {
  return collections.Contains(connectionId, p.AllowedConnections)
}

// validateConnections checks that the given connections are valid.
func validateConnections(connectionIds []string) error {
  // We could also maybe check that there are no duplicates

  for _, connectionId := range connectionIds {
    if err := host.ConnectionIdentifierValidator(connectionId); err != nil {
      return fmt.Errorf("connection ID %s is invalid", connectionId)
    }
  }

  return nil
}

In core/04-channel/codec.go register the implementation of MsgUpdateParams.
Keeper
In core/04-channel/keeper/keeper.go add the setter and getter functions for channel submodule's params:
// GetParams returns the total set of ibc-channel parameters.
func (k Keeper) GetParams(ctx sdk.Context) types.Params {
  store := ctx.KVStore(k.storeKey)
  bz := store.Get([]byte(types.ParamsKey))
  if bz == nil { // only panic on unset params and not on empty params
    panic("channel params are not set in store")
  }

  var params types.Params
  k.cdc.MustUnmarshal(bz, &params)
  return params
}

// SetParams sets the total set of ibc-channel parameters.
func (k Keeper) SetParams(ctx sdk.Context, params types.Params) {
  store := ctx.KVStore(k.storeKey)
  bz := k.cdc.MustMarshal(&params)
  store.Set([]byte(types.ParamsKey), bz)
}

Genesis
At the end of InitGenesis set the params:
k.SetParams(ctx, gs.Params)

In ExportMetadata add:
Params: k.GetParams(ctx),

In core/04-channel/types/genesis.go adapt the NewGenesisState function to add an extra parameter for params and add the extra params field wherever an instance of GenesisState is returned.
In Validate function add at the end:
return gs.Params.Validate()

Upgrade
In ChanUpgradeTry after retrieving the connection we can check if the connection ID is in the list:
params := k.GetParams(ctx)
if !params.IsAllowedConnection(channel.ConnectionHops[0]) {
  return types.Upgrade{}, errorsmod.Wrap(channeltypes.ErrConnectionNotAllowed, channel.ConnectionHops[0])
}

Adding needs discussion label to agree on:

Naming of the field in params. I chose allowed_connections for simplicity, but open to other suggestions.
Naming of error return if the connection is not in the allow list. ErrConnectionNotAllowed is used in the code above, but open to other suggestions.
If we should check for duplicate connection IDs in validateConnections.
If we should retrieve the params and check the connection ID in the core handler instead of the message server. I proposed the core handler above so that we don't need to retrieve the channel in the message server.

Is this feature needed for first release? I feel like it might be a little bit of over engineering. Governance or an appointed authority needs to approve the upgrade to begin with.
What benefits does this provide out of the box?
Does anyone else have thoughts on this issue? cc. @AdityaSripal @colin-axner @chatton

Discussed with @womensrights and decided to deprioritise this issue for now and have it as a nice to have in the first release of channel upgradability. Also that it would probably make more sense to have a deny list instead of an allow list.

Given the direction of ibc eureka, I feel we can maybe close this issue?

🪓