Async Await Style Test , Falsely Timeouts Or Always Passes.

Prerequisites

[ x ] Checked that your issue hasn't already been filed by cross-referencing issues with the faq label
[ x ] Checked next-gen ES issues and syntax problems by using the same environment and/or transpiler configuration without Mocha to ensure it isn't just a feature that actually isn't supported in the environment in question or a bug in your code.
[ x ] 'Smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, your usage of Mocha, or Mocha itself
[ x ] Ensured that there is no discrepancy between the locally and globally installed versions of Mocha. You can find them with: node node_modules/.bin/mocha --version(Local) and mocha --version(Global). We recommend avoiding the use of globally installed Mocha.

Description
When Testing Async Code that returns a Promise my Mocha Test Cases are either consistently getting this Error Message:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
Or Always Passing even if an assertion error occurs. I have performed numerous searches and read many issues but could not find a solution. Here is what I have tried so far.
I would like to just use the async & await style for my test cases like the Sample Below:
Steps to Reproduce
//what I expect to work but it Errors out with Error: Timeout of 2000ms exceeded.
//For async tests and hooks, ensure "done()" is called; if returning Promise, ensure it resolves.

const dba = require('idb-pconnector');
const expect = require('chai').expect;
describe('exec', function(){
    it('performs action of given SQL String', async function(){
        let dbConn = new dba.Connection();
        dbConn.debug(true);
        let dbStmt = dbConn.connect().getStatement(),
        sql = 'SELECT * FROM QIWS.QCUSTCDT WHERE CUSNUM = 938472';

        console.time('exec');
        let result =  await dbStmt.exec(sql);
        console.timeEnd('exec');

        console.log(`Exec results: ${JSON.stringify(result)}`);
        expect(result).to.be.an('array');
        expect(result.length).to.be.greaterThan(0);
    });
});

Expected behavior:
I expect that the test to pass because an array is returned and the length should be greater than one.
Actual behavior:
Output:
exec: 2019.550ms
Exec results: [{"CUSNUM":"938472","LSTNAM":"Henning ","INIT":"G K","STREET":"4859 Elm Ave ","CITY":"Dallas","STATE":"TX","ZIPCOD":"75217","CDTLMT":"5000","CHGCOD":"3","BALDUE":"37.00","CDTDUE":".00"}]

0 passing (2s)
1 failing

1) exec
    performs action of given SQL String:
    Error: Timeout of 2000ms exceeded. For async tests and hook

The Strange part is that the result from the query is printed as soon as Mocha times out.
I have tried to increase the timeout time using this.timeout() with large numbers but it will not make a difference.
I'm sure that the test case does not actually take that long because I have tested it outside of Mocha and consistently am between 30-60 ms.
Here is the same code ran outside of Mocha:
const dba = require('idb-pconnector');
const expect = require('chai').expect;

async function exec() {
    let sql = 'SELECT * FROM QIWS.QCUSTCDT WHERE CUSNUM = 938472',
        dbConn = new dba.Connection();

    dbConn.debug(true);
    let dbStmt = dbConn.connect().getStatement();

    console.time('exec');
    let result = await dbStmt.exec(sql);
    console.timeEnd('exec');

    expect(result).to.be.an('array');
    expect(result.length).to.be.greaterThan(0);
    console.log(`Exec results: ${JSON.stringify(result)}`);
}

exec();

Output:
exec: 45.877ms
Exec results: [{"CUSNUM":"938472","LSTNAM":"Henning ","INIT":"G K","STREET":"4859 Elm Ave ","CITY":"Dallas","STATE":"TX","ZIPCOD":"75217","CDTLMT":"5000","CHGCOD":"3","BALDUE":"37.00","CDTDUE":".00"}]

You can clearly see that to perform the query time taken is way less than 2000ms.
I have tried other solutions like calling done() after the last assertion:
//Also times out
//Calling done() after last assertion
const dba = require('idb-pconnector');
const expect = require('chai').expect;

describe('exec', function(){
    it('performs action of given SQL String', async function(done){
        let dbConn = new dba.Connection();
        dbConn.debug(true);
        let dbStmt = dbConn.connect().getStatement(),
        sql = 'SELECT * FROM QIWS.QCUSTCDT WHERE CUSNUM = 938472';

        console.time('exec');
        let result =  await dbStmt.exec(sql);
        console.timeEnd('exec');

        console.log(`Exec results: ${JSON.stringify(result)}`);
        expect(result).to.be.an('array');
        expect(result.length).to.be.greaterThan(0);
        done();
    });
});

Same error from before is Outputted:
exec: 2017.694ms
Exec results: [{"CUSNUM":"938472","LSTNAM":"Henning ","INIT":"G K","STREET":"4859 Elm Ave ","CITY":"Dallas","STATE":"TX","ZIPCOD":"75217","CDTLMT":"5000","CHGCOD":"3","BALDUE":"37.00","CDTDUE":".00"}]

0 passing (2s)
1 failing

1) exec
    performs action of given SQL String:
    Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

Also tried to return a promise in this manner:
describe.('exec', () => {
  it('performs action of given SQL String', async () => {
    let dbConn = new dba.Connection();
    dbConn.debug(true);
    let dbStmt = dbConn.connect().getStatement(),
      sql = 'SELECT * FROM QIWS.QCUSTCDT WHERE CUSNUM = 938472';

    return dbStmt.exec(sql)
      .then(result => expect(result).to.be.an('array'));
  });
});

Also Produces a Timeout Error , Output:
exec: 2038.035ms
Exec results: [{"CUSNUM":"938472","LSTNAM":"Henning ","INIT":"G K","STREET":"4859 Elm Ave ","CITY":"Dallas","STATE":"TX","ZIPCOD":"75217","CDTLMT":"5000","CHGCOD":"3","BALDUE":"37.00","CDTDUE":".00"}]

0 passing (2s)
1 failing

1) exec
    performs action of given SQL String:
    Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

Finally, After trying many options I found that wrapping the test code within a promise itself caused the timeout error to go away.
BUT this could be a false positive because when deliberately causing an assertion error the test still passes ,even though node prints the assertion error to the console.
//Wrapping the test code in a new Promise() gets rid of the Timeout Error BUT...
//Produces False Positive because Passes even when Unhandled Promise Rejections
const dba = require('idb-pconnector');
const expect = require('chai').expect;

describe('exec', function(){
    it('performs action of given SQL String', async function(done) {
    new Promise(async (resolve, reject) => {
        let dbConn = new dba.Connection();
        dbConn.debug(true);
        let dbStmt = dbConn.connect().getStatement(),
        sql = 'SELECT * FROM QIWS.QCUSTCDT WHERE CUSNUM = 938472';

        console.time('exec');
        let result =  await dbStmt.exec(sql);
        console.timeEnd('exec');

        console.log(`Type of result = ${typeof result}`);
        console.log(`Exec results: ${JSON.stringify(result)}`);
        expect(result).to.be.an('array');
        //Produce a Promise Rejection
        expect(result.length).to.be.greaterThan(100);
    });
    done();
    });
});

The output :
exec
constructed, dbconn={}
ExecAsync().
    ✓ performs action of given SQL String

1 passing (31ms)

Exec results: [{"CUSNUM":"938472","LSTNAM":"Henning ","INIT":"G K","STREET":"4859 Elm Ave ","CITY":"Dallas","STATE":"TX","ZIPCOD":"75217","CDTLMT":"5000","CHGCOD":"3","BALDUE":"37.00","CDTDUE":".00"}]
(node:443133) UnhandledPromiseRejectionWarning: AssertionError: expected 1 to be above 100
    at Promise
    at <anonymous>
(node:443133) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:443133) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Expected behavior:
I would have expected Mocha to reject the Test because of the Promise rejection , but it always will pass.
It may be that I'm missing something trivial if so point to what is correct way get Async Tests to work using the Async & Await Method.
Here is the the implementation of the exec() function being tested:
async exec(sqlString) {
let stmt = this.stmt;
    return new Promise((resolve, reject) => {
    stmt.exec(sqlString, function (result, error){
        if (error) {
        reject(error);
        } else {
        resolve(result);
        }
    });
    });
}

Reproduces how often:
100% of the time I have tried to run the test.
Versions

Im running:
bash
node version 8.11.3
mocha version 5.2.0

We are having issues with Mocha starting today and they seem related to this. We were able to have the hot fix by applying promises for now as you have but would love to know if anyone else has seen this issue.

Cloud you provide mcve?
Because the example uses sql query, we can't reproduce it.

you need to fix your code to make it work, thats all.
You are creating a promise that no one is waiting for, then another async function inside the resolve/reject function, which does not make sense.
since you have top level async, there is no need to add any promises / extra async functions in the test case, this code should work fine:
describe('exec', function(){
    it('performs action of given SQL String', async function() {
        let dbConn = new dba.Connection();
        dbConn.debug(true);
        let dbStmt = dbConn.connect().getStatement(),
        sql = 'SELECT * FROM QIWS.QCUSTCDT WHERE CUSNUM = 938472';

        console.time('exec');
        let result =  await dbStmt.exec(sql);
        console.timeEnd('exec');

        console.log(`Type of result = ${typeof result}`);
        console.log(`Exec results: ${JSON.stringify(result)}`);
        expect(result).to.be.an('array');
        //Produce a Promise Rejection
        expect(result.length).to.be.greaterThan(100);
    });
});

@Bamieh No problem at all. :)

@Bamieh @outsideris  Look at my first Code block example From above:
describe('exec', function(){
    it('performs action of given SQL String', async function(){
        let dbConn = new dba.Connection();
        dbConn.debug(true);
        let dbStmt = dbConn.connect().getStatement(),
        sql = 'SELECT * FROM QIWS.QCUSTCDT WHERE CUSNUM = 938472';

        console.time('exec');
        let result =  await dbStmt.exec(sql);
        console.timeEnd('exec');

        console.log(`Exec results: ${JSON.stringify(result)}`);
        expect(result).to.be.an('array');
        expect(result.length).to.be.greaterThan(0);
    });
});


[release-1.3] Make nodeagent debug endpoint dump cert data in base64

This is an automated cherry-pick of #16347

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-presubmit-tests-release-1.3
6cccbc2f71beaab2c5aaacb008dce0c889879331
link
/test integ-mixer-k8s-presubmit-tests-release-1.3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Rename forc doc --manifest-path to --path

Description
Closes https://github.com/FuelLabs/sway/issues/5789
Checklist

[x] I have linked to any relevant issues.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have updated the documentation where relevant (API docs, the reference, and the Sway book).

[ ] If my change requires substantial documentation changes, I have requested support from the DevRel team

[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
[ ] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[ ] I have requested a review from the relevant team or maintainers.

There are still references to the manifest-path in the github workflow files; these will also need to be updated as part of the PR.


DPL-1010 Change robot for GBS PCR1 plates

As GSLP Team lead (Ruth W) The robot that is listed at the GBS PCR1 step is a Mosquito however in reality we use a Bravo.
Could this be reflected in the LIMS please as we are unable to perform bed verification without this in place.

Who are the primary contacts for this story
Ruth W
Who is the nominated tester for UAT
Ruth W
Acceptance criteria
To be considered successful the solution should:
Display: Bravo  GBS PCR1 =>  GBS PCR2
References
RT792578

Functionality was added to limber in story https://github.com/sanger/limber/issues/1039

Yes confirmed, Bravo option exists in the Limber configs now.


Set default value in instance

Could there be a a way of setting in the instance the default values of properties as defined in the schema.
I am porting some setting code from ConfigObj3 to json/schema and this is the last thing that is missing for me!
Thanks for the great work

I was able to do just that by changing two lines https://github.com/damiendube/jsonschema/commit/34f04b626b77854df2a54121ac289b625fe66898
But I am not sure that we want that a a default behavior. What I suggest is adding a copy=true setting in the Validator constructor.

Hey there :)
So, I'm a little weary about adding this. The schema doesn't define any validation that should be done by default, so even as a toggleable option it's a bit out of place in the Validator I think.
That being said I know this issue seems to come up (I noticed a while ago already that there was a small discussion about it on garycourt/JSV#22 ). I should note that as implemented in your repo it'd also break the behavior of required as that issue mentions (at least I think it should by mentally parsing it, you can try running the test suite I think it does), so yeah :/. I think the best thing would probably be not actually having this in the validation code. You can do it without needing to modify jsonschema via:
from jsonschema import Validator
class DefaultValidator(Validator):
    def validate_properties(self, properties, instance, schema):
        super(DefaultValidator, self).validate_properties(properties, instance, schema)
        instance.update((name, property["default"]) for name, property in properties.iteritems() if name not in instance and "default" in property)

which, though I haven't tested it extensively, should do what you want I think.
Cheers,
Julian

I like the way you did it.
It is true, I broke the required by assigning default values before the required check. But for some reason, no test failed.
The only problem I can see with this implementation is that the new properties that are set with default attributes won't be validated.

Yeah I think that'd be since none of the required tests have a default, so never mind that then.
You wouldn't get verification, of course :) it'd be assuming your schema was what you really meant it to say. But if you for some reason wanted your schema to validate the default too you could modify the code I posted to do so :).
from jsonschema import Validator
class DefaultValidator(Validator):
    def validate_properties(self, properties, instance, schema):
        super(DefaultValidator, self).validate_properties(properties, instance, schema)
        for k, v in properties.iteritems():
            if k not in instance and "default" in v:
                default = v["default"]
                super(DefaultValidator, self)._validate(default, v)
                instance[k] = default

Think that should do it.

Really like this solution since it doesn't touch the core jsonschema code and does everything I wanted!
Thanks for the help and the jsonschema tools!
Damien


[FIX] - Add exception to wait in MFA Loop

When using the WebDriver wait in the MFA Loop, the way it's currently written, we are assuming that the page WILL load.  However, because a user may have multiple MFA entries required, we may actually validly loop back to the top and the page will not load.  Without the try\except, MintAPI crashes.

I don't understand why you want the WebDriverWait.  The while statement at the top of the loop ensures that the loop will end when the overview page is loaded.  The WebDriverWait slows things down by adding an 5 second wait to iterate the loop.
@mrooney Take a look at PR #452.  It introduces a loop counter to ensure that the loop eventually terminates.

I don't have a phone number associated with my Mint account, so I always need the loop to iterate at least once for bypass_verified_user_page to process.  Right now the WebDriverWait only waits until you are logged in.  Can you change it so that the wait also terminates when any of the conditions that require the loop to be repeated occur (such as the existence of ius-verified-user-update-btn-skip to bypass the "Let's add your current mobile number" page).

@tsdg112 the reason for the wait is because I've experienced the script running faster than the browser has a chance to load.  I could potentially reduce the length of the wait, but the sole purpose is to address the race condition.
And to prevent the infinite loop, I can add a counter similar to what your PR does @tsdg112 .

I don't have a phone number associated with my Mint account, so I always need the loop to iterate at least once for bypass_verified_user_page to process. Right now the WebDriverWait only waits until you are logged in. Can you change it so that the wait also terminates when any of the conditions that require the loop to be repeated occur (such as the existence of ius-verified-user-update-btn-skip to bypass the "Let's add your current mobile number" page).

I don't mind that addition, though I'd like to keep that separate from this PR.  This PR is simply to address the fact that when there is a need to go back through the loop, it's actually crashing right now.

If you successfully log in in the first iteration of the loop, it will crash when handle_different_page_username_password throws an exception in the second iteration.  This needs to be fixed, too.

@tsdg112 are you saying that does happen for you on this branch?  I've tried with one MFA method (i.e. email) and multiple MFA methods (i.e. email and SMS) and both successfully finish.
I'll add in the counter to ensure that this doesn't hang, but other than that, I think this PR should be G2G.

@burkematthew Yes, this happened to me when I was debugging PR 452.  It happens because Mint always directs me to the "Let's add your current mobile number" page, which is bypassed by bypass_verified_user_page in the next loop iteration.  Did you test with a login that elicits this interaction with Mint?

@tsdg112 I haven't come across that yet, but I'll work with my Mint account and see if I can get it to appear.
That being said, these changes solve a different problem.  I know your PR that you opened attempted to solve the problem you're primarily concerned about, so I think we can address the scenario you're referring to there.

@burkematthew OK, thats fine with me.


Add option to generate non-json field names

Adds an additional command line option to grpc-gateway-wrapper to suppress json names for fields, allowing consistency with the gRPC APIs.
The new command line option is --no_json_names. Internally this adds the json_names_for_fields=false flag to the list of options provided with --openapiv2_opt when running protoc.

I think we need https://github.com/IBM/grpc-gateway-wrapper/pull/1 first, so that test run can be kicked off, etc..

Good catch Wes. I just merged #1. Can you rebase? While you're at it, add the --signoff arg to get DCO to pass


Blackened the codebase

Probably the most important commit in the history of django-urls, thank you.


MGMT-15757: Provide a more detailed description of the BugMasterBot

Provide a more detailed description of the BugMasterBot.

/cc @osherdp

/assign @eliorerz

@danmanor should we merge or close this one?

@eliorerz Can you please review ?

/uncc @osherdp

OK lets merge this one @rccrdpccl
@eliorerz when you have time to review this let me know if you have remarks, I will add changes

/unhold


54 trips controller and logic

Added fetch middleware for delete methods:
files edited :
- "utils/api/constants.js"
- "utils/api/paramFcts.js"
- "utils/api/fetchMiddleware.js"
Creating a Context Provider: "trip/TripContext.jsx", to centralize all api calls and state management in order to distribute it easily to all subcomponents.
Refactoring "trip/tripPage.jsx", removing non necessary code
Adding "trip/constants.js" file to hold api endpoints
Adapting trip info display and handling trip deletion into "trip/components/tripsTable.jsx"
Fix: "utils/dateformat.js" function was not adapted to db date format
Handling trips creation and update into "trip/components/tripsModal.jsx"

All corrections are done, i also added some little improvements that you wanted in other issues because they were light amount of code.


Time out when connecting with token

I have been using miio for 3-4 years to get events from a  Xiaomi Purifier 2 and logging to Sql
Its been working great thankyou for developing the library
I recently had a new router for a few weeks with an alternate ip range, so I tried to refetch the token and config to keep it working in the meantime, this didn't work at the time
I'm now on a third router which is configured as the original was (same ip range, same wifi network) and I've successfully retrieved the token using miio discover by connecting my laptop to the purifier wifi AP with my firewall off and it is discovered almost instantly
When I attempt to connect to the device in node js it fails with a cannot auto get token with the following code
`
var address = '<IP_ADDRESS>';
miio.device({
address: address,
}).then(device => {
console.log('Connected to device');
console.log(device);
}).catch(err => console.log('Error occurred:', err));
Error occurred: Error: Token could not be auto-discovered
at Device._tokenResolve (/home/duindain/node_apps/node_modules/miio/lib/device.js:141:13)
at Device._onMessage (/home/duindain/node_apps/node_modules/miio/lib/device.js:80:9)`
If i provide the token retrieved from miio discover, it fails with a timeout error
`const miio = require('miio');
var token = '7b8ac5c9d2b...';
var address = '<IP_ADDRESS>';
var model = 'zhimi.airpurifier.m1';
miio.device({
address: address,
token: token//,
//model: model
}).then(device => {
console.log("Connected to "+model);
device.on('propertyChanged', e => {
console.log("Property change detected: "+e.property +" was "+ e.oldValue +", now "+ e.value);
});
//device.destroy();
}).catch(error => console.log("Error " + error));
Error Error: Call to device timed out
`
I've tried with the model included and removed in the above code.
The purifier is on <IP_ADDRESS> with a static ip and I can ping it on the same network
I'm not sure if this is caused by the previous config conflicting with it? I couldn't find where the original token is stored
I did have to connect to the purifier wifi AP to get the token, running discover on the network the purifier is joining did not show the token
Node version v12.8.0
Miio version v0.15.6
Do you have any suggestions on what to try next please?
Thanks

faced the same thing here!

I've tried the following now
Normal miio latest version connecting and joining the network while scanning with miio discover
This failed as above
Scanning with miio discover and using miio configure to join the network for the purifier with
miio configure id-or-address --ssid network-ssid --passwd network-password without using the app at all
This successfully joined the network but didn't work when using the token afterwards
I've tried downgrading the miio app to v5 but was unable to get the air purifier to join the network as the app didn't connect to their backend

Using this guide https://github.com/jghaanstra/com.xiaomi-miio/blob/master/docs/obtain_token.md and some recent comments in other treads

I've installed Xiaomi app 5.4.54
Added the purifier
Rebooted the phone
Opened the text file SmartHome/logs/plug_DeviceManager/todays date.txt
Found the token
Added it to the node script and got

Error: Call to device timed out

I tried backing up the Mi Home app and opening the database to extract the token and the token field was empty so it seems the only way is from the text file with this version but the token that was in there wasen't correct

@dazhbog Ive seen your reply here could you be more specific please on how to get the token successfully?
I think from your comments the process is the following?;

Delete MiHome app
Install 5.4.54
Reboot the phone
Reset the device
Manually join the device to the network with Miio commands
Open the app
Click on the device? what does this mean the device wont exist in the app at this point?
Open the text file SmartHome/logs/plug_DeviceManager/todays date.txt
Extract the token and profit!

@dazhbog Ive seen your reply here could you be more specific please on how to get the token successfully please?
I think from your comments the process is the following?;

Wipe the App data? do we need to delete the SmartHome folder too?
Delete MiHome app
Install 5.4.54
Reboot the phone
Reset the device
Manually join the device to the network with Miio commands
Open the app
Click on the device? what does this mean the device wont exist in the app at this point?
Open the text file SmartHome/logs/plug_DeviceManager/todays date.txt
Extract the token and profit!

No need to go that complicated.
My steps

Delete everything u can find.
Install the right version as mentioned. If the app doesn't load, restart phone (happened on one of my phones)
Set up the device normally through the app (including the wifi step). Dont update for extra protection. Make sure u click on the device tile afterwards so that the app downloads the latest token, and creates the txt file with the token.
Extract token and enjoy.

This way of setting the device in the app, allows u to control the device from the app and third party apps like miio.

Success
Thanks @dazhbog
I followed these steps

Deleted Xiaomi App
Deleted Xiaomi folder
Deleted SmartHome folder
Install Xiaomi App 5.4.54
Run the app
Select Singapore
Click Add Nearby Device
Sign in to the app
Turn on Location
Allow access to Location
Select Air Purifier 2
Added it (Failed three times eventually succeeded)
Assigned to room
Opened device in Xiaomi App
let it connect (Doesnt load PM count anymore but all other stats show up, PM count does show up on summary screen just not when the device is open)
Close everything
Open the text file SmartHome/logs/plug_DeviceManager/todays date.txt
Found the last instance of token
Put it into my node script and I can connect again finally


Related Work?

Hi! This is an amazing work and congrats!
I find our work is somewhat related to yours and probably you may want to add our work as a related work in your paper because our idea is very similar. Our work is more in the context of scientific visualization instead of computer vision. And it's based on Taichi, which enables automatic differentiation and sparse support as well. In our work, we found that with a transfer function, even a volume with single-channel voxels is enough for a reasonable "reconstruction" (in the context of SciVis, see our demo). We didn't publish it via a paper because it started as my toy project and it wasn't our major focus.
And I've read your paper, it seems there are some differences and similarities as the following.
Technical differences:

We used Taichi instead of PyTorch. Taichi differs from PyTorch in that it's kernel-based, not operator-based.
We use dense volumes (although Taichi support sparse volumes), but you used sparse ones.

Theoretical differences:

We use single-channel intensities (could be N-channel) in voxels and an ordinary transfer function as a representation while you use SH.
We didn't add TV loss (since the results were good enough for us).
We didn't do much in the context of yours.
N-channel intensities/vector in voxels with a transfer function(a neural one or a plain learnable texture) may be consider as a superset of SH coefficients in the context of learnable representations.

Similarities:

Direct Volume Rendering + Auto Differentiation
Volume representation
"Learning" from images (ours: rendered images, yours: photos or synthesized photos)
Good convergence speed :)

Thanks for sharing your work! Indeed there are many related fields with similar problems and approaches. As another example, SHDOM (https://coloradolinux.com/shdom/) is a similar method to Plenoxels that is used in atmospheric modeling, also based on voxels and spherical harmonics.


Use API in front-end to get list of applications

Describe the task
Use API cached results in front-end to get list of applications
Acceptance Criteria

[x] Stop using the get-applications API call
[x] Used cached results to render application list
[x] Tested with user that has only FAM-ADMIN role
[x] Tested with user that has no role
[x] Tested with user that has multiple app admin roles
[ ] Tested with user that has delegated admin access (ie; FOM_SUBMITTER)

Additional context
Refers to the endpoint done in #1144
Story: The UI should use the new get_my_FAM_access API for determining what the user has access to do as a FAM admin or app admin.

May need to do 'manual' testing and separate ticket for component testing if it gets too complicated
Test note:
In ticket #1144, we cached the user access in the local storage "famLoginUser" (this could change depends on how #1144 is implemented). When we write component tests in this ticket, we can set the local storage "famLoginUser" with the access we want (based on different test scenario), and mount the "Manage Application" component, and verify if the dropdown returns the expected applications. Like in the screenshot below, the user has access in three applications, no matter the detail, the dropdown should return three apps.

Since I am replacing the way getting the applications, I also added this to be convenient/and obvious to user profile to know the user's level of admins like this. It is just a quick addition. If requires, we can have improvement ticket to make it better.
Would it be ok?
@MCatherine1994 @OlgaLiber2

For this ticket, I think we won't do the last check Tested with user that has delegated admin access (ie; FOM_SUBMITTER) since current app does not have "Delegated Admin" screens built yet.
@MCatherine1994 @OlgaLiber2
However, I think we probably miss one ticket to implement backend check (for router_guard checks) for FAM frontend user who can request any action (endpoint) with regarding to their privilege(delegated admin); and probably need to adjust existing check on router_guard.authorize_by_app_id() we can evaluate this tomorrow. Thanks.
@basilv   @MCatherine1994

Hi Ian, I wonder if we can mock the famLoginUser access to have delegated admin and test the dropdown has the application the user delegated for? Thanks!!
And I'm not sure I understand the second question, maybe we can chat more tomorrow, thanks so much!!

Encounter an issue when writing tests to verify the dropdown options. Somehow in our test, when we render the manage permission page and try to click and open the dropdown option panel, the dropdown panel can't be found. I submitted an issue in the Primevue GitHub, will follow up if hear anything from them. Will close this ticket for now, as the main code change is merged, just left the test code, we can create a new ticket to write the test once we hear back from the Primevue team. The test code is in Ian's branch feat/1145-tests.
Also put the sample testing code here:
import { afterEach, beforeEach, describe, expect, it, vi, type SpyInstance } from 'vitest';
import type { VueWrapper } from '@vue/test-utils/dist/vueWrapper';
import { DOMWrapper, mount } from '@vue/test-utils';
import PrimeVue from 'primevue/config';
import ManagePermissions from<EMAIL_ADDRESS>import { routes } from '@/router';
import { routeItems } from '@/router/routeItem';
import FamLoginUserState from '@/store/FamLoginUserState';
import { fixJsdomCssErr } from '@/tests/common/fixJsdomCssErr';

fixJsdomCssErr();

// router mock setup (for mounting component properly when involving other components)
vi.mock('vue-router', async () => {
    const actual: Object = await vi.importActual("vue-router");
    return {
        ...actual,
        useRoute: () => {
            return routes.filter(
                (route) => route.name == routeItems.dashboard.name
            )[0]
        }
    };
});

describe('ManagePermissions', () => {
    let wrapper: VueWrapper;

    describe('Application dropdown selection', () => {
        let getUserAccessSpy: SpyInstance;
        let appDropdownInput: DOMWrapper<HTMLInputElement>;
        let appDropdownTrigger: DOMWrapper<HTMLInputElement>;

        beforeEach(async () => {
            getUserAccessSpy = vi.spyOn(FamLoginUserState,'getUserAccess');
            wrapper = mount(ManagePermissions, {
               global: {
                   plugins: [PrimeVue],
               },
           });
            appDropdownInput = wrapper.find(".p-dropdown.application-dropdown .p-dropdown-label");
            appDropdownTrigger = wrapper.find(".p-dropdown.application-dropdown .p-dropdown-trigger");

        });

        it("should be empty when user access state is empty", async () => {
            // mock user access empty
            getUserAccessSpy.mockImplementation(() => []);

            expect(appDropdownInput.element.textContent).toBe("Choose an application to manage permissions");
            expect(appDropdownInput.exists()).toBe(true);
            expect(appDropdownTrigger.exists()).toBe(true);
            // when dropdown is not opened, no options display
            expect(wrapper.text()).not.contains("No available options");
            expect(wrapper.find('.p-overlay-open').exists()).toBe(false);

            await appDropdownTrigger.trigger('click');

            expect(wrapper.find('.p-overlay-open').exists()).toBe(true);
            expect(wrapper.find('.p-dropdown-panel').exists()).toBe(true);   // this line failed
            expect(wrapper.text()).contains("No available options");
        });

        afterEach(async () => {
            wrapper.unmount();
        })
    });
});


upgrade pyscep to latest and change for chrome scep

closing this in favor of: https://github.com/foxpass/PyScep/pull/3


Document zero-configuration

Version 1.15 released a "zero-configuration" to avoid configuration especially wrt Windows. This should be documented including the perspective of 3rd party build systems that want minimal effort  (without hard-coding insight into LIBXSMM). Further, this feature should be streamlined and improved if necessary/possible.
Originally posted by @hfp in https://github.com/plaidml/plaidml/issues/973#issuecomment-605814420

Documentation:

https://libxsmm.readthedocs.io/#zero-config-abi
https://libxsmm.readthedocs.io/#zero-config


Remote Dev using SSH not working on Rasp Pi Zero W

Issue Type: Bug
Have been successful using remote dev using SSH on Rasp Pi 3 B+.
Not successful on Rasp Pi ZeroW.
OS is the same (Raspbian Buster Lite 4.19 w/ updates).
Could not establish connection to "<IP_ADDRESS>". The remote host's architecture is not supported.
VS Code version: Code 1.41.1 (26076a4de974ead31f97692a0d32f90d735645c0, 2019-12-18T14:57:51.166Z)
OS version: Darwin x64 17.7.0
Fetching remote diagnostics for 'SSH' failed: The remote host's architecture is not supported
Fetching remote diagnostics for 'SSH' failed: The remote host's architecture is not supported

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4750HQ CPU @ 2.00GHz (8 x 2000)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
3, 2, 2

Memory (System)
16.00GB (2.48GB free)

Process Argv

Screen Reader
no

VM
0%

Fetching remote diagnostics for 'SSH' failed: The remote host's architecture is not supported
Fetching remote diagnostics for 'SSH' failed: The remote host's architecture is not supported
Extensions: none

/causedByExtension
Looks like duplicate of https://github.com/microsoft/vscode-remote-release/issues/669
In any case issue should be reported in https://github.com/microsoft/vscode-remote-release/issues repo


Improve comment-api Testcase

Improve my testcase

@wolftatsu
Thank for your efforce, this test case is working well, but, we have found on typo mistake from last commit. It here https://github.com/kintone/go-kintone/pull/13/commits/0c54527dd9cd82338c68b8f68866187817d0d2b6#diff-da1083183e67f4d99be5763f6e2cdfa0R15
Can you help me correct this and commit the new once?

@wolftatsu
Because we waiting for longtime, so we decide merge your pullrequest and will fix in the new one from us.
Thanks for your support.


User should be able to evaluate all plans side-by-side

Figma here: https://www.figma.com/file/FMSdn1oKccJRHQPgf7053o?node-id=2440:3594&mode=design#623239279

This is done


Tooltip not showing with tooltip mode "label" and datapoint value NULL on same x value in multi line chart.

Tooltip not showing on multi line chart with tooltip mode set to "label" when datapoint with value NULL exists at the same x value as the one I hover over.
I am hiding some lines with a custom made legend by looping through datasets and setting data points to NULL. This worked fine on charts.js version 1.0.2. The tooltip then showed the labels and values for the points that had data. In version 2.1.2 the tooltip does not show up at all if some of the lines has datapoints set to NULL on the same x value as the one hovered.
It workes as descibed when tooltip mode set to "single", but I would like to show all the values from multiple lines on the same x value (that are not NULL).
ps: when console logging "tooltipItems" in a tooltips.callbacks.label function, the yLabel for datapoints set to NULL is printed as NaN in the browser console.
pss: tested in Chrome Version 49.0.2623.112 m and IE 11.
Any tips on this would be very much appreciated. Thanks in advance:)

@emilz0r Can you please post a fiddle?

Thanks for your reply. Here is a fiddle:
https://jsfiddle.net/x3mqch2h/
This is copied off of the sample tooltip-hooks.html
The only change is that the third datapoint on the second dataset is set to NULL, instead of randomScalingFactor().
What happens is that when you hover over the point on the dotted line where the other line is cut, there is no tooltip. I would expect the tooltip to show data for the one line that has a value (the dotted one).

Info: Did the same thing, replacing randomScalingFactor() with null on the samples: bar.html and bar-stacked.html. In theese charts, the tooltip showes up, but it lists the null point with a value NaN. This could probably be set to what you want through a tooltip callback.
Don't know if this helps at all, but thought I'd share the observation anyway.

Have same problem with null values, it works on 2.0.2, but not on 2.1.2

+1

I tried to fix it: #2567

@adileo I saw that your commit was merged into chartjs:master. Does this mean that it the fix will be included in the next release (2.1.4), or is it already available? Sorry for asking basic github question.
I managed to fix my end, by using tooltip callbacks and a custom tooltip function, but would love to use a "native" fix.

It will be in the next release

Nice ;), it's my first pull request on github, hope to help again fixing some bugs. Great project btw @etimberg


Do not sign tokens in reqCnf is set

This PR signs the POP tokens only if the reqCnf is not passed in as a request parameter. This is to enable any clients that choose to sign their tokens. However, please consider this an advanced feature only.

Codecov Report

Merging #6357 (8abfebc) into dev (81d34b4) will decrease coverage by 21.05%.
Report is 264 commits behind head on dev.
The diff coverage is 56.10%.

Flag
Coverage Δ

msal-angular
?

msal-browser
?

msal-common
?

msal-core
?

msal-node
?

msal-node-extensions
63.94% <56.10%> (-11.70%)
:arrow_down:

msal-react
?

node-token-validation
?

Files Changed
Coverage Δ

...ions/msal-node-extensions/src/utils/Environment.ts
20.51% <0.00%> (-22.08%)
:arrow_down:

...e-extensions/src/persistence/PersistenceCreator.ts
42.85% <14.28%> (-48.32%)
:arrow_down:

...node-extensions/src/persistence/FilePersistence.ts
49.35% <20.00%> (-24.42%)
:arrow_down:

extensions/msal-node-extensions/src/Dpapi.ts
33.33% <33.33%> (-66.67%)
:arrow_down:

...msal-node-extensions/src/lock/CrossPlatformLock.ts
70.73% <33.33%> (-10.35%)
:arrow_down:

...extensions/src/persistence/LibSecretPersistence.ts
66.66% <33.33%> (-21.57%)
:arrow_down:

...-extensions/src/persistence/KeychainPersistence.ts
66.66% <37.50%> (-21.57%)
:arrow_down:

...c/persistence/FilePersistenceWithDataProtection.ts
70.27% <47.05%> (-10.82%)
:arrow_down:

...node-extensions/src/persistence/BasePersistence.ts
64.28% <50.00%> (-2.39%)
:arrow_down:

...tensions/src/persistence/PersistenceCachePlugin.ts
71.05% <55.55%> (-4.63%)
:arrow_down:

... and 8 more

... and 216 files with indirect coverage changes

Abandoning this for a later PR.


[Suggestion] Giant implementation

Minecraft: Java Edition and Legacy Console Edition both include an unused Giant mob. You can read about it and its history on the official Minecraft wiki article, but, essentially, it is an almost twelve block tall zombie with drastically inflated hit points and damage. It cannot spawn due to not appearing in any biome's spawn lists and needing to meet the impossible spawn condition of a light level over 11 and below 8, and, although it can be spawned with /summon, it has no AI ever since snapshot 14w06a. 18w50a gave the giant AI, sounds and everything needed for it to function as a copy of the zombie that moves twice as fast, but this was scrapped again in 19w05a. Again, the precise details of this implementation of it are on the page above, in the History section.
As a niche/joke option, I would like a tweak that restores the giant to its functional state from 18w50a, and allows it to spawn rarely in the overworld by adding it to biome spawn lists and making its spawn conditions possible to meet. It may need a loot table for rotten flesh drops as well; the wiki doesn't mention whether the snapshot gave it one. Naturally, its size would keep it out of most caves and forested biomes, so it may only appear to ravage empty biomes such as plains or deserts.
As additional features, one could be summoned by the zombie siege event that occurs in villages, and they could be allowed to spawn with armour or an iron shovel or sword with the same chance as zombies, or perhaps a greater chance to spawn with rarer types to reward fighting them.~

Oh, I am well aware of the Giant. Its primary issue (and reason for repeated removal) is that the engine is very bad at large mobs. As an off-by-default option (not quite old enough to qualify for WOINA; maybe Mechanics?) I'll consider it.

Oh, I am well aware of the Giant. Its primary issue (and reason for repeated removal) is that the engine is very bad at large mobs. As an off-by-default option (not quite old enough to qualify for WOINA; maybe Mechanics?) I'll consider it.

Is that so? Can you elaborate on the engine's struggles with large mobs? I am presuming that you mean larger than the Ravager or the Wither, as I have not witnessed them having issues, although I may have missed something obvious, I confess.
I just thought beeg zombie could be a fun gag option.~

Is that so? Can you elaborate on the engine's struggles with large mobs? I am presuming that you mean larger than the Ravager or the Wither, as I have not witnessed them having issues, although I may have missed something obvious, I confess.
I just thought beeg zombie could be a fun gag option.~

Minecraft's collision code is... not efficient, and the AI code is very, very bad at anything with a footprint larger than ~3 blocks. Even Ravagers have (hard to explain) pathfinding errors, and the Wither cheats by not really having pathfinding at all; it just kind of vaguely floats and approaches its target.
There is also the issue of overhanging caused by a large mob standing on the edge of a block; it's visible on small mobs too but it's exaggerated on big ones. Minecraft's model and rendering system entirely lacks a solution to that and it'd need a major overhaul to fix it; such an overhaul would also probably change the art style, so it won't happen, but yeah.
On the less technical side, the combat system in Minecraft is already not very good and introducing large mobs with a lot of health just turns it into a huge chore; the epitome of "hit it 'til it falls down".
The only truly big thing in Minecraft that works halfway decent is the Ender Dragon; but collision doesn't work right for it (that's why it destroys blocks) and it's actually about a dozen entities glued together.

Minecraft's collision code is... not efficient, and the AI code is very, very bad at anything with a footprint larger than ~3 blocks. Even Ravagers have (hard to explain) pathfinding errors, and the Wither cheats by not really having pathfinding at all; it just kind of vaguely floats and approaches its target.
There is also the issue of overhanging caused by a large mob standing on the edge of a block; it's visible on small mobs too but it's exaggerated on big ones. Minecraft's model and rendering system entirely lacks a solution to that and it'd need a major overhaul to fix it; such an overhaul would also probably change the art style, so it won't happen, but yeah.
On the less technical side, the combat system in Minecraft is already not very good and introducing large mobs with a lot of health just turns it into a huge chore; the epitome of "hit it 'til it falls down".
The only truly big thing in Minecraft that works halfway decent is the Ender Dragon; but collision doesn't work right for it (that's why it destroys blocks) and it's actually about a dozen entities glued together.

Okay, these points make sense. I wouldn't blame you for letting this beastie be. It could be a kind of jank joke tweak for those who are interested, but I don't think much of value would be lost without it now that you explain its issues.

Okay, these points make sense. I wouldn't blame you for letting this beastie be. It could be a kind of jank joke tweak for those who are interested, but I don't think much of value would be lost without it now that you explain its issues.

Thank you for explaining!~

Thank you for explaining!~

I've received an overwhelming number of feature requests over the week and they are filling up the issue tracker and making it difficult to keep track of what is even going on. I've enabled Discussions on the repo as a new location for feature requests. Unfortunately, GitHub has "temporarily" disabled the ability to convert issues to discussions, so I'm closing all feature request issues. However, I'm tracking all the closed issues in a Project board; despite being closed, they're still on my radar on the board. All new feature requests must go to Discussions. Feature requests opened as issues going forward will be closed.

I've received an overwhelming number of feature requests over the week and they are filling up the issue tracker and making it difficult to keep track of what is even going on. I've enabled Discussions on the repo as a new location for feature requests. Unfortunately, GitHub has "temporarily" disabled the ability to convert issues to discussions, so I'm closing all feature request issues. However, I'm tracking all the closed issues in a Project board; despite being closed, they're still on my radar on the board. All new feature requests must go to Discussions. Feature requests opened as issues going forward will be closed.


try using aot_module_simplified

Can we add a description about this PR, especially what's the difference of aot_module_simplified that can allow us to remove the patch?

@anj-s @fegin sorry I should have mark this as a draft PR, copying @aazzolini investigation on this:

the functionality we need (passing different inputs for compilation vs. runtime) is now expossed in aot_module_simplified.
however, aot_module_simplified would require our inputs/outputs to be "flattened", which is not the case in SPMD contract right now.
Adding an additional flattening/unflattening step would increase complexity of SPMD impl.
I believe for now is best to keep things as is, and Wanchao's fix to my patch should suffice for now.
After prototype phase we may want to revisit the entire wrapping / aot_autograd mechanism anyways if we want it to be part of the dynamo/inductor pipeline.

Given this I will convert this as a draft PR and we can discuss later on how we should resolve it in the future


Demonstrate CoilPaintable and alpha

WHAT
Add a test showing variants on drawing with CoilPaintable with alpha, clipping.
WHY
Confirm the behaviour is correct
HOW
Checklist :clipboard:

[ ] Add explicit visibility modifier and explicit return types for public declarations
[ ] Run spotless check
[ ] Run tests
[ ] Update metalava's signature text files

Test only


A novice coder question about using easystarjs.

I need my callback function passed in .findPath() to assign the completed path array as a property to the object which called the .findPath() function, but I can't figure out how to do it since the passed in calback function is out of scope. Any advice would be appreciated.

Hi Dan. Common es5 practice is to maintain a reference to the object as self at the top of the function declaration. If you're using es6 you could use a fat arrow function to retain the scope. If you post a snippet of your code I might be able to provide more guidance.

Thanks for the reply.
I got it working using the self reference solution.
Here's my working test object:
var entity = {
path:[],
x:0,
y:0,
targetX:3,
targetY:0,
findPath:function () {
var self = this;
easystar.findPath(this.x, this.y, this.targetX, this.targetY, function(path){self.path=path});
}
};


CreateTable seems to be endless stuck

I was just running the example code and always get a timeout. I checked the code and seems it will suspend on the code below.
 646         // The region was in the cache, check
 647         // if the region is marked as available
 648         if reg.IsUnavailable() {
 649                 return c.waitOnRegion(rpc, reg)
 650         }

Also paste my example code here:
 20                 log.Printf("host: [%s]\n", *host)
 21                 admin := gohbase.NewAdminClient(*host)
 22                 log.Printf("Got admin: %+v", admin)
 23                 // columns := []string{"cf, cf2"}
 24                 var cFamilies = map[string]map[string]string{
 25                         "cf":  nil,
 26                         "cf2": nil,
 27                 }
 28                 createReq := hrpc.NewCreateTable(context.Background(), []byte("goTest"), cFamilies)
 29                 log.Printf("Before Create Table")
 30                 err := admin.CreateTable(createReq)
 31                 log.Printf("After Create Table")
 32                 if err != nil {
 33                         log.Println("err:", err)
 34                 }
 35                 return

HBase is running on localhost with v.1.0.0. Any ideas?

hello, do you still see this issue on the latest master?


Add Support to Allow Input Batch Offset for Update Cache when Users < 32

See details in #6317
In addition to implement the feature, I added additional test cases for batch offset as well as making sure test_update_cache.py checking both the entire cache and the updated portion.

FYI @cglagovich


False positive due to cached index

https://github.com/TankerApp/tsrc/blob/d26968c5d4c6fe960177f7e825b5e751f3b1326f/tsrc/git.py#L96
Why not adding --cached option to git-diff-index ?
I encounter false positive (dirty) repo just because of local touched file.
git diff-index HEAD returns:
:100644 100644 12e83b395e53b0adee3bc6be30b9c90afebdb768<PHONE_NUMBER>000000000000000000000000000000 M      included.sh
while
git diff-index --cached HEAD
returns nothing

Thanks for the bug report!

Why not adding --cached option to git-diff-index ?
No good reason.

Do you want to make the patch yourself ?
If not, I'll create a pull request later this week.

That's a pleasure to tchat with you.
I can do the patch, no problem, I just have to get used to Github ;-)
Anyway I'm very interreting in your project, and I would love to contribute.
Best regards,
Le 21 sept. 2017 13:00, "Dimitri Merejkowsky"<EMAIL_ADDRESS>a
écrit :

Thanks for the bug report!
Why not adding --cached option to git-diff-index ?
No good reason.
Do you want to make the patch yourself ?
If not, I'll create a pull request later this week.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TankerApp/tsrc/issues/34#issuecomment-331123859, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASacKhvsbx5EINhakElU8ez1eso0r1qOks5skkHGgaJpZM4Pef2i
.

OK then :)
Don't hesitate to ask if you have any question.

Hi @pfevre,
How is your github mastering journey going? :stuck_out_tongue:

I've checked this and it seems using --cached is actually not what you want.
Closing for now, feel free to re-open


WIP: Transfer manager dummy PR

This work adds a transfer manager which deduplicates and schedules transfers, and also an upload manager and download manager that build on top of the transfer manager to provide high-level interfaces for uploads and downloads. The push and pull code is modified to use these building blocks.
Some benefits of the changes:

Simplification of push/pull code
Pushes can upload layers concurrently
Failed downloads and uploads are retried after backoff delays
Cancellation is supported, but individual transfers will only be cancelled if all pushes or pulls using them are cancelled.
The distribution code is decoupled from Docker Engine packages and API conventions (i.e. streamformatter), which will make it easier to split out.

This PR is to aggregate the commits for review comments. Do not merge.

@tonistiigi I added https://github.com/aaronlehmann/docker/commit/9fe1187947294a6f10aa5ce9c44f798183cc9e73 which prevents redundant downloads (of empty layers). For each pull, it only starts a download the first time it sees each unique Key. If it sees the same key again later in the descriptor list, instead of starting a fresh download, it uses a different transfer function that waits for the first download to complete, and copies its data out of the layer store into the appropriate place in the layer chain.


Add linting script for prowjobs

Adding the logic for performing presubmit and postsubmit checks in the linting presubmit. The program whether the correct configurations have been done on the jobs added in a PR and exits with status 1 if one or more errors are found.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/retest

/retest

/retest

/retest


[DOCU-1399] Mocking plugin EE 2.4 GA

https://konghq.atlassian.net/browse/DOCU-1399
https://konghq.atlassian.net/browse/DOCU-1406 plugin icon, marking as done
Schema link:
https://github.com/Kong/kong-plugin-mocking/blob/master/kong/plugins/mocking/schema.lua
Direct review links:
https://deploy-preview-2781--kongdocs.netlify.app/hub/kong-inc/mocking/
https://deploy-preview-2781--kongdocs-private.netlify.app/hub/plugins/compatibility/ and click the Kong Gateway Enterprise tab. Moved to a PR Heather had in progress for other updates.
Questions for reviewers:
What category does this go in? I put it in deployment for now. Update: Put it in traffic control for now per Shane. Do we need a new category?
categories: # (required) Uncomment ONE that applies.
#- authentication
#- security
#- traffic-control
#- serverless
#- analytics-monitoring
#- transformations
#- logging
#- deployment
I noticed in 2.4 beta that the Mokcing plugin oes not have its icon yet, and is under an "Other" category. Suggest creating a new category in both plugin hub and Kong Manager/Konnect called something like "API Design" or "API Development".

These should appear in the GUI as "Mocking" and "OPA"; not "mocking" and "opa".
Requesting information about unit of measure for delay time configs (per Steve Y, seconds), and also more info about api_specification config for dbless (no description in readme, no info in available materials).

Should there be checks within the schema to ensure min delay < max?
Note that none of the fields are required in the schema.

Therefore, the Manager and Konnect SaaS etc. tabs are not generating properly. Anyone following those steps would get errors. The autogenerated examples are all of those above the config parameters table.

Contemplating turning off autogenerated examples altogether. I think Lena had mentioned something being broken in the generated examples as well.
Because DB-less requires a different api spec parameter, I think it's necessary to turn off deck autogen samples since it is picking up the incorrect config and both can't be populated or the examples will give customers schema errors (tested-not true but should be?). Done in commit https://github.com/Kong/docs.konghq.com/pull/2781/commits/2388ca19890d8c8982038a7c50edbc053875efe8. Will have to show all appropriate examples in the freeform area. Update: since config api spec can be used for all enviros, enabled yaml/deck again. for now.
My local docs build is not picking up the Mocking plugin at all, even when updating make develop, make install, etc. so there was more building/testing on netlify than I would have preferred.

@tlblessing Wouldn't the Mocking plugin come under a Testing category?

@tlblessing Wouldn't the Mocking plugin come under a Testing category?

@KongSteve Testing sounds reasonable to me but we don't have that category yet. @eskibars ?

What category does this go in? I put it in deployment for now. Update: Put it in traffic control for now per Shane. Do we need a new category?
@tlblessing Wouldn't the Mocking plugin come under a Testing category?
@KongSteve Testing sounds reasonable to me but we don't have that category yet. @eskibars ?

We don't have a category for anything like the Mocking plugin.  We could create a "Testing" category, but it'd be alone and I'm not really a fan of a category of 1 (or we'd move Kong Service Virtualization into it, but that plugin is a candidate for removal since it hasn't been updated/tested since 0.36 and we don't even know if works anymore).
I suggested adding it to this traffic control section (just like the Kong Service Virtualization plugin) and looking to revisit categories separately.  A lot of the categories are historic and don't make sense any more, but a total reorg is too much to handle "just" for 1 new plugin around the release time: we can decouple and do that separately.

Hey @tlblessing / @KongSteve  ,
I just spent around 30 mins looking at this and here's what I found, please let me know your thoughts:

Does it make sense to say that this plugin is "compatible" with grpc / grpcs? I'm not 100% of sure how a grpc response would look like, but do we support that with this plugin?
"Config. Api Specification" needs to be set to "Config.Api Specification" (notice that there shouldn't be a space between period and A)
Should we add a note regarding which takes precedence between config.api_specification_filename
and config.api_specification? Or should the later NEVER be used if in DB-ful mode? What happens if both are specified?
There's a typo on the URL here:
https://deploy-preview-2781--kongdocs.netlify.app/gateway-oss/latest/admin-api/#prededence
it should be:
https://deploy-preview-2781--kongdocs.netlify.app/gateway-oss/latest/admin-api/#precedence
These calls fails in zsh, though it works in sh:

http -f :8001/routes/getStockQuote/plugins name=cors config.origins=*
http :8000/stock/historical?tickers=AAPL accept:application/json

In this step:
https://deploy-preview-2781--kongdocs.netlify.app/hub/kong-inc/mocking/#enable-mock-plugin
the HTTPie steps are not complete, whereas curls are very detailed.
It may be worth telling the user to replace apistore.kong.com with their own IP / DNS where Kong's proxy lives? I noticed that we have it in the troubleshooting area to add it to /etc/hosts, but I would also just highlight it to them that they can change the URL in the actual OAPI spec file.
There's a couple of things that I noticed with this command:

curl -X POST http://localhost:8001/routes/getStockQuote/plugins \
    --data "name=mocking"  \
    --data "enabled=false"

First, we should probably have an HTTPie call for this one, just like we have the curl.
Second, when I ran it, I got an error, that looks like this:
{"name":"unique constraint violation","message":"UNIQUE violation detected on '{consumer=null,name=\"mocking\",route={id=\"2f9b8d98-4e01-4aab-81e7-4e76ac1413c9\"},service=null}'","fields":{"service":null,"route":{"id":"2f9b8d98-4e01-4aab-81e7-4e76ac1413c9"},"consumer":null,"name":"mocking"},"code":5}%

I didn't investigate, but we can look into it? It may be that the command should be a PUT/PATCH? Most likely a PATCH, but I didn't have time to look into it in detail.
9) We have some screenshots that refer to "api.unibit.ai", can we change that? Here's a screenshot I found:
https://deploy-preview-2781--kongdocs.netlify.app/assets/images/docs/dev-portal/km-service-url.png
That's what I found for now.
Note that I would normally fix these things myself (at least some) but I'm super busy right now and can't afford to do that. Sorry! Hope that's okay :) Thanks!

Re: screenshots: the Manager screenshots look great, I like that you cropped them precisely to the content the user needs to see. However, the larger screenshots from Insomnia and Dev Portal are quite big and the actual details become tiny and low resolution. Can you crop those screenshots as well? I realize that they're mostly around for showing context, but even that is hard to see.

The screenshots don't magnify on the review server w/a click like they do in prod. I already had to redo those screenshots when Shane had me change the URL. I think showing the entire context is good, and if a user wants more detail, they can have it with a click.

@lena-larionova thanks for your review. Batch committed your suggestions. Please review again when you get a chance.

For the record, logged https://konghq.atlassian.net/browse/INTF-2727 for the api spec field UX.

This is great work Terry!!! Thank you so much for doing this.

This is great work Terry!!! Thank you so much for doing this.

Thank you kindly @mikefero !


Add German HOWTO file

What does this PR do?
Add ONE HOWTO file (german) + ONE CODEOFCONDUCT file (german) and changes EIGHT HOWTO files
For resources
Description
I added a German Translation for the HOWTO file and added the option to switch to German in all the other files.
I also added the German Translation for the Code of Conduct.
Why is this valuable (or not)?
It helps the German learning community.
Checklist:

[X] Read our contributing guidelines
[X] Search for duplicates.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Thanks, and welcome to free-programming-books!

please resolve conflicts.

I changed everything you have mentioned. Anything else that needs changing?

looks like you added inadvertent punctuation - look at diffs

I think I'll just fork the repo again and commit another PR. Its probably easier and faster

Work moved to #5819


Exposing the menuScrollViewTopConstraint, fixed a compiler warning, made it possible to make the menuscrollview not scrollable

Exposing the menuScrollViewTopConstraint
needed a way to make it possible to animate the menuScrollViews position

fixed a compiler warning
made a never changed var into a let

made it possible to make the menuscrollview not scrollable
created a new enum to make it possible to set the menuscrollviews scrollenabled

Can this be merged?

It's up to the owner of the repository. Im using the changes and their working great (the fork is up to sync with master as well). 👍


Custom Torch Model Support

Hi @neelnanda-io , is there any support/tutorials on applying this repo to custom models on pytorch (not based on HF)?

No current tutorials, happy to give advice, but no support beyond that.
What do you want to do?
On Sat, 27 Jan 2024, 6:07 pm Jack BAI, @.***> wrote:

Hi @neelnanda-io https://github.com/neelnanda-io , is there any
support/tutorials on applying this repo to custom models on pytorch (not
based on HF)?
—
Reply to this email directly, view it on GitHub
https://github.com/neelnanda-io/TransformerLens/issues/498, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ASRPNKM66CZKVJIYX52UWELYQU65XAVCNFSM6AAAAABCNQYHU2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGEYDGNZQGQYDQMY
.
You are receiving this because you were mentioned.Message ID:
@.***>

I've got a custom model based on nanogpt. I simply changed several lines of code and then pretrained from scratch. As lots of mech interp tools are based on TransformerLens, I'm interested in applying the model to Transformer Lens.

Yes, that works fine. The procedure is to manually define the config to
create a blank HookedTransformer, then use
loading_from_pretrained.convert_nanogpt_weights to convert the
nanogpt model weights to transformerlens format, then load them in. See
this notebook from @adamkarvonen for a demo (note
that convert_nanogpt_weights is now a TransformerLens function, thanks to
Adam!)
https://github.com/adamkarvonen/chess_llm_interpretability/blob/main/nanogpt_to_transformer_lens.ipynb
On Sat, 27 Jan 2024 at 19:16, Jack BAI @.***> wrote:

I've got a custom model based on nanogpt
https://github.com/karpathy/nanoGPT. I simply changed several lines of
code and then pretrained from scratch. As lots of mech interp tools are
based on TransformerLens, I'm interested in applying the model to
Transformer Lens.
—
Reply to this email directly, view it on GitHub
https://github.com/neelnanda-io/TransformerLens/issues/498#issuecomment-1913300282,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASRPNKM6FFYXNUVWQCQFY3DYQVHCVAVCNFSM6AAAAABCNQYHU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJTGMYDAMRYGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks a lot for your response @neelnanda-io
My new model has some tweaks to the model architecture, so it's not directly transferable. Would you like to point out what parts I need to modify if I want to modify the model arch?

@neelnanda-io I've successfully set up Nanogpt weight transfer, but I don't see the interface for calling a GPT model from Nanogpt repos. I.e., I don't see the function convert_nanogpt_weights called anywhere in the repo. Is it supported or we need to write it ourselves?

This may help: https://github.com/neelnanda-io/TransformerLens/blob/829084a53836c5b8b388aa37a5ffce73b6371712/transformer_lens/loading_from_pretrained.py#L1205
It's just one additional line to call convert_mingpt_weights.

Thanks @neelnanda-io @adamkarvonen , the problem is perfectly solved.


[5.3] Revert "Merge pull request #30024 from Azoy/calling-metadata-accessor-from-swift"

This reverts commit 5fd6e98b2fede01b57ae5f2c7b3de501c6decae7, reversing
changes made to 3aee49d9d0d1aad2afdc3359fbebf61718e9a898.
Revert "XFAIL test/Interpreter/metadata_access.swift on arm64e"
This reverts commit 8fe216b00447ac4fe9b0186b52e955732da8a922.
Revert "XFAIl test on os stdlib bots"
This reverts commit aea5fa48424443a0738ac35de863e5043529829a.

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - 7be1b402ef0a60516817b586420bab7ba84c4ec9

Jenkins error ...

@swift-ci Please test os x


✨ Add CloudAnnData

Thx, left some comments.

As for the overall design, you are absolutely right, having something like with with direct access to metadata and with the ability to have streaming subsets of X, layers etc it should be much more convenient that current subset / stream functionality.

As for the overall design, you are absolutely right, having something like with with direct access to metadata and with the ability to have streaming subsets of X, layers etc it should be much more convenient that current subset / stream functionality.

Cool! Then, let's work in this direction!
But before doing so let's be wise and strategical how we balance across AnnData, MuData, SOMA/TileDB, plain zarr, zarr for images, etc.
I'd put a focus on scRNA-seq, of course, but maybe we don't need to over-engineer if we can rather build a layer for this whole class of infra.


Vite: replace <LiveReload/> with <DevScripts/>

This is a breaking change for projects using the unstable Vite plugin.
The <LiveReload/> component has a confusing name as it now also supports HMR and HDR.
Additionally, it provides an bespoke client-side runtime that is obsoleted by Vite.
To get our Vite plugin working, we were doing some compiler magic to swap out the
implementation of <LiveReload/>.
This was always meant as a temporary measure.
Now we have a better solution in the form of a new <DevScripts/> component specifically
designed with Vite's HMR capabilities in mind.
The <LiveReload /> component will cease to provide HMR and HDR capabilities in Vite,
so you'll need to replace <LiveReload/> with <DevScripts/> in your app.
The <DevScripts/> component should be placed in the <head/> of your app so that it
can be loaded before any other scripts as required by React Fast Refresh.
  import {
-   LiveReload,
+   DevScripts,
    Outlet,
  }

  export default function App() {
    return (
      <html>
        <head>
+         <DevScripts />
        </head>
        <body>
-         <LiveReload />
          <Outlet />
        </body>
      </html>
    )
  }

Tried to directly inject the HMR runtime into the <head/> instead (https://github.com/remix-run/remix/pull/8604) but that still had issues with race conditions.

Alternative would be to have something like:
```diff
  import {
-   LiveReload,
    Scripts,
    Outlet,
  }

  export default function App() {
    return (
      <html>
        <body>
-         <LiveReload />
           <Scripts />
          <Outlet />
        </body>
      </html>
    )
  }

Where <Scripts /> automatically includes dev scripts. For users who want to ship without JS, they can do <Scripts devOnly /> to still get the benefits of HMR/HDR in dev.

Superceded by #8636


iOS Porcupine Issue:

I'm running a test in Xcode and keep coming up with this error:
:1:1 warning: umbrella header for module 'porcupine' does not include header 'pico voice.h'
#import "Headers/porcupine-umbrella.h"
I've added an image as well
Thoughts?

Update porcupine to latest (1.9.6) and you should no longer receive this warning.


Fixed problems with shellslash

These changes should fix most of the issue about using shellslash on windows. However, maybe it's better to wait for this PR on plenary to be merged before accepting this. Without the changes on plenary, many things will just not work anyway.

Found a problem: on linux the shellslash option is not disabled, it doesn't exists at all, and the code breaks. I'm making a change on that regard (using pcall to handle the eventual error), but I'm not sure how to update the PR.

Tested on my linux laptop, that issue should be fixed now

Hi @andreadev-it, thanks for submitting this PR. I'm OK with it as is, but I'm going to wait and see what happens on Plenary before merging. If it is accepted there and turned into a utility function, it might be better to just reuse that final Plenary implementation here instead of duplicating it.

Hi @andreadev-it, it looks like the plenary one is stalled and I don't think it is relevant anymore because I have stopped using plenary for reading the filesystem.
Are you still interested in merging this?
I have to say, it seems like there should be more code changes/refactoring to make this work universally. I did a reference search for is_windows and came up with a lot of results with inconsistent methods of adjusting paths.

Hi @cseickel ,
Sorry for being out of touch these days...
From what I've experienced, enabling the shellslash option on windows causes way more harm than good, and I personally would not suggest it to anyone.
I agree that there might be the need to do more changes than these to allow the use of shellslash without generating issues. Actually, From what I've seen when I had shellslash enabled, even changing the code accordingly doesn't always work, since neovim also has a weird way of handling shellslash, IIRC.
Personally, I've stopped using shellslash, but if you think there might be the need to adjust it, I can look it up a little deeper and try to come up with a better fix

No problem @andreadev-it. No one else has asked for shellslash related improvements, so if you are no longer using it then I will close this PR.


Hyperlink is broken with line break

[x] I am on the latest Hyper.app version

[x] I have searched the issues of this repo and believe that this is not a duplicate
I searched hyperlink, wrap

OS version and name: MacOS High Sierra 10.13.4

Hyper.app version: 2.0.0

Link of a Gist with the contents of your .hyper.js: as default

Issue
For example if the terminal show a very long URL and wrap like this
http://www.a.web.site/some/where/that/url/is/very/very/
long/

The hyperlink is http://www.a.web.site/some/where/that/url/is/very/very/, but the expected URL should be http://www.a.web.site/some/where/that/url/is/very/very/long/.

Looks like this has been fixed upstream in xterm: https://github.com/xtermjs/xterm.js/issues/686, we just need to update our dependency 🤔

Was this dependency already updated?

We're waiting on https://github.com/zeit/hyper/pull/3214 @bartveneman

The Canary version of Hyper is using xterm 3.4.1, which includes a fix for this. You can jump onto the canary build by adding the following to your hyper.js preferences updateChannel: 'canary,


rocketmq-client v4.7 rocketmq.client.logFileMaxSize invalid

settings size is 64MB:
-Drocketmq.client.logRoot=logs/rocketmqlogs -Drocketmq.client.logFileMaxSize=67108864
but log file size also exceed it:
-rw-r--r--    1 root     root      108.2M Jan 13 07:46 rocketmq_client.log

@lppppppf FYI. https://mp.weixin.qq.com/s/rXWl5-1QyFiv7b4M-2MFpA, would you like do some tests and submit the test results to this repo?


traceviewer preview

How can I preview traceviewer feature？
When I run cli，I can not find it from dev tools

It is in works, stay tuned!


RFE: [SCA] Let's Encrypt Integration

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Ability to obtain an SSL certificate from Let's Encrypt for a deployed AS3 application.
Describe alternatives you've considered
Manually obtaining certificate via ACME client or through the BIG-IQ GUI
Additional context
The goal of this request is to remove application deployment friction for the customer.

Thank you for your feedback. We have decided that this functionality is outside of the scope of AS3. It may be worthwhile raising this feature request with the FAST product instead.


Radio Button Group number fix

When using options with id as a number the radio was not selecting an item because of string and number mismatch.
// This did not work
const options = [
    {
      label: "Easy",
      id: 1,
    },
    {
      label: "Medium",
      id: 2,
    },
];
// This worked
const options = [
    {
      label: "Easy",
      id: "1",
    },
    {
      label: "Medium",
      id: "2",
    },
];
// Both options will work now

@jacokok did you provide the option type number as property:  https://github.com/dohomi/react-hook-form-mui/blob/master/packages/rhf-mui/src/RadioButtonGroup.tsx#L23

I tried using type="number" and it is not working.
It seems like type is not being used in the RadiobuttonGroup.

@jacokok I fixed it in different way via 5.12.4

Thanks @dohomi  appreciate it!


There should be a way for extensions to bind to privileged ports

Sensu's startup script(s) should allow extensions to bind to port below 1024 before dropping superuser privileges.
One immediate use-case would be an SNMP-listener -- an extension such as that by @warmfusion, which needs to listen on port 162. Another would be a listener for syslog-datagrams (port 514).
Although different Operating Systems provide different mechanisms for such access to non-root processes, the OS-specific hackery should not be necessary.
An extension should be able to define a special method, which would be called by Sensu before the privileges are dropped.

Not sure if we are going to attack this one any time soon, due to the amount of platform complexity as you have mentioned. I am not a fan of Sensu ever operating with more privileges.
@UnitedMarsupials What use cases are there where the source cannot be updated to point at a higher range port?

platform complexity as you have mentioned.

Heh, the platform-specific complexity is required for people to allow Sensu to bind to privileged ports after it dropped root-privileges. Doing it before is quite straightforward.

I am not a fan of Sensu ever operating with more privileges.

You are right to be concerned, but it needs to happen -- there are legitimate uses for it. Apache, for example, is doing it -- binding to 80 (and 443) before becoming a non-privileged user.

What use cases are there where the source cannot be updated to point at a higher range port?

Some network gear only allows administrators to specify the IP-address for the SNMP traps (and informational messages). My HP-switch is one such piece of hardware. The port is hardcoded at 162.
Similarly, some syslog-senders only support IP-addresses (or host-names) -- assuming the destination port to always be 514. Most of the older syslogd implementations are like that, for example -- you can specify the loghost in /etc/syslog.conf, but you can not specify the port-number.
It can be worked-around, but the work-arounds tend to be ugly...

@UnitedMarsupials forward the privileged port w/ something like iptables as a stop-gap?

forward the privileged port w/ something like iptables as a stop-gap?

Yes, that'd be a work-around for network-listening extensions. And it is acceptable short-term. But long-term it should not be necessary. Thanks!

Adding the "feature" label here as part of an ongoing triage. This will be considered for potential inclusion in a future release.

We are not going to implement this.


Unable to type in variable name stdout/stderr section

I have started my program in debugger mode(F5) and tried to see the content of a variable by tring to type in the variable name in stdout/stderr section but unable to type anything there.

I came here for the same issue, what I found is that you can actually type, but you cannot see what you are typing, try typing a variable name and click enter the console will work as expected, even though you didn't see any change in the input field...
still a bug, but it's a bug in the view


Simpler emit call body

Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md

Doesn't seem like a fruitful approach. I'll try a different tack.


Stop cast after use ffwd command twice

The transmission is stopping after 2 uses of catt ffwd <time>.

I can't reproduce this. A bit of context would be useful.

It's not "fast forward to TIME", it's "fast forward N seconds". You're fast-forwarding past the end of the video.

I think it's safe to close this.


improve NetUtils

filter network interface in NetUtils
remove the useless attribute in ApplicationConfig

Hi, I observed that the UT are failing, I've trigger a new build. If there is still error, please keep an eye on it and fix it.

Hi, please resolve the UT failures.

Codecov Report

Merging #3953 into master will increase coverage by 0.07%.
The diff coverage is 33.33%.

@@             Coverage Diff              @@
##             master    #3953      +/-   ##
============================================
+ Coverage     63.85%   63.92%   +0.07%
  Complexity       98       98
============================================
  Files           713      715       +2
  Lines         31481    31494      +13
  Branches       5076     5076
============================================
+ Hits          20102    20134      +32
+ Misses         9071     9048      -23
- Partials       2308     2312       +4

Impacted Files
Coverage Δ
Complexity Δ

...ava/org/apache/dubbo/config/ApplicationConfig.java
97.59% <ø> (+2.24%)
0 <0> (ø)
:arrow_down:

...n/java/org/apache/dubbo/common/utils/NetUtils.java
68.67% <33.33%> (-0.31%)
0 <0> (ø)

...ava/org/apache/dubbo/common/utils/ClassHelper.java
0% <0%> (-69.1%)
0% <0%> (ø)

...ng/exchange/support/header/HeartbeatTimerTask.java
73.68% <0%> (-5.27%)
0% <0%> (ø)

...he/dubbo/remoting/transport/netty/NettyServer.java
69.64% <0%> (-3.58%)
0% <0%> (ø)

...bo/rpc/cluster/support/FailbackClusterInvoker.java
67.21% <0%> (-3.28%)
0% <0%> (ø)

...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java
80.14% <0%> (-0.74%)
0% <0%> (ø)

.../java/org/apache/dubbo/config/ReferenceConfig.java
59.7% <0%> (-0.37%)
0% <0%> (ø)

...che/dubbo/common/compiler/support/JdkCompiler.java
64.54% <0%> (ø)
0% <0%> (ø)
:arrow_down:

...n/java/org/apache/dubbo/config/AbstractConfig.java
79.57% <0%> (ø)
0% <0%> (ø)
:arrow_down:

... and 15 more

Continue to review full report at Codecov.

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

fixed now


Explore non-Google/Apple map options

Anywhere in the app where we're using react-native-maps, we should have an optional fallback to another map implementation which is not reliant on Google Maps. This will be helpful for users in China or users with specific privacy concerns who choose not to use phones with Google Play installed.
Mapbox is one possible fallback we've been wanting to explore.
Design Figma file - there are no map designs as of 3/29/22, but this will eventually live under Obs Edit -> Location Edit

Definitely want to explore this, but it's also complicated. rnmapbox seems to be in a state of flux as they update to support MapBox v10, and while using MapBox tiles might provide better functionality in China, it does not really provide superior privacy to Google or Apple, just a different corporation you're sacrificing your privacy to. That said, I'd certainly like to see a proof-of-concept that shows how we might abstract mapping so that components don't need to know whether the user has chosen to use Google or some other map provider (e.g. a wrapper around both react-native-maps and rnmapbox/maps).

FWIW, I still think we'd need some kind of wrapper component, but for a non-Google options we'll probably want to use https://github.com/maplibre/maplibre-react-native when it's ready (MapBox is going closed source, just introduces another privacy liability anyway).

I have seen a talk at React Native Europe about this project here which might help for this issue: https://openmobilehub.github.io/react-native-omh-maps/docs/getting-started/


give a way to show full title of transfer item( display a apostrophe for now )

What problem does this feature solve?
to have a way to display the full title of transfer item, cause we have some items have a very long title.
What does the proposed API look like?
a api property to config if show a pop card when hover on the item; or just wrap to the next line like table component; or a scroll bar on horizental direction when some title vary long.

You can custom render item via nzRender property.
https://ng.ant.design/components/transfer/en#components-transfer-demo-advanced

@cipchk yes, thanks for response. I already used this property to display a pop card when user hover on it. just submit a component  suggest.


(#748) Add puppet-strings gem and dependencies

Build the documentation with bundle exec rake puppet:strings
The documentation is generated in every matrix cell for Travis.
RedCarpet is used to support Github Flavored Markdown.
The change to sensu_redis_config.rb is to avoid a bug in YARD, throwing
ArgumentError trying to parse the affected node in the syntax tree.  This patch
changes the code to be compatible with YARD.
Resolves #748

Clean.  Doesn't need a rebase.

Released in v2.27.0


Add explicit justification of DECIDE messages

Add explicit justification of DECIDE messages. To be merged after #37 . Fix tests accordingly.

@Kubuxu ready to be reviewed :)


Add utils functions to kfp support lib.

Why are these changes needed?
Related issue number (if any).

LGTM, but in the future, @Mohammad-nassar10, please provide some explanation why do we need this PR


messagebox: Redesign focus rectangle and unread marker.

Step 5 of #22059. This change replaces the box shadow focus rectangle with a more subtle light blue rectangle.
CZO discussion
Note that this change adds 3px of height to the messagebox to make space for the new rectangle. More discussion on that here.
Screenshots and screen captures:
(these are out of date, I can update them with the extra 3px of padding, but for now, see here for exact padding)
Figma here

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[ ] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Looks good to me in manual testing! I have not attempted to compare vs. the spec.

@terpimost could you please review for whether this is ready for test-deployment on CZO?

@timabbott If you are looking at a redesign PR that you think may be ready for test-deployment, please immediately tag @terpimost next time (not just me).

Oh, actually, playing with it a bit more, it looks odd to me that the rectangle disappears on the left when the message is unread:

So I think we may need to either change the unread marker together with this, or else tweak something about how that combination works for now.

I would love to see that on CZO. I think I don't want to be picky until we create a proper typography

The updated version looks good to me in manual testing! @timabbott please test-deploy on CZO when you get a chance. :)

Test deploying this on chat.zulip.org.

Updating the deployment following the changes made to fix this modifying the message spacing. (As a side note, please post comments on PRs in addition to chat.zulip.org about changes made to them -- we want the PR to be a self-contained source of information about its state as that makes review a lot more efficient)

Iteration on this is currently blocked on #23456.
@evykassirer , just for future reference, it's very helpful when the PR comment thread has a note about the current status.

@evykassirer left some feedback, LGTM in general.

The latest version works for me in manual testing!

@timabbott This PR has been approved by @amanagr as well -- please take a look. See also CZO discussion here.

This is incorporated into #23782 and probably will end up being merged via that PR given that it seems nicer as a UX change combined.

Closing since this is now part of https://github.com/zulip/zulip/pull/23782.


Xarray modelresults

This PR aims to bring support for modelresults stored in NetCDF and similar files using xarray.

@jsmariegaard : I have added a first test dataset and notebook to extract a subset.
This already got me thinking:
I think we will have to come up with an fmskill convention for the xarray dataset for the internal use (similar to a track df must have x and y). For example, coordinates and dimensions must be x, y, time (or something else). And then we either require the user to bring the xarray dataset into that format before loading it, or, we offer some mapping when the ds is defined as a ModelResult.

Yes, I thought about the same. My idea was to rename coords to x, y and time as you suggest. I will identify time by looking for a datetimeindex. I will assume x either has lon or east in the name. I will assume that y has either lat of north in the name. Sounds good?

@Hendrik1987 please check out the https://github.com/DHI/fmskill/blob/xarray-modelresults/notebooks/NetCDF_ModelResult.ipynb notebook using the testdata that you provided. The method _extract_point() https://github.com/DHI/fmskill/blob/bbf434a065ca14da199bed3e130e5e4b51ea28bb/fmskill/model/xarray.py#L78 is ready for your input. It should output a dataframe with a DatetimeIndex

@jsmariegaard : After looking at your new work on this PR some thoughts:

I think the auto identification of time and coordinates is a good default, which will cover 99% (?) of the use cases. In addition I propose optional parameters like this for example:

mr = ModelResult(fn='my.nc', name='SW_2', x='longitude', y='latitude',
         projection='LONG/LAT', z='...', variables=dict(ssh='Hm0'))

For the variables I would allow a dictionary (lookup) or list (based on orders). I further would allow the value to be strings only ('Hm0') or EUMInfo. Note, the argument variables is a definition of content, not a selection. It is therefore different from item. Maybe variables would be a nice addition for a dfsu ModelResult, too, where item names are sometimes a bit long.

Goal should be that each observation and model result (can) have all spatial, temporal and item info required to make the connection call without further input:

con = Connector([o1,o2,o3],mr)

All model results are model results... I like your approach to have dedicated ModelResults for the different file types, which are called without the user having to think about it. I think it is your plan already, but just to stress that I find it important to make all ModelResults behave as similar as possible, for the user to not be confused. For example: mr['Hm0'] should always select a variable, and mr.ds should always show the dataset, no matter if the ModelResult is of type dfsu, pandas or xarray.

P.S.: Regarding my input. Let me work on experiment_xarray_extraction.ipynb for the moment and we then get in touch later.

@Hendrik1987 good stuff - let's get back to this after we have the extractions in place.
Note, that you already today can rename the item in a DfsModelResult. It doesn't happen at construction but after, e.g.:
 mr = ModelResult("my.dfsu", item=0)´
 mr.itemInfo.name = 'my_new_item_name'

I think it can be confusing to put too many things in a constructor - better to create methods and attributes that can be changed later IMO.

@jsmariegaard : 'better to change later' is a good argument.
In combination with hints in the error messages, it should be easy for the user. Error: Could not identify item. Hint: Specify mr.itemInfo.name - just to give an arbitrary example.

@jsmariegaard : 'better to change later' is a good argument.
In combination with hints in the error messages, it should be easy for the user. Error: Could not identify item. Hint: Specify mr.itemInfo.name - just to give an arbitrary example.

I am a big fan of helpful error messages!

@jsmariegaard : fist extraction notebook now added. Still some open todo's (see end of notebook) but it's already ready for some discussion.

@jsmariegaard : some minor updates to the notebook with the following conclusions:

xarray interpolates robustly within available coordinates only for all methods
proposed default for PointExtraction: spatial nearest
proposed default for TrackExtraction: all linear
I propose to move spatial tolerance to a new PR
Some handling of coordinate ranges is required at some stage, especially in the North Sea: We are close to 0 and used to x on the range [-180,180]. A lot of global third party models come on [0, 360]. This might be nice to have, as proper preprocessing can already now fix it. I.e., also new PR?

@ecomodeller

Any NaN in your dataset that you are interpolating?

Interesting point! In space, yes, but constant in time, i.e., land values in a regular grid. Should we also look at the scenario that a value in the middle of the domain is missing for a few time steps only? I think, default xarray interpolation would just return nan for this period and location. But some testing needed.

@Hendrik1987 looks good! - I can get back to this tomorrow afternoon. Should we see if we can close this PR tomorrow - and maybe open a new with additional work?

It is not directly related to xarray, but since we are comparing many models in this example...
Is it possible to clearly show which lines are models, and which ones are observations, like bold or italic on the y axis labels?

In the NetCDF_ModelResults.ipynb three model results of Significant wave height are compared, each with their own short variable names. And if I look at WW3 it is yet another...
If we want to compare multiple variables in the same analysis, where do I set the short variable alias e.g. swh or mwd?

@ecomodeller : This is spot on a discussion I just had with @jsmariegaard  yesterday. One idea is to offer a mr.rename(items=dict(swh='Hm0')) (similar to xarray and pandas). As MIKE models tend to have long item names, I would also support mr.rename(items=dict(0='Hm0').
There are two related aspects (in my head at least):

Any attributes (variable_name, EUMType, unit, Long_model_name, ...) should be stored in attrs dictionaries (as suggested before). I propose one attrs dictionary at ModelResult level for global attibutes (e.g., 'long_model_name', ...) and one and ModelResultItem level (e.g., 'variable_name', 'EUMType', 'units', ...) When renaming the item, we could give the option to save the original item name to the attributes for reference.
Once item names can be aligned by renaming, this could be used for validating and/or matching modelresults and observations.

It is not directly related to xarray, but since we are comparing many models in this example...
Is it possible to clearly show which lines are models, and which ones are observations, like bold or italic on the y axis labels?

Maybe subplots?


⚠ Minecraft has degraded performance

In dc4cf52, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 1004 ms

Resolved: Minecraft performance has improved in 4087de1.


Spec 2.0: make api-compatible with 1.2

Revert the mandatory version param for rest#request, and re-add recoveryKey, per decision that spec v2 (no-connection-serials) is going to be sdk api compatible with 1.2, and breaking changes are being moved to a spec 3.0.

@QuintinWillison dunno how you want to deal with the Gx 'test guidelines' section, I imagine you want to rewrite it, but for now I've thrown in a commit that tweaks the wording of G4 per your guidence about separating the protocol version and the spec version https://github.com/ably/specification/pull/119/commits/ec00d1710a83f6a903fd279e8edc9452f4a5fc96

@SimonWoolf

Revert the mandatory version param for rest#request ... per decision that spec v2 (no-connection-serials) is going to be sdk api compatible with 1.2

This came up in an internal conversation, is there any further background to this decision? I believe we have been starting to assume this would be part of the v2 API (e.g. in documentation for channel enumeration changes).

Thanks for the clarification 👍 seems like we need to reintroduce the changes from this PR and publish as v3?


Find information about event

If a script is triggered by an event, is there any way to find out information about that event? For example, if a script is triggered by a new note being created (vault - create) is there anyway to find out what the path/Tfile of that new file is?

Check the modify event for to ensure you get the correct path, title and content of note


The requested redirect_uri is missing in the client configuration

When installing Zitadel from the helm chart with the following configuration :
    ingress:
      enabled: true
      className: "nginx"
      annotations:
        cert-manager.io/cluster-issuer: "letsencrypt-production"
        kubernetes.io/tls-acme: "true"
        ingress.kubernetes.io/ssl-redirect: "true"
      hosts:
        - host: id.vhome.fr
          paths:
            - path: /
              pathType: Prefix
      tls:
        - secretName: id-domain-fr-tls
          hosts:
            - id.domain.fr
    replicaCount: 1
    zitadel:
      masterkey: "****"
      dbSslRootCrtSecret: "crdb-ca-secret"

      secretConfig:
        Database:
          cockroach:
            User:
              Password: "*****"
      configmapConfig:
        FirstInstance:
          Org:
            Name: domain

        ExternalDomain: id.domain.fr
        ExternalSecure: true
        WebAuthNName: VDOMAIN-IDENTITY
        TLS:
          Enabled: false
        Machine:
          Identification:
            PrivateIp:
              enabled: false
            Hostname:
              enabled: true
            Webhook:
              enabled: false

When i go in my browser to https://id.domain.fr i get the following error message:
The requested redirect_uri is missing in the client configuration. If you have any questions, you may contact the administrator of the application.

It's unclear but i guess i have to finish some part of the installation process... What am I missing ?

Can you retry using ExternalPort: 443 in your configmapConfig? Default is 8080. You'll have to purge your DB, so the setup steps run again.

Okay, i guess i'm good now.
I can't find the admin user i specified though
trying:
<EMAIL_ADDRESS><EMAIL_ADDRESS>are not found on zitadel
What's the correct value here? given the above configuration

Ok so setting:
Org:
  Name: something
  Human:
    ...

is not working, Org.Name need to be blank it seems. That weird and undocumented.

If you use the defaults, your default admins username is zitadel-admin@${orgname:-zitadel}.id.domain.fr

Please reopen, if you're still having an issue