[PE-D][Tester D] Application Mismanages Phone Numbers Containing Non-Numeric Characters

Description:
The application fails to recognize common phone number conventions that include descriptors such as "(office)", "(home)", etc. These are commonly used formats and should be accepted by the application.
Steps to Reproduce:
Launch the application.
Attempt to add a new contact with a phone number descriptor using the command: add n/John Doe p/98765432 (office<EMAIL_ADDRESS>m/CS2103 f/Computing v/311, Clementi Ave 2, #02-25 t/friends t/owesMoney a/mon 12:00 14:00 a/thur 12:00 14:00.
Expected Result:
The contact should be added successfully with the phone number including the descriptor "(office)".
Actual Result:
The application rejects the command with an error message: "Phone numbers should only contain numbers, and it should be at least 3 digits long."
Severity:
Medium: This limitation can inconvenience users who use phone number descriptors for better organization and clarity, leading to possible avoidance of using the application for managing contacts.
Screenshots:
Suggestion:
Adjust the application's phone number validation logic to accept these common phone number formats with descriptors. This would likely involve changes to both the back-end validation and the user guide documentation to explicitly state that such formats are supported.

Labels: severity.Medium type.FunctionalityBug
original: Shauryan123/ped#7

Intentional Design: Phone Descriptor not need for our purpose
Followup: #233

Include Plausible Workaround


Cleanups

This is an assortment of cleanups and improvements that have come from other efforts, and haven't found a good PR to be merged with.

More explicit about optional argument foundry in contract_to_k call.
Small refactoring of computation of methods for a given contract, which makes it more clear how it handles the solc vs. foundry cases.
Actually check if solc produced any errors/warnings and propogate them. Additionally, fail compilation if there are errors.
Update slow and failing lists by running on my machine and cutting the slow ones off at 900s. I timed out all tests at 3600s (if it timed out, it's on the failing list, not the slow list).

I am not getting the same behavior on my machine as CI is seeing, so I'm going to try one commit at a time to understand which one makes the different behavior.

Turns out this failure is affecting all KEVM builds: https://github.com/runtimeverification/evm-semantics/pull/1331
Going to try nad fix it in a separate PR.


RouteRole for GraphQL

Hi,
I just tried to add the graphql plugin to my project (I have never tried/used graphql before), and the first thing I noticed is that it doesn't seem to work with my already existing AccessManager which I set via JavalinConfig#accessManager(AccessManager accessManager)
Therefore, I created a patch which allows the user to pass RouteRoles to GraphQLOptions: https://github.com/gringofe/javalin/commit/fb2371a7dfc78a73b97491deebbf01cbb92b32d4
Does this make sense, or am I missing something?
Greetings,
gringofe

@7agustibm could you have a look at this, please?

Hi!
The principal problem is that AccessManager controls endpoint access.  GraphQL is a unique endpoint for different queries o mutations. For me, the best way for access manager is the same query o mutation method.
This has an example: https://blog.logrocket.com/a-complete-guide-to-permissions-in-a-graphql-api/

I'll consider this issues closed.


Create functionality for front end to be able to update reviews

Create a UpdateGameForm.js file on the front end to add a updateForm component, event handler, and return a form with update fields in a modal.

Audrey says use userGame.js to manage the rest of the CRUD functionality for the saved games in the Users.
Update and delete state on the home page
Set button in the modal on the userGame.js in order to do CRUD with the saved games.


Edited OC Governance membership wording

Updated wording as discussed in https://github.com/Green-Software-Foundation/oc/issues/52

This PR will be approved on the 14th November, if no objections are raised.


Confirm behavior of Barometer's second dogma effect with Carl

The current wording is imprecise regarding when the blue card needs to be revealed (or even how many), so it will be implemented like so until we are told otherwise:
"You may reveal and return a blue card from your forecast. If you do, claim the Destiny achievement and return all cards from your forecast."
Since it is different than how the card describes this interaction, we should ask Carl if this interpretation is ok.

We plan on asking about this proposed rewording on BGG (mentioning specifically that we want to reword it on the BGA adaptation).

I just sent an email to Chris.


Updates to docs/admin/kubelet-tls-bootstrapping

Seems that @mikedanese is the owner of this doc. 1.6 introduced kubectl certificate approve and deny which prompted this update, then I just made some other general updates here and there.

This change is

@mkorejo FYI, there was an unrelated issue w/ the Travis CI, which has been fixed, so if you update your branch, that should take care of the Travis check failure. Thx


feat: Added style and className to ScrollPage

Added style and className props to ScrollPage.

@1000ship please try to get this pr in soon, would be extremely helpful for customisation. At the moment ScrollPage has a fixed height, which makes it impossible to properly style a page and use the scroll animations.

@jlputter I totally agree with you!

Sorry too busy now. 🙏
I just checked code difference, and I think there's no problem.
At first I gonna accept this PR, Believe you guys!

I just published this version to npm as 0.3.2
Again, I'm sorry for delaying to merge this PR.
Appreciate!


"Microsoft 365 learning pathways" Web Part Provisioning issue for Mac Users (OS - Mohave & Big Sur)

PROVISIONING NOTE: If you are having issues with the SharePoint look book while trying to provision M365 learning pathways please do not post that issue to this repo as we cannot help you here. Please post all questions and issues for the SharePoint look book to SharePoint/sp-provisioning-service GitHub Issues List.

WEB PART NOT LOADING: If you are getting the error: "Microsoft 365 learning pathways has a configuration issue. Ask your administrator for assistance". Please review the Diagnosing Pre-Check guidance before submitting your bug.

"Microsoft 365 learning pathways" Web Part is not working for Mac users (Users are on Mac OS Mohave & Big Sur). They are getting following error message – "Microsoft 365 learning pathways has a configuration issue. Ask your administrator for assistance"
A clear and concise description of what the bug is.
Users are getting error message on page where "Microsoft 365 learning pathways" Web Part is enabled. Error is showing up while loading up page.

Steps to reproduce the behavior

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Learning Pathways version number
Version | <IP_ADDRESS>
Release Date | October 2020

Please share the version number of learning pathways in your tenant app catalog.

Additional context
"Microsoft 365 learning pathways" Web Part is not working for Mac users (Users are on Mac OS Mohave & Big Sur). They are getting following error message – "Microsoft 365 learning pathways has a configuration issue. Ask your administrator for assistance"

Add any other context about the problem here.

Unfortunately, your screenshot of the actual error from the browser console is too small for me to read.  Could you please capture the log in a text file and share it:

WEB PART NOT LOADING: If you are getting the error: "Microsoft 365 learning pathways has a configuration issue. Ask your administrator for assistance". Please review the Diagnosing Pre-Check guidance before submitting your bug.

Unfortunately, your screenshot of the actual error from the browser console is too small for me to read.  Could you please capture the log in a text file and share it:

WEB PART NOT LOADING: If you are getting the error: "Microsoft 365 learning pathways has a configuration issue. Ask your administrator for assistance". Please review the Diagnosing Pre-Check guidance before submitting your bug.

Tried with Chrome and Firefox (private sessions).  Same issue.  Just Provisioned both the M365 Learning Pathway and SharePoint Success yesterday and trying to go through them.

Tried with Chrome and Firefox (private sessions).  Same issue.  Just Provisioned both the M365 Learning Pathway and SharePoint Success yesterday and trying to go through them.

So, this is just an issue with the tool period and not really about the browser.
Can you please share the diagnostic information I asked for... you shared a screen shot but it's too small and I can't read it.

So, this is just an issue with the tool period and not really about the browser.
Can you please share the diagnostic information I asked for... you shared a screen shot but it's too small and I can't read it.

I am working with user to get diagnostic information, I will share info as soon as I have it.

I am working with user to get diagnostic information, I will share info as soon as I have it.

so it works for you?  If so then maybe you just have a permission issue.

so it works for you?  If so then maybe you just have a permission issue.

We noticed that it was an untrusted certificate issue. Users were not able to load "Microsoft 365 learning pathways" Web Part because they were part of specific OU in AD Group which had an untrusted certificate issued.
Thanks for your help.

User advised issue was resolved due to security configuration
No further responses, all thanked within thread
Closing issue


Tests are currently failing

The reason is that we are deleting any fields starting in _sub_ when querying local collections on the client, but this interferes also with maintenance of internal collection, so when server removes our _sub_ fields (when subscription in tests is stopped), those fields are not really removed from internal collection because projection removes them from the object as well then, so tests fail.
If/once this PR lands in Meteor it would fix this issue as well: https://github.com/meteor/meteor/pull/10696

Not sure why it worked in the past.
This is not too critical issue though, only tests are pretty strict. So you should never try to query after you stopped subscription anyway. This is when this failure mode occurs.


Release 0.1.7

Coverage increased (+0.2%) to 88.693% when pulling 00f2baf52636d0bdf9fab4749d215b18cc783306 on develop into 9e409f9fbac6edd9d03cb372c2bbce3f11fa76e4 on master.

:baby_chick:


this.lastID not present after INSERT

When I have inserted data into a table, this.lastID does not exist, and thus I cannot get the id from the just run INSERT.  I have seen the test for this functionality:
https://github.com/mapbox/node-sqlite3/blob/7322ea714b13451bab75d5232a1dd2a05fcb5052/test/affected.test.js#L19
That is a slightly different case than what I am trying to accomplish, so I'm wondering what I am missing, or if my approach is not supported.
Demo of my experience:
sudo apt-get install -y sqlite3 libsqlite3-dev

mkdir sqlitetest
cd sqlitetest

cat << EOF > package.json
{
  "name": "sqlitetest",
  "version": "0.1",
  "description": "SQLite test",
  "main": "demo.js",
  "private": true,
  "scripts": {
    "start": "node demo.js"
  }
}
EOF

yarn add sqlite3

cat << EOF > demo.js
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database(':memory:');

db.serialize(() => {
  db.run('CREATE TABLE IF NOT EXISTS t1 ( \
    id INTEGER PRIMARY KEY AUTOINCREMENT, \
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, \
    a TEXT NOT NULL \
  )');

  let t1Id = null;
  db.run('INSERT INTO t1 (a) VALUES (?)', "aaa", err => {
    if (err) {
      console.error(err);
      process.exit(1);
    }
    console.log(this);
    console.log(this.lastID);
    console.log('lastID', this.lastID);
  });
});
EOF

node demo.js

the output looks like:
$ node demo.js
{}
undefined
lastID undefined

Which is to say that after the INSERT has succeeded, this is the empty object {} and this.lastID is subsequently undefined.
I even created a second demo that is basically copy-pasted from the test case:
cat << EOF > demo.js
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database(':memory:');

db.serialize(() => {
  db.run("CREATE TABLE foo (id INT, txt TEXT)");
  var stmt = db.prepare("INSERT INTO foo VALUES(?, ?)");
  stmt.run(1, "demo", err => {
    if (err) throw err;
    console.log(this);
    console.log(this.lastID);
    console.log('lastID', this.lastID);
  });
});
EOF

But this gives the exact same output of the empty this, and thus undefined lastID.
Any help figuring this out?  I'd love to get that last inserted id.  Thanks.

  It is literally the ES6 arrow function syntax I chose.  With just a slight change it works:

cat << EOF > demo.js
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database(':memory:');

db.serialize(() => {
  db.run("CREATE TABLE foo (id INT, txt TEXT)");
  var stmt = db.prepare("INSERT INTO foo VALUES(?, ?)");
  stmt.run(1, "demo", function (err) {  # FUNCTION INSTEAD OF ARROW LAMBDA
    if (err) throw err;
    console.log(this);
    console.log(this.lastID);
    console.log('lastID', this.lastID);
  });
});
EOF

gives me the expected output:
$ node demo.js
Statement { sql: 'INSERT INTO foo VALUES(?, ?)', lastID: 1, changes: 1 }
1
lastID 1

I feel like this might merit a special callout somewhere, as ES6 code becomes increasingly popular.  Perhaps in the wiki for this behavior? https://github.com/mapbox/node-sqlite3/wiki/API#databaserunsql-param--callback

yep same issue here. after 30 mins of head scratching and rewriting came across your post and indeed made the same mistake of using arrow function instead of 'function(error)' >:-/
thanks for your post!

Is there not a better solution?  I need to retain the scope of the outer context AND access lastID.  I'd prefer to not do the whole var self = this; hack.
I also tried the solution here: https://stackoverflow.com/a/54423628/3042383, but it gives these errors:
TypeError: db.run(...) is not a function
in Database#get('select * from [table] where [condition]', {params... }, [Function])

this is your statement, use
stmt.run(xx, (err) => {
console.log(stmt.lastID);
});

Perfect!  That's exactly what I needed, thank you @aikar !

im not sure this issue needs to remain open.
db.run() with fat arrow will be an issue because it uses a temporary statement that you don't have access to, but can be solved by preparing it yourself as shown above.
only other way i can see to improve that scenario is db.run(sql, params, (err, res, stmt) => {
});
if the run callback receives the statement as a third arg.

Yeah, I also ended up using the statement from db to
var stmt = db.prepare("INSERT INTO foo VALUES(?, ?)");   stmt.run(1, "demo", err => {  # FUNCTION INSTEAD OF ARROW LAMBDA       if (err) throw err;       console.log(stmt.lastID);   });
This works fine.

Thank you so much.  I didn't know about the db.prepare but after using the working part of your example I'm moving onto my next issue.

This issue is quite subtle, I think that mentioning it in the documentation (along with the proposed workaround) would save the time to find this issue to a lot of people

Thanks all - I've added this note to the docs for this.lastID and this.changes: https://github.com/TryGhost/node-sqlite3/wiki/API#databaserunsql-param--callback


fix: use correct URL in regex assembly standard header

@theseion …although I can't give you the approval you're looking for, as I don't have r/w access to this repository :sweat_smile:


README improvements

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

This PR makes a few improvements to the README. First, it moves the "Donations" section to be right above the "Sponsors" section. I think it makes sense to have them together since the primary way of donating is via sponsors.
Second, I removed the list of Linux maintainers in the "Who We Are" section and added them to the main list of maintainers. Since Linux and macOS are combined now, I don't think it makes sense to have the maintainers separated on the README anymore since all of them have access to both macOS and Linux (we still have separate GitHub teams but I think that makes sense for pinging purposes on Linux-specific questions).
For now, I left the text as "Homebrew's other current maintainers" but I wonder if we want to just call that section "Homebrew's current maintainers" and either leave that as-is or include the PL/PLC/TSC members who are maintainers in this list, as well (note that currently all PLC members are also maintainers but this doesn't necessarily have to be the case moving forward).
Another option, I guess, would be to separate into core and cask maintainers. I'm not really a fan of this because there's a lot of overlap and I don't think the distinction is meaningful.

Review period will end on 2022-01-14 at 17:29:10 UTC.

Review period ended.


Bump chart driver versions for CSM 1.11

Is this a new chart?
Yes
What this PR does / why we need it:
Updating chart and driver versions for CSM 1.11
Which issue(s) is this PR associated with:

https://github.com/dell/csm/issues/1221

Special notes for your reviewer:
Checklist:
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] Chart Version bumped
[ ] Variables are documented in the chart README.md
[ ] Title of the PR starts with the chart name (e.g. [charts_dir/mychartname]) if applicable

@boyamurthy : Please confirm if we are having release for all the modules

@boyamurthy : Please confirm if we are having release for all the modules

yes sure @shanmydell  , once i get the confirmation, will create new PR for modules update.


Add method to check dataset file length

Story:

As a data seller, my data in file endpoint is updated daily, and there will be some day where it doesn't have any data (eg: sales data on holiday)
Hence, I would like my data set to have some warning message to notify user when the file at the endpoint is empty.

Solution:

Add a helper method to check data set endpoint file length
If the file is empty, show a warning message to the user

This is being handled in: https://github.com/oceanprotocol/market/pull/479#issuecomment-847552554


Code signing question

I am getting the following code signing errors when trying to compile:  (any suggestions are appreciated).
No account for team "8C7439RJLG".
Add a new account in the Accounts preference pane or verify that your accounts have valid credentials.
No profiles for 'fun.Animoji' were found
Xcode couldn't find any iOS App Development provisioning profiles matching 'fun.Animoji'.

Change the bundle identifier to something custom and select a different team for code signing.
Sent with GitHawk

Thank you that seems to work...  But now I get an error that I need to add arm64e to my build settings, which I did add but still get the error.. Any suggestions there?  I do choose the destination to be the iPhone (unsupported architecture).

You're trying to run it on an unsupported device. Animoji can only be used on iPhone X, XS or XS Max.

It is the new iPhone XS Max.  Animoji works just fine in texts.

I need to upgrade Xcode and it wants me to also upgrade to OS Mojave.  so doing that now.  Think this should fix my problem. Thx for the help.

Awesome, let me know if that works


docs(db): remove docs for autoIndexId

We've already said this was off since 2.2. Since we don't even support
below 2.4, this isn't deprecated so much as no longer allowed.
Removing it from our documentation.
Fixes NODE-1428

@mbroadst updated


Radio Not Initialized

Hi All
Can any one point me to right direction please.
Got all wiring correct checked 10 times but still get this "Radio Not Initialized"
Is there any other ways of checking this?

Thanks in advance.
Regards

I have iven installed ESPSompfy on known working module as i still got it soldered to board changed pinout to match and no go still. I know this module works in this setup as i been using it on water meter.

That is not an E07-M1101D you will need to use the the mapping that lines up with the D-SUN.  However, it looks like they also swapped the GDO0 (TX) and GDO2 (RX) pins on that version.  I love the board but if you used the E07-M1101D mapping then it is not correct.  Please note that the DSUN is also not quite right but you can make it work by simply swapping the pins if the board is wired to the E07-M1101D.
If the wiring for the board is set up for the E07-M1101D then your pin settings should be as follows.  Essentially you need to trace the pin function to the setting in the software.  The reason it is giving you a Radio not Initialized is because the SPI pins are not correct.

I Have Used this for pinout.
Ill try to change to see if it starts work.
PCB files will be yours once proven to work so than you can upload on your git

Yep that is the pinout for the E07-M1101D.  Your transceiver remapped the pins to different pinouts so pin 4 on the E07 is CSN but on your Transceiver it is SCK.  There is a footnote on the table to indicate that but fortunately some remapping on the software should solve the issue.

I still dont get it as pints on ESP corresponds to once on CC1101
Mosi 23
Miso19
CSK 18
CSN 5
But not working.
I have puled out ESP that i have used before with module soldered that been working and eve this board giving me headache

Regards

That is not an E07-M1101D you will need to use the the mapping that lines up with the D-SUN. However, it looks like they also swapped the GDO0 (TX) and GDO2 (RX) pins on that version. I love the board but if you used the E07-M1101D mapping then it is not correct. Please note that the DSUN is also not quite right but you can make it work by simply swapping the pins if the board is wired to the E07-M1101D.
If the wiring for the board is set up for the E07-M1101D then your pin settings should be as follows. Essentially you need to trace the pin function to the setting in the software. The reason it is giving you a Radio not Initialized is because the SPI pins are not correct.

I Have Noticed you have "Enable Radio" ticked is that should be ticked?

Yes it should be ticked or it will not initialize and enable the radio.

Hi Thanks "Message Gone"
How to test if its working? i been using virtual remote but not getting any logs. Is logs only recorded using Somfy Remote ?
Regards

That is a receive only log since transmit output doesn't mean anything.  If the radio not initialized message is gone it is communicating over the SPI interface.  Adding this into the logs would just be noise.  If you had two devices you would see the other one receiving.

Yes it should be ticked or it will not initialize and enable the radio.

Ok Thanks.
Got strange issue One module sends commands another one receives .
But wont work other way ? So the one that receives wont send or the one that sends wont receive ?
Is this normal?
Regards
Receiving end

Transmitting end

Double check which pin you have connected to GDO0 and GDO2 for the configuration that you have labeled as the transmitting end.  Change the configuration on that one to GPIO13 for both TX and RX.  In that configuration ESPSomfy RTS will multiplex GDO0 to send and receive on the same pin.

This one sends

This one receives

Keep Plying with TX RX on both but cant send message back to sender
Regards

Motor magickly started to work but still get no logs on Sender
Sender controlling motor

The sender will not place a frame in the log.  Only a receiver will.

So why receiver receives but wont send?
I tried TX RX
RX TX
TX TX
But no joy
Regards

The transceiver can only send on the pin marked GDO0.  You should trace this wire from the GDO0 (pin 3) on the transceiver to the pin on the esp32 that you have the this connected to.  Then ensure the that pin is the pin you have selected in the TX dropdown.

Unit working.
I have purchased Somfly remote and its loging.
Thanks for your superb work.

Regards


row expand and pagination not working

"react-bootstrap-table-next": "^3.1.1",
"react-bootstrap-table2-filter": "^1.1.9",
"react-bootstrap-table2-paginator": "^2.0.6",
"react-bootstrap-table2-toolkit": "^1.4.1",

<BootstrapTable
          striped
          hover
          condensed
          noDataIndication='No Actions'
          pagination={paginationFactory()}
          data={Object.values(data)}
          keyField='action_id'
          columns={COLUMNS}
          expandRow={{
            renderer: this.renderExpand,
            showExpandColumn: true,
            onExpand: (row, isExpand, rowIndex, e) => {
              console.log(row);
              console.log(isExpand);
              console.log(rowIndex);
              console.log(e);
            },
            onExpandAll: (isExpandAll, rows, e) => {
              console.log(isExpandAll);
              console.log(rows);
              console.log(e);
            }
          }}
        />

hello @brave-merida I can not reproduce your case, would you please help me to create an online demo for reproducing this?  this is a example you can take but just remember to switch the version to newest. thank, I will reopen this issue if I can confirm this as a bug,


Update project.json versions

@moozzyk @davidfowl

Hi @BrennanConroy, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

Is this a reaction to: https://github.com/aspnet/Hosting/commit/42594afd4253a7ab0292ac7d126678f9e91d42b4?

:ship::it:

Partially, and also we were referencing 1.1.0-* in one of the test projects


Make: callback list should be in active voice.

Restructure list in terms of things that the callback does.

Fixed via #177


Transfer jupyterlab_spellchecker

Target
Transfer jupyterlab_spellchecker.

The code repository: https://github.com/ijmbarr/jupyterlab_spellchecker
The npm package on npmjs.com: https://www.npmjs.com/package/@ijmbarr/jupyterlab_spellchecker

Reason
I no longer have time to contribute to developement of this extension. See discussion in https://github.com/ijmbarr/jupyterlab_spellchecker/issues/42
Checklist

[ x] You are owner of the repository you want to transfer
Which role do you want to have in the jupyterlab-contrib organization (check one of):

[ ] Help with all jupyterlab-contrib repositories
[ ] Help with the transferred repository only
[x] I don't have time anymore to keep helping the project

The transferred repository (check one of):

[ ] Must keep the extension name
[ ] Cannot use the original name
[x] I don't care

[x] The code is available under a Open Source license
[x] A license file is present in the code repository
[x] The extension is working on at least JupyterLab 2.x
[x] The repository contains a README file describing:

[x] The provided feature(s)
[x] A picture illustrating the feature(s)
[ ] The available options/settings (if applicable)
[x] How to install the extension
[ ] optional a Binder link to test the feature online

[ ] optional The frontend code (Typescript/Javascript) is tested
[ ] optional The backend code (Python) is tested
[x] I certify the extension is not using exclusively paid-plan of any commercial service
[x] I will help the transfer process on the code repository AND the built packages

You must enable two-factor authentication on GitHub

Thanks @ijmbarr
You now have the rights to transfer the project into this organization (see documentation.
And you can also transfer the npm package to the jlab-contrib organization by accessing that page:

To add an existing package, you need to type its name in the input box next to + Add existing package button. Then click on that button.

Transferred.

Awesome thanks a lot @ijmbarr. I will reduce your rights on the organization but not on the project to align with your availability for support. Let me know if you have question about that or if your rights have been reduced more than expected (I'll correct them).


Core: Add user injector for maintaining a constant number of active users

Support needs to be added for an injector similar to scn.inject(constantUsersPerSec(5) to (100 users)) where a constant 5 users per second is injected, until there are 100 users with active sessions, at which point it will maintain 100 active sessions until the feeder is empty (or another criteria is met: cUPS(5) to (100 users) until (10 minutes)?).
Google discussion: https://mail.google.com/mail/u/0/?ui=2&shva=1#inbox/1442cdccaa64a114

@slandelle Actually, in real-world a customer often come to you with this question : "My marketing department say that we'll have to face X hits per seconds maximum because . Can you ensure me we will handle that with our current infrastructure?"

My marketing department say that we'll have to face X hits per seconds maximum because [web maketing obscure reason]

Yeah, in real world, marketing department sometimes tries to play engineers, and then usually gets it wrong...
What you're looking for is a closed workload model. You can implement this by having your virtual users loop and reset their state: http://gatling.io/docs/2.1.7/http/http_helpers.html

I see another use case. I have test scenario, where I need to prepare some data. It can be done in some maximal rate (exceeding this rate will drop some data). I would like to use something like scn.inject(constantUsersPerSec(5) to (100 users)) to achieve given rate. Now I am simulating this behaviour by splitUsers(100) into(constantUsersPerSec(5) during(1 seconds)) separatedBy(nothingFor(1 millisecond)). The only issue is that splitUsers will not insert more than given number of users, so my number of users need to be exactly divisible by constant rate factor.
I think that similar behaviour can be achieved also by throttling, but my scenario cannot be throttled because of strict timeouts on server side.

We have a use-case for this.
Our app serve traffic to mobile device. There are 2 types of requests, one is returned back right away, another is long pooled(basically sleeping on the request) at server for X amount of seconds.
So, we want a constant load for the requests that are long pooled at server for X amount of seconds. If I use constantUsersPerSec then it will keep adding the users/new-request irrespective of if server has returned the response. We want constant requests/users but with a ceiling, and test our app if it can handle it.
cUPS(5) to (100 users) until (10 minutes) fulfill our requirement completely. Right now I can't use Gatling with constantUsersPerSec. JMeter sucks, but seems like I have no choice.

Actually I would call it as follows :
constantUsers(100 users) until (10 minutes)
Means keep 100 users(or request or connections) at any given moment until 10 minutes.

+1
In our company we do like Gatling, its expressive DSL and numerous features! But one important feature is missing to ensure quality of service (QoS) for the API with Gatling.
Typically, to ensure that QoS does not decrease we assume that there are N parallel open sessions and N users (a user per session) perform various or same operations according to the scenario. The only invariant in is the number of open sessions.
The number of open sessions (or simultaneously active users) is not just "marketing department" stuff. In case of API agreement it is often written in the contract and, for instance, if the service goes down the company will not be penalised for excessive user behaviour. The feature of fixing the number of "open sessions" (active users) would be very helpful to ensure quality of service for RESTfull API.
Now, considering solution to API testing with Gatling, the closest I can get is with throttling. Throttling allows to limit the number of simultaneous HTTP user requests. On the other hand it does not work for complex scenarios. Are there any plans to go  forward with this feature?

Anyway, that's something we might consider for Gatling 3, as it would require to isolate open and closed workload models.

Until now, wrap you scenario content with a loop and recycle virtual users and possibly reset HTTP caches in the loop.


Expand openFile function to handle different kind of files

for example -> ask the user if to open binary file (or maybe show it as HEX)

Basically, if it's not a folder, we need to:

Binary: do nothing (maybe allow download? dunno)
Images: open a new tab with just a big ass <img> tag to show preview
Fonts: open a new tab with a Font Inspector
audio files: ngAudio looks like a great option. But we'll need to implement some kind of binary stream on the server side (can use BinaryJS)
video files: This might be the hardest one (although, if audio is implemented and we have the BinaryJS set up already, it can make this a bit easier). There's a directive called VIDEOGULAR. They guy who made it also wrote a pretty interesting article about what he found out about angular and html5 video while working on it: http://twofuckingdevelopers.com/2013/09/what-i-learnt-html5-video-angularjs/
Document files: this one include a wide range of files: pdf, ppt, doc, docx, etc. The open-sourced solution I found for something like this is ViewerJS

I'll just note that .ico and icon files in general seems to be able to open in an <img> tag:
http://stackoverflow.com/a/13094328/1788884

I already opened a seperate feature for this on #77 .  So, I'm closing this one but referencing it there for this info I collected back then :smile:


[POC] As a user, I would like to login with OAuth

Why
As an alternative, user would like to login with OAuth since it's simpler for the user than generating access token. Follow instruction for OAuth to create a Github OAuth app and allow user to login with user data and notification access.
This library will also help you

Will be done in https://github.com/nimblehq/github-notifications-mac/issues/8


Support for editing of Store Preview Privacy & Compliance sections of an Alexa Skill Distribution Tab

This should be done by updating the manifest of Alexa Skill from our configuration.

Wrong merge :(

Merge was successful :)


language model detach(states)

why shouldn't states be updated after every training step?I can't understand this line--"states = detach(states)" and what on earth does this step do? I am new to PyTorch and I am very grateful if anyone can help me.
# Some part of the code was referenced from below.
# https://github.com/pytorch/examples/tree/master/word_language_model
import torch
import torch.nn as nn
import numpy as np
from torch.autograd import Variable
from data_utils import Dictionary, Corpus

# Hyper Parameters
embed_size = 128
hidden_size = 1024
num_layers = 1
num_epochs = 5
num_samples = 1000   # number of words to be sampled
batch_size = 20
seq_length = 30
learning_rate = 0.002

# Load Penn Treebank Dataset
train_path = './data/train.txt'
sample_path = './sample.txt'
corpus = Corpus()
ids = corpus.get_data(train_path, batch_size)
vocab_size = len(corpus.dictionary)
num_batches = ids.size(1) // seq_length

# RNN Based Language Model
class RNNLM(nn.Module):
    def __init__(self, vocab_size, embed_size, hidden_size, num_layers):
        super(RNNLM, self).__init__()
        self.embed = nn.Embedding(vocab_size, embed_size)
        self.lstm = nn.LSTM(embed_size, hidden_size, num_layers, batch_first=True)
        self.linear = nn.Linear(hidden_size, vocab_size)
        self.init_weights()

    def init_weights(self):
        self.embed.weight.data.uniform_(-0.1, 0.1)
        self.linear.bias.data.fill_(0)
        self.linear.weight.data.uniform_(-0.1, 0.1)

    def forward(self, x, h):
        # Embed word ids to vectors
        x = self.embed(x)

        # Forward propagate RNN
        out, h = self.lstm(x, h)

        # Reshape output to (batch_size*sequence_length, hidden_size)
        out = out.contiguous().view(out.size(0)*out.size(1), out.size(2))

        # Decode hidden states of all time step
        out = self.linear(out)
        return out, h

model = RNNLM(vocab_size, embed_size, hidden_size, num_layers)
model.cuda()

# Loss and Optimizer
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)

# Truncated Backpropagation
def detach(states):
    return [state.detach() for state in states]

# Training
for epoch in range(num_epochs):
    # Initial hidden and memory states
    states = (Variable(torch.zeros(num_layers, batch_size, hidden_size)).cuda(),
              Variable(torch.zeros(num_layers, batch_size, hidden_size)).cuda())

    for i in range(0, ids.size(1) - seq_length, seq_length):
        # Get batch inputs and targets
        inputs = Variable(ids[:, i:i+seq_length]).cuda()
        targets = Variable(ids[:, (i+1):(i+1)+seq_length].contiguous()).cuda()

        # Forward + Backward + Optimize
        model.zero_grad()
        states = detach(states)#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        outputs, states = model(inputs, states)
        loss = criterion(outputs, targets.view(-1))
        loss.backward()
        torch.nn.utils.clip_grad_norm(model.parameters(), 0.5)
        optimizer.step()

        step = (i+1) // seq_length
        if step % 100 == 0:
            print ('Epoch [%d/%d], Step[%d/%d], Loss: %.3f, Perplexity: %5.2f' %
                   (epoch+1, num_epochs, step, num_batches, loss.data[0], np.exp(loss.data[0])))

# Sampling
with open(sample_path, 'w') as f:
    # Set intial hidden ane memory states
    state = (Variable(torch.zeros(num_layers, 1, hidden_size)).cuda(),
         Variable(torch.zeros(num_layers, 1, hidden_size)).cuda())

    # Select one word id randomly
    prob = torch.ones(vocab_size)
    input = Variable(torch.multinomial(prob, num_samples=1).unsqueeze(1),
                     volatile=True).cuda()

    for i in range(num_samples):
        # Forward propagate rnn
        output, state = model(input, state)

        # Sample a word id
        prob = output.squeeze().data.exp().cpu()
        word_id = torch.multinomial(prob, 1)[0]

        # Feed sampled word id to next time step
        input.data.fill_(word_id)

        # File write
        word = corpus.dictionary.idx2word[word_id]
        word = '\n' if word == '<eos>' else word + ' '
        f.write(word)

        if (i+1) % 100 == 0:
            print('Sampled [%d/%d] words and save to %s'%(i+1, num_samples, sample_path))

# Save the Trained Model
torch.save(model.state_dict(), 'model.pkl')`

See the discussion here

@qazwsx74269 Sorry for the late reply. In a language model, the length of a sequence can be thousands or more. This is problematic because we have limited gpu memory, and there is also a speed issue. To alleviate this problem, people use "Truncated Backprop Through Time" instead of "Entire Backprop".  Truncated BPTT can be implemented easily by detach(states) in pytorch.  As mentioned by @rohan-varma, please see this post explaining Truncated BPTT.

Sorry but i don't get it. One of the advantage of LSTM is: prevent vanishing gradient. Why we also need Truncated BPTT?


Support for Multiple B2C Policies

It doesn't seem like msal.js takes into consideration the concept of B2C policies, is that correct?

Arguably, Azure AD B2C policies are the most important features of the service. Azure AD B2C extends the standard OAuth 2.0 and OpenID Connect protocols by introducing policies. These allow Azure AD B2C to perform much more than simple authentication and authorization.

I say that because when I review this SPA sample app it takes in a single authority that has the policy name in it.
var applicationConfig = {
	clientID: 'e760cab2-b9a1-4c0d-86fb-ff7084abd902',
	authority: "https://login.microsoftonline.com/tfp/fabrikamb2c.onmicrosoft.com/b2c_1_susi",
	b2cScopes: ["https://fabrikamb2c.onmicrosoft.com/demoapi/demo.read"],
	webApi: 'https://fabrikamb2chello.azurewebsites.net/hello',
};

Also, the forgot password flow in B2C w/ msal.js doesn't have a clean solution.

And this issue talking about multiple policies.  I don't see how allowing this in the callback function addresses multiple B2C policies.

With this fix you can still use this.msal in the callback function as before and also use userAgentApplication instance to support multiple login types making it backwards compatible.

What am I missing/not understanding?

https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/440


Inpainting Dreambooth bug after training

Describe the bug
I'm getting a bug after training a model during sampling:
Here's my command:
!accelerate launch train_inpainting_dreambooth.py \
  --pretrained_model_name_or_path="runwayml/stable-diffusion-inpainting" \
  --pretrained_vae_name_or_path="stabilityai/sd-vae-ft-mse" \
  --output_dir=$OUTPUT_DIR \
  --with_prior_preservation --prior_loss_weight=1.0 \
  --seed=1337 \
  --resolution=512 \
  --train_batch_size=2 \
  --train_text_encoder \
  --learning_rate=1e-6 \
  --mixed_precision="fp16" \
  --lr_scheduler="constant" \
  --lr_warmup_steps=0 \
  --num_class_images=300 \
  --sample_batch_size=4 \
  --max_train_steps=1200 \
  --n_save_sample=0 \
  --save_infer_steps=35 \
  --not_cache_latents \
  --hflip \
  --concepts_list="concepts_list.json"

And then after training completes, I get this problem when generating the samples:
Generating samples:   0% 0/4 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "train_inpainting_dreambooth.py", line 876, in <module>
    main(args)
  File "train_inpainting_dreambooth.py", line 869, in main
    save_weights(global_step)
  File "train_inpainting_dreambooth.py", line 758, in save_weights
    images = pipeline(
  File "/usr/local/lib/python3.8/dist-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py", line 675, in __call__
    mask, masked_image_latents = self.prepare_mask_latents(
  File "/usr/local/lib/python3.8/dist-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py", line 534, in prepare_mask_latents
    masked_image_latents = self.vae.encode(masked_image).latent_dist.sample(generator=generator)
  File "/usr/local/lib/python3.8/dist-packages/diffusers/models/vae.py", line 570, in encode
    h = self.encoder(x)
  File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1190, in _call_impl
    return forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/diffusers/models/vae.py", line 130, in forward
    sample = self.conv_in(sample)
  File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1190, in _call_impl
    return forward_call(*input, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/conv.py", line 463, in forward
    return self._conv_forward(input, self.weight, self.bias)
  File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/conv.py", line 459, in _conv_forward
    return F.conv2d(input, weight, bias, self.stride,
RuntimeError: Input type (c10::Half) and bias type (float) should be the same

Reproduction
No response
Logs
No response
System Info
Colab:

diffusers version: 0.9.0
Platform: Linux-5.10.147+-x86_64-with-glibc2.27
Python version: 3.8.16
PyTorch version (GPU?): 1.13.0+cu116 (True)
Huggingface_hub version: 0.11.1
Transformers version: 4.25.1
Using GPU in script?: Yes, A100
Using distributed or parallel set-up in script?: No.

Fixed in 68a9bd8427796a86ad7671be309231dee838d434


Support CUDA 12.0

Tasks

[ ] Read CUDA Release Notes.
[ ] Update CUDA driver in FlexCI images (Linux/Windows) (ask @kmaehashi).
[ ] Fix code and CI to support the new vesrion.

FlexCI: Update .pfnci/schema.yaml and .pfnci/matirx.yaml.
Compute Capability Support: Check NVRTC Reference (--gpu-architecture option) and NVCC Reference (--generate-code), and if needed, change the maximum value of supported compute capability defined in cupy/cuda/compiler.py (nvrtc_max_compute_capability) and _cc_major_map in cupy/fft/_callback.pyx. Also update the list of architectures in _compiler.py (arch_list).
FP16 Headers: Copy FP16 header files to cupy/_core/include/cupy/_cuda/, then update cupy/_core/core.pyx to use it.
Library Installer: Update cupyx/tools/install_library.py.
Wheel Package Detection: Add the package to the duplicate detection.
Universal Wheel Package (cupy-wheel): Update the list of packages and detection logic in universal_pkg

[ ] Backport the above PR.
[ ] Fix cupy-release-tools to support the new version.
[ ] Backport the above PR.
[ ] Fix documentation.

Add new wheel package to the Installation Guide and README.md.
Update requirements in the installation guide.

[ ] Backport the above PR.
[ ] Add new wheel package to the website.
[ ] Implement or create an issue to support new features, if applicable.

cc: @anaruse

TODO: Emit DeprecationWarning in these APIs to plan removal in CuPy

https://docs.cupy.dev/en/latest/reference/generated/cupy.cuda.texture.TextureReference.html
https://docs.cupy.dev/en/latest/reference/generated/cupy.cuda.profiler.initialize.html


Snackbar appears behind system navigation bar with Insets

Describe the bug
When using Accompanist Insets and Scaffold to show content behind system bars, snackbar is also shown behind navigation bar.
To Reproduce
Here is a code to reproduce the bug:
// I have WindowCompat.setDecorFitsSystemWindows(window, false) set in onCreate()

var showCarSavedNotification by remember { mutableStateOf(false) }

AppTheme {
    ProvideWindowInsets {
        com.google.accompanist.insets.ui.Scaffold(
            modifier = Modifier.fillMaxWidth(),
            scaffoldState = mainScaffoldState,
            contentPadding = rememberInsetsPaddingValues(
                insets = LocalWindowInsets.current.navigationBars
            )
        ) {
            Column(
                modifier = Modifier
                    .verticalScroll(mainScrollState)
                    .fillMaxWidth()
                    .padding(32.dp)
                    .systemBarsPadding(),
                horizontalAlignment = Alignment.CenterHorizontally
            ) {
                Button(onClick = { showCarSavedNotification = true }) {
                    Text(text = "Show snackbar")
                }
                // Content
            }

            if (showCarSavedNotification) {
                showCarSavedNotification = false
                composableScope.launch {
                    mainScaffoldState.snackbarHostState.showSnackbar(
                        getString(R.string.main_car_saved_snackbar),
                        duration = SnackbarDuration.Short
                    )
                }
            }
        }
    }
}

Expected behavior
I expected to see the snackbar appearing above the system navigation bar.
Screenshots?
Here's what I get:

Environment:

Android OS version: Android 10
Device: Emulator
Accompanist version: v0.18.0

Additional context
When the scaffold contains a floating action button, the snackbar correctly appears above the navigation bar.

A workaround is adding a bottom bar to the scaffold:
bottomBar = {
    Spacer(modifier = Modifier.navigationBarsPadding())
}


Fix broken test_cpu_amp_precision_context_manager

What does this PR do?
Fixes broken test_cpu_amp_precision_context_manager
#9211 changed this test since the signature to initialize the torch.cuda.amp.autocast changed from autocast(fast_dtype=...) to autocast(dtype=...)., however the base class still uses the instance attribute fast_dtype
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you list all the breaking changes introduced by this pull request?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Hi, is this ready? pls, use the checkboxes to mark so... :rabbit:


Crashes my game

I haven't been able to figure out why, but I added this mod to my modpack and it won't let the game start up. I turned it off and it worked just fine, and when I turned it back on the same problem happened. It had an unexpected crash error popup that said Exit Ticket: 0. Not sure why, just thought I'd let you know

Ok wait I turned it on and off again, then deleted it but the problem is persisting. I'll try to figure it out


does it support ios device on unity?

It worked weel when I run it on unity editor (mac), but when I publish to ios device, it seemed that it did not work.

Hi Tim,
I'm neither an Unity expert nor do I own an iOS device. The Unity code was written by @alexnsfx and just pulled into the repo by me. So maybe he can give us a hint.
For now, could you please give more details about "it did not work"? Can you deliver some kind of stack trace or exception message?

When it run on unity edtitor, win/mac both run well. Android well too, but ios, it does not, I think the reason may be at Texture2D image =qr.GetGraphic(20);
		QRCodeGenerator gen=new QRCodeGenerator();

		PayloadGenerator.Url url=new PayloadGenerator.Url("http://funire.com");

		QRCodeData qrCodeData =gen.CreateQrCode(url.ToString(),QRCodeGenerator.ECCLevel.L);

		UnityQRCode qr=new UnityQRCode(qrCodeData);

		Texture2D image =qr.GetGraphic(20);

		GetComponent<Renderer>().sharedMaterial.mainTexture=image;

I'm not sure, but I'll do my best to test it and give the feedback.

Hi Tim,
could you please try the following and tell me, if this fixed your problems.
Please change line 37 in UnityQRCode.cs from:
var gfx = new Texture2D(size, size, TextureFormat.ARGB32, false);
to
var gfx = new Texture2D(size, size, TextureFormat.RGBA32, false);
(I've read that iOS doesn't support ARGB32, but I can't test it, so please test it for me.)

yeah, thanks for your help in advance, I will test in next monday

And don't forget to sync/checkout the newest version of the library. I've added some major bugfixes today.

I seemed that is still not work.

I'm sorry, but the TextureFormat thing was my only idea. I don't know how to help you, without getting more information on the error. Can you debug your app and give me more detailed information?
http://forum.unity3d.com/threads/debugging-c-on-ios-device.96551/

Hello.
It really doesn't work on iOS. I have a Mac and iOS devices where I work, but really don't understand Xcode to try debug.
If you get any help on this I can try to help. Sorry about this vague response.

Hey @tim-hub , hi @Biodam - some days are gone and so there are some news. Since I implemented a PCL version of the library, would you be so kind, to test again with the PCL version? Just use the "QRCoderProject.Portable.sln" project to compile the QRCoder.dll (or grab it from the Nuget package).
The portable version has only one QRCode type (BitmapByteQRCode). You can use it as described in the following:
`QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("The text which should be encoded.", QRCodeGenerator.ECCLevel.Q);
BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData);
byte[] qrCodeImage = qrCode.GetGraphic(20);
// Create a texture. Texture size does not matter, since
// LoadImage will replace with with incoming image size.
Texture2D tex = new Texture2D(2, 2);
tex.LoadImage(qrCodeImage);
`

Hey @codebude  , I tried to test the PCL version , but got an error when I import the QRCoder.dll to Unity.
Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.

  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)

  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0

  at Mono.CSharp.RootNamespace.ComputeNamespaces (System.Reflection.Assembly assembly, System.Type extensionType) [0x00000] in <filename unknown>:0

  at Mono.CSharp.RootNamespace.ComputeNamespace (Mono.CSharp.CompilerContext ctx, System.Type extensionType) [0x00000] in <filename unknown>:0

  at Mono.CSharp.GlobalRootNamespace.ComputeNamespaces (Mono.CSharp.CompilerContext ctx) [0x00000] in <filename unknown>:0

  at Mono.CSharp.Driver.LoadReferences () [0x00000] in <filename unknown>:0

  at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0

  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0

The following assembly referenced from F:\work\snake\trunk_mobile\Assets\Plugins\QRCoder.dll could not be loaded:
     Assembly:   System.Runtime    (assemblyref_index=0)
     Version:    <IP_ADDRESS>
     Public Key: b03f5f7f11d50a3a
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (F:\work\snake\trunk_mobile\Assets\Plugins\).

Could not load file or assembly 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Missing method .ctor in assembly F:\work\snake\trunk_mobile\Assets\Plugins\QRCoder.dll, type System.Runtime.Versioning.TargetFrameworkAttribute
Can't find custom attr constructor image: F:\work\snake\trunk_mobile\Assets\Plugins\QRCoder.dll mtoken: 0x0a00000e

And I also tried the common version , but I can't get it work on android. Got the error as below
12-07 13:29:26.971 31560 31581 I Unity   : InvalidOperationException: Operation
is not valid due to the current state of the object
12-07 13:29:26.971 31560 31581 I Unity   :   at System.Linq.Enumerable.First[Met
hodInfo] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback) [0x0
0000] in <filename unknown>:0
12-07 13:29:26.971 31560 31581 I Unity   :   at System.Linq.Enumerable.First[Met
hodInfo] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename
unknown>:0
12-07 13:29:26.971 31560 31581 I Unity   :   at QRCoder.QRCodeGenerator+ModulePl
acer.MaskCode (QRCoder.QRCodeData& qrCode, Int32 version, System.Collections.Gen
eric.List`1& blockedModules, ECCLevel eccLevel) [0x00000] in <filename unknown>:
0
12-07 13:29:26.971 31560 31581 I Unity   :   at QRCoder.QRCodeGenerator.CreateQr
Code (System.String plainText, ECCLevel eccLevel, Boolean forceUtf8, Boolean utf
8BOM) [0x00000] in <filename unknown>:0
12-07 13:29:26.971 31560 31581 I Unity   :   at ShareUI+<GenerateTwoDimension>c_
_Iterator3.MoveNext () [0x00000] in <filename unknown>:0
12-07 13:29:26.971 31560 31581 I Unity   :   at UnityEngine.SetupCoroutine.Invok
eMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <file
name unknown>:0

Any help will be appreciated.

Hi @yangyujiang would it be ok for you, to send me some sample code or your sample project? So that I can debug, what's going wrong?

@yangyujiang one more idea. The PCL library is built with target x86. Grab the code from GitHub an try to compile the PCL library with target ARM. Maybe this helps to run on your Android.

It has been over 5 months since a reply. Is this dead, especially because no traffic inquiring?

@Hydroque - since I neither have an iPhone nor I'm really experienced in Unity, I can't handle this problem alone. But since this problem existed I didn't want to close it, before I have a proof that this problem is fixed.
In 1-2 months I'll get a iPhone, so that I can test it myself. So long I like to keep this issue open.

I wonder if it reproduces on an emulator.

@codebude did you get that iPhone you said you would have?

Is this issue still relevant?

Hi @Ruffio - I'm sorry,  but I can't say if this is fixed, because I still don't have an iPhone dev environment.  If you can help to solve this I would be happy.


How to know about the length of the data, TF2.0?

I have been following these two tutorials, 1 & 2 in order to read a csv file to train a NN model. However, In tutorial 1, here exactly, I did not understand how the author chose the values for BUFFFER and TAKE. It is not documented how to find the total number of examples/elements in the txt files because some file might consisting less or more examples/elements.
Thank you!

This would indeed be a useful feature (I do not believe that it is implemented as of now).
That being said, in most cases you have some knowledge about your data and set up those constants accordingly... You may however run independent python operations to gather files' lengths (in this tutorial, you simply need to sum the number of rows in each file, which is easily obtained - see below) or, provided you are using Eager execution, do n_samples = sum(1 for _ in iter(all_labeled_data)).
To count rows (which works when you do not have Eager execution on):
n_samples = 0
for file_name in FILE_NAME:
    with open(os.path.join(parent_dir, file_name)) as file:
        n_samples += sum(1 for _ in file)

I hope this helps :)

Hi Paul,
thank you for this suggestion. This is the problem that one has to do it separately, to look into my file (in my case, a csv file) I had to execute a separate script consisting Pandas DF. Neat and clean but there is nothing in TF(2.0). I request Tensorflow's team to provide such feature, if possible.

Hi,
I get that, and personally agree that it would be a useful feature. Let's hope @jvishnuvardhan (and/or other TF people) can make it happen!
FYI, you can count rows in a csv files using the same trick as I posted yesterday (merely opening files with open and counting how much rows there are, possibly substracting 1 if you have a header), so as not to depend on pandas (and also not to load the data in memory with it, which is RAM-costly) :)

I did not know about the not loading data into memory. Thank you, I will try this inexpensive way. :)

To be more precise, open creates a generator that yields the data as it is read. By iterating over the resulting object, you load the data in memory, but only one row at a time, which as you do not attempt to keep it further is also discarded between iterations (well, when the garbage collector passes, which may not be at every iteration, but you get idea). Thus, instead of loading all of the file's content (plus parsing it) with pandas, you iteratively load and discard small chunks (the rows) and only keep track of how many times you were able to do that (thus how many rows there are in the csv file, including the header if any, hence my mentioning substracting one).

thank you for the nice explanation. :)👍

Hi, tf.data API provides the cardinality operation which returns the size of a tf.data dataset. The caveat is that the operation can return "unknown" if it cannot be done in a constant time with respect to the number of elements of the dataset. In particular, the cardinality operation will not attempt to enumerate all elements stored in a file.
For an arbitrary (finite) dataset, you can always count the number of its elements as follows:
num_elements = 0
for element in dataset:
  num_elements += 1

@jsimsa Thank you for pointing tf.data.experimental.cardinality out!
(note: the second solution is similar to the n_samples = sum(1 for _ in iter(all_labeled_data)) line I pointed out in my initial answer - and it requires Eager execution, which is becoming the norm in tf 2.0)

Hi @jsimsa , thank you for this information. I tried cardinality but its output is tf.Tensor(-2, shape=(), dtype=int64) on my dataset consisting two columns, Descritption and Label. I am not sure how to get length from this output. However,

num_elements = 0
for element in dataset:
num_elements += 1

behaves as expected.
Also, Since my dataset has many classes (approx. 100000), I sometimes want to test it on lets' say first 50000 classes. This dataset is sorted on the basis of classes like from class 0,1, 2...100000. Now I want to know the number of elements until class number 50000. Is there a way in TF 2.0, to count elements only until class 50000?.
I can do it using Pandas DF, where I just select classes until 50000, something like dataset[dataset['label']<51000]

@rishabhsahrawat can you share the code for which you receive -2 (which by the way is a constant used to identify unknown cardinality)
Unlike Pandas DF, tf.data provide a streaming abstraction and thus supports datasets that do not necessarily fit into memory. If you would like to limit the dataset to its first X elements, you can do so through the take transformation. If you would like to filter a subset of a dataset based on values of each element, you can do so through the filter transformation.

Hi, here is the code.
dataset = tf.data.experimental.make_csv_dataset('name_of_file.csv', batch_size = 1, select_columns = ['description', 'Label'], label_name = 'Label', num_epochs = 1 ,shuffle = True)
print 'Cardinality: ',tf.data.experimental.cardinality(dataset)
As I said, this csv file has two columns, description and Label.  Total number of elements are 1265814.
If you need any other information, please let me know.
thank you for the information about tf.filter, I will test it out.

Your dataset is read from a file. As per my original response, "the cardinality operation will not attempt to enumerate all elements stored in a file."

okay, I see. So, there is no other way to find the number of elements in the file except the for loop you mentioned earlier.?. Also then how and where to use cardinality?

Correct. cardinality works with datasets created through from_tensors or from_tensor_slices.

Okay, clear.
I am playing with filter, mentioned earlier by you, does it also work on datasets created through from_tensors or from_tensor_slices? Because in the example here, the dataset is created using from_tensor_slices.


Saying a backslash only in Minecraft chat crashes wither

masav inadvertently typed just "" into MC chat, and wither didn't send it or any subsequent chats to Slack.

Oh geez. Nice catch.


Path templating not supported

Hi,
Unfortunately path templates are not supported in this library; For example, if a PUT request is made for a Flask view which has a pattern of, say, /users/<user_id> and I have a /users/{user_id} path defined in my OpenAPI 3 schema, then it doesn't match the path because of the difference between "lesser-than/greater-than" bracers from Flask and the curly bracers from OpenAPI 3.
Please let me know if you need help with implementing this fix, in which case I can send a pull request.
Thanks,
Diogo

@diogobaeder thanks for the report. Tbh I don't know how to implement this atm

I found the same problem some time ago and have been using this workaround:
# Alter request as workaround for openapi-core limitations
request.url_rule.rule = (
    request.url_rule.rule.replace('<', '{').replace('>', '}')
)

Me too, I'm doing the same replacement in my code itself. But it would be nice to have that supported by the library.
I might have some time during the weekend, if so I'll try to come up with a pull request supporting that.

class FlaskOpenAPIRequestEx(FlaskOpenAPIRequest):
    @property
    def full_url_pattern(self):
        return re.sub('<([^>]+)>', r'{\1}', super().full_url_pattern)

This is specific to the router implementation syntax. For Django things are a lot more complex, so I think it shouldn't be implemented by openapi-core, but by the url routing framework.

I've noted a potential solution to this in https://github.com/p1c2u/openapi-core/issues/93#issuecomment-439044688.

I would suggest extending @muzhig regex so that it handles cases like: <int:myid> -> {myid} with using the following re.sub:
re.sub(r'<([a-zA-Z0-9_]+ *:|) *([^>]+)>', r'{\2}', rule)

I'm not 100% if flask allows spaces around the colon, if it is not allowed, then the two  * can be removed.


[Settings] : System menu pop-up doesn't open inside 'Settings' window, when user press 'Alt + Space' key.

Windows Terminal version
1.12.3472.0
Windows build number
22509.1011
Other Software
**Test Environment: **
OS: Windows 11 Version Dev (OS Build 22509.1011)
App: Windows Terminal Preview
Steps to reproduce
**Repro Steps: **
1.Open Windows Terminal.
2.Open Settings page using 'Ctr+,'
3.Now try to open the 'System menu' pop-up by pressing 'Alt + Space' key.
4.Observe the issue.
**User Experience: **
Users will not be able to 'System menu' pop-up functionalities in 'Settings' window, if System menu pop-up doesn't open inside 'Settings' window on pressing 'Alt + Space' key.
Attachment :
System menu pop-up doesn't open inside 'Settings' window, when user press 'Alt + Space' key..zip
Expected Behavior
System menu pop-up should open inside 'Settings' window, when user press 'Alt + Space' key.
Actual Behavior
System menu pop-up doesn't open inside 'Settings' window, when user press 'Alt + Space' key.

Huh. Sure doesn't. Probably should. I'm guessing there's some magic reason that Alt+Space isn't delivered to the SUI, which is causing us to never raise a OpenSystemMenu action, so it never gets to TerminalPage::_HandleOpenSystemMenu. That's where I'd start.

Note to selves: it just generally doesn't work from the command palette either. Why does it need to go through a TermControl? that's weird.

So the reason this doesn't work in the settings UI is because Alt + Space is special cased in the app's main method to delegate through to AppHost::OnDirectKeyEvent(), which in turn delegates through to AppLogic::OnDirectKeyEvent().
This method iterates through the UI tree and passes the key event through to IDirectKeyListener implementations - of which the settings UI's MainPage isn't one.
Hitting Alt + Space in the command palette doesn't work either - it does implement IDirectKeyListener, but only seems to care about the Alt key-up event and doesn't handle Alt + Space.
I've been looking at this for a while now, and can't come up with a nice way of refactoring the code so that hitting Alt + Space works in all three places. The TermControl logic below doesn't refactor out (I was thinking up to AppLogic) well - as it uses methods on ControlSettings, which AppLogic (or MainPage for that matter) doesn't know anything about.
https://github.com/microsoft/terminal/blob/210a98e44940f880175436b050151fb8c1e4b45d/src/cascadia/TerminalControl/TermControl.cpp#L963-L988
Oddly, the "Open system menu" action does work if you click it from within the command palette - it just doesn't work if you press the enter key with it highlighted. In both cases the action does fire, and IslandWindow::OpenSystemMenu() does get called - but when enter is pressed, the call to TrackPopupMenu() doesn't seem to do anything.

Originally filed in MSFT-41390832

Closing the bug as issue is fixed on the latest build:
Windows Terminal Preview Version: 1.17.3052.0


Error in redux module

There's an error here https://github.com/davezuko/react-redux-starter-kit/blob/master/src/redux/modules/counter.js#L36
It should be [COUNTER_INCREMENT] instead, as right now it only works because the action name and the reducer just happen to have the same name. The reducer should use the action name const.

Ah thank you, this was an oversight from the debate over redux-actions and FSA-style actions. I'll get this fixed momentarily.

No worries, it's just a tiny mistake.


build-init should generate projects with "--split-project" option set to false without requiring user input

The build-init plugin uses a boolean property in conjunction with @Option to specify whether the generated project should be split into separate subprojects. If the --split-project argument is not specified then the input prompt appears. This means it's not possible to generate a non-split project without expecting user input.
To resolve that, the boolean property is replaced with a string property. Users can either specify --split-project false or --split-project true on the command line. If the property is not specified then the input prompt appears.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

Thank @big-guy and @jjohannes for the input. I've reverted the property type to boolean and added Jendrik's suggestion.
PTAL.

@bot-gradle test QF

OK, I've already triggered QuickFeedback build for you.


Why use siphasher?

Hello,
I was just wondering why specificaly this library use siphash as the default hashing algorithm?
As we hash u128 I think ahash would be a good alternative as it seem to be upwards of 20x faster for those sizes

We need collision resistance because we assume that hash collisions never happen. I don't know about aHash, but FnvHash and FxHash are not designed for such use cases. The decision to use SipHash follows rustc's incremental compiler: https://github.com/rust-lang/rust/pull/107925

It seem as ahash would not be suitable then, they use a u64 hash, but their hash quality seem to be better then FX.

We need collision resistance because we assume that hash collisions never happen. I don't know about aHash, but FnvHash and FxHash are not designed for such use cases.

SipHash128 is not a collision-resistant hash function. If you read the original SipHash whitepaper they even say that it is "obvious" that it is not.

The decision to use SipHash follows rustc's incremental compiler: rust-lang/rust#107925

See https://github.com/rust-lang/rust/issues/10389 for extensive discussion.
From your source code:
https://github.com/typst/comemo/blob/1275982a62a0815c9ca5a0d734ef5883c4178fc1/src/prehashed.rs#L22-L27
Even when used with a CSPRNG-provided random key, the original use case for SipHash was hash functions, which do a full equality check done after the hash equality check, to verify there are no collisions.

The idea here isn't that an attacker can't find a collision, but rather than we don't run into a collision accidentally. Reading this comment https://github.com/rust-lang/rust/issues/10389#issuecomment-1887239511, it appears that 128-bit SipHash gives us that.

I admit that the docs don't make that fully clear.


JPEGs aren't saved with read permission

I have no idea why this happens...

Was a problem with deployment, no idea why it hapens though.


[image_picker] image_picker: ^1.0.1 image rotation issue

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Pick up photos and see the cache results.
The preview is displayed correctly, but the image in memory has been rotated with image_picker: ^1.0.1
(the same problem occurs in both Android and IOS)
This happens with a few pictures.
Expected results
Keep the correct orientation of the image.
I use this image to push to the server, so the original orientation of the image should be correct.
Actual results
The image was automatically rotated
Code sample
Code sample
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or simply save your changes to "hot reload" in a Flutter IDE).
        // Notice that the counter didn't reset back to zero; the application
        // is not restarted.
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  XFile? _xFile;

  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            if (_xFile != null) Image.file(File(_xFile?.path ?? '')),
            TextButton(
              onPressed: () async {
                final image =
                    await ImagePicker().pickImage(source: ImageSource.gallery);
                if (image != null) {
                  setState(() {
                    _xFile = image;
                  });
                }
              },
              child: const Text('Pick Image'),
            ),
          ],
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://github.com/flutter/flutter/assets/53120409/306399d8-97b0-4d71-8930-296649341ba8
[The image has an error]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.5, on macOS 13.4 22F66 darwin-arm64, locale en-VN)
    • Flutter version 3.10.5 on channel stable at /Users/cuong.nv2/fvm/versions/3.10.5
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (7 weeks ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/cuong.nv2/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] Connected device (5 available)
    • SM A536E (mobile)           • R5CT43S52SD                          • android-arm64  • Android 12 (API 31)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64  • Android 13 (API 33) (emulator)
    • iPhone Xʀ (mobile)          • 94A1EBEC-51FB-4B71-8ED6-C876D62CFE30 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)             • macos                                • darwin-arm64   • macOS 13.4 22F66 darwin-arm64
    • Chrome (web)                • chrome                               • web-javascript • Google Chrome 115.0.5790.114

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Hi @CuongNV12. Thanks for filing this issue, I can't seem to reproduce this issue on the latest stable channel. Can you upgrade to the latest version to confirm if this issue still persists?

The image may contain EXIF data, which records the image's orientation. While some software, like Android Studio's Device File Explorer, may not respect this EXIF orientation, Flutter correctly rotates the image in the same way that Android's file picker does.
You can use the https://pub.dev/packages/exif package to confirm whether the image is originally in landscape mode, even though the EXIF data may rotate it.

Hi @CuongNV12. Thanks for filing this issue, I can't seem to reproduce this issue on the latest stable channel. Can you upgrade to the latest version to confirm if this issue still persists?

I've used flutter sdk 3.10.6 in stable channel and image_picker: ^1.0.1 but the problem still occurs.
You can use below image to reproduce this issue.
https://user-images.githubusercontent.com/53120409/258004351-dda26e7f-6325-4d85-a484-bde65f6b8a70.jpg
Doctor output
[✓] Flutter (Channel stable, 3.10.6, on macOS 13.4 22F66 darwin-arm64, locale en-VN)
    • Flutter version 3.10.6 on channel stable at /Users/cuong.nv2/fvm/versions/3.10.6
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (3 weeks ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
• Android SDK at /Users/cuong.nv2/Library/Android/sdk
• Platform android-33, build-tools 33.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E300c
• CocoaPods version 1.12.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
[✓] Connected device (4 available)
• sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64  • Android 13 (API 33) (emulator)
• iPhone Xʀ (mobile)          • 94A1EBEC-51FB-4B71-8ED6-C876D62CFE30 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
• macOS (desktop)             • macos                                • darwin-arm64   • macOS 13.4 22F66 darwin-arm64
• Chrome (web)                • chrome                               • web-javascript • Google Chrome 115.0.5790.170
[✓] Network resources
• All expected network resources are available.
• No issues found!

The image may contain EXIF data, which records the image's orientation. While some software, like Android Studio's Device File Explorer, may not respect this EXIF orientation, Flutter correctly rotates the image in the same way that Android's file picker does.
You can use the https://pub.dev/packages/exif package to confirm whether the image is originally in landscape mode, even though the EXIF data may rotate it.

This is EXIF data.

While some software, like Android Studio's Device File Explorer, may not respect this EXIF orientation

It doesn't seem to be the fault of Android Studio Device File Explorer. because i used this file to send to the server, after getting the image url and displaying, the image still shows like Android Studio Device File Explorer does.

Hi @CuongNV12. Thanks for the detailed explanation. Using the image you shared, I can see from the EXIF data that it's rotated 90.
{Image ImageWidth: 600, Image ImageLength: 398, Image ExifOffset: 62, Image Orientation: Rotated 90 CCW, EXIF LightSource: Unknown}

Checking the downloaded file from the device, I see the correct image but viewing the Downloads folder via Android Studio Device File Explorer, I see the image rotated, hence this might stand.

While some software, like Android Studio's Device File Explorer, may not respect this EXIF orientation

It seems to be a display error of Android Studio Device File Explorer, and our fie uploader.
Thank you for supporting me!


Define project filestructure

Organising templates and views, Javascripts. For example, widgets are currently in their own folder.

Done.


[Feature Request]: reduce number of serviceaccount names, define them in manifest yamls and use KfDef parameters

Feature description
Conceptually, what is the reason that individual notebooks / workbenches have individual service account names?
Is RBAC so vastly different between different notebooks?
Regarding e.g. Elyra, I see that RBAC is added to the dynamic service account name / notebook name.
But could that not also be done using just a single serviceaccount name for all notebook images of the same kind of RBAC, in manifests?
I guess having the dynamic aspect is mainly due to specific Elyra RBAC added to Elyra / pipeline-enabled notebooks, correct?
Context for question: quite a lot additional work for either linking optional image pull secret to podspec (not a good idea conceptually) or serviceaccount name (variable, thus not possible to link via KfDef / manifests optional parameters (i.e. image pull secret name created by admins in openshift) of notebook. See https://github.com/opendatahub-io/odh-manifests/issues/833
The alternative to many dynamically-created ServiceAccounts along with their rolebindings would be a worbench-notebook serviceaccount and a workbench-notebook-pipelines serviceaccount, statically defined in manifests of odh-dashboard along with its RBAC / rolebinding and programatically added by name during assembly of the notebook CR as a whole.
That would also make linking optional image pull secrets wayy easier via KfDef parameters ... in my opinion, RBAC should be defined in static yamls in manifests and then used programatically / indirectly by referencing one of a few service account names with clear RBAC in the notebook spec serviceaccountname. I mean, even pipeline definition name is static / a const, as used in the elyra rolebinding, so that could also be put in manifests with a default value for that parameter ...
The same conceptual question probably applies to model serving serviceaccounts There, too, it seems, a lot of putting-together serviceaccounts and RBAC / rolebindings is done programatically just because of service account name equaling the servingruntimename. Currently, the serving runtime name is namespace-specific, model-server-${namespace}, so rolebinding name and service account name are, too. There is no reason to put the namespace name into the name of a rolebinding or serviceaccount, as both have their context in the namespace anyways. Could that not be done similar to odh-dashboard/manifests/base/model-serving-role.yaml and model-serving-rolebinding.yaml?
I mean, for application model serving serviceaccounts:
There, dynamic names of serviceaccounts and rolebindings are created it seems, this time containing the namespace. There, a rolebinding called model-server-<namespace>-view and a serviceaccount called model-server-<namespace>-sa are created.
Question there, too, is: why not create the rolebinding and serviceaccount in manifests with a static name, e.g. model-serving-view and static serviceaccount name, e.g. model-serving-sa, and then only reference both rolebinding and serviceaccount name from code, making only the to-be-applied namespace dynamic in code? Does RBAC for model serving differ at all per namespace? If not, putting it in manifests is the much better solution in my view.
@lucferbux
Yes, the namespace / model serving namespace is only known to dashboard because namespaces are variable, but there is no conceptual reason for putting namespace as a part of rolebinding and serviceaccount names programatically if the RBAC content does not change. You could keep the RBAC definitions themselves in dashboard code for model serving, but keep the name of serviceaccount and rolebinding static. Rolebindings and ServiceAccounts are namespace-specific anyways.
That idea (reducing the number of service account names per namespace) does not apply to rolebinding for project sharing, as those are not service-account specific, correct? They have users and groups as subjects, I see. Great work on admin, edit, view there!
Describe alternatives you've considered
No response
Anything else?
No response

cc @andrewballantyne

a) Regarding notebooks: not an option to do this. According to @VaishnaviHire, notebook-controller relies on individual / unique per-workbench/notebook serviceaccounts because they are used as oauth-clients and for correct setting of e.g. redirect-url and so on.
Openshift doc reference as well.
I will submit a PR for applications (model mesh controller, dashboard, notebook controller, odh notebook controller ... ) using static serviceaccounts in the main opendatahub namespace as well as here for manifests. Mere changes to manifests with kustomize tweaks. Focsussing on that first.
For odh-dashboard notebooks, we will need to figure out a way to
a) add image pull secret with dockerconfigjson credentials to a dynamic workbench namespace
b) link up that image pull secret by name with the dynamically-created serviceaccounts
That will be a PR for odh-dashboard.

greater context: ODH on-premise / disconnected / airgapped
possible milestone: ODH v1.7.0

closing as approach is clear


Add metrics to measure backpressure in indexing pipeline.

Just a draft to play with metrics and quickly have info about the time spent to send a message to an actor mailbox.

Yes, this was just an experimentation... I updated the code to pass a metric to the function... but I don't really like that :/
Currently, I think we want to monitor:

the time spent waiting to send a message to an actor mailbox (this is the backpressure)
the time spent processing a message. Ideally we would need a proc macro but it seems quite hard to implement that on a async function so I would go for a manual implementation for the main function we want to monitor closely.

Let's close this for now as these metrics are not super useful.


Document how to add a "dask hub"

I couldn't see any mention of "Dask Hubs" in the pilot hubs documentation. Can we add information about how to provision a Dask hub vs. an educational hub? Is it a matter of using a different template?

this is now documented here: https://infrastructure.2i2c.org/en/latest/topic/hub-templates.html#hub-templates


Use the cache action in another action

I have a use case where I repeatedly use cache the same way. I want to create an action to wrap this functionality. I'd like an API to be able to call the cache action, such as:
const cache = require('cache');

await cache.restore(path, key);
await cache.save(path, key);

What I tried so far:
I can require the action, however, the parameters are taken from the parent action, also the code runs async upon require.
package.json
"dependencies": {
  "cache": "github:actions/cache#v1.1.0"
},

index.js
const restore = require('cache/dist/restore').default;
// runs restore async, could not await
const save = require('cache/dist/save').default;
// runs save async, could not await (this actually finishes before restore with "Error retrieving key from state."

See aslo:

https://stackoverflow.com/questions/58860769/call-a-github-action-from-another-github-action
https://stackoverflow.com/questions/58611841/how-can-i-reference-other-actions-from-my-github-actions-action-yml-file

duplicate of #55

You're right, my bad


Currently no way to get high-value uint64 values from Python to C++

A current limitation of the Proxy infrastructure is that a specific target-language type can only be converted to a single C++ type. This poses an issue with Python's int or long types. Given the previously mentioned limitation, the conversion back to C++ is implemented as returning a long long.
This means that numbers that are in the range of unsigned long long that aren't in the range of long long cannot accurately be returned to C++, even though internal to the blocks, NumPy supports using these types.

Thats a good point, I think that because the long long actually can store the 64-bit number without loss, it should work out. If the target type is lets say uint64_t, pothos should convert the pylong into a long long, and then from the long long into the uint64_t. Because there is no direct conversion it will use this intermediate method. I will have to confirm with a unit test once I merge your branch.

I made the issue separate because I couldn't fix it at the same time I was doing the C++ -> Python branch. I have a local unit test that does a number -> proxy -> number equality test with the numeric_limits min() and max() for all supported types. As of my latest push, everything passes except uint64_t because Pothos converts the PyLong to long long (int64_t) and then to uint64_t, so anything higher than a long long's range is lost.

Your right, I think its the python APIs prevent getting the number out when it overflows with the wrong type, but I should be able to make converters for both signed and unsigned separately (at least for python3) with PyLong_AsUnsignedLongLong. Do you happen to have the change with the unit test checks?

I've attached a git diff patch here.
I couldn't get past the issue of a single conversion function being linked to int/long, no matter if the number is signed or unsigned.

I remember now. The conversions really only support a 1:1 type mapping, which is probably fine for most use cases. And so I wanted to make unsigned long long the universal integer type because PothosCore knows how to convert that to a number of other native types. This has a downside for the extreme ranges of the uint64ts.
Funny enough if I use PyLong_AsUnsignedLongLongMask and remove the bounds checks in PothosCore, this also starts working (at least in the tests I did). Because the bits arent lost, they are just set to the output type and truncated, which twos compliment is fine with.
The thing I was avoiding doing which would have really solved this is having a Pothos::BigInteger type which can hold any native integer type. The python function would just output a Pothos::BigInteger, and in PothosCore it would just convert between BigInteger and a bunch of native types. This also would have saved a bunch of those intermediate conversions where I supported both unsigned and signed long long for all types.

I'm looking into a std::bitset-based solution.

I have an attempt here that works for this case but breaks others:
PothosCore: re-enable conversion from string to slong, sllong, ulong, ullong
PothosPython: return number as string to avoid dealing with signs here
The new test (now part of this PothosPython branch) passes now, but it seems to break other string conversions, as they try to call these functions and error out when the string isn't a valid number.


Refactor to avoid using the BOARD cmake variable

Rebased onto release... since the BOARD variable we were using is not a supported variable a module's CMakeLists should be reading we should probably merge this pr also on the 0.7 release to avoid future problems.


LANG-1504 - Adding steps feature to StopWatch

FYI, the conventional name for what you call "step" is "split", sometimes also "lap" (less modern terminology.)

FYI, the conventional name for what you call "step" is "split", sometimes also "lap" (less modern terminology.)

I didn`t know that, thanks for sharing :)
I take a look now and the StopWatch already has the split method, but works in a different way.
Some differences:

With split we need to call getSplitTime while we are in the middle of split (I mean, before calling unsplit). In the "steps" solution we can get all times in a separated report, at the end of our performance test, for example.

With split we can have just one split each time. With steps, many

With steps we can label each step with a name

Split counts the time since the StopWatch started, not the time between splits.
Example
```

final StopWatch sw = StopWatch.createStarted();
    Thread.sleep(100);

    sw.split();

    Thread.sleep(200);

    sw.split();

    Thread.sleep(400);

    System.out.println("splitTime: " + sw.getSplitTime()); // returns 300: the time between start and latest split
    System.out.println("time: " + sw.getTime()); // returns 700

So, my proposal is to use a new name no change the idea of the old split.
Possibilities: **lap** (as you said), **step**, **stage**

Since we already have split() we should keep the name. Another idea, is
that split times should be kept in history list. But then, I'd want a list
of pairs (message-split time) and it starts to feel like feature creep ;-)
I'm not sure how handy this would as I do not have a use case for it.
I'd like to cut a RC later this week. There is already plenty for a release
ATM but let's keep the discussion going :-)
Gary
On Mon, Dec 30, 2019 at 7:22 PM Rafael Topera<EMAIL_ADDRESS>wrote:

FYI, the conventional name for what you call "step" is "split", sometimes
also "lap" (less modern terminology.)
I didn`t know that, thanks for sharing :)
I take a look now and the StopWatch already has the split method, but
works in a different way.
Some differences:

With split we need to call getSplitTime while we are in the middle
of split (I mean, before calling unsplit). In the "steps" solution
we can get all times in a separated report, at the end of our performance
test, for example.
2.
With split we can have just one split each time. With steps, many
3.
With steps we can label each step with a name
4.
Split counts the time since the StopWatch started, not the time
between splits.
Example

final StopWatch sw = StopWatch.createStarted();

 Thread.sleep(100);

 sw.split();

 Thread.sleep(200);

 sw.split();

 Thread.sleep(400);

 System.out.println("splitTime: " + sw.getSplitTime()); // returns 300: the time between start and latest split
 System.out.println("time: " + sw.getTime()); // returns 700

So, my proposal is to use a new name no change the idea of the old split.
Possibilities: **lap** (as you said), **step**, **stage**

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/apache/commons-lang/pull/482?email_source=notifications&email_token=AAJB6N2KGGVNWSYE637EDE3Q3KGE3A5CNFSM4KBARU2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH3P46Y#issuecomment-569835131>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJB6NYOU656F74UM24RTRLQ3KGE3ANCNFSM4KBARU2A>
.

Let's have this PR's conflicts resolved, rename "steps" to "splits" to match the current terminology and then we can have another look.

PR updated according to suggestions

Thanks for the update. I will review later this week but consider java.time classes for more precision.

As you can see here "All checks have failed", please fix those up.
https://travis-ci.org/apache/commons-lang/builds/654709829?utm_source=github_status&utm_medium=notification

Coverage decreased (-0.4%) to 94.655% when pulling 667a71347e9f4ab5a167bfad749d67c6555cac8d on topera:LANG-1504-steps-on-stopwatch into a606a0328ba4b3061c5bc810a31418fa4251ea16 on apache:master.


$.util.zip to support $.db.ResultSet as source type

Related to #684
add support for $.db.ResultSet
From https://help.sap.com/doc/3de842783af24336b6305a3c0223a369/2.0.03/en-US/$.util.Zip.html - If the first argument is of type ResultSet, the number specifies the index of a Blob column and is mandatory.

This issue is closed as the project is no longer maintained


Show original example code in preview

Would it be possible to show the original ES6 Code in the CodeMirror editor instead of the transpiled version?

This should work unless it was broken very recently. You can see an example here: http://projects.formidablelabs.com/es6-interactive-guide/

Thanks I will compare that project to mine and hopefully get a clue why it is only showing the transpiled here.

Going to close this one since there's no repro. Please leave a comment if you're still having trouble with it!


[client] Hyperstructure not optimistic placed

Try place a hyperstructe - it doesn't load when placed, you have to refresh

Fixed


Stop making closed-world assumption for pull request actions

Add an Unknown case.
We're getting errors because the "edited" action isn't being recognized.

I have a commit that fixes this. Just needs licensing sign-off.


issue23918 extract java symbols

Extract java symbols
resolves #23918
Resolves #23919

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @damondouglas

Run Java_Spark3_Versions PreCommit

Run GoPortable PreCommit


Should Reset Grid button reset row/column/gaps to original values.

The Reset Grid button is somewhat confusing. Earlier I thought it resets the row/column/gap values but it just resets selections. @sdras Should it clear everything? I am happy to add PR.

No, that's not the functionality people requested and I think it would be quite jarring. I also don't want to add too many features- it doesn't seem like it but I've worked really hard to keep it as simple and usable without too much mental overhead as possible. Thanks for the suggestion though!