CBO-188 Gateway - Entity Synthesis for MySQL

Definitions for metrics related to Datadog's MySQL implementation (https://docs.datadoghq.com/integrations/mysql/?tab=host#data-collected)
Currently only golden metrics have been defined, but there is a possibility that some of the metrics will be summary metrics.  I will add a comment to those that I've seen
Relevant information
Definitions for metrics related to Datadog's MySQL implementation (https://docs.datadoghq.com/integrations/mysql/?tab=host#data-collected)
Currently only golden metrics have been defined, but there is a possibility that some of the metrics will be summary metrics,  I will add a comment to those that I've seen.  Tags may also come later as we move forward. Thank you!
Checklist

[ ] I've read the guidelines and understand the acceptance criteria.
[ ] The value of the attribute marked as identifier will be unique and valid.
[ ] I've confirmed that my entity type wasn't already defined. If it is I'm providing an
explanation above.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you all so much for your patience and feedback! Apologies for all of my confusion, I'm super new and didn't fully understand how metrics or telemetry in general work under the hood.  With the feedback I went and dug through some other entity definitions and compared them to the metrics in NR, so I think I (hopefully) understand now! I'll need to grab some additional information from my team, and maybe make some decisions about changes to the data we are sending in before finishing this up.  Should I close the PR for now, or just update it when I get further information?

Looking good! You've mentioned you want to move some of the metrics out and into a dashboard, I'll hold off on merging until you do that but apart from that all looks good to me.
Thanks!

Seems the validator complains because this PR is using the old dashboards format.
../definitions/ext-host/dashboard.json invalid
[
  {
    "keyword": "additionalProperties",
    "dataPath": "",
    "schemaPath": "#/additionalProperties",
    "params": {
      "additionalProperty": "title"
    },
    "message": "should NOT have additional properties"
  }
]

That can be fixed importing that format into a dashboard and exporting again. So it produces the new format

Also @AustinNester would be great if you can sign the CLA

Also @AustinNester would be great if you can sign the CLA
Looks like it is waiting on @cianBuckley to sign the CLA as well


Which is faster NFS mount or VirtualBox shared folder?

I am trying dinghy for the sake of more reasonable performance of my wordpress development docker image.
Which is faster NFS or shared folder? and why?

If you mean Virtualbox shared folders, NFS is much faster. I can't tell you why, I've never dug into the technical details.


Add vxproto subscriptions (topics)

Description of the Change
These changes implement base scenario to delivery packets from one producer to multiple consumers when all modules know nothing about them. To use this delivery schema all modules developers should choose only topic name and agree JSON format to separate packets for this topic from other packets.
The most relevant case for feature is WinEventLog module which collecting events from OS and distribute it to other modules. At this moment this case solved by receiver modules name list in WinEventLog module to make IMC token for each receiver and to send events there.
Against this approach each receiver module can call API method to subscribe on the topic and to start publishing events from WinEventLog module to the topic.
How to test the Change
Use samples from modules_test.go and unit tests from proto_test.go
Changelog Entry

Added new Lua IMC methods:
__imc.is_topic(token: string) -> bool
__imc.make_topic(name: string, group_id: string) -> string
__imc.subscribe_to_topic(name: string, group_id: string) -> bool
__imc.unsubscribe_from_topic(name: string, group_id: string) -> bool
__imc.unsubscribe_from_all_topics() -> bool
__imc.get_topics() -> []string
__imc.get_subscriptions(token string) -> []string

Changed behaviour of __imc.get_info(token: string) -> string, string, bool
Now it call may return information about topic when this token will set as a first argument of the call.

Extended VXProto internal API for IModuleSocket.

Checklist:

[x] I have updated the documentation accordingly.
[x] I have added tests to cover my change.
[x] All new and existing tests pass.

Generally it seems like introducing of "topic name" which is defined and created explicitly in module's Lua code can result in "hidden" module's interface information, it would be quite hard to understand if there are some topics that one module can subscribe to or even can create without stepping on other module's foot.
As I understand an idea is to completely separate "events" (that are more security events and which are sent using push_event call) from some "data" being flying here and there as internal modules' communication, for that I can suggest several (as I see simplifications) to topics subscription/publishing interface:

Add module configuration which will consist of two sets - one is list of topics that are being used to produce events, second is list of topics to subscribe to, these configurations can be extended to not just a list but an object with mapping of topic names and event names (for example), or later on we can have more interesting filtration logic that can use any field of the event.
In case if events being pushed using "push_event" are  registered to be published in some topics - they are automatically wired with underlying logic and one do not need to duplicate the code.
Subscribers code can be either reused as it is right now, just using same callbacks functionality and getting "data" objects formed properly as "events" or can be extended with additional callback "event" (for example). But there should be no need to explicitly write "read_from" calls with tons of logic around it.

Maybe there are no need to even have more than one topic for each module to produce events, and we can just have some helpers like "publish(data)" as an alias to publish some event in module topic, and for subscribers we can reuse module dependencies and say that if module A depends on module B it means that module A will by default receive all events pushed by module B to its default topic.


[2024.10] VDI auto stop broken in isolated VPCs

Bug description
With the 2024.10 RES release, VDI auto stop was added for VDIs that are at idle for a certain period of time. This setting can be configured in Desktop Settings → Server → Session.
VDI auto stop is currently not supported for RES environments deployed in isolated VPCs.
Affected versions
2024.10
Mitigation
We are currently working on a fix that will be released as part of a future release. However, it is still possible to manually stop VDIs in RES environments deployed in isolated VPCs.

This issue has been fixed in RES 2024.12 release.


Fileview.close()

Is there a way we can trigger the close button on iOS when doing a swipe? Seems like android is behaving as expected, but not so on IOS

It would be nice to have an option to programmatically dismiss the Quicklook overlay. If the API needs to be backwards compatible, then one way to do it would be to enable using AbortController API and to provide a signal option to the .open() function in a similar fashion that Fetch API works in JS.

Hello every one i have done this functionality on iOS, you can close the fileViewer any time you want by using following steps.

Add this method in file node_modules->react-native-file-viewer->ios->RNFileViewerManager.m
RCT_EXPORT_METHOD(close) {  dispatch_async(dispatch_get_main_queue(), ^{      [[RNFileViewer topViewController] dismissViewControllerAnimated:true completion:nil];  }); }

now add this method in  node_modules->react-native-file-viewer->index.js
function close() { if (Platform.OS == "ios") {  return RNFileViewer.close(); } }

after adding method now navigate to the bottom of index.js, change the export lines from
export default { open }; export { open };
to->
this export default { open, close }; export { open, close };

now navigate to node_modules->react-native-file-viewer->index.d.ts
and add the following: declare function close()
and in this file change this line declare namespace _default { export { open }; } like this declare namespace _default { export { open, close }; }

now you can use this function like this   FileViewer.close()

Thanks... it resolve my issue @Muzamil544


add an attribute for the serialized names of properties

Fixes https://github.com/Azure/autorest.csharp/issues/2326
Benefits https://github.com/Azure/autorest.csharp/issues/2325
Description
Add your description here!
Checklist
To ensure a quick review and merge, please ensure:

[ ] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[ ] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[ ] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

@ArcturusZhang can you please explain why existing serialization / deserialization generated code doesn't work?

We decide no longer to do this anymore.
This only happen when we need to read the generated code back into our generator (things in resourcemanager) and the deserialization information was lost and not fetchable using reflection (or very complicated).
We now decide to do it differently by manually maintain a dictionary of metadata so that we do not need to add them to our generated library


Invalid swagger json generated if QueryStringParameter data type used <> string

If QueryStringParameter is used with data type = int, the generated swagger json is invalid because the type name that is used in the json is the fully-qualified name of int in C#, which is "System.Int32". The correct value should be "integer". I assume this is wrong for all data types other than string.
I am using OpenApi version = 2

Hi @abmang
Thanks for the issue.
I have released 3.1.4-beta Nuget package that should fix it.
Please, check it out.
https://github.com/vitalybibikov/azure-functions-extensions-swashbuckle/tree/dev

Hi @vitalybibikov, thank you so much for the new release. will check it ou!


test: add coverage for all edge cases of the TracerBuilder

Describe the enhancement request
We are missing quite a lot of coverage on the TracerBuilder. Add coverage on all failure cases. This will involve implementing a mocked EthereumProvider which can be added to the test_utils folder. Then check all failure paths of the TracerBuilder and cover them all in tests. Tests can be written in the file builder.rs itself.

Please assign this to me @greged93

Please assign this to me @greged93

assigned

hey @Gerson2102 just a note: you might need to use the mockall crate in order to mock the EthereumProvider. If you end up with problems along the way dont' hesitate to ask questions on the kakarot telegram channel, will answer as fast as possible

@greged93 got it!

I'm gonna need some guidance tbh @greged93 haha, I'm gonna post my questions here if is not a problem in some hours maybe.

Ok now that i was seeing the code in more detail. My task here, is to create tests inside of builder.rs when those functions failed. Tests that are aiming to make errors in those functions to see if we are getting the correct values, in this case the errors through some of the enums that you guys are using in the code for errors right?
Am I understanding this well?

Yes this is correct @Gerson2102, the idea is to test the "bad path" and verify that we indeed error out if wrong values are provided.

hey @Gerson2102 what's the status on this? If this is too complicated @tcoratger or I can take over

Hello @greged93. Sorry for not having this complete. I've been busy participating in StarkHack, if you guys need this task quick, go ahead and do it. If not, today i will spend time trying to solve it.

it's not urgent, just checking that you will have time to get to it

hey @Gerson2102 any update on this?

hey @Gerson2102 any update on this?

Hello @greged93. Right now I'm working on it, but I'm getting a bunch of errors. I have spend too much time assigned in this issue and its not solved, sorry for that. I think is better if you or @tcoratger does this. But please, I would like that you guys ping me in this issue when its done, i wanna see the solution.


Jupyterlab support

adding code to install jupyterlab extension
Fixes #10

Codecov Report

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

@@           Coverage Diff           @@
##           master      #11   +/-   ##
=======================================
  Coverage   85.84%   85.84%
=======================================
  Files           3        3
  Lines         106      106
=======================================
  Hits           91       91
  Misses         15       15

Continue to review full report at Codecov.

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


Filter's cellRender is getting only string value

When the column has date objects, the cellRendering of table is getting the object as date (as expected). But when we are using cell render on filter for same column, it only gets string object.
So, it is not easy to do filter cellRendering on dates.
I have created a plunker to make it easy to simulate / understand the issue.
http://plnkr.co/edit/2u0o3w7UFFuDaU1jZD3g?p=preview

Same issue happens for comparator function for filter also, please see the below plunker
http://plnkr.co/edit/1ECHxH?p=preview

this is because the set filter needs a string key for a value, as it stores the selected values in a map using the standard javascript object, and javascript objects use strings (only) as keys for the map. the javascript object is used for performance reasons, for large sets.
if you want to use the set filter for dates, then the easiest is to create a valueGetter and return strings for the dates. this will get the filtering working. then for the sorting, provide your own comparator that converts the strings back to dates.
or you can create your own filter for dates. you will need to build this yourself and have it so it doesn't use the javascript object.


Split 32 & 64-bit write impls

The current write impl is maybe a little harder to read than it needs to be. It sort of looks like it's written to be compatible with a future target_pointer_width, but isn't as there's no read_usize definition. So I thought we may as well split the two width's implementations out and remove all the size_of stuff.

According to the playground the llvm ir is identical new vs old, presumably on 64-bit. I would guess 32-bit should be the same or better, depending on if the if bytes.len() >= 4 after the while was optimised away.


add code to dynamically load the jar file

This change adds some jvm-fu to the prediction loop process that will
dynamically load the jar file. With this in place the command to add a
--jars to the spark-submit is no longer needed.

@ruivieira @sophwats ptal

lgtm. thanks, @elmiko!


Users (11): Increase height of user panel

Increase the Height of the modal at least twice, to be able to see the list of users well


nixos.tests.lxd.aarch64-linux fails on hydra

For example https://hydra.nixos.org/build/174728144
This test has always been failing: https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.lxd.aarch64-linux/all
From the logs:
machine: must succeed: lxc image import /nix/store/cafixfv42cfn63g8bbg592rxkrhnsmp9-lxd.tar.xz /nix/store/z3inz6kkrwj5nzn7d46av7iyfp7j926h-rootfs.tar.xz --alias alpine
machine # To start your first container, try: lxc launch ubuntu:20.04
machine # Or for a virtual machine: lxc launch ubuntu:20.04 --vm
machine #
(finished: must succeed: lxc image import /nix/store/cafixfv42cfn63g8bbg592rxkrhnsmp9-lxd.tar.xz /nix/store/z3inz6kkrwj5nzn7d46av7iyfp7j926h-rootfs.tar.xz --alias alpine, in 2.94 seconds)
subtest: Containers can be launched and destroyed
machine: must succeed: lxc launch alpine test
machine # Error: Failed creating instance record: Requested architecture isn't supported by this host
machine: output: Creating test

Test "Containers can be launched and destroyed" failed with error: "command `lxc launch alpine test` failed (exit code 1)"

/cc @patryk27

Whoopsie!
Maybe instead of keeping hard-coded URL to x86-64's Alpine in here we could build something dynamically? (this way the test would automatically work on all architectures)
I'll try to take a look over the weekend, but feel free to take a shot at it, if you want 🙂

Maybe instead of keeping hard-coded URL to x86-64's Alpine in here we could build something dynamically? (this way the test would automatically work on all architectures)

Hmm that is a cool idea. Though OTOH it is currently nice that when this test fails it is clear it is a problem with running the image, and not with creating it.
Did you get that alpine/3.12/rootfs.tar.xz from somewhere or did you create it? Is it the 'mini root fs' from https://alpinelinux.org/downloads/ ?

[...] Is it the 'mini root fs' from https://alpinelinux.org/downloads/ ?

Yeah, that's the one;


Nothing happens

When you run it it just says
https://double.didnt-ask.lol/dkqDAnm6 (for image/screenshot)

Just started working on it, so it will be a while before its working

@Naiym223 first version of the project is now available. Would love if you could give it a test


discarding savedInstanceState

What does this PR?
This should apparently fixed abnormal android app crash. It took some good amount of time to pin point the issue, though I have not yet able to reproduce the issue locally. But I am quite certain it is fixed now.
Issue number
fixed #2489

And no, we will not be reverting this change, it is in accordance to upgraded react-native-screens documentation

@noumantahir interesting, I was assuming as variable suggest, it is saving state when app goes to background and comes back, maybe it was wrong way of thinking about it then. Good to know, let's see what testing shows 👍

Also does Bugsnag gave some pointers on this?


$users.update('me', form) not working

Hello,
with strapi 3.1.4
and a postgress database
I'm not able to update users/me
I added users as a entity within nuxt config
 strapi: {
    entities: ['users'],
  },

then i want to change a single field called 'accounttype'
const form = {accounttype:2}
const user = await this.$strapi.$users.update('me', form)

Then i got this error:
] error error: invalid input syntax for type integer: "me"
    at Parser.parseErrorMessage (/Applications/projects/testapp/backend/node_modules/pg-protocol/dist/parser.js:278:15)
    at Parser.handlePacket (/Applications/projects/testapp/backend/node_modules/pg-protocol/dist/parser.js:126:29)
    at Parser.parse (/Applications/projects/testapp/backend/node_modules/pg-protocol/dist/parser.js:39:38)
    at Socket.<anonymous> (/Applications/projects/testapp/backend/node_modules/pg-protocol/dist/index.js:8:42)
    at Socket.emit (events.js:315:20)
    at Socket.EventEmitter.emit (domain.js:483:12)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:271:9)
    at Socket.Readable.push (_stream_readable.js:212:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:186:23)
From previous event:
    at Client_PG._query (/Applications/projects/testapp/backend/node_modules/knex/lib/dialects/postgres/index.js:234:12)
    at Client_PG.query (/Applications/projects/testapp/backend/node_modules/knex/lib/client.js:158:17)
    at Runner.query (/Applications/projects/testapp/backend/node_modules/knex/lib/runner.js:135:36)
    at /Applications/projects/testapp/backend/node_modules/knex/lib/runner.js:39:23
From previous event:
    at Runner.run (/Applications/projects/testapp/backend/node_modules/knex/lib/runner.js:25:16)
    at Builder.Target.then (/Applications/projects/testapp/backend/node_modules/knex/lib/interface.js:14:43)
    at processImmediate (internal/timers.js:456:21)
[2020-11-19T12:54:53.055Z] debug PUT /users/me (61 ms) 500

I guess, like the error says the endpoint is expecting an integer- a user id instead of 'me'
const user = await this.$strapi.$users.update(5, { accounttype: 2 })

So within the documentation:
Updating current user
You often need to update your user, and so on define a custom route in Strapi: PUT /users/me.

I found some topics about the endpoint users/me, updating users- with or without custom endpoints and policies.
In my opinion it's a bit confusing

How do I set up users/me?

@unremarkablegarden You have to implement the route on your API as it not there by default in Strapi.
You can do so by overriding /extensions/users-permissions/controllers/User.js and adding a function like this:
async updateme (ctx) {
  const { id } = ctx.state.user

  const user = await strapi.plugins['users-permissions'].services.user.edit({ id }, omit(ctx.request.body, ['id', 'email', 'username', 'password']))
  return sanitizeUser(user)
}

and its associated route defined in /extensions/users-permissions/config/routes.json:
{
  "method": "PUT",
  "path": "/users/me",
  "handler": "User.updateme",
  "config": {
    "policies": [
      "plugins::users-permissions.isAuthenticated"
    ]
  }
}


error downloading cueing data during doc build

Traceback (most recent call last):
File "/Users/kylemathewson/eeg-notebooks/venv/lib/python3.7/site-packages/sphinx_gallery/gen_gallery.py", line 159, in call_memory
return 0., func()
File "/Users/kylemathewson/eeg-notebooks/venv/lib/python3.7/site-packages/sphinx_gallery/gen_rst.py", line 466, in call
exec(self.code, self.fake_main.dict)
File "/Users/kylemathewson/eeg-notebooks/examples/visual_cueing/02r__cueing_group_analysis.py", line 38, in
datasets.fetch_dataset(data_dir=eegnb_data_path, experiment='visual-cueing', site='kylemathlab_dev')
File "/Users/kylemathewson/eeg-notebooks/eegnb/datasets/datasets.py", line 85, in fetch_dataset
with zipfile.ZipFile(destination, 'r') as zip_ref:
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/zipfile.py", line 1258, in init
self._RealGetContents()
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/zipfile.py", line 1325, in _RealGetContents
raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

Let's try to debug this dataset fetcher thing outside of the doc build.

Retry on command line

datasets.fetch_dataset(data_dir=sometestfolderpath, experiment='visual-cueing', site='kylemathlab_dev')

Is the dataset fetcher working ok for the other datasets?

Is this okay to close with the PR merge?

I'm also getting this error now - seems the new dataset fetcher is not working with the cueing experiment dataset. Probably because of the zip file size.

Changed the dataset fetcher to use the gdown package, - https://github.com/NeuroTechX/eeg-notebooks/commit/f11fa0c86aead8122225295846d6f141cd707f22
this seems to have no problem with large file downloads. It's also about 1% the number of lines :)
...but an additional dependency :(
@kylemath - try the dataset fetcher commands above now.

Thats interesting, I tried it earlier and it worked fine.

one liner above didn't run, must need to import some things first, so I tried to remake the html docs
I pulled your change from upstream repo, merged into my branch, pip install gdown, I also added gdown to the requirements-docs.txt, then try to make the htmls and get:
Traceback (most recent call last):
File "/Users/kylemathewson/eeg-notebooks/venv/lib/python3.7/site-packages/sphinx_gallery/gen_gallery.py", line 159, in call_memory
return 0., func()
File "/Users/kylemathewson/eeg-notebooks/venv/lib/python3.7/site-packages/sphinx_gallery/gen_rst.py", line 466, in call
exec(self.code, self.fake_main.dict)
File "/Users/kylemathewson/eeg-notebooks/examples/visual_cueing/01r__cueing_singlesub_analysis.py", line 30, in
from eegnb.datasets import fetch_dataset
File "/Users/kylemathewson/eeg-notebooks/eegnb/datasets/init.py", line 2, in
from .datasets import fetch_dataset
File "/Users/kylemathewson/eeg-notebooks/eegnb/datasets/datasets.py", line 5, in
import gdown
ModuleNotFoundError: No module named 'gdown'

So what do you get on the command line with just
ipython

import gdown

?

import gdown works when I :
cd eeg-notebooks
source venv/bin/activate
python

import gdown

On Thu, Aug 27, 2020 at 1:09 AM John Griffiths<EMAIL_ADDRESS>wrote:

So what do you get on the command line with just
ipython
import gdown
?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NeuroTechX/eeg-notebooks/issues/7#issuecomment-681659489,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA36GFOCUHUVUYWJTRXBVL3SCYBDDANCNFSM4QKGJAIA
.

--
Kyle E. Mathewson, Ph.D.
Assistant Professor - Department of Psychology, Faculty of Science
Director - Attention Perception and Performance Lab
Affiliate - Neuroscience and Mental Health Institute, Faculty of Medicine
and Dentistry
University of Alberta
P455 - Biological Sciences Building
11455 Saskatchewan Dr.
Edmonton, Alberta, Canada, T6G 2E9
Phone: 1-780-492-2662
Email<EMAIL_ADDRESS>Web: www.kylemathewson.com

So was it looking for a different python installation when you were building before?
Does this work now?
source venv/bin/activate
cd doc
make html

yeah it works, but that is what produces the error in the html that gdown
was not available
On Thu, Aug 27, 2020 at 1:14 AM John Griffiths<EMAIL_ADDRESS>wrote:

So was it looking for a different python installation when you were
building before?
Does this work now?
source venv/bin/activatecd doc
make html
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NeuroTechX/eeg-notebooks/issues/7#issuecomment-681666387,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA36GFORF4RA5N3JESMOED3SCYBUTANCNFSM4QKGJAIA
.

--
Kyle E. Mathewson, Ph.D.
Assistant Professor - Department of Psychology, Faculty of Science
Director - Attention Perception and Performance Lab
Affiliate - Neuroscience and Mental Health Institute, Faculty of Medicine
and Dentistry
University of Alberta
P455 - Biological Sciences Building
11455 Saskatchewan Dr.
Edmonton, Alberta, Canada, T6G 2E9
Phone: 1-780-492-2662
Email<EMAIL_ADDRESS>Web: www.kylemathewson.com

Must be trying to use a different python installation then, if the import isn't working.

@kylemath - checking up on this. We have tried to iron out the dependencies in requirements.txt a bit more.
please try:

fresh git clone, or pull updates

create fresh conda or venv

pip install

pip install -e .

build docs as above

make html
Are you still getting an error?

(venv) Kyles-MacBook-Pro:eeg-notebooks kylemathewson$ make html
make: *** No rule to make target `html'.  Stop.
(venv) Kyles-MacBook-Pro:eeg-notebooks kylemathewson$ cd docs
-bash: cd: docs: No such file or directory
(venv) Kyles-MacBook-Pro:eeg-notebooks kylemathewson$ ls
LICENSE			eegnb			requirements_test.txt
README.rst		examples		run_notebooks.py
binder			requirements-docs.txt	setup.cfg
doc			requirements-noeeg.txt	setup.py
eeg_notebooks.egg-info	requirements.txt	venv
(venv) Kyles-MacBook-Pro:eeg-notebooks kylemathewson$ cd doc
(venv) Kyles-MacBook-Pro:doc kylemathewson$ ls
Makefile	changelog.rst	docs_notes.md	getting_started	index.rst
_static		conf.py		experiments	img		misc
(venv) Kyles-MacBook-Pro:doc kylemathewson$ make html
/bin/sh: sphinx-build: command not found
make: *** [html] Error 127
(venv) Kyles-MacBook-Pro:doc kylemathewson$

Apols.
Ok I've added the doc building dependencies into the requirements.txt. That's easier than maintaining multiple installation instructions.
Pls git pull master and try pip install -e . again.
Note that the env needs to be with Python 3.6.

closed as is stale - Python versions and installations have changed ever since and gdown issues are now solved, until gdown pushes another breaking update!


Add release notes for Fabric v1.4.5

Add release notes for Fabric v1.4.5
Signed-off-by: David Enyeart<EMAIL_ADDRESS>

Overall looks good. A couple of points for thought:
The deprecations make sense and it would be nice to see them replicate somehow in our ReadTheDocs as good practices. For instance, use Raft-based ordering service with a single node instead of Solo ordering service when building your first network, etc in our Test-Network.

Makes sense. Most of the deprecations already have similar comments in doc, e.g. for single node Raft:
test network:
"The sample network uses a single node Raft ordering service that is operated by the ordering organization."
And in ordering doc topic:
"Existing users of Solo should move to a single node Raft network for equivalent function."
But some of the other deprecations should be clarified in doc or samples, I'll open some issues for this.

Unit test gossip flakes. Since the PR does not touch any code, I'll go ahead and merge without the unit tests.


[firebase_crashlytics] Printing lots of old errors during compilation after 1.12 upgrade

After I upgraded to the latest version of Flutter:

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 10.0.18363.476], locale pt-BR)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Android Studio (version 3.5)
[√] IntelliJ IDEA Ultimate Edition (version 2019.3)
[√] VS Code (version 1.40.0)
[√] Connected device (1 available)

• No issues found!

And I click the Debug button to launch my app in and Android AVD I get hundreds of lines of errors in my console while the app is compiling, then later it installs just fine.
They look like old messages printed on the past days, exceptions I got while designing my UI, I uninstalled my app and reinstalled in the AVD but its the same, I also tried flutter clean.
These are the messages, they are huge, so I am just showing a printscreen:

Take a look at the scroll handle so you can have an idea on all of the messages being printed just after I clicked the Debug button.
As you can see, they start once the compilation starts, and later when the APK is built they end, so they are being dumped during the compilation phase, as this can be shown here:

I don't know if this is related to #46898.
Using a separate device I don't get this messages.

Facing the same problem.

me too have the same problem

So give it a thumbs up 👍🏻, they give more priority to more thumbs up.

closing this (see https://github.com/flutter/flutter/issues/46898 for more information).

Thanks @helenaford I am already there too.
Guess today is cleanup day? Lots of issues being closed, thanks for your help.

no problem. yes, a lot of work planned for this repo.


Model Refresh

Hello to all,
I am working with Model Refresh and I have some doubts.
My base model contains 203 weeks and I have run the Model Refresh including 15 new weeks.
What surprised me is that the output of the Model Refresh that reflects the 218 total weeks does not keep the coefficients of the variables of my initial model. In addition to observing a very relevant change in terms of ROIs, although this may be motivated by the level of investment, I do not understand how 15 weeks can weigh so much with respect to 203 weeks.
Therefore, why are there such differences between the initial model and a model refresh with 7% more observations than the initial one?
Many thanks in advance !!

Hi, in general the refresh function is still not very well studied yet and we're actually seeing surge of usage just very recently. In this sense, sorry for the unsatisfying result.
The refresh is actually remodelling using a proportionally narrower range of the initial hyperparameters. It's designed to maintain more stability for baseline variables while reflecting the changes of investment in the additional weeks. So if certain channels have seen strong spending differences in the 15 weeks, it's expected to have bit more change.
I can't make much judgement without looking into your data. You can try increasing the refresh iterations and trials to achieve better convergence. Let me know if it helps.
I'm also considering ways to improve the stability of refresh, for example by putting more weight on the decomp convergence. However it's very difficult for us to do it "blindly" because we don't have real dataset. So this might take a bit.

First of all, thank you very much for your reply.
There are no major changes in investments in these new weeks.
But anyway, what should we expect when there is a dramatic change in investments? Both when there is an increase and when there is a decrease.
Should we expect an overestimation, in which case?
Many thanks in advance !!

Please reopen if necessary.


Feature/support generics

This pull request splits the MethodInfo caching used by DotNetDispatcher into two; one for calling static methods and one for calling instance methods.
Method identifiers on static methods must be unique per assembly, whereas for instance methods they only need to be unique for the instance's class hierarchy.
Generics are now supported, but only when invoking instance methods and only if there are no open generics.
JSInvokable now no longer has a parameterless constructor so that the specifying of the method identifier is always explicit as per @SteveSandersonMS's suggestion on Twitter.
Addresses issues

https://github.com/aspnet/Blazor/issues/1557
https://github.com/aspnet/Blazor/issues/1558

@danroth27 @SteveSandersonMS This PR has been done for a while as per direction given to me by Steve, wondering if it has been forgotten?

@mrpmorris Sorry for the slow response. It's on my backlog to review soon.

Thanks for the update @SteveSandersonMS - Don't mean to hassle, just want to make sure that if it doesn't get in it's because you didn't like it rather than because it got lost 👍

We're closing this item because this project has moved to another repo.
Please go to https://github.com/aspnet/Extensions/tree/master/src/JSInterop to see the latest JSInterop code base and to file issues.
We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.


Release version 2.0.0 (RC1)

This is a component issue for release 2.0.0 (RC1).
Coming from https://github.com/opensearch-project/opensearch-build/issues/1624, please refer to the dates in that post.
Please also follow the following checklist.
How to use this component issue

This Component Issue
This component issue captures the state of the OpenSearch release, on component/plugin level, its assignee is responsible for driving the release of the component.  Please contact them or @mention them on this issue for help.
Release Steps
There are several steps to the release process, components that are behind present risk to the release.  Component owners resolve tasks on this ticket to communicate with the overall release owner.
Steps have completion dates for coordinating efforts between the components of a release; components can start as soon as they are ready far in advance of a future release.
You can find all the corresponding dates of each step in the release issue above.
What should I do if my plugin isn't making any changes?
If including changes in this release, increment the version on 2.0 branch to 2.0.0 for Min/Core, and <IP_ADDRESS> for components. Otherwise, keep the version number unchanged for both.

You can find all the date in above issue
Preparation

[x] Assign this issue to a release owner.
[x] Finalize scope and feature set and update the Public Roadmap.
[x] All the tasks in this issue have been reviewed by the release owner.
[x] Create, update, triage and label all features and issues targeted for this release with v2.0.0.

CI/CD

[x] All code changes for 2.0.0 are complete.
[x] Ensure working and passing CI.
[x] Re(add) this repo to the (if not exist) opensearch input manifest.

Pre-Release

[x] Update your branch in the opensearch input manifest.
[x] Confirm that all changes for 2.0.0 have been merged.
[x] Complete integration tests, and update results in the comment, example.
[ ] Find/fix bugs using latest tarball and docker image provided in meta issue.
[ ] Completed release candidate testing build #TBD.
[ ] All intermittent test failures have issues filed.

Release

[ ] Complete documentation.
[x] Gather, review and publish release notes.
[x] Verify all issued labeled for this release are closed or labelled for the next release.

Post Release

[ ] Create a release tag.
[ ] Suggest improvements to this template.
[ ] Conduct a retrospect, and publish its results.

Verify all issued labeled for this release are closed or labelled for the next release.

#3026  / #3093 is still pending but will likely be merged after RC1 release. Most of the remaining v2.0.0 and backport 2.0 issues have been triaged

Gather, review and publish release notes.

https://github.com/opensearch-project/OpenSearch/pull/3086

Complete integration tests, and update results in the comment

Note that OpenSearch core does not currently have any integration tests to run, so this has been marked as completed


MacOS port

CI gfxreconstruct build queued with queue ID 11275.

CI gfxreconstruct build queued with queue ID 11277.

CI gfxreconstruct build # 2038 running.

CI gfxreconstruct build # 2038 failed.

Needs ARM MacOS CI as well

CI gfxreconstruct build queued with queue ID 11368.

CI gfxreconstruct build # 2039 running.

CI gfxreconstruct build # 2039 passed.

CI gfxreconstruct build queued with queue ID 11445.

CI gfxreconstruct build # 2040 running.

CI gfxreconstruct build queued with queue ID 11460.

CI gfxreconstruct build queued with queue ID 11464.

CI gfxreconstruct build # 2041 running.

CI gfxreconstruct build # 2041 passed.

CI gfxreconstruct build queued with queue ID 11542.

CI gfxreconstruct build # 2042 running.

CI gfxreconstruct build # 2042 passed.

CI gfxreconstruct build queued with queue ID 18794.

CI gfxreconstruct build # 2398 running.

CI gfxreconstruct build # 2398 passed.

CI gfxreconstruct build queued with queue ID 13521.

CI gfxreconstruct build # 2837 running.

CI gfxreconstruct build queued with queue ID 13592.

CI gfxreconstruct build # 2838 passed.

CI gfxreconstruct build queued with queue ID 16536.

CI gfxreconstruct build # 2845 running.

CI gfxreconstruct build # 2845 passed.

CI gfxreconstruct build queued with queue ID 16615.

CI gfxreconstruct build queued with queue ID 16628.

CI gfxreconstruct build # 2847 running.

CI gfxreconstruct build queued with queue ID 16676.

CI gfxreconstruct build # 2848 running.

CI gfxreconstruct build # 2849 running.

CI gfxreconstruct build queued with queue ID 2437.

CI gfxreconstruct build # 2941 running.

CI gfxreconstruct build # 2941 passed.

CI gfxreconstruct build # 3063 running.

CI gfxreconstruct build # 3063 aborted.

CI gfxreconstruct build queued with queue ID 78603.

CI gfxreconstruct build # 3460 running.

CI gfxreconstruct build # 3460 passed.


bufio.Reader swallows 0-length reads

I have a package that uses bufio.Reader to decode protocol messages. It implements
trace debugging by writing all messages through an io.Pipe(). I was surprised to find
that the first 100 0-length writes were ignored by the bufio.Reader.fill method, as
the documentation explicitly states
The bytes are taken from at most one Read on the underlying Reader, hence
n may be less than len(p).

I would like to suggest a documentation change to indicate that zero-length reads are
not counted.
What version of Go are you using (go version)?
go version go1.7 linux/amd64

What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN="/usr/local/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/"
GORACE=""
GOROOT="/go"
GOTOOLDIR="/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build706953720=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"

What did you do?
A zero-length write to an io.PipeWriter, whose corresponding
io.PipeReader was read through a bufio.Reader. The following
simplified program illustrates the issue: https://play.golang.org/p/lI14R5CMQ-
What did you expect to see?
The program should print one item for every write to the pipe:
1 foo
2 bar
3
4
5
6 baz

What did you see instead?
The bufio.Reader ignored the 0-byte reads.
1 foo
2 bar
3 baz

Without looking into the details of this issue just yet, I'll note that 0-byte reads and writes are inconsistent and ill-defined everywhere in Go.

Any change to bufio in this regard needs to pay attention to #7611.

The issue is easy enough to work around if it is documented. I am curious about the original intent behind this behavior.

@droyo See issue #7611 and the CL that was committed to fix it.  That CL may have been erroneous, but I think that is the intent behind the current behavior.

I think this is a bug. The fix in CL 86590043 for ReadByte (for #7745) incorrectly affected Read as well. Will send a CL.
@ianlancetaylor, #7611 is about bufio.Writer, not bufio.Reader, so I think these are mostly independent.


many_glyphs recompute-text option

Objective
Add a commandline argument to the many_glyphs that forces the recomputation of all the text every frame.

I'm not quite sure how well this fits an example, I would think that they are meant to demonstrate some functionality to the user.

This is a good reflex, but for stress tests I'm cool with being less strict about this because they exist to test performance more than they exist to be illustrative examples.


Swift projects should be able to consume system libraries as modules

Here's an example for creating a modulemap wrapper for libcurl:
https://github.com/IBM-Swift/CCurl
This allows a Swift project to consume the libcurl library like a Swift library or C++ library produced by SwiftPM.
This is sort of related to #165 but we can probably accomplish this with the primitives we have now.

@ghale could you take a look at this and see if you have any other ideas?
https://github.com/gradle/native-samples/pull/9
A few things I don't like (not that we need to do something, but just some things to think about):

I can't just add the curl dependency to the implementation configuration. I have to use the binary's import path configuration.
There's an implicit link time dependency introduced on libcurl.
Adding just a directory and things magically working is kind of crappy.

We can't merge it just yet, but it's good enough to look at.  I need to get the libcurl headers installed on our linux agents.

I think it looks good for where we are now.

I can't just add the curl dependency to the implementation configuration. I have to use the binary's import path configuration.

Yeah, this is not great.  I think fixing this in some way is the first step (or one of the first steps) to making prebuilt support better.

Adding just a directory and things magically working is kind of crappy.

Can you elaborate on what might make this better?  For instance, defining this as some sort of reusable thing so the directory configuration is in one place or whatever would be less crappy.

Can you elaborate on what might make this better? For instance, defining this as some sort of reusable thing so the directory configuration is in one place or whatever would be less crappy.

I was thinking a few different things.

If the curl directory had a module map file and a header and a README, I think we're going to treat the README as an input and anything else in that directory.
It feels like we're exposing a bit too much of the underlying swiftc/Gradle machinery that we need to say "add a directory to this particular configuration" and poof it works (including linking).
If we wanted to get this as a binary, composite or source dependency, that doesn't really work.
As with all types of "file" dependencies, I think we don't record any sort of relationship to the modulemap or directory.  Nothing in our metadata, nothing in reports.  There's no such thing as "resolving" these dependencies if they're conflicts.

I think this is all tied up into our "prebuilt" stories and how we handle system libraries, 3rd party libraries, libraries built by other tools, etc.  This sample is a little special in that it's really something that the user provides that uses a system library.
I think I'd like something more like this:
apply plugin: 'cpp-library'

library {
    linkage = NONE
    dependencies {
        api ':curl:4.3'
    }
}

where ':curl:4.3' is something that Gradle knows how to find on the system (but could follow the prebuilt library example for now).

We should probably capture an issue to implement this in a better way.

We have all of these issues that overlap with each other and covers the system library/prebuilt library side of things:
https://github.com/gradle/gradle-native/issues/165 - System libraries dependencies management
https://github.com/gradle/gradle-native/issues/98 - Builds can depend on non-Gradle-built libraries
https://github.com/gradle/gradle-native/issues/380 - C++ or Swift component uses prebuilt binaries for a C++ library
I've added two new issues:
https://github.com/gradle/gradle-native/issues/447 for the header-only aspect of this issue
https://github.com/gradle/gradle-native/issues/448 for the usage of a modulemap dependency with Swift


chore: update decenter robo welcome avatar

Related Issue(s)
//:

"[Cite any related issue(s) or feature request(s) from the repository's issue tracker.]"
Fixes # For #
Proposed Changes

[x]
[x]

Checklist

[x] I have followed the repository's contribution guidelines.
[x] I have added necessary documentation or updated existing documentation.
[x] My code follows the established code style and formatting of the project.
[x] I have tested my changes and they function as expected.
[x] I have added suitable unit tests (if applicable).

Screenshots

To-Do

[ ]

Additional Information

Resolves #59
@Dineshjnld never forget to link the existing issue


Taking a long time to load

Getting the error:
Multivalue control by Microsoft DevLabs is taking longer than expected to load.Learn More about this extension, including available support options.
All of the sudden seeing this error,
Disabled the new boards theme and layout too.

can you describe your environment?

If you're still experiencing the same issue, please reach out to me on Teams at [amin.titi<EMAIL_ADDRESS>


[haskell-updates] haskellPackages.releaser: Remove broken flag

Motivation for this change
As of 3.0.0 releaser builds again without any fixing needed.
Things done

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

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

[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Builds for me!  Thanks for sending this PR!


Upgrade and rewrite for the upcoming Hyperapp 1.2.0

Like the title says.

Can we close this since #59 is shipped ?


Bug: Adjustments to an existing sensor group results in an error. Adjustments not saved.

Alarmo Version
v1.8.7
HA Version
2022.4.7
Bug description
Initial creation of sensor group works. When making adjustments to an existing sensor group the following error is presented.

Steps to reproduce
No response
Relevant log output
No response

Can you provide steps for reproducing the issue?
For me there is no problem modifying a existing group.
Initial group configuration:

Coming back later and adding some more:

Result:

What am I doing different than you?


Agents split from Qmoon as individual item on data querying

Per talk with @xuyz the Qmoon will restructured with following adjustments:

agent should be split from Qmoon on individual item for querying data from chains, including COSMOS, QOS, .etc
Qmoon keep the server part as data storage and external interfaces to expose the data service

It is still under restructuring, and I believe we will see a lot of changes brought by it and benefit from this change.

new repo https://github.com/QOSGroup/qmoon_qos_agent is built for this part


settings.json files.exclude: Folder view does not hide a generated files called debug.

}
Steps to Reproduce:

Debug a Go project, have the debug file be generated next to the go file.
Try all of the variations found online for hiding a file called "debug"
Debug file remains in tree view, even after close/open and system restart.

Took another hour, but I ended up figuring out the issue.


CosmosClient freeze when try to access to inaccessible endpoint

Package Name:

@azure/cosmos

Package Version:

4.0.0

4.2.0

Operating system:

[ ] nodejs

version:
20

[ ] typescript

version:
5.7.2
4.9.4

Describe the bug
When try to connect to inaccessible cosmosdb, for example invalid endpoint or network restriction, the client is freeze and nothing happen.
To Reproduce
Steps to reproduce the behavior:

run the following code:

import { CosmosClient } from "@azure/cosmos";
import { DefaultAzureCredential }  #from "@azure/identity";

async function main() {
  const client = new CosmosClient({
    endpoint:
      "https://invalid-db-name-or-without-network-access.documents.azure.com:443/",
    aadCredentials: new DefaultAzureCredential(),
  });
  const containerClient = client
      .database('database')
      .container('tableName');
  const { resource } = await containerClient.item('id0', 'id0').read();

  return resource;
}
await main()

Expected behavior
an error should thrown
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context

the  containerClient.item is just for example its happens also with other methods
when setting the connectionPolicy.enableEndpointDiscovery to false a correct error is thrown - "getaddrinfo ENOTFOUND...."

@yosefbs-cy This is expected behavior as the SDK expects valid endpoint. This can be considered as an improvement which we will track separately.

In our use case it was a valid endpoint but the private endpoint was not configured correctly. so also in case of a valid endpoint when there is network error the SDKs freeze and stuck the process (for example an function app while freeze without any error until function time out ).

its look like the retry is maxTries* maxTries. (with the const value of 120 = 14400).
please take a look at:
https://github.com/Azure/azure-sdk-for-js/blob/83efc34ecdef728a726bcf83014d4bfa1d665f4e/sdk/cosmosdb/cosmos/src/request/RequestHandler.ts#L191
and:
https://github.com/Azure/azure-sdk-for-js/blob/83efc34ecdef728a726bcf83014d4bfa1d665f4e/sdk/cosmosdb/cosmos/src/retry/retryUtility.ts#L121
in the catch there is a new  retryPolicy object that not reference the retryPolicy param.
so when the first 120 retries completed the RequestHandler execute is still at first try....
so even if each attempt take an half of second it while take 2 hours to catch error i think its a real bug here.....

@yosefbs-cy Lets say each attempt takes half of second and we are retrying 120 times with the interval of 1 secs, I did not get how did we reach to 2 hours of time and the number 14400 ?

each retry attempt call markCurrentLocationUnavailableForRead:
https://github.com/Azure/azure-sdk-for-js/blob/83efc34ecdef728a726bcf83014d4bfa1d665f4e/sdk/cosmosdb/cosmos/src/retry/endpointDiscoveryRetryPolicy.ts#L67
this function is also use the retry mechanism so each attempt of the 120 retries make another 120 request so in total an 14400 request are made.
the internal request are made by:
(endpointDiscoveryRetryPolicy.ts) markCurrentLocationUnavailableForRead --> refreshEndpointList --> getDatabaseAccountFromAnyEndpoint --> (CosmosClient.ts) getDatabaseAccountInternal --> (ClientContext.ts) getDatabaseAccount --> executePlugins with RequestHandler.request --> RetryUtility.execute


Macro calc

Issue Id you have worked upon -
#484
Briefly explain your program logic -
here's a short explanation of the program logic for your Macronutrient Ratio Calculator:

The user enters their age, gender, height, weight, activity level, and their goal (e.g., maintain weight, lose weight, or gain weight).
When the "Calculate" button is clicked, the program calculates the user's Basal Metabolic Rate (BMR) based on their age, gender, weight, and height.
It then applies an activity factor based on the selected activity level (e.g., sedentary, light exercise, or very active).
The program adjusts the user's daily caloric intake based on their selected goal (e.g., maintain weight, lose weight, or gain weight).
The calculated caloric intake is used to determine the recommended macronutrient ratios: carbohydrates, proteins, and fats.
The results, including the total calories and macronutrient values, are displayed along with a pie chart illustrating the macronutrient ratio.

Screenshots(Attach 2 screenshots of your own input and output) -

By raising this PR I affirm that -

[x] My code follows the guidelines of this project.

[x] I have performed a self-review of my own code.

[x] I have commented my code.

[x] My code gives the correct output.

[x] I affirm that I strictly follow contributing guidelines and code of conduct.

Congratulations 🎉 @tiwari00ayush on your contribution.
Thanks for adding value to this repository. 😊
Let's celebrate this fest 😃 by providing more developers 👨💻👩💻 an opportunity to contribute. Help us make this repository reach far and more by sharing this to your friends and colleagues.
Your efforts can make difference.

Hey 👋, may you also encourage us by clicking the star icon on the repository main page. ⭐


Yea Sung: Check in

my fork of module repository

Learning Objectives

[ ] 🥚 Creating Issues: You can create a new issue in a GitHub repository using an issue template. You can correctly use labels, milestones, and assignment to make your issue findable.

[ ] 🥚 Searching Issues: You can find issues in a repository by label, author, and milestone.
[ ] 🥚 Project Boards: You can use issues on a GitHub project board to track your class assignments and help your classmates when they need it.

HYF Workflows:

[ ] 🥚 Asking for Help: You can use the question and help-wanted discussion templates in your class repository to ask for help, and to help your classmates when they are blocked.
[ ] 🥚 Check-Ins: You can use the check-in template to track your module learning objectives, and your weekly progress, and to post a retrospective at the end of the module.
[ ] 🥚 Deliverables: You can create an issue for this module's deliverable and track your progress on the class project board.

Your Computer:

[ ] 🥚 File System Management: You can create and organize a new folder in your personal computer for the materials you will study at HYF.

Visual Studio Code:

[ ] 🥚 Install and manage extensions
[ ] 🥚 Open a folder for editing
[ ] 🥚 Create new files/folders inside of the folder
[ ] 🥚 Edit files and save changes

I Need Help With:
What went well?
What went less well?
Lessons Learned
Sunday Prep Work


cocomac: Watch raindropsinfotech.com

cocomac requests the watch of the watch_keyword raindropsinfotech\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

raindropsinfotech\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


Gradle build cache causes java hotswap to reload all classes

Expected Behavior
Update only changed class files.
Current Behavior
All class files are re-created, at compileJava task, at info Unpacking build cache entry.
> Task :backend:server:compileJava
Excluding []
Custom actions are attached to task ':backend:server:compileJava'.
Build cache key for task ':backend:server:compileJava' is 6fe4a3c12f283cbc3c6f20c1a78cc463
Task ':backend:server:compileJava' is not up-to-date because:
  Input property 'stableSources' file C:\...\MyClass.java has changed.
Loaded cache entry for task ':backend:server:compileJava' with cache key 6fe4a3c12f283cbc3c6f20c1a78cc463

Context
Dev build with java hotswap enabled.
Changing one class and compiling causes hotswap to reload all classes.
Steps to Reproduce

gradle.properties: org.gradle.caching=true
compile java
notice compiled class files last modified date
change one class and compile
all classes are re-created

Your Environment

Build scan URL:
Gradle 7.3

@cdalexndr , do you think you could provide a minimal project that reproduces the issue?
I recently tried Gradle 7.3 with Apache JMeter, and it did reload a single class just fine.

It seems the issue is only reproductible when the changed java class was already previously built and cached, so that the build cache key matches a previous one and outputs are refreshed from cache.
https://github.com/cdalexndr/gradle-19157

gradlew checkLastMod
edit OtherClass: return "1";
gradlew checkLastMod
edit OtherClass: return "2";
gradlew checkLastMod
task failsfails

Experiencing the same thing. Especially an issue when using mixed Kotlin/Java projects.


Server "Api" routes missing

Describe the bug
Server "Api" routes missing
https://nuxt-app-gregpalaci.nuxt.dev/ all good
https://nuxt-app-gregpalaci.nuxt.dev/api/books MIA
codebase https://github.com/gregpalaci/nuxty-book
MIA (https://github.com/gregpalaci/nuxty-book/blob/main/server/api/book/[isbn].ts)
Expected behavior
API exists

Where do you deploy your project and with what command?

Trying some hacking but feels dirty, can I keep the (dynamic) server routes, server rendered on nuxt hub?
import data from "./prisma/seeds.json";
const bookAPI = Object.fromEntries(
  new Map(data.map(({ isbn }) => [`/api/book/${isbn}`, { prerender: true }]))
);

nuxtConfig....

routeRules: {
...bookAPI,
"/api/books": { prerender: true, cors: true },
},

Also tried the experimental.. `defineRouteRules({ prerender: true });`

By looking at the console it seems you have a 500 on your API route

Thank you so much for taking the time to debug! I know you're a busy guy (we met at a meetup before dotjs in an opera house I think / Paris)
I think I need to rephrase my question, does NuxtHub support the node + Server/ routes as a hybrid app? If so what are the settings I need to do, ssr : false I assume?

NuxtHub support hybrid rendering by default, no need to set ssr: false 🙂

we met at a meetup before dotjs in an opera house I think / Paris)

I don't remember well but I do hope we will meet again :)

Re-opening as the issue might be related to Prisma

I think you are correct it's a prisma issue.
Cannot run exec or something.
Prisma is so finicky.

Haven't tested but wondering is it because I'm using SQLite with a local file, maybe there is a permissions issue.
cc @oritwoen are you using drizzle with sqlite or remote (real) db?

Real database from Cloudflare using remote @jswhisperer On dev, i.e. nitro node preset, it works perfectly. With cloudflare-pages preset, something is clearly building incorrectly or pollyfils is missing.

Super happy to test, I thought cloudflare-pages was required with nuxt-hub
I managed to remove nuxt-hub and also deploy successfully . I'm ok to close this but is there documentation or how does one adjust the presets please.

Real database from Cloudflare using remote @jswhisperer On dev, i.e. nitro node preset, it works perfectly. With cloudflare-pages preset, something is clearly building incorrectly or pollyfils is missing.

Happy to close, could you specify how to change the presets... I didn't edit anything and it ran cloudflar-pages as a preset. My solution utimateley was to remove nuxt-hub and deploy elsewhere but not ideal obviously! :)
Article https://dev.to/jswhisperer/i-will-refuse-live-coding-interviews-from-now-on-3mfh
heres the code if you want a peak https://github.com/gregpalaci/nuxt-demo-books
and a preview https://lambent-fenglisu-27a5c4.netlify.app/


[Feature] Hubble new feature summary V1 (Wanted)

Feature Description (功能描述)
refer from the old hubble repo:

highlight syntax https://github.com/hugegraph/hugegraph-hubble/issues/330
Add Login/permission

https://github.com/hugegraph/hugegraph-hubble/issues/334
https://github.com/hugegraph/hugegraph-hubble/issues/381)

add a frame/space to show hubble's log in UI (later)

And bugs:

upload file size >1G https://github.com/hugegraph/hugegraph-hubble/issues/335
fe hit white-screen https://github.com/hugegraph/hugegraph-hubble/issues/341

@wanganjuan merged here for setting the priority

1: highlight syntax, already fixed https://github.com/apache/incubator-hugegraph-toolchain/pull/384

[Question] 能否禁用“图管理”中的“编辑”和“删除”功能？ hugegraph/hugegraph-hubble#381)

Need to implement this suggested feature？

[Feature] 建议增加使用者的登录和权限管理 hugegraph/hugegraph-hubble#334

relevant service interfaces need to be provided

upload file size >1G [Bug] 上传文件大小超过了限制 hugegraph/hugegraph-hubble#335

Not reproduced. The error message in bug comes from the server. Corresponding interface "api/v1.2/graph-connections/2/job-manager/4/upload-file", please also see the corresponding error log.

Feature (default settings / cache the previous input)

when we first open hubble, we should give a default settings model for users to input/modify
if user already input the graph config, we should cache them to reuse it at next time
allow press enter to create a graph (not only click by mouse)

@wanganjuan you can open a single issue to record it when free

@wanganjuan you can open a single issue to record it when free

ok

Also find hubble can't click open button with no clear reason/alert:

[BUG] Also find hubble can't click open button with no clear reason/alert:

Now we could only delete graph & reconfig it

In this situation in the figure, it can only be that the value of the enabled field is false.
I don’t know when this enabled is false


rome download when using a custom engine doesnt place items in Carthage directory

Almost done writing an engine for Google Cloud Storage (yes finally @blender), but i noticed the download command only dumps them in the root folder, and there's no indication for me to move them to the respective directories. Im referring to this from the help text:
Downloads and unpacks in Carthage/Build/<platform> frameworks and dSYMs found
  in S3, according to the local Cartfile.resolved

i was wrong - the path is maintained when unzipping


feat: completed the vertexai provider integration

Completed the integration of vertexAI
Screencast from 24-12-24 03:01:59 PM IST.webm
Integration test

Unit test

[x]  Implementation of Bedrock provider
[x]  Unit tests with good coverage
[x]  Integration tests with actual API calls (using test credentials)
[x]  Documentation updates
[x]  Example configuration
[x]  Successful chat completion, completion, and embedding requests
[x]  Error handling and proper status code mapping
[ ]  PR review and approval

fix #19
/claim #19

Thanks @Gmin2! Can you add support for streaming as well?

Can you review this @nirga, all things done

Hey @Gmin2,
Please copy, the "Definition of Done" defined in the issue to the PR, and mark everything you've done.

Please copy, the "Definition of Done" defined in the issue to the PR, and mark everything you've done.

hey @galkleinman, what it is meant by Example Configuration, for docs i need to send PR to docs repo ?

@Gmin2 both in docs and in here

can i get a review
cc @galkleinman @nirga

Implemented function calling, image, video and audio capabilities of the vertexai provider

Now waiting ffor review
via GIPHY

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add convert-px-to-vw-vh extension

Description

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Thanks for your contribution @Atiipik 🔥 I left a few things you can look into 🙂

Hello, I have made the requested modifications.

Hello, I change colors word in extension.

🚀


Create canonical article for pointer-events ?

As noted in this PR pointer-events has got some changes in recent months.
I think creating canonical article which we maintain and keep up with browser feature change (somewhere in fundamentals, not in update) would be great.
What do you think ? @sgomes @petele ??

I believe there have been follow-up articles for the changes, but I wouldn't be opposed to taking the original one, reworking it a bit, and making it a more permanent fixture in /web.
Would we have a place for this? @PaulKinlan WDYT?

happy to help/contribute if it's any help :)

+1 it feels like it is the correct time to get this into our canonical guidance.  We have https://developers.google.com/web/fundamentals/design-and-ui/input/touch/ from a long long time ago and it's lost and buried and not up to date.


fix(config): replace hostname in error string if opted

Replace all occurences of hostname in errors of result with "host"
Closes #240

Released in v3.7.0


[RELEASE] 2024.4.1

Release Checklist
Release details
Scheduled release date - 2024-04-15
Release captain responsible - @dcmcand
Starting point - a new release is out

[x] Create this issue to track and discuss the upcoming release.
[x] Use the previous release issue for any final release-specific discussions, then close.

This can be a good time to debrief and discuss improvements to the release process.

Looking forward - planning

[x] Create milestone for next release (if it doesn't already exist) and link it back here.
[x] Triage bugs to determine what be should included in the release and add it to the milestone.
[x] What new features, if any, will be included in the release and add it to the milestone.

This will be, in large part, determined by the roadmap.
Is there a focus for this release (i.e. UX/UI, stabilization, etc.)?

Pre-release process

[x] Decide on a date for the release.

What outstanding issues need to be addressed?
Has documentation been updated appropriately?
Are there any breaking changes that should be highlighted?
Are there any upstream releases we are waiting on?
Do we need to update the dask versions in the nebari-dask?
Will there be an accompanying blog post?

[x] Prepare for the release.

[x] Update the nebari upgrade for this release

[x] Add upgrade messaging including deprecation warnings, version specific warnings and so on.

[x] Announce build freeze.
[x] Release Candidate (RC) cycle.

Is this a hotfix?

[ ] Create a new branch off of the last version tag.

Use this branch to cut the pre-release and the "official" release.

[ ] git cherry-pick the commits that should be included.

[x] Perform end-to-end testing. Use the Testing Checklist template.

For minor releases, relying on the end-to-end integration tests might suffice.

[x] Cut RC via GHA release workflow (w/ "This is a pre-release" checked).
[x] End-user validation.

If possible, pull in volunteers to help test.
(Repeat steps if necessary)

[x] Update RELEASE.md notes.

Cut the official release
If there were changes to the following packages, handle their releases before cutting a new release for Nebari

[ ] Cut PyPI release for nebari-workflow-controller
[ ] Cut PyPI release for argo-jupyter-scheduler

These steps must be actioned in the order they appear in this checklist.

[x] Tag, build and push docker images
[x] Update and cut release for nebari-dask meta package on Conda-Forge.
[x] Update CURRENT_RELEASE (and any other tags) in the constants.py
[x] Cut PyPI release via GHA release workflow.

Avoid appending v to tag.

Copy release notes from RELEASE.md.

[ ] Merge automated release PR for nebari on Conda-Forge.
[ ] Merge release branch into main

This is done I assume, can we close? @marcelovilla

Closing, feel free to reopen if needed


Add filter to endpoints with pagination

for /transactions, we should be able to filter by TxHash, BlockHash, Sponsor, Actions, and I’m not sure how doable is adding filter by Transfer action, for example, the to value as it’s very specific
for /assets and /assets/user/:user, I think for the moment we can filter by asset_id, but can be by asset_creator, asset_type, by name or symbol

/transactions?tx_hash=0xasdfasdf
/transactions?block_hash=0xasdfasdf
/transactions?action_type=0
/transactions?action_name=transfer
/transactions?user=0xsadfasdf
/assets?type=0 (for fungible tokens, 1 for non-fungible, etc)
/assets?user=0xasdfasdf
/assets?asset_address=0xasdfsaf
/assets?name=Kiran
/assets?symbol=KP1

This is now done


Importing 70 Gig File results in "Error: Errno::ENOSPC - No space left on device - sendfile"

We are using Hyrax 3.6.0 and Bulkrax 5.5.1.
We are using Kubernetes to run Hyrax. I updated the cache_dir and storage_dir to use a volume with more than enough space. However, for very large files, I'm getting an "no space left on device" error.
It seems CarrierWave is trying to copy the file in the cache_dir before Bulkrax can ingest it. I've read about other people having issues with using copy_stream.
Is there a way to override CarrierWave so it doesn't do a copy? Does it need to do a copy in the first place?

Errored at: 2024-03-14 20:53:23 UTC
Error: Errno::ENOSPC - No space left on device - sendfile
Error Trace:
/usr/local/lib/ruby/2.7.0/fileutils.rb:1416:in copy_stream' /usr/local/lib/ruby/2.7.0/fileutils.rb:1416:in block (2 levels) in copy_file'
/usr/local/lib/ruby/2.7.0/fileutils.rb:1415:in open' /usr/local/lib/ruby/2.7.0/fileutils.rb:1415:in block in copy_file'
/usr/local/lib/ruby/2.7.0/fileutils.rb:1414:in open' /usr/local/lib/ruby/2.7.0/fileutils.rb:1414:in copy_file'
/usr/local/lib/ruby/2.7.0/fileutils.rb:511:in copy_file' /usr/local/lib/ruby/2.7.0/fileutils.rb:430:in block in cp'
/usr/local/lib/ruby/2.7.0/fileutils.rb:1589:in block in fu_each_src_dest' /usr/local/lib/ruby/2.7.0/fileutils.rb:1605:in fu_each_src_dest0'
/usr/local/lib/ruby/2.7.0/fileutils.rb:1587:in fu_each_src_dest' /usr/local/lib/ruby/2.7.0/fileutils.rb:429:in cp'
/usr/local/bundle/gems/carrierwave-1.3.3/lib/carrierwave/sanitized_file.rb:234:in copy!' /usr/local/bundle/gems/carrierwave-1.3.3/lib/carrierwave/sanitized_file.rb:224:in copy_to'
/usr/local/bundle/gems/carrierwave-1.3.3/lib/carrierwave/uploader/cache.rb:134:in cache!' /usr/local/bundle/gems/carrierwave-1.3.3/lib/carrierwave/mounter.rb:44:in block in cache'
/usr/local/bundle/gems/carrierwave-1.3.3/lib/carrierwave/mounter.rb:42:in map' /usr/local/bundle/gems/carrierwave-1.3.3/lib/carrierwave/mounter.rb:42:in cache'
/usr/local/bundle/gems/carrierwave-1.3.3/lib/carrierwave/mount.rb:146:in file=' /usr/local/bundle/gems/carrierwave-1.3.3/lib/carrierwave/orm/activerecord.rb:70:in file='
/usr/local/bundle/gems/bulkrax-5.5.1/app/models/concerns/bulkrax/file_factory.rb:129:in import_file' /usr/local/bundle/gems/bulkrax-5.5.1/app/models/concerns/bulkrax/file_factory.rb:121:in block in import_files'
/usr/local/bundle/gems/bulkrax-5.5.1/app/models/concerns/bulkrax/file_factory.rb:121:in map' /usr/local/bundle/gems/bulkrax-5.5.1/app/models/concerns/bulkrax/file_factory.rb:121:in import_files'
/usr/local/bundle/gems/bulkrax-5.5.1/app/models/concerns/bulkrax/file_factory.rb:16:in upload_ids' /usr/local/bundle/gems/bulkrax-5.5.1/app/models/concerns/bulkrax/file_factory.rb:23:in file_attributes'
/usr/local/bundle/gems/bulkrax-5.5.1/app/factories/bulkrax/object_factory.rb:264:in transform_attributes' /usr/local/bundle/gems/bulkrax-5.5.1/app/factories/bulkrax/object_factory.rb:124:in create'
/usr/local/bundle/gems/bulkrax-5.5.1/app/factories/bulkrax/object_factory.rb:59:in block in run' /usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications.rb:170:in instrument'
/usr/local/bundle/gems/bulkrax-5.5.1/app/factories/bulkrax/object_factory.rb:59:in `run'

Seems like the CarrierWave::sanitize_file(file) gets run twice. Once with the CarrierWave.cache_dir and one with the Hyrax::UploadedFileUploader.cache_dir. So:
First run, the file is being copied to Rails Application Root /tmp file then the second run, it uses the correct cache_dir...


Ensure that CRD docs are up to date with actual CRDs

Is there an existing issue for this?

[X] I have searched the existing issues

Problem Statement
Ensure that for each CRD in KIC CRD reference, there is no drift between the docs and the CustomResourceDefinition
Proposed Solution
Do the diff and fix discrepancies
Additional information
No response
Acceptance Criteria

[ ] No drift between CRD docs and CustomResourceDefinitions in KIC

Gateway API's docs do this well and seem to have it automated somehow. https://github.com/kubernetes-sigs/gateway-api/blob/6d1eb375fd46227fdf68d4196ad8b7596ee27986/apis/v1beta1/gateway_types.go#L68-L114 matches the text at https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io%2Fv1beta1.Gateway
They're using https://www.mkdocs.org/ to create the dev site, but it doesn't look like that definitely provides the generated content from Go types; it may rely on some helper or plugin.

Gateway API uses https://github.com/ahmetb/gen-crd-api-reference-docs to generate docs, seems like it's quite popular among other projects as well. I'll give it a try.

Completed by https://github.com/Kong/docs.konghq.com/pull/4813


Odin CLI

CLI arguments passed are ignored. ENV variables are red without issue but anything passed to the cli start is ignored.

This has been fixed in the latest version


Allow for multiple pods

Sometimes you need more than one pod when you want to try something in a playground. E.g. you very often need both RxSwift and RxCocoa (and sometimes the data sources pod).
I think it'd be great if you allow for a comma separated list when specifying the pods, eg something like this:

if pod name command line parameter contains ","
split name parameter by ","
add a "pod podname" line for each of the pods specified

Ta -daaa 🎉

Yeah it could be very interesting having support for multiples pods in the same Playground 👍


TSX indentation is broken due to update of 'xml' filetype indentation logic

Repro
Let's say to open the following lines with filetype=typescriptreact:
class MyComponent {
    public render() {
    return (

 this.state.data[row.index]}
    rowHeight={30}>
    <Column
    label="Age"
        rowHeight={30}
    width={90}
    height={100} />
    <Column
    width={210}
    label="Title"
    height={100}
    />
    <Column
    width={210}
        label="Title"
    height={100} />

    );
        }
}

This was taken from test case in test/tsx.indent.vader.
And type gg=G to apply indentation.
Expected behavior
Formatted as follows:
class MyComponent {
    public render() {
        return (

 this.state.data[row.index]}
                rowHeight={30}>
            <Column
                label="Age"
                rowHeight={30}
                width={90}
                height={100} />
            <Column
                width={210}
                label="Title"
                height={100}
            />
            <Column
            width={210}
            label="Title"
            height={100} />

        );
    }
}

Actual behavior
Formatted as follows:
class MyComponent {
    public render() {
        return (

 this.state.data[row.index]}
            rowHeight={30}>
            <Column
            label="Age"
            rowHeight={30}
            width={90}
            height={100} />
            <Column
            width={210}
            label="Title"
            height={100}
        />
                <Column
                width={210}
                label="Title"
                height={100} />

        );
    }
}

Analysis
As you see, the line after start of XML element does not increase indent. For example, the indent level at key1="123123" should be increased but is not increased actually.
I tried to fix this but found that it is hard to fix. I think continuing the current implementation is not possible. Let me explain.
yats.vim uses xml filetype logic for indenting XML part of TSX. It calls XmlIndentGet() which is defined in vim/runtime/indent/xml.vim:
https://github.com/vim/vim/blob/792f786aad8409ca9ab895392742643a5b6aed8f/runtime/indent/xml.vim#L103
When it is called with the line key1="123123" for example, it finally calls the below line of s:IsXMLContinuation():
https://github.com/vim/vim/blob/792f786aad8409ca9ab895392742643a5b6aed8f/runtime/indent/xml.vim#L152
As you see, this line only considers the case where filetype is xml. It means that setting typescriptreact to filetype does not work and the XML indentation logic can no longer recognize the start of XML element with continuation (like <foo). The &ft is# 'xml' check was added 12mo ago (though I don't know the reason):
https://github.com/vim/vim/commit/4ceaa3a6e0b8cb2994c303041aedcbb60527cd61#diff-166891d5fe142e1f046368eb5a2150188d8d63eb415a08a46b6ed1ed89aa9994L151-R152
To fix this, we need to change runtime/indent/xml.vim. However, xml.vim is logic for XML and does not consider to be used by any other filetype logics. I don't think the &ft is# 'xml' line can be changed only for fixing yats.vim.
IMO, typescriptreact indentation should not depend on XML indentation logic. For example, vim-jsx-pretty has its own logic to indent XML part. yats.vim also can do the similar thing. Reusing vim-jsx-pretty's logic might be good idea. I created this issue instead of making PR directly because the fix would make large changes and some decision making would be necessary.

I guess Travis CI does not fail because older Vim is used for testing. (It's Ubuntu 16.04)

Bump, this is very broken right now


Nested route not working

Here is my root component and nested route component but "/user/settings" route is not working.
export default function App() {
  return (
    <>

          <NavLink class="text-xl hover:text-blue-600" href="/" end>
            Home
          </NavLink>
          <NavLink class="text-xl hover:text-blue-600" href="/user">
            Ueser
          </NavLink>

          <Routes>
            <Route path="/" element={<Home />} />
            <Route path="/user" element={<User />} />
            <Route path="/*all" element={<NotFound />} />
          </Routes>

    </>
  );
}

function User() {
  return (

User Page

        <NavLink href="/" end>Back Home</NavLink>
        <NavLink href="/user">Profile</NavLink>
        <NavLink href="/user/settings" >Setttings</NavLink>

      <Routes>
        <Route path="/" element={<Profile />} />
        <Route path="/settings" element={<Settings />} />
        <Route path="/*all" element={<NotFound />} />
      </Routes>

  )
}

Hmm.. without looking into it, if I had to guess is because each Routes section is only aware of its own definition. In so the top *all is stealing the nested matches. I suspect if you made the top user route /user/* or maybe /user* that might get where you want.

With /user/* nested routes are working now. Thanks.

Now  <Route path="/*all" element={} /> is not working in nested route.

You are right. I suspect the nested root path is getting incorrectly joined with it's parent and basically ending up with two /user/* catch-all routes. I will investigate and fix.

I believe this is fixed now.


remove duplicate cmd.AddCommand(NewLanguagesCmd) at root.go

Changes

:bug: remove duplicate cmd.AddCommand(NewLanguagesCmd) at root.go

/kind bug

There are two cmd.AddCommand(NewLanguagesCmd(newClient)) in root.go line 101 and 103. So the generated binary func will display languages   List available function language runtimes twice (see below output of func). This PR is to fix this issue.
......
Usage:
  func [command]

Available Commands:
  build       Build a function project as a container image
  completion  Generate completion scripts for bash, fish and zsh
  config      Configure a function
  create      Create a function project
  delete      Undeploy a function
  deploy      Deploy a function
  help        Help about any command
  info        Show details of a function
  invoke      Invoke a function
  languages   List available function language runtimes
  languages   List available function language runtimes
  list        List functions
  repository  Manage installed template repositories
  run         Run the function locally
  templates   Templates
  version     Show the version
......


Use a new GCP environment check mechanism for google default credentials

Per DirectPath security requirements, we need to use a new GCE tenancy detection mechanism for google default credentials, that instead of querying metadata server for the information, will read from a local system file which is more secure and efficient.

This change is

****************************************************************

libgrpc.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                        ++++++++++++++

 -------------- SHRINKING                                                                      --------------
 -22.9%    -848 src/core/lib/security/credentials/google_default/google_default_credentials.cc    -848 -22.9%
     -99.6% -1.71Ki grpc_google_default_credentials_create                                         -1.71Ki -99.6%
      [DEL]    -204 on_compute_engine_detection_http_response                                         -204  [DEL]
      [DEL]      -5 destroy_pollset                                                                     -5  [DEL]

 -+-+-+-+-+-+-+ MIXED                                                                          +-+-+-+-+-+-+-
  +0.0%    +112 [None]                                                                         -3.55Ki  -0.0%
      +0.6%      +7 [None]                                                                               0  [ = ]
      [NEW]      +1 g_gce_tenancy_for_testing                                                            0  [ = ]
      [DEL]      -8 g_polling_mu                                                                         0  [ = ]

  -0.1%    -736 TOTAL                                                                          -4.38Ki  -0.0%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[microbenchmarks] No significant performance differences

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

src/core/lib/security/credentials/google_default/google_default_credentials.h, line 53 at r1 (raw file):

namespace internal {

grpc_channel_credentials* grpc_google_default_credentials_create_impl(

I propose a simpler API.  Have a static global variable that points to the function to call to determine if we are on GCE.  The default value will be grpc_alts_is_running_on_gcp.  Then have a single method to override that to point to a different function.  The test can set this to a local function, which can record whether or not it was called and can decide whether to return true based on the needs of the test.

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

src/core/lib/security/credentials/google_default/google_default_credentials.h, line 53 at r1 (raw file):
Previously, markdroth (Mark D. Roth) wrote…
I propose a simpler API.  Have a static global variable that points to the function to call to determine if we are on GCE.  The default value will be grpc_alts_is_running_on_gcp.  Then have a single method to override that to point to a different function.  The test can set this to a local function, which can record whether or not it was called and can decide whether to return true based on the needs of the test.

The code is revised. PTAL

Comments from Reviewable

****************************************************************

libgrpc.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                        ++++++++++++++

 -------------- SHRINKING                                                                      --------------
  -0.0%     -32 [None]                                                                         -3.94Ki  -0.0%
      -0.0%      -8 [Unmapped]                                                                     -3.95Ki  -0.0%
      -2.2%     -24 [None]                                                                               0  [ = ]
      [DEL]      -8 g_polling_mu                                                                         0  [ = ]
 -24.2%    -896 src/core/lib/security/credentials/google_default/google_default_credentials.cc    -896 -24.2%
     -39.6%    -696 grpc_google_default_credentials_create                                            -696 -39.6%
      [DEL]    -204 on_compute_engine_detection_http_response                                         -204  [DEL]
      [DEL]      -5 destroy_pollset                                                                     -5  [DEL]

  -0.1%    -928 TOTAL                                                                          -4.81Ki  -0.1%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[microbenchmarks] No significant performance differences

This looks good.  Just a few minor comments.

Reviewed 2 of 3 files at r2, 1 of 1 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

src/core/lib/security/credentials/google_default/google_default_credentials.h, line 48 at r3 (raw file):

} grpc_google_default_channel_credentials;

typedef bool (*grpc_gce_tenancy_checker)(void);

Please move this into the grpc_core::internal namespace below.

test/core/security/credentials_test.cc, line 125 at r3 (raw file):

static const char test_method[] = "ThisIsNotAMethod";

static bool test_is_on_gce = false;

Please add a comment like the following before this:
/* -- global state flags -- */

test/core/security/credentials_test.cc, line 125 at r3 (raw file):

static const char test_method[] = "ThisIsNotAMethod";

static bool test_is_on_gce = false;

Please use the prefix g_ for global variable names.

test/core/security/credentials_test.cc, line 923 at r3 (raw file):

static bool test_gce_tenancy_checker(void) {
  bool result =
      test_gce_tenancy_checker_called ? !test_is_on_gce : test_is_on_gce;

Instead of changing the result based on whether we've already been called to make sure that we're not called again, I suggest just resetting test_gce_tenancy_checker to false in the test and then check that it's still false after the second call.

Comments from Reviewable

Review status: all files reviewed at latest revision, 4 unresolved discussions.

src/core/lib/security/credentials/google_default/google_default_credentials.h, line 48 at r3 (raw file):
Previously, markdroth (Mark D. Roth) wrote…
Please move this into the grpc_core::internal namespace below.

Done.

test/core/security/credentials_test.cc, line 125 at r3 (raw file):
Previously, markdroth (Mark D. Roth) wrote…
Please add a comment like the following before this:
/* -- global state flags -- */

Done

test/core/security/credentials_test.cc, line 125 at r3 (raw file):
Previously, markdroth (Mark D. Roth) wrote…
Please use the prefix g_ for global variable names.

Done

test/core/security/credentials_test.cc, line 923 at r3 (raw file):
Previously, markdroth (Mark D. Roth) wrote…
Instead of changing the result based on whether we've already been called to make sure that we're not called again, I suggest just resetting test_gce_tenancy_checker to false in the test and then check that it's still false after the second call.

The code is revised. PTAL

Comments from Reviewable

Reviewed 3 of 3 files at r4.
Review status: all files reviewed at latest revision, all discussions resolved.

src/core/lib/security/credentials/google_default/google_default_credentials.cc, line 265 at r4 (raw file):

void set_gce_tenancy_checker_for_testing(
    grpc_core::internal::grpc_gce_tenancy_checker checker) {

No need for grpc_core::internal:: here, since this is already in that namespace.

Comments from Reviewable

****************************************************************

libgrpc.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                        ++++++++++++++

 -------------- SHRINKING                                                                      --------------
  -0.0%     -32 [None]                                                                         -3.94Ki  -0.0%
      -0.0%      -8 [Unmapped]                                                                     -3.95Ki  -0.0%
      -2.2%     -24 [None]                                                                               0  [ = ]
      [DEL]      -8 g_polling_mu                                                                         0  [ = ]
 -24.2%    -896 src/core/lib/security/credentials/google_default/google_default_credentials.cc    -896 -24.2%
     -39.6%    -696 grpc_google_default_credentials_create                                            -696 -39.6%
      [DEL]    -204 on_compute_engine_detection_http_response                                         -204  [DEL]
      [DEL]      -5 destroy_pollset                                                                     -5  [DEL]

  -0.1%    -928 TOTAL                                                                          -4.81Ki  -0.1%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                        ++++++++++++++

 -------------- SHRINKING                                                                      --------------
  -0.0%     -32 [None]                                                                         -3.94Ki  -0.0%
      -0.0%      -8 [Unmapped]                                                                     -3.95Ki  -0.0%
      -2.2%     -24 [None]                                                                               0  [ = ]
      [DEL]      -8 g_polling_mu                                                                         0  [ = ]
 -24.2%    -896 src/core/lib/security/credentials/google_default/google_default_credentials.cc    -896 -24.2%
     -39.6%    -696 grpc_google_default_credentials_create                                            -696 -39.6%
      [DEL]    -204 on_compute_engine_detection_http_response                                         -204  [DEL]
      [DEL]      -5 destroy_pollset                                                                     -5  [DEL]

  -0.1%    -928 TOTAL                                                                          -4.81Ki  -0.1%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[trickle] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE                                                                                FILE SIZE
 ++++++++++++++ GROWING                                                                        ++++++++++++++

 -------------- SHRINKING                                                                      --------------
  -0.0%     -32 [None]                                                                         -3.94Ki  -0.0%
      -0.0%      -8 [Unmapped]                                                                     -3.95Ki  -0.0%
      -2.2%     -24 [None]                                                                               0  [ = ]
      [DEL]      -8 g_polling_mu                                                                         0  [ = ]
 -24.2%    -896 src/core/lib/security/credentials/google_default/google_default_credentials.cc    -896 -24.2%
     -39.6%    -696 grpc_google_default_credentials_create                                            -696 -39.6%
      [DEL]    -204 on_compute_engine_detection_http_response                                         -204  [DEL]
      [DEL]      -5 destroy_pollset                                                                     -5  [DEL]

  -0.1%    -928 TOTAL                                                                          -4.81Ki  -0.1%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[microbenchmarks] No significant performance differences

[microbenchmarks] No significant performance differences

Commits are squashed and all internal tests were passed.

Thanks Jiangtao for the quick review. Will merge now.