How to add headers to test request context

I have a testing fixture to make a test client in my flask app:
@pytest.fixture(scope='session')
def test_client():
	""" Create the application and the test client.
	"""
	print('----------Setup test client----------')
	app = create_app(config_class=config.TestConfig)
	testing_client = app.test_client()

	ctx = app.test_request_context()
	ctx.push()
	yield testing_client # this is where the testing happens
	print('-------Teardown test client--------')
	ctx.pop()

I would like to add a header for "User-Agent" to this test request context because in my application I check the browser of the user. I am retrieving the browser name in my app via
user_agent = flask.request.user_agent.browser

This line returns None if I use the test client above. While I can successfully set the 'User-Agent' header in individual requests within a single test, e.g.:
user_agent_str = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'

response = test_client.get('/some_flask_route',
		environ_base={'HTTP_USER_AGENT': user_agent_str},
		follow_redirects=True)

After doing this:
flask.request.user_agent.browser
returns 'chrome' as expected.
However, this is very redundant because it requires me to insert the environ_base line of code into every single one of my many tests.
Expected Behavior

I would expect that I could set the header when I make the test request context in my test fixture, e.g.:
user_agent_str = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'

@pytest.fixture(scope='session')
def test_client():
	""" Create the application and the test client.
	"""
	print('----------Setup test client----------')
	app = create_app(config_class=config.TestConfig)
	testing_client = app.test_client()
	ctx = app.test_request_context(environ_base={'HTTP_USER_AGENT': user_agent_str})
	ctx.push()
	yield testing_client # this is where the testing happens
	print('-------Teardown test client--------')
	ctx.pop()

and this would set the environment for all requests, eliminating the need to set environ_base in every one of my requests.
Actual Behavior
While adding environ_base into test_request_context() does not break the fixture, it does not set the 'User-Agent' header and
flask.request.user_agent.browser

returns None.
Environment

Python version: 3.7.3
Flask version: 1.1.1
Werkzeug version: 0.15.4

I have tried the solution suggested in the question here: https://stackoverflow.com/questions/15278285/setting-mocking-request-headers-for-flask-app-unit-test
but it does nothing. I am simply running the flask server on localhost with no deployment yet, i.e. essentially just:
app = Flask(__name__)
app.run(host='<IP_ADDRESS>',port=5000,debug=True)

Please use Stack Overflow for questions about your own code. This tracker is for issues related to the project itself. Be sure to include a minimal, complete, and verifiable example.

Hi David,
I believe that it could be a bug in test_request_context.
Austin
On Wed, Dec 18, 2019 at 11:52 AM David Lord<EMAIL_ADDRESS>wrote:

Closed #3451 https://github.com/pallets/flask/issues/3451.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pallets/flask/issues/3451?email_source=notifications&email_token=AKEBPBIKUY64S6P7TIPUDN3QZJIODA5CNFSM4J4NL5H2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOVSBVIYA#event-2894287968,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKEBPBPBPVUKGJKL5ZIORILQZJIODANCNFSM4J4NL5HQ
.


Allow joins of two or more TS objects

Currently, TSx.join() can only merge two objects TS objects. DataFrames.innerjoin() et all do support joining of two or more objects so it should be possible to replicate that behaviour in TSx join methods.

Hi @chiraganand. I'm assuming we have to use a variable number of arguments for this; something like this:
Base.join(ts1::TSFrame, ts2::TSFrame, ts..., ::T)

where T is some join type. But the problem with the above is that ts... needs to be the positional argument for this to work.
A simple solution to this problem is to just do the following: instead of having the join type as the last parameter, have it as the first parameter; so something like this:
Base.join(::T, ts1::TSFrame, ts2::TSFrame, ts...)

Is this okay? Should I go ahead with this, i.e put the join type argument as the first argument in all the Base.join methods?

Another possible solution for this was to put the join type as a keyword argument, but then we won't be able to do multiple dispatch.


Feature/Guide request - interval checking

I'd like to check if my device has the basic and device integrity every 12 or 24 hours and get a notification when it doesn't.
This would help me react and update my Magisk modules so that Google Wallet keeps working with NFC  payments.
Now, I usually learn that I lost the NFC payment option right at the terminal.
This feature would help prevent the problematic situation.
What do you think?
Could you add it or guide me/others through how we could achieve this?
Thanks!

This is possible but with the 10k tests/day limit this going to make things worse..

This is possible but with the 10k tests/day limit this going to make things worse..

Yea, I get it. Maybe then this feature should be available only for those who provide their own API keys/access to the Play API?


BlankZeros Does not compile

Hi, We are trying to show zeroes on the subform however
pageextension 6032450 FtlSalesCrMemoSubformExt extends "Sales Cr. Memo Subform"
{
layout
{
modify("Line Amount")
{
BlankZero = false; <= this won't compile.
}
so i have to not show it and then add it agian to show it
addafter("Line Amount")
{
field(LineAmount; "Line Amount")
{
BlankZero = false; <= it compiles fine here
ShowMandatory = false;
}
}

Hi @tanFiftytwo, please follow the template and provide adequate information to reproduce the issue. We need to know what the AL version you are using, what the compiler error, reproduction steps etc. Does it happen for any specific field? Please attach the project which demonstrates the error, if possible.

This issue has been closed because it needs more information and has not had recent activity. Please open a new issue if you believe this has not been resolved and reference the current issue.


ci(tofu-ci): tf tests

Hi, thanks for taking the time to suggest improvements to the workflow. I am trying to run plan / apply then another plan to check for diffs and finally destroy to check for any dependancies in the development environment. Then run the same again, minus the destroy, in my mock production environment. My first attempt did try and use your action for this, but it failed: https://github.com/3ware/aws-network-speciality/actions/runs/10833169395/job/30059298723 - which is why I was experimenting with tofu commands.

It might help to share a "decision tree" of sorts to understand what chain of actions should take place under which condition. To start with, let's tackle the dev env for example:
graph TD;
    A[PR opened] --> C[TF plan]
    B[PR updated] --> C[TF plan] --> D[PR merged]
    D[PR merged] --> E[TF apply] --> F[TF destroy]

Would you mind clarifying the reason for the second plan — why check for diffs immediately after apply? If apply is successful, then there's no diff, otherwise the apply failed.
And am I right in think you're wanting to destroy -auto-approve immediately after to deprovision any/all resources?

It might help to share a "decision tree" of sorts to understand what chain of actions should take place under which condition. To start with, let's tackle the dev env for example:
graph TD;
    A[PR opened] --> C[TF plan]
    B[PR updated] --> C[TF plan] --> D[PR merged]
    D[PR merged] --> E[TF apply] --> F[TF destroy]

Would you mind clarifying the reason for the second plan — why check for diffs immediately after apply? If apply is successful, then there's no diff, otherwise the apply failed.
And am I right in think you're wanting to destroy -auto-approve immediately after to deprovision any/all resources?

The reason for the second plan is to check idempotence of the apply. Sometimes applies can be successful, but another plan will reveal a drift or similar.
That's correct regarding destroy. The destroy is check the apply has not introduced any unexpected dependancies.

Right, I see, and what's the expected outcomes of the idempotency check?

0 success (no changes) > clean up.
1 error > end.
2 success (with diff) > ?

Here's the updated decision tree / flow chart, as best I understand it.
flowchart TD
    A[PR opened] -->|TF plan| C(PR merged)
    B[PR updated] -->|TF plan| C
    C -->|TF apply| D{Exit code}
    D -->|0-success| E[Idempotence] -->|TF plan| F{Exit code}
    F -->|0-success no-changes| G[Clean up] -->|TF destroy| H(End)
    F -->|1-error| H
    F -->|2-success with-diff| H
    D -->|1-error| H

Please can you confirm that these changes are just for the initial plan and apply, and that another job is required to run plan again to check for a diff?

Updated this PR to plan/apply infrastructure, followed by another plan with exitcode with idempotency check, and finally clean up all resources — all in the one job with just a few steps.

Right, I see, and what's the expected outcomes of the idempotency check?

0 success (no changes) > clean up.
1 error > end.
2 success (with diff) > ?

I guess, for 2. an issue could be raised to investigate.

Please can you confirm that these changes are just for the initial plan and apply, and that another job is required to run plan again to check for a diff?

Updated this PR to plan/apply infrastructure, followed by another plan with exitcode for idempotency check, and conditionally clean up all resources — all in the one job with just a few steps.

This is great. Thanks for your input.


Workaround intermittent failures by forcing test order (e.g. WFARQ-14)

Can help testsuite stability.

This is not specific just for the WFARQ-14 (IIUC @kabir 's test runs shown this helped) but rather a general stabilization. I am a bit split here, since ideally I would like the test order to be random (sort of the current default where the order is not random but undefined) but we end up chasing intermittent testsuite framework issues for the sake of testsuite stability. Not sure if its worth the time.

I'll take a look about how many clustering failures we see. It might be a bit more stable now than it seemed laste week

@kabir let's close this if not needed?


lxd/rbac: Filter storage UsedBy

Signed-off-by: Stéphane Graber<EMAIL_ADDRESS>

Testsuite passed

@tomponline @brauner good to go

Converting to draft as I'm working on cleaning up the RBAC user access stuff and then moving that function into lxd/project for use from:

profiles
networks
storage-pools
storage-volumes

So pretty much everywhere we have UsedBy (minus for instances), we'll be sending the slice through this.

Testsuite passed

@tomponline updated

@stgraber nice thanks.

@tomponline good to go


Decorating items with commands can simplified using ClyTableIconCommandActivation

There are places where you add icons to table items which run commands.
For example
PBProjectUIItem >> decorateProblems: anItemCellMorph inContext: itemContext [
	| button activator icon command |
	command := PBRepairProjectCommand new.
	itemContext prepareNewCommand: command.

	activator := CmdCommandActivator new
		command: command;
		context: itemContext.

	icon := anItemCellMorph iconNamed: #error.
	button := command createTableCellButtonWith: icon using: activator.
	button setBalloonText: 'The project is not up to date'.
	anItemCellMorph definitionMorph: button

There is reusable mechanizm in Calypso to decorate items with commands or in other words to access commands this way. It is used for example for running tests and removing metalinks.
Only thing you need to do instead of this method is annotate command with ClyTableIconCommandActivation:
PBRepairProjectCommand class>>tableActivation
   <classAnnotation>
   ^ClyTableIconCommandActivation for: PBProjectUIItem asCalypsoItemContext

I will check it.
Thanks


new WPILib template

This one's a little bit more generic than Arjun's pull request. feel free to compare i guess.


Tents stuck in a bunch

When the player has two or more tents, they will merge into a bunch.
This is not desired, I would prefer each tent not be inside any other, and if they do they should automatically correct themselves.
The current code for correcting this is:
        for(var j=0; j<player.tents.length; j++) {
            if(j != i && player.tents[i] !== undefined) {
                var distance = Math.sqrt(Math.pow(player.tents[j].y-player.tents[i].y,2) + Math.pow(player.tents[j].x-player.tents[i].x,2));
                var radiusTotal = (player.tents[i].radius + player.tents[j].radius);
                if(distance < radiusTotal) {
                    //if(player.lastSplit > new Date().getTime() - 1000 * c.mergeTimer) { //Not merging.
                        if(player.tents[i].x < player.tents[j].x) {
                            player.tents[i].x--;
                        } else if(player.tents[i].x > player.tents[j].x) {
                            player.tents[i].x++;
                        }
                        if(player.tents[i].y < player.tents[j].y) {
                            player.tents[i].y--;
                        } else if((player.tents[i].y > player.tents[j].y)) {
                            player.tents[i].y++;
                        }
                    //}
                    /*else if(distance < radiusTotal / 1.75) { //Merge into one.
                        player.tents[i].mass += player.tents[j].mass;
                        player.tents[i].radius = util.massToRadius(player.tents[i].mass);
                        player.tents.splice(j, 1);
                    }*/
                }
            }
        }

From my tests I believe they ARE correcting themselves, but this is being undone somehow.
Any help would be appreciated. Thanks!

The bunching has something to do with the speed of the tents, maybe they are going too fast?

@Dubstepper can you test with this modification?
/*line 158 app.js*/ var slowDown = 6;

It slows the movement of tents down, but fixes our issue unless movement speeds change. We should look for a better solution.

Tents can stay stuck together if there are 3 or more still. Some help with this would be appreciated, though the bulk of the issue is fixed.


Integer conversion on Solaris and Illumos

The library was not used anywhere and it prevented the build from running on Illumos, this fixes it as far as I can tell.

Duplicate of #277, which is awaiting a response from the author.

Oops, this is embarrassing.

No worries! If you'd like to check and make the appropriate changes I noted on the other PR, I'll happily merge this one.

I made the required changes to my branch, but this PR is closed. Want me to open a new one?

I'm on mobile now, but I'll look at it later today if you push the changes up.

They have been pushed, but they don't show up on a closed PR afaik.

Quickly looking into things: it looks like I'm unable to reopen because I've force pushed to main since you forked (I know, bad habit). It looks like there's a workaround, as your commits surely don't cause any conflict.
Thank you! Sorry about the hassle.

I've also force pushed to my PR branch. Let me know if you need me to revert before reopening.

Looks like my force-pushing isn't actually the issue here, as your branch includes ccd997e, the latest commit on this repo's main branch.
We've got a few options here:

You can create a new PR
I can cherry-pick the commit from your branch, which would still give you credit in the commit history.
Somehow figure out how to reopen this PR. I presume you'd have to dig through reflogs to find the original commit hash and force-push that.

I don't have a preference, so it's up to you.

You should be able to reopen this PR now. If that's not the case, just go ahead with option 2.

Unfortunately I'm not able to for some reason. I'll reach out to GitHub to try and figure out why, since I see absolutely no reason for that to be the case now. If you push up the changes — again — I'll cherry-pick it.

Got it. I've pushed the changes again.

Meh, managed to use the official GitHub CLI to merge it 😆
Whatever works I suppose.


More sophisticated preview of inactive numeral styles

Some numeral features don't actually cause any changes from defaults.
Eg on https://graphicore.github.io/mdlFontSpecimen/ I see

Perhaps these should be colored grey, or otherwise indicated that nothing is actually happening... Or, the sample should show some context where the overall textblock uses another numeral style, and then a child span applies this feature.

Yeah, that's in general the problem that we know what features are there but we don't have meaningful sample texts. Fishing for substitutions made by a feature is possible, but cumbersome and would produce nonsensical samples in many cases. When we know the font, we could put in the sample texts somewhere into the specimen options or markup.

Perhaps these should be colored grey, or otherwise indicated that nothing is actually happening

Hard to figure, I think there's no browser API that tells us if anything or what happened.

Or, the sample should show some context where the overall textblock uses another numeral style, and then a child span applies this feature.

If this feature does nothing to numbers, why is it there in the first place?
?

Oh, in this case, we know the font, so we could improve the sample, but it still does nothing. We should maybe just remove the lnum tile?

Updates in my first reply


update KubeCon ad to virtual

Deploy preview for landscape ready!
Built with commit 6816862a2df3e3ee9164a9cf225f2efe2327a514
https://deploy-preview-1665--landscape.netlify.app


Don't use Issuehunt

Hi Everyone,
Today I received an email stating Issuehunt is being added to Sequelize project. I know I have left the project but this was important so I am posting this here. I don't think Sequelize should add Issuehunt.
Why?

They don't have an automated way to withdraw your funds. Withdrawal emails (or any other emails) are usually ignored.
You need to earn at-least $100 USD to withdraw.
As a project owner, you can't get funds stuck in stale issues. If there is a bounty on an issue, it can't be utilized for something else.

Idea of bounties is great but these platforms are shady at best. I don't want contributors money get stuck in some third party platform.
Thanks!

Hey @sushantdhiman, nice to see you 👋
We came to the same conclusion and removed it a few minutes later. The platform just did not feel safe enough to entrust them with anyone's money.
If we ever set up an issue bounty, it'll be through a platform we can trust. It'd be nice if open collective released such a feature

I'll close as, well, it's solved :)


[html] support less syntax in html file

For my information, it seems like vscode doesn't support less and sass in html file, so can we make an extensions to support it?
some thing like this:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    **<style lang="less">
        .a {
          width: 200px;
          background-color: #af1b3b;

          .box {
                flex-direction: column;
                justify-content: center;
                align-items: center;
            }
        }
    </style>**
</head>
<body>

</body>
</html>

see #57469 for scss


Add a way to provide external-dns with a template to generate service FQDNs

It'll be great to have the possibility to provide external-dns with a template string like {{.Namespace}}-{{.Name}}.example.com to generate DNS records instead of using the annotation in the service.
Using this template one can manage multiple zones which contains all services without altering the annotation for each service. Also; as far as I understand; currently one service can only map to exactly one FQDN.
Using the templating I can launch one external-dns instance per zone without messing around with my kubernetes service definition.
zalando-mate supports this using --kubernetes-format which was a great fit for our use case.

Closed. Solved in #160 - confirmed working


Note on HRAM/IO R/W

From README.md:

RGBDS optimises instructions like LD [$FF40],a to LDH [$FF00+40],a, so these are encoded as data bytes using a macro to ensure exact reproduction of the original ROM (thanks to ISSOtm). RGBDS >= v0.3.7 has an option to disable this optimisation. Use --disable-auto-ldh with mgbdis to disable the macro.

This only applies to constant expressions. If you instead export the symbol from an HRAM section, it'll use the 3-byte ld instruction.

Ah yes, thanks, I will tweak the notes in the readme


Buy URLs

Will look at namecheap. Thinking something along the lines of the name of the repo here.
Drop the ideas below of what's available.

Options:

mishfriendlyfood.com
mishfood.com
food.dev ($1K)
food.melbourne ($12K)
food.tech ($20K)

Looked at:

mishfriendly.food but .food is not a TDL

Bought mishfriendlyfood.com and mishfood.com
Purchased!

Bought mishfriendlyfood.com and mishfood.com


modern support and example

Sure thing, would be great to have, want to send a PR? #5 added support


Bring Site Kit page up to date with styles and correct redirect URI.

What's changed, or what was fixed?

Update classes used for container divs to match current styles.
Adjust the redirect URI to match the new default value (includes WordPress wp-admin root).

Fixes:
Site Kit developer plugin not working.
Target Live Date: YYYY-MM-DD

[ ] This has been reviewed and approved by (NAME)
[ ] I have run npm test locally and all tests pass.
[ ] I have added the appropriate type-something label.
[ ] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Hey @petele, Adam from the Site Kit team here. This PR fixes a couple of issues we notice with our App creation page. First it fixes a style issue:
before:

after:

The PR also corrects the redirect URI which no longer matches our redirects, causing the App to fail.
When testing at https://developers.google.com/web/site-kit, I also notice an error message when I click on the "Get OAuth Credentials" button:

Do you have any ideas why this is happening and how to fix it?


Rule loading currently requires scalafmt repositories

The rules currently fail to load without the following in WORKSPACE:
load("@rules_scala_annex//rules/scalafmt:workspace.bzl", "scalafmt_default_config", "scalafmt_repositories")
scalafmt_repositories()
scalafmt_default_config()

This appears to not longer be the case.


Two nested arrays in one field not working

hey I have this code here:
json2csv( {data: ordersList, fields : ['shipping_address.first_name', {label: 'Full Name', value: (row, fields) => row.shipping_address.first_name + ' - ' + row.shipping_address.last_name}]},
  function(err, csv) {
    if (err) console.log(err);
      fs.writeFile('ShopifyOrders.csv', csv, function(err) {
        if (err) throw err;
        console.log('File saved');
      });
  });

If I just add shipping_address.first_name in the fields list it works without problems, but if I want to put two different nested arrays in one customized field (label name Full Name), it is not working, I get back:
TypeError: Cannot read property 'first_name' of undefined
Do you know why?

Hi @PeteSSMMSS,
Which version of json2csv are you using? Based on that call I'd say that a pretty old one (3.X or earlier). I'd recommend that you update to the latest version.
Also, can you provide an example JSON and the CSV that you would expect to obtain? Just a couple of objects would be enough for me to test the issue and give you a working code example.

thanks for your quick reply! Yes its an older version, 3.9.1 - I´m using this here: https://github.com/juanjperez/ExportShopifyOrders#readme - and it was not working with the newest version of json2csv
this here would be an example json:
"shipping_address": {   "address1": "123 Amoebobacterieae St",   "address2": "",   "city": "Ottawa",   "company": null,   "country": "Canada",   "first_name": "Bob",   "last_name": "Bobsen",   "latitude": "45.41634",   "longitude": "-75.6868",   "phone": "555-625-1199",   "province": "Ontario",   "zip": "K2P0V6",   "name": "Bob Bobsen",   "country_code": "CA",   "province_code": "ON" }
--

and the csv file should be like this:
full name: shipping_address.first_name - shipping_address.last_name
Adress: shipping_address.city, shipping_address.country

Here you have a working example using the latest json2csv:
const { Parser } = require("json2csv")

const data = [{
  "shipping_address": {
     "address1": "123 Amoebobacterieae St",
     "address2": "",   "city": "Ottawa",
     "company": null,
     "country": "Canada",
     "first_name": "Bob",
     "last_name": "Bobsen",
     "latitude": "45.41634",
     "longitude": "-75.6868",
     "phone": "555-625-1199",
     "province": "Ontario",
     "zip": "K2P0V6",
     "name": "Bob Bobsen",
     "country_code": "CA",
     "province_code": "ON"
   }
}];

const opts = {
  fields: [
    {
      label: "Name",
      value: "shipping_address.first_name"
    },
    {
      label: "Full Name",
      value: (row) => `${row.shipping_address.first_name} ${row.shipping_address.first_name}`
    },
    {
      label: "Address",
      value: (row) => `${row.shipping_address.city}, ${row.shipping_address.country}`
    }
  ]
};

const parser = new Parser(opts);

const csv = parser.parse(data);

console.log(csv);

which prints out
"Name","Full Name","Address"
"Bob","Bob Bob","Ottawa, Canada"

Re-reading your issue. I'd say that the problem is that some of the data rows might be missing the shipping_address property.
You need to manually handle that when providing your own handler:
    {
      label: "Full Name",
      value: (row) => row.shipping_address ? `${row.shipping_address.first_name} ${row.shipping_address.first_name}` : undefined
    },

or instead of undefined you can provide any default that you want.

Closing since there is no response. Feel free to reopen if needed.


Remove RedisDriver and standardize NIORedisClient

Motivation:
RedisDriver was not providing enough purpose outside of being a factory, which is a feature higher level packages could provide.
Result:
A new static method for creating NIORedisClients using SocketAddress with RedisDriver no longer existing.

This includes the commit being reviewed in #24

@tanner0101 I'm going to go ahead and merge this - as I think you were happy enough with the changes as they were.
Further discussion can be had during the upcoming proposal


Error: #superclass was sent to nil

Code to reproduce it:
featureSelector := DMFeatureSelector new.
featureSelector
  stemming: true;
  filterAllDigits: true;
  filterSpecialChars: true;
  selectLastSymbol: true.

aCollectionOfPackageNames := #('AST-Core' 'Athens-Cairo').

conceptualModel := featureSelector applyFeaturesOn: aCollectionOfPackageNames.

One possible way to fix it is to treat Traits separately. You can rewrite DMFeatureSelector >> extractRootClassFrom: as
DMFeatureSelector >> extractRootClassFrom: aClass

	({ Object .


CI against Ruby 2.5.0

Hi @bkeepers, Thanks for the maintenance.
This change makes it clear that the build succeeds in Ruby 2.5. Is there any problem for merge?

Thanks @koic


Use current-buffer and point in ycmd-get-completions

Remove the buffer and pos function arguments from ycmd-get-completions since it was added for the tests. There are now new helper macros ycmd-ert-with-temp-buffer and ycmd-ert-with-resource-buffer which can be used to set up the buffer for the tests. The usage of ycmd-get-completions outside the tests was always using (current-buffer) and (point). By removing the parameters the interface gets a bit simpler.

Very nice!


Material UI 1.0.0 Tooltip fails with Typescript / Custom Server

Expected Behavior
Tooltip works.
Current Behavior
When trying to use the Material UI 1.0.0 Tooltip with Next and Typescript, and visit localhost:3000 with a browser, the following error happens in the console:
This dependency was not found:

* popper.js in ./node_modules/react-popper/lib/Popper.js

To install it, you can run: npm install --save popper.js

And the following error happens in the browser:
Error in ./Popper
Module not found: Error: [CaseSensitivePathsPlugin] `/Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/react-popper/lib/popper.js` does not match the corresponding path on disk `Popper.js`.
ModuleNotFoundError: Module not found: Error: [CaseSensitivePathsPlugin] `/Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/react-popper/lib/popper.js` does not match the corresponding path on disk `Popper.js`.
    at factoryCallback (/Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/webpack/lib/Compilation.js:276:40)
    at factory (/Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/webpack/lib/NormalModuleFactory.js:235:20)
    at applyPluginsAsyncWaterfall (/Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/webpack/lib/NormalModuleFactory.js:70:21)
    at /Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/tapable/lib/Tapable.js:265:18
    at that.fileExistsWithCase (/Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/case-sensitive-paths-webpack-plugin/index.js:156:15)
    at that.getFilenamesInDir (/Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/case-sensitive-paths-webpack-plugin/index.js:97:7)
    at fs.readdir (/Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/case-sensitive-paths-webpack-plugin/index.js:63:5)
    at /Users/trent/home/projects/Grok/tmp/issue-tooltip/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:70:14
    at process._tickCallback (internal/process/next_tick.js:112:11)

If I try yarn add popper.js, the following warning is produced and the errors above remain --
warning Pattern<EMAIL_ADDRESS>is trying to unpack in the same destination "/Users/trent/Library/Caches/Yarn/v1/npm-popper.js-1.14.3-1438f98d046acf7b4d78cd502bf418ac64d4f095" as pattern<EMAIL_ADDRESS>This could result in non-deterministic behavior, skipping.

Context
This is blocking my project.
Steps To Reproduce

git clone git@github.com:tashburn/issue-tooltip.git
cd issue-tooltip
yarn install
yarn dev
open localhost:3000 in browser

Environment
macOS (latest)
Chrome (latest)
custom server (express)
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

I don't think this issue is related to Next.js other than that you're using Next.js.
Please file issues with Material UI in their respective repository.

Total understand. I wasn't sure (and am still not sure) about which project should be addressing this issue. The material-ui project says this issue isn't theirs either.


pyccl calls for sigmaR (and possibly others) fail on integer passes

The function sigmaR takes parameters cosmo + a sphere size R. However, if it is passed an integer for R (something like 8), it simply crashes because it cannot take an integer value. Since it is feasible people will want to pass it something like linspace with integers, this might be a concern?
I suspect this may be elsewhere in pyccl wrapper work.

@philbull wrote the vectorization wrappers. I think the cleanest thing to do would be to do type casting there. What do you think, Phil?

This should now be fixed in PR #334 -- please review!

Fixed and merged.


FALCON-734. Fixed the check instance part on each run to get the status

I did submit and schedule a process. Stopped the falcon(active mq embedded mode) and then let the instances complete. No messages received from active mq. I started the falcon , and the succeeded instance got deleted from DB and the slaAlert api also returns the instances in accordance.


CMS 549: dev setup fixes

Description
Fixes to enable the project to be built locally.
CMS-549
Changes

update tools versions to nodejs 10.22.1 and ruby 2.6.10
add legacy-packages folder for packages that were previously available through npm or github but no longer exist. For these packages, the source was extracted from the current formrenderer release(dist/formrenderer.uncompressed.js). Packages are: beforeunload, require_once and iso-country-names
remove legacy-packages from bower.json.
update gruntfile to get source for legacy packages from legacy-packages folder (vs bower folder)
update karma packages and fix karma config accordingly
run buildscript to regenerate scripts (in dist folder)

Note on Known Test Failures:
When running tests locally (grunt all or grunt test) the following errors are observed:
ERROR: 'could not load TileJSON at http://a.tiles.mapbox.com/v4/adamjacobbecker.ja7plkah.json?access_token=pk.eyJ1IjoiYWRhbWphY29iYmVja2VyIiwiYSI6Im1SVEQtSm8ifQ.ZgEOSXsv9eLfGQ-9yAmtIg'
This is a known issue with the map_marker field. Referenced mapbox tileset format is no longer supported. See CMS-51
Chrome Headless 126.0.6478.183 (Mac OS 10.15.7) adding and removing rows "before all" hook for "functions properly" FAILED Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
This error occurs frequently but not 100% of the time. Anecdotal observation is that it occurs much less frequently if the map_marker field is removed from test setups. Note that the error message is pointing to a "before all" hook that just creates a new instance of a FormRenderer object (using same test data as in other test cases). But issue may be inside test (where form pages need to be navigated).

legacy packages was created because the script build relied on packages that no longer exist in npm or github.
So I extracted corresponding code from the previously released script and I put in in the repo in legacy packages


ordering accounts by amount uses alphabetic, not numeric, order

if you have multiple accounts with different amount in them, you go to the Accounts window and order them by amount (e.g. to see where you can spend a certain amount from), they will be ordered alphabetically, not numerically. example:
1.5 XMR
10 XMR
2 XMR
4 XMR

Thanks, fixed in f8a3df148906727dd92cb5f4386f3e864a72e64b


[GPT-645] Handling data-provider compilation within template

As per discussed on https://github.com/opentable/oc/issues/439L:

template expose a compileServer() method that will be used instead of package-server-script/bundle

Merged data-provider compilation in the UNIFIED compiler API, final work for this is being done there


Proper documentation

Putting documentation in the README is not sustainable as the project grows. A better solution needs to be found and automatically deployed as new features are implemented.

Add more examples at the same time


Use package manager version of Post Processing

Then you won't need to say the following in the README:

To view the project in Unity, import it and download the Postprocessing stack from the Asset Store. Alternatively, you can remove the Post Processing Behaviour from the Main Camera.

It won't clog up the repo (just a reference will be stored in package.json) but Unity will install it automatically as needed.

Thank you, I didn't know that. I'll do as you suggested soon.

I'll send a PR if I get a chance.

Thank you for the PR!


Warning when building for production

There a few warning when perform a production build:
'Observable' is imported from external module 'rxjs' but never used
'FormGroup' is imported from external module '@angular/forms' but never used

These are most likely coming from projects/storefrontlib/src/lib/checkout/components/payment-method/billing-address-form/billing-address-form.component.ts
We have two properties in the component:
  @Input()
  billingAddress: FormGroup;
  @Input()
  countries$: Observable<Country[]>;

In the generated dist/storefrontlib/esm2015/lib/checkout/components/payment-method/billing-address-form/billing-address-form.component.js file we end up with imports that are not used.

It seems to be related to this bug in angular.
https://github.com/angular/angular/issues/21280

The warnings are probably related to the known issue here angular/angular#21280 closing the issue.


Feature/win adapt 5

more changes for the windows adaptation;
wrapping the makedirs function calls and making the Wgit work.

not relevant


Batch, requests not cleared

Can't be bothered to jump through Google legalese to get my pull request in, so fix it yourselves !
$this->requests never gets cleared after exec(). Therefore multiple calls to the same instance of the HTTP batch class yield repeated results for the same requests !

Try $this->commit() at the end of the exec() to stop batching.


Add to Stackage

All useful packages and their dependencies should be on Stackage - http://www.stackage.org/. Somewhat of a requirement for HLint to use Refact, since HLint is in Stackage.

https://github.com/fpco/stackage/pull/711


Escape special characters in passwords

We had problems with PostgreSQL and passwords containing special characters. At least for us this small fix enabled us to backup our Strapi data.

@thomas-leidinger Thank you for this contribution !


Allow a relationship to be optional

I have a model that has an optional property. To take an example from the unit tests, imagine a book with an optional forward.
#[derive(Debug, PartialEq, Serialize, Deserialize)]
struct Book {
    id: String,
    title: String,
    forward: Option<Chapter>,
    first_chapter: Chapter,
    chapters: Vec<Chapter>
}
jsonapi_model!(Book; "books"; has one forward, first_chapter; has many chapters);

Not every book, has a forward but some do. I would like for the library to support this. Today we get:
error[E0277]: the trait bound `std::option::Option<Chapter>: jsonapi::model::JsonApiModel` is not satisfied
  --> tests/model_test.rs:28:1
   |
28 | jsonapi_model!(Book; "books"; has one forward, first_chapter; has many chapters);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `jsonapi::model::JsonApiModel` is not implemented for `std::option::Option<Chapter>`
   |
   = note: required by `build_has_one`
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

So a few questions:

I'm thinking it should follow a pattern similar the crate::array and add a crate::optional
Do we want a different syntax than has one for optionals?

I have a model that has an optional property. To take an example from the unit tests, imagine a book with an optional forward.
#[derive(Debug, PartialEq, Serialize, Deserialize)]
struct Book {
    id: String,
    title: String,
    forward: Option<Chapter>,
    first_chapter: Chapter,
    chapters: Vec<Chapter>
}
jsonapi_model!(Book; "books"; has one forward, first_chapter; has many chapters);

Not every book, has a forward but some do. I would like for the library to support this. Today we get:
error[E0277]: the trait bound `std::option::Option<Chapter>: jsonapi::model::JsonApiModel` is not satisfied
  --> tests/model_test.rs:28:1
   |
28 | jsonapi_model!(Book; "books"; has one forward, first_chapter; has many chapters);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `jsonapi::model::JsonApiModel` is not implemented for `std::option::Option<Chapter>`
   |
   = note: required by `build_has_one`
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

So a few questions:

I'm thinking it should follow a pattern similar the crate::array and add a crate::optional
Do we want a different syntax than has one for optionals?


kiagnose, checkup: Embed Kiagnose (as cose) in the vm-latency checkup

The execution of a checkup, included two steps:

Executing the Kiagnose Job (by the user).
Executing the Checkup Job (by the Kiagnose application).

The vm-latency checkup is changed now to use Kiagnose as an external
library and to execute in a one step.
The logic that existed in the Kiagnose application is now imported
and used directly in the checkup.
With this change, the user is expected to execute the checkup Job
directly.
The checkup is now directly accessing the user-faced ConfigMap and the
usage of the internal ConfigMap is dropped.
The following main changes included in this PR:

Expose kiagnose module packages in order to allow external checkups to use them.
Modify the kubevirt-vm-latency checkup to use the kiagnose module packaged and operate as one application.
Update the automation and CI scripts/configuration to successfully test the modified checkup.
Update the documentation to reflect the new operation flow.

NOTE: The current documented diagram is removed for now, until an updated one is introduced.

change: Rebase

change: Dropped 3 config fields:
CheckupUID
ResultsConfigMapName
ResultsConfigMapNamespace

checkup: Drop UpdateConfigMap.

IMO the following items should be done in order to conclude this PR:
1. PR description.

2. An update to the checkup's README file to reflect the new API and way of triggering it.

3. Removal of the checkup's manifests directory which is now outdated.

Done
Now that the echo checkup is gone, I think one more commit can remove all the leftovers from the kiagnose module.

change: Added two commits, one removing the dev manifest and another updating the README.

change: Rebase over the echo checkup removal.

change: Cleanup the kiagnose module

Please consider also removing docs/checkup_api.md, it depicts an API that doesn't exist anymore.

Done

changes: Resolved review comments.


hwameistor can't provide PV

I use 0.3.29 dce-installer to install DCE 5.0, when mysql-operator needs persistent volumes. hwameistor can't provide PV.
scheduler logs：

@cqmmm Thanks for your feedback.
This is a known issue, https://github.com/hwameistor/hwameistor/pull/520 is solution.


New addresses

Can you add ETH and some other currencies to be supported? Or, merge this https://github.com/ForQuest/wallet-address-validator ?

@inlinecoder Yes, I am actually working on it + some clean up and refactor of the whole module. ETH and other ethereum "variants" will be available within a day or two.

@ognus thanks for the update! Glad to hear that.

New version released: 0.1.3, it has ETH and it's forks coins as well as DigiByte.


Log result of httpGetHostname BEFORE closing the connection

HttpClose frees the memory of con->http. This is problematic because httpGetHostname then tries to access the memory it points to.
We have to log first.

@michaelrsweet I should have sent this privately instead of making it public since this is a security issue that goes back years. Depending on its severity we may have to ship this patch as soon as possible.

I sent Apple a security report just in case.


No button is working

I have deployed the application but seems to be no button is working settings,profile,save

yes. for me too . application UI is up . but No button was working


ObjectMapperJsonSerializer should inspect the inner Collection element type

This way, the ObjectMapperJsonSerializer can deal with collections of elements that do not implement the Serializable Java interface.

Applied upstream, thanks


Add a Prisma Ignore file to ignore certain tables

Problem
In our project we have temporary tables for daily logs before they're offloaded to file storage at the end of the day. Right now, when we do prisma db pull, it pulls those tables into the prisma schema as well even though we don't really care about those tables in code. These tables are created and dropped at the beginning and end of each day.
Suggested solution
We could have a .prismaignore or something file where we can specify a list of relations/items to be ignored when introspecting (and maybe migrating etc too? I haven't tried using prisma migrate so I'm not sure). All of our these types of tables have a consistent naming scheme where it's - format so we can use regex to distinguish those tables.
Alternatives
I think this is a pretty clean solution tbh, I can't think of any other solutions off the top of my head.
Additional context
N/A

Related: https://github.com/prisma/prisma/issues/807 + https://github.com/prisma/prisma/issues/8864
Your title refers to "relations" - do you mean tables or Prisma relations(hips)?

@janpio I mean tables, sorry

I am not trying to make you use the workarounds in these issues, but suggest that maybe the actual feature request in there is identical or similar to yours. I totally understand that the workarounds mentioned there have limitations and can only potentially be temporarily used until this feature is implemented proper.
If these issues do describe your problem, it might be better for you to leave a 👍 there and write a comment with your specific use case (which indeed is different with the daily created tables and has not been mentioned before!) and clsoe this one.

@janpio No absolutely, I know. I was just thinking out loud (well, over text) that the workarounds might indeed be useful, I did not mean it in a way to imply you were forcing me to use it that way. Apologies if it came across that way.
And thanks, I will do that.

All good, just wanted to make sure you heard what I said and it seems oyu did 👍 Thanks.


Tree rebuilding problem

When setting the position higher, the remaining elements are shifted out of position order

How to make the rebuild work correctly?
Insert new element
$this->tree->reBuildPosition($insert_id, (int)$data['bra_pos'], $parent);             $this->tree->rebuild();
Update element:
$this->tree->reBuildPosition($id, (int)$data['bra_pos'], $parent);         $this->tree->rebuild();

public function reBuildPosition(int $id, int $pos, int $parent): void     {         $getParents = $this->pdo->table($this->tableName)->             where($this->parentIdColumnName . '= ? AND '. $this->positionColumnName . '>= ? AND '. $this->idColumnName . '!= ?', [$parent, $pos, $id])->getAll();         if($getParents)         {             $i = $pos+1;             foreach ($getParents as $item)             {                 $this->pdo->table($this->tableName)->where($this->idColumnName, $item->{$this->idColumnName})->                 update([$this->positionColumnName => $i]);                 $i++;             }         }     }
I have already added this class method myself. Taking as a basis the work of the class (when rebuilding the tree, an array of data is obtained based on the position of the element).

Your method uses data based on element position: getTreeWithChildren.
After receiving the data, you are rebuilding the tree based on the array obtained by this method.

The position number is based on the same level only. That means if you have 1.1 that is under parent Root 1, its position must be always start from 1.
I have added the sample code of management that is included Create/Read/Update/Delete.
I've tested and everything work as expect but please read the note about manually process position number.

Thank you. But I will have to do all the same automatic change of positions within the same level.

I found the problem. When getting an array for position renumbering, I forgot to do the sorting. Added and everything worked as it should. So you can add this method to the class to automatically rebuild the position within the same level.

`
public function reBuildPosition(int $id, int $pos, int $parent): void
{
$getParents = $this->pdo->table($this->tableName)->
where($this->parentIdColumnName . '= ? AND '. $this->positionColumnName . '>= ? AND '. $this->idColumnName . '!= ?', [$parent, $pos, $id])
->orderBy($this->positionColumnName)->getAll();
if($getParents)
{
$i = $pos+1;
foreach ($getParents as $item)
{
$this->pdo->table($this->tableName)->where($this->idColumnName, $item->{$this->idColumnName})->
update([$this->positionColumnName => $i]);
$i++;
}
}
}
`

Thank you for your participation but I couldn't use that code because some reasons.

That code is based on something like ORM or maybe query builder that pdo property isn't native PHP's \PDO class.
There are a lot of ways to re-order position and some JS use or send data differently. So, it is not easy to handle these data and rebuild all the position number when re-order position. Unlike rebuild level, left, right that no one should manually update them and just let this class update the data because they need special algorithm to calculate.

I've tried to create that before but in the end, it will not work if some JS send weird data and it looks like the position can be update in many ways.
Thanks again.


The unit testing for cleanupOnDestroy is dependent on the speed of the unit testing

As I was working on a PR (#100), I encountered an issue with cleanupOnDestroy's unit testing. It appears that it currently depends on how long your unit testing actually takes. I temporarily solved this issue by bumping the timeout to 3 in my PR so that I could verify data from the rest of my unit testing.
Reproduction steps:

Add more unit tests so that the rest of your unit tests after testing cleanupOnDestroy takes >2 (or timeout) seconds
The unit tests for cleanupOnDestroy that started >2 (or timeout) seconds before all unit tests completed will not pass.

For various reasons I'm not sure if this issue is actually worth tackling (new test suite, etc), and until then we could just keep bumping the timeout's as necessary, but I figured I'd make an issue for this so that you all could determine whether or not that was the case.
When doing this, TestEZ will throw this error:
TestService: ReplicatedStorage.FusionTest.Utility.cleanupOnDestroy.spec:74: Instance was held in memory for too long
ReplicatedStorage.FusionTest.Utility.cleanupOnDestroy.spec:74
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:86
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:84 function runCallback
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:116 function runNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:153 function runPlanNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:164 function runPlanNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:164 function runPlanNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:164 function runPlanNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:45 function runPlan
StarterPlayer.StarterPlayerScripts.TestEZ.TestBootstrap:127 function run
Players.Scarious.PlayerScripts.Run:12

Thanks for pointing this out - it's really difficult to test anything that depends on the garbage collector. This will probably always be a probabilistic test, unfortunately :(
Open to ideas on how to solve this.

The test file already includes a waitForDefer function implementation. Can this be used to wait until the main work has finished, and only then start the timeout?

The test file already includes a waitForDefer function implementation. Can this be used to wait until the main work has finished, and only then start the timeout?

Tried this and, unfortunately, it didn't work. This tells me one of two things:

the problem has been correctly identified and waitForDefer isn't a solution here (or isn't functioning as intended)
this problem hasn't been correctly identified

I'm leaning more towards the latter. Regardless, it seems odd that bumping the timeout to 3 (from 2) solves the issues; and there is definitely a bug here. As for what it is... I'm not quite sure yet.

Noticed you added some tags to this. Just thought I'd give a little heads up that before diving into this bug and trying to figure it out I'm waiting for the new New function. Since the GC issues could also be due to the current implementation of New.
Not sure, once I start looking into this I'll post another update.

The new tests for onDestroy are suffering the same problem, failing with the default 5 seconds - raising to 20 works, although the unit tests are then very long..

Also, there's still one failing then, which is that onDestroy never ran..

Test result output

Test results:
[-] FusionTest
   [+] Animation
      [+] springCoefficients
         [+] should return reasonable critically damped values
         [+] should return reasonable overdamped values
         [+] should return reasonable underdamped values
         [+] should return the identity matrix for zero speed
         [+] should return the identity matrix for zero time
   [+] Dependencies
      [+] captureDependencies
         [+] should correctly contain and resolve errors
         [+] should pass arguments to the callback
         [+] should return values from the callback
         [+] should set a dependency set contextually
      [+] useDependency
         [+] should add to a dependency set contextually
         [+] should do nothing when no dependency set exists
   [-] Instances
      [+] applyInstanceProps
         [+] should assign Parent (constant)
         [+] should assign Parent (state)
         [+] should assign properties (constant)
         [+] should assign properties (state)
         [+] should defer Parent changes
         [+] should defer property changes
         [+] should not inhibit garbage collection
         [+] should throw for invalid Parent types (constant)
         [+] should throw for invalid Parent types (state)
         [+] should throw for invalid property types (constant)
         [+] should throw for invalid property types (state)
         [+] should throw for non-existent properties (constant)
         [+] should throw for non-existent properties (state)
         [+] should throw for unrecognised keys in the property table
      [+] Children
         [+] should allow for State children to be nil
         [+] should assign multiple children to instances
         [+] should assign single children to instances
         [+] should bind State objects passed as children
         [+] should defer updates to State children
         [+] should flatten children to be assigned
         [+] should not inhibit garbage collection
         [+] should recursively bind State children
      [+] isAccessible
         [+] should not recognise instances directly in nil
         [+] should not recognise instances indirectly in nil
         [+] should recognise instances in game
         [+] should recognise instances in script
      [+] New
         [+] should apply 'sensible default' properties
         [+] should create a new instance
         [+] should not inhibit garbage collection
         [+] should throw for non-existent class types
      [+] OnChange
         [+] should connect property change handlers
         [+] should not inhibit garbage collection
         [+] should pass the new value to the handler
         [+] should throw when connecting to non-existent property changes
         [+] shouldn't fire property changes during initialisation
      [-] onDestroy
         [+] should forward arguments to the callback
         [+] should not run if the instance is still accessible
         [+] should run on explicit :Destroy()
         [-] should run on garbage collect
      [+] OnEvent
         [+] should connect event handlers
         [+] should not inhibit garbage collection
         [+] should throw for non-event event handlers
         [+] should throw for non-existent events
         [+] shouldn't fire events during initialisation
      [+] Ref
         [+] should not inhibit garbage collection
         [+] should set State objects passed as [Ref]
      [+] semiWeakRef
         [+] should be strong when the instance is accessible
         [+] should be weak when the instance is not accessible
         [+] should return a correct reference
         [+] should switch between strong and weak dynamically
   [+] should error when accessing non-existent APIs
   [+] should load with the correct public APIs
   [+] State
      [+] Computed
         [+] should calculate and retrieve its value
         [+] should construct a Computed object
         [+] should garbage-collect unused objects
         [+] should not corrupt dependencies after an error
         [+] should not garbage-collect objects in use
         [+] should recalculate its value in response to Computed objects
         [+] should recalculate its value in response to State objects
      [+] Observer
         [+] should fire connections on change
         [+] should fire connections only after the value changes
         [+] should fire connections only once after the value changes
      [+] Value
         [+] should be able to store arbitrary values
         [+] should construct a Value object
   [+] Utility
      [+] restrictRead
         [+] should error for missing members
         [+] should not error for present members
         [+] should preserve metatables
77 passed, 1 failed, 0 skipped
1 test nodes reported failures.
Errors reported by tests:

TestService: ReplicatedStorage.FusionTest.Instances.onDestroy.spec:31: Expected value "true" (boolean), got "false" (boolean) instead
StarterPlayer.StarterPlayerScripts.TestEZ.Expectation:47 function assertLevel
StarterPlayer.StarterPlayerScripts.TestEZ.Expectation:228 function equal
StarterPlayer.StarterPlayerScripts.TestEZ.Expectation:59
ReplicatedStorage.FusionTest.Instances.onDestroy.spec:31
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:86
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:84 function runCallback
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:116 function runNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:153 function runPlanNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:164 function runPlanNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:164 function runPlanNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:164 function runPlanNode
StarterPlayer.StarterPlayerScripts.TestEZ.TestRunner:45 function runPlan
StarterPlayer.StarterPlayerScripts.TestEZ.TestBootstrap:127 function run

Not really sure what to do about this. It makes sense that GC is dependent on the speed of the unit tests since iirc it waits for there to be nothing else happening, and since we're running unit testing there's always something happening until they get finished.
Could be wrong since I can't fully remember how GC works, but that's what comes to mind. Outside of creating a custom testing framework I'm not sure there's much we can do about this.

This is the most fantastic game of 'it works on my machine' I think I'm going to play all year haha

For now we do know that toDestroy works, but we're definitely going to have to either come up with some much more rigorous way to force/wait for garbage collection, or just drop the tests.

Did you mean onDestroy here? If so, that does not work in my testing. See above, it never gets executed and therefore fails its own test.

Did you mean onDestroy here? If so, that does not work in my testing. See above, it never gets executed and therefore fails its own test.

Yup - made a typo. Also, it works on my machine, so ¯_(ツ)_/¯

This is likely a defective test, not a defective feature.

Was fixed in #146


[microTVM] Add support for AutoTVM

This PR fixes broken auto tune for microTVM targets using project api.
cc @areusch

cc @tkonolige for review.

@tkonolige thanks for you review! I think I answered most comments, the only thing left is the global RPC_SESSION that I have to figure out. PTAL.
Thanks!

@leandron thanks for the review. I think I addressed your concerns. PTAL.

@leandron Thanks for the review. Does this need a rebase?

@leandron Thanks for the review. Does this need a rebase?

I think it needs at least a force-push to re-trigger CI.


Tamil Yogi not pulling menu

Hello Friend,
Looks like get_menu() - re.findall() is broken (may be regex string) - please look into it.. not pulling the menu. Only Search is retrieved not the menus.
Platform: Android
Media Center: Kodi 17.6

Nothing wrong with regex
Tamil Yogi have enabled Cloudflare DDOS protection, will have to recode the site access.

Thanks for the update.. kindly look into it..

Fixed in DD1.6.3


must be Hash(String, Int32 | String), not Hash(String, Int32)

Hello world !
In the following code:
class A
  alias Special = Int32 | String

  @a : Hash(String, Special)
  @b : Hash(String, Special)

  def initialize(k : String, v : Special)
    @a = { k => v, k => v.to_s }
    @b = { k => v }
  end

end

A.new("toto", 1)

I've an error on @b = { k => v } because
must be Hash(String, Int32 | String), not Hash(String, Int32)

https://play.crystal-lang.org/#/r/ybs
Do I have to use
    @b = { k => v } of String => Special

or is there a better way to avoid these kind of redondance ?

The compiler infer's the hash type only from the keys and values you put in it. If you need it to be of another type use of:
class A
  alias Special = Int32 | String

  @a : Hash(String, Special)
  @b : Hash(String, Special)

  def initialize(k : String, v : Special)
    @a = {k => v, k => v.to_s} of String => Special
    @b = {k => v} of String => Special
  end
end

A.new("toto", 1)

In play: https://play.crystal-lang.org/#/r/ydy

You can also use an alias, if that hash type is going to be used a lot in your code, together with the custom hash literal:
class A
  alias Special = Int32 | String
  alias SpecialHash = Hash(String, Special)

  @a : SpecialHash
  @b : SpecialHash

  def initialize(k : String, v : Special)
    @a = SpecialHash{k => v, k => v.to_s}
    @b = SpecialHash{k => v}
  end
end

A.new("toto", 1)

See also: http://crystal-lang.org/docs/syntax_and_semantics/literals/hash.html

yeah thanks I didn't saw the "Hash-like types" part :)

Can the documentation for Hash-like types be updated?  I wasn't able to deduce how to do it from the docs:  Fore example : https://play.crystal-lang.org/#/r/1stg

Sorry to comment on closed issue, but the syntax SpecialHash{k => v} works only for non-empty hashes. SpecialHash{} throws compile error and must be replaced with {} of Hash(String, Special). Which is (imho) ugly and I would very much like to use SpecialHash if I have it already defined :/

@daliborfilus You can also just do SpecialHash.new.

@Blacksmoke16 Ah, right. Thanks.


N3iwf for Raspberry pi

hi i seen rpi configuration file in this project.
are you tested n3iwf in raspi board?

Hi,
Not on this project. We have tested MPTCP in Raspberry Pi, not connectivity via N3IWF.

Thankyou @jorgenavarroortiz

do you have any idea how to connect wifi6 device to n3iwf to connect commercial UE


Makefile: improve 'make style' reporting

Add a help target to a Makefile that will allow all targets to be self documenting.
Docker Build/Push/Run
PEP 440 -- Version Identification and Dependency Specification/Version scheme.
PEP 405 -- Python Virtual Environments.

Done

Wrongly closed.

Done so far in v0.2.1:

Docker build: target docker-build created (push not necessary right now since the library distribution will be done by pip)
PEP 440: Version 0.2.1 uses poetry to do the version release control. (is that enough to mark this one as done?) [?]
PEP 405: Full management of virtualenv performed by poetry and working fine

The help target is yet to be done but I am not sure how to accomplish. I do require more input on this.


Web configuration does not accept "0" as input for custom parameters

I was trying to configure https://github.com/mhaack/mqtt-bme280-homie with the web frontend at http://setup.homie-esp8266.marvinroger.fr/
On the last page the web frontend showed me the two custom parameter defined for https://github.com/mhaack/mqtt-bme280-homie:
sensorInterval 	long
temperatureOffset 	double
The following problems occured:

The "next" button of the web frontend stayed disabled when I entered 0 or 0.0 for temperatureOffset.
When I entered 1 for the temperature offset, "next" was enabled, I could send the configuration, but it was rejected, because 1 was not a float value. 1.0 was accepted.
In order get a "close to" zero offset for the temperature, I had to enter 0.01 instead.

I ran across that problem too. Entering 0 for a custom setting does not enable the next button.

For the second problem, please update ArduinoJson to 5.10.0. I'll fix the first issue!

Fixed in https://github.com/marvinroger/homie-esp8266-setup/commit/c8f325e0e13a1fed49175cf9cbbf9410984f5b56
Feel free to reopen if you still have the problem.


Update govspeak syntax for images

Trello card
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
Follow these steps if you are doing a Rails upgrade.
New syntax in Bootstrap design:

New syntax in the new Design System:

Looks good, we'll need to update the govspeak help too https://github.com/alphagov/whitehall/blob/main/app/views/admin/editions/_govspeak_help.html.erb#L92-L95

Good point @dnkrj Have added it now

Looks great, one small comment - it'll be good to get @johnpauldickie's thoughts on the implementation / visuals

I just thought of a question - what happens when we have two images with the same filename?

I just thought of a question - what happens when we have two images with the same filename?

I can confirm that will be a problem. The carrierwave_image field only stores a (normalised) version of the original filename and will have conflicts.
I imagine we probably need to create a new field on the image table that represents the key for embedding.

Superseded by #7589


Error trying to run echo.py

I've been trying to run echo.py and i got this error:

Does anyone know what's going on?

I did the pip install once again and it's all good with it. Was running it last week but now it won't go

Pip is always a little bit behind the offical repo, try to download it from here and install it as mentioned in README.md - note that it might be easier to use a Docker Image if yxou run it on windows.
Finally, you may have a started the "echo.py" file from the false directory so it was not able to find the webwhatsap class


npm install --only=dev doesn't work, while npm ci and npm install do

Everything is okay when i use plain npm install or npm ci, but now I want to install just devDeps in some jobs on CI and try running the command npm install --only=dev as non-root user (as usual), but get the error locally and on CI:

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node scripts/install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/vadim/.npm/_logs/2020-08-16T08_43_54_641Z-debug.log

The content of /home/vadim/.npm/_logs/2020-08-16T08_43_54_641Z-debug.log:

36150 verbose stack Error<EMAIL_ADDRESS>install: node scripts/install.js
36150 verbose stack Exit status 1
36150 verbose stack     at EventEmitter. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
36150 verbose stack     at EventEmitter.emit (events.js:315:20)
36150 verbose stack     at ChildProcess. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
36150 verbose stack     at ChildProcess.emit (events.js:315:20)
36150 verbose stack     at maybeClose (internal/child_process.js:1021:16)
36150 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
36151 verbose pkgid<EMAIL_ADDRESS>36152 verbose cwd /home/vadim/SMENA/site-frontend
36153 verbose Linux 5.4.0-42-generic
36154 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "--only=dev"
36155 verbose node v12.18.2
36156 verbose npm  v6.14.7
36157 error code ELIFECYCLE
36158 error errno 1
36159 error<EMAIL_ADDRESS>install: node scripts/install.js
36159 error Exit status 1
36160 error Failed at the<EMAIL_ADDRESS>install script.
36160 error This is probably not a problem with npm. There is likely additional logging output above.
36161 verbose exit [ 1, true ]

What can be the reason of that?

NPM version (npm -v): 6.14.7
Node version (node -v): v12.18.2
Node Process (node -p process.versions):

{
  node: '12.18.2',
  v8: '7.8.279.23-node.39',
  uv: '1.38.0',
  zlib: '1.2.11',
  brotli: '1.0.7',
  ares: '1.16.0',
  modules: '72',
  nghttp2: '1.41.0',
  napi: '6',
  llhttp: '2.0.4',
  http_parser: '2.9.3',
  openssl: '1.1.1g',
  cldr: '37.0',
  icu: '67.1',
  tz: '2019c',
  unicode: '13.0'
}

Node Platform (node -p process.platform): linux
Node architecture (node -p process.arch): x64
node-sass version (node -p "require('node-sass').info"):

node-sass       4.14.1  (Wrapper)       [JavaScript]
libsass         3.5.5   (Sass Compiler) [C/C++]

npm node-sass versions (npm ls node-sass<EMAIL_ADDRESS>

hello!

I have the same issue when using npm install --save-dev

The error given below:
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/linux-x64-88_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.14.1/linux-x64-88_binding.node":
HTTP error 404 Not Found
When looking on github there is no linux-x64-88_binding.node under v4.14.1
npm -v = 6.14.9
node -v = 15.2.1


Some things unclear in SSO docs

Create your AAD application in Azure
It is not clear whether access_as_user scope is a requirement or just an example. My AD app has a scope user_impersonation already created automatically, can I use it instead?
It is not clear whether "Who can consent" is required to be "Admins and users" or if it is an example. In my case the app is always installed with admin consent.
It is not clear whether the API Permissions are required or an example.
Get an authentication token from your client-side code
It is not clear what type of token the getAuthToken function returns. Seems to be a id token. It is also not clear how it should be used with adal.js, if it is possible at all.
The code below will fail to extract a user from the id token because aud is a resource url and it expects the guid specified in authContext.config.clientId.
var hash = '#id_token=' + token + '&state=' + authContext._renewStates[0];
var requestInfo = authContext.getRequestInfo(hash);
authContext.saveTokenFromHash(requestInfo);

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

ID: 52221dd3-95ec-96b9-1da8-9478527c2602
Version Independent ID: 32e9c2d8-733d-0865-2ea3-727d8684a10d
Content: Single Sign-On - Teams
Content Source: msteams-platform/tabs/how-to/authentication/auth-aad-sso.md
Product: msteams
GitHub Login: @laujan
Microsoft Alias: lajanuar

@gabbsmo , Could you please take a look at demo code and try it out once?
https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/how-to/authentication/auth-aad-sso#demo-code

@Subhasish-msft I did look at the demo code. I find that sso.auth.service defines a function getToken that gets a token using Teams SSO. I have done that successfully. What I cannot find in the example is what to do with the token to login to my adal app.
My Teams tab is just a very small page that is supposed to login the current user using adal and the redirect to another web page that is also using adal. The other web page is a SPA that is accessible from the internet and is not bundled in my Teams app, but since both use the same app id the token I get from the Teams app should be reusable.

@gabbsmo ,

No, it should be called access_as_user. In the Teams clients that use the v2.0 endpoint, the request for a token specifies scopes, so it will fail if the app doesn't have the access_as_user scope.

If the app is always installed with the admin preconsenting to the necessary permissions, then no, the setting doesn't matter.

"openid" is required

getAuthToken returns a user-delegated access token to your apps's resource

appid/azp = the Teams client (one of the 2 app ids that were registered as known client apps)
sub (and related claims) refer to the user logged in to Teams
aud = your application
See https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens#claims-in-access-tokens


[WIP] Stream IF for unicore and multicore I/O

This branch has been merged into: https://github.com/black-parrot/black-parrot/pull/893
New updates should be merged into and reconciled with that branch.

got it, I'll close this then


Adding local hook .pre-commit-config.yaml to run pylint

Closes #182

Wasn't quite as simple as I'd hoped, have to disable the local hook for pylint under pre-commit.ci since it uses cached environments (i.e. the hook provided by PyCQA for pylint) which will always fail since it doesn't include all the packages Clarity depends on.
I've therefore moved running pylint to the GitHub Action .github/workflows/run_test.yaml where it will run (after we've fixed the broken tests!).


Hard-coded page sizes

On 64-bit POWER platforms, a page is 64 KB in size (at least on Linux by default). Similarly, Asahi Linux uses a 16 KB page size.
Currently, a page size of 4k is hard-coded in the block trampolines and block_to_imp.c. In alloc_trampolines we set PROT_EXEC for rx_buffer, but this assumes that rx_buffer points to the beginning of a 4k page.
There is one proper solution, and one duck tape fix:

Determine page size on runtime. Requires restructuring of block_to_imp.c as struct fields are determined based on PAGE_SIZE.
Determine page size during configuration

Note that this is an issue when targeting Android with 16k pages: https://developer.android.com/guide/practices/page-sizes

Check for code instances that reference specific page sizes
Even if your app is 16 KB-aligned, your app can encounter errors if places in your code assume that a device is using a specific page size. To avoid this, complete the following steps:
Remove any hard-coded dependencies that reference the [PAGE_SIZE]
(https://cs.android.com/android/platform/superproject/main/+/main:bionic/libc/include/bits/page_size.h;l=34-39) constant or instances in your code logic that assume that a device's page size is 4 KB (4096).
Use getpagesize() or sysconf(_SC_PAGESIZE) instead.
Look for usages of mmap() and other APIs that require page-aligned arguments and replace with alternatives where necessary.
In some cases, if your app uses PAGE_SIZE as a convenient value that isn't tied to the underlying page size, then this won't cause your app to break when used in 16 KB mode. However, if this value is passed to the kernel with mmap without MAP_FIXED, the kernel still uses an entire page, which wastes some memory. For these reasons, PAGE_SIZE is undefined when 16 KB mode is enabled on NDK r27 and higher.
If your app uses PAGE_SIZE in this way and never directly passes this value to the kernel, then instead of using PAGE_SIZE, create a new variable with a new name to reflect that it is used for other purposes and does not reflect a real memory page.


Remove hardcoded path from environment files

@gnarayan I don't know exactly to which extent it can affect the user environment but I found these two hardcoded paths referring to your personal computer in the environment files.
https://github.com/LSSTDESC/plasticc-kit/blob/a862c2d90c86eafffeabdc1a6bec207f680a537e/conda_env_py36_i686.yml#L148
https://github.com/LSSTDESC/plasticc-kit/blob/a862c2d90c86eafffeabdc1a6bec207f680a537e/conda_env_py36_osx64.yml#L144
Best is to remove them.

These make no difference to conda when creating environments from the yml file --- it ignores prefix. Folks should use the requirements.txt in general - the conda env yml files are only included if there's some need to check against the exact environment I had.

Removed together with astropy update - thanks


fix: tags dialogue initial load fix

Fixes issue with All Tags dialogue loading empty
Fixes error seeing when empty dialogue closed

Closes #641

@laurelnaiad PR in for #641

I just realized that this also closes #644

Please see https://github.com/marklogic/marklogic-samplestack/issues/641
This was the result of a rebase that overwrite a more recent version. I copied what should be the correct code into that issue.

merged


Fix deadlock when deleting team user

models.getUserRepoPermission(...) calls HasOrgVisible which
uses models.x potentially outside of the transaction e provided
as an argument to getUserRepoPermission.
This PR switches to use hasOrgVisible(e, ...).

The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master   #13092      +/-   ##
==========================================
- Coverage   42.61%   42.61%   -0.01%
==========================================
  Files         673      673
  Lines       73862    73862
==========================================
- Hits        31479    31476       -3
- Misses      37276    37277       +1
- Partials     5107     5109       +2

Impacted Files
Coverage Δ

models/repo_permission.go
77.77% <100.00%> (ø)

modules/git/repo.go
46.70% <0.00%> (-1.02%)
:arrow_down:

models/gpg_key.go
53.33% <0.00%> (-0.58%)
:arrow_down:

services/pull/pull.go
40.78% <0.00%> (-0.50%)
:arrow_down:

modules/log/event.go
60.84% <0.00%> (+0.94%)
:arrow_up:

modules/queue/unique_queue_disk_channel.go
55.38% <0.00%> (+1.53%)
:arrow_up:

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 d65cd56...710ace1. Read the comment docs.


(PUP-10653) Remove dependency on win32/dir

For Puppet 7 we are dropping the win32/dir dependency as we only used
constants from it, which we replaced with environment variables (see:
https://github.com/puppetlabs/puppet/pull/8314).
This would become breaking in bolt when it switches to Puppet 7 and the
win32 gems are no longer pulled.
For AIO bolt, the Puppet change won't break anything since bolt uses its
own runtime which still packages the win32 gems, but it would still be
an improvement in speed if the dependency is dropped.
The win32/dir gem also monkey patches some Dir methods, most notably
glob and pwd to use backslashes which end up causing more trouble as
Ruby uses / as the default separator for Windows.
Switch to using the ALLUSERSPROFILE environment variable instead of
the Dir::COMMON_APPDATA constant, and remove a Dir.pwd workaround.

Hmm, I guess win32/dir is still being loaded through puppet, so I'll leave the Dir.pwd as is for now.

CLA signed by all contributors.

This looks great @GabrielNagy ! Since we're pinned to Puppet versions, I'm just gonna give this a Puppet 7 label and we'll merge it when we update.

Ah cool @lucywyman. I'll remove this Dir.pwd workaround here then to avoid confusion: https://github.com/puppetlabs/bolt/blob/4742cf14e9a9841bb2a994bfc9e6ca9b92437365/lib/bolt/cli.rb#L794
Just a heads up that PR testing will fail until puppet 7, as puppet 6 still loads win32/dir even if not explicitly required in bolt. Just ping me whenever and I'll rebase the PR 😄.

@lucywyman fwiw this can be merged anytime as it's a backwards-compatible replacement. We did the same for the stdlib module and p-e-m.

Oh awesome - sorry, I didn't realize that!


Select indirect BGEMM kernels - Benchmarking grouped binary convolutions

Given the commits #549, #550, #551 LCE supportes grouped binary convolutions. this is great work as the standard TFLite still does not support the groups argument for inference: https://github.com/tensorflow/tensorflow/issues/40044
I've successfully created models with appropriate channel dimensions, in which the grouped binary convolutions are correctly identified by the LCE Converter.
How can I benchmark this with the lce_benchmark_model binary ? In other words how can we select the indirect_bgemm kernels, as the regular bgemm kernels don't support grouped convolution ?
Additionally there is a flag use_reference_bconv in the LCE Interpreter, but I do not know what this actually means.
Assuming if it is set to True the binary bgemm kernels from https://github.com/larq/compute-engine/tree/main/larq_compute_engine/core/bgemm are selected, otherwise the indirect_bgemm from https://github.com/larq/compute-engine/tree/main/larq_compute_engine/core/indirect_bgemm.
Update: the assumption is not correct, as use_reference_bconv is False by default. so use_reference_bconv is explained differently.

We currently don't have a CLI flag in lce_benchmark_model to choose between these. For internal benchmarks we simply replaced the registration on the following line:
https://github.com/larq/compute-engine/blob/a2611f8e33f5cb9b4d09b7c9aff7053620a24305/larq_compute_engine/tflite/kernels/lce_ops_register.h#L31-L32
with Register_BCONV_2D_OPT_INDIRECT_BGEMM.
I'd welcome a PR to make this into a commandline flag, my suggestion would be:

Add a bool use_indirect_bgemm (default false) argument to RegisterLCECustomOps with another if-branch next to use_reference_bconv in lce_ops_register.h.

To add it as a commandline flag, I'd say the simplest (without modifying the TFLite benchmark BenchmarkTfLiteModel code) is to parse the commandline flags in lce_benchmark_main.cc and store the result as a global bool in that file, which can then be passed to RegisterLCECustomOps on line 26.

Note that use_reference_bconv uses core/bconv2d/reference.h which supports 'everything' such as zero-padding, one-padding and groups. The optimized implementations, however, don't support all of those.

@Tombana thanks a lot for pointing me to the right direction.
can do a PR and include a filtering of the arguments, so we can parse the flag (as suggested by you) and remove it from argv before passing it to the BenchmarkTfLiteModel as I assume (need to verify though) this will throw an unrecognized argument error

closing issue as it has been solved by #717


Included objects decay to pointers when updating

We are seeing strange behavior that is different that that of the JS 1.5 and lower SDK in that when we update a field on an object that has included objects (fully hydrated), we see that the included objects decay to pointers after performing the update. We want to add this to the list of things we've discovered as blockers in #73.
This is a reproduction using the Parse JS SDK 1.6.9:
Setup
class Brand extends Parse.Object {
  constructor(attributes, options) {
    super('Brand', attributes, options);
  }
}
Parse.Object.registerSubclass('Brand', Brand);

class Item extends Parse.Object {
  constructor(attributes, options) {
    super('Item', attributes, options);
  }
}
Parse.Object.registerSubclass('Item', Item);

Test
var freshItem = new Item({cool: true});
var freshBrand = new Brand({item: item});

Parse.Object.saveAll([freshItem, freshBrand]).then((brand, item) => {
  var query = new Parse.Query(Brand);
  query.include('item');
  return query.get(brand.id);
}).then((savedBrand) => {
  var item = savedBrand.get('item');
  assert(item.has("cool"));  // has attributes of item (not decayed)
  assert(item.get("cool"));  // has attributes of item (not decayed)

  // This update will cause included objects on savedBrand to decay.
  brand.set('newField', true);

  return brand.save().then((updatedBrand) => {
    var item = savedBrand.get('item');
    assert(item.has("cool")); // fails, no attributes of item present (decayed)
    assert(item.get("cool")); // fails, no attributes of item present (decayed)
  });
})

When we attempt the same actions in the 1.5 SDK and lower the pointers do not decay (run line by line in our node REPL)
var Item = Parse.Object.extend("Item")
var Brand = Parse.Object.extend("Brand")

var brand = new Brand({name: "Acme"})
var item = new Item({brand: brand})

item.save()

var itemRef;
var itemQuery = new Parse.Query(Item);
itemQuery.include("brand").get("n0EnLswyJv").then(function(fetchedItem) {
  itemRef = fetchedItem;
})

itemRef.get("brand").get("name")
> 'Acme'

itemRef.set("price", 30)
itemRef.save()
itemRef.get("brand").get("name")
> 'Acme'

I'm having the same issue.

Same.  This is wrecking havoc with my cloud code.

I'm seeing the same error.

I believe I have a fix. The "known server data" in the save response was overaggresively overwriting local data. Once I have some extra unit tests in place, I'll attempt to push this later today.

Actually, I'm stumped. I added some extra checks that I thought might help, but then I went back to make some unit tests that only pass with the new changes, and I was unable to make anything fail prior to these changes.
I went back and ran Tyler's tests line-by-line in node using v1.6.13, and I get the expected "correct" behavior, no matter which objects I manipulate. Since there are so many people here with the same issue, can someone please come up with a reproducible test case?

I'll try to rewrite one.  I'm sorta tight on time so it won't be right this second.

Andrew, I also see the test work with 1.7.0, however we see this happen in production a lot in the following case:

Query for object and include related objects
Save object and wait on the result
Before the save returns, run a before save hook on the same api server
The save returns with an object no longer having the included related objects (decayed)

@TylerBrock is that using parse-server? if so, I think it's a problem for that codebase, not this one.

No, using parse classic, we haven't moved off yet.

Okay, got confused by the "same api server" bit. I'll take a look and see if I can repro this.

Thanks, let me know if i can help. We resolve the issue by storing the included object properties in a higher scope and then not depending on it further down the promise chain after the object decays.

This is the annotated block of code where we have the hack for the decay (one example of it at least)
  var phoneNumber;
  var messageQuery = new Parse.Query(Message);
  messageQuery.equalTo("sid", sid);
  messageQuery.include("fromAgent");
  messageQuery.first().then(function(message) {
    // We do this because message decays after being saved :-(
    phoneNumber = message.get('fromAgent').get('phoneNumber');
    message.set("status", newStatus);

    // ... do other stuff with message

    // message has a beforeSave() where we hydrate the object and serialize it back out
    // on this very same instance of Parse and that happens in between the next two lines
    return message.save();
  }).then(function(message) {
    // message.get('fromAgent').get('phoneNumber') is undefined here
  }


Celery Flower container crash when enabled flower in values.yaml

Bug description
supersetCeleryFlower:
  enabled: true

When I enable this in the default values.yaml file, the container crashes with below error:
│ Usage: celery [OPTIONS] COMMAND [ARGS]...                                                                                │
│ Try 'celery --help' for help.                                                                                │
│                                                                                │
│ Error: No such command 'flower'.                                                                                │
│                                                                                │
│ Did you mean one of these?                                                                                │
│ Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]                                                                                │
│     worker

How to reproduce the bug

Enable supersetCeleryFlower in the default values.yaml
Install the Helm Chart using helm install

Screenshots/recordings

Superset version
4.0.1
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Hi , i tried this solution but it doesn't work for me. I have the same issue and i tried also with 4.0.2 superset Version.
Container's log is the same abowe.


Delete dataset

Adds a DeleteDataset(datasetID string) error interface to delete volumes on the control server

Thanks @simonswine
Looks good.

Tests still pass
New DeleteDataset function looks correct
Let's add a test for:

DeleteDataset
DeleteNonExistentDataset
DeleteDeletedDataset

Perhaps we should talk about whether the DeleteDataset operation should block until the state shows it has been deleted. That's what the CreateDataset method seems to do.

Feel free to disagree but please answer or address the points above and then ping me for a final review.

Let's add a test for
will do

Isn't the control server marking it deleted right away?

I don't really see the point in verify work of the control server. This is different for the creating datasets, as I want to use them later, but I wouldn't do that check here. If I don't get an error from control service, I want to be able to just assume the volume is there...

Tests added for deleting existing and non existing datasets

Thanks @simonswine

Please resolve merge conflicts, and
address or answer my comments above (the tests look buggy to me)

Then I'll merge.

@simonswine  wrote:

Isn't the control server marking it deleted right away?
I don't really see the point in verify work of the control server. This is different for the creating datasets, as I want to use them later, but I wouldn't do that check here. If I don't get an error from control service, I want to be able to just assume the volume is there...

Yep, I agree and I've changed my mind about requiring a "delete-deleted-dataset" test.
From the client perspective it's no different to deleting an existent dataset...200 OK

http://doc-dev.clusterhq.com/reference/api.html#delete-an-existing-dataset

@wallrj seems like I have written the test without enough :coffee: this morning. Please check again

No because we are not even decoding the output. The dataset is considered as deleted when we get a 200.

Ok. And I see that we discard the response body in a number of other methods too.
But one thing to note is that the Flocker REST API will return a useful error reference UUID in the event of a  server side error.
The uuid corresponds to an error logged by the flocker-control service so that the client and server error can be matched up.
We should consider updating the flocker-go library to always include that error ID...but not in this branch.