Creating a temporary property on an item results in 'Cannot redefine property' after rebinding

I have a model that I am binding to Rivets, like so:
var model = {
    People: [
        {FirstName: 'Larry'},
        {FirstName: 'Bruce'}
    ]
}

I then bind the People array to my view using data-each-x="model.People".  When the user clicks a 'delete' button, I set a property within the event handler, like this.
function DeleteItem(ev, item){
    item.x.IsDeleted = true;
    saveToServer(bla bla, function(){
        // Success handler - continue
    }, function(errorMsg){
        // Error handler
        item.x.IsDeleted = false;
    }
}

Now, the IsDeleted property is NOT on the model items when the view is bound - thanks to Javascript I can create it dynamically.  And this all works great.  Except that later when I refresh my model:
function Refresh(newModel){
    this.model = newModel;
}

And I get this error:
Potentially unhandled rejection [1] TypeError: Cannot redefine property: Test
at defineProperty (native)
at Function.defineProperty (lib/traceur-runtime.js:177:5)
at Object.Rivets.public.adapters...observe (lib/rivets.js:1232:16)
at Observer.set (lib/sightglass.js:148:28)
at new Observer (lib/sightglass.js:21:9)
at Object.sightglass (lib/sightglass.js:4:10)
at Binding.Rivets.Binding.Binding.observe (lib/rivets.js:560:21)
at Binding.__bind [as observe] (lib/rivets.js:7:61)
at Binding.Rivets.Binding.Binding.parseTarget (lib/rivets.js:572:30)
at Binding.__bind [as parseTarget] (lib/rivets.js:7:61)
Any ideas?  It is REALLY useful to be able to create temp properties like this.

Why are you doing this.model = newModel? Is that absolutely necessary? That will break all the rivets getters and setters, so it's bound to lead to issues. And of course any properties you applied to the model will be lost.
Additionally, the second argument to event handlers is a scope object, not the item.

Hi,
Technically I use jQuery's extend() method to replace my model, however I
have found this works.  I think the naming is misleading because in fact I
have a parent class above 'model' which is what Rivets is actually bound to

so 'model' becomes just a property.

Out of interest - is there a 'best practice' way to update your model?
And no thoughts on the question about temp properties?
On Fri, Jul 10, 2015 at 7:07 PM, Ben Styles<EMAIL_ADDRESS>wrote:

Why are you doing this.model = newModel? Is that absolutely necessary?
That will break all the rivets getters and setters, so it's bound to lead
to issues. And of course any properties you applied to the model will be
lost.
Additionally, the second argument to event handlers is a scope object, not
the item.
—
Reply to this email directly or view it on GitHub
https://github.com/mikeric/rivets/issues/506#issuecomment-120259212.

--
ben liebert
blackball software ltd, www.blackballsoftware.com

The way I update my models is by changing each of the "end values". I don't know about best practice, but this is the only way I've found that works. It's the only you can trigger the getters and setters that observe for changes. There are different ways to do this, one example of a way I've done it before is (using ES6):
// destObj would be the model rivets is bound to, newObj is the parsed JSON retrieved from the server

function updateUser(newObj, destObj) {
  const dest = destObj || userObj,
        iterate = (val, key) => {
          const newVal = newObj[key];

          if (_.exists(newVal)) {

            if (_.isString(newVal) /* && newVal.trim() */) {
              dest[key] = newVal;
            } else if (Array.isArray(newVal) && !_.isEqual(val, newVal)) {
              if (!Array.isArray(val)) dest[key] = [];
              else dest[key].length = 0;
              dest[key].push(...newVal);
            } else if (_.isPlainObject(newVal)) {
              if (_.isPlainObject(val)) updateUser(newVal, dest[key]);
              else dest[key] = newVal;
            }

          }
        };

  _.each(dest, iterate);
}

It's pretty ugly but it works. If I knew exactly what I was retrieving from the server, I could be much cleaner about it.
As long as you are only changing values, not objects, any "temporary" properties should remain.

Actually just found this - https://github.com/mikeric/rivets/issues/131,
which looks like the right way to do it.  I haven't implemented yet....
On Mon, Jul 13, 2015 at 7:26 AM, Ben Styles<EMAIL_ADDRESS>wrote:

The way I update my models is by changing each of the "end values". I
don't know about best practice, but this is the only way I've found that
works. It's the only you can trigger the getters and setters that observe
for changes. There are different ways to do this, one example of a way I've
done it before is (using ES6):
// destObj would be the model rivets is bound to, newObj is the parsed JSON retrieved from the server
function updateUser(newObj, destObj) {
const dest = destObj || userObj,
iterate = (val, key) => {
const newVal = newObj[key];
      if (_.exists(newVal)) {

        if (_.isString(newVal) /* && newVal.trim() */) {
          dest[key] = newVal;
        } else if (Array.isArray(newVal) && !_.isEqual(val, newVal)) {
          if (!Array.isArray(val)) dest[key] = [];
          else dest[key].length = 0;
          dest[key].push(...newVal);
        } else if (_.isPlainObject(newVal)) {
          if (_.isPlainObject(val)) updateUser(newVal, dest[key]);
          else dest[key] = newVal;
        }

      }
    };

_.each(dest, iterate);
}
It's pretty ugly but it works. If I knew exactly what I was retrieving
from the server, I could be much cleaner about it.
As long as you are only changing values, not objects, any "temporary"
properties should remain.
—
Reply to this email directly or view it on GitHub
https://github.com/mikeric/rivets/issues/506#issuecomment-120755505.

--
ben liebert
blackball software ltd, www.blackballsoftware.com

Closing as this appears to be resolved.


enable Dependabot v2

https://github.blog/2020-06-01-keep-all-your-packages-up-to-date-with-dependabot/

Thanks for the PR! There are actually several dependency scans going on in this repository already (including of container images). I'd have to look as to whether automated updates is actually safe to do here.

Closing due to age and lack of responseClosing due to age and lack of response


Fix #140 and preserve erl_first_files order

Match erl_first_files properly against all files needing
compilation and make sure the order of erl_first_files as specified in
rebar.config is preserved (rebar/rebar#445)

Looks good. We should add a test for this, but I won't hold up the merge for that.


⚠ Cioos Pacific CKAN has degraded performance

In 11bd2da, Cioos Pacific CKAN (https://catalogue.cioospacific.ca) experienced degraded performance:

HTTP code: 200
Response time: 6692 ms

Resolved: Cioos Pacific CKAN performance has improved in e4d0500 after 1 hour, 36 minutes.


C2D with torch hub not possible?

❓ Questions on how to use PyTorchVideo
Hello,
Thank you for releasing this nice framework for video domain.
I was wondering if it is possible to use the C2D model with this library ? In fact, it is mention in the benchmarking of pytorchvideo, but it seems not possible to use it with the torch.hub method, as it is not mentionned in the hubconf.py
Is there another way to use the C2D model ?

Hi, thanks for your interest in PyTorchVideo. We plan to release more torch hub models including C2D very soon.
Another way to use C2D or other customized models could be directly using create_resnet function to create models.

The C2D hub model has already been supported in PTV. Please check here for the full list of hub models.


Build k6 binary [xk6-redis]

Is this the last command line to build the published version of xk6-redis?
Because I get some error when I try to run this command!
xk6 build v0.32.0 --with github.com/k6io/xk6-redis

Hi @AymanSalamn, 2 weeks ago I updated the repo to use the grafana org as well as update the actual installation instructions.
Sorry for the inconvience but we really want the urls and the names of the extensions to match and as we don't expect we will change them again and it's definitely what we want to have in the long run.
I would actually ask you why you are using this extension?  As this is mostly for example purposes the more feature rich extension is https://github.com/dgzlopes/xk6-redis . We should probably make all of this more obvious though :thinking:

Hello @MStoykov, it's not a problem.
I used this extension because it is in k6 official's documentation, i will try the extension you recommended.

When I used both extensions:
https://github.com/grafana/xk6-redis
https://github.com/dgzlopes/xk6-redis
I get the same error and the test failed to start.
Error:
unknown module: k6/x/redis.
@MStoykov, any idea please why I get this error?

@AymanSalamn I would expect that you do common mistake of trying to do k6 run ... after xk6 finish.
But xk6 does not overwrite your k6 binary it writes a new one in the local folder.
So you need to actually do ./k6 run ...

@MStoykov Thanks a lot.


add api_key support

The UI apparently supports the new connection type "api_key", which is not to be confused with connection credential types of the same name. This change allows the SDK to at least parse these connections. Testing to follow.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


[DO NOT MERGE]Test on windowsiot for tf

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.

adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run

Hi, @xiaoxuqi-ms. The PR has be closed for a long time and it's related branch still exist. If no further used for over 14 days, I will delete this related branch. Please tell me if you still need this branch.

Hi, @xiaoxuqi-ms. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.

Hi, @xiaoxuqi-ms. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.

Hi, @xiaoxuqi-ms. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.


Category suggestions wrong in RTL

Steps to reproduce:

Switch Android to RTL language such as Hebrew
Upload image
When selecting categories, you see this:

Checkboxes should be on the left and category names on the right.

Hey I can work on this!!

@nicolas-raoul I have submitted a PR here #2567. Kindly review :)


What is package.json for?

It seems a dummy.
https://github.com/tier4/pre-commit-hooks-ros/blob/b5aa698e1409deaf1974533750b0b51b2e4f8c47/package.json

It is used for JavaScript hooks.
https://github.com/igorshubovych/markdownlint-cli
For now, we don't have a plan to create JavaScript hooks. So I think it can be removed.
I will create PR soon.


Added ItemIds class

Simply dumped the name & ids of object editor items from 1.32 patch.

Nice thanks. Can you fix duplicate names?

Thanks ❤


printf: delete unused file

The main file in directories like this is main.rs (in contrast to subdirectories, where it would be src/foo/mod.rs), and no other src/mod.rs exists, indicating that this was just an error all the way back in 0892ad3cdecb8ad38f1419f92d697f0fcb0a2058.
Found by #6721.
Fixes #6721.

(The two failing tests are flakes, because git.savannah.gnu.org seems to be down.)


Wrong documentation for "Data from remote API example".

On documentation page https://cuppalabs.github.io/angular2-multiselect-dropdown/#/remoteData
Shown basic.ts instead of Data from remote API example.
Please help to ipmlement this feature.
p.s. I need to implement lazy loading with Remote API back-end. (get next values on scroll, or filter) If you have solution for this please add it to documentation too..

Fixed.
Please write a mail for the below implementation

I need to implement lazy loading with Remote API back-end. (get next values on scroll, or filter) If you have solution for this please add it to documentation too..


Use standard python logger for logging.

This is completely spamming all messages (not only the ones concerning itself).
You should use a normal python logger instead of rolling your own.
This will allow others using your lib to have more control over logging.

This hasn't been much of a problem until now, but I am enabling data transfer by default as it will be need for the test group c client. So all the pyp2p logs are now making the output completely unreadable.

Added logging and removed some excessive statements.


Populating other fields in a form when select a field

i have an invoice item form where the item are picked up from job collection. i.e. user to select the job name from the insert invoice item form, then relevant information in invoice item form is filled accordingly, i.e. description, quantity and amount.
Wonder how to achieve this?

Maybe to set default value to be lookup collection's field for form fields that should be automatically filed.
field:
{
  "name": "description",
  "default": "{{jobs.description}}"
}

Thanks! Will test
Sent from my iPhone

On 6 Mar 2016, at 6:57 PM, Petar Korponaić<EMAIL_ADDRESS>wrote:
Maybe to set default value to be lookup collection's field for form fields that should be automatically filed.
field:
{
"name": "description",
"default": "{{jobs.description}}"
}
—
Reply to this email directly or view it on GitHub.

Hey @chiacy maybe this helps: https://github.com/perak/kitchen-custom-form-field

Great! Will take a look
Sent from my iPhone

On 8 Mar 2016, at 5:07 AM, Petar Korponaić<EMAIL_ADDRESS>wrote:
Hey @chiacy maybe this helps: https://github.com/perak/kitchen-custom-form-field
—
Reply to this email directly or view it on GitHub.

I did the same with an event
"change select[name=productId]": function(event, template) {
  var prodId = $(event.target).val();

  product = Products.findOne(prodId);

  if (product && product.unitPrice) {
    var unitPriceInput = $('input.form-control[name=unitPrice]')[0];
    if (unitPriceInput) {
      unitPriceInput.value = product.unitPrice
    }
  }
}

Thanks for the tips, will try at my end
Sent from my iPhone

On 30 Mar 2016, at 1:46 PM, jvp<EMAIL_ADDRESS>wrote:
I did the same with an event
"change select[name=productId]": function(event, template) {
var prodId = $(event.target).val();
product = Products.findOne(prodId);
if (product && product.unitPrice) {
var unitPriceInput = $('input.form-control[name=unitPrice]')[0];
if (unitPriceInput) {
unitPriceInput.value = product.unitPrice
}
}
}
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub


[Segment Replication] Remove Doc Parsing for segment replication enabled replica shard during translog replay from recovery

Description
This PR removes removes Doc parsing step for segment replication enabled replica shard, which is called during translog replay in phase 2 of recovery.
There are two ways an operation can be written into replica shard's translog:
-> First Way: This is from applyIndexOperationOnReplica(), where we avoid doc parsing and we set routing to null.
-> Second way: This is from applyTranslogOperation(), here we don't avoid doc parsing and parse actual routing value from input.
When phase 2 of recovery is started for a replica shard, it opens it's engine to write new translog operations (First way mentioned above )and then later we replay translog ops from primary shard (Second way mentioned above) during recovery. Sometimes a translog operation might be already written into replica's shard but it is still replayed from primary. Usually translog writer will be able to recognize that same operation is happening and does a noop if it is already present.
But sometimes in case of segrep replica shard, the translog writer is not able to recognize both of them as same operation because the routing value in one operation is null and routing value in another will be an actual parsed routing value. So we hit the following error #8848 sometimes.
To avoid this situation, this PR removes doc parsing even in second way on a segrep enabled replica shard. This way we completely remove doc parsing step for a segrep enabled replica shard.
Related Issues
Resolves #8848

Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Gradle Check (Jenkins) Run Completed with:

RESULT: FAILURE ❌
URL: https://build.ci.opensearch.org/job/gradle-check/21464/
CommitID: 51a027b
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green.
Is the failure a flaky test unrelated to your change?

#8887

Thanks for catching this @Rishikesh1159.  While we are still working on these tests randomly using segrep, can we add a segrep version of the IT that caught this that always runs?


refactor: cleaned up unit-tests

This PR cleans up unittest.cpp, closing: #936
Code change checklist

[ ] I have ensured that all methods and functions are fully documented using doxygen style comments.
[x] My code follows the coding style guide.
[x] I tested that my change works before raising the PR.
[x] I have ensured that I did not break any existing API calls.
[x] I have not built my pull request using AI, a static analysis tool or similar without any human oversight.

Accidentally put this branch on the main D++ repo, whoops :sweat_smile:

Starting this PR during uni was an awful idea, might be a good idea to close this PR and restart it (annoying but there's conflicts now)

Closing as this PR needs to be redone completely.


Add support for AMD, commonjs and browser-only

Added a header to play nicely with commonjs, amd and classic window exports

I believe full support will also take away the necessity of these statements:
// set worker and ammo
Physijs.scripts.worker = 'static/plugins/physijs/physijs_worker.js';
Physijs.scripts.ammo = 'ammo.js';

Otherwise this also fixes #213

+1

This repo is ripe for a well-maintained fork.

Here's a browserify version, but general npm support would be awesome.

So I forked the browserify version a few years ago and could never get it working with requires, without the scripts configuration, and without having to copy files around.
Randomly decided to pick it up this weekend and managed to create an auto-configured version for both webpack and browserify that's just a single require, no scripts configuration, no copying files, etc. See https://github.com/agilgur5/physijs-webpack
It only uses CommonJS right now, but given it's for Webpack etc, there shouldn't be a need to support anything else. Not quite the same what this PR does, but for a very related purpose.


boards: Clean up TF-M signing code for nrf53 and nrf91

-Add byproducts
-Don't overwrite zephyr.hex
-Whitespace
-Use target property
Signed-off-by: Øyvind Rønningstad<EMAIL_ADDRESS>

If we are doing cleanup here, why not extract all the shared functionality to a common place? There is a lot of duplication between these two, and if someone makes a custom board with 91 or 53 they would have to duplicate it all again to get TF-M support.
That way we would also get the BL2 option working the same way for both boards.

I agree completely, but I suggest that we merge this anyway. We have a task for merging the shared functionality (NCSDK-7608).
BTW there is an old PR for this: https://github.com/zephyrproject-rtos/trusted-firmware-m/pull/14 but it was never merged.

If we are doing cleanup here, why not extract all the shared functionality to a common place? There is a lot of duplication between these two, and if someone makes a custom board with 91 or 53 they would have to duplicate it all again to get TF-M support.
That way we would also get the BL2 option working the same way for both boards.

I agree completely, but I suggest that we merge this anyway. We have a task for merging the shared functionality (NCSDK-7608).
BTW there is an old PR for this: https://github.com/zephyrproject-rtos/trusted-firmware-m/pull/14 but it was never merged.

Can be merged after we release v.2.5.0

Can be merged after we release v.2.5.0


[Idea] FastCGI listener

Hey!
How about FastCGI listener instead of regular HTTP? I think it gonna be a faster and probably more advanced solution because most of the people still want to place Nginx in from of RR.

I support this suggestion :)

I run in production with symfony4.2 in docker container. I share mysql and redis resource with unix sock via docker volumes.  And I really would love that i could do that backwards.
I don't have skills in go, yet, but i can test in ubuntu/centos/docker setup in low and very high tier servers.

This is possible to implement using the same communication method between RR and PHP but the new frontend interface. https://golang.org/pkg/net/http/fcgi/ it sounds like Go MIGHT support FastCGI out of the box and compatible with net/http.

I think an ability to have such option will be great.

For sure you would gain bigger audience if t FastCGI would be supported

That's has been planned for 1.5.0 release. I'm also glad to accept anyone's help to deliver this feature. I can consult how to implement it.
The RR feature development is currently at rest since I have to complete the documentation for another large OS project.

Regarding FastCGI being faster: https://gist.github.com/hgfischer/7965620

If no issues found it will be shipped with next version.


Update setup instructions

Feel free to reject - having the installation instructions on there for non-JS people, and also including some of the extra commands available.

Updated readme now, took some of the changes here. Thanks!


Update RocksDB version to 6.0.1

In RocksDb 6.0.1, some useful tuning features were brought into the JNI API. We need to upgrade the version in ozone to pick those up.
https://github.com/facebook/rocksdb/pull/4833

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
67
Docker mode activated.

_ Prechecks _

+1
dupname
1
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1
mvninstall
692
trunk passed

+1
compile
305
trunk passed

+1
mvnsite
0
trunk passed

+1
shadedclient
1874
branch has no errors when building and testing our client artifacts.

+1
javadoc
184
trunk passed

_ Patch Compile Tests _

+1
mvninstall
516
the patch passed

+1
compile
311
the patch passed

-1
javac
98
hadoop-hdds generated 3 new + 11 unchanged - 0 fixed = 14 total (was 11)

-1
javac
213
hadoop-ozone generated 1 new + 7 unchanged - 0 fixed = 8 total (was 7)

+1
mvnsite
0
the patch passed

+1
whitespace
1
The patch has no whitespace issues.

+1
xml
1
The patch has no ill-formed XML file.

+1
shadedclient
732
patch has no errors when building and testing our client artifacts.

+1
javadoc
172
the patch passed

_ Other Tests _

-1
unit
186
hadoop-hdds in the patch failed.

-1
unit
1387
hadoop-ozone in the patch failed.

+1
asflicense
53
The patch does not generate ASF License warnings.

5713

Reason
Tests

Failed junit tests
hadoop.ozone.container.common.impl.TestHddsDispatcher

hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis

hadoop.ozone.client.rpc.TestOzoneAtRestEncryption

hadoop.ozone.client.rpc.TestCommitWatcher

hadoop.ozone.client.rpc.TestOzoneRpcClient

hadoop.ozone.client.rpc.TestSecureOzoneRpcClient

hadoop.ozone.TestMiniOzoneCluster

hadoop.ozone.client.rpc.TestBCSID

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-980/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/980

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient xml

uname
Linux 80ae802a1ddd 4.4.0-143-generic #169~14.04.2-Ubuntu SMP Wed Feb 13 15:00:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 3d020e9

Default Java
1.8.0_212

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-980/1/artifact/out/diff-compile-javac-hadoop-hdds.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-980/1/artifact/out/diff-compile-javac-hadoop-ozone.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-980/1/artifact/out/patch-unit-hadoop-hdds.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-980/1/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-980/1/testReport/

Max. process+thread count
4643 (vs. ulimit of 5500)

modules
C: hadoop-hdds/common U: hadoop-hdds/common

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-980/1/console

versions
git=2.7.4 maven=3.3.9

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

Test failures look unrelated to this patch.
I will commit this to the trunk.
Thank You @avijayanhwx for the contribution.

I found the Jira for this.
Thank You @anuengineer for the review.
I have committed this to the trunk.


Feat/home

Status
IN DEVELOPMENT

IN DEVELOPMENT: there's active development being done in this branch, don't merge yet

Todo list

[ ] Tests added and passed

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@99a0100). Click here to learn what that means.
The diff coverage is 71.42%.

@@            Coverage Diff             @@
##             develop      #13   +/-   ##
==========================================
  Coverage           ?   75.75%
==========================================
  Files              ?       54
  Lines              ?      862
  Branches           ?      155
==========================================
  Hits               ?      653
  Misses             ?      209
  Partials           ?        0

Impacted Files
Coverage Δ

...kages/server/src/modules/question/QuestionModel.ts
100% <ø> (ø)

...ckages/web/src/relay/createQueryRendererModern.tsx
100% <ø> (ø)

...ckages/server/src/modules/question/QuestionType.ts
86.2% <ø> (ø)

...ackages/web/src/modules/Home/AskHeadline/index.tsx
80% <ø> (ø)

...er/src/modules/question/mutation/CreateQuestion.ts
85.71% <ø> (ø)

packages/web/src/modules/Navbar/styles.ts
100% <ø> (ø)

...ackages/web/src/modules/Home/AskHeadline/styles.ts
66.66% <ø> (ø)

...ages/server/src/modules/question/QuestionLoader.ts
96.66% <ø> (ø)

...ackages/web/src/modules/Navbar/YottaLogo/styles.ts
100% <ø> (ø)

...rver/src/modules/question/mutation/EditQuestion.ts
23.07% <0%> (ø)

... and 5 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 99a0100...b22da21. Read the comment docs.


do_fallback_lookup handles cache methods that return Result

LGTM.
How do you plan to use the result? They all just return OK now.

I'm using it in a WIP branch, figured I'd pull this code out though


Update README.md

Thanks, applied as https://github.com/AndroidHardening/hardened_malloc/commit/dea2788539e203f6e93bf15699548de441826216.


Rebuild/1.14.1.b1

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_973lnodgel/clone/recipe/meta.yaml:97: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_973lnodgel/clone/recipe/meta.yaml:98: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_973lnodgel/clone/recipe/meta.yaml:130: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
WARNING: /tmp/abs_973lnodgel/clone/recipe/meta.yaml:132: missing_license_file: The recipe is missing the about/license_file or about/license_url key.
ERROR: /tmp/abs_973lnodgel/clone/recipe/meta.yaml:132: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_973lnodgel/clone/recipe/meta.yaml:132: missing_summary: The recipe is missing a summary
WARNING: /tmp/abs_973lnodgel/clone/recipe/meta.yaml:132: missing_description: The recipe is missing a description
ERROR: /tmp/abs_973lnodgel/clone/recipe/meta.yaml:132: http_url: http://gstreamer.freedesktop.org/ is not https
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_6clf0etzb2/clone/recipe/meta.yaml:97: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_6clf0etzb2/clone/recipe/meta.yaml:98: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_6clf0etzb2/clone/recipe/meta.yaml:130: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
ERROR: /tmp/abs_6clf0etzb2/clone/recipe/meta.yaml:132: http_url: http://gstreamer.freedesktop.org/ is not https
ERROR: /tmp/abs_6clf0etzb2/clone/recipe/meta.yaml:132: missing_license_family: The recipe is missing the about/license_family key.
WARNING: /tmp/abs_6clf0etzb2/clone/recipe/meta.yaml:132: missing_description: The recipe is missing a description
ERROR: /tmp/abs_6clf0etzb2/clone/recipe/meta.yaml:132: missing_summary: The recipe is missing a summary
WARNING: /tmp/abs_6clf0etzb2/clone/recipe/meta.yaml:132: missing_license_file: The recipe is missing the about/license_file or about/license_url key.
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_88xj1tysh4/clone/recipe/meta.yaml:97: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_88xj1tysh4/clone/recipe/meta.yaml:98: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_88xj1tysh4/clone/recipe/meta.yaml:130: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
ERROR: /tmp/abs_88xj1tysh4/clone/recipe/meta.yaml:132: missing_license_family: The recipe is missing the about/license_family key.
WARNING: /tmp/abs_88xj1tysh4/clone/recipe/meta.yaml:132: missing_license_file: The recipe is missing the about/license_file or about/license_url key.
ERROR: /tmp/abs_88xj1tysh4/clone/recipe/meta.yaml:132: http_url: http://gstreamer.freedesktop.org/ is not https
ERROR: /tmp/abs_88xj1tysh4/clone/recipe/meta.yaml:132: missing_summary: The recipe is missing a summary
WARNING: /tmp/abs_88xj1tysh4/clone/recipe/meta.yaml:132: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_44f2ogjjoc/clone/recipe/meta.yaml:97: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_44f2ogjjoc/clone/recipe/meta.yaml:98: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_44f2ogjjoc/clone/recipe/meta.yaml:130: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
WARNING: /tmp/abs_44f2ogjjoc/clone/recipe/meta.yaml:132: missing_description: The recipe is missing a description
WARNING: /tmp/abs_44f2ogjjoc/clone/recipe/meta.yaml:132: missing_license_file: The recipe is missing the about/license_file or about/license_url key.
ERROR: /tmp/abs_44f2ogjjoc/clone/recipe/meta.yaml:132: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_44f2ogjjoc/clone/recipe/meta.yaml:132: http_url: http://gstreamer.freedesktop.org/ is not https
ERROR: /tmp/abs_44f2ogjjoc/clone/recipe/meta.yaml:132: missing_summary: The recipe is missing a summary
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_ec_qulgv_0/clone/recipe/meta.yaml:97: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_ec_qulgv_0/clone/recipe/meta.yaml:98: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_ec_qulgv_0/clone/recipe/meta.yaml:130: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
WARNING: /tmp/abs_ec_qulgv_0/clone/recipe/meta.yaml:132: missing_description: The recipe is missing a description
WARNING: /tmp/abs_ec_qulgv_0/clone/recipe/meta.yaml:132: missing_license_file: The recipe is missing the about/license_file or about/license_url key.
ERROR: /tmp/abs_ec_qulgv_0/clone/recipe/meta.yaml:132: missing_summary: The recipe is missing a summary
ERROR: /tmp/abs_ec_qulgv_0/clone/recipe/meta.yaml:132: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_ec_qulgv_0/clone/recipe/meta.yaml:132: http_url: http://gstreamer.freedesktop.org/ is not https
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_0emgya49r9/clone/recipe/meta.yaml:40: host_section_needs_exact_pinnings: output "gstreamer": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_0emgya49r9/clone/recipe/meta.yaml:94: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_0emgya49r9/clone/recipe/meta.yaml:96: host_section_needs_exact_pinnings: output "gst-plugins-base": Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_0emgya49r9/clone/recipe/meta.yaml:127: incorrect_license: The recipe's about/license key is not an SPDX compliant license or license exception, closest match: LGPLLR
ERROR: /tmp/abs_0emgya49r9/clone/recipe/meta.yaml:129: missing_license_family: The recipe is missing the about/license_family key.
WARNING: /tmp/abs_0emgya49r9/clone/recipe/meta.yaml:129: missing_license_file: The recipe is missing the about/license_file or about/license_url key.
ERROR: /tmp/abs_0emgya49r9/clone/recipe/meta.yaml:129: missing_summary: The recipe is missing a summary
WARNING: /tmp/abs_0emgya49r9/clone/recipe/meta.yaml:129: missing_description: The recipe is missing a description
ERROR: /tmp/abs_0emgya49r9/clone/recipe/meta.yaml:129: http_url: http://gstreamer.freedesktop.org/ is not https
Errors were found


chore: Bump @doist/reactist to v26.0.0

Overview
This PR bumps both the dev and peer dependency of @doist/reactist to v26.0.0.

[!WARNING]
Given that v26 is not actually yet released (ref: https://github.com/Doist/reactist/pull/842), this PR is temporarily pointing the @doist/reactist dev dependency to the work-in-progress branch on Reactist repository.
Once v26 is released, this PR will be updated before merging (thus why it's in draft state).

I've never seen a dependency done like this before

As mentioned, this is temporary, and only to make sure that no CI check breaks.


Add the ability to order types

implemented by #153
Is your feature request related to a problem?
I want my import type imports to be ordered at the bottom and not grouped in with my 3rd party module imports.
Describe the solution you'd like
Something like <THIRD_PARTY_MODULES> but named <TYPE_IMPORTS> that we can add to importOrder.
{
  "importOrder": ["<TYPE_IMPORTS>", "^[./]"],
  "importOrderSeparation": true,
  "importOrderSortSpecifiers": true
}

Before:
import { getMDXComponent } from 'mdx-bundler/client';
import type { GetStaticPaths, GetStaticProps, NextPage } from 'next';
import Head from 'next/head';
import { useMemo } from 'react';

After:
import { getMDXComponent } from 'mdx-bundler/client';
import Head from 'next/head';
import { useMemo } from 'react';

import type { GetStaticPaths, GetStaticProps, NextPage } from 'next';

Describe alternatives you've considered
None
Additional context
None

Until this is implemented, you can try out https://github.com/serverless-guru/prettier-import-order which is a fork of this project that has this feature.

I don't think this one is working as expected, I'm using the latest 4.1.0 version with this change merged in:
.prettierrc
{
  "importOrder": [
    "<THIRD_PARTY_TYPES>",
    "<TYPE>^[~/]",
    "<THIRD_PARTY_MODULES>",
    "^[~/]"
  ],
  "importOrderSeparation": true,
  "importOrderSortSpecifiers": true,
  "importOrderGroupNamespaceSpecifiers": true
}

Before
import type { LoaderArgs } from "@remix-run/node";
import { defer } from "@remix-run/node";
import clsx from "clsx";
import { ItemsApi, LootboxesApi } from "metafab-typescript-fetch";
import { Suspense, useContext, useEffect } from "react";
import { matchPath } from "react-router-dom";
import type { CollectionWithItems } from "~/types/collections";
import type { LootboxManagerWithLootboxes } from "~/types/lootboxes";
import Intro from "~/components/layout/Intro";
import Button from "~/components/ui/Button";
import CopyButton from "~/components/ui/CopyButton";
import ExternalLink from "~/components/ui/ExternalLink";
import PopupMenu from "~/components/ui/PopupMenu";
import GridLoader from "~/components/ui/loaders/GridLoader";
import { SUPPORTED_CHAINS } from "~/constants";
import { NotificationsContext } from "~/context";
import { getSession, requireGameAuth, sessionStorage } from "~/session.server";
import { formatDateTime } from "~/utils";

After
import type { LoaderArgs } from "@remix-run/node";
import { defer } from "@remix-run/node";
import clsx from "clsx";
import { ItemsApi, LootboxesApi } from "metafab-typescript-fetch";
import { Suspense, useContext, useEffect } from "react";
import { matchPath } from "react-router-dom";
import type { CollectionWithItems } from "~/types/collections";
import type { LootboxManagerWithLootboxes } from "~/types/lootboxes";

import Intro from "~/components/layout/Intro";
import Button from "~/components/ui/Button";
import CopyButton from "~/components/ui/CopyButton";
import ExternalLink from "~/components/ui/ExternalLink";
import PopupMenu from "~/components/ui/PopupMenu";
import GridLoader from "~/components/ui/loaders/GridLoader";
import { SUPPORTED_CHAINS } from "~/constants";
import { NotificationsContext } from "~/context";
import { getSession, requireGameAuth, sessionStorage } from "~/session.server";
import { formatDateTime } from "~/utils";

Expected
import type { LoaderArgs } from "@remix-run/node";

import type { CollectionWithItems } from "~/types/collections";
import type { LootboxManagerWithLootboxes } from "~/types/lootboxes";

import { defer } from "@remix-run/node";
import clsx from "clsx";
import { ItemsApi, LootboxesApi } from "metafab-typescript-fetch";
import { Suspense, useContext, useEffect } from "react";
import { matchPath } from "react-router-dom";

import Intro from "~/components/layout/Intro";
import Button from "~/components/ui/Button";
import CopyButton from "~/components/ui/CopyButton";
import ExternalLink from "~/components/ui/ExternalLink";
import PopupMenu from "~/components/ui/PopupMenu";
import GridLoader from "~/components/ui/loaders/GridLoader";
import { SUPPORTED_CHAINS } from "~/constants";
import { NotificationsContext } from "~/context";
import { getSession, requireGameAuth, sessionStorage } from "~/session.server";
import { formatDateTime } from "~/utils";

Ignore my previous comment, looking at the code I should be using TS_TYPES and THIRD_PARTY_TS_TYPES instead.


Check caching strategy and performance of article loading

See https://github.com/hlxsites/netcentric/pull/93/files#r1033235092

Hey @nc-andreashaller sorry I missed this, I will check.

see the comment in https://github.com/hlxsites/netcentric/pull/93/files#r1033235092, the getArticles call is potentially done multiple times, the JavaScript the comment refers to is loaded for the Blog Post block which is to my knowledge loaded on all blog articles like https://www.netcentric.biz/insights/2022/12/collecting-the-right-data-to-deliver-personalized-experiences

I have checked, it is always loaded from disk cache, so no optimisation required.


45 main header bouwen voor desktop

Main header
Built  #45, I also made it responsive without having to write styling in media queries. I also removed some of the categories in the previous header and added a category icon instead which will bring the user to the page with all the categories because I thought the old design was less efficient.
To check :

HTML if there are improvements for accessibility and if its semantic
CSS improvements for readability or chances to remove unnecessary lines

The functionality of the theme button still has to be made #39 and can now be made.

It's nice when a component can adapt to any screen size, but it's still good to use media queries or container-queries for multiple breaking points to prevent things like this:

top left corner not aligning

there is no dynamic gap between elements

Fixes

Fixed logo route for detailpage
Removed unecassary @supports rule
Added styling in a @media query so it looks nice

? detailpage has a huge random logo on it and spacing is weird but I didnt change anything in those css files ?

Fixes

Fixed logo route for detailpage
Removed unecassary @supports rule
Added styling in a @media query so it looks nice

? detailpage has a huge random logo on it and spacing is weird but I didnt change anything in those css files ?

yeah, i had trouble with it too. it's because Redpers added a new layout for that article. bu i think i fixed it in #47


use python3

Python2 becomes more and more of a problem. We now fail to install spyder, see https://github.com/CCPPETMR/CCPPETMR_VM/issues/121.
Sadly, on Ubuntu 18.04, default python is still python2.7. I guess we can easily tell the SuperBuild to use python3. But what about jupyter? Will it just work when we use
python3 -m pip install jupyter

Possibly easiest would be to do
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1
sudo update-alternatives  --set python /usr/bin/python3.6

before doing anything python-like at all.
@casperdcl @bathomas what do you think?

some other things to think about when upgrading:

nbstripout is pinned
spyder is pinned

I've removed the pin to nbstripout and spyder with python3, which you run with spyder3.

please create the PR.

closed with #170


Index out of bounds error durring read of an Avro file

Describe the bug
I am faced with index out of bounds Error in the Avro Reader. From the stacktrace I can see that the size of a null_buffer is wrong initialized if the data type is a nested nullable struct array. The origin is that nullable Values are Union[_,Array] instead of just Array. Due to that the array_item_count is wrongly calculated in datafusion/core/src/datasource/avro_to_arrow/arrow_array_reader.rs:575
The issue can be solved with the maybe_resolve_union function
To Reproduce
Read a Avro File which contains a column in the following format:
{
      "name": "some_array",
      "type": [
        "null",
        {
          "type": "array",
          "items": {
            "type": "record",
            "name": "Item",
            "fields": [
              {
                "name": "id",
                "type": "long"
              }
             ]
          }
      ]
}

Expected behavior
No response
Additional context
Stacktrace:
index out of bounds: the len is 1 but the index is 1 stack backtrace:    0: rust_begin_unwind              at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:665:5    1: core::panicking::panic_fmt              at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:74:14    2: core::panicking::panic_bounds_check              at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:276:5    3: arrow_buffer::util::bit_util::set_bit              at /Users/JONSchmi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/arrow-buffer-52.2.0/src/util/bit_util.rs:55:5    4: datafusion::datasource::avro_to_arrow::arrow_array_reader::AvroArrowArrayReader<R>::build_nested_list_array::{{closure}}::{{closure}}              at /Users/JONSchmi/data-platform/services/kafka-ingest-lambda/datafusion/datafusion/core/src/datasource/avro_to_arrow/arrow_array_reader.rs:598:41

take


map_blocks with function that reduces a dimension

I have an input dataset of shape (n_variants, n_samples, ploidy) and a function to map blocks of this array to an output array of shape (n_variants, n_alleles). Using da.map_blocks() with this function raises an exception. Details are in this notebook.

So after trying to implement this cleanly I'm not sure that correct behavior is always unambiguous.  I don't have a very clean example yet; something like the following might give an idea though.
x = da.ones((4, 1, 1), chunks=(2, 1, 1))

def f(block):
    return block[:, 0, :]

def g(block):
    return block[:, :, 0]

y = x.map_blocks(f, chunks=(2, 1))
z = x.map_blocks(g, chunks=(2, 1))

This is a bit contrived (and in this case there is no difference) but hopefully it's clear that we're not sure which dimension we've killed.  I'm not convinced that this is actually an issue, but it has led me to a more sane solution.
Use the full chunks, then call squeeze.
ac = dg.map_blocks(f, chunks=(2, 2))  # Before
ac = dg.map_blocks(f, chunks=(2, 2, 1)).squeeze()  # after

However, this is also insufficient for this problem.  You need to provide the entire tuple-of-tuples chunks.  We're not clever enough to take a single per-block chunksize and ensure that it works over all blocks.  Perhaps we can do this if the blocks are uniformly shaped.
Verbose solution  (requires a bugfix in squeeze)
In [1]: import numpy as np

In [2]: import dask.array as da

In [3]: genotypes = np.array([[[0, 0], [0, 0], [0, 0]],
   ...:                       [[0, 0], [0, 0], [0, 1]],
   ...:                       [[0, 1], [0, 1], [1, 1]],
   ...:                       [[1, 1], [1, 1], [1, 1]]], dtype='i1')

In [4]: dg = da.from_array(genotypes, chunks=(2, 3, 2))

In [5]: def f(block):
   ...:     return block.sum(axis=2)
   ...:

In [6]: dg.map_blocks(f, chunks=((2, 2), (3,), (1,)), dtype=dg.dtype).squeeze().compute()
Out[6]:
array([[0, 0, 0],
       [0, 0, 1],
       [1, 1, 2],
       [2, 2, 2]])

Probably we can get the desired behavior in the common case.  I'm not sure how best to handle uneven block sizes though.  This might require passing explicit chunk sizes.

This sort of thing is a bit easier to infer with labeled dimensions like in xray. Hence why I probably need to write my own version of map_blocks.

Apologies if this is all obvious to you already, just trying to work this through for myself.
Consider a 2D int array x of shape (n, m) where n >> m.
Consider the operation to sum x over the second dimension, i.e., we want to compute x.sum(axis=1). We want to implement this operation block-wise over x.
If x is only chunked along the first dimension (i.e., all chunks are of width m) then implementing this block-wise is simple, as it involves calling block.sum(axis=1) for each input block, then concatenating all output blocks along the first dimension.
If x is chunked along both the first and second dimensions then implementing this block-wise involves computing block.sum(axis=1) for each input block, then reducing all blocks along the second dimension by summing them, then concatenating the results. I.e., there is a step to map blocks, and a step to reduce blocks, which in this case both happen to involve a sum.
Now generalise to consider any operation f that we want to apply block-wise over x, where the operation involves some reduction over the second dimension.
Again, if x is only chunked along the first dimension then implementing this block-wise is simple, as it involves calling f(block) for each input block then concatenating along the first dimension.
However, if x is chunked along both the first and second dimensions then we also need to know a second function g which will reduce the blocks over the second dimension. When f is sum() then g is also sum(), however in general f and g may be different functions.
So it occurs to me that there multiple cases to consider for a general map_blocks() function, each of which may need different information depending on the operation to be applied and the way the input array has been chunked. Maybe map_blocks() should be divided into several functions which deal with these different cases separately, to ease both implementation and usage?
FWIW, the simplest case (which deals with most of my current use cases) is where x is only chunked along the first dimension, and you can apply f to each block then assume the right thing to do is concatenate output blocks along the first dimension, whatever shape the output blocks happen to be. That's what I implemented for carray_block_map in scikit-allel.

Labeled dimensions would definitely help in this case.  Here is a cleaner example

x = da.random.random(size=(10, 10, 10, 10, 10), chunks=(5, 10, 10, 10, 5))
x.numblocks
(2, 1, 1, 1, 2)
x.map_blocks(f, chunks=(5, 2, 3, 5))

It's clear from the numblocks property that the missing dimension is somewhere in the middle 3 (otherwise this wouldn't be a map_blocks operation, but rather a reduction).  If I know which of the three this is then I can manually add a x[:, :, None, :, :] after calling your function, then call da.squeeze on the whole thing, producing the desired result.  We could accept this information from the user but I suspect that this leads down a rabbit hole.
I think that it's probably simpler to require that the user defined function doesn't collapse dimensions and instead recommend the use of squeeze after the fact.
It could also be that a richer interface, like atop, could solve this problem.  I'll improve user documentation on that and see if it's appropriate.
I've resolved the issue with requiring the full tuple-of-tuple chunks in https://github.com/ContinuumIO/dask/pull/274

@alimanfoo indeed the patterns behind reductions (or other operations) can become quite odd.  Functions like da.sum, da.mean, etc.. depend on an internal function reduction which does something like what you suggest along any axis= direction (including several simultaneously.)
This function is in turn based on a function atop a thin wrapper around top) which handles any computation that looks like a combination of tensor inner/outer products like the following
z_jk = f(a_ij, b_ik, c_i)

This code drives things like map_blocks, all of the reductions, as well as operations like transpose and tensordot.  I haven't done much to expose this functionality to the user but perhaps I should.  It could use a better docstring with examples.  top has this but it's a pure dict function and so not very interpretable.

Atop could probably solve your problem and it's probably a more consistent solution than trying to push the boundaries of map_blocks.
Your operation would look something like the following
y = atop(func, 'y', 'i', x, 'ij')  # apply func along first dimension, collapse second

I've improved the atop docstring here https://github.com/ContinuumIO/dask/pull/275

Map blocks now includes a drop_axis keyword
http://dask.pydata.org/en/latest/array-api.html#dask.array.Array.map_blocks
Closing.


clang: force no implicit float in user mode for now

Until we move the Harvey's Plan 9-based floating point save/restore code from 1991 to 2016,
we have to disallow implicit floating point, because otherwise clang generates
code that uses xmm registers, some of it in note handlers, and the kernel will
kill the process. This was causing bad trouble for usbd among other things.
The fix is to do what we did in Akaros:

disable any use of the x87
move to xsaveopt and eager save/restore

But for now, this fixes the problem, at a cost in performance.
usbd no longer explodes in the timeout handler (which is a note handler).
Some amount of study of what we did in Akaros will show the way.
Signed-off-by: Ronald G. Minnich<EMAIL_ADDRESS>

+1, please update the branch.


Keep getting permission denied.

On my Synology I keep getting this exception when running a docker-compile for the sethsimmons/simple-monerod:
2022-03-16 14:11:22.763	I Initializing core...
2022-03-16 14:11:22.764	I Loading blockchain from folder /home/monero/.bitmonero/lmdb ...
2022-03-16 14:11:22.785	I Stopping cryptonote protocol...
2022-03-16 14:11:22.785	I Cryptonote protocol stopped successfully
2022-03-16 14:11:22.786	E Exception in main! boost::filesystem::create_directory: Permission denied: "/home/monero/.bitmonero/lmdb"

Docker containers run under a separate user that has full permissions (r/w + administration), but only to the volume "/volume1/docker/xmrchain/"), so docker run as non root by stating PUID and GUID.
You have an idea on what goes wrong here ? (I'm not so linux savvy, so please teach me a thing or two :)

@THX-101 I was able to implement running as a different user and have tested it on my own Synology NAS, and it works perfectly now once you specify the correct UID:GID when starting the container as seen here:
https://github.com/sethforprivacy/simple-monerod-docker#running-as-a-different-user
The image with these changes is building now, should be available in an hour or two :)

Thank you very much man :)


Auto corrected by following Lint Ruby Style/Alias

Auto corrected by following Lint Ruby Style/Alias
Click here to configure it on awesomecode.io

Coverage remained the same at 97.025% when pulling 38d13b3460e3724c72245f330103362124e30d91 on awesomecode-lint-ruby-style-alias-47828 into cd32a52b407596d75541c69b729af6b1d4bd7e99 on master.

Coverage remained the same at 97.025% when pulling 38d13b3460e3724c72245f330103362124e30d91 on awesomecode-lint-ruby-style-alias-47828 into cd32a52b407596d75541c69b729af6b1d4bd7e99 on master.


Android Support Library 26.0.0-alpha1 clashing

Error:Execution failed for task ':app:processDebugManifest'.

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-alpha1) from [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 is also present at [com.android.support:support-v13:25.3.1] AndroidManifest.xml:27:9-31 value=(25.3.1).
Suggestion: add 'tools:replace="android:value"' to  element at AndroidManifest.xml:25:5-27:41 to override.

it's working fine with api level 25 library...

I won't be updating the Support library to 26 until it is stable.

I also encountered this error, but still thank you for the author

Thank you for response...

26.0.0 is now out! :)

stable version is available

Thank You for support in new version...

Sorry. But whats the max version of support library it can support with v<IP_ADDRESS>?


Update sms_client-client-wmi-class.md

Converted Properties into table for improved readability.

@baardhermansen : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks @baardhermansen for the contribution.  Stay tuned...

Hi @baardhermansen. All of the SDK pages are structured like that. So I worry about setting a precedence that's inconsistent with everything else.
In some more recent articles I've updated the specific properties as an H3 (###). I think that would be a good way to convert the article. Add that markdown to the beginning of each property.
I'm going to decline this specific pull request. I encourage you to file another with my suggestion above!


Logic bug in node.removeChromeArtifacts()

Possible logic bug here:
      if (!node.getAttribute('style')) {
        node.removeAttribute('style');
      }

I'm not sure what this was intended to do, but it appears to say, "if the node doesn't have the attribute, remove the attribute" - I'm not sure what the intent was, but I don't think this code does anything?

@regiskuckaertz do you remember what this code was trying to achieve?

@rrees Javascript and type coercion... the empty string is false in JS: this code was meant to eliminate instances of \<elem style="">. At least that's what I think.

@regiskuckaertz ah, would it be clearer to have the comparison with the empty string here to avoid people deleting it as a no-op?

@rrees yes definitely, that's a code smell. I can raise a PR if you want?

@regiskuckaertz that'd be smashing


Fixed error when parsing identifiers that start with keywords (e.g. staticMove)

Fixes error parsing three-trackballcontrols.d.ts
Verified that all other definition files  in DefinitelyTyped continue to be parsed correctly.

I guess there is no interest in this. Closing.

This makes me sad. Seriously.

Sorry! I completely forgot about this. I think at the time I was waiting for Zach to review the PR... but that's a poor excuse :/ I don't see any problem with the code so I'm accepting it.
My apologies again!

Thanks for your work and care Alfonso!

Sorry @ca-ta and @alfonsogarciacaro I've been terrible at maintaining this project. I just don't have the time at the moment and I haven't for a while. Perhaps we should move FunScript into its own organisation and look for maintainers with more time.

That'd be great! Maybe moving it to fsprojects?

@alfonsogarciacaro - thanks for merging!
And apologies to everyone for my defeatist closing comment.


Create performance-testing.yaml

create stub workflow file, will do followup PR to add actual contents

Bootstrapping - can't run a workflow until there's some version of it on main.


"sysmail_add_principalprofile_sp" introduction uses the term "role" incorrectly

The introduction paragraph to the "sysmail_add_principalprofile_sp" stored procedure uses the term "role". This can lead the reader to imply that it is possible to associate either Application Roles or Database Roles in the msdb database to a Database Mail profile.
This is incorrect; the "sysmail_add_principalprofile_sp" stored procedure internally calls the "sysmail_verify_principal_sp" stored procedure. That stored procedure limits the types of database principals that it will consider to only:

SQL Users (sys.database_principals.type = 'S')
Windows Users (sys.database_principals.type = 'U')
Windows Groups (sys.database_principals.type = 'G')

The introduction paragraph should be reworked to make a more direct connection to the type of database principal that it supports. For example:
"Grants permission for a msdb database principal that maps to a SQL Server authentication user, a Windows User, or a Windows Group to use a Database Mail profile."

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

ID: 0ed886c2-1f0a-13d1-7957-24f29ca51e91
Version Independent ID: 8fe46f71-dca4-cf00-589b-e7e41e8aca25
Content: sysmail_add_principalprofile_sp (Transact-SQL) - SQL Server
Content Source: docs/relational-databases/system-stored-procedures/sysmail-add-principalprofile-sp-transact-sql.md
Product: sql
Technology: system-objects
GitHub Login: @stevestein
Microsoft Alias: sstein

@RobAshton-IM -- thank you for your feedback.  I've updated that article and it is in review.

Thank you for your feedback.  I have updated the documentation and it should be live by tomorrow.


test(frontend): Test service requestPouhCredential

Motivation
We want to change the code in the requestPouhCredential service.
Before we do that, we add a test with the current functionality.
Changes

Add two test scenarios for service requestPouhCredential.

Tests
Only test changes.

@peterpeterparker please review

@peterpeterparker ready for another review


0.24.0 version not working on x86 platforms

0.24.0 version not working on x86 platforms. x64 works fine
0.23 does.

It should work fine at least Windows OS.
See the screen shot bellow.

Your comment of this issue is NOT describe detail of your problem.

What is the OS of your problem? Windows? Linux? macOS? version? edition?
What is the version of your Firefox?
What happen? Is there any error messages?

Please tell me more details of your problem.
By the way, I guess you did bellow steps.

Build your project that uses Selenium and GeckoDriver, on 64bit Windows OS.
Bring the output of the project into 32bit Windows OS.
Execute it.

If this guess is correct, you may see the error message like this:
Unhandled Exception: System.ComponentModel.Win32Exception: The specified executable is not a valid application for this OS platform.

At this time, this behavior is limitation of Selenium.WebSriver.GeckoDriver NuGet package.
The workaround of this problem is, editing your project file (.csproj) and appending <GeckoDriverPlatform>win32</GeckoDriverPlatform> node.
Build this .csproj, you will get project output binaries that will work fine on 32bit Windows OS.
(Instead, this binaries will not work 64bit Windows OS.)


Simulator Gif Feature

Description
Record a gif of the simulator.
How to use it?
Click on share. Then click on the "record" button in the share dialog to start and stop the recording.
If you cannot see that button and you editor supports this experiment, go to About, then click Experiments and Simulator Screenshot. If you cannot see this card, your editor does not support yet this feature.
Feedback
Do you use this feature? Is there something you'd like to change? Did you encounter issues? Please drop a comment on this issue to send us your feedback.

This a great feature, thanks MakeCode team!
I tried it today in makecode.microbit.org/beta but it shows the "Oops, gif encoder could not load. Please try again." error:

Chrome 72.0.3626.109 (Official Build) (64-bit), on macOS Mojave.

We need to update our cloud to serve the gif web worker (funny CORS rules about those). Should be fixed today.

The cloud is deployed. You will need to force an editor reload so add a bit of ?asdkjfalksdjfsa to the URL.

Works great, thanks Peli!

Awesome feature - might there be any way to record for a bit longer, it seems to be very short?

@microbit-giles we've improved the compression of frames. However the image is designed to be uploaded to our cloud so we are limiting the size of the generated gif.

it works now.

Gif generation has been improved on microbit. @microbit-giles  - you should be able to generate longer gifs.

@pelikhan Thank you - awesome!

This experiment doesn't seem to be present in the share screen in MakeCode 2022.


AND does not work with LIKE

 Query query = QueryBuilder.select(SelectResult.property("type"), SelectResult.expression(Meta.id))
                    .from(DataSource.database(database))
                    .where(Expression.property("name").like(Expression.string("%foo%")));

and
 Query query = QueryBuilder.select(SelectResult.property("type"), SelectResult.expression(Meta.id))
                    .from(DataSource.database(database))
                    .where(Expression.property("description").equals(Expression.string("bar")));

Both individually work. But if you try to do this:
Query query = QueryBuilder.select(SelectResult.property("type"), SelectResult.expression(Meta.id))
                    .from(DataSource.database(database))
                    .where(Expression.property("description").equals(Expression.string("bar"))
                            .and(Expression.property("name").like(Expression.string("%foo%"))));

where there is a clear intersection of data in the database, it will not return anything.
This is in DB023

Hi @ascendancy05,
Thank you for using DB023 build and your feedbacks.
I wrote the unit test to reproduce the issue. See below codes. However, I could not reproduce the issue.  I am wondering if it might cause the problem that your codes uses equals(Object) method instead of equalsTo(Expression) method. Please review your codes?
    @Test
    public void testQueryAndNLikeOperators() throws Exception {

        MutableDocument mDoc1 = new MutableDocument("doc1");
        mDoc1.setString("name", "food");
        mDoc1.setString("description", "bar");
        save(mDoc1);

        MutableDocument mDoc2 = new MutableDocument("doc2");
        mDoc2.setString("name", "foo");
        mDoc2.setString("description", "unknown");
        save(mDoc2);

        MutableDocument mDoc3 = new MutableDocument("doc3");
        mDoc3.setString("name", "water");
        mDoc3.setString("description", "drink");
        save(mDoc3);

        MutableDocument mDoc4 = new MutableDocument("doc4");
        mDoc4.setString("name", "chocolate");
        mDoc4.setString("description", "bar");
        save(mDoc4);

        // LIKE operator only
        Query q = QueryBuilder.select(SelectResult.expression(Meta.id))
                .from(DataSource.database(db))
                .where(Expression.property("name").like(Expression.string("%foo%")))
                .orderBy(Ordering.expression(Meta.id));
        ResultSet rs = q.execute();
        int numRows = verifyQuery(q, new QueryResult() {
            @Override
            public void check(int n, Result result) throws Exception {
                assertEquals(1, result.count());
                if(n == 1)
                    assertEquals("doc1", result.getString(0));
                else
                    assertEquals("doc2", result.getString(0));

            }
        }, true);
        assertEquals(2, numRows);

        // EQUAL operator only
        q = QueryBuilder.select(SelectResult.expression(Meta.id))
                .from(DataSource.database(db))
                .where(Expression.property("description").equalTo(Expression.string("bar")))
                .orderBy(Ordering.expression(Meta.id));
        rs = q.execute();
        numRows = verifyQuery(q, new QueryResult() {
            @Override
            public void check(int n, Result result) throws Exception {
                assertEquals(1, result.count());
                if(n == 1)
                    assertEquals("doc1", result.getString(0));
                else
                    assertEquals("doc4", result.getString(0));

            }
        }, true);
        assertEquals(2, numRows);

        // AND and LIKE operators
        q = QueryBuilder.select(SelectResult.expression(Meta.id))
                .from(DataSource.database(db))
                .where(Expression.property("name").like(Expression.string("%foo%")).and(Expression.property("description").equalTo(Expression.string("bar"))))
                .orderBy(Ordering.expression(Meta.id));
        rs = q.execute();
        numRows = verifyQuery(q, new QueryResult() {
            @Override
            public void check(int n, Result result) throws Exception {
                assertEquals(1, result.count());
                assertEquals("doc1", result.getString(0));
            }
        }, true);
        assertEquals(1, numRows);
    }

Hi @ascendancy05,
Thank you for your quick response. Currently, I can not reproduce this issue with latest codes.
I have two requests:

Could you please try to use 2.0.0-455 which is current RC build.
Can you share the codes and data?

I am wondering if you are facing the LIKE operator issue of in-case-sensitive matching.  Data is uppercase and query string is lowercase. This query does not match. The current beta documentation information is also incorrect. We already notice this.
https://github.com/couchbase/couchbase-lite-core/issues/296

Hey @hideki
This issue can be closed. Can confirm it is definitely because of the linked issue in lite-core. I see that issue is iceboxed? Is there any plan to get that implemented soon?

HI @ascendancy05
As workaround, you could use Function.lower().
example
Function.lower(Expression.property("name")) .like(Expression.string("museum")))

https://github.com/couchbase/couchbase-lite-core/issues/296#issuecomment-359946319


Fix validation of bin_dir that contains an empty str

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

12 of 12 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 99.849%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
12548

Relevant Lines:
12567

💛  - Coveralls


Use dedicated threadpool for logindexsearcher

This introduces a dedicated threadpool with a named executor for better visibility. By default parallelStream uses the forkjoin pool, which is sized to available processors - 1. Since we queue so many tasks this introduces possible deadlocks with other tasks attempting to use the forkjoin pool.

Attempting a revert of the parallel functionality first - https://github.com/slackhq/kaldb/pull/296


Determine ID value for converted notes

Since we're basically adding notes through the import function, the converted notes will need a new ID value.

Noticed that notes that are listed/contained under a folder do not have a unique ID, so theoretically we should just be able to grab the first note's ID to get the current max and then just increment from there.

The position value for a note does reset when a note is added to a different folder. Number appears to start at zero and then increment from there, so for the user's chosen folder, we'll need to parse through existing notes contained in that folder and then grab the max value.


Fix Onvif setup error: premature end of connection on GetStreamURI

Description:
Reconnect to onvif camera after getting profiles to fix this error :
[homeassistant.components.onvif.camera] Retrieving stream uri
[zeep.asyncio.transport] HTTP Post to http://<IP_ADDRESS>/onvif/Media:
b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<soap-env:Envelope xmlns:soap-env="http://www.w3.org/2003/05/soap-envelope"><soap-env:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
2019-09-20 01:08:51 ERROR (MainThread) [homeassistant.components.camera] Error while setting up platform onvif
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiohttp/client_reqrep.py", line 553, in write_bytes
    await self.body.write(writer)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/payload.py", line 231, in write
    await writer.write(self._value)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/http_writer.py", line 101, in write
    self._write(chunk)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/http_writer.py", line 67, in _write
    raise ConnectionResetError('Cannot write to closing transport')
ConnectionResetError: Cannot write to closing transport

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/usr/src/homeassistant/homeassistant/components/onvif/camera.py", line 110, in async_setup_platform
    await hass_camera.async_initialize()
  File "/usr/src/homeassistant/homeassistant/components/onvif/camera.py", line 168, in async_initialize
    await self.async_obtain_input_uri()
  File "/usr/src/homeassistant/homeassistant/components/onvif/camera.py", line 266, in async_obtain_input_uri
    stream_uri = await media_service.GetStreamUri(req)
  File "/usr/local/lib/python3.7/site-packages/zeep/asyncio/bindings.py", line 13, in send
    options["address"], envelope, http_headers
  File "/usr/local/lib/python3.7/site-packages/zeep/asyncio/transport.py", line 107, in post_xml
    response = await self.post(address, message, headers)
  File "/usr/local/lib/python3.7/site-packages/zeep/asyncio/transport.py", line 95, in post
    proxy=self.proxy,
  File "/usr/local/lib/python3.7/site-packages/aiohttp/client.py", line 497, in _request
    await resp.start(conn)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/client_reqrep.py", line 844, in start
    message, payload = await self._protocol.read()  # type: ignore  # noqa
  File "/usr/local/lib/python3.7/site-packages/aiohttp/streams.py", line 588, in read
    await self._waiter
aiohttp.client_exceptions.ClientOSError: [Errno None] Can not write request body for http://<IP_ADDRESS>/onvif/Media

Breaking Change:

Description:
Related issue (if applicable): fixes #
Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[ ] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

Hi @olijouve,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Why does it fix the error?

Good question.
I've got 2 cheap chinese besder 1080p PTZ ONVIF cameras and both fail on setup with the same stacktrace i previously posted.
This camera use a Goke GK7102 linux OS/firmware that is communly used for various chinese ip camera.
Here is my model:
https://fr.aliexpress.com/item/32983091234.html
Not really sure why but each time it arrives to the "Retrieving stream uri" step(no issue in all the wsdl step before), connection get close and it cannot reuse previously created media_service, crash and fails to setup.
I suspect this camera, Zeep or aiohttp to close connection after async_obtain_profile_token() / media_service.GetProfiles()
But adding media_service = self._camera.create_media_service() fix my issue as it create a new connection for retrieving URI and then succeeds to setup onvif component.

Hey @hunterjm, do you have enough knowledge about this topic to review this PR?

I don't have an issue with the current implementation, but can pull this patch in locally and verify it with my HikVision cameras tonight.

@balloob - Ran this locally and it works (both the old way and new way) for my cameras.  I'm not sure why this would be an issue with the Ali Express cameras, but if this fixes it... :man_shrugging:?


I.AcceptPopup not working

Hi
I have a problem with accepting a popup. I don't think that this is an issue with CodeceptJS directly, but more an issue with PhantomJS. I have built a simple test page:
<html>
  <body>
    <h2> Hello </h2>
    <div>
      <p> This is a random text! </p>
      <script>
        var val = confirm('Are you sure?');
        if (val) document.write('good job');
      </script>
    </div>
  </body>
</html>

As you can see after accepting the popup there should be a change in the DOM. But when calling I.seeInPopup('Are you sure') I get the following error:
TypeError: Cannot read property 'indexOf' of undefined
      at Object.InclusionAssertion.haystack (/usr/lib/node_modules/codeceptjs/lib/assert/include.js:18:22)
      at InclusionAssertion.assert (/usr/lib/node_modules/codeceptjs/lib/assert.js:41:34)
      at Object.<anonymous> (/usr/lib/node_modules/codeceptjs/lib/helper/WebDriverIO.js:815:39)
      at Object.<anonymous> (/usr/lib/node_modules/codeceptjs/node_modules/webdriverio/lib/webdriverio.js:369:37)
      at Object.safeExecute (/usr/lib/node_modules/codeceptjs/node_modules/webdriverio/lib/utils/safeExecute.js:19:24)
      at Object.WebdriverIO.resolve (/usr/lib/node_modules/codeceptjs/node_modules/webdriverio/lib/webdriverio.js:87:29)
      at /usr/lib/node_modules/codeceptjs/node_modules/webdriverio/lib/webdriverio.js:227:32
      at _rejected (/usr/lib/node_modules/codeceptjs/node_modules/q/q.js:830:24)
      at /usr/lib/node_modules/codeceptjs/node_modules/q/q.js:856:30
      at Promise.when (/usr/lib/node_modules/codeceptjs/node_modules/q/q.js:1108:31)

How can I handle popups in CodeceptJS?

Looks like a bug. Strange, I thought I had tests for this case

Probably this because webdriverio changed its api. Please try new CodeceptJS with webdriverio 4.0
Alternatively, maybe phantomjs doesn't support testing of alerts in any good way.
If this issue only appears in phantomjs - please don't reopen this issue


Saving a Lead raises: TypeError: call() got an unexpected keyword argument 'query'

Django: 1.10.3
Python: 3.5.2
I can do the following just fine:
list(Lead.objects.all())

All is well, but when I try to save a Lead:
obj = Lead(
        email=email,
        first_name=first_name,
        last_name=last_name,
        status=status,
        lead_source=lead_source
    )

obj.save()

I receive the following error:
Traceback (most recent call last):
  File "/usr/app/my_project/api/services/crm/tests/test_action_create.py", line 22, in test_ok
    obj = actions.create(
  File "/usr/app/my_project/api/services/crm/actions/create.py", line 22, in create
    obj.save()
  File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py", line 796, in save
    force_update=force_update, update_fields=update_fields)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py", line 824, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py", line 908, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py", line 947, in _do_insert
    using=using, raw=raw)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py", line 1045, in _insert
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/usr/local/lib/python3.5/site-packages/salesforce/backend/compiler.py", line 476, in execute_sql
    cursor = self.connection.cursor(query=self.query)
TypeError: __call__() got an unexpected keyword argument 'query'

Ok! this was my error.
We are creating an application that doesn't use a database.
My unit tests were running under django.test.SimpleTestCase which is where I was getting the error. I switched it to django.test.TestCase and got an error as well as we have no default ENGINE.   Switching my unit tests to just unittest.TestCase fixed the issue.
I suppose I could also set the salesforce DB as the default under DATABASES in my settings.

Yes, it is in Django docs:

If your tests make any database queries, use subclasses TransactionTestCase or TestCase.

It is not usual to set Salesforce as 'default' (SALESFORCE_DB_ALIAS = 'salesforce') because you probably want admin etc. and Django INSTALLED_APPS needs some system tables like django_* and auth_* that you probably don't want to create on SFDC manually, however if you remove all ''django.*' apps from INSTALLED_APPS and everything about "admin" from "urls.py" than it is easy.


[Api] Check Notify (always return json)

it makes it way more easyer for clients if there is always a json they can parse if they like ...
or just check the http Status ...
also included: smal code format

Reason For reopen: I was reasently asked If I can change this, since it would be mouch easyer to use ... and since THIS API is in no release It's not a breaking change I would say?

I think you have to change the status code if you're going to return content.

to witch one? https://httpstatuses.com/
I still think 204 is the closesd match

Ping LGTM

ping lgmt


Locked Files Prevent Log Collection

In some cases, a log file could be exclusively opened by another application for writing. This prevented the Monitor's log collection process from completing. This also prevented automated uploads.
Excerpt from C:\ProgramData\Qlik\Gateway\Monitor\monitor_YYYYMMDD.log:
2024-01-09 09:05:13.960+00:00 [117] [ERR] (Microsoft.AspNetCore.Server.Kestrel) Connection id ""0HMVURT177JH2"", Request id ""0HMVURT177JH2:00000002"": An unhandled exception was thrown by the application.
System.UnauthorizedAccessException: Access to the path 'C:\Program Files\Qlik\ConnectorAgent\data\logs\dcaas_logs11.txt' is denied.

The solution chosen was to have the Monitor skip files when access errors occur at the time of log collection. The files are marked in the Processed\FileList.csv in the generated log package as Processed=False and the Message is set to the underlying error.
Processed\FileList.csv example:
RootPath,RelativePath,CreationTimeUtc,LastWriteTimeUtc,Processed,Message
C:\Program Files\Qlik\ConnectorAgent\data\logs,dcaas_logs.txt,08/30/2023 15:20:51,01/09/2024 21:32:22,False,The process cannot access the file 'C:\Program Files\Qlik\ConnectorAgent\data\logs\dcaas_logs.txt' because it is being used by another process.


investigate loosing datatype

Provided by @lccambiaghi
(let [ds (-> (ds/->dataset [{"date" #time/date "2010-09-02", "ppg" 11.48, "quality" "high"}
                            {"date" #time/date "2010-09-02", "ppg" 3.53, "quality" "low"}
                            {"date" #time/date "2010-09-02", "ppg" 8.47, "quality" "medium"}])
             (dss/group-by ["quality" "date"])
             (dss/aggregate {:mean-price #(dfn/mean (% "ppg"))})
             )]
  (dss/info ds) )
;; => _unnamed: descriptive-stats [3 10]:
;;    |   :col-name | :datatype | :n-valid | :n-missing | :min |      :mean |      :mode |  :max | :standard-deviation |       :skew |
;;    |-------------|-----------|----------|------------|------|------------|------------|-------|---------------------|-------------|
;;    | :mean-price |  :float64 |        3 |          0 | 3.53 | 7.82666667 |            | 11.48 |          4.01385517 | -0.70272343 |
;;    |        date |   :object |        3 |          0 |      |            | 2010-09-02 |       |                     |             |
;;    |     quality |   :object |        3 |          0 |      |            |        low |       |                     |             |

This doesn't work:
(dss/convert-types ["date"] :packed-local-date)

Aggregating uses group-id and this way losses datatypes. We should keep information about datatype and restore it when it's possible.

fixed in pre-alpha9 (will be deployed soon).

Thank you so much for your help!!


If only non-defending units are left defending a city after combat, it should be destroyed

This is a follow-up to #286
Currently, if a non-combat unit is the only defending unit when a rival unit attempts to move into the city, it is destroyed (eventually it will be captured).
However, if there is exactly one defending unit, and it is defeated, the city is not destroyed.  A lone Catapult may prevent capture, for example.
This appears to be due to the interaction of these code blocks:
	// If the enemy was defeated, check if there is another enemy on the tile. If so we can't complete the move
	// but still pay one movement point for the combat.
	else if (combatResult == CombatResult.DefenderKilled || combatResult == CombatResult.DefenderRetreated) {
		if (!unit.CanEnterTile(newLoc, false)) {
			unit.movementPoints.onUnitMove(1);
			return true;
		}

And and CanEnterTile method in MapUnitExtensions (excerpt):
		// Check for units belonging to other civs
		foreach (MapUnit other in tile.unitsOnTile)
			if (other.owner != unit.owner) {
				if (!other.owner.IsAtPeaceWith(unit.owner))
					return allowCombat;
				else
					return false;
			}

It is returning false because allowCombat is false since combat already ended.
A better way of doing this might be to utilize TileExtension's FindTopDefender method (which uses MapUnitExtension's canDefendAgainst method, and if there are no defenders, the unit can move in.
But CanDefendAgainst will also need to be enhanced to account for non-defense-capable units.
Adding the refactor tag since there is some duplication of logic between methods, and the area can probably be simplified a bit.

Random seed:<PHONE_NUMBER>
Commit: 9b0998bbaf288c987df3c630bfaa22ce76196769
Turn: 56
A Veteran Barbarian Warrior will attack Babylon and win, with one hitpoint left.  Right-click on Babylon and you can see in the console that only one Catapult remains.


Documentation for someEntity.Unwrap() panic

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡
It is not clear that calling Unwrap() on a non-transactional entity causes a panic. I think the documentation should show that a panic will occur in this case.

Motivation 🔦

While writing some tx logic for work, I had assumed that calling Unwrap() after a tx was complete would be a no-op, but discovered that it indeed causes a panic. I figured I might try to leave a note for the next lad.
I have submitted a PR for this here, but wanted to open an issue for discussion.
I am also wondering, what's the reasoning for a panic here? I did realize later on that in my case, calling Unwrap() wasn't necessary where it caused the panic, but do you think it would be safe enough for Unwrap() to be a no-op in the non-transactional case?
Thanks a bunch, and have a good day! 😁

resolved with #4217


Logo

We need a cool logo in the Julia colors: https://github.com/JuliaLang/julia-logo-graphics#color-definitions
Maybe a "parallel version" of https://github.com/JuliaLabs/Cassette.jl's logo could be an idea.

Remember these?

:)

This is awesome! If @Mellich agrees, I'd be happy to have this as our logo here! In this case, we'd likely also want a white-background variant (if that still looks decent) and a static svg version.
(Hope you're doing fine, btw. Was great to meet you in person at MIT this summer 🙂)

Hi Carsten! Seems like a long time ago, but it's only 3 months... :) All good here.
https://github.com/pc2/MPITape.jl/assets/52289/9b839403-f0e7-4dc1-a143-9e0feac4b309
Don't hesitate to ask for changes... always happy to help.

I do and this is awesome! If @Mellich agrees, I'd be happy to have this as our logo here!

Absolutely, very nice!

For a social media preview image, I could use an introductory paragraph ...

Hi @cormullion,
I just noticed, that in the animation of the logo, the purple wheel seems to turn in the wrong direction. Would it be possible for you to provide a fixed version of the animation? Thanks again for your contribution!

Haha, OK

Haha, OK

Perfect, thanks!

Can I get one without the "reverse" effect? 😄

Thanks!

(I watched this old classic on TV last month, I may have been unduly influenced by it.)

Haha :)


Operators in the beginning of line instead of end?

Currently,
if (
  condition_1
  && condition_2
  && condition_3
) {
  doSomething()
}

gets formatted to
if (
  condition_1 &&
  condition_2 &&
  condition_3
) {
  doSomething()
}

This looks good if the conditions are short and of the same length, but quickly becomes messy:
if (
  condition_1 &&
  condition_2_that_is_longer &&
  condition_3_shorter
) {
  doSomething()
}

vs
if (
  condition_1
  && condition_2_that_is_longer
  && condition_3_shorter
) {
  doSomething()
}

Airbnb agrees
Opinions?

Interesting, to me personally it looks a bit off, but that's probably because I'm not used to it.
The larger problem here is that it probably breaks a Actually, it seems like Standard accept both styles. What are you using to format the code? I think that the change isn't actually coming from Standard...

Interesting, to me personally it looks a bit off, but that's probably because I'm not used to it.
~The larger problem here is that it probably breaks a~ Actually, it seems like Standard accept both styles. What are you using to format the code? I think that the change isn't actually coming from Standard...

In my opinion the second style is cleaner because the && will always be aligned in the beginning, and linguistically it reads more natural (this, AND this, AND this vs this AND, this AND, this).
I'm using Standard in VSCode and this is the message I get:
'&&' should be placed at the end of the line. (operator-linebreak)standard(operator-linebreak)

Changing "operator-linebreak" from "after" to "before" breaks 39 out of 219 repositories using Standard style. That's quite a high number, which I why we probably won't make this change unless we have a very good justification....

Feeling into it a little bit, "before" seems nicer. And more diff-friendly, as well. Which is a win in my book.

We chose the "operator goes before the linebreak" style because when you look at a line we want there to be an indication that the statement is "unfinished" and you need to read the next line.
I don't think we want to change this at this time.


How to use <IP_ADDRESS>:5566  on inside another container

Hi,
I installed the mattes/rotating-proxy and it working just fine form the host,
But how can I use the proxy inside another container ? what is the IP address I have to use

@beshoo  There are many ways of doing networking between containers:
https://docs.docker.com/network/


Update README to account for common mistakes.

@rogueleaderr It had been a while since I used the guide and I'd forgotten a lot of the common mistakes and troubleshooting steps. It took enough time to re-learn that I think it'd be good to put some notes in. This PR adds a deploy troubleshooting section and a couple clarifications and settings defaults in the rest of the doc. Let me know if you think this is worth adding in

Good changes.


Disable DebugHudMixin when OptiFabric is detected

Issue
The combination BoringTweaks + OptiFabric + OptiFine crashes on startup:

org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
(...)
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector renderHudWithShadow(Lnet/minecraft/class_327;Lnet/minecraft/class_4587;Ljava/lang/String;FFI)I in boringtweaks.mixins.json:DebugHudMixin failed injection check, (0/1) succeeded. Scanned 2 target(s). Using refmap boringtweaks-refmap.json

Fix
Conditionally disabling DebugHudMixin fixes the issue.
Setting "injectors": { "defaultRequire": 0 } fixes the crash too, but then you won't know if a mixin fails.
I couldn't find a way to gray out or otherwise disable options inside ModMenu, so I adjusted the description.

Seems like a good PR, however, I feel like I should solve this by using a less hacky way of changing the debug HUD since redirects could also cause issues with mods that aren't OptiFine, so, I'll close this in favor of solving this directly


Port 9000

when pulling the docker image and running it, you are receiving no response from the server.
You have to manually adjust the docker-compose.yml and change the port from 3000:3000 to 9000:9000 of the nes-ui-image

I can confirm that.

Closed with #8c3fe44


➜ Heavy Round-Tipped Rightwards Arrow (U+279C) not fully drawn with AtlasEngine

Windows Terminal version
45b1cde0bca6b47f922b5dd749900662951df718
Windows build number
10.0.19044.0
Steps to reproduce
Paste and look at ➜ with AtlasEngine enabled.
Expected Behavior
Arrow should be fully drawn.
Actual Behavior
Arrow is missing the tip.

It will be fixed by #13549, let's close it as duplicate...


bower ENOTFOUND

bower ENOTFOUND     Request to https://bower.herokuapp.com/packages/angular-permission failed: getaddrinfo ENOTFOUND bower.herokuapp.com bower.herokuapp.com:443
Please fix this

Well, my firewall was the culprit. Sorry for the noise.


Add TheAudioProgrammer Discord server

Hi !
I suggest to add TheAudioProgrammer Discord server in the Places section. It's a great active community about Audio programming.
Feel free to update the description... i mean, as english is not my native language, the small description i've added is probably a bit "dry" compared to the list style.
Regards,

good idea, thanks!


Not Generating Native express ads impression

I had implemented it on my listview , with express ads but it's not generation any impression on admob dashboard , btw i used native ad unit id ad publisher id

you might be right, I just reviewed adsense panel, and indeed there was no impressions.
I just released my app today with native ads included within listview, so will wait a couple of days before further investigating.


Durability tier warning when using availability zones

Describe the bug
After upgrading to service fabric 9.1.1390.9590, service fabric explorer shows a warning for node types stating that less node type instances exist in the cluster for the configured durability tier when availability zones are enabled, even though the minimum number of nodes are present in the node type
To Reproduce
Steps to reproduce the behavior:

Deploy or upgrade cluster to 9.1.1390.9590.

Deploy node type with the following configuration

Durability tier: Silver
Instance count: 15
Availability zones: 3
Zone Balance: true
OS SKU: 2022-Datacenter

Check service fabric explorer overview to view warning

Expected behavior
Warning should not be displayed when the minimum number of nodes deployed for each zone satisfy the minimum number of VMs for each availability zone for the configured durability tier
Screenshots
Screenshot of warning banner

Screenshot displays cluster map of impacted node type

Additional context

We run multiple clusters but are currently testing node types with availability zones. This only appears to affect our silver durability tier node type which has 3 availability zones set and 15 node type instances (5 nodes per zone).
The clusters service Fabric zonal upgrade mode is set to an empty string which defaults to hierarchical upgrade mode
The clusters VMSS zonal upgrade mode is set to parallel.
The clusters reliability tier is set to Platinum

hey this is going to be fixed with 9.1 CU 1


Change python shebang to use python2

Some distributions use python3 as default python,
so move shebang to env python2.
Signed-off-by: Yang Bai<EMAIL_ADDRESS>

Hi @hamo, thanks for pointing this out.
I'd prefer to address the underlying issues rather than building in a hard dependency to python 2. Can you check if pull req #22 addresses the python3 issues? Thanks!

@amscanne  both hard code python2 and making scripts compatible with python3 are fine way to fix this issue and I also believe that compatibility is better. Feel free to close this merge request.

This should be fixed by: 52be905d0d40b0a802856637d1ae420733961385.


Testmatrix #trivial

Adds make test-smoke-ls which prints out smoke test dimensions and top-level test names in copy/pastable format for GO_TEST_RUN= env var, used in combo with make test-smoke to run subset of tests.
Internally makes it easier to add more dimensions by generating all combinations automatically, and handles stable test naming, order of dimension names for GO_TEST_RUN purposes, and naming/adding additional values to those dimensions.

LGTM!
No errors, no warnings. :shipit:

  Generated by :no_entry_sign: Danger

Closing as GitHub has failed to reflect last 2 commits to the branch. Opening a new PR...


Recipe: Setting Up an Exchange Node (without docker)

As an exchange, I would like to know how to set up my own node, so that I can track deposits and broadcast without having to rely on external infrastructure.
Basically, adapt this, but without docker: https://steemit.com/steem/@steemitdev/how-to-set-up-a-steem-exchange-node-in-60-minutes-or-less
Original issue: https://github.com/steemit/devportal/issues/369
Might overlap #7, but having both recipes is still ideal.
AC

[ ] overview on why a private node is a good idea
[ ] mention that there's a docker solution
[ ] troubleshooting section for common pitfalls

0130629e56376b209f71a6354eaebbc700bd3359


Check permissions for command list + completions

Features work already. Although I might want to change a few function signatures, etc still.

When done this should fix #617.

this is a draft PR want me to look at it @Kumpelinus

I marked it as a draft originally because I thought I would make quite a few more changes, but I think it might already be fine as it is.


Update quick-xml to 0.31.0

CI failure should be fixed in https://github.com/mike-kfed/lcov2cobertura/pull/9.

thanks!


Snyk upgrade b703574f74805c012d9d3d796b3de307

Not sure what this was intended to fix. If it's just a dependency update, we have a separate process for that. Closing this one as not needed.