Virus Total

So i virus totalled this software and an engine called [Malicious.high.ml.score] popped up here is the link that has the scan in just curious if this is harmful or just a false positive because nobody has reported issues like virus' or malware to do with this software yet
https://www.virustotal.com/gui/file/aee3a15b4ff66949f2fccb38462fed3535ec0a76f00c6193e12304e7773bd57d/detection

Apparently that means that Trapmine's machine learning AI thinks that something in BrawlBuilder looks like a virus. It's a false positive, but feel free to look through the code or compile it yourself, I can assure you there's nothing malicious in there. Going to leave this issue open so it's easy for other people to see though.

that was quick i dont know much about compiling but ill ask a friend who knows a lot more than me to verify

Just re-ran the scan and the Trapmine result is gone (maybe VirusTotal stopped using them?) but it is detected by "SecureAge APEX" and (sometimes) "MaxSecure". Those are both pretty unheard of virus programs and the fact that no other programs detect anything means you can pretty safely assume it's a false positive.
For the record, I tried submitting an empty Windows Forms App and get the exact same results, so I doubt there's anything I can do to fix it, they seem to flag pretty much any .NET WinForms app, even ones that do nothing. Here's the steps to try it yourself if you're curious:

Start Visual Studio 2019
Create a new Project
Choose "Windows Forms App (.NET Framework)"
Name it whatever, change the Framework to ".NET Framework 4" (this is what BrawlBuilder uses)
Click "Create"
At the top of the window change the "Debug" dropdown to "Release".
Open the "Build" menu along the top, choose "Build Solution"
Submit the built .exe to VirusTotal (it'll be in the project directory, under the "bin/Release" folder)

After doing that and submitting to VirusTotal, I get the same results that the BrawlBuilder scan returns, even though this program does nothing but open up an empty window: https://www.virustotal.com/gui/file/cc46eff73a3c0aa8c144f41c672ba4e5217aefb47ccc5ece1a5c6e5ab04aab48/detection
Note that sometimes the MaxSecure result will show up there, sometimes it won't, no clue why. Seems to happen more often if I add a label or some other control to the form. Either way, it's definitely not actually a virus, and I'd assume that since these virus programs are saying that this empty application is a virus, that's also why they're saying BrawlBuilder is a virus.


get_activities results in AssertionError

upgrading from 0.3.0 to 0.4.0 broke get_activities. See the example below:

Ah, sorry; somehow I didn't encounter that issue.  Will fix asap.

Oh, wait; I didn't realize what you are doing. Yeah "after" should be a datetime.datetime value, not a datetime.date object.  This is because the value must be coerced to UTC and I don't believe datetime.date objects aren't tz-aware.

ah great, that fixed it in 0.4.0. many thanks for the quick response!


[Form] Don't use field appearances when /NeedAppearances is set to true (bug 1796741)

When a form isn't changed, we used the appearances we had in the file, but when /NeedAppearances is true, all the appearances have to be regenerated whatever they're.

I can't access the bug, can you please CC me on it so that I have access to the complete context here?

/botio test

/botio test

/botio test

About the "regressions":

issue12504.pdf: it has the flag /NeedAppearances set to true;
issue12750.pdf: ditto;
annotation-tx.pdf: ditto;
bug1669099.pdf: ditto and the newly created borders are slightly different from the ones we had in the stream;
issue12233.pdf: ditto.

So they aren't regressions at all but only improvements.

annotation-tx.pdf: ditto;

But the rendering, in the ref-test, is now double which makes no sense.
My point here is that something caused the ref-test image to regress, such that it's no longer is a good representation of how the document actually renders/prints in the viewer, and that part needs investigation/fixing here.

annotation-tx.pdf: ditto;

But the rendering, in the ref-test, is now double which makes no sense.
Furthermore you can easily reproduce this in the viewer itself, with the annotationMode = 1 option set, which means that this is a real regression and not just some test-suite weirdness.
My point here is that something caused the ref-test image to regress, and you such that it's no longer is a good representation of how the document actually renders/prints in the viewer, and that part needs investigation/fixing here.

annotation-tx.pdf: ditto;

But the rendering, in the ref-test, is now double which makes no sense. Furthermore you can easily reproduce this in the viewer itself, with the annotationMode = 1 option set, which means that this is a real regression and not just some test-suite weirdness.

It's because of the test itself:
https://github.com/mozilla/pdf.js/blob/098ca670d0f290fbc3f70c66080708a5e4b67155/test/test_manifest.json#L4984
We render the annotation layer:
https://github.com/mozilla/pdf.js/blob/098ca670d0f290fbc3f70c66080708a5e4b67155/test/driver.js#L693
And annotationMode is undefined:
https://github.com/mozilla/pdf.js/blob/098ca670d0f290fbc3f70c66080708a5e4b67155/test/driver.js#L733
which will cause to have annotationMode set to AnnotationMode.ENABLE.
So renderForms is false:
https://github.com/mozilla/pdf.js/blob/098ca670d0f290fbc3f70c66080708a5e4b67155/src/core/document.js#L462
and finally we don't enter in the block here:
https://github.com/mozilla/pdf.js/blob/098ca670d0f290fbc3f70c66080708a5e4b67155/src/core/annotation.js#L1682
and then the appearance stream is used to render the annotation.
I didn't consider this "regression" as one because for me it was because of the annotation type in the test and consequently on purpose.

It's because of the test itself:

Sorry, but that still doesn't explain why it can be reproduced in the viewer with annotationMode = 1 set!?

I still don't at all understand why these changes lead to the double rendering here, and I don't think it's correct to just leave this as-is.
(And this PR now looks way to risky to land less than a week before the next release...)

The annotation is rendered one time in the annotationLayer and a second time in the canvas because the intent parameter in the getOperatorList function doesn't contain the flag  RenderingIntentFlag.ANNOTATIONS_FORMS.

The pdf has the flag /NeedAppearances set to true which means that the appearance for this form field must be generated based on its value, it's why there is something to render.
The stream is null here, so it's why because the patch an empty appearance was "rendered" on the canvas.

Maybe the fix is just to add RenderingIntentFlag.ANNOTATIONS_FORMS in the intent when we've an annotation layer.
But I think we should do that in a follow-up.

/botio test

/botio test

/botio makeref


Sample application to illustrate side-inputs using stream table join

An example job to illustrate usage of side inputs using a simple stream table join. The table is populated using the side-input stream.

Is this pull-request no longer necessary? Can we close if not needed.

I lost access to this account due to 2FC issues.
Will see if I can close it somehow.

Since @mynameborat has lost access to his account, I'm closing this PR.


Problems sending messages with CLI

BUG REPORT

What were you trying to achieve?

Once the system is freshly started (using docker compose on the master branch) and provisioned (with CLI privision test), Ive send a message from one generate thing to one generated channel using the CLI like this:
./mainflux-cli messages send 16917403-c0b2-4d67-86e3-fd473b93fa4f '[{"bn":"some-base-name:","bt":1.276020076001e+09, "bu":"A","bver":5, "n":"voltage","u":"V","v":120.1}, {"n":"current","t":-5,"v":1.2}, {"n":"current","t":-4,"v":1.3}]' 55644f44-a79f-4b12-bdb3-a1fbd79bc2d8

Response is ok as expected.
When I try to read messages for that thing on that channel using CLI like this:
./mainflux-cli messages read 16917403-c0b2-4d67-86e3-fd473b93fa4f ca7a176d-78d8-4f68-ae2a-9a5c9beb77f3

I got the following error:
Get http://localhost:8905/channels/16917403-c0b2-4d67-86e3-fd473b93fa4f/messages: dial tcp <IP_ADDRESS>:8905: connect: connection refused

Looking at docker containers, I got no container with port 8905 mapped. Things container has this mapping:
<IP_ADDRESS>:8182-8183->8182-8183/tcp, <IP_ADDRESS>:8989->8989/tcp

What are the expected results?

Get the messages instead of the error.

What are the received results?

Error described above.

What are the steps to reproduce the issue?

// once the repo is clonned and CLI is built:
mainflux-cli provision test
// send message (this works ok). json_message taken from examples to be sure:
mainflux-cli things messages send <channel_id> <json_message> <thing_key>
// read messages in channel for this thing, got the error described:
mainflux-cli things messages send <channel_id> <thing_key>

In what environment did you encounter the issue?

Master branch run using default docker-compose file.

Additional information you deem important:

Not much.

@luixal Looks like you are only running core services. You also need a database writer and reader.
Try with:
docker-compose -f docker/addons/influxdb-writer/docker-compose.yml up
docker-compose -f docker/addons/influxdb-reader/docker-compose.yml up

Thanks for such a quick response @manuio. I've run the writer and reader and now I'm no getting errors, but I'm still not getting messages:
{
  "limit": 0,
  "offset": 0,
  "total": 0
}

Messages I've tried sending:
Example message:
[{"bn":"some-base-name:","bt":1.276020076001e+09, "bu":"A","bver":5, "n":"voltage","u":"V","v":120.1}, {"n":"current","t":-5,"v":1.2}, {"n":"current","t":-4,"v":1.3}]

And the same message without the bt field. No idea if it's mandatory (and I also haven't been able to find a converter from date to timestamp CBOR format...)
I've noticed I get some logs when sending a message in mainflux-things and mainflux-http like this:
mainflux-things | {"level":"info","message":"Method can_access for channel 16917403-c0b2-4d67-86e3-fd473b93fa4f and thing ca7a176d-78d8-4f68-ae2a-9a5c9beb77f3 took 322.947µs to complete without errors.","ts":"2020-05-04T14:34:24.11496665Z"}
mainflux-http   | {"level":"info","message":"Method publish to channel 16917403-c0b2-4d67-86e3-fd473b93fa4f took 1.061175ms to complete without errors.","ts":"2020-05-04T14:34:24.115199069Z"}

but none in mainflux-influxdb, mainflux-influxdb-writer or mainflux-influxdb-reader.
Is there any other config needed? Thanks!

@luixal Our master branch was broken last week. We merged the fix this morning but it could be that you are using a version with a bug. Can you please pull latest master branch and do make docker_http and make docker_influxdb-writer. When it's done run again docker-compose.

Ok @manuio, I had pulled this morning, but didn't perform the make commands (just removed docker images assumed CI/CD would have push changes to dockerhub).
In case anyone gets here, as @manuio said, building latest changes did the trick:
Just pulled again (just in case, no changes downloaded) and run:
make docker_http
make docker_influxdb-writer
make docker_influxdb-reader

then run containers like this:
docker-compose -f docker/docker-compose.yml -f docker/addons/influxdb-writer/docker-compose.yml -f docker/addons/influxdb-reader/docker-compose.yml up

And it did the trick:
{
  "limit": 10,
  "messages": [
    {
      "channel": "77a29be6-43bc-4f61-b382-33e2b090ce55",
      "name": "current",
      "protocol": "http",
      "publisher": "e26a891c-bfaf-41b7-a79a-05608866732b",
      "time": -4,
      "value": 1.3
    },
    {
      "channel": "77a29be6-43bc-4f61-b382-33e2b090ce55",
      "name": "current",
      "protocol": "http",
      "publisher": "e26a891c-bfaf-41b7-a79a-05608866732b",
      "time": -5,
      "value": 1.2
    }
  ],
  "offset": 0,
  "total": 2
}

Just for taking in count, how often are new images pushed to dockerhub?
Thank you very much!

@luixal Let me explain better. Every time that a pull request is merged in the master we build new docker images. You can pull github repo and run a docker composition but still use old images. To update the images that you are using locally you can do docker pull mainflux/http to use the image from DockerHub or make docker_http  to build it locally. In any case glad to ear that it's working for you.


Pull requests are welcome


[web] How to use integrate with firebase

How to Integrate FlutterWeb with Firebase and perform CRUD

You can use the firebase_web plugin
https://pub.dev/packages/firebase_web

Thanks, but how to use it, Is there any steps, Could you please provide me small sample

What did you try so far? Instructions on how to use the package are in the pub link i sent you.
Take a look at this issue as well #32524

@ja2375  I have created sample app, But I dont know where is the problem, Can you please check:
https://drive.google.com/file/d/1z1HmKdrP_gXIlN6mxJb7k0A2bezMbRB0/view?usp=sharing

Main.Dart:
main() async {
//Use for firebase package development only
await config();
try {
fb.initializeApp(
apiKey: apiKey,
authDomain: authDomain,
databaseURL: databaseUrl,
storageBucket: storageBucket,
projectId: projectId);
MessagesApp().showMessages();

} on fb.FirebaseJsNotLoadedException catch (e) {
print(e);
}
}
class MessagesApp {
final CollectionReference ref;
final UListElement messages;
final InputElement newMessage;
final InputElement submit;
final FormElement newMessageForm;
final ButtonElement enableNetwork;
final ButtonElement disableNetwork;
MessagesApp()
: ref = fb.firestore().collection("pkg_firestore"),
messages = querySelector("#messages"),
newMessage = querySelector("#new_message"),
submit = querySelector('#submit'),
newMessageForm = querySelector("#new_message_form"),
disableNetwork = querySelector("#disable"),
enableNetwork = querySelector("#enable") {
newMessage.disabled = false;
submit.disabled = false;

disableNetwork.onClick.listen((_) {
  final log = Logger('main.dart');
  log.fine('Click on disable');
  fb.firestore().disableNetwork();
  disableNetwork.hidden = true;
  enableNetwork.hidden = false;
   print("Enable network button");
});

enableNetwork.onClick.listen((_) {
  fb.firestore().enableNetwork();
  disableNetwork.hidden = false;
  enableNetwork.hidden = true;
});

this.newMessageForm.onSubmit.listen((e) async {
  e.preventDefault();

  if (newMessage.value.trim().isNotEmpty) {
    // store also created at for purposes of ordering
    var map = {"text": newMessage.value, "createdAt": DateTime.now()};

    try {
      newMessage.value = "";
      await ref.add(map);
    } catch (e) {
      print("Error while writing document, $e");
    }
  }
});

}
showMessages() {
this.ref.orderBy("createdAt").onSnapshot.listen((querySnapshot) {
for (var change in querySnapshot.docChanges()) {
var docSnapshot = change.doc;
switch (change.type) {
case "added":
_renderItemView(docSnapshot);
break;
case "removed":
_removeItemView(docSnapshot);
break;
case "modified":
_modifyItemView(docSnapshot);
break;
}
}
});
}
_renderItemView(DocumentSnapshot docSnapshot) {
var spanElement = SpanElement()..text = docSnapshot.data()["text"];
var aElementDelete = AnchorElement(href: "#")
  ..text = "Delete"
  ..onClick.listen((e) {
    e.preventDefault();
    _deleteItem(docSnapshot);
  });

var aElementUpdate = AnchorElement(href: "#")
  ..text = "To Uppercase"
  ..onClick.listen((e) {
    e.preventDefault();
    _uppercaseItem(docSnapshot);
  });

var element = LIElement()
  ..id = "item-${docSnapshot.id}"
  ..append(spanElement)
  ..append(aElementDelete)
  ..append(aElementUpdate);
messages.append(element);

}
_removeItemView(DocumentSnapshot docSnapshot) {
var element = querySelector("#item-${docSnapshot.id}");
if (element != null) {
  element.remove();
}

}
_modifyItemView(DocumentSnapshot docSnapshot) {
var element = querySelector("#item-${docSnapshot.id} span");
if (element != null) {
  element.text = docSnapshot.data()["text"];
}

}
_deleteItem(DocumentSnapshot docSnapshot) async {
try {
await this.ref.doc(docSnapshot.id).delete();
} catch (e) {
print("Error while deleting item, $e");
}
}
_uppercaseItem(DocumentSnapshot docSnapshot) async {
var value = docSnapshot.data();
var valueUppercase = value["text"].toString().toUpperCase();
value["text"] = valueUppercase;
try {
  await this.ref.doc(docSnapshot.id).update(data: value);
} catch (e) {
  print("Error while updating item, $e");
}

}
}

All Key set on assets.dart:
String get apiKey => _getConfig('AIzaSyCXZb4u19aYdV27jkGTzeMSxF_pYOs7Ypk');
String get authDomain => _getConfig('flutterdemo-99e52.firebaseapp.com');
String get databaseUrl => _getConfig('https://flutterdemo-99e52.firebaseio.com');
String get storageBucket => _getConfig('flutterdemo-99e52.appspot.com');
String get projectId => _getConfig('flutterdemo-99e52');
String get messagingSenderId => _getConfig('1038690569928');
String get serverKey => _getConfig('AAAA8dbITsg:APA91bFIPHEvQWv5sCMbeIvlw4ElRNr9Z0NXCC_JS5YCKoXACH-d16FAH_wQC24Tcv_1-Yw_40uF6QN6_egQz6kQLSVSONdrMmIEG9BJMF5I5Qo-SZbKFcl0tuN6W4JuBJU2bRmb1Yqx');
String get vapidKey => _getConfig('BHktmAa-2a0XB2T_RqecpkJJZLfCVF5yvFlo0pA-OLTqJczf9JMGXf2STjlLkU3f-whadYNqCf-KI3gvT5ddwNQ');

dependencies:
flutter_web: any
flutter_web_ui: any
js: ^0.6.0
firebase: ^5.0.4
dev_dependencies:
build_runner: ^1.5.0
build_web_compilers: ^2.1.0
pedantic: ^1.7.0

Ok. I will take a look as soon as I have some time. But tell me, what are you exactly trying to achiev?

I am try to Save and get any text to firebase

@ja2375 Please help me, it is very urgent task for me.

It is a bit weird that this is urgent for you provided that it's weekend...
Nevertheless, I just checked your code and I saw nothing related to flutter web. I just saw some dart that appears to be copied & pasted from the pub example...
Are you sure you are trying to implement this for flutter web?

Yes I have implement this for flutter web:
You can please check the attached sample: https://drive.google.com/file/d/1z1HmKdrP_gXIlN6mxJb7k0A2bezMbRB0/view?usp=sharing

I have used this code from: https://github.com/FirebaseExtended/firebase-dart/tree/master/example/firestore

I saw the sample attachment.
But that code is for dart web, not flutter web. That is the reason I'm asking you.
Dart can be used to create web pages. And flutter web uses dart and dart2js to compile dart to JavaScript. But flutter web is not the same as dart web.
If you want to create a flutterweb app, you have to have some flutter (for mobile) knowledge first.

Can I use https://pub.dev/packages/firebase_web form flutter_web

You can. Of course. But not just by copy pasting. It will need some tweaking.
Please go and ask in Stack Overflow. This is not a flutter issue but rather a how-to.

Could you please provide me any code line

I can use same as Mobile and key I should define as:
void main() {
// The values were copied from Firebase console
initializeApp(
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
name: "...",
);
runApp(MyApp());
}

Done


Setting up ESLint and Prettier

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Settings up ESLint and Prettier for github workflows? I think I can work on this, can you please assign me?

Thank you so much for you interest @AbhijithGanesh but this repo mainly consists of issues that I am practicing to work on. Hope you understand :)


fix: update serialization for DestinationDefinitionRead object

Update Serialization for DestinationDefinitionRead Object
Summary
This PR addresses serialization issues in the DestinationDefinitionRead object. The serialized JSON response was missing the custom field and the release_date was being deserialized incorrectly as a String instead of Vec<u16>.
Changes

Added missing custom field to serialized output
Updated the deserialization logic for release_date to use Vec<u16> instead of String

Example Serialized Response
{
  "destinationDefinitionId": "65de8962-48c9-11ee-be56-0242ac120002",
  "name": "Milvus",
  "dockerRepository": "airbyte/destination-milvus",
  "dockerImageTag": "0.0.1",
  "documentationUrl": "https://docs.airbyte.com/integrations/destinations/milvus",
  "icon": "<svg...></svg>",
  "protocolVersion": "0.2.0",
  "custom": false,
  "supportLevel": "community",
  "releaseStage": "alpha",
  "releaseDate": [2023, 8, 15],
  "supportsDbt": false,
  "normalizationConfig": {
    "supported": false
  }
}

Next Steps
After merging this PR, a new version of the library should be built and published to crates.io.
Please review and if all looks good, proceed with merging.

Hi @omid, please take a look on that :)

Please use the just file we have to do these replacements.
Then it'll be easier to do so when there is a new version.

Please also link to the code in airbyte with these specs, for custom and release_date  🙏🏼

Sure thing! I'll tweak it as soon as I can find a moment this week.


fix(find_files.ps1): Fixes logic error in condition for setting $QUERYYPARAM

The logic for setting $QUERYPARAM when $QUERY has size 0 (zero) was reversed, which I believe caused the program to open and close without showing an error message. As at https://github.com/tomrijndorp/vscode-finditfaster/issues/22

Thanks for submitting @valdyjunior! I think there's something more to this, though. With your change, --query would only be appended when the text selection in VS Code is empty, and this is the opposite from what should happen. @ihdavids maintains the Windows version, I'm hoping he'll be able to have a look soon.


Support for local test runners

Lets say I have a project with a stryker.conf.js in the root and i want to use a custom test runner my-runner.
I should be able to do this:
// myTestRunner.js
var TestRunnerFactory = require('stryker-api').TestRunnerFactory;

function MyTestRunner(options){
  this.options = options;
}

MyTestRunner.prototype.run = function(options){
  console.log('run!', options);
  return Promise.resolve();
}

TestRunnerFactory.instance().register('my-runner', MyTestRunner);

// stryker.conf.js
module.exports = function(config){
  config.set({
     //...
     testRunner: 'my-runner',
    plugins: ['./myTestRunner']
  });
}

However when I run stryker (with logLevel: 'trace')i get the following error:
[2016-07-28 17:38:42.604] [TRACE] IsolatedTestRunnerAdapter - [2016-07-28 17:38:42.604] [WARN] PluginLoader - Cannot find plugin "./myTestRunner".

  Did you forget to install it ?
  npm install ./myTestRunner --save-dev
...
Error: Could not find a testrunner with name my-runner, did you install it correctly (for example: npm install --save-dev stryker-my-runner-runner)?

This is because the test runner runs in a child process. It uses the PluginLoader correctly, but it uses a different working directory from the project root.
To solve this, I think we should fix this by passing the cwd of the root process and prepending it to any local plugin (plugins starting with a .).
Further more, i could also add the test runner in the stryker.conf.js file it self:
// stryker.conf.js
var TestRunnerFactory = require('stryker-api').TestRunnerFactory;

function MyTestRunner(options){ /*...*/ }

MyTestRunner.prototype.run = function(options){ /*...*/}

TestRunnerFactory.instance().register('my-runner', MyTestRunner);

module.exports = function(config){
  config.set({
    // ...
    testRunner: 'my-runner'
  });
}

However, if we want to support this scenario, we should also make sure we import the config file itself from the child process the test runner starts in, just to make sure we also get all side effects. Do we want that? For example karma allows you to inline plugins.
I would say we could leave that out for now.

I think that a config should just be a config and not contain code for a test runner. I think it's a good idea to take every plugin that starts with a . as a relative path and try to include it that way.
What would be bettter, to take the current working directory as the starting point to look or the location of the config file?

I think the location of the config file is the most logical. That way, it would be as if you require it from the config file. That should be the case for every plugin.
For example, if i put my config in a different directory:
// config/stryker.conf.js
module.exports = function(config){
  config.set({
     //...
     reporter: 'my-reporter',
    plugins: ['./MyReporter']
  });
}

My reporter is in the same directory:
// config/MyReporter.js
var ReporterFactory = require('stryker-api').ReporterFactory;
ReporterFactory.instance().register('my-reporter', function(){});

I think this now results in an error. This should be fixed with this issue as well.

Close for now (will be fixed with #650)


updated regex for legal name and cardholder name

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/23175
PROPOSAL: https://github.com/Expensify/App/issues/23175#issuecomment-1642204650
Tests

go to settings > profile > personal details > legal name
enter any name with numbers in it or special characters and see that error appears
now go to settings  > payments > debit card
repeat step 2 and see that error appears

[x] Verify that no errors appear in the JS console

Offline tests
NA
QA Steps

go to settings > profile > personal details > legal name
enter 1111111 in the field and check that error appears
now go to settings  > payments > debit card
enter 1111111 in the cardholder name field and check that error appears

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/54641656/ffe00531-576d-4b6d-8e9e-cb95824c5d94

Mobile Web - Chrome
https://github.com/Expensify/App/assets/54641656/9748ab03-deb0-450d-9f7b-30cdfae9256a

Mobile Web - Safari
https://github.com/Expensify/App/assets/54641656/13cb5df7-1f39-4f0d-996b-513da3020eb2

Desktop
https://github.com/Expensify/App/assets/54641656/6cfe3131-7072-4db2-95e4-f510bd95de17

iOS
https://github.com/Expensify/App/assets/54641656/bf549aa8-f61e-409f-a8ab-39cddfdb8c8d

Android
https://github.com/Expensify/App/assets/54641656/3c3e3736-8f0e-4b49-92f9-a019ef6201fa

@chiragxarora could you please ask about it on slack too so we get them faster? And link the existing translation screenshot.

@chiragxarora just want to confirm if you checked we don't already have a regex that is characters only?

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@robertjchen friendly bump :)

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/robertjchen in version: 1.3.50-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.50-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/robertjchen in version: 1.3.51-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

Could this have caused a regression? https://expensify.slack.com/archives/C049HHMV9SM/p1691943529706359


Ask IT for a server to host the application

Ask @dmcassel how to do this.

We have asked for a server, we need ability to ssh to server.

I've installed ML9, so you may not need to ssh.


Make self update work on top of run mechanism

https://github.com/HaxeFoundation/haxelib/pull/284#issuecomment-195353626

Ooh, you should've just force-pushed into previous PR branch, that PR has some interesting discussion, but oh well.

Thanks a lot for the work!
I've just reviewed the design, but haven't looked into the code yet. It sounds pretty good to me.
I can see that there are still issues. I describe them below, followings with a proposal to mitigate.

This PR's implementation depends on how haxelib run works. What if we want to change that in the future? e.g. It has been discussed we may replace "run.n" with a "Run.hx" that is run by the macro interpreter, such that we can remove the neko dependency.
The existing haxelibs may not be able to perform selfupdate. We should document the issue, but I guess we cannot assume everyone will read...

My proposed solution: Implement a way to prevent people with certain old haxelib version downloading new versions of "haxelib_client". We can let the haxelib client add an additional GET param that states it version when downloading libraries. The server will return an error if the requesting client has an version incompatible to the new version. For existing haxelib clients, they will not send out this GET param, thus the server will know that it must be an old client.
What do you think? If you agree and don't have another design, you may merge this PR and we can start to work from here.

This PR's implementation depends on how haxelib run works. What if we want to change that in the future? e.g. It has been discussed we may replace "run.n" with a "Run.hx" that is run by the macro interpreter, such that we can remove the neko dependency.

haxelib run already supports interp version, if you specify main field in the haxelib.json file, that should be enough. I didn't really review the changeDir stuff in the PR, it may have some issues if we're going to change the behaviour regarding cwd in run (see #272).

The existing haxelibs may not be able to perform selfupdate. We should document the issue, but I guess we cannot assume everyone will read...

Actually, on windows I think they will be able, since it nekoboots a new executable. The problem is with unixes that was discussed in #284

My proposed solution: Implement a way to prevent people with certain old haxelib version downloading new versions of "haxelib_client". We can let the haxelib client add an additional GET param that states it version when downloading libraries. The server will return an error if the requesting client has an version incompatible to the new version. For existing haxelib clients, they will not send out this GET param, thus the server will know that it must be an old client.

 This requires more thought as we clearly don't want to introduce a lot of code for such migration.

Point one: Indeed we are dependent of how run works, but on the other hand we use it here because we know it's working really well.
If we change how it works then haxelib is just like all affected libraries.
Point two: no they can, and it'd work as long as they keep the first "new" haxelib the upgrade to, unless it's broken already for them (bundled nekobooted version from an haxe installer on linux) but nothing we can do here.
Interesting solution, so filtering the result of SiteApi.infos based on the transmitted version (or lack thereof) of haxelib and if an error is thrown it'll get printed, maybe too much just for that, and not sure how we'd actually do it.
The changeDir is true by default and will do the same thing as before, it's set to false when running the haxelib_client so that it's behaving just like if you launched it from the directory where you launched haxelib.

Okay, I looked at the changeDir logic. It feels a bit weird to use different run mechanism here.
Maybe it would be better to conform the current run protocol and check for HAXELIB_RUN env variable, pop the cwd from the last argument and do Sys.setCwd again. That way we can run with both haxelib run haxelib_client and just haxelib. We also don't need to add --safe arg when calling haxelib_client from haxelib, just check for EITHER --safe or HAXELIB_RUN env var (if we do that, we can rename --safe to something more intuitive, but i'm not sure what exactly atm).
Personally, I'm not a fan of this cwd dance, but at least it would be consistent. And we have another issue about reworking that (#272).

As for forbidding updates, another option would be to just rename the library, so it won't be updated for older clients, but newer ones will check for the new name. I think I like this approach, since it's not like people are expecting selfupdate to work anyways :)

For the changeDir, that would indeed allow to let run as is, I'll change it.
I like the renaming approach, and it would fully work, how about just haxelib?

I like the renaming approach, and it would fully work, how about just haxelib?

Ok with me

@andyli do you think this gets it all covered?

Hmm, I wonder how big extra process calling overhead will be for haxelib path runs. They are quite performance-critical because they are called by haxe compiler for each lib.

We could "fix" it by having only one call to path per compilation, for all libs mentioned, and all their deps.
Would be even better actually, well for the next haxe at least.

Agreed, we should look into that.

We could also load the neko.n, that's not the run command at all anymore, but that'd avoid a new process.
No idea if that's faster, or safe, though.

You mean run.n? Yeah I also thought about that, I also have no idea if it's any better :)

Yeah :)
Well the file is load from disk and parsed in both case,
so that's the cost of a new process versus the one of the code to load a n module in another.
Maybe not worth the risk now that I'm thinking more about it.

Oh I was worried that people without haxe 3.3+ wouldn't get the fix and ends up with a high cost for path on compilation, but nobody should have haxelib 3.3+ without haxe 3.3+ (since it doesn't selfupdate to it) or haxe 3.3+ without haxelib 3.3+ (that would be weird).
So it'll be ok, could even change the default behavior of path I guess.

Yeah, now would be the right time to implement support for haxelib path multiple arguments.

I'll look into it now.

Oh wait, it's already there and actually works just like that, sorry for the noise!

And it's cached for completion, so I think this overhead doesn't really matter.

I'm itching to merge this \o/

The lib name isn't changed yet, should other people vote on it? Not like it's a big deal.

I don't think anyone besides Andy cares as long as it works :)

Yeah, I think the plan is all good now.
I like renaming "haxelib_client". I understand the existing haxelibs may selfupdate correctly, but they may not as well, so I think it is good to force everyone to get the new haxelib alongside with haxe 3.3, and selfupdate will work reliably from now on.
I still think that it would be useful to send additional params when the clients request to install new libs. It could gives us statistics about the number of currently active haxe/haxelib versions etc. But it could be implemented later.
So, please go ahead to change the doRun("haxelib_client") to doRun("haxelib") (and other related parts), and then merge as you wish : )

Okay, then I'll merge this and then change library name and cleanup leftovers.
After that I think there's some work to do regarding installers, linux/homebrew packages and whatnot. Will you handle that @andyli?

No problem, I will handle those. It is merely changing the haxe Makefile to use a nekobooted haxelib instead of the scripted version.

Merged manually in b4799e889bcacccb852f7b56a06bd49c71032b42

Oh, one more consideration:
When haxe 3.4/4 is released and bundle a even newer haxelib. The user's "haxelib haxelib" may still exist with an older version. So the newer haxelib may call the older haxelib... Should there be a sam-ver check to ensure the newer one is always prefered (except --safe)?

Hmm, maybe we should check if installed version greater than current!

I made a meta-issue with current stuff related to this: #293


Send and receive only ArrayBuffers

Change transferred data from string objects to ArrayBuffers

After some research, we found out that WebSockets can transfer these types of data by default. As you can see, it transfers strings by converting them to Bytes "under the hood" already. We can then send strings instead of taking strings and then converting them do Bytes, since WebSockets already do that, making this process redundant.
Based on that we decided stick with the following method:
// client
let dataString = `${command}, ${data}`;
ws.send(dataString);

//server
let arrayOfData = receivedString.split(','); // where the first pos is the command
//then we parse it to read the other positions properly


Style/HashSyntax with ruby 3.1 style produces either failing cop OR buggy code

Expected behavior
Style/HashSyntax:
  EnforcedShorthandSyntax: consistent

I am writing a request spec:
params = { user: { email<EMAIL_ADDRESS>} }

post "/users", params: params

<Any code here>

Rubocop will say that the post line is a violation, but I take the suggestion and remove the trailing params, then the ruby code will not compile (or throw an error at runtime).
I think Rubocop should not enforce the shorthand when it's at the end of a line if there are no closing brackets/parentheses. It leads to buggy ruby.
Actual behavior
Rubocop turns post "/users", params: params into post "/users", params:.
However, without parentheses, rubocop will parse the result of <Any code here> as the value for params.
Steps to reproduce the problem
Style/HashSyntax:
  EnforcedShorthandSyntax: consistent

def post(endpoint, params:)
  puts "POST #{endpoint} with #{params}"
end

params = { a: 1 }

post "/users", params:

puts "Success!"

Rubocop will accept this, but ruby will throw an error.
RuboCop version
Include the output of rubocop -V or bundle exec rubocop -V if using Bundler.
If you see extension cop versions (e.g. rubocop-performance, rubocop-rspec, and others)
output by rubocop -V, include them as well. Here's an example:
→ rubocop -V
1.44.1 (using Parser <IP_ADDRESS>, rubocop-ast 1.24.1, running on ruby 3.2.0) [arm64-darwin22]
  - rubocop-performance 1.14.2
  - rubocop-rails 2.15.2
  - rubocop-rspec 2.12.1
  - rubocop-sorbet 0.7.0

Related to #11408

Can this change be at least marked autocorrect unsafe?

Parentheses are added to prevent the syntax incompatibility in the latest RuboCop.


Solve NRIC null cases

Codecov Report

Merging #229 (c843300) into master (6960929) will decrease coverage by 0.78%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##             master     #229      +/-   ##
============================================
- Coverage     48.80%   48.02%   -0.78%
- Complexity      507      512       +5
============================================
  Files           111      113       +2
  Lines          2629     2690      +61
  Branches        278      281       +3
============================================
+ Hits           1283     1292       +9
- Misses         1268     1320      +52
  Partials         78       78

Impacted Files
Coverage Δ

...c/main/java/seedu/address/model/person/Person.java
70.00% <100.00%> (+0.50%)
:arrow_up:

... and 9 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


nfs-provisioner - pod fails with mkdir file exists error

Hi and thanks in advance for any help!
I am using an nfs-client-provisioner deployment, yaml copied below. When starting pods, I get this error on some nodes:
Last State:     Terminated
      Reason:       ContainerCannotRun
      Message:      error while creating mount source path '/var/lib/kubelet/pods/f376aa1c-29bd-11e9-b82a-b827eb21c804/volumes/kubernetes.io~nfs/pvc-906dd368-22ec-11e9-b375-b827eb21c804': mkdir /var/lib/kubelet/pods/f376aa1c-29bd-11e9-b82a-b827eb21c804/volumes/kubernetes.io~nfs/pvc-906dd368-22ec-11e9-b375-b827eb21c804: file exists
      Exit Code:    128
      Started:      Thu, 07 Feb 2019 13:11:44 +0800
      Finished:     Thu, 07 Feb 2019 13:11:44 +0800

Any ideas what might be wrong?
If I ssh to the node, I find that the pvc-906dd368 is a 'stale file handle'
deployment yaml:
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: nfs-client-provisioner
spec:
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: nfs-client-provisioner
        version: v0
    spec:
      serviceAccountName: nfs-client-provisioner
      containers:
        - name: nfs-client-provisioner
          image: quay.io/external_storage/nfs-client-provisioner-arm:v3.1.0-k8s1.11
          volumeMounts:
            - name: nfs-client-root
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: nfs-storage
            - name: NFS_SERVER
              value: <IP_ADDRESS>
            - name: NFS_PATH
              value: /opt/nfs
      volumes:
        - name: nfs-client-root
          nfs:
            server: <IP_ADDRESS>
            path: /opt/nfs

Same here :-/

I resolved it by cordoning, rebooting and uncordoning all my nodes.

I think I solved it by moving the nfs server to a dedicated machine, that is not a node in the kubernetes cluster.


Write metrics to CloudWatch

https://clever.atlassian.net/browse/PASSION-23
This is to help setup auto-scaling, triggered via CloudWatch alarms
The scaling metric  is based on  https://cloud.google.com/compute/docs/autoscaler/scaling-queue-based
Also moves from Godeps to Glide

Most changes are in this commit: https://github.com/Clever/gearman-load-logger/pull/28/commits/28759d73141c1eb2d6c94ffd7219bcaaac464553


Implement the API(s) on the node's side

Implement the node API created in #7

Work started in https://github.com/input-output-hk/cardano-sl/pull/3788


M3-3032 Change: Require user to type label to confirm Linode deletion

Description
This follows the pattern established in Object Storage and LKE.
Now that we have this pattern in 4 different places, it'd be nice to consolidate into one component. I created a TDT items for this, since it will be a medium-ish effort that will change several existing components.
Type of Change

Non breaking change ('update', 'change')

Note to Reviewers
This affects both Linode deletion confirmation modals:

LinodesLanding
LinodeDetails -> Settings

Closing this, since it was decided the UX might be a little intrusive here.


Error executing aggregated function count

Hi, I have tried to use the example on the following link
https://github.com/object/Simple.OData.Client/wiki/Retrieving-data-matching-search-criteria
this is my code
            var annotations = new ODataFeedAnnotations();
             var products = await Client
            .For<Cliente>()
            .ExecuteAsScalarAsync<Cliente>();

When I run it, I got the following error:
InvalidOperationException: Command is expected to be a function or an action.
When I trying to get the count in the browser using the following URL it works well
http://Localhost/odata.svc/Cliente/$count
I’m using the following version of Simple.OData.Client
"Simple.OData.V3.Client" version="5.0.0-beta2"
Is the aggregated function count supported?

If you need to retrieve a count of the result set, you can use the following syntax:
var products = await Client
            .For<Cliente>()
            .Count()
            .FindScalarAsync<int>();

(as described in the secion "Find the count of all products with the given name").

I think the document needs to be updated.
var products = await _client
    .For<Products>()
    .FindEntriesAsync();

should changed to
var products = await _client
    .For<Products>()
    .FindEntriesAsync<int>(); // or FindEntriesAsync<T>();

That doesn't get a count.

That doesn't get a count.

Sorry! bad copy-paste mistake. I have updated my comment.  It should be

I have updated the wiki.


[Feature Request] case-independent highlights

It would be cool if standard highlighting could be configured so that case is ignored as well.
Example:
It is nice outside.
There it is.

Dear @Rudgas I will try to keep it in the brain, maybe during Xmas holidays I will did it


Optimize Read timeout error transfer

Optimize Read timeout error transfer

 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.wb-cmm753725 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Running agent locally

Hello,
I want to run agent locally so i can start making a controller. But for some reason I am unable to follow guides from readme. First I went to http://dev.greenlight.bcovrin.vonx.io/ and created public DID from seed then I ran this command:
./scripts/run_docker start --genesis-url http://dev.greenlight.bcovrin.vonx.io/genesis --inbound-transport http <IP_ADDRESS> 8020 --outbound-transport http --admin-insecure-mode -e http://<IP_ADDRESS>:8020 --admin <IP_ADDRESS> 8021 --seed ztVe8GJtMPiC1RBFjxL56Rf0uj4IURAi
This finishes but I can not access http://localhost:8021 or http://localhost:8020 in my browser. Am I missing something here?
Thank you in advance

PORTS="8020 8021" ./scripts/run_docker start --genesis-url http://dev.greenlight.bcovrin.vonx.io/genesis --inbound-transport http <IP_ADDRESS> 8020 --outbound-transport http --admin-insecure-mode -e http://<IP_ADDRESS>:8020 --admin <IP_ADDRESS> 8021 --seed ztVe8GJtMPiC1RBFjxL56Rf0uj4IURAi

Hi @sklump ,
I hope you can help me with my issue as well.
What is the endpoint when I want to run Agent on my mac locally? Could you take a look at my commands below and tell me if there is something wrong?
After I had registered public did on ledger, I tried to do run Agent locally with commands below but I got 403 Error: No ledger available in Swagger.
PORTS="8020 11000" aca-py start --label Alice --inbound-transport http <IP_ADDRESS> 8020 --outbound-transport http --admin <IP_ADDRESS> 11000 --admin-insecure-mode --genesis-url http://dev.greenlight.bcovrin.vonx.io/genesis --seed Alice000000000000000000000000001 --endpoint http://localhost:8020 --debug-connections --auto-provision
Thanks a lot!


[ONEToolchain] Fix Backend, ToolchainProvider testcase

ONE-vscode-DCO-1.0-Signed-off-by: Nakhyun Kim<EMAIL_ADDRESS>

There's an unknown library 'on'!

LGTM 🌺


Add weekly highlights for week ending 2023-05012

Weekly highlights!

We didn't do anything this week ¯_(ツ)_/¯


customer logger does not work with Visual Studio Task

I can execute below runner with runsettings containing customer logger without any issue. However when configuring in Visual Stuido Task (VS 2017), I think the logger dll is discovered/loaded properly (since It will throw "not found xxx..." if I don't drop the logger dll), however it does not executed after test execution completed.
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" Platform.Sdk.exe /Tests:Platform.Sdk.MultiSelectOptionSetSdkTests.VerifyCRUDonLocalMultiselectPickList /Settings:cds.runsettings

https://dynamicscrm.visualstudio.com/OneCRM/_releaseProgress?_a=release-pipeline-progress&releaseId=925715

@shenhong1000 , distributed runs does not support other console options. You can specify your logger using run settings, https://github.com/Microsoft/vstest-docs/blob/master/RFCs/0016-Loggers-Information-From-RunSettings.md#specifying-a-logger


CONGRATS ON 7.0 RELEASE!

Just a big thanks to all involved. I love PowerShell and any Windows or Linux machine I build up, instantly gets it installed.
Woohoo!!

Nice touch on the labeling, @rjmholt  :)


@vpnmanager Data transfer statistics

Currently, Outline vpn manager statistics are generated monthly by running this script.
dist/cfa_vpn.py/outline_manager.pex -e

Propose a solution that allows a user get these stats easily without always having the intervention of tech team devs.

I think this should be marked as done @koechkevin


more features

[ ] view queue for specific location (show only requests for that location)
[ ] queue setting: student welcome message

I would suggest a feature that allows students to delete themselves off the queue/delete their request. This would be useful for times when they have to leave office hours before their request is processed.

good idea thanks! (issue updated with new to-do)


Problem with enum classes

In my pyscript automation I try to use enum classes like this:
from enum import Enum

class Mode(Enum):
    SHUT = 1
    BLOCKING = 2
    FIXED_OPEN = 3
    FULLY_OPEN = 4

Problem
I get the following error message :
2021-01-11 23:15:46 ERROR (MainThread) [...]
FULLY_OPEN = 4
^
AttributeError: 'dict' object has no attribute '_member_names'
Question
Can you please check if it is a bug?!

It's not a bug, per se, just a not a python language feature that is yet supported by Pyscript.
You can get around it by using the functional Enum syntax:
from enum import ENum

Mode = Enum('Mode', 'SHUT BLOCKING FIXED_OPEN FULLY_OPEN')

And then use `Mode` like you would the class defined Enum

It's not a bug, per se, just a not a python language feature that is yet supported by Pyscript.
You can get around it by using the functional Enum syntax:
from enum import ENum

Mode = Enum('Mode', 'SHUT BLOCKING FIXED_OPEN FULLY_OPEN')

And then use `Mode` like you would the class defined Enum

@dlashua Thank you very much for your quick reply. This is a good workaround that works.
Is there an overview of Python functions / language elements that currently do not work. I could not find anything regarding this matter in the reference doc (https://hacs-pyscript.readthedocs.io/en/stable/reference.html#language-limitations).

@dlashua Thank you very much for your quick reply. This is a good workaround that works.
Is there an overview of Python functions / language elements that currently do not work. I could not find anything regarding this matter in the reference doc (https://hacs-pyscript.readthedocs.io/en/stable/reference.html#language-limitations).

It is included in the documentation you linked to, it's just not obvious. It's in this line:
it is not currently possible to have Python modules and packages call pyscript functions

Pyscript turns even the variables you define into specific pyscript classes. So the issue here is that we have a native-python class (Enum) trying to use pyscript variables (SHUT = 1). A decorator (@pyscript_compile) has been added to declare specific functions as "native-python" (i.e. requesting that it not be turned into a pyscript class), but this can't be done with variables (yet?). So any time you see a mixing of native-python elements and pyscript elements, there will likely be an issue.
It was overcome in my workaround because that usage pattern only uses native-python elements (Enum) and literals (the strings being passed to it).
Perhaps a Wiki page should be created to document commonly used Python modules that have issues and workarounds if there is one.
About half way through this documentation (https://hacs-pyscript.readthedocs.io/en/stable/reference.html#importing) at the code block, you can see another solution that will let you use just about any native python module inside of pyscript. This would even work for Enum, I just found the above syntax to be easier.

It is included in the documentation you linked to, it's just not obvious. It's in this line:
it is not currently possible to have Python modules and packages call pyscript functions

Pyscript turns even the variables you define into specific pyscript classes. So the issue here is that we have a native-python class (Enum) trying to use pyscript variables (SHUT = 1). A decorator (@pyscript_compile) has been added to declare specific functions as "native-python" (i.e. requesting that it not be turned into a pyscript class), but this can't be done with variables (yet?). So any time you see a mixing of native-python elements and pyscript elements, there will likely be an issue.
It was overcome in my workaround because that usage pattern only uses native-python elements (Enum) and literals (the strings being passed to it).
Perhaps a Wiki page should be created to document commonly used Python modules that have issues and workarounds if there is one.
About half way through this documentation (https://hacs-pyscript.readthedocs.io/en/stable/reference.html#importing) at the code block, you can see another solution that will let you use just about any native python module inside of pyscript. This would even work for Enum, I just found the above syntax to be easier.


InvalidArgumentError: indices[26,0] = 5001 is not in [0, 5001)  ( at Training Error in Image Captioning with attention Google Colab)

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information
Google Colab
image_captioning_with_attention.ipynb
Describe the problem
InvalidArgumentError: indices[26,0] = 5001 is not in [0, 5001)  in Training phase.
Provide the exact sequence of commands / steps that you executed before running into the problem
This is all error message.
InvalidArgumentError                      Traceback (most recent call last)
 in ()
19             for i in range(1, target.shape[1]):
20                 # passing the features through the decoder
---> 21                 predictions, hidden, _ = decoder(dec_input, features, hidden)
22
23                 loss += loss_function(target[:, i], predictions)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer.py in call(self, inputs, *args, **kwargs)
755       if not in_deferred_mode:
756         self._in_call = True
--> 757         outputs = self.call(inputs, *args, **kwargs)
758         self._in_call = False
759         if outputs is None:
 in call(self, x, features, hidden)
16
17     # x shape after passing through embedding == (batch_size, 1, embedding_dim)
---> 18     x = self.embedding(x)
19
20     # x shape after concatenation == (batch_size, 1, embedding_dim + hidden_size)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer.py in call(self, inputs, *args, **kwargs)
755       if not in_deferred_mode:
756         self._in_call = True
--> 757         outputs = self.call(inputs, *args, **kwargs)
758         self._in_call = False
759         if outputs is None:
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/layers/embeddings.py in call(self, inputs)
175     if dtype != 'int32' and dtype != 'int64':
176       inputs = math_ops.cast(inputs, 'int32')
--> 177     out = embedding_ops.embedding_lookup(self.embeddings, inputs)
178     return out
179
/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/embedding_ops.py in embedding_lookup(params, ids, partition_strategy, name, validate_indices, max_norm)
311       name=name,
312       max_norm=max_norm,
--> 313       transform_fn=None)
314
315
/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/embedding_ops.py in _embedding_lookup_and_transform(params, ids, partition_strategy, name, max_norm, transform_fn)
131     if np == 1 and (not transform_fn or ids.get_shape().ndims == 1):
132       with ops.colocate_with(params[0]):
--> 133         result = _clip(array_ops.gather(params[0], ids, name=name),
134                        ids, max_norm)
135         if transform_fn:
/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/array_ops.py in gather(failed resolving arguments)
2671     # TODO(apassos) find a less bad way of detecting resource variables without
2672     # introducing a circular dependency.
-> 2673     return params.sparse_read(indices, name=name)
2674   except AttributeError:
2675     return gen_array_ops.gather_v2(params, indices, axis, name=name)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/resource_variable_ops.py in sparse_read(self, indices, name)
756         tape.variable_accessed(self)
757       value = gen_resource_variable_ops.resource_gather(
--> 758           self._handle, indices, dtype=self._dtype, name=name)
759     return array_ops.identity(value)
760
/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/gen_resource_variable_ops.py in resource_gather(resource, indices, dtype, validate_indices, name)
611       else:
612         message = e.message
--> 613       _six.raise_from(_core._status_to_exception(e.code, message), None)
614
615
/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)
InvalidArgumentError: indices[26,0] = 5001 is not in [0, 5001) [Op:ResourceGather] name: rnn__decoder/embedding/embedding_lookup/

Same issue for me, with "indices[6,0] = 5001 is not in [0, 5001)"

Answer found: increase the vocabulary size.
It is 5000 by default. This error is like an out of bound index error.

Your kindness is very much appreciated.
That means that the number of "vocab_size = len(tokenizer.word_index)" is too big, Am I saying this correctly now?
However, I used the same codes, and Dataset (MS COCO)
Therefore, should I change the setting or dataset or codes about "tokenizer" or "vocab"?
Thank you for your continued support.

Nagging Assignee @wt-huang: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

@AKI-github
can you Provide the exact sequence of commands / steps that you executed before running into the problem.
and i this this because you to let vocab_size = len(tokenizer.word_index)+1

@AKI-github Is this resolved? Please close it if it was resolved by the suggestion of @aosman96 . Thanks!

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

Closing due to lack of recent activity. Please update the issue when new information becomes available, and we will open a new issue. Thanks!

Hi All,
I am getting a similar error, the snippets I have shared also. I tried to increase the Vocab size too but still got the same error. I have been trying to run it on my CPU only with no GPU installed. Can anyone help in this regard?

InvalidArgumentError: indices[24,197] = 80000 is not in [0, 80000)
[[{{node embedding_lookup}}]]

set your embedding layer to len(words)+1, in your case 5001+1

Answer found: increase the vocabulary size.
It is 5000 by default. This error is like an out of bound index error.

Solved my problem. Thanks!

In my project I've changed: model.add(keras.layers.Embedding(10000, 16)) to model.add(keras.layers.Embedding(15000, 16)) and it fixed the problem.

When I pass class_weight to model.fit() the error comes and when I do not pass it goes? any Idea how to solve it?
`
Tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.
(0) Invalid argument:  indices[84] = 31 is not in [0, 31)
[[{{node GatherV2}}]]
[[IteratorGetNext]]
[[ReverseSequence_1/_502]]
(1) Invalid argument:  indices[84] = 31 is not in [0, 31)
[[{{node GatherV2}}]]
[[IteratorGetNext]]
0 successful operations.
0 derived errors ignored. [Op:__inference_train_function_28314]
Function call stack:
train_function -> train_function
`
`       model_input = tf.keras.layers.Input(shape=(timesteps,), dtype='int32')
self.createBertLayer()
    bert = self.bert_layer(model_input)

    self.d = tf.keras.layers.Dense(num_hiddens, activation=tf.nn.relu)(bert)
    h = tf.keras.layers.Dropout(0.5)(self.d)
    self.y1 = tf.keras.layers.Dense(classes, activation=tf.nn.softmax)(h)

    self.crf = CRF()
    output = self.crf(self.y1)

    model = Model(model_input, output)
    model.build(input_shape=(None, timesteps))
    self.bert_layer.apply_adapter_freeze()
    self.bert_layer.trainable = False

    model.compile(loss=self.crf.loss, optimizer=tf.keras.optimizers.Adam(0.001), metrics=[self.crf.accuracy])

    history = self.model.fit(
        training_set,
        training_label,
        class_weight=class_weights,
        epochs=n_epochs,
        # validation_data=(testing_set, one_hotted2),
        validation_split=0.1,
        verbose=1,
        batch_size=256
        # callbacks=[cp_callback]
    )

`
I checked class_weight keys and there was no problem with it.

This issue is not limited to NLP but also for other types of DL problems. I have a multilabel classification problem with time series (24 labels - imbalanced). When I pass class_weight in fit method, I get this same error. Anyone can be kind and let us know who to solve it in this case.
---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
<ipython-input-1-84f69cedcd5b> in <module>
     37 with timer('training models ================'):
     38     hist = model.fit(x=training_generator, verbose=1, epochs=5, callbacks=callbacks,
---> 39                      class_weight= get_class_wieght(),
     40 #                     use_multiprocessing=True, workers=8
     41                     )

~/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py in _method_wrapper(self, *args, **kwargs)
     64   def _method_wrapper(self, *args, **kwargs):
     65     if not self._in_multi_worker_mode():  # pylint: disable=protected-access
---> 66       return method(self, *args, **kwargs)
     67
     68     # Running inside `run_distribute_coordinator` already.

~/anaconda3/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)
    846                 batch_size=batch_size):
    847               callbacks.on_train_batch_begin(step)
--> 848               tmp_logs = train_function(iterator)
    849               # Catch OutOfRangeError for Datasets of unknown size.
    850               # This blocks until the batch has finished executing.

~/anaconda3/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py in __call__(self, *args, **kwds)
    578         xla_context.Exit()
    579     else:
--> 580       result = self._call(*args, **kwds)
    581
    582     if tracing_count == self._get_tracing_count():

~/anaconda3/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py in _call(self, *args, **kwds)
    642         # Lifting succeeded, so variables are initialized and we can run the
    643         # stateless function.
--> 644         return self._stateless_fn(*args, **kwds)
    645     else:
    646       canon_args, canon_kwds = \

~/anaconda3/lib/python3.7/site-packages/tensorflow/python/eager/function.py in __call__(self, *args, **kwargs)
   2418     with self._lock:
   2419       graph_function, args, kwargs = self._maybe_define_function(args, kwargs)
-> 2420     return graph_function._filtered_call(args, kwargs)  # pylint: disable=protected-access
   2421
   2422   @property

~/anaconda3/lib/python3.7/site-packages/tensorflow/python/eager/function.py in _filtered_call(self, args, kwargs)
   1663          if isinstance(t, (ops.Tensor,
   1664                            resource_variable_ops.BaseResourceVariable))),
-> 1665         self.captured_inputs)
   1666
   1667   def _call_flat(self, args, captured_inputs, cancellation_manager=None):

~/anaconda3/lib/python3.7/site-packages/tensorflow/python/eager/function.py in _call_flat(self, args, captured_inputs, cancellation_manager)
   1744       # No tape is watching; skip to running the function.
   1745       return self._build_call_outputs(self._inference_function.call(
-> 1746           ctx, args, cancellation_manager=cancellation_manager))
   1747     forward_backward = self._select_forward_and_backward_functions(
   1748         args,

~/anaconda3/lib/python3.7/site-packages/tensorflow/python/eager/function.py in call(self, ctx, args, cancellation_manager)
    596               inputs=args,
    597               attrs=attrs,
--> 598               ctx=ctx)
    599         else:
    600           outputs = execute.execute_with_cancellation(

~/anaconda3/lib/python3.7/site-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
     58     ctx.ensure_initialized()
     59     tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
---> 60                                         inputs, attrs, num_outputs)
     61   except core._NotOkStatusException as e:
     62     if name is not None:

InvalidArgumentError:  indices[3] = 24 is not in [0, 24)
	 [[{{node GatherV2}}]]
	 [[IteratorGetNext]] [Op:__inference_train_function_29319]

Function call stack:
train_function

Answer found: increase the vocabulary size.
It is 5000 by default. This error is like an out of bound index error.

Hi, how can i increase the vocab size? Which file should i modify? Thankyou

Not completely sure why, but this error seems to happen when vocab_size <=  len(tokenizer.word_index)

I am trying ragged tensors but Im not using text data so hod can i deal with this error InvalidArgumentError:  indices[42355876] = -1 is not in [0, 6057585) 	 [[node sequential_21/embedding_5/embedding_lookup_ragged/embedding_lookup (defined at <ipython-input-50-ded3c3b47b8d>:17) ]] [Op:__inference_train_function_9333].  This index crashes my colab session.

Same issue cased by class_weight, worked fine without class_weight. Same issues everywhere on the web.
https://datascience.stackexchange.com/questions/71774/setting-class-weights-for-imbalanced-dataset-in-tensorflow
Bye bye.

I have a similar error, the model I'm working on is for text classification and word embeddings was used to transform the data. When trying to apply the exported model back on the training data on a separate occasion, the following error appears.
InvalidArgumentError:  indices[23,11] = 2489 is not in [0, 2489)

My variables are len(tokenizer.word_index) = 2488 and len(embedding_matrix) = 2489. I have looked into increasing the vocab_size in the Embedding layer by increasing it by 1 (and tried increasing it to 5000 as well) but the following error pops up.
ValueError: Layer weight shape (2490, 200) not compatible with provided weight shape (2489, 200)

Anyone has any advice to tackle this issue? As my project is scheduled to end soon, I would really appreciate quick responses!

InvalidArgumentError:  indices[12,21] = 20 is not in [0, 20)
[[node embedding_2_9/embedding_lookup (defined at C:\Users\philp\anaconda3\envs\tf\lib\site-packages\keras\backend\tensorflow_backend.py:3009) ]] [Op:__inference_keras_scratch_graph_16422]
Function call stack:
keras_scratch_graph
I am increasing vocabulary size to 21 lets see what will be the output

Universe of discourse
alphabet = 'ARNDCQEGHILKMFPSTWYV-'
Vocabulary Size = 21
👎 Wrong Approach:
model = Sequential()
embeddings = Embedding(20, 31, input_length=win_size)
👍 Right Approach:
model = Sequential()
embeddings = Embedding(21, 31, input_length=win_size)
Because I have 21 letters in universe of discourse or my vocabulary size is 21.
Thank You.

Answer found: increase the vocabulary size.
It is 5000 by default. This error is like an out of bound index error.

Hi, how can i increase the vocab size? Which file should i modify? Thankyou

Answer found: increase the vocabulary size.
It is 5000 by default. This error is like an out of bound index error.

thanks a lot, my problem solved

set your embedding layer to len(words)+1, in your case 5001+1

could you explain the reason that you add one to embedding size?

In my case, this was due to a mistake --
InvalidArgumentError: indices[15,28] = LARGE NEGATIVE VALUE
rather than an index out of bound issue.
This was because I was setting the embedding layer to be trainable, so fixed that part by doing
trainable=False

I have got the same error, and I solved it as follow (I have got the response from the responses in this issue):
model.add(Embedding(input_dim=vocab_size+1, output_dim=10, input_length=len_of_one_input_example))

I've been facing this error over and over. If I trained the model, saved it, loaded it back, and made predictions with the model in the same environment, it works fine. If I do that in the Colab notebook it also works fine. However, If I loaded it in other VScode project environments  and made predictions, It returned
File "e:\Vincent\code\skimlit\venv\lib\site-packages\keras\layers\core\embedding.py", line 199, in call
      out = tf.nn.embedding_lookup(self.embeddings, inputs)
Node: 'bert_tribrid_model/char_embedding/embedding_lookup'
indices[6,99] = 30 is not in [0, 28)
	 [[{{node bert_tribrid_model/char_embedding/embedding_lookup}}]] [Op:__inference_predict_function_392526]

I assume that it is a dependency problem. How do I solve that?


Modify developer guide to reflect Harmonia's details

Updated the following segments in the Developer's guide with Harmonia's details:

Target user profile
Value Proposition
User Stories
NFR
Glossary

Codecov Report

Merging #57 (e867516) into master (38ef2e8) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #57   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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 38ef2e8...e867516. Read the comment docs.


Input doesn't support accent mark

In languages like Spanish, characters with accent mark (for example, á é í ó ú) are ignored.
Also, pasting it from outside does the same.
For example:
final givenName = Input(prompt: 'Nombre').interact();

I use "Tomás" as input but i see this:
? Nombre › Toms

It seems to be a problem with dart platform itself. Not a problem with

Any updates on this?

I did something research and it seems to be a problem with dart itself. The input methods provided bi IO package doesn't work either.

Opening an issue on their side

@frencojobs I got these answer from the issue I opened on the Dart SDK repo: dart-lang/sdk#52788 (comment)
Would it be possible to fix the problem by implementing the suggestions? Thanks, sorry for tagging

It is still not working.

On Linux it works as expected but not on Windows


Reorganization

draft, as it is currently in progress, but please check out new 'roles' page already and let me know what you think.
Is such page useful?
Is it complete? - probably not
More known best practices?
Open for discussion :)

Looks good!  roles is what I was hoping for.
I hadn't even thought about the before/after the workshop roles.  Maybe the wider before/after roles could be on a different page (in the workshop organizer section).  Or should it be here?  I guess it can depend on how many roles there are, maybe one big overview is better (since it helps people move from "one workshop" to "organize the next")
Anyway, this is good.  I can also work on filling stuff out later.
(and it reminded me that I have been using the role "host" wrong.  I think your definition is the better one, I will update my other things.)

Hmm, yes, true.
Maybe it could also be split as it is now in the TOC?
during workshop: ex.lead, expert helper, instructor, hackmd help
workshop organization: host, broadcaster, etc..

Done for today. Feel free to continue work on this branch

One weird thing I noticed is that when I build it locally, on the main page the sidebar looks fine, but when clicking on any link, it changes . I do not quite understand why that happens

One weird thing I noticed is that when I build it locally, on the main page the sidebar looks fine, but when clicking on any link, it changes . I do not quite understand why that happens

I have that sometimes when changing navigation since it does not rebuild everything. What solves it for me: remove build folder, rebuild, refresh browser also.

I guess let's do this.


Is it possible to run OpenCV.js server-side and read images from the file system, as cv.imread can only read images of HTML elements?

@AlanNggg It could run on the server. See https://github.com/TechStark/opencv-js/blob/main/test/Mat.test.ts for the reference.

thank you


drawDetectedObjects method supports only normalized array as input

make drawDetectedObjects method and other visualization methods support BufferedImages as input or [0-255] valued arrays

Implemented in #451.


docs: Fix discord invite link

Fix expired discord invite link.

Does this need to be refreshed periodically?

It shouldn't. Maybe the invite link was created by a user which left the server. :shrug:


Should apistar have typesystem.Email

I'm using apistar for a new work project (I hope I can contribute more to the project now :) and I was doing a login view where the user enter its email. There is nothing to validate it, right? Should we have it? If you, I'd be happy to do it. We could have something like Django email validator (https://github.com/django/django/blob/master/django/core/validators.py).

We'll want to have something like 'input_type=...' on string, which we'll use to support email, URL, datetime and other validation yup.

I believe validators would be a better name. The API reference describe the format attribute, do you imagine that email would be an option too?

'format' is best yes, losing track of myself there. We'll have 'validators' as a separate thing too in due course (format will be a constrained subset that impact eg form rendering, and schema descriptions, validators will be anything else eg. Check uniqueness against database)

Nice @tomchristie, thanks!


A small cleanup in AudioVideoPlaybackBot

In this pull request I've moved the OnVideoMediaReceived function from CallHandler to BotMediaStream since BotMediaStream handles all other media related events.  I also added a callback for OnAudioMediaReceived to the same class to make it easy for people to see where both Audio and Video can be handled.

Could you also move the code below to BotMediaStream.cs
this.Call.GetLocalMediaSession().AudioSocket.DominantSpeakerChanged += this.OnDominantSpeakerChanged;

Hmm we should ask @zihzhan what he thinks about that, since the OnDominantSpeakerChanged handler does things related to the CallHandler (e.g. it might end up unsubscribing from one person's video and subscribing to the dominant speaker's video instead).  It seems appropriately scoped to the CallHandler class.  If we were to move it to BotMediaStream then all it would do is raise an event that CallHandler would end up listening to & handling anyway.


Disable TFSMLayer for all backends except TF

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 75.58%. Comparing base (c8700f4) to head (1292ef8).
Report is 73 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #19240      +/-   ##
==========================================
- Coverage   80.14%   75.58%   -4.56%
==========================================
  Files         341      363      +22
  Lines       36163    39247    +3084
  Branches     7116     7592     +476
==========================================
+ Hits        28982    29664     +682
- Misses       5578     7948    +2370
- Partials     1603     1635      +32

Flag
Coverage Δ

keras
75.43% <100.00%> (-4.56%)
:arrow_down:

keras-jax
59.72% <0.00%> (-3.34%)
:arrow_down:

keras-numpy
54.16% <0.00%> (-2.93%)
:arrow_down:

keras-tensorflow
60.97% <100.00%> (-3.69%)
:arrow_down:

keras-torch
60.35% <0.00%> (-3.52%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[repository] Provide a namespace for categorizing resources

Currently the Repository Service Specification defines an osgi.content Namespace.
But a repository sometimes do not only contains a loose collection of resources but has some mean of categorizing/grouping items. This is especially common when installing from an UI where a user wants to navigate through possible candidate items, a popular example is when you install new software from a P2 software site:

I therefore like to propose a new namespace provided by the repository specification that allows to categorize items.
public class RepositoryCategoryNamespace {

    /**
     * Namespace name for repository category capabilities and requirements.
     */
    public static final String REPOSITORY_CATEGORY_NAMESPACE = "osgi.repository.category";

    /**
     * The capability attribute identifying a name for this category.
     */
    public static final String CAPABILITY_NAME_ATTRIBUTE = "name";

    /**
     * The capability attribute identifying the description of the category.
     */
    public static final String CAPABILITY_DESCRIPTION_ATTRIBUTE = "description";
}

A category can then be modeled by a resources that requires all its child items.

As discussed on the call, I can see why this is a compelling thing to put in a repository.
A couple of comments:

Is a category really a namespace? Namespaces define requirements and capabilities, but a category doesn't seem like either of those things. Should it be a resource type?
Who will the users of this standard be? If this is intended to provide category information in the Eclipse installer would it be sufficient to use an Eclipse specific type?

I'm pretty convinced that the answer to the first question is no, but I don't really know about the second. If the set of users is wider than Eclipse then standardising may make sense, if not then the existing extensibility in the repository definition would allow this to work without specification changes

Is a category really a namespace? Namespaces define requirements and capabilities, but a category doesn't seem like either of those things. Should it be a resource type?

Yes - it is a resource with an identity capability and a type. Attributes name and description (already in use) provide the human readable text.

I could see a this as kind of tagging a resource to a certain category

Reusing the identity seems good, it might still be good to describe the type in the Repository spec even though it is more a "User Display Thing", e.g. I can think about a webrenderer of a repository that shows you the content of a repository.xml in a human friendly way that also displays categories.
Also Knopflerfish has an UI for the user and also BNDTools show things to the user and might benefit.

Still an issue...


added documentation

Added documentation about setting debug mode in bundling and minification as requested in #633

Thanks!

Thanks, documentation updates are always welcome!
On Wed, Dec 19, 2018 at 21:01, Daniel Lo Nigro<EMAIL_ADDRESS>wrote:

Merged #641 https://github.com/reactjs/React.NET/pull/641 into master.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/reactjs/React.NET/pull/641#event-2037468755, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA5hFjDiuWbdCXMc748cbSihKFdanWX-ks5u6xmVgaJpZM4ZbepB
.


Remove locale string from DataProtection extension docs link

Remove the en-us locale string from the docs link referenced in the project file.

API change check
API changes are not detected in this pull request.


Stops after 40+ min

No an issue as such, rather more a question.
I looked briefly  over the code but could not see a time limiter or any specific exit criteria.
But that said, i not went all over it line by line.
Is this by design?

There is a repeat for loop at the beginning of the final 'Bring it all together' cell:
for repeats in range(5):
It will run through the whole 'Bring it all together' code 5 times and then stop.
Increase this number to make it run looker or change it to while True if you want it to run forever or until you run out of memory.

Thanks for the answer, will give it a try


Unselectable buttons in button group do not convey that they are unselectable using VO on iOS

Bug Report
Description
When interacting with buttons in a button group that are not selectable, VO on iOS does not convery that button is not selectable.
Steps to Reproduce

Navigate to https://engineering.cerner.com/terra-core/#/tests/terra-button-group/button-group/button-group-not-selectable
Move focus on to non-selectable button
VoiceOver will read "${textOfButton}, toggle button, not pressed, double tap to toggle setting"

Expected Behavior
VO should not indicate that the button is a toggle button or that the user could double tab to toggle the setting.
Possible Solution
Remove aria-pressed attribute when button is not selectable
Environment

Component Name and Version: terra-button-group
Browser Name and Version: Mobile Safari 12 w/ VoiceOver
Node/npm Version: [e.g. Node 8/npm 5]
Webpack Version:
Operating System and version (desktop or mobile): iOS w/ VoiceOver

this issue has been resolved by #2231


Refactor gettingClusters()

Decided to remove function until further testing/refinement can be done.

Fixed in #312


add tonspack wallet adapter

Add a telegram base solana web3 wallet Tonspack into wallet-adapter

Thanks, but we aren't accepting new adapters. Please check this guide for integrating the Wallet Standard instead. You'll need to publish your own library that registers your Standard Wallet rather than distribute it in Wallet Adapter.


Commented Document List Automation

Commented Document List Automation

@saravanan-udayakumar , can you please add this test in the teacher_chat_spec.js since this seems like just a few lines of code and we probably don't need an entire spec for this?

@tejal-shah, updated the test.


Added an optional animation parameter

I am working on a project and came across this plugin for OpenSeadragon that's helps solve an issue I was having with adding overlays.
I added an optional animation parameter to switch between the fitBoundsWithConstraints and panTo methods on the viewport because I don't necessarily want to zoom in on the overlays - I just want to make sure they are centered in the viewport.

I'm going to fix the formatting and then resubmit.