Please Clarify: How to Use Programmatic Resolvers?

Hello,
I have been studying the example provided in the "Combine multiple Sources" guide, which is accompanied by the packages/multiple-sources-prog-resolvers code in this repo.
I have a similar use case for GQL Mesh where I am trying to setup a nested hierarchy between types - but I would like some input, to help double check if I really understand how this library works:

In the example I linked above, one of the hierarchies that gets added into the gateway is for the Book type. It initially has a field called authorId, and gets an additional field called author. .
First question: in the resolvers.ts, I can see we set the selectionSet to contain the authorId. I would like to know exactly why this line is required - like, is it to let GQL Mesh know that when we provide it an id, it should understand that to be an authorId, and thereby go about retrieving the appropriate author successfully?
Second question: on a related note, how would the implementation of this resolver function change, if we did not have a the authorId field on Book? Like, how would we potentially pass in that arg through another means, e.g. the _args object?
Third question: what does it mean if my GQL mesh generates a QuerySdk type for me (which, I suppose can be used to implement an additionalResolver, yet there's a comment in its body that says /** null **/?

Here's what I mean as an example - does null comment mean my InContextSdkMethod will always return null, no matter what?
// services/gateway/.mesh/sources/someServiceName/types.ts
export type QuerySdk = {
      /** null **/
  someFieldName: InContextSdkMethod<Query['someFieldName'], QuerysomeFieldNameArgs, MeshContext>
  };

Thanks in advance for your help!

First question: in the resolvers.ts, I can see we set the selectionSet to contain the authorId. I would like to know exactly why this line is required - like, is it to let GQL Mesh know that when we provide it an id, it should understand that to be an authorId, and thereby go about retrieving the appropriate author successfully?

selectionSet means the least required selection needed for that additional resolver.
We need authorId in order to get author.

on a related note, how would the implementation of this resolver function change, if we did not have a the authorId field on Book? Like, how would we potentially pass in that arg through another means, e.g. the _args object?

The only way of doing that is to use selectionSet

what does it mean if my GQL mesh generates a QuerySdk type for me (which, I suppose can be used to implement an additionalResolver, yet there's a comment in its body that says /** null **/?

We need a reproduction for that to answer. I don't have much idea why it has null.
Closing this issue since it is a Q&A :) We can keep the conversation here.


system information view under admin settings to include private_network_cidr

relates to https://github.com/jambonz/jambonz-api-server/pull/341

PR is merged, closing this issue


KAFKA-9705: (part-1) add redirection fields in the request header

Add the redirection supporting fields, including:

initial principal name
initial client id
the flag to indicate whether a given request is coming from the control plane in a secured environment.

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

We should also have a test of the privileged listener logic, to ensure that the right listeners are privileged in various configurations (not sure what junit test file that could go in ... socket server test maybe?)  Ideally we would do it as a unit test and not open sockets, etc.

LGTM


Create the course content for the ICP course.

https://github.com/dacadeorg/icp-marketplace-rest-api - Repo not public yet. Will make it soon.
Check in on JS agents.
https://github.com/dacadeorg/icp-message-board-contract

Moritz and Taras had some issues, @Emmanuel-umeh waiting on that to be resolved before creating course content. Check in with @moritzfelipe on Monday, 5 June.

[ ] Put a gif of the interactions of the final build product.
[ ] Add more gifs where applicable (DFX command line, e.g.)
[ ] Create a final version of the product and make a codespace out of it.
[ ] Come up with a simple challenge for the course.
[ ] For the intro chapter, find the best video and two articles that explain ICP.

Waiting for @moritzfelipe to confirm whether reviewed and merged.

Done


hare: Certificate should include known equivocator's malfeasance proof and eligibility

Description
at notify round, a miner would construct a Certificate from the commit messages that it received.
since the threshold is f+1-k where KE (known equivocators) may not have an actual commit message, just an eligibility proof.
say f=100, the miner collected 100 commit messages and 1 KE.
so the commit round passes threshold. but the miner can only include 100 commit messages in the Certificate.
so in notify rounds, this particular Certificate was consider invalid by other miners because it doesn't pass the threshold,
and the Certificate doesn't record info about KE.
Tal's response
other miners should also have have the malfeasance proof and eligibility from gossip.
But to solve the timing problem that can cause some miners to receive the certificate
before the malfeasance/eligibility, you should include both the malfeasance proof and
eligibility proof in the certificate.

should assess priorities based on the implementation of hare 3

this is also observed in testnet-05
2023-06-24 11:47:06.254 | {"L":"WARN","T":"2023-06-24T14:47:06.254-0400","N":"718f8.hare","M":"invalid certificate","node_id":"718f8e6723d19b084760eb3a2ebd0c73351691017e6f6b59a28fc1aadafbd96c","module":"hare","protocol":"hr1_tickloop","sessionId":"c79d438f-ee41-4d76-ab31-ed56c0941cb2","errmsg":"number of messages does not match the threshold: expected 101, actual dishonest 0 honest 95","name":"hare"}

i think we should instead include signatures from whole committee. and not include malfeasance proofs

i am inclined to wait for hare3...


StreamEx.ofTree: rewrite with custom spliterator

Currently StreamEx.ofTree implementation is flatMap-based and inherits all the flatMap issues: poor short-circuiting and buffering when external iteration used. It's possible to write custom spliterator which would be free of these disadvantages and probably could split better.

Benchmarks show that new implementation is indeed better
Stream source in all tests is:
StreamEx.ofTree("", s -> s.length() == depth ? null : Stream.of("a", "b", "c").map(s::concat));
~~~

count = .count(), has = .has("a") (find the second element in the stream), hasNone = .has("foo") (find non-existing element). Quasi means that `.pairMap(String::concat)` quasi-intermediate op is added.

Benchmark | (depth) | 0.6.1, us | 0.6.2, us | 0.6.1, bytes | 0.6.2, bytes
---|---:|---:|---:|---:|---:|
streamExCount | 1 | 0.363 | 0.261 | 1064 | 680
streamExCount | 3 | 4.364 | 2.997 | 10224 | 5984
streamExCount | 5 | 44.677 | 28.528 | 94914 | 54976
streamExHas | 1 | 0.271 | 0.254 | 856 | 792
streamExHas | 3 | 1.604 | 0.307 | 3920 | 1104
streamExHas | 5 | 13.745 | 0.310 | 32768 | 1080
streamExHasNone | 1 | 0.440 | 0.371 | 1136 | 888
streamExHasNone | 3 | 5.306 | 4.619 | 10232 | 8184
streamExHasNone | 5 | 46.949 | 39.143 | 96840 | 75810
streamExQuasiCount | 1 | 0.509 | 0.410 | 1208 | 856
streamExQuasiCount | 3 | 6.104 | 4.501 | 11488 | 7024
streamExQuasiCount | 5 | 55.119 | 43.443 | 110783 | 66262
streamExQuasiHas | 1 | 0.307 | 0.290 | 936 | 944
streamExQuasiHas | 3 | 1.639 | 0.353 | 4024 | 1208
streamExQuasiHas | 5 | 13.941 | 0.349 | 32848 | 1160
streamExQuasiHasNone | 1 | 0.569 | 0.572 | 1240 | 1160
streamExQuasiHasNone | 3 | 6.620 | 5.925 | 11704 | 10448
streamExQuasiHasNone | 5 | 60.728 | 52.358 | 110928 | 89887

Short-circuiting ops indeed become short-circuiting. All times are better except `streamExQuasiHasNone` (difference 0.569/0.572 is statistically insignificant here). Allocated bytes are always less except `streamExQuasiHas` (936/944).

Current implementation refuses to parallelize at all. 0.6.1 implementation could parallelize the top level of the tree. It would be nice to preserve this level of parallelization in 0.6.2 as well.

It was discovered that if mapper function contains an intermediate operation and does not have explicit .parallel() it was not parallelized (only root node was handled in parallel with other nodes). So it was necessary to specify .parallel() twice like StreamEx.ofTree(root, x -> x.stream().map(...).parallel()).parallel(). Now it's fixed: only the resulting stream should be paralleled.
Here's benchmark results for depth 5,7,9:
Parallel:

test
(depth)
0.6.1 bytes
0.6.2 bytes
0.6.1 us
0.6.2 us

streamExCount
5
96551
56305
31.2
22.4

streamExCount
7
883352
503408
234.9
133.6

streamExCount
9
7932148
4684978
2113.4
1245.3

streamExHas
5
97970
6832
34.2
7.9

streamExHas
7
902202
40231
270.1
26.4

streamExHas
9
8071357
108467
2547.6
51.7

streamExHasNone
5
98719
77180
34.4
29.5

streamExHasNone
7
902192
691459
270.7
190.2

streamExHasNone
9
8071358
6377684
2690.6
1742.1

streamExQuasiCount
5
110627
70785
59.3
28.8

streamExQuasiCount
7
1035622
669264
415.0
180.4

streamExQuasiCount
9
9479318
6415613
3452.0
1824.7

streamExQuasiHas
5
107859
31855
65.6
21.0

streamExQuasiHas
7
1010192
289295
481.0
174.3

streamExQuasiHas
9
9142122
2764214
4417.1
1488.2

streamExQuasiHasNone
5
112680
91537
68.4
34.1

streamExQuasiHasNone
7
1054365
844144
478.8
231.7

streamExQuasiHasNone
9
9678526
7984309
4404.6
2168.2

Sequential:

test
(depth)
0.6.1 bytes
0.6.2 bytes
0.6.1 us
0.6.2 us

streamExCount
5
94914
53056
44.7
28.5

streamExCount
7
882456
475888
433.5
258.2

streamExCount
9
7996216
4447533
3744.5
2272.8

streamExHas
5
32776
1080
14.2
0.3

streamExHas
7
296464
1080
130.5
0.3

streamExHas
9
2769330
1080
1221.2
0.3

streamExHasNone
5
96845
75809
48.9
38.7

streamExHasNone
7
907648
690096
470.4
354.7

streamExHasNone
9
8129346
6376351
4412.0
3209.5

streamExQuasiCount
5
108990
66262
56.2
41.4

streamExQuasiCount
7
1034775
649621
539.1
386.3

streamExQuasiCount
9
9694931
6506464
4822.2
3527.2

streamExQuasiHas
5
32856
1216
14.2
0.3

streamExQuasiHas
7
296528
1224
129.9
0.3

streamExQuasiHas
9
2763426
1208
1231.9
0.3

streamExQuasiHasNone
5
112552
89885
64.4
53.8

streamExQuasiHasNone
7
1059959
842384
628.2
475.6

streamExQuasiHasNone
9
9735493
7982569
5874.8
4280.5

Here new implementation is better for every test, both for time and memory consumption, both for parallel and sequential. Also stream closure issues seem to be solved. Thus the feature is considered to be complete.


Correct to DomainAlreadyJoinedhMessage variable name

Correct spelling mistake in DomainAlreadyJoinedhMessage.

This change is

Reviewed 1 of 2 files at r1.
Review status: 1 of 2 files reviewed at latest revision, 1 unresolved discussion.

DSCResources/MSFT_xOfflineDomainJoin/MSFT_xOfflineDomainJoin.psm1, line 139 [r1] (raw file):
add a comment about the change in readme

Comments from Reviewable

Reviewed 1 of 2 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion.

DSCResources/MSFT_xOfflineDomainJoin/MSFT_xOfflineDomainJoin.psm1, line 139 [r1] (raw file):
Should this need an additional comment as this was a change to code that hasn't yet been merged to dev (e.g. new code added by this PR)? No problem if you want me to add it though - just wasn't sure what the general rule is in this situation?

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion.

DSCResources/MSFT_xOfflineDomainJoin/MSFT_xOfflineDomainJoin.psm1, line 139 [r1] (raw file):
I think it's good practice.  Just a short notice that you fixed something.  We should assume people are using even the dev branches.

Comments from Reviewable

Review status: 2 of 3 files reviewed at latest revision, 1 unresolved discussion.

DSCResources/MSFT_xOfflineDomainJoin/MSFT_xOfflineDomainJoin.psm1, line 139 [r1] (raw file):
Cool! Consider it done :+1:

Comments from Reviewable

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Support labels for App Configuration extension

Introduce configuration property for selecting list of labels.

Hello @fhavel The PR #158 is merged and I also kicked off a new release 1.0.2 with your contribution to support labels for App Configuration extension. Feel free to have a try once 1.0.2 is available in Maven Central.


Domain/User - Load All Items with conditions

See #2
Use the api/outbox end-point but add filtering capabilities.
Needed filters:

[x] type - for the case where we want to go back to distinguish between submitted links or self posts
[x] mediaType
[x] submittedBy
[x] content - this is tricky as we need to add  support for pattern matching

:question: Should I drop the domain page ?

I have added also inReplyTo to be able to search children of an item.


How to filter out tasks of the week？

my filter is
not done
due before next monday
description does not include ⏰
sort by urgency
sort by description
hide backlink

On Sunday, the next Monday is not tomorrow, but the next Monday. For example, this Sunday is 11.04 and the next Monday is 11.22. This makes it impossible for me to filter out the tasks of this week on Sunday.
Is this a bug?

Thanks. I assume this is related to how the chrono library interprets “next”. I assume in their model the week starts on Sunday. I will have to check whether there is an option to change chrono’s locale. Or maybe it’s already set automatically and your computer’s locale is set to a locale where the week starts on Sunday?
In any case, lots of assumptions and I will need to dig into chrono more to figure this out. That will take a while.
In the meantime, as a workaround, you can try using due before next sunday and see if that works for now.

Thank you very much for your timely reply to this question.
OK, I have a simple try. I think 'this week' refers to the first day of the week (every week starts on Sunday), 'next week' refers to the current date plus 7 days, not the first day of next week. On Sundays every week, 'this week' should refer to the current day and 'next Sunday' refers to the first day of next week.
In addition, the first day of the week set on my computer is Monday. It seems that the Chrono library will not automatically recognize this setting.
I can accept that the first day of the week is Sunday, so now I try to filter the tasks of the current week using the following filter:
due after this week
due before next sunday

However, this filter will lead to the neglect of Sunday tasks, which now seems to have no way to solve.

You could try
due after last saturday
due before next sunday

Personally, I wouldn't filter out tasks that are not done and due before this week, as they are apparently overdue? In any case, I hope you can use Tasks to support your workflow's needs.


Add Windows and Mac CI

Resolve #1225

Mac runners have less available time, so you may want to narrow the Python versions this runs on for those

Looks like GitHub Actions doesn't want to execute these from my fork 😞

Fixed by #1228.


Spec Rewrite Bitkit

In order to carry out the rewriting, I asked you to draw the specifications for this project.

Split into parts
Prioritisation
Think about which type of features we can or cannot add
Etc.

Todo

[ ] Roadmap Phase 1

Closing for the moment.


[HPM] Subscribed to http-proxy events:  [ 'error', 'close' ]                                                                                19% building modules 77/93 modules 16 active<EMAIL_ADDRESS>No module factory available for dependency type: ContextElementDependency

ng-version 1.5.5
npm start
the problem ocurred when you try to start de server with npm start

Thanks for reporting this issue. However, this issue appears to be a duplicate of an existing issue #6417.  This comment in particular may be useful: https://github.com/angular/angular-cli/issues/6417#issuecomment-334859000


limit users for partners

When logged in as a manager, only download user stats for the partner.

@jpaidoussi @rudigiesler @KaitCrawford ready for review

@jpaidoussi test fixed again, ready for review.

Putting this on hold, I don't think managers are to be given the option of downloading stats.

Yeah this is going nowhere. 💣


do not use Yoneda lemma

is it really better than applying Yoneda lemma though? the compilation time definitely differs.

No, Yoneda does not have to be used. This is quite clear too.  How much faster? I mean, on your machine, how long did the original take versus this one?

I did not measure it but I can feel I am more patient with this proof.

I moved the proof over here: https://github.com/agda/agda-categories/blob/master/Categories/Category/Monoidal/Closed/IsClosed.agda


Rename the env variable used for the token into a more generic one

Pull Request Test Coverage Report for Build 23

4 of 4 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 99.712%

Totals

Change from base Build 21:
0.03%

Covered Lines:
692

Relevant Lines:
694

💛  - Coveralls

Pull Request Test Coverage Report for Build 23

4 of 4 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 99.712%

Totals

Change from base Build 21:
0.03%

Covered Lines:
692

Relevant Lines:
694

💛  - Coveralls

Pull Request Test Coverage Report for Build 23

4 of 4 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 99.712%

Totals

Change from base Build 21:
0.03%

Covered Lines:
692

Relevant Lines:
694

💛  - Coveralls


Have problems when get started using v-tour

I created a new VUE page and copied the getting-started code, but when I visited the page, something went wrong.
(this.$tours['myTour'].start())

I had the same issue, You have to replace this code:
import Vue from 'vue'
import App from './App.vue'
import VueTour from 'vue-tour'

require('vue-tour/dist/vue-tour.css')

Vue.use(VueTour)

new Vue({
  render: h => h(App)
}).$mount('#app')

to this one:
import Vue from 'vue'
import VueTour from 'vue-tour'

require('vue-tour/dist/vue-tour.css')

Vue.use(VueTour)

also view this link.

Did you solve this?


Add distance constraint to DIRCON

-Fixes an issue with MultibodyUtils when a plant has no actuators
-Add DirconDistanceData, to represent the Cassie linkage within DIRCON.

"Squarednorm" is norm squared (no need to square it)
Sent from my mobile device.
On Mon, Jul 22, 2019, 6:33 PM Yu-Ming Chen<EMAIL_ADDRESS>wrote:

@yminchen commented on this pull request.
In systems/trajectory_optimization/dircon_distance_data.cc
https://github.com/DAIRLab/dairlib/pull/82#discussion_r306061007:

 this->plant_.CalcBiasForJacobianSpatialVelocity(

     context, drake::multibody::JacobianWrtVariable::kV,

     body2_.body_frame(), pt2_cast, world, world).tail(3);

// Constraint is ||r1-r2||^2  - d^2, to keep it differentiable everywhere
// J is then 2*(r1-r2)^T * (J1 - J2)
// Jdot*v can then be computed as
//    2*(r1dot-r2dot)^T * (J1 - J2)v + 2(r1-r2)^T * (J1dot - J2dot)*v
//  = 2*(J1v - J2v)^T * (J1 - J2)v + 2(r1-r2)^T * (J1dot - J2dot)*v
//  = 2*||(J1-J2)v||^2 + 2(r1-r2)^T * (J1dot - J2dot)*v
// And cdot = J*v (as usual)
VectorX pt_delta = pt1_transform - pt2_transform;
this->c_(0) = pt_delta.squaredNorm() - distance_ * distance_;
this->J_ = 2pt_delta.transpose()(J1 - J2);
this->Jdotv_ = 2pt_delta.transpose()(J1_times_v - J2dot_times_v);
this->Jdotv_(0) += (this->J_*pt_delta).squaredNorm();

Double checked and added new comments
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/DAIRLab/dairlib/pull/82?email_source=notifications&email_token=ABBICGGKLYTT3ZZEWHRMMGDQAYYUVA5CNFSM4IE7RWZKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB7GPQDY#discussion_r306061007,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABBICGFPMJOFGV3DLG33BZ3QAYYUVANCNFSM4IE7RWZA
.

"Squarednorm" is norm squared (no need to square it)

Ah, you are right.


Codespace devlynnx ideal space meme vxr96r4vjwg2xv9w

Description:
Describe your changes.
Related issue:
Add link to the related issue.
Check list:

[ ] Mark if documentation changes are required.
[ ] Mark if tests were added or updated to cover the changes.

Merge


Replace testcontainers with "something else"?

I think the testcontainers tests are slow, and we will also be affected by the DockerHub rate limits. There are some suggestions in https://github.com/testcontainers/testcontainers-java/issues/3099, but I personally think we could/should test this without containers. What about an in-memory embedded broker?

I have the code ready now, just need to figure out how to release a jar file. But that must be another day.

Those I found were either not updated for years, or delegated the embedding to testcontainers.
At least I had fun creating my little project, which I think is the absolute minimum required to embed a Java server.


merge extended data figs into main tex file, update license to publish

extended data figures have now been separated into individual files and their captions moved to paper/admin/inventory_supporting_information.docx.


Add nonsynth deadlock detector

Often, tests fail by hanging because of X-propagation or bad instructions.  They are then left to wait for timeouts, which are set high for long-running tests.  We should implement a halt detector which checks if PC has changed in N cycles, where N is ~100000.  Upon detecting a halt, it should loudly exit the simulation.

Interesting! I guess for gate-level, you have fewer options, but for RTL,
we could also have an X detector module in bsg_tests to more directly
detect X without any magic number? For gate-level, you can reach down and
find the registers but it requires scripting that can be a little brittle
(although we do have pyverilog that we use for sv2v).
M
On Fri, Feb 21, 2020 at 5:23 AM Dan Petrisko<EMAIL_ADDRESS>wrote:

Often, tests fail by hanging because of X-propagation or bad instructions.
They are then left to wait for timeouts, which are set high for
long-running tests. We should implement a halt detector which checks if PC
has changed in N cycles, where N is ~100000. Upon detecting a halt, it
should loudly exit the simulation.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/black-parrot/black-parrot/issues/330?email_source=notifications&email_token=AEFG5AEUQ4B24STWX6VLPMLRD7IVHA5CNFSM4KZDCEN2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IPJQ6MA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEFG5AGDF2WP33YY5EQ2EZ3RD7IVHANCNFSM4KZDCENQ
.

Watchdog timer / PC==x detector was added a ways back


403 Error

Hi. I have installed the package according to the instructions, and when I register a new user, the registration is successful, but instead of automatically logging into the panel, a 403 error appears, but the user is registered in the Users table. Please, could you tell me how can I fix it ? Thank you.

For a new user to be able to log in to the admin panel, he must have permissions. You can add in the registration event or in any other place that suits you.

Thank you tabuna. Can you tell me how I can automatically assign a permission in the registration event when a user registers through fortify so that he can access the control panel. Thank you very much.

I recommend creating a user role. (In admin panel) And then add it in action app/Actions/Fortify/CreateNewUser.php:
public function create(array $input)
{
    //...

    $role = Role::firstWhere('slug', 'user');
    $user->addRole($role);

    return $user;
}

Then you can change the rights of this group at any time.


Images don't load the first time, requires refresh

This is painfully hard to reproduce, but it happens quite often that you'll view a thread with images but the images never render. A refresh will fix this, or even just clicking into/out of a thread.

hummm - there's no surefire way to repro this?

No, but I will try more tomorrow. Had some trouble with images this afternoon :)

Not a markdown plugin problem, that's all custom code

Gotcha, thanks!


Is the installer ready for users?

I read the part about how you have to loop a single track playlist, am OK with that.
I tried installing via pip install Mopidy-Pandora but it eventually timed out.  Do I need to add any special repositories, or pull directly from github somehow?

It's not published to pypi, you could just do pip install https://github.com/rectalogic/mopidy-pandora/zipball/master

Worked like a charm, trying it out now, thank you!

I tried this and got an error about pycrypto -- it says that "--single-version-externally-managed failed with error code 1 in /tmp/pip_build_root/pycrypto".  Is there something I'm not doing correctly to install this?

pydora depends on pycrypto, can you pip install pydora?

I tried running pip install pydora and I think I found the reason nothing is installing properly.  It looks like the errors are related to gcc.  It couldn't find the compiler.  So I installed using apt-get install gcc.  gcc-4.6 was installed and I tried again, but I got the error "configure: error: C complier cannot create executables".  I saw some solutions on upgrading to gcc-4.7, but that didn't seem to work either.  Any thoughts?

Try sudo apt-get install build-essential python-dev

Awesome.  That worked.  Thanks for the help!

One more question.  I got mopidy-pandora installed, updated my mopidy.conf file with the Pandora settings and when I reboot the Raspberry Pi I get an error of an "unknown config key" for the musicbox_webclient.  I need the webclient to run and I've searched for solutions to the issue but have come up empty.

Did you upgrade mopidy itself as part of this? I think musicbox needs an older version of mopidy, but I don't know anything about musicbox.
https://discuss.mopidy.com/t/using-mopify-with-pi-musicbox/692/4
If you upgraded mopidy, then maybe upgrade musicbox pip install Mopidy-MusicBox-Webclient

I can confirm that Mopidy-Pandora works with the Pi MusicBox. Like @rectalogic said, the error message is probably related to version dependencies between Mopidy and the webclient.
I have Mopidy (1.0.5) and Mopidy-MusicBox-Webclient (2.0.0), but the stock versions that come with the standard MusicBox distribution also works.

Excellent.  So what was your process @jcass77? Install Pi MusicBox 0.6, upgrade to Mopidy 1.0.5 and upgrade to Mopidy-MusicBox-Webclient 2.0.0?  For some reason I couldn't get it working with the stock version.  I kept running into the errors above.

I started with the stock PI MusicBox 0.6. Does Mopidy start up and can you access the web client at this point? Once that is running you can look at installing Mopidy-Pandora:

Probably apt-get update; apt-get --yes install automake build-essential python-dev

pip install pydora Mopidy-Pandora

You can optionally upgrade Mopidy and Mopidy-MusicBox-Webclient as well, but the stock versions work with Mopidy-Pandora just fine.
Perhaps there is a problem with the mopidy configuration file that you are using? If you can post it here we can perhaps take a look?

I started all over, followed these posts again and got it working.  I must have misstepped somewhere in the process.  It's up and running now.  Thank you both for all of your help.  Now if there were only a mopidy-iheartradio I would be golden.  This will do really well however.  It's working great!


Enormous amount of ReferenceIndex churn tracked down to possible bug in Wagtail API v2

Issue Summary
In short, I think Wagtail's default serializer for StreamFields has a bug that's stripping essential identifying information from the contents of ListBlocks.
Steps to Reproduce

I've created a repo that shows this issue off with minimal code here: https://github.com/coredumperror/wagtail_api_test
Follow the readme to reproduce the issue.
In short, the output of the API loses crucial info compared to what's in the database, for no apparent reason.

DB contents:
[
    {
        "type": "carousel",
        "value":
        {
            "items":
            [
                {
                    "type": "item",
                    "value":
                    {
                        "image": 1,
                        "video": "",
                        "caption": "test",
                        "photo_credit": "test"
                    },
                    "id": "499c302f-6230-45ed-90d4-62ecd2e845ea"
                }
            ]
        },
        "id": "5bd471ea-1fe5-4fc2-a76a-3c70897d3895"
    }
]

API output:
[
    {
        "type": "carousel",
        "value": {
            "items": [
                {
                    "image": 1,
                    "video": "",
                    "caption": "test",
                    "photo_credit": "test"
                }
            ]
        },
        "id": "5bd471ea-1fe5-4fc2-a76a-3c70897d3895"
    }
]

As described in the repo's readme, we're using Wagtail API v2 as a cross-server Page-syncing tool. In our full code, we're copying NewsPages from our source server to multiple client servers. Unfortunately, ever since we updated to Wagtail 4, and the ReferenceIndex model became a thing, our syncs have been causing extremely high database churn, even when all they're doing is copying identical data over top of existing NewsPages. The references aren't actually changing, but ReferenceIndex models keep being added and deleted anyway.
I ultimately tracked the problem down to the fact that the MixedMediaBlocks aren't retaining their IDs across the sync, and are thus being detected as having entirely new content_path values in the ReferenceIndex model. The only difference is the id field, though, as the actual image references in these blocks are identical to their pre-sync values (we convert the origin's image IDs to local image IDs for identical files, sync'd separately).
The reason these block IDs are different is that the API isn't including them in its output, so when we populate the NewsPage.body field on the client, we're sending in that "API output" dict, instead of the "DB contents" dict, and Wagtail's system is automatically wrapping a new "type": "item" dict around those dictionaries in the "items" ListBlock when we save the NewsPage. And since a new StreamBlock dict inherently has a new, random ID, despite the sync overwriting old data with identical new data, the NewsPage.body field still changes enough for ReferenceIndex to notice.
Why are ListBlock items being stripped like this by the Wagtail API serializer?
I realize that changing the way the API outputs ListBlocks is probably not ideal, but maybe a setting can be added to make the API output more suitable for sync'ing?
Technical details

Python version: 3.8.13
Django version: 4.1.8 (also happens in 3.2.16)
Wagtail version: 4.2.2

Using Wagtail's API v2 for syncing data between installations is an unusual use case and while it would be nice to be able to support this, doing so would require changing the API output in ways that might cause difficulties for all projects that use the API for headless frontends. So I am closing this issue.


center map at global level.

Restart once animations are complete.
Should close #133 & #160

🔔  @pbeshai

+1


Types: Adjust CrateJsonEncoder to cast Decimal values to Python float types

About
This patch may be needed to fix value marshalling behaviour for Decimal types. It is apparently needed to be compatible with PostgreSQL.
This came up when using the SQLAlchemy dialect on behalf of a Singer/Meltano database sink component, in order to satisfy the software tests, where both implementation and test cases have been derived from the corresponding PostgreSQL adapter.
Status
Not sure if it classifies as a bug, but indeed it feels like a bug if the driver deviates from the standard DBAPI/PostgreSQL behaviour. Based on further investigations, the patch needs to find the right slot in one way or another.
References

This is coming from a monkeypatch to meltano-target-cratedb.
It is related to https://github.com/crate-workbench/sqlalchemy-cratedb/pull/23 and https://github.com/crate-workbench/sqlalchemy-cratedb/pull/24.

Backlog

[ ] Adjust software tests.
[ ] Just a short note about type support within the documentation.
[ ] Changelog item. In this case, it is a BREAKING CHANGE, because, beforehand, values of Decimal type have been cast to Python's str type.

I think using a float won't work as a Decimal has a 128bit range and thus cannot fit into a float.

I guess it will be safe to close this PR, and defer the matter back to where it came from.

https://github.com/crate-workbench/meltano-target-cratedb/issues/52


post-install: Enable Fstrim.timer systemctl service

This should already be enabled upstream.

This should already be enabled upstream.

for some reason i have to enabled in my pc, can be necessary to view if is really enabled as default using "sudo systemctl status fstrim.timer"

https://fedoraproject.org/wiki/Changes/EnableFSTrimTimer
Enabled in Fedora 32

https://fedoraproject.org/wiki/Changes/EnableFSTrimTimer
Enabled in Fedora 32, also enabled in a new VM.

oh thanks, in this case my fedora 39 beta can be a bug ? i think that a can be make a confusion about, thanks.
In this case i will close this PR, sorry for my mistake


home_page option being a page not working

When configuring the home_page option to be a menu option that is a page, I get the following exception:
"InvalidArgumentException
Administrator: You must provide a valid menu item in the home_page option of your config"
Menu Options:
'menu' => array(
        'Main' =>  'page.administrator.home',
        'navigation',
        'Category Managment'=> array(
            'categorypage',
            'category_settings'),
        'product_settings',
        'productregistration',
        'newsletter'
    ),

How I am configuring my home_page option:
'home_page' => 'Main',

I did a little "digging" and I'm not sure if the AdminController is accounting for a "page" menu option as the default.
Just thought I'd throw this out there.  I wanted to have a "landing" page upon logging into the admin section.
[Edit:1]
[code]
I have configured the following view in views/administrator/home.blade.php:

Welcome to Bella Administration!

AND loading that option from the menu bar does render the view properly, however it won't allow that as the home_page option
[code]
[End Edit:1]
Thanks.
Sincerely
John Youngman
Atlanta, GA

It's not working with lowercase: main, why is this issue closed? I'm having the same issue. Thank you


Add skip instruction at intro & ending scene

Add skip instruction at intro & ending scene at the top left side of intro & ending scene

Already mostly implemented by #17, changes are in dev branch. To clarify, this issue is therefore for moving the skip instruction to the top-left (or it could stay in the middle, up to the implementer), and more importantly, to show it in the ending scene as well.

@z_z: put at the bottom left or bottom right for more visibility.
Text: (or better wording)
Press "`" to skip


Question: is there a 6.5.1 version planned soon?

Hi,
I'd like to know if there is a 6.5.1 version planned soon?
Also do you have a schedule for bugfix versions?
Thanks

@nboisteault You can always use the dev channel, i.e. npm install ol@dev. Those versions run the same tests as an official release. The two thing that an official release adds is release notes and hosted versioned API-docs. This is a manual process, and especially writing meaningful release notes is time consuming.
The next official release will be v6.6.0, because we have additions to the API. I myself don't have time right now to create a release (would change my mind if someone is the first to make use of my [https://github.com/sponsors/ahocevar](sponsor options) on GitHub). Not sure about the other core committers.

@ahocevar Many thanks for your answer!

Ping @ahocevar I'll send you a private message in this regard.

Thanks @marcjansen and terrestris for sponsoring my OpenLayers work through https://github.com/sponsors/ahocevar!
As soon as milestone 6.6.0 is complete, I'll be creating a 6.6.0 release.

Thanks @marcjansen and terrestris for sponsoring my OpenLayers work through https://github.com/sponsors/ahocevar!
As soon as milestone 6.6.0 is complete, I'll be creating a 6.6.0 release.

Hi Sir.Can next version support dem data ,or 2.5D view？ if not ，in next next version,do you have plan to support this？ hope to get your reply!thanks😜


Hyprlock crashes when config sources other files

I'm attempting to setup hyprlock on my system using the catppuccin theme and it is segmentation faulting on startup.
$ hyprlock
[1]    777647 segmentation fault (core dumped)  hyprlock

Here is the core dump details:
$ coredumpctl info 774477
Hint: You are currently not seeing messages from other users and the system.
      Users in groups 'adm', 'systemd-journal', 'wheel' can see all messages.
      Pass -q to turn off this notice.
           PID: 774477 (hyprlock)
           UID: 1000 (ryan)
           GID: 1000 (ryan)
        Signal: 11 (SEGV)
     Timestamp: Tue 2024-06-25 21:28:10 CDT (22s ago)
  Command Line: hyprlock
    Executable: /usr/bin/hyprlock
 Control Group<EMAIL_ADDRESS>          Unit<EMAIL_ADDRESS>     User Unit: kitty-754552-0.scope
         Slice: user-1000.slice
     Owner UID: 1000 (ryan)
       Boot ID: 6c9839874b974c98b3540c7b1e022591
    Machine ID: 2f2654ecf3884c08ad7900fc6d60bcec
      Hostname: arch-laptop
       Storage: /var/lib/systemd/coredump/core.hyprlock.1000.6c9839874b974c98b3540c7b1e022591.774477.1719368890000000.zst (present)
  Size on Disk: 273.9K
       Message: Process 774477 (hyprlock) of user 1000 dumped core.

                Stack trace of thread 774477:
                #0  0x00005d3786c0d8e5 _ZN14CConfigManager12handleSourceERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ (hyprlock + 0x198e5)
                #1  0x00007dfe7f85cd00 _ZN8Hyprlang7CConfig9parseLineENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb (libhyprlang.so.2 + 0x13d00)
                #2  0x00007dfe7f863d4b _ZN8Hyprlang7CConfig9parseFileEPKc (libhyprlang.so.2 + 0x1ad4b)
                #3  0x00007dfe7f85df1d _ZN8Hyprlang7CConfig5parseEv (libhyprlang.so.2 + 0x14f1d)
                #4  0x00005d3786c06ef3 _ZN14CConfigManager4initEv (hyprlock + 0x12ef3)
                #5  0x00007dfe7ed4ec88 n/a (libc.so.6 + 0x25c88)
                #6  0x00007dfe7ed4ed4c __libc_start_main (libc.so.6 + 0x25d4c)
                #7  0x00005d3786c09755 _start (hyprlock + 0x15755)
                ELF object binary architecture: AMD x86-64

After looking through the stack trace it appears the problem was introduced with PR #380. In that PR, the assignment of g_pConfigManager was moved to after the call to CConfigManager::init. The problem is that init is responsible for parsing the config, and the handler for the source keyword references g_pConfigManager, but it hasn't been assigned yet and this is causing the segmentation fault.

can also be replicated on Arch, remove  " source = ./themes/luna/colors.conf " fix this issue


Sentry for error logging

Use sentry to log errors.

2 sentry instances - one for errors in the pectus python code and one for errors in the UOD

We have 3 components that we should monitor

Aggregator
Engine
Frontend

Decisions

Use one or multiple Sentry Projects?

Preferably one project, "openpectus" with components seperated by some value. Alternatively one sentry project for each component.

Log traces? This is quite heavy, especially because by default it traces FastAPI rest and websocket calls. This should probably be turned off except when perfornance testing. It is likely to affect performance considerably.
Messages. We probably want to trace log messages of level Info and up. We also want to be able to change the level for individual modules, so that console logs and sentry logs may differ for some modules.


(chore) Update Jest for vulnerability in dependency

Updates Jest to latest to patch vulnerability in merge dependency.
I don't know how to test this package.

If the tests pass in CI, the new version of jest can be considered tested as OK.

:tada: This PR is included in version 1.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[#1782] Add max position params to speech recognition

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos, doc improvements)
[x] Did you read the contributor guideline?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

What does this PR do?
Fixes #1782.
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

the failure seems unrelated to this PR, but I don't know how to retrigger the tests, can anyone help me? Thanks.

@mgaido91 Windows never passes.

Thanks for the review @okhonko . Is there anything else I can do to push this PR forward? Thanks in advance for the guidance.


fix: temporary nsp fix

<helio-frota> something weird is happening with nsp
* helio-frota using this version of express:     "express": "^4.15.5",
<helio-frota> nsp still saying that I'm using 4.15.4
<helio-frota><EMAIL_ADDRESS>><EMAIL_ADDRESS>>....

Connects to #17

Changes Unknown when pulling cc777e1e6bf5e1dc18077a79c8434d0d20e685ae on helio-frota:nsp-fix into ** on bucharest-gold:master**.

Going to merge this and create a new issue to try to remove this .nsprc file until next Friday.


libc++abi.dylib: terminating with uncaught exception of type std::out_of_range

Hello,
I'm investigating a migration PR for openturns (https://github.com/conda-forge/openturns-feedstock/pull/66) and some osx/clangxx jobs (https://travis-ci.org/conda-forge/openturns-feedstock/jobs/447025412) use libcxx 4.0.1:
...
clang:           4.0.1-h662ec87_0           conda-forge/label/gcc7
clang_osx-64:    4.0.1-h1ce6c1d_11          conda-forge/label/gcc7
clangxx:         4.0.1-hc9b4283_0           defaults
    clangxx_osx-64:  4.0.1-h22b1bf0_11          defaults
libcxx:          4.0.1-h579ed51_0                       conda-forge/label/gcc7
libcxxabi:       4.0.1-hebd6815_0                       conda-forge/label/gcc7
...
llvm:            4.0.1-hc748206_0           conda-forge/label/gcc7
    llvm-lto-tapi:   4.0.1-h6701bc3_0           conda-forge/label/gcc7

The reason my build fails comes down to the out_of_bound exception not being caught properly. On this example it goes to the catch(...) path instead of the first catch.:
std::vector<double> mesh(3);
try {
    double v = mesh.at(8);
    std::cout << "v=" << v << std::endl;
  }
  catch(std::out_of_range & ex) {
    std::cout << "CAUGHT out_of_range="<<ex.what() << std::endl;
  }
  catch(...) {
    std::cout << "CAUGHT*" << std::endl;
  throw;
  }

If not caught it errors out with the message:
libc++abi.dylib: terminating with uncaught exception of type std::out_of_range

seems something wrong in the link step, if I set LDFLAGS="", it will work for my test executable, but not for a python module, maybe because of the "-undefined dynamic_lookup" we have to use for these, some libcxx symbols get weark referenced or something ?

I cannot reproduce this, something else has gone wrong, probably you're linking to the system libc++ here instead. This is my failed reproducer:
cat ~/issue-29.cpp
#include <ostream>
#include <iostream>
#include <vector>

using namespace std;

int main() {
std::vector<double> mesh(3);
try {
    double v = mesh.at(8);
    std::cout << "v=" << v << std::endl;
  }
  catch(std::out_of_range & ex) {
    std::cout << "CAUGHT out_of_range="<<ex.what() << std::endl;
  }
  catch(...) {
    std::cout << "CAUGHT*" << std::endl;
  throw;
  }
}

CONDA_BUILD_SYSROOT=/opt/MacOSX10.9.sdk $CXX ~/issue-29.cpp
./a.out
CAUGHT out_of_range=vector

I also tested this with CONDA_BUILD_SYSROOT=/opt/MacOSX10.10.sdk and CONDA_BUILD_SYSROOT=/opt/MacOSX10.9.sdk without any issue. Our macOS compilers are pretty solid guys.

libc++ is installed into the host prefix by virtue of strong run_exports. It should be in the build prefix too (which it always is), as that's where the compiler needs to find it (due to relative path calculations etc).

Again, I see no problem:
tar -xf /opt/MacOSX10.9.sdk.tar.xz
CONDA_BUILD_SYSROOT=$PWD/MacOSX10.9.sdk $CXX ~/issue-29.cpp
 ./a.out
CAUGHT out_of_range=vector

@mingwandroid can you try adding -Wl,-rpath,$CONDA_PREFIX/lib -L$CONDA_PREFIX/lib at the end?

ah ok, missed that, thanks.

the PWD bit isn't relevant it seems, but yes, something's up.

I take back the solidity comment, this is a pretty bad bug!

We're updating to 7.0.0 soon, I'll make sure it's free from this when I get onto that.

Fixing the lines at https://github.com/llvm-mirror/libcxx/blob/9bc5d8e1baf71c4094630de591130fde873abd39/lib/CMakeLists.txt#L159-L169 to use the libc++abi from conda fixes this issue for me.

@mingwandroid, @msarahan, if I send you a patch, would you be able to build 4.0.1 with that patch for us please?

For sure, I'll build it asap and put it my test channel.

You are awesome guys.

@mingwandroid, see https://github.com/isuruf/aggregate/commit/1232059bc1dd1b60a2fee0dd90d17ba30adeb744
I haven't built clang and llvm as a single project, so not sure if this will work. If you don't see
WARNING (libcxx,lib/libc++.1.0.dylib): Needed DSO /usr/lib/libc++abi.dylib not found in any CDT/compiler package, nor the whitelist?!

then it works.

Updated patch at https://github.com/isuruf/aggregate/commit/e39ae53356a163af8cc8bbca76d222a817f381c1

Gah, ok!

Thanks for the patch, how can I test the new 7.0 binaries ?

@jschueller, you can't do it yet in conda-build. You can test by installing clangdev, libcxx from conda-forge.

Ok

I made test builds, but I didn't actually list the patch (I had to merge it manually). Unsurprisingly they didn't work.
New ones in progress.

Ok, I uploaded the rebuilt compilers to rdonnelly. This test passes now.
@isuruf, do you have any reference to this fix or did you develop it yourself?

I made the patch. I'll submit it upstream soon. (Once I figure out how to contribute and use phabricator)

@isuruf, given that /usr/lib/libc++.dylib is getting used without -Wl,-rpath,$CONDA_PREFIX/lib I now agree that we need to add that to the activate scripts.

given that /usr/lib/libc++.dylib is getting used without -Wl,-rpath,$CONDA_PREFIX/lib

Is it? CONDA_BUILD_SYSROOT=$PWD/MacOSX10.9.sdk $CXX test.cpp doesn't use /usr/lib/libc++.dylib

Run then with:
DYLD_PRINT_LIBRARIES=1 ./a.out
.. and see what you can see. What's happening is the exe has no rpath, but libcxx is identified via one, so the system default value is used.

Got it. Thanks for the explanation.
I sent the patch upstream. https://reviews.llvm.org/D53797

the build is ok with your patch/new binary: https://travis-ci.org/conda-forge/openturns-feedstock/jobs/447324424 : )

Hi, seems you uploaded the patched version in defaults, but not in conda-forge. What is preventing to update the conda forge version as well ?

I dislike duplication.

If you need our compilers on conda-forge to avoid channel incompatibility issues then I'm fine with that. Using the same ones is important and a rebuild of our recipe on cf infra may be possible but it'd be tricky and would risk making compilers that aren't compatible with ours.

If you need our compilers on conda-forge to avoid channel incompatibility issues then I'm fine with that. Using the same ones is important and a rebuild of our recipe on cf infra may be possible but it'd be tricky and would risk making compilers that aren't compatible with ours.

Would it make sense for the same built recipe to be pushed on the conda-forge channel even if not from a conda-forge feedstock?

@jschueller, @ocefpaf copied the defaults ones to conda-forge this morning.

Or, could a new version of libcxx from this feedstock be published with the same patch ?

@jschueller, I restarted the openturns builds. Should work fine now

oh I did not see it was published, in that case we're okay

@isuruf the new libcxx package still does not get picked up

Hmm, that's clearly wrong. 4.0.1-h579ed51_0 is in broken label`, but it's getting picked up. Something's wrong with the conda solver

Ignore my last comment. It's a travis-ci thing. Log of the previous run is merged with the new one

Yup, it went fine. Thank you guys.


Read the Docs still uses StrictRedisCluster

https://redis-py-cluster.readthedocs.io/en/master/ is still suggesting an usage of StrictRedisCluster. One can find either in code or in relase notes that it was changed, but it is confusing.
Would be nice to update this documentation too,.

@adam-tokarski Aparently the old webhooks into read the docs has been broken for a while now. I rebuilt the master copy manually and it look updated and fixed now. I need to dig into how to update the webhooks so it auto updates in the future.

That was quick. Thanks!


Expand no_builtins documentation

Should there be more documentation explaining what the no_builtins attribute does?
I gather it disables LLVM builtin functions, but it's not clear to me what it uses instead. Does it use libc? Does it fail to compile?
I suspect it's not worth documenting the list of builtins, but maybe some examples would be helpful. Perhaps along with some indication why it would be used?
When enabled, it also prevents the crate from participating in LTO.
Some of this seems like implementation details, so I'm not sure what should be documented. I think optimization or backend codegen details should probably be kept in The rustc Book, so maybe it could be documented there, and just have a link to it from the reference?

Dumping: https://github.com/rust-lang/rust/search?q=no_builtins&unscoped_q=no_builtins


Blob Container: duplicate file/folder

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Problem
When copy and pasting a file within a blob container from/to the same folder, an error occurs.
Desired Solution
I'd like the same behaviour as in Windows Explorer: the file/folder would be duplicated and the file/folder name would receive a suffix (like "_copy")
Alternatives and Workarounds
Create a temporary folder, copy the desired file/folder to the temp folder, rename the file/folder, move the duplicated file/folder to it's target location, remove the temp folder
Additional Context
No response

@keen85 can you try using clone?

Hi @MRayermannMSFT ,
in my Azure Storage Explorer 1.20.1 installation, this button is not present:

I'm working on a Blob Container (ADLS Gen2)

I just realized, that I did not have the most recent version installed. Apparently the build-in update functionality did not work.
I updated manually to 1.21.2.
However, still no "clone" button for me. Do I need to activate insider builds?

@keen85 ah ok. You are in a Gen2 storage account. We currently do not offer clone in such scenario. We will evaluate adding this in the future. :)

@MRayermannMSFT so, there is already a "clone file/folder" functionality in Azure Storage Explorer - but it only works for "ordinary" Blob Storage?
Why is that?

@keen85 It used to be due to us not being able to us auth credentials for the copy source. Now the limitation is gone and we have added clone/copy to gen2 storage accounts.

Hi @JasonYeMSFT ,
First of all: that's great news! Thank you!
However, I am still missing the "Clone" button as mentioned above by @MRayermannMSFT:
!(Clone)[https://user-images.githubusercontent.com/21112697/135895804-e8811650-7150-4103-9447-181e62a2e13f.png]
Yes I can copy and paste files. But I can copy and paste (= duplicate/clone) it to the same location.

I see.  We thought people would always want to use the atomic "Rename" and "Move" command in ADLS Gen2 since they are efficient and don't involve copying data. I will try to add it in 1.26.0 so it can be available together with Rename and Move.

We have released our 1.26.0 on GitHub. The clone feature will be available once you upgrade.


gym.Spaces conformance

This library would be more effective if it were phrased as an extension for gym.Spaces, i.e. akro types can be used as drop-in replacement types for gym.Spaces types, but with extra features.
This can probably be achieved by inheriting from spaces types and running the gym test suite on akro types in the CI

Outline:

Inherit akro types from gym.Spaces -- removing methods implemented by the gym superclasses
Remove tf and theano packages -- instead have helpers on the main package like to_tf_tensor() and to_theano_tensor(). You will have to guard these on whether the target frameworks are installed (since we can't require every user installs every framework). This can be done at import.
Update tests and documentation
Once everything is finished, bump the version so that a new version is sent to pip
Refactor other rlworkgroup repos using akro to use the new interface, bumping their dependency version to the newest akro you just created.

To clarify the first point, each of the akro.Space subclasses (i.e. Box, Dict, etc) should inherit from gym.Space rather than akro.Space and none of the inherited methods should be overridden, correct?

Yes. I think i should add some history so that this issue makes more sense.
The spaces library originated inside garage (then called rllab). Later it was copied and used for the gym library, and that implementation became overwhelmingly more popular. garage.spaces evolved for a bit and gained some nice features, and we eventually split it into akro. We believe there's a good reason to have a spaces library which is separate from gym (which is library of RL environments, not a toolbox or framework).
A lot of people have code written around gym.spaces, but akro has some features we don't want to give up. The proposal here is to make all of the akro spaces inherit from gym.spaces, so anybody can drop an akro space into existing code using gym.spaces and use the extra features from akro.
There has been a little API drift between akro and gym, so the first thing to do is to identify APIs on the akro spaces which exist on gym.spaces already, and just use the gym version (e.g. just delete that method and let it inherit from the gym superclass).
It's fine for the spaces to inherit from akro.Space as long as they still also inherit from their corresponding gym space, e.g.
b = akro.Box()
assert isinstance(b, gym.spaces.Box)

akro.Space might become redundant and deserve deletion -- i'm not sure. How to organize the inheritance hierarchy I  think will become clear as you do the refactor.

Once you have refactored the akro library, there are several rlworkgroup packages which rely on akro which you will have to visit and update with any API changes you made (e.g. renames, type checks, etc.).

Got it, thanks for the explanation.  Would you prefer I also move the akro spaces to their own spaces module similar to how gym.spaces is set up?  That way it's more in line with the structure of gym so we can import like so:
from gym.spaces import Box
from akro.spaces import Box

hmm for now let's just keep it akro.Box because i don't expect akro to have anything other than these yet. during implementation we might find that the other style makes more sense and choose that.

Sounds good.  I've finished modifying the inheritance and want to push my new branch but it looks like I don't have rights yet.  Can you grant them?
Also, in your second point you mention the helper functions should be in the main package.  What are you considering to be the main package?  I can't find any file with a main() method.  Or does this mean to add the helpers in each instance of Space?

sorry for not making my original comment clearer.
by "main" package I meant that we should remove the packages akro.tf and akro.theano. There are methods in those packages which are specialized for the frameworks, e.g. akro.tf.Box.new_tensor_variable(). I am proposing changing the pack of those methods to akro.Box.to_tf_placeholder().
This has the caveat that, of course, you can't call these functions unless tensorflow is installed. We don't want people to have to install 2, 3, or 4 different giant numerical libraries just to use akro, so we won't make tensorflow a dependency. Instead, we can catch when someone tries to use a specialized function without the corresponding library and print a useful error.
e.g.
def my_special_tf_function(self):
    try:
        import tensorflow as tf
        tf.do_some_stuff()
    except ImportError:
        raise RuntimeError('You must install tensorflow to use akro to create tensorflow tensors')

This style is tiresome and might be inefficient, so we can instead do all the checks at once by doing this in __init__.py
akro/init.py
tf = False
try:
    import tensorflow as tf
except ImportError:
    pass

theano = False
try:
    import theano
except ImportError:
    pass

# future!
torch = False
try:
    import torch
except ImportError:
    pass

akro/my_module.py
import akro

class MyType:

    def my_special_tf_function(self):
        if not akro.tf:
            raise RuntimeError('Helpful message')

        tf.do_some_stuff()

However this is also kind of cumbersome, so what if we made a decorator instead
akro/requires.py
import akro

def requires_tf(func):
    def check(*args, **kwargs):
        if not akro.tf:
            raise RuntimeError('You must install tensorflow before you can use the function {}'.format(func))

        func(*args, **kwargs)

akro/my_module.py
from akro.requires import requires_tf

class MyType:

   @requires_tf
    def my_special_tf_function(self):
        tf.do_some_stuff()

@ryanjulian I've come across a strange problem I'm hoping you can give some insight on.  Currently, when a Tuple is constructed it calls c.new_tensor_variable('tmp', extra_dims=0).dtype for c in components.  I've since changed the new_tensor_variable method in each class to to_tf_placeholder and added the code from the old tf version of the class which simply calls
return akro.tf.placeholder(
        dtype=akro.tf.uint8,
        shape=[None] * extra_dims + [self.flat_dim],
        name=name)

This is failing in the CI process because it's returning a NoneType object.  However, I've verified that a Tensor object does get created successfully but for some unknown reason None is returned.  Regardless of this issue, looking at the existing code in the master branch the new_tensor_variable method raises a NotImplementedError.  How did this ever pass the CI tests and do you have any idea why I'm getting None when returning a Tensor?

@krzentner please advise

I have no idea what is causing this. According to the tf.placeholder documentation, it should not ever return None. Have you tried stepping through it with a debugger?
If you're still having trouble with it, can you push up the change including the broken tests?

Thanks, I got it figured out.  The decorator I created wasn't returning the value of the func(*args, **kwargs) which is why I could see it be created inside the call to to_tf_placeholder but couldn't see it outside of that call. :)

@ryanjulian Can this issue be closed?

Resolved in PR https://github.com/rlworkgroup/akro/pull/34


Exception when user tries to create mvalue from destroyed baseobject instance

Exception needs to be throwed when user tries to create mvalue from destroyed baseobject instance
import * as alt from '@altv/server'

alt.Events.on('test', (data) => {
    alt.log('test', { data })
})

alt.Events.onServerStarted(() => {
    const v = alt.Vehicle.create({ pos: alt.Vector3.zero, rot: alt.Vector3.zero, model: 'sultan2' })
    v.destroy()
    alt.Events.emit('test', v) // baseobject is sent as undefined without exceptions/warnings/errors
})

Fixed in https://github.com/altmp/altv-js-module-v2/commit/66cdab0d9990bde97210a933b8eaf58488e2138d (dev/0.0.0-dev.9)


Does mrustc work with multiple mutable borrows?

 So I wasn't able to test it myself, but I have a question regarding this project.

mrustc works by compiling assumed-valid rust code (i.e. without borrow checking) into a high-level assembly (currently using C, but LLVM/cretonne or even direct machine code could work) and getting an external code generator to turn that into optimised machine code. This works because the borrow checker doesn't have any impact on the generated code, just in checking that the code would be valid.

This works because the borrow checker ... just checks that the code would be valid.

This implies to me that invalid rust code such as this example below won't work with mrustc despite the lack of borrow checking.
fn main() {
    let mut a = 1;
    let b = &mut a;
    let c = &mut a;

    *b += 1;
    *c *= 2;

    println!("a {:?}", a);
}

But my understanding (that might be incorrect) is that the borrow checker is only there to ensure the high level rust-specific borrow rules aren't broken. Does the borrow checker validation have any implication regarding the actual legitimacy of the code itself? Would the above example work in mrustc in the same way that similar type of thing would work in C++?
The ability to turn off the borrow checker seems like a really appealing idea for certain types of applications, such as game development for example.

That code would compile with mrustc, but may mis-compile due to assumptions made in the optimiser. (Which still assumes that &mut is unique).
mrustc''s lack of a borrow checker is a limitation, not a design decision (adding one has been on my todo list for a while, since it would catch some mis-compilation errors before reaching codegen).

Thanks for the info, I wasn't sure if there were any optimizations based on this idea. Do you know where that optimization might be happening? I would think it would be before and transpiling/compiling since &mut being unique is a rust specific optimization.
And as a follow up question, do you know where that optimization might be happening in the actual rust compiler? Not sure if you're familiar with that code base. I might try to remove that optimization and the borrow checker to make rust more suitable for game development (for my own purposes.)

In mrustc, the optimisations are in mir/optimise.cpp... in rustc, no idea.
My suggestion is to accept that &mut means 'unique' and instead use Cell and other interior-mutable types with controlled mutation.

My suggestion is to accept that &mut means 'unique' and instead use Cell and other interior-mutable types with controlled mutation.

Yeah unfortunately this is what I have been doing. It still makes the code much harder to work with than cpp. The conclusion I've come to is that, although I enjoy writing rust code much more than cpp in almost every aspect, for game development it's relatively unusable due to the borrow checker. Especially when you have complex systems between entities, components, and entities/components.
A lot of the data structure type things you'd typically want to do as good practice in games are somewhat similar to linked lists or trees that you can bidirectionally traverse up and down. Both of these rust historically struggles with a bit, needing to have unsafe wrappers. :(
Thanks for the help though, very informative. I think I'm going to spend at least a few days messing with rustc to see if I can unborrow-check everything. Do you think mrustc is mature enough to be able to compile some syntactically simple projects? It seems like it would be much easier to spin off from mrustc but I worry about using an unfinished compiler in a professional project.
I'll go ahead and close this task out though, thanks again.

If you don't want to use the borrow checker, you can use raw pointers everywhere.

Especially when you have complex systems between entities, components, and entities/components.

It is by the way perfectly possible to use an ECS without unsafe code. Have you seen for example Bevy?

A lot of the data structure type things you'd typically want to do as good practice in games are somewhat similar to linked lists or trees that you can bidirectionally traverse up and down. Both of these rust historically struggles with a bit, needing to have unsafe wrappers. :(

Why is that? Linked lists are generally terrible for cache usage due to low data locality.

I've seen bevy but I didn't know it had no unsafe code, that's impressive. I've been using hecs for a project lately, which does have unsafe access. There are methods to access components by type, mutable components by type, and mutable components by type with unique access to each entity.
The difference between the last 2 is that mutable components by type is safe for the entire archetype, i.e. one mutable component access per the same entity "definition". The unsafe method is safe per entity, one mutable component access per entity which is the behavior you would expect by default.
However for I'd like to be able to chain entities for example, basically a scene graph of data. Components can be contiguous memory as owned by the system, but chaining entities makes it conceptually easy to attach things like weapons, have different parts of the world itself moving without affecting the entities inside of it, etc.
With this design you're now in a situation where when you update an entity you may need to reference upward and modify some parent data.
And ultimately anyways, I'd argue that the rust borrow checker doesn't really make game code safer. It's either undefined behavior or crash, at least for most cases.

I've seen bevy but I didn't know it had no unsafe code, that's impressive.

It does, but none of it is visible to the user of Bevy. That is the whole premise of Rust. It is simply impossible to avoid unsafe code for anything non-trivial. The trick is encapsulating the unsafe code with a safe api.


Add additional test for debounce

Coverage remained the same at 84.11% when pulling cc187b32847604846020462442bdcfcba03e8850 on fix-test into 1777cdeeaf722c43e8ced29f2aef526e09443e33 on master.

Coverage remained the same at 84.11% when pulling cc187b32847604846020462442bdcfcba03e8850 on fix-test into 1777cdeeaf722c43e8ced29f2aef526e09443e33 on master.


Formulas Broken on Excel for Windows

Adding a formula to a spreadsheet will render correctly when opened on Excel for Mac, but will always render an empty cell when opened in Excel for Windows.
A simple example:
Axlsx::Package.new do |p|
  p.workbook.add_worksheet(name: 'Windows Formula Test') do |sheet|
    sheet.add_row ['Text', 'Formula']
    sheet.add_row ['Five Plus Five:', '=5+5']
  end
  p.serialize('simple-formula.xlsx')
end

If I open simple-formula.xlsx in MS Excel for Mac 2011, it correctly shows:

If I then open the exact same spreadsheet in Windows with MS Office 365 Excel, the formula is blank:

Here is the file seen in those screenshots:
simple-formula.xlsx
Note that if I open the document on a Mac and do nothing but re-save it, it will then open correctly on a PC. Here is the same file, but re-saved, so it now opens correctly on a PC:
simple-formula-resaved.xlsx

Oh sorry, meant to say, I've tested this on both 2.1.0.pre and master with the same result

Oh man, sorry. It's opening in protected view, and if I click "enable editing" it computes the formulas. Closing this out....


Bugfix Version jump probably has a BC (from 2.7.1 to 2.7.2)

Hi Zend-Filter Team,
unfortunately the last bugfix update seems to contain a BC.
This is the diff i am talking about.
https://github.com/zendframework/zend-filter/commit/76a6967a1ca5fc5f27bdea708451b1c851b1d72d#diff-d178b1651bd6efe807b184425f956970
The commit message actually just says "Ensure tests run against all PHP versions" but in fact in the file src/Encrypt/BlockCipher.php in line 66 and then 68 there is a breaking change.
Background:

we are using Zend-Crypt v3.1.0 already for quite a while.
we are using Zend-Filter as well (lastest before the update in v2.7.1)
we are using mcrypt to encrypt strings (with rijndael-128 as the algorithm)

The Problem:

with the v2.7.2 (bugfix version) the $cipherType was changed from hardcoded mcrypt to a value that is fetched from the SymmetricPluginManager in the file mentioned above
i am talking about those lines

$cipherPluginManager = CryptBlockCipher::getSymmetricPluginManager();
$cipherType = $cipherPluginManager->has('openssl') ? 'openssl' : 'mcrypt';

the problem is that $cipherPluginManager->has('openssl') will always return true if you use Zend-Crypt > v3
the real problem derives from that because there is no setting to tell the SymmetricPluginManager or the BlockChiper class which cipherType to use but it is implicitly set

The Result:

as a result whenever the Crypt class is loaded with the algorithm we use (rijndael-128) it will fail because the openssl implementation does not contain this algo in the $encryptionAlgosproperty
it fails because this particular algo can only be found in the mcrypt class

Possible Solution:

have a possibility to let the user decide which cipherType to use
the default might still be set to openssl but it would be really helpful to have the possibility to override that, e.g. from within the global config

Thats my report for now. Shall i create a PullRequest for a potential change including setting the desired cipherType from the config?
Thanks in advance.

@null9beta

the problem is that $cipherPluginManager->has('openssl') will always return true if you use Zend-Crypt > v3

Right.

the real problem derives from that because there is no setting to tell the SymmetricPluginManager or the BlockChiper class which cipherType to use but it is implicitly set

You can set your own SymmetricPluginManager.

@froschdesign
First of all thanks for getting back that quick. You are right. I did not recognize it can explicitly set the SymmetricPluginManager like that. Thanks. That definitely will solve it for the moment.

@froschdesign What about this issue? It has milestone 2.7.3 but I don't think so it's going to be released as we already have 2.8.0 and this problem seems to be not resolved there...

This repository has been closed and moved to laminas/laminas-filter; a new issue has been opened at https://github.com/laminas/laminas-filter/issues/8.


ngsolve may need to disable LD_PRELOAD

NGsolve is crashing on Colab, and it seems to be caused by the non-empty LD_PRELOAD on Colab.
A simple cell that reproduces the issue is
levelset = sqrt(x**2 + y**2 + z**2) - 1
Oddly,
levelset = sqrt(x**2 + y**2 + z**2) - 1.0
seems to work regardless of LD_PRELOAD.

Fixed removing -static-libgcc


Incorrect warning "avoid using JavaScript keyword as property name: if"

Version
2.6.11
Reproduction link
https://jsfiddle.net/tintin77/b3voj7er/
Steps to reproduce
When using a javascript expression with an if statement inside an event handler, vue reports incorrectly not to use javascript keywords as property names. See jsfiddle console (beta)
What is expected?
No warning
What is actually happening?
A warning

Inside templates, you are only allowed to type an expression. if is a statement. Create a method.

The warning is correct. You should use a method instead or write it as a ternary

Thanks... As a newbie, I was not aware of this limitation. A more appropriate warning would then be 'Inside templates, you are only allowed to use expressions, no statements'.


[ADD ME TO THE ORGANIZATION]

NAME: Aishik Mukherjee
LOCATION: India
INTERESTS: Data Science and Machine Learning
DISCORD USERNAME: AISHIK999
You can also join our Discord community here
Feel free to check out other cool repositories of the DevsInTech Community here.

@AISHIK999 Thanks for your interest. Invitations have been sent to you. Kindly accept it and make your membership public.


Folding based on code scope for C-style languages in VSCode

VSCode Version: 1.13.0
OS Version: macSierra 10.12.5

Steps to Reproduce: Please refer to SO question

We use a LOT of C# #region sections in our code where I work, so this would be incredibly appreciated!

#3422

Using preprocessor directives - that are usually aligned to beginning of line - would break all folding scopes :(

duplicate of #3422


Ensure that the SSL_rstate_string*() API works as they used to

We initialise the record layer rstate variable to ensure the
SSL_rstate_string*() APIs return values that are consistent with
previous versions.
Fixes https://github.com/openssl/openssl/issues/20808
While I was at it I realised that the docs mentioned that "RD"/"read done" was a valid response from these functions - but in reality that never happens (and doesn't in 3.1 either). So I updated the docs to match reality, and also tweaked the QUIC implementation to more closely match what the TLS implementation does.

Buildbot failure looks irrelevant.

Pushed. Thanks.


Disappearing dividers since last update

Some dividers randomly disappear when minimizing/switching windows/restarting app.
Have to delete and add the dividers again.
This issue was not present previously.

Second, having this on latest everything, and still happens in sandbox. Creating multiple dividers and moving one causes all to disappear, moving some around can cause others to arbitrarily disappear, etc. Not sure about a reliable method to reproduce it just happens every time lol

Apologies, been super busy!
This should be fixed in version 1.1.1. Please update to latest and restart Obsidian. :)
If you are still having issues, please open another issue!
Thank you for reporting!


Status? D3V4?

Sorry to ask such a negative issue but is this being maintained any more?
I guess that it does not support D3 V4 since that was released just last year...

yep(
Is no longer supported due to lack of time


⚠ ClamAV has degraded performance

In 655edc5, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 59 ms

Resolved: ClamAV performance has improved in 6797960.


Subscribe command shows ALL events (including devices I don't own)

Issue:

When we login to our Particle Dashboard, we can view events generated by our Particle Devices
When we use NODE CLI, we can view events generated by ALL Particle Devices (including those we don't own)

This is a potential security issue as I can view data from other devices that I don't have access to
Replication steps:

Use nodejs CLI and login using Particle subscription email and password
Type command particle subscribe ConnectTheDots
See the output- it has events from devices that don't belong to the logged in subscription

Terminate the above and try command particle subscribe
See the output- it has ALL events from ALL devices. None of these events are from my device

They are public events. If you set them to private, they will not appear in the public firehose.
So it's like people are making them public which is why you are see it.
See the PRIVATE example: https://docs.particle.io/reference/firmware/electron/#particle-publish-

Thanks @kennethlimcp !
Thanks for reporting, but yes, this is the public event firehose!  We understand there is some confusion about public vs. private events, and we're trying to improve our documentation and examples and defaults to make this easier.
Thanks!
David

I believe by default all events should be private and only if required we should allow making them public. This will prevent accidental event publication.
My 2c


How to add Q in the event trigger function?

Now I want to wrap amqp with q, here are the codes.
Sender.prototype.createConnection_ = function () {
    var deferred = Q.defer();
    this.con_ = amqp.createConnection( this.connectOpt_, this.implementOpt_ );
    deferred.resolve( this.con_ );

    return deferred.promise;
}

Sender.prototype.connectionReady_ = function() {
    var deferred = Q.defer(),
      self = this;

    self.con_.on('ready', function() {
        console.log('connection is ok now');
        deferred.resolve(self.con_);
    });
    return deferred.promise;
}

Sender.prototype.createExchange_ = function() {
    var deferred = Q.defer(),
      self = this;

    this.con_.exchange( this.exchangeName_, this.exchangeOpt_, function ( ex ) {
        self.ex_ = ex;
        deferred.resolve(self.ex_);
    });
    return deferred.promise;
}

Sender.prototype.exchangeReady_ = function() {
    var deferred = Q.defer(),
      self = this;

    this.ex_.on('open', function() {
        console.log('Sender: exchange opened');
        deferred.resolve(this.ex_);
    });
    return deferred.promise;
}

Sender.prototype.connect_ = function() {
    var self = this;
    return self.createConnection_()
            .then( self.connectionReady_() )
            .then( self.createExchange_() )
            .then( self.exchangeReady_() )
            .catch( function(err) {
                console.info( err );
            });
}

When I want to invoke connect_, there is one error show that this.ex_ is null in the exchangeReady_ function.
I want to how to add Q in the event open function ?

You are likely to receive a more timely response on stack overflow. You are welcome to keep this open as long as needful in the chance that someone drops by and has a moment, but please close this when you find an answer.

Ok, I got answer from here


Crossbow Suggestion

Currently it is held like if it were a bow or a tool (at least that's what I noticed in the 1.12.2 version), I think it would be better to change this to look more like you're holding an actual crossbow like in vanilla and Tinker's Construct.

Good suggestion and also already on my offline TODO list - I just didn't copy everything that is there to GitHub issues :)
However, this will definetly be done in the next update!

Tried a few quick and dirty things until I noticed that most of the cosmetic stuff for the Vanilla crossbow is pretty badly hardcoded within various classes throughout the whole codebase...
Will postpone doing this properly for now. However, I will make holding it at least a bit better :)

Okay, after trying some stuff I need to say that this is way harder than I thought it would be. I will postponse this entire issue even further, probably after the next release


Powershell SSL

There is a problem with the Powershell SSL payload. Haven't figured out what's failing atm.

fixed


Evaluating DateTime for MinValue

What would be the best approach to have a statement in a template to check if a DateTime is a MinValue or MaxValue?

not sure to fully follow, have you tried already <= or == operators?


Support HTML escaping inside a tag attribute (fixes #152).

This is to fix the issue addressed at #152 .

Thanks!


Lithium plating

Description

The reversible Li plating model of O'Kane et al. (2020) is included as a new submodel
An irreversible plating model with similar physics is also included
New parameters that are used by these submodels are defined
A new variant of the existing Chen 2020 parameter set that includes these new parameters has been added
The new parameter set also has temperature-dependent diffusivity in the anode
The submodel accounts for SEI layer resistance
The submodel does NOT account for temperature variation at this time, but this should be easy to fix

Fixes # 836
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

[x] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[ ] Bug fix (non-breaking change which fixes an issue)

Key checklist:

[x] No style issues: $ flake8
[x] All tests pass: $ python run-tests.py --unit
[x] The documentation builds: $ cd docs and then $ make clean; make html

You can run all three at once, using $ python run-tests.py --quick.
Further checks:

[x] Code is commented, particularly in hard-to-understand areas
[x] Tests added that prove fix is effective or that feature works

Hi all, thanks for your suggestions. I agree we need more tests, more citations and to merge the reversible and irreversible submodels since they are mostly the same.
I've also found that the Li plating model does not converge when SEI is present in large amounts. This is the case even when the code adding eta_sei is commented out. A small amount of SEI do not cause this and produce a reasonable result even after 1000 cycles.

Is this with constant SEI or varying?

It works with constant SEI but fails with varying.

If I understand correctly, when you have both SEI and plating, the model is basically trying to solve an equation of the form
j(phi_s - phi_e) + j_sei(phi_s - phi_e) + j_pl(phi_s - phi_e) = I
for phi_s - phi_e, where each j is an exponential or sinh.  I can see this being numerically challenging. I suggest we deal with it separately from this PR.

Two points:

It is true that the two models in this release are identical save for the expression for j_stripping. However, I also have an unpublished model that differs more substantially. My plan is to keep the two separate submodels but add an option to allow the user to easily pick one.
I do not actually have a meaningful reference for the plating constant. It's true that my paper does provide a value for it, but that's not only for a different cell but for a more physically accurate nonlinear diffusion function, which I've been unable to implement in PyBaMM thus far.

Two points:

It is true that the two models in this release are identical save for the expression for j_stripping. However, I also have an unpublished model that differs more substantially. My plan is to keep the two separate submodels but add an option to allow the user to easily pick one.
I do not actually have a meaningful reference for the plating constant. It's true that my paper does provide a value for it, but that's not only for a different cell but for a more physically accurate nonlinear diffusion function, which I've been unable to implement in PyBaMM thus far.

Ok makes sense. Would be good to just get something merged (I think coverage is all that is needed) and then we can iterate on it

Ok makes sense. Would be good to just get something merged (I think coverage is all that is needed) and then we can iterate on it

Also, note that there are some conflicts with the main branch (in 'base_battery_model.py') that also need to be addressed before we can merge it.

Also, note that there are some conflicts with the main branch (in 'base_battery_model.py') that also need to be addressed before we can merge it.

I'm in the process of renaming everything to lithium_plating or "lithium plating". While I'm doing that, do you want me to add the stripping current to inverse_butler_volmer.py?

I'm in the process of renaming everything to lithium_plating or "lithium plating". While I'm doing that, do you want me to add the stripping current to inverse_butler_volmer.py?

do you want me to add the stripping current to inverse_butler_volmer.py?

What does this refer to again? In the CurrentForInverseButlerVolmer class?

do you want me to add the stripping current to inverse_butler_volmer.py?

What does this refer to again? In the CurrentForInverseButlerVolmer class?

I am referring to the CurrentForInverseButlerVolmer class, yes.

I am referring to the CurrentForInverseButlerVolmer class, yes.

Yes that would be good to update too

Yes that would be good to update too

Added plating/stripping current density to CurrentForInverseButlerVolmer and fixed remaining conflicts. I've also added my paper to CITATIONS.txt but not sure how to use the BibTeX entry now that it's there!

Added plating/stripping current density to CurrentForInverseButlerVolmer and fixed remaining conflicts. I've also added my paper to CITATIONS.txt but not sure how to use the BibTeX entry now that it's there!

Hi all, I'm trying to test if examples/lithium-plating.ipynb still runs and I'm getting the pybtex error:

ModuleNotFoundError                       Traceback (most recent call last)
 in
1 get_ipython().run_line_magic('pip', 'install pybamm -q    # install PyBaMM if it is not installed')
----> 2 import pybamm
3 import os
4 import numpy as np
5 import matplotlib.pyplot as plt
~/PyBaMM/pybamm/init.py in
70 from .logger import logger, set_logging_level
71 from .settings import settings
---> 72 from .citations import Citations, citations, print_citations
73
74 #
~/PyBaMM/pybamm/citations.py in
6 import pybamm
7 import os
----> 8 import pybtex
9
10
ModuleNotFoundError: No module named 'pybtex'

You need to install pybtex, just do pip install -e . and it will do it for you

I think the example tests will still fail because lithium_plating.ipynb does not include pybamm.print_citations() at the end (this is a new test we added recently). You can copy the last block from another notebook (for example Tutorial 2 - Compare models.ipynb, don't copy the block in Tutorial 1 as it is slightly different).

@all-contributors add @DrSOKane for code, examples, documentation and tests

Great work @DrSOKane, thank you very much!


add aakhtar3 as a collaborator

hi @neetcode-gh !
@aakhtar3 has been a terrific contributor to this repo. would you mind adding them as a collaborator?

Done, just invited @aakhtar3 Really appreciate the contributions!!


Refs #16063 -- Added tests for searching against multiple related fields in admin changelist.

See https://github.com/django/django/pull/15022#discussion_r737411019.

@jacobtylerwalls Thanks :+1:


Build failure: libpng

Steps To Reproduce
Steps to reproduce the behavior:

nix-build --option substitute false -A libpng

Build log
this derivation will be built:
  /nix/store/hziy2dc91s6jqn00zsv1dqzcgwr8qs3j-libpng-apng-1.6.40.drv
building '/nix/store/hziy2dc91s6jqn00zsv1dqzcgwr8qs3j-libpng-apng-1.6.40.drv'...
Running phase: unpackPhase
unpacking source archive /nix/store/jpqz1p52xw3jlhc8w143v92k0iaar2i4-libpng-1.6.40.tar.xz
do not know how to unpack source archive /nix/store/jpqz1p52xw3jlhc8w143v92k0iaar2i4-libpng-1.6.40.tar.xz
error: builder for '/nix/store/hziy2dc91s6jqn00zsv1dqzcgwr8qs3j-libpng-apng-1.6.40.drv' failed with exit code 1

Additional context
This happened on recent checkouts of nixpkgs master.
Notify maintainers
Will do.
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 4.19.0-8-amd64, Ubuntu, 20.04.6 LTS (Focal Fossa), nobuild`
 - multi-user?: `no`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.16.1`
 - nixpkgs: `/nixpkgs`

Add a :+1: reaction to issues you find important.

Could not reproduce. It unpacks and builds just fine on my x86_64-linux machine.

Just pulled master again, but it still fails. If you wish to close, please provide instructions to build libpng.

Just pulled master again, but it still fails. If you wish to close, please provide instructions to build libpng, or for further debugging issue.

I just used the command you used. Can you clear your nix-store? You might have downloaded a broken archive and it's not being recognized.

Just pulled master again, but it still fails. If you wish to close, please provide instructions to build libpng, or for further debugging issue.

I just used the command you used. Also, the extractor is able to extract .tar.xz archives.

Sure, but as far as I understand nix, these things are supposed to be reproducible on different machines. So I do hope it's possible to find out what causes the error.

Can you clear your nix-store? You might have downloaded a broken archive and it's not being recognized.

$ nix-store --delete /nix/store/jpqz1p52xw3jlhc8w143v92k0iaar2i4-libpng-1.6.40.tar.xz
1 store paths deleted, 0.97 MiB freed
$ nix-build --option substitute false -A libpng
these 2 derivations will be built:
  /nix/store/h3i4z4dym34jscn0jcixba478v2w00wx-libpng-1.6.40.tar.xz.drv
  /nix/store/hziy2dc91s6jqn00zsv1dqzcgwr8qs3j-libpng-apng-1.6.40.drv
building '/nix/store/h3i4z4dym34jscn0jcixba478v2w00wx-libpng-1.6.40.tar.xz.drv'...

trying https://downloads.sourceforge.net/libpng/libpng-1.6.40.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   382  100   382    0     0    598      0 --:--:-- --:--:-- --:--:--   598
100   363  100   363    0     0    137      0  0:00:02  0:00:02 --:--:--   364
100  997k  100  997k    0     0   367k      0  0:00:02  0:00:02 --:--:--  367k
building '/nix/store/hziy2dc91s6jqn00zsv1dqzcgwr8qs3j-libpng-apng-1.6.40.drv'...
Running phase: unpackPhase
unpacking source archive /nix/store/jpqz1p52xw3jlhc8w143v92k0iaar2i4-libpng-1.6.40.tar.xz
do not know how to unpack source archive /nix/store/jpqz1p52xw3jlhc8w143v92k0iaar2i4-libpng-1.6.40.tar.xz
error: builder for '/nix/store/hziy2dc91s6jqn00zsv1dqzcgwr8qs3j-libpng-apng-1.6.40.drv' failed with exit code 1

Doesn't seem to change anything.

Also, the extractor is able to extract .tar.xz archives.

Indeed I see other packages (e.g. gcc) that don't complain about their .tar.xz source from fetchurl. I've yet to see whether I see any difference that could explain the erroneous result.

I've seen this happening with libpng on hydra.nixos.org as well, sometime in the past few weeks.  No idea how it happens, though.

Hello. I'm trying to build image (cross compile and create image for SD card) for rpizero w, and it seems like build process nixos machine (23.11) from aws ends with same error:
error: builder for '/nix/store/vy12b7lmf3y548whsjfv3m81vlm8g2zz-libpng-apng-armv6l-unknown-linux-gnueabihf-1.6.40.drv' failed with exit code 1;
last 3 log lines:
> unpacking sources
> unpacking source archive /nix/store/jpqz1p52xw3jlhc8w143v92k0iaar2i4-libpng-1.6.40.tar.xz
> do not know how to unpack source archive /nix/store/jpqz1p52xw3jlhc8w143v92k0iaar2i4-libpng-1.6.40.tar.xz
For full logs, run 'nix log /nix/store/vy12b7lmf3y548whsjfv3m81vlm8g2zz-libpng-apng-armv6l-unknown-linux-gnueabihf-1.6.40.drv'.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nixos-on-raspberry-pi-zero-w/38018/26

On Hydra it always gets worked around by retrying.

On Hydra it always gets worked around by retrying.

It reproducibly fails for me when retrying to nix-build libpng. Does Hydra refresh anything else when retrying?

Consistently fails for me. Really wish the issue hadn't been closed.

The issue is open, but that by itself doesn't make a big difference IMO.

I ran into the same problem trying to cross-compile an sd-card image for a Raspberry Pi Zero W. I solved the problem by writing an overlay using the .tar.gz packaged sources.
(final: prev: {libpng = prev.libpng.overrideAttrs ( old: { src = prev.fetchurl {       url = "mirror://sourceforge/libpng/libpng-1.6.40.tar.gz";       hash = "sha256-j3ILNjqghoPJvypWMjb0UxOvLFXVQrVIGuF92NGDu0I=";     };});})
I have not created a PR making the same changes. However, it should be easy to do.

Well, was it really a solution.  Because for me it gets solved by retrying the unchanged derivation on the same build machine...

With "solved" I meant that it solved my immediate problem of getting the library to build. I did not do a full root cause analysis for want of time and ability. So, I am happy to call it a workaround.
For context: my aim was to prepare an SD-card image. The build failed reproducibly due to the issue described in the ticket. Other packages in the same format presumably built without an issue. This led me to believe that the toolchain is not the problem. Hence, I tried with a different package format and it worked. My hope is that it would also work for other people, which we may be able to judge by future comments/reactions in this thread.
I have since downloaded the source package in xz format and tested it with "xz -t" with no issues coming up. I also tried to unpack it on the desktop, which worked just fine. So, it might still be a toolchain problem or some issue that only comes up with certain packages.
Your report that it sometimes works for you and sometimes not without changing anything worries me. I am working with Nix and NixOS mainly for its reproducibility. Unreproducible results in building the package would warrant their own bug report from my point of view, unless they are for well understood reasons. However, I do not see this behavior in the environments I have tested.
Anyways, thank you for your work as maintainer!

Yes, it's weird.  And we have no reports of this happening for a different package than libpng.

Actually why not try switching to .tar.gz.  Disadvantages are negligible, and there seems to be a decent chance of working around this annoying issue.

Turns out that xz is killed by SIGPIPE for some reason, making the unpack hook fail.
It can also be worked around keeping the tar.xz archive by decompressing into a file before untaring: (https://github.com/NixOS/nixpkgs/pull/286579/files, https://github.com/zeuner/nixpkgs/blob/xz-unpack-issue-workaround/pkgs/development/libraries/libpng/setup-xz-workaround.sh#L1051).

Yes, it's weird. And we have no reports of this happening for a different package than libpng, even though .tar.xz is very common in nixpkgs.

Actually, while it seems to happen very seldomly, there is at least one issue that looks very similar: https://github.com/NixOS/nixpkgs/issues/20950 (also tar.xz).

The tar.gz workaround works for me (as does the intermediary file workaround). Considering that this looks like it can blow up randomly on any other packages that use tar.xz in the future, I'd suggest we try to investigate and fix it. I have one nixpkgs setup here where it reproducibly fails, so I could help testing.

SIGPIPE would probably mean that the tar part exited.

SIGPIPE would probably mean that the tar part exited.

Presuming that tar knows when everything is ok, it should then suffice to disregard the error code from the xz invocation (https://github.com/zeuner/nixpkgs/blob/xz-unpack-issue-workaround/pkgs/development/libraries/libpng/setup-xz-workaround.sh#L1051).

🤔 yes, I suppose such a race might be possible.  xz writing all that's needed into the pipe, then tar recognizing that it's the whole archive and finishing (and thus closing the pipe between them), then xz getting SIGPIPE and failing, even though it perhaps has nothing else to write.  When your CPUs are not fully utilized, xz would more likely manage to finish fast enough to avoid the signal.


scheduler(cdc): add randomness to the scheduler(V2)

What problem does this PR solve?

Issue Number: ref #3654

Since the scheduler is per changefeed, when the changefeeds are many and tables in each changefeed are few, workload imbalance among nodes is likely to happen.
If the tables are added in an order that correlates to the workload, the workload can be imbalanced.
When the total number of tables is large, finding a target to dispatch a table can be slow and consumes a lot of CPU.

What is changed and how it works?

Introduced randomness to scheduler/balancer to 1) add some randomness in choosing dispatch target, 2) add some randomness in choosing victims when rebalancing.
Avoided copying table records when trying to find victims when rebalancing.

Check List
Tests

Unit test
Integration test

Side effects

Increased code complexity

Related changes

Need to cherry-pick to the release branch

Release note
None

Codecov Report

Merging #4202 (9a666b9) into master (08da001) will decrease coverage by 0.0001%.
The diff coverage is 56.7901%.

Flag
Coverage Δ

cdc
58.5358% <57.6752%> (-0.1090%)
:arrow_down:

dm
52.2736% <52.8000%> (+0.0190%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #4202        +/-   ##
================================================
- Coverage   55.1722%   55.1721%   -0.0002%
================================================
  Files           485        489         +4
  Lines         59829      60797       +968
================================================
+ Hits          33009      33543       +534
- Misses        23484      23871       +387
- Partials       3336       3383        +47

/run-leak-tests

=== RUN   TestBalancerFindTargetTied
    balancer_test.go:234:
        	Error Trace:	balancer_test.go:234
        	Error:      	Should be false
        	Test:       	TestBalancerFindTargetTied
--- FAIL: TestBalancerFindTargetTied (0.00s)

test fails

/merge


accessing the state parameter value

I searched the code and can't find any reference to the state param.  Is this supported?

Yeah, it doesn't look like we are parsing this out of the return url. I was thinking about parsing it out and then putting it in the authenticated block on the session.

Just adding some notes on documentation
https://auth0.com/docs/libraries/lock/v10/sending-authentication-parameters#state-string-
https://auth0.com/docs/tutorials/redirecting-users
https://auth0.com/docs/protocols/oauth2/oauth-state

So this is being done (whether you like it or not!) :-P    I was simply looking in the wrong place....

Where did you find it?

On the session authenticated object
On Dec 27, 2016, 11:10 -0800, Chris Watts<EMAIL_ADDRESS>wrote:

Where did you find it?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub (https://github.com/seawatts/ember-simple-auth-auth0/issues/22#issuecomment-269368962), or mute the thread (https://github.com/notifications/unsubscribe-auth/AAJ3ulXZ-md4QLpeeWE_Z6ASnOvETEshks5rMWKNgaJpZM4LJtj2).


On dual socket systems launcher affinity may be non-optimal

The specific case that shows the problem is a dual socket system with 12 cores per socket when the user requests 22 MPI ranks with 1 openmp thread per rank.  The masks that are created are the following:
 --cpu-bind v,mask_cpu:0x1000000,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x100,0x200,0x400,0x800,0x4000,0x8000,0x10000,0x20000,0x40000,0x80000,0x100000,0x200000,0x400000,0x800000,0x1000000

This appears to prioritize keeping the application off of cores 0, 1, 12, and 13 and still puts the GEOPM controller on the hyperthread of core 0.  The best mask would put the controller on core 1 and run the application on cores 12 and 13 while leaving core 0 for the OS.
Thanks @slabasan for the bug report.

Related to #1620


Customization for echobot 8:echo123

Is there any chance to simply customize echo bot that called by 8:echo123? Under customization I mean change default language from English to another one and modify text script?
If not, can you please provide some information how to create such echo bot by myself?

Echobot customization is not available. Transferring issue to main repo.