feature: more work needed on the Placement API

Feature Description

We might not want to call the Kind "Placement", since OCM uses exactly the same name for something conceptually different.
The API Group should not have "edge" in it.
Should the upsync criteria examine only immutable object attributes?

Proposed Solution
We have discussed a few possibilities regarding Placement:

A different name. Binding (if the API group provides enough context)? WhatWhereBinding? WorkloadPlacement? WorkloadBinding?
Factor as in OCM, leaving Placement to talk only about "where" and have a distinct binding object. We would need to decide on names for both. This assumes that we continue with our own "where" API.
Adopt the OCM placement API. It has the advantage of having an implementation that we could just use. It has the disadvantage of directly exposing OCM, hinding transport pluggability. It has the disadvantage of being more complex than we want for our use cases.

For the API group, it is convenient for that to be of the form <something>.kubestellar.io --- for a few reasons. For one, the scripting for code generation is oriented around that form.  For another, it leaves space for branching out when we decide we want to make a meaningful decision. Note that in release 0.15 we have two <something>s.
Want to contribute?

[ ] I would like to work on this issue.

Additional Context
No response

@pdettori

On the API group, we will take a vote between these two choices:

control.kubestellar.io
mc.kubestellar.io (mc for Multi-Cluster)

On the subject of downsync vs upsync criteria: we decided that the upsync criteria would be modified to exclude the tests of object and namespace labels, and to refactor so that we have BasicObjectTest and that is inlined into ExtendedObjectTest.

During the architecture meeting we decided to delete upsync from the API for now, and re-opened the question of what to rename/refactor ObjectTest to.

@MikeSpreitzer We are still going to have a DownSync field in the types, no? Then we could rename ObjectTest to DownSyncObjectTest, so when decide to add back UpSync we can just add UpSyncObjectTest and the UpSync field without having to change again ObjectTest.

@pdettori : yes, think that is probably the most practical approach.

@MikeSpreitzer I wasn't in the loop about the name change, therefore raising the following point only now -
a rename in Placement CR also requires rename to PlacementDecision obviously.
Conceptually, the CR that was called up until today Placement defines a policy for which objects to select and which clusters to select and creates the binding between them. the CR that was called PlacementDecision defines that concrete objects that were selected by the policy (the object selectors in Placement) and the concrete clusters that were selected by the policy (the cluster selectors in Placement).
I'm OK with the name Binding, but considering the above explanation I thought maybe we would like to rename Placement to BindingPolicy (cause that's not the binding itself, it's the selectors policy on the what and where) and PlacementDecision to Binding (cause that is the concrete binding).
wdyt?
as part of this change we do need to find an appropriate name also to the PlacementDecision and not only to Placement.
/cc @pdettori
/cc @ezrasilvera

@nirrozenbaum I am fine with BindingPolicy. I usually like short names but agree that this is more descriptive in this case.

The Slack poll for API group name has concluded. The winner is control.kubestellar.io.

Start working on replacing API group edge.kubestellar.io with control.kubestellar.io.

@waltforme : what about the other API changes discussed here? It might be easiest to do them all in one swell foop.

Regarding @nirrozenbaum 's suggestion of renaming Placement to BindingPolicy, I could live with that. As for renaming PlacementDecision, I think it would be even more natural to rename it to BindingDecision.

Sure I'd be happy to work on removing upsync and renaming ObjectTest, too.
For renaming of the two kinds, do we have conclusions or do we need more discussion?

naming is a good candidate for slack voting... please keep the community involved.

@MikeSpreitzer @clubanderson @waltforme @ezrasilvera @pdettori
please note that somewhere in the near future we're going to add status of the distribution to the CR that is called today PlacementDecision.
the status will initially include the fields:

were all wrapped object copied to mailbox namespaces (true/false)
were all wrapped objects copied to all WECs (true/false)
were all workload objects applied in the WECs.

now think about that - this is status of Binding, not of a Decision.
therefore, I believe the new name for PlacementDecision should be Binding.

I disagree with putting the current contents of PlacementDecision together in one object, for scalability and performance reasons. I think that instead of one object holding the complete list of destinations and complete list of workload objects, this should be doubly factored. The workload list and the destination list should be in separate objects. And we should not require either entire list to be in one object. Just like Kubernetes is replacing Endpoints with EndpointSlice, we should have a Slice type for the workload list and a Slice type for the destination list (which we had previously, called SinglePlacementSlice).

The previous discussion of status recognized some factoring of sorts of status. There is status about the distribution from WDS to mailbox. And status about the distribution from mailbox to WEC. And status about the attempts of the agent in the WEC to "make it so".

@MikeSpreitzer to make a long story short - we do need to further discuss status reporting.
what I wrote above is just one of the options, I think we agree we will (eventually) have to report status. maybe it will be using summarization with a different CR, and maybe parts of the summarized status will be inside this object.
bottom line I was trying to say is that in order to leave room for adding status in the future, I think it's better to call it Binding rather than BindingDecision.
BTW, even without the status discussion I think Binding is a better name than BindingDecision.
Initially we came with the name Decision, but thinking about it again, this name doesn't represent a desired state.
Binding is a name that represents desired state (the user would like to bind those object to those clusters).

let's leave for now the status cause anyway that is out of scope in current version.

Yes, we need to discuss status more. What we need right now is just to leave enough options open.
In the current API, Placement and PlacementDecision are both binding constructs. The former identifies the what and the where by predicates, the latter by concrete lists.
Both expressions of desired binding are "desired state". Currently Placement has a little "reported state", PlacementDecision does not. As I mentioned earlier, it is not strictly necessary for each API object to have both "desired state" and "reported" state; that is only a common pattern, and there are established examples in Kubernetes and in uses of Kuberentes that do not follow that pattern.

So how about renaming as follows?

Placement to BindingPolicy
PlacementDecision to BindingResolved

For the Kind changes I am opening another Slack poll.

BTW, I think I maybe like "BindingResolved" a little better than "BindingResolution" because a "resolved binding" sounds like something that might have distribution status while "binding resolution" is squarely focused on just the resolution.

@MikeSpreitzer I'm in favor of BindingPolicy instead of Placement.
for the second part, I really don't like the variations of Resolution and/or Resolved.
why do we need to call a CR with Resolution/Resolved?
Have you seen K8s resources called Deployment and PodResolution? no.
it's just Binding exactly as it is just Pod.
the CR represents a binding (concrete, not a policy).
the fact that the binding was resolved from BindingPolicy is nice and everything... but I haven't seen in any system CR called with resolved/resolution. this name sounds really strange to me.

@nirrozenbaum : The semantic relationship is unusual. A Pod is not the result of matching predicates against candidates. The only semantically similar example in Kubernetes that springs to mind is Service and Endpoints. An Endpoints can be the concrete list of endpoints that result from evaluating criteria in a Service against the current population of Pods.

what if Binding was not created as a result of a specific BindingPolicy?
what if we would like to distribute all CRDs and distribute all permissions but there is no BindingPolicy?

@nirrozenbaum : that would not change the fact that we have in our sights two ways of expressing bindings, one more concrete and one more of a pattern.

Regarding the Kind renaming, we took a vote in the community Slack channel and the winner is

Placement becomes BindingPolicy
PlacementDecision becomes Binding

Now that #1700 has merged, that leaves two API changes to make right now:

Remove upsync
Rename the Kinds

#1717 removed upsync. Next we need to rename the Kinds.

we should complete the renaming to complete the uc1-validation

Yes, we should. @pdettori.
I created #1729 and labeled it with alpha.2 @ezrasilvera to specifically track the renaming.


compiler(amd64): return false on SSE4 unsupported CPUs

I am not sure whether we should also add some test case to exercise this code path. Maybe enabling emulated tests as suggested in #581? Even my old Window laptop is newer and passes :D
Signed-off-by: Edoardo Vacchi<EMAIL_ADDRESS>Fixes #580

well, at least I would like you to verify it via QEMU, but no need to add it to the CI I think :D

TBF I tried to setup QEMU and I gave up because it was so slow, but I just realized I could just download a preinstalled image instead of starting from scratch 🤦♂ (probably docker would do too...)

If setting toolchains locally is something too slow, you could build a binary go test -c -o outputbin  on your main machine, and only send the built test binary to the emulated environment. That's why you could avoid the need to install Go, Git, etc

anyway merging as I think this works!

https://github.com/tetratelabs/wazero/pull/1122

ok I confirm that it works on a qemu machine started with -cpu qemu64,-sse4_1,-sse4_2; i.e. CompilerSupported() returns false.

Coolio


Add option for custom CSS

Add some easy way to modify the CSS.

I used a system in the past (ikiwiki cgi), and one way the custom CSS was able to be used was the system looked for a specific CSS file, such as "static/local.css", or whatever directory/file works for GoBlog -- it would then be included in the HTML head if it was found.  Not sure how this fits in the overall system for GoBlog capabilities, but just a quick thought/idea.

Yes, that's an option. Another idea is to just add another entry to the settings. But what I'm not yet sure about is, whether the CSS should be replaced, merged or just added?

Hi,
Would it be okay to add a toggle for replacing/merging/adding CSS? Currently, embedded:customcss only append the file I think.
Something like mode: replace in the yaml would be great. :)


could you add a batch sending example in the docs?

Hi!
Thanks for this great lib!
I was reading the docs and realized there's no example on how to use it for batch sending/recipient variables. I found a couple of issues here that gave me an idea of how to approach it but I'm still not 100% sure.

I understand that I need to pass an array of emails to the "to".
I understand I need to build a json

{
<EMAIL_ADDRESS>{
      "first":"Bob",
      "id":1
   },
<EMAIL_ADDRESS>{
      "first":"Alice",
      "id": 2
   }
}

and pass it to 'recipient-variables' but that the lib will stringify it for me.

Use the %recipient.first% templating form fro mailgun in the subject/text.

Sorry, this post was kind of a learning process for me, but still, could you add a simple batch sending example with recipient variables in the docs? Might be useful!
Thanks again!

works, but still, an example would rock!

here is the example https://github.com/bojand/mailgun-js/blob/master/test/mailgun.test.js#L43
and https://github.com/bojand/mailgun-js/blob/master/test/fixture.json#L8 has the data in "message_recipient_vars"

The first link is the test for it and the second, I'm not sure to be honest. Thanks for the links, though. I already made it work thanks to the code in other issues. I just suggested to add an example in the readme since it might be a very common need. Feel free to close this issue though!
Thanks!


Updates to the HTML Search UI

JIRA Ticket: https://fedora-repository.atlassian.net/browse/FCREPO-3549 and https://fedora-repository.atlassian.net/browse/FCREPO-3551
What does this Pull Request do?

Add page controls to the search ui
Add field selection to the search ui
Allow multiple conditions when searching in the search ui

How should this be tested?

Start a Fedora instance
Add some resources
Navigate to http://localhost:8080/rest/fcr:search or where the search ui is located for your instance
Query using multiple conditions, and restricting the page/field display options

Interested parties
@fcrepo/committers

@dbernstein I updated the search conditions to display a bit cleaner and have a remove icon. Should probably still test again to make sure everything is still working.


Request#dispose() should be in finally block

https://github.com/javalite/activejdbc/blob/master/javalite-common/src/main/java/org/javalite/http/Request.java
these methods is necessary to update:

bytes()
text()
text(String encoding)

I do not sure enough, but it looks like these a source of resources leaks..

@vyemialyanchyk you are correct, thanks for catching


sponsors/backers links are broken

[x] https://mochajs.org/#sponsors click on a sponsor/backer and leads to https://opencollective.com/undefined?utm_campaign=mochajs&utm_medium=github&utm_source=opencollective
@xdamman is this on mochajs side or a result of v2?

[ ] This problem was also referenced in this bug report: https://github.com/opencollective/opencollective-api/issues/937

[ ] VueJS just reported the same in an email. Links are broken on the readme. Backers not showing.

[ ] Same issue was reported here https://github.com/opencollective/opencollective-api/issues/943

re-opening because it's not fixed.

Same issue was reported here https://github.com/opencollective/opencollective-api/issues/943

@xdamman can we close this an let users know it's fixed?

@asood123 are you still working on the svgs? links in the bug reports are still broken.
Vue and mochaJS are fixed.

I'm not sure what's going on. Looks like in some cases, the image server is never responding in time. Like here: https://github.com/gulpjs/gulp or here https://opencollective.com/gulpjs/backers/badge.svg.

Fixed.


Add proper geoip

This is actually a rather small change but brings with it changes to the nginx config so I figured I'd let everyone know by creating a PR.
I've added the following config to the nginx config for the test server and will be adding the same entries to the live server config:
proxy_set_header  X-Real-IP $remote_addr;
proxy_set_header  X-Forwarded-For $remote_addr;

It's up and running on test.brfenergi.se.

LGTM I guess, don't see any obvious problems with the code :)


Changes to Visa 3DS Data Requirements

Issue description
Visa is announcing changes to the Visa Secure data field mandate originally communicated in the 31 August 2023 edition of the Visa Business News. The effective date has been updated to 12 August 2024 and the number of required data fields has been reduced.
Visa has mandated that the following fields are required for 3DS in a browser:
Browser IP Address
Browser Screen Height
Browser Screen Width
Having collectDeviceData set to true collects the screen height and width, but I can't see any documentation that would suggest it collects the IP address.
Does Braintree Web Collect the IP address in this scenario, and if not, are there any plans to bring it into the SDK?

same question.. I see a similar question posted here - https://github.com/braintree/braintree-web-drop-in/issues/922
do we have to get the ip address by ourselves?

Please check the code below as it shows IP is not collected when it's enabled. I imagine you would need to collect that yourself, as the SDK won't know the IP.
  if (options.collectDeviceData === true) {
    data.browserColorDepth = window.screen.colorDepth;
    data.browserJavaEnabled = window.navigator.javaEnabled();
    data.browserJavascriptEnabled = true;
    data.browserLanguage = window.navigator.language;
    data.browserScreenHeight = window.screen.height;
    data.browserScreenWidth = window.screen.width;
    data.browserTimeZone = new Date().getTimezoneOffset();
    data.deviceChannel = "Browser";
  }


Add: Occitan Hunspell dictionary

PR in order to add the Occitan Hunspell dictionary.

Heya! I’m open to adding Occitan, but: the dictionaries are crawled and generated from other sources: see the Contributing section at the bottom of the readme: https://github.com/wooorm/dictionaries#contributing.

Heya! I’m open to adding Occitan, but: the dictionaries are crawled and generated from other sources: see the Contributing section at the bottom of the readme: https://github.com/wooorm/dictionaries#contributing.

Ok ok, sources can be fetched here: https://gitlab.com/taissou/hunspell-files-for-occitan-lengadocian/-/tree/master/Files

Ok ok, sources can be fetched here: https://gitlab.com/taissou/hunspell-files-for-occitan-lengadocian/-/tree/master/Files

Fancy!
Could you update the PR to do that?

Fancy!
Could you update the PR to do that?

Sure, tonight I'll give it a try!

Sure, tonight I'll give it a try!

thanks!
The crawl function in bash is only one part of that file. Another important part is generate.
generate in bash takes the archive you crawled and makes the files you previously manually added.
Then, the final step is node script/generate, which makes the node module out of it.
Finally: Is there a reason you tagged this dictionary as being specific to Occitan as spoken in France? Is this dictionary not applicable to Occitan as spoken in Spain/Italy/Monaco/etc?

thanks!
The crawl function in bash is only one part of that file. Another important part is generate.
generate in bash takes the archive you crawled and makes the files you previously manually added.
Then, the final step is node script/generate, which makes the node module out of it.
Finally: Is there a reason you tagged this dictionary as being specific to Occitan as spoken in France? Is this dictionary not applicable to Occitan as spoken in Spain/Italy/Monaco/etc?

Yes Occitan is divided into dialects: Lengadocian (that of this PR), Gascon, Provençal, etc
There are words that don't exist or spelling differences. Dividing according to country is not useful.
English: oven, flour, April, fair
Lengadocian: forn, farina, abril, fièra
Gascon: horn, harina, abriu, hièra (initial F=>H, final L => U)
Provençal : horn, farina, abriu, fiera (final L => U)

Yes Occitan is divided into dialects: Lengadocian (that of this PR), Gascon, Provençal, etc
There are words that don't exist or spelling differences. Dividing according to country is not useful.
English: oven, flour, April, fair
Lengadocian: forn, farina, abril, fièra
Gascon: horn, harina, abriu, hièra (initial F=>H, final L => U)
Provençal : horn, farina, abriu, fiera (final L => U)

It seems Wikipedia states that due to Lengadocian’s central location, it’s somewhat seen as standard Occitan, that leads me to reason that oc can imply Lengadocian, and that the other variants of the language can use more specific tags.
Otherwise, oc-lengadoc might be more apt? (ref)
https://www.iana.org/assignments/lang-subtags-templates/lengadoc.txt

It seems Wikipedia states that due to Lengadocian’s central location, it’s somewhat seen as standard Occitan, that leads me to reason that oc can imply Lengadocian, and that the other variants of the language can use more specific tags.
Otherwise, oc-lengadoc might be more apt? (ref)
https://www.iana.org/assignments/lang-subtags-templates/lengadoc.txt

Yes, I see things like you do, oc implying lengadocian if there are no other indication.
At the moment, I haven't seen the sub tag being used, maybe SPIP for it included 7 versions for the Occitan.
You gather information quite fast for someone who didn't know about this language a few days ago ^^

Yes, I see things like you do, oc implying lengadocian if there are no other indication.
At the moment, I haven't seen the sub tag being used, maybe SPIP for it included 7 versions for the Occitan.
You gather information quite fast for someone who didn't know about this language a few days ago ^^

I see that the GitLab this is now crawled from takes the files from Dicollecte (http://www.dicollecte.org/dictionary.php?prj=oc), which redirects to Grammalecte, which is where we also get the French dictionary from. However, there, the download links are broken. As I don’t speak Occitan (or French), could you indicate whether Grammalecte is indeed the canonical source? And do you know if there is a different download page perhaps? (for French there’s this one, but that doesn’t seem available for Occitan).
Oh: and if oc is better than oc-lengadoc and oc-fr, could you rename the oc-fr -> oc folder here?

I see that the GitLab this is now crawled from takes the files from Dicollecte (http://www.dicollecte.org/dictionary.php?prj=oc), which redirects to Grammalecte, which is where we also get the French dictionary from. However, there, the download links are broken. As I don’t speak Occitan (or French), could you indicate whether Grammalecte is indeed the canonical source? And do you know if there is a different download page perhaps? (for French there’s this one, but that doesn’t seem available for Occitan).
Oh: and if oc is better than oc-lengadoc and oc-fr, could you rename the oc-fr -> oc folder here?

Hello,
true, the goal is to eventually have one place to centralize the files and Dicollecte would be a really good place.
We are discussing the broken links and stuff.
In the meantime I rename the folder ;)
Would you agree to accept the PR?

Hello,
true, the goal is to eventually have one place to centralize the files and Dicollecte would be a really good place.
We are discussing the broken links and stuff.
In the meantime I rename the folder ;)
Would you agree to accept the PR?

Thanks, released!
Would love it if you could communicate back where the the files are when they’re maintained on Dicollecte.

Thanks, released!
Would love it if you could communicate back where the the files are when they’re maintained on Dicollecte.

Yes sure, I will come back to you when I have news


Add dispatch workflow

Build log
Preview build with this PR (commit): https://202-280922552-gh.circle-artifacts.com/0/index.html

Build log
Preview build with this PR (commit): https://203-280922552-gh.circle-artifacts.com/0/index.html


What's the right way to use @tailwindcss/forms rules?

Hi, great work!
I would like to know how to use @tailwindcss/forms with UNOCSS?

See example on #957.

https://github.com/Julien-R44/unocss-preset-forms


feat: update styling for dapps carousel on home screen

Description
As the description, also checked in with Reed about the new shade of green added to the colors.

Test plan
n/a
Related issues

Fixes RET-521

Backwards compatibility
Y

👍
Just double checking, do we need a test covering this?

i don't think so - the functionality of rendering recently used / favourited dapps + navigating through the all dapps link is already covered by unit tests :)


[docs][joy-ui] Integrate a count-up feature to the Circular Progress

[x] I have followed (at least) the PR section of the contributing guide.

@siriwatknp @zanivan
Issue #38682

Hey @anon-phantom thanks so much for the submission! 🙌
I took the liberty to reorder the circular-progress.md file to be more consistent with the other docs, since this fits better under the 'common examples' section. I also made a few changes to the demo, mostly visual, but it'd be great if @siriwatknp could take a look before merging it 😄

Hey @anon-phantom, really appreciate you making the effort here! It seems the logo's commit is still here, though 😕 I think it'd be probably cleaner to start from scratch. Would you mind opening a new PR from zero with these changes added in?

Hey @anon-phantom, really appreciate you making the effort here! It seems the logo's commit is still here, though 😕 I think it'd be probably cleaner to start from scratch. Would you mind opening a new PR from zero with these changes added in?

[x] created a new PR

created a new PR from scratch, as per some issues with this PR.


[Bug]: DeepSeek Api Stream Error, Both Models on Long Context input

What happened?
LibreChat         | 2024-09-30 20:26:22 warn: [OpenAIClient.chatCompletion][stream] API error
Getting multiple similar errors everytime the context is increased current context tested >25000 tokens the error doesnot occur on small context lengths as long as the context in under 10k it streams..
Tried to get more detailed logs or error origins but couldn't trace. I suspect it aborts the request as I am not seeing any calls on my api when sending long context messages. Something in the abortController that is triggering this? Detailed specific logging improvements for custom api endpoints would be appreciated.
Steps to Reproduce
Single Prompt send a >25000 token message to the Deepseek models after configuring the base urls, the base urls tried are

/
/beta
/v1

What browsers are you seeing the problem on?
No response
Relevant log output
2024-09-30T20:28:50.306Z debug: [OpenAIClient] chatCompletion
{
  baseURL: "https://api.deepseek.com/beta",
    modelOptions.model: "deepseek-chat",
    modelOptions.max_tokens: 50000,
    modelOptions.user: "66dd6b11f63397ca8b53ff41",
    modelOptions.stream: true,
    // 5 message(s)
    modelOptions.messages: [{"role":"user","content":"<requirements.txt>\nnpm install socket.io\nnpm install cassandra-driver\nn... [truncated],{"role":"assistant","content":"Certainly! Let's perform a detailed comparison between your existing ... [truncated],{"role":"user","content":"ok first lets get started with only Enhanced session recordings for mobile... [truncated],{"role":"assistant","content":"Certainly! Enhancing your session recording functionalities to better... [truncated],{"role":"user","content":"ok whats next"}],
}
2024-09-30T20:28:50.309Z debug: [OpenAIClient] chatCompletion: dropped params
{
  // 1 dropParam(s)
  dropParams: ["stop"],
    modelOptions.model: "deepseek-chat",
    modelOptions.max_tokens: 50000,
    modelOptions.user: "66dd6b11f63397ca8b53ff41",
    modelOptions.stream: true,
    // 5 message(s)
    modelOptions.messages: [{"role":"user","content":"<requirements.txt>\nnpm install socket.io\nnpm install cassandra-driver\nn... [truncated],{"role":"assistant","content":"Certainly! Let's perform a detailed comparison between your existing ... [truncated],{"role":"user","content":"ok first lets get started with only Enhanced session recordings for mobile... [truncated],{"role":"assistant","content":"Certainly! Enhancing your session recording functionalities to better... [truncated],{"role":"user","content":"ok whats next"}],
}
2024-09-30T20:28:50.313Z debug: Making request to https://api.deepseek.com/beta/chat/completions
2024-09-30T20:28:50.317Z debug: [saveConvo] api/app/clients/BaseClient.js - saveMessageToDatabase #saveConvo
2024-09-30T20:28:52.815Z warn: [OpenAIClient.chatCompletion][stream] API error
2024-09-30T20:28:52.816Z debug: [spendTokens] conversationId: edd00fb5-0611-4e0a-8487-758c852648e7 | Context: message | Token usage:
{
  promptTokens: 38592,
  completionTokens: 0,
}
2024-09-30T20:28:52.826Z debug: [spendTokens] No transactions incurred against balance
2024-09-30T20:28:52.830Z debug: [saveConvo] api/app/clients/BaseClient.js - saveMessageToDatabase #saveConvo
2024-09-30T20:28:52.839Z debug: [AskController] Request closed

Screenshots
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I have managed to debug and resolve the bug. I had to drop the 'stream' parameter in the librechat.yaml for my deepseek model.
custom:
# deepseek
# https://platform.deepseek.com/api_keys
# Model list: https://platform.deepseek.com/api-docs/pricing
- name: "deepseek"
apiKey: "${DEEPSEEK_API_KEY}"
baseURL: "https://api.deepseek.com/beta"
models:
default: [
"deepseek-chat",
"deepseek-coder"
]
fetch: false
titleConvo: true
titleModel: "deepseek-chat"
summarize: false
summaryModel: "deepseek-chat"
forcePrompt: false
dropParams: ['stop', 'stream']  //Like so
modelDisplayLabel: "DeepSeek"
And then retried the long contexts again, and this finally exposed the true error/ log from deepseek servers?
LibreChat         | 2024-09-30 20:58:17 warn: [OpenAIClient.chatCompletion][create] API error
LibreChat         | 2024-09-30 20:58:17 error: [OpenAIClient.chatCompletion] Unhandled error type Error: 400 Invalid max_tokens value, the valid range of max_tokens is [1, 8192]
LibreChat         | 2024-09-30 20:58:17 error: [handleAbortError] AI response error; aborting request: Error: 400 Invalid max_tokens value, the valid range of max_tokens is [1, 8192]
I had set the output tokens to 50k hence a hard error on the api. The output tokens can only be between 1 and 8192, retried after setting it to 8192. And both without stream and with stream now work perfectly. Max output tokens was the key an incorrect entry here was causing the issue.


what's the relationship between plutus-core and plutus

it seems the plutus-core is more lisp-style, so is it the AST syntax tree of haskell-styled plutus?
so how the plutus will turn into plutus-core?
it seems exist too much compile step for running on iele?
marlowe->plutus->plutuscore->(iele->k->ocamel)?

Plutus Core is the core language of Plutus, similar to how Haskell has a core language as well. Like in Haskell Plutus programs will translate to programs in Plutus Core. That's a compilation step we're not focusing on in this work, but refer to the IOHK implementation of Plutus (https://github.com/input-output-hk/plutus-prototype/) for more details.
As far as the long-term plan for Plutus, it is as yet not clear whether it will be running on the EVM or on IELE. A translation to IELE provides the option for running it on IELE, as well as provides a lot of potential for verification, since Plutus Core, the translation, and IELE are all defined in K. In the long-term, we plan on using K's verification engine to prove correctness of this translation. As far as too many compile steps, many real-world programming languages have many more compile steps than this. As long as optimizations are done along the way, the amount of compile steps should not be a big problem.


Unshim many Pandas execs [databricks]

This is part of #5005.  It removes the shims for AggregateInPandasExec, ArrowEvalPythonExec, FlatMapGroupsInPandasExec, and MapInPandasExec.  It also includes an unused import fix caused by a merge issue from recent PRs.

build

I wonder why this PR does not trigger mvn-verify-check. I don't think there are any skip checks commit. Is it related to [databricks] subject?  /cc @pxLi

I think it's because Github actions werd down/degraded.  I'll try closing and re-opening to see if it re-kicks these actions.

build

@gerashegalov @jlowe yes, it was due to the github action degraded perf. incident: https://www.githubstatus.com/incidents/tyc8wpsgr2r8


should factories validate their callbacks?

This is only a question at this point. Could become a feature request depending on feedback.
Problem this feature will solve
I recently created a factory like
FactoryBot.define do
  factory :location, class: Location do
    before(:build) do |location, evaluator|
      do_a_thing
    end
  end
end

I was very confused about why my do_a_thing method was never being called. I eventually (re)-disovered that before(:build) isn't a supported callback. Duh. I changed this to after(:build) and problem solved. Reflecting on why I made this mistake, I'd say I'm just very used to the ActiveRecord callback system, where most callback events support both a before and after permutation.
I wondered if there would've been a way for FactoryBot to warn me that I was defining a callback that would never be called, since that would've saved a lot of time & head-scratching.
To be clear: I don't think what FactoryBot is doing here is wrong. I was just looking for a way to avoid this pitfall in the future.
I poked in the code a while, and it seems like this kind of validation might be hard to implement in general because strategies don't express which callbacks they support.

Is that a correct assessment? This is my first time digging into FactoryBot internals so I may have missed something.
Could this kind of validation be added for the default :build and :create strategies maybe? I have to guess that would cover the large majority of FactoryBot users, so it might be worthwhile even if the general case (including custom strategies) isn't easy.

Desired solution
This is only a guess...
# lib/factory_bot/strategy/build.rb
module FactoryBot
  module Strategy
    class Build
      def association(runner)
        runner.run
      end

      def result(evaluation)
        evaluation.object.tap do |instance|
          evaluation.notify(:after_build, instance)
        end
      end

      def to_sym
        :build
      end

      # NEW THING: allow strategies to express which callbacks they support
      def supported_callbacks
        [:after_build]
      end
    end
  end
end

# lib/factory_bot/factory.rb
module FactoryBot
  class Factory
    def run(build_strategy, overrides, &block)
      block ||= ->(result) { result }
      compile

      strategy = StrategyCalculator.new(build_strategy).strategy.new

      # THIS IS THE NEW PART
      if strategy.respond_to?(:supported_callbacks)
        unknown_callbacks = @definition.callbacks.map(&:name) - strategy.supported_callbacks
        if unknown_callbacks.size > 0
          # maybe a warning here?
        end
      end

      # continue with process here... snipped from example for clarity.
    end

From the existing callback specs, it seems like maybe this isn't even a desired feature? I noticed a factory in the test suite which defines a number of callbacks which would never be invoked by a normal FactoryBot.build(), but the tests use this factory for many :build calls.
I only raise this because the current approach (to silently ignore callbacks which are not understood by the current strategy) definitely caused me some confusion and I thought I'd ask if others might have the same issue. Thanks for your feedback & consideration!

Good find on that spec. Yeah, I think the challenge is that a callback might be valid for one strategy but not another. Like after(:create) doesn't do anything when using FactoryBot.build, but it does do something for FactoryBot.create.

Like after(:create) doesn't do anything when using FactoryBot.build, but it does do something for FactoryBot.create.

oh good point. Hadn't considered that. So I guess this is a wontfix. :( Thanks for the input!


Multi-threading Support

I am trying to classify a bunch of items using Parallel.ForEach.  It seems that SharpNL is not working well with multithreading.  I am getting the following errors:
System.NullReferenceException: Object reference not set to an instance of an object.
   at SharpNL.Utility.Cache.Clear() in c:\GitHub\SharpNL\src\SharpNL\Utility\Cache.cs:line 93
   at SharpNL.Utility.FeatureGen.CachedFeatureGenerator.CreateFeatures(List`1 features, String[] tokens, Int32 index, String[] previousOutcomes) in c:\GitHub\SharpNL\src\SharpNL\Utility\FeatureGen\CachedFeatureGenerator.cs:line 86
   at SharpNL.NameFind.DefaultNameContextGenerator.GetContext(Int32 index, String[] tokens, String[] preds, Object[] additionalContext) in c:\GitHub\SharpNL\src\SharpNL\NameFind\DefaultNameContextGenerator.cs:line 83
   at SharpNL.ML.BeamSearch`1.BestSequences(Int32 numSequences, T[] sequence, Object[] additionalContext, Double minSequenceScore, IBeamSearchContextGenerator`1 beamSearch, ISequenceValidator`1 validator) in c:\GitHub\SharpNL\src\SharpNL\ML\BeamSearch.cs:line 140
   at SharpNL.ML.BeamSearch`1.BestSequences(Int32 numSequences, T[] sequence, Object[] additionalContext, IBeamSearchContextGenerator`1 beamSearch, ISequenceValidator`1 validator) in c:\GitHub\SharpNL\src\SharpNL\ML\BeamSearch.cs:line 108
   at SharpNL.ML.BeamSearch`1.BestSequence(T[] sequence, Object[] additionalContext, IBeamSearchContextGenerator`1 beamSearch, ISequenceValidator`1 validator) in c:\GitHub\SharpNL\src\SharpNL\ML\BeamSearch.cs:line 84
   at SharpNL.NameFind.NameFinderME.Find(String[] tokens, String[][] additionalContext) in c:\GitHub\SharpNL\src\SharpNL\NameFind\NameFinderME.cs:line 221

I will try to look into this more when I get time.  I just wanted to bring this to your attention.

Take a look at the following test, 100 threads with no problem. :sunglasses:
NameFinderMultithreadingTest.cs

Nice!  Unfortunately, loading an instance of the model per thread is very expensive.  I needed to make it fast.  I made some changes in the code to allow multi-threaded support.  Now, I have true multi-threaded support for SharpNL, where I load the models once into memory as static members and share them across multiple threads.  It's very nice!  I can submit a pull request if you're interested.

There is no need to instantiate one model per thread, you can share the same model instance across the threads. This is the design of the original library and it works very well.


[BEAM-2058] Generate BigQuery load job at runtime

Generate the load job at run time instead of submission time. This allows a job with a BQ sink to be reexecuted without failing.
R: @bjchambers

Coverage decreased (-0.01%) to 70.036% when pulling 01b3a0f89c7e81a655afe375e7450cf094cd139a on reuvenlax:repeatable_bq_sink into a67019739dc7f09a8336b9606c3726ad5d546f51 on apache:master.

Coverage decreased (-0.01%) to 70.178% when pulling 5954e224a3f354bb6f3cd330ee1407db3fa5bd36 on reuvenlax:repeatable_bq_sink into 15bd3a394e5c724216453a2098af117cac13778e on apache:master.

@bjchambers Testing isn't so easy, because running the pipeline twice would result in different job ids even before. What we'd need to do is simulate what templates do - generate the graph once and run it twice - and I don't know how to do that in a test.

Coverage increased (+0.6%) to 70.745% when pulling a767a9d6bcb056d2c046e60a8b05ca7cda44df67 on reuvenlax:repeatable_bq_sink into 15bd3a394e5c724216453a2098af117cac13778e on apache:master.

Coverage increased (+0.6%) to 70.775% when pulling 2a9a5e8c0a26e009fb88aded20e3879f0021ba39 on reuvenlax:repeatable_bq_sink into 15bd3a394e5c724216453a2098af117cac13778e on apache:master.

@bjchambers anything more, or can this be merged?

R: @jkff


.transformReplace / .giveBack corner cases

Having this recipe
recipes.addShapeless(plank, [sign.giveBack(woodShard)]);
and using just one sign in crafting, i get plank + shard in the inventory
but when using 2 signs, I get just plank + shard in the inventory as opposed to what it should have been: 2 planks + 2 shards
another recipe:
recipes.addShaped(plank, [[sign.giveBack(woodShard), sign, sign]]);
after crafting (sign, sign, sign ) I get:
plank + shard,
but the crafting grid shows still shows in place of the second and third place sign and red 0
shilst after removing on of thouse, one can still craft with the 0sign an item :D ?!
after crafting (2signs, 2signs, sign ) I get:
plank + shard,
but the first 2 signs get consumed, the second one remain in tact and the third chaneg to 0sign
side note: my end-goal is  to be able to output multiple items in (de)crafting recipes, while the recipes would work for multiples of the ingredients
MC1.10.2
Forge:<IP_ADDRESS>1
CT/MT3: 1.10.2-3.0.13

try this version
http://blamejared.com:8080/job/CraftTweaker/37/

:( no change in either case
On Sun, Oct 30, 2016 at 5:07 PM, Jared<EMAIL_ADDRESS>wrote:

try this version
http://blamejared.com:8080/job/CraftTweaker/37/
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257160160,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHS7qzXIgyp8d-USHoK0Rtkr1uJ5twks5q5MDZgaJpZM4Kkadk
.

--
Peter Flachbart

are you using shift clicking when crafting?

either way; with(out) shift the result is the same
On Sun, Oct 30, 2016 at 5:16 PM, Jared<EMAIL_ADDRESS>wrote:

are you using shift clicking when crafting?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257160712,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHS8xv4q6hHZafoGTWegsBoDASeWUUks5q5ML5gaJpZM4Kkadk
.

--
Peter Flachbart

ok, can you clarify more? because you just contradicted yourself...
"but when using 2 signs, I get just plank + shard in the inventory as opposed to what it should have been: 2 planks + 2 shards"
how would you use 2 signs if you arn't shift clicking? pictures would be nice :)

oh, if not shift clicking, the remaining resources(1sign) should stay in
the crafting grid, but it does not
now pics:
crafting 1 sign / result vs 2 sign crafting / result
[image: Inline image 2][image: Inline image 3]
[image: Inline image 4][image: Inline image 5]
On Sun, Oct 30, 2016 at 5:22 PM, Jared<EMAIL_ADDRESS>wrote:

ok, can you clarify more? because you just contradicted yourself...
"but when using 2 signs, I get just plank + shard in the inventory as
opposed to what it should have been: 2 planks + 2 shards"
how would you use 2 signs if you arn't shift clicking? pictures would be
nice :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257161061,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHSwvPbuFjAObPJ5zIju6GVTNzSvBBks5q5MRjgaJpZM4Kkadk
.

--
Peter Flachbart

yea, you are going to have to upload those to imgur or something, not showing

there you go:
http://imgur.com/a/vA7Z8
On Sun, Oct 30, 2016 at 5:39 PM, Jared<EMAIL_ADDRESS>wrote:

yea, you are going to have to upload those to imgur or something, not
showing
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257161994,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHS1ajzFZ9023LBN93skOA_Bg3tcxMks5q5MhUgaJpZM4Kkadk
.

--
Peter Flachbart

that tells me literally nothing, besides that it works with one item

when i put 2signs in crafting grid and click (with or without shift) on the
shown result(plank) i end up with 1 shard and one plank and the 2signs are
gone
let me know if (and how) you need it be illustrated some other way
On Sun, Oct 30, 2016 at 5:56 PM, Jared<EMAIL_ADDRESS>wrote:

that tells me literally nothing, besides that it works with one item
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257163156,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHS9MgD7_5V7LJdMqGDHJJjN5iJZbXks5q5MxMgaJpZM4Kkadk
.

--
Peter Flachbart

ok yea, was actually fixing that now, thanks for the info

Build #37 has a new bug ( which is not present
in CraftTweaker-1.10.2-3.0.13 )
with recipe:
recipes.addShaped(plank, [[sign,flint.transformReplace(flint)]]);
one would expect the flint to stay in the crafting table, which with build
#37 is not the case, the flint gets lost
On Sun, Oct 30, 2016 at 6:10 PM, Jared<EMAIL_ADDRESS>wrote:

ok yea, was actually fixing that now, thanks for the info
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257164012,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHS2-dkVtHibuq910JIpTO4Ryrz0hSks5q5M-ggaJpZM4Kkadk
.

--
Peter Flachbart

try http://blamejared.com:8080/job/CraftTweaker/35/ please

build #35
recipes.addShaped(plank, [[sign,flint.transformReplace(flint)]]); - no bug
rest of it still the same
On Sun, Oct 30, 2016 at 9:13 PM, Jared<EMAIL_ADDRESS>wrote:

try http://blamejared.com:8080/job/CraftTweaker/35/ please
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257175853,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHS38Ps9f2znqSNTF6Yp3mSCODWpbuks5q5PqFgaJpZM4Kkadk
.

--
Peter Flachbart

ok, I need to revert the changes I did in 36

another issue:
recipes.addShapeless(stick, [pattern.giveBack(woodShard)]);
while working with TiC stencil table, creating patter i receive the
woodShard on top of the chosen patter XD ?!
On Sun, Oct 30, 2016 at 11:17 PM, Jared<EMAIL_ADDRESS>wrote:

ok, I need to revert the changes I did in 36
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257183702,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHS6gEn31oFadvzMsd9bhS4MxzowN3ks5q5Rd2gaJpZM4Kkadk
.

--
Peter Flachbart

Does the stencil return on normal non minetweaker recipes?
On Oct 31, 2016 12:35 AM, "flapee"<EMAIL_ADDRESS>wrote:

another issue:
recipes.addShapeless(stick, [pattern.giveBack(woodShard)]);
while working with TiC stencil table, creating patter i receive the
woodShard on top of the chosen patter XD ?!
On Sun, Oct 30, 2016 at 11:17 PM, Jared<EMAIL_ADDRESS>wrote:

ok, I need to revert the changes I did in 36
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-
257183702>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AWFHS6gEn31oFadvzMsd9bhS4MxzowN3ks5q5Rd2gaJpZM4Kkadk>
.

--
Peter Flachbart
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257184821,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFS9xTAE0nM_eAfoWy7Nj3fp4GTtzda_ks5q5Ru7gaJpZM4Kkadk
.

none of the pattern recipes in regards to stencil table can be looked up in
JEI/NEI ( as if that was a separate pool of recipes )
the original recipe goes as this
pattern -> pattern
while the resulting pattern gets its TAG changed based on the chosen pattern
same thing happens if you get two recipes (for crafting table) with same
inputs and one of the recipes uses giveBack
On Sun, Oct 30, 2016 at 11:36 PM, Jared<EMAIL_ADDRESS>wrote:

Does the stencil return on normal non minetweaker recipes?
On Oct 31, 2016 12:35 AM, "flapee"<EMAIL_ADDRESS>wrote:

another issue:
recipes.addShapeless(stick, [pattern.giveBack(woodShard)]);
while working with TiC stencil table, creating patter i receive the
woodShard on top of the chosen patter XD ?!
On Sun, Oct 30, 2016 at 11:17 PM, Jared<EMAIL_ADDRESS>wrote:

ok, I need to revert the changes I did in 36
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-
257183702>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AWFHS6gEn31oFadvzMsd9bhS4MxzowN3ks5q5Rd2gaJpZM4Kkadk>
.

--
Peter Flachbart
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-
257184821>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFS9xTAE0nM_
eAfoWy7Nj3fp4GTtzda_ks5q5Ru7gaJpZM4Kkadk>
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-257184890,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHSxDs3rieQXi-GvC_9uJMTrnAtsgpks5q5Rv8gaJpZM4Kkadk
.

--
Peter Flachbart

few more oddities:
recipes.addShapeless(pattern, [partBuilder.giveBack(null) ]); // returns partBuilder
recipes.addShapeless(pattern, [partBuilder.transformReplace(null) ]); // NPE
recipes.addShapeless(pattern, [partBuilder.transformReplace(woodShard) ]);
transformation results in 2 woodShards instead of just one

there might be other things at play:
recipes.addShaped(plank, [[sign, breaker.reuse()]], function(output, inputs, crafting) {
crafting.player.sendChat("executed");
crafting.player.give(minecraft:stick);
return output;
});
just putting the resources into crafting results in seeing "executed" in chat, twice,
but player inventory receives a stick, then when actual crafting occurs, same situation occurs;
in the end chat log contains 4x "executed" and players inventory 2x stick.
its understandable that the function needs to be called multiple times,
but why the player inventory modification is withheld only sometimes ...
this might be the root of all the issues

jared, it's still buggy, for multiples of ingredients
the answer is the contract of
net.minecraft.inventory.SlotCrafting.onPickupFromSlot
Recipe[i] - recipe cost
Remainder[i] - what remains after crafting, if of different type (than Recipe[i]), returned into inventory/droped
CraftingMatrix  - current state of crafting (table, ... )
CraftingMatrix{n}[i] = CraftingMatrix{n-1}[i] - (Recipe[i]/Recipe[i]) +  Remain[i]
-- MUST NOT invoke "apply transformations" onPlayerItemCrafted, because of side effects:
-TiC stencil table/etc.. actually invokes onPlayerItemCrafted and transformations get applied even though thay should not have
-TiC crafting station ghosting items
-- "apply transformations" might be used as result for getRemainingItems,
IF their contract changes a bit
-automatic De-bottlink/De-bucketing might be enabled
already got the patch:
fix against build 35.zip
cheeers

Oh, well yesterday I just reverted to what it was before, so not sure if it
works, will have to check
On Nov 6, 2016 7:16 PM, "flapee"<EMAIL_ADDRESS>wrote:

jared, it's still buggy, for multiples of ingredients
the answer is the contract of
net.minecraft.inventory.SlotCrafting.onPickupFromSlot
Recipe[i] - recipe cost
Remainder[i] - what remains after crafting, if of different type (than
Recipe[i]), returned into inventory/droped
CraftingMatrix - current state of crafting (table, ... )
CraftingMatrix{n}[i] = CraftingMatrix{n-1}[i] - (Recipe[i]/Recipe[i]) +
Remain[i]
-- MUST NOT invoke "apply transformations" onPlayerItemCrafted, because of
side effects:
-TiC stencil table/etc.. actually invokes onPlayerItemCrafted and
transformations get applied even though thay should not have
-TiC crafting station ghosting items
-- "apply transformations" might be used as result for getRemainingItems,
IF their contract changes a bit
-automatic De-bottlink/De-bucketing might be enabled
already got the patch:
fix against build 35.zip
https://github.com/jaredlll08/CraftTweaker/files/573969/fix.against.build.35.zip
cheeers
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-258695236,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFS9xRh8omzQtCcJxC_6N79aCRL5_2pOks5q7gt4gaJpZM4Kkadk
.

I just tried making this recipe in CraftTweaker version 3.0.15:
recipes.addShaped(<immersiveengineering:treatedWood>*8,
    [[<ore:plankWood>.noReturn(),<ore:plankWood>.noReturn(),<ore:plankWood>.noReturn()],
     [<ore:plankWood>.noReturn(),<railcraft:fluid_bottle_creosote>.giveBack(<minecraft:glass_bottle>),<ore:plankWood>.noReturn()],
     [<ore:plankWood>.noReturn(),<ore:plankWood>.noReturn(),<ore:plankWood>.noReturn()]]);

Putting 8 planks in each slot and a bottle of creosote in the middle (that is 64 total planks), I get 8 treated wood and a glass bottle, but all of the leftover planks are destroyed, where I should've had 56 planks left (7 in each slot).
Similar happens if you put in more creosote. It destroys the entire stack in the crafting grid and gives you one result (8 treated wood planks, in this case) back.

Remove noReturn and try again
On Nov 22, 2016 3:36 PM, "Andrew Sage"<EMAIL_ADDRESS>wrote:

I just tried making this recipe in CraftTweaker version 3.0.15:
recipes.addShaped(immersiveengineering:treatedWood*8,
[[ore:plankWood.noReturn(),ore:plankWood.noReturn(),ore:plankWood.noReturn()],
[ore:plankWood.noReturn(),railcraft:fluid_bottle_creosote.giveBack(minecraft:glass_bottle),ore:plankWood.noReturn()],
[ore:plankWood.noReturn(),ore:plankWood.noReturn(),ore:plankWood.noReturn()]]);
Putting 8 planks in each slot and a bottle of creosote in the middle (that
is 64 total planks), I get 8 treated wood and a glass bottle, but all of
the leftover planks are destroyed, where I should've had 56 planks left (7
in each slot).
Similar happens if you put in more creosote. It destroys the entire stack
in the crafting grid and gives you one result (8 treated wood planks, in
this case) back.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-262242004,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGHyAvpqOTt9JJVzQcFhyfaw50lkFpKSks5rAu_igaJpZM4Kkadk
.

The problem I was trying to resolve is that by not using noReturn, the recipe doesn't consume the planks; I was getting planks only at the cost of creosote. That problem is/was probably something that Immersive Engineering did it its recipe handler.

Well noReturn removes the hole stack...
On Nov 22, 2016 3:40 PM, "Andrew Sage"<EMAIL_ADDRESS>wrote:

The problem I was trying to resolve is that by not using noReturn, the
recipe doesn't consume the planks; I was getting planks only at the cost of
creosote. That problem is/was probably something that Immersive Engineering
did it its recipe handler.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-262242919,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFS9xTsnHuQsDD9YwB_bjTznBTkuamwLks5rAvDjgaJpZM4Kkadk
.

The documentation says that noReturn is supposed to suppress the return of an item, like giving back an empty bucket when crafting something with a bucket of water. I don't know why anyone would want to remove the entire stack.
In addition, giveBack is also removing the entire stack.

Jared, please consider the code I have provided,
Even in Andrej's case, the recipe (without using no return ) would work as
expected. Cheers. p
On Tue, Nov 22, 2016 at 2:47 PM, Andrew Sage<EMAIL_ADDRESS>wrote:

The documentation says that noReturn is supposed to suppress the return of
an item, like giving back an empty bucket when crafting something with a
bucket of water. I don't know why anyone would want to remove the entire
stack.
In addition, giveBack is also removing the entire stack.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-262244337,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHS3yguh9m_0YxRlF_Z0wZhHAWkqeZks5rAvJlgaJpZM4Kkadk
.

--
Peter Flachbart

I thought I fixed that? Got a link to your code?
On Nov 22, 2016 4:17 PM, "flapee"<EMAIL_ADDRESS>wrote:

Jared, please consider the code I have provided,
Even in Andrej's case, the recipe (without using no return ) would work as
expected. Cheers. p
On Tue, Nov 22, 2016 at 2:47 PM, Andrew Sage<EMAIL_ADDRESS>wrote:

The documentation says that noReturn is supposed to suppress the return
of
an item, like giving back an empty bucket when crafting something with a
bucket of water. I don't know why anyone would want to remove the entire
stack.
In addition, giveBack is also removing the entire stack.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-
262244337>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AWFHS3yguh9m_0YxRlF_
Z0wZhHAWkqeZks5rAvJlgaJpZM4Kkadk>
.

--
Peter Flachbart
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-262251725,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFS9xV0jEvwxwWB-23N1srvj31oVIsivks5rAvmSgaJpZM4Kkadk
.

see this post:
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-258695236
code in the link at the bottom
Cheers
p
On Tue, Nov 22, 2016 at 3:18 PM, Jared<EMAIL_ADDRESS>wrote:

I thought I fixed that? Got a link to your code?
On Nov 22, 2016 4:17 PM, "flapee"<EMAIL_ADDRESS>wrote:

Jared, please consider the code I have provided,
Even in Andrej's case, the recipe (without using no return ) would work
as
expected. Cheers. p
On Tue, Nov 22, 2016 at 2:47 PM, Andrew Sage<EMAIL_ADDRESS>wrote:

The documentation says that noReturn is supposed to suppress the return
of
an item, like giving back an empty bucket when crafting something with
a
bucket of water. I don't know why anyone would want to remove the
entire
stack.
In addition, giveBack is also removing the entire stack.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-
262244337>,
or mute the thread
<https://github.com/notifications/unsubscribe-
auth/AWFHS3yguh9m_0YxRlF_
Z0wZhHAWkqeZks5rAvJlgaJpZM4Kkadk>
.

--
Peter Flachbart
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-
262251725>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFS9xV0jEvwxwWB-
23N1srvj31oVIsivks5rAvmSgaJpZM4Kkadk>

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/71#issuecomment-262251901,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWFHS0dCWkRd9AVoOT53YWyMFhUI9AJKks5rAvm8gaJpZM4Kkadk
.

--
Peter Flachbart

@flapee implementing your stuff now, you did test it though right?


If R(m2g | CORR) < good; fix

@jovo @willgray we briefly discussed what is needed for the CORR paper in this regard today, but kind of left it hanging. Let's discuss the needs/requirements of m2g for CORR early next week?

i think what we need is a quantitative QC metric that enables us to justify
kicking out scans.
i'm not sure graph density is sufficient.
perhaps we can run disa's statistics suite and look at the distributions of
those ~7 n-dimensional features?
in summary, yes, let's discuss next week, either before the m2g meeting, or
at it.
On Fri, Jul 17, 2015 at 4:39 PM, Greg Kiar<EMAIL_ADDRESS>wrote:

@jovo https://github.com/jovo @willgray https://github.com/willgray
we briefly discussed what is needed for the CORR paper in this regard
today, but kind of left it hanging. Let's discuss the needs/requirements of
m2g for CORR early next week?
—
Reply to this email directly or view it on GitHub
https://github.com/openconnectome/m2g/issues/93#issuecomment-122406533.

--
the glass is all full:  half water, half air.
openconnecto.me, jovo.me, office hours
https://www.google.com/calendar/embed?src=e2ktu4lrgul8anp8hclrcminp8%40group.calendar.google.com&ctz=America/New_York

in any case, i think you finished this task.
might need a new one to run corr again later.


Pico W can not connect to WiFi

Describe the bug
After following the on-line guide at Adafruit to connect the Pico to Adafruit I/O and rebooting the device the output in the serial monitor of Thonny is 'Attempting to connect to Wifi and ends with an error (see pic)
Arduino board
Raspberry Pi PicoW
To Reproduce
Steps to reproduce the behavior:

Go to (https://io.adafruit.com/[account]/devices/new)
Follow the instructions for setting up a new device
Replace the secrets file with the one generated from step 6
When done (step 8) reboot the board

Expected behavior
I expect it to work of course :)
Note:

Secrets file also tested with same device and micro python and the credentials is verified to work.
When rebooting the board in step 8, no pop-up shows to be able to save the device
The USB drive is called 'USB Drive' not 'Wipper'

Which components are connected to your device
None
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows11 Home, version 10.0.22621 build 22621
Browser: Chrome Version 114.0.5735.110 (Official Build) (64-bit)

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.
Serial monitor output...

Contents on the USB device...

@magher Are you able to try a different WiFi network or a mobile WiFi network hotspot?

Tried it on my iPhone network and it seems to work better.... Can it be a firewall issue?
Registering hardware with WipperSnapper...
Registering hardware with IO...
Encoding registration request...Encoding registration msg...Published!
Polling for registration message response...2
GOT Registration Response Message:
Hardware Response Msg:
GPIO Pins: 31
Analog Pins: 4
Reference voltage: 3.30v
Completed registration process, configuration next!
Polling for message containing hardware configuration...
Polling for message containing hardware configuration...
cbSignalTopic: New Msg on Signal Topic
2 bytes.
decodeSignalMsg
cbSignalMsg
Sub-messages found: 1
Signal Msg Tag: Pin Configuration
Initial Pin Configuration Complete!
Publishing to pin config complete...
Hardware configured successfully!
Registration and configuration complete!
Running application...
PING!
PING!
PING!

Hmmm, I was sure that it was 2.4GHz but apparently it is 5GHz

It is an ASUS meshed router with 3 nodes if it makes any difference

Progress ??

Switched network to 2.4GHz but same result

@magher  I wonder if the Pico W's board support package for Arduino that we use (https://github.com/earlephilhower/arduino-pico) has issues connecting to your mesh wifi setup. I don't have a mesh setup so it's not possible for me to replicate this issue.
Are you familiar with how to use Arduino IDE to upload a sketch? We could try uploading a simple WiFi connection sketch to the Pico W to isolate if its the WiFi, or if it's WipperSnapper.

Ok. Do you have a sketch in mind or should I whip something up?
//M
16 juni 2023 kl. 18:20 skrev Brent Rubell @.***>:

@magherhttps://github.com/magher I wonder if the Pico W's board support package for Arduino that we use (https://github.com/earlephilhower/arduino-pico) has issues connecting to your mesh wifi setup. I don't have a mesh setup so it's not possible for me to replicate this issue.
Are you familiar with how to use Arduino IDE to upload a sketch? We could try uploading a simple WiFi connection sketch to the Pico W to isolate if its the WiFi, or if it's WipperSnapper.
—
Reply to this email directly, view it on GitHubhttps://github.com/adafruit/Adafruit_Wippersnapper_Arduino/issues/436#issuecomment-1594940233, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAVKFRAEQGOZAH7P4RR7I2DXLSBV5ANCNFSM6AAAAAAZBSXLKQ.
You are receiving this because you were mentioned.Message ID: @.***>

@magher I'd suggest:

Install Arduino Pico: https://arduino-pico.readthedocs.io/en/latest/install.html
In Arduino IDE, navigate to File->Examples->WiFi->WiFiClient
Modify the sketch to use your SSID/password and upload it.
See if it connects to your home network

Running 5 GHz
Unable to connect to network, rebooting in 10 seconds...
Unable to connect to network, rebooting in 10 seconds...
Unable to connect to network, rebooting in 10 seconds...
.
.
.
Running 2.4 GHz
IP address:
<IP_ADDRESS>
connecting to djxmmx.net:17
sending data to server
receiving from remote server
"It's not about where your dreams take you, but where you take your dreams..."
- Anonymous
closing connection
etc....
.
.
.

Works on 2.4GHz. Updated the ticket.
//M
16 juni 2023 kl. 19:00 skrev Magnus Herrström @.***>:

I’ll do that
//M
16 juni 2023 kl. 18:34 skrev Brent Rubell @.***>:

@magherhttps://github.com/magher I'd suggest:

Install Arduino Pico: https://arduino-pico.readthedocs.io/en/latest/install.html
In Arduino IDE, navigate to File->Examples->WiFi->WiFiClient
Modify the sketch to use your SSID/password and upload it.
See if it connects to your home network

—
Reply to this email directly, view it on GitHubhttps://github.com/adafruit/Adafruit_Wippersnapper_Arduino/issues/436#issuecomment-1594956655, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAVKFREQLLGA5FRCRKTZUNDXLSDI3ANCNFSM6AAAAAAZBSXLKQ.
You are receiving this because you were mentioned.Message ID: @.***>

@magher  So, 2.4GHz appears to work for the Pico W and 5GHz does not. This is expected behavior as the chipset does not support 5GHz.
Is there anything else to resolve before I close out this issue?

I can confirm that the same problem occurs here, using wippersnapper.rpi_pico_w.1.0.0-beta.66.uf2
I also have an Asus mesh network and I have tried it on the main wireless LAN and also a guest wireless LAN. These are 2.4 GHz networks.
I have tried using two different Pico W boards, with exactly the same results.
The symptoms are generally the same as the initial report but VERY occasionally it does manage to connect to the Wi-Fi and start to initiate the dialogue with adafruit.io. It then drops out again and goes back into the failure loop .
I have tried using my Android phone as a hotspot but no success there either.
After a number of iterations of the loop, the internal FAT file system ends up getting corrupted and I lose the secrets.json file. I then have to restart all over again from scratch.

Out of sheer stubbornness and determination, I once again tried using my phone as a hotspot and changed the secrets.json file appropriately. For reasons unknown, this time the Pico W was actually able to connect to adafruit.io using the hotspot Wi-Fi. I'm really not sure what this tells us. Clearly the software is incompatible with an Asus mesh network and/or router(s). This is unfortunately a bit of a showstopper for me.

Having made a single successful connection I have since updated to the latest available beta. Reverting back to the Wi-Fi network provided by the Asus mesh results in the original problem reappearing. Here is what I get on the serial connection over USB.
Adafruit.io WipperSnapper
-------Device Information-------
Firmware Version: 1.0.0-beta.67
Board ID: rpi-pico-w
Adafruit.io User: zardoz99
WiFi Network: Shadow-2G
MAC Address: 28:CD:C1:0B:79:68
Generating device's MQTT topics...
Running Network FSM...
Connecting to WiFi...
Attempting to connect to WiFi...
Attempting to connect to WiFi...
Attempting to connect to WiFi...
Attempting to connect to WiFi...
Attempting to connect to WiFi...
ERROR: Unable to connect to WiFi!
ERROR [WDT RESET]: ERROR: Unable to connect to WiFi, rebooting soon...

@zardoz99  Which Asus router do you have?

AiMesh router
--
RT-AX86U
Current Version : <IP_ADDRESS>.388_23285-g5068da5

AiMesh Node
RT-AX86S
Current Version : <IP_ADDRESS>.388_23285-g5068da5
RT-AC86U
Current Version : <IP_ADDRESS>.386_51915-g43629d2

In case it is helpful, I am including a segment of log from the router which shows that the Pico W does in fact connect to the network and gets offered at DHCP response providing it with the correct IP address.
Jul 21 18:46:10 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> kernel: wl0: random key value:<PHONE_NUMBER>4AAE4137920216CB4E42CAF948C257E64B0A5FA23150D793D91EE7
Jul 21 18:46:10 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(503): eth6: Deauth_ind 28:CD:C1:0B:79:68, status: 0, reason: Unspecified reason (1), rssi:0
Jul 21 18:46:10 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(539): eth6: Auth 28:CD:C1:0B:79:68, status: Successful (0), rssi:0
Jul 21 18:46:10 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(568): eth6: Assoc 28:CD:C1:0B:79:68, status: Successful (0), rssi:-56
Jul 21 18:46:10 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 IEEE 802.11: associated
Jul 21 18:46:10 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 RADIUS: starting accounting session 1F4DD85A11B4AABE
Jul 21 18:46:10 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 WPA: pairwise key handshake completed (RSN)
Jul 21 18:46:13 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPDISCOVER(br0) 28:cd:c1:0b:79:68
Jul 21 18:46:13 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPOFFER(br0) <IP_ADDRESS> 28:cd:c1:0b:79:68
Jul 21 18:46:29 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> kernel: wl0: random key value: 3DA087F613E5BD4D6DA80099F58C9FEAD0F58E2DA85E0357B4FAE658A1AD6868
Jul 21 18:46:29 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(503): eth6: Deauth_ind 28:CD:C1:0B:79:68, status: 0, reason: Unspecified reason (1), rssi:-57
Jul 21 18:46:29 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(539): eth6: Auth 28:CD:C1:0B:79:68, status: Successful (0), rssi:-57
Jul 21 18:46:29 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(568): eth6: Assoc 28:CD:C1:0B:79:68, status: Successful (0), rssi:-57
Jul 21 18:46:29 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 IEEE 802.11: associated
Jul 21 18:46:29 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 RADIUS: starting accounting session 1F4DD85A11B4AABE
Jul 21 18:46:29 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 WPA: pairwise key handshake completed (RSN)
Jul 21 18:46:32 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPDISCOVER(br0) 28:cd:c1:0b:79:68
Jul 21 18:46:32 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPOFFER(br0) <IP_ADDRESS> 28:cd:c1:0b:79:68
Jul 21 18:46:37 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> kernel: wl0: random key value: 902F8A4102A8F4DE5F3001C31A3CB4A6733C8775C26B0313095217B077CDFC67
Jul 21 18:46:37 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(503): eth6: Deauth_ind 28:CD:C1:0B:79:68, status: 0, reason: Unspecified reason (1), rssi:0
Jul 21 18:46:37 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(539): eth6: Auth 28:CD:C1:0B:79:68, status: Successful (0), rssi:0
Jul 21 18:46:37 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(568): eth6: Assoc 28:CD:C1:0B:79:68, status: Successful (0), rssi:-56
Jul 21 18:46:37 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 IEEE 802.11: associated
Jul 21 18:46:37 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 RADIUS: starting accounting session 1F4DD85A11B4AABE
Jul 21 18:46:37 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 WPA: pairwise key handshake completed (RSN)
Jul 21 18:46:40 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPDISCOVER(br0) 28:cd:c1:0b:79:68
Jul 21 18:46:40 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPOFFER(br0) <IP_ADDRESS> 28:cd:c1:0b:79:68
Jul 21 18:46:40 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> kernel: wl0: random key value: 534D21B18577FBC80EDF025017F14E33A04AFC11A1C80555B5F294181C73853C
Jul 21 18:46:40 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(520): eth6: Disassoc 28:CD:C1:0B:79:68, status: 0, reason: Disassociated because sending station is leaving (or has left) BSS (8), rssi:0
Jul 21 18:46:40 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(520): eth6: Disassoc 28:CD:C1:0B:79:68, status: 0, reason: Disassociated because sending station is leaving (or has left) BSS (8), rssi:0
Jul 21 18:46:40 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 IEEE 802.11: disassociated
Jul 21 18:46:40 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 IEEE 802.11: disassociated
Jul 21 18:46:45 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(539): eth6: Auth 28:CD:C1:0B:79:68, status: Successful (0), rssi:0
Jul 21 18:46:45 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 IEEE 802.11: associated
Jul 21 18:46:45 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(568): eth6: Assoc 28:CD:C1:0B:79:68, status: Successful (0), rssi:-55
Jul 21 18:46:45 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 RADIUS: starting accounting session 9EC7216FDFA81397
Jul 21 18:46:45 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 WPA: pairwise key handshake completed (RSN)
Jul 21 18:46:48 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPDISCOVER(br0) 28:cd:c1:0b:79:68
Jul 21 18:46:48 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPOFFER(br0) <IP_ADDRESS> 28:cd:c1:0b:79:68
Jul 21 18:46:48 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> kernel: wl0: random key value: 43A38D9828BB7C6E4E30037187A8AC75F6DCAC8EFFE60901E6A24491F2DDEF15
Jul 21 18:46:48 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 IEEE 802.11: disassociated
Jul 21 18:46:48 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(520): eth6: Disassoc 28:CD:C1:0B:79:68, status: 0, reason: Disassociated because sending station is leaving (or has left) BSS (8), rssi:0
Jul 21 18:46:48 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth6: STA 28:cd:c1:0b:79:68 IEEE 802.11: disassociated
Jul 21 18:46:48 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(520): eth6: Disassoc 28:CD:C1:0B:79:68, status: 0, reason: Disassociated because sending station is leaving (or has left) BSS (8), rssi:0
Jul 21 18:46:53 RT-AC86U-FBA8-818D6EF-R/<IP_ADDRESS> wlceventd: wlceventd_proc_event(530): wl0.1: Auth 28:CD:C1:0B:79:68, status: Successful (0), rssi:0
Jul 21 18:46:53 RT-AC86U-FBA8-818D6EF-R/<IP_ADDRESS> wlceventd: wlceventd_proc_event(559): wl0.1: Assoc 28:CD:C1:0B:79:68, status: Successful (0), rssi:0
Jul 21 18:46:55 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPDISCOVER(br0) 28:cd:c1:0b:79:68
Jul 21 18:46:55 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPOFFER(br0) <IP_ADDRESS> 28:cd:c1:0b:79:68
Jul 21 18:46:55 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPREQUEST(br0) <IP_ADDRESS> 28:cd:c1:0b:79:68
Jul 21 18:46:55 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPACK(br0) <IP_ADDRESS> 28:cd:c1:0b:79:68 rpi-picow00
Jul 21 18:49:27 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(539): eth7: Auth 1E:D5:2B:B2:81:C8, status: Successful (0), rssi:0
Jul 21 18:49:27 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth7: STA 1e:d5:2b:b2:81:c8 IEEE 802.11: associated
Jul 21 18:49:27 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> wlceventd: wlceventd_proc_event(568): eth7: Assoc 1E:D5:2B:B2:81:C8, status: Successful (0), rssi:-64
Jul 21 18:49:27 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth7: STA 1e:d5:2b:b2:81:c8 RADIUS: starting accounting session 7E7B8DF34ABA55EE
Jul 21 18:49:27 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> hostapd: eth7: STA 1e:d5:2b:b2:81:c8 WPA: pairwise key handshake completed (RSN)
Jul 21 18:49:27 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPREQUEST(br0) <IP_ADDRESS> 1e:d5:2b:b2:81:c8
Jul 21 18:49:27 RT-AX86U-C280-818D6EF-C/<IP_ADDRESS> dnsmasq-dhcp[4211]: DHCPACK(br0) <IP_ADDRESS> 1e:d5:2b:b2:81:c8 SM-R910

One of the things that I did note is that it takes 3 seconds after the connection is established for the DHCP offer to go out. Is this too long? I have no mechanism to change it, if it is.

From what I am seeing, I deduce that we are not waiting long enough for the network to fully establish before giving up. On the few occasions that the DHCP response arrives within 2 seconds, we do establish the connection but when it takes 3 seconds or longer we fail. Obviously I don't know how WipperSnapper is handling the connections and what timers are configured. Maybe that is something that you can experiment with.

This much can be adjusted, we can change the maximum WiFi connection attempts here: https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/blob/main/src/Wippersnapper.cpp#L2195

I am also having this issue with a xFi router, using a hotspot also worked.

Just to add, the changeover for CI builds has happened, along with BSP upgrades and there has been no change in the connectivity ability. (My home 2.4GHz network broadcast from Virgin Media Hub5 is unconnectable with v72 of wippersnapper)

@magher @zardoz99  Hi - we have just released WipperSnapper beta 74. This includes PR #514 which addresses issues with the Pico W infinite reboot loop issue caused by WiFi failing to connect.
Please give this a try and let me know if you are still experiencing issues.

Hi again,
Unfortunately I still have the same problem with
wippersnapper.picow_rp2040_tinyusb.1.0.0-alpha.74.uf2
Thonny gives me...
Attempting to connect to WiFi...
Attempting to connect to WiFi...
Attempting to connect to WiFi...
ERROR: Unable to connect to WiFi!
ERROR [WDT RESET]: ERROR: Unable to connect to WiFi, rebooting soon...
It is just longer time between the reboots
//Magnus

Hi @magher there was a problem with 74, so please try v75 and report back. Also is that the 5GHz or 2.4GHz WiFi network?

It was the 2.4 GHz. Does it work on 5GHz?
//Magnus
7 dec. 2023 kl. 21:59 skrev Tyeth Gundry @.***>:

Hi @magherhttps://github.com/magher there was a problem with 74, so please try v75 and report back. Also is that the 5GHz or 2.4GHz WiFi network?
—
Reply to this email directly, view it on GitHubhttps://github.com/adafruit/Adafruit_Wippersnapper_Arduino/issues/436#issuecomment-1846104191, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAVKFRA53RG4FQIZW3G77Y3YIIU3PAVCNFSM6AAAAAAZBSXLKSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBWGEYDIMJZGE.
You are receiving this because you were mentioned.Message ID: @.***>

I haven't actually tried 5ghz as the problem for me was on 2.4GHz. Try v75 and see
https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/releases


Functions Codable after sharing implementation with RTDB

Umbrella PR that rolls up the following
#8853 from @mortenbekditlevsen to share Codable implementation
#8854 from  @mortenbekditlevsen to add Firebase Functions Codable implementation
Additional Functions Codable APIs cherry-picked from @peterfriese's #9057
CI implementation cherry-picked from @paulb777's #8983
Reviewers, you may want to review commit by commit
The FirebaseFunctionsSwift CocoaPods implementation, additional CI and associated documentation will come in follow up PR(s)
I plan to merge this PR without squashing to keep the contribution history in master.

@mortenbekditlevsen @peterfriese Please confirm I merged everything correctly.
@ryanwilson This should now be a one-stop PR for review of the Codable changes for Functions and RTDB
cc: @schmidt-sebastian

Thanks a ton for putting this together, @paulb777!

I struggle with the naming of StructuredEncoder - it's very generic which accurately matches the implementation, but I worry that it could be confused with a non-Firebase type and used for other purposes.
What about something like FirebaseDataEncoder/Decoder? I recognize it's code in third_party but it's a fork that we want to use exclusively for Firebase Codable implementations and that helps set the expectations.

Updated Callable API to use requestAs and responseAs instead of requestType and requestAs
Enabled second way of using API after an internal conversation. See the new test
    func testScalarAsyncAlternateSignature() async throws {
      let function: Callable<Int16, Int> = functions.httpsCallable("scalarTest")
      let result = try await function.call(17)
      XCTAssertEqual(result, 76)
    }

versus
func testScalarAsync() async throws {
      let function = functions.httpsCallable(
        "scalarTest",
        requestType: Int16.self,
        responseType: Int.self
        requestAs: Int16.self,
        responseAs: Int.self
      )

      let result = try await function.call(17)
      XCTAssertEqual(result, 76)
    }

I am glad to see that this got through your internal API review process.
Regarding the choice to supply both explicit typing of the callable and inferred typing:
Should this design choice form precedence for other similar API? As in: should DocumentSnapshot then also have an inferred version of
  public func data<T: Decodable>(as type: T.Type,
                                 with serverTimestampBehavior: ServerTimestampBehavior = .none,
                                 decoder: Firestore.Decoder? = nil) throws -> T?

without the as type: T.Type? And the same in other similar situations?
And if not: Why might that be?

@mortenbekditlevsen The design choice of supplying both explicit typing of the callable and inferred typing sounds like a good standard to me. @ryanwilson What do you think?
BTW, we're not completely through the internal API review yet - but hopefully getting close. 😄

As discussed above, I renamed StructuredEncoder to FirebaseDataEncoder.
All comments should be addressed and looking for approvals from @ryanwilson and @peterfriese and optionally @ncooke3, @schmidt-sebastian, and anyone else interested.

I squashed the commits from 15 to 5.


Corrected loading of wonders in SAV file

Saving wonders in SAV works ok. With this the game will correctly load wonders from SAV.

Thank you for you bug fix.


feat: set maximum card num to 3

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[x] Feature
[ ] Refactoring

Context

[x] Closes #6747
[ ] Requires deployment <snek/rubick/worker>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality

Optional

[ ] I've tested it at </ksm/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Did your issue had any of the "$" label on it?

[x] Fill up your DOT address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

Copilot Summary

🤖 Generated by Copilot at 5b63745
Reduced the number of carousel items at different screen widths and updated the options for both CarouselIndex.vue and CarouselAgnostic.vue to improve responsiveness and usability.

🤖 Generated by Copilot at 5b63745

steps and slides change
carousel adapts to screens
autumn leaves align

show maximum 3 items per collection per whole slider content

That means in that feed of 6 slides of 5 cards, only 3 items per collection can be shown.
It should work as spam prevention.
Let me demo it on the current newest list

aya got it. gonna close this pr.


empty page in IE: SCRIPT1002: Syntax error -  chunk-vendors.js (35,1)

Version
4.5.11
Reproduction link
https://github.com/Alymbek/vue3-i18n-next
Environment info
  System:
    OS: Windows 10 10.0.17134
    CPU: (4) x64 Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
  Binaries:
    Node: 12.19.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.5 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.14.8 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 87.0.4280.88
    Edge: Spartan (42.17134.1098.0)
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce
standard steps to create project with 'vue create' command
What is expected?
should work in Internet Explorer 11
What is actually happening?
getting empty page and error message in Console SCRIPT1002: Syntax error -  chunk-vendors.js (35,1)

working in Chrome and Edge without any error messages.
see also https://github.com/intlify/vue-i18n-next/issues/331

vue3 IE11 support is still pending.
Besides, many vue related package is not IE11 friendly now, e.g. the output of vue-loader@16 and vue-i18n-loader contains arrow function() => {}.  After this pr https://github.com/vuejs/vue-cli/pull/6220,  a part of the problem can be solved, e.g. node_modules/vue-i18n/dist constains const

hi, dear @fangbinwei .
thank you for your reply!
we'll wait for changes.


WIP make FileHandler a separate crate

r? @vinipsmaker
(maidsafe_highfive has picked a reviewer for you, use r? to override)


Death to default scope

2.0.0 [WARNING NON-BACKWARDS COMPATIBLE RELEASE]
The major new feature here is we've removed the default_scope.
To get find to NOT return records marked as deleted by immortal,
you now need to be explicit and use the supplied 'without_deleted' scope.
Task.without_deleted.first
If you want all records then don't bother with the scope:
Task.first
If you only want deleted records use the 'only_deleted' scope.
Task.only_deleted.first
The 'with_deleted' scope is no longer.
See the updated specs for a feel of what using immortal is like now.

@saimonmoore status?

ping @saimonmoore


Firefox going to CMS results the page to have a "Uncaught NS_ERROR_FAILURE: " error.

Winter CMS Build
1.1
PHP Version
8.1
Database engine
MySQL/MariaDB
Plugins installed
No response
Issue description
Attention: currently under Firefox 115.0.2. only!
The CMS editor does not pop up and when going to the console i get two errors that some .JS files could not have been loaded.
The error that appears is:
Uncaught NS_ERROR_FAILURE:
 https://www.xxxxxxx.com/modules/backend/assets/js/winter-min.js?v=1.1.6:1092
jQuery 2
winter-min.js:1092
Uncaught NS_ERROR_FAILURE:
onInitTab https://www.xxxxxxx.com/modules/cms/assets/js/winter.cmspage.js?v1.1.6:227
jQuery 7
initTab https://www.xxxxxxx.com/modules/system/assets/ui/storm-min.js?v=1.1.6:4650
addTab https://www.xxxxxxx.com/modules/system/assets/ui/storm-min.js?v=1.1.6:4662
Steps to replicate

Login to your backend with a Firefox browser.
go to CMS
Select any page or partial where the editor on the lower right should appear.
The code does not appear and the tab containing the title seems disabled / transparent.

Workaround
Use Google Chrome or Chromium :)

NS_ERROR_FAILURE is almost certainly a failure at the hosting or computer level - usually it's thrown if there's a network issue or if there's a content policy in place at the host. I doubt this will be caused by Winter directly, unfortunately. If it reoccurs, please take a screenshot of the developer tools console showing the full error - that might be able to give us some more context to work with.


Pass the default scopes to the default BigQuery credentials

resolves https://github.com/fishtown-analytics/dbt/issues/3040
Description
We have to pass the scope to access BigQuery tables whose data sources are google spreadsheets on Google Drive.
Checklist

[x] I have signed the CLA
[ ] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have updated the CHANGELOG.md and added information about my change to the "dbt next" section.

Ok! Now that we finally understand the cause of #3040, and confirmed that this change resolves the issue, let's move ahead with it.
@yu-iskw Could I ask you to merge/rebase the changes in develop, add a Changelog entry until v0.19.1 - Fixes, and add yourself to the list of Contributors there?


borderRadius not work on android 5.0.2

borderRadius not work on android 5.0.2

I found it works fine on android 5.0.2, but out from a page with webview..

I have same problem !
borderRadius not work on android 5.0.2

@somnuscq I think I does with RN 0.58?


[BUG] Qualification tool should use system properties from eventlog for Auto tuner

Describe the bug
The qualification tool, specifically the auto tuner part should use the properties from the event log if either the cluster properties aren't passed in or are incomplete.

The AutoTuner reads the properties from both:

the worker-info input file and
the spark-properties pulled from the eventlogs

If the property is not defined by the eventlog, it falls back to read it from the worker-info
  def getPropertyValue(key: String): Option[String] = {
    val fromProfile = appInfoProvider.getProperty(key)
    // If the value is not found above, fallback to cluster properties
    fromProfile.orElse(Option(clusterProps.softwareProperties.get(key)))
  }

Closing the issue as invalid for now.


Can't use in Eclipse

Eclispe doesn't find a classes

It's time to upgrade to Intellij or Android Studio anyways for Android Development or at least use Maven or Gradle for the dependencies.

I think it's good to close the issue. Eclipse is officially out of support by google also.

obviously,eclipse is outdated(#ﾟДﾟ)
在 2015-07-20 13:34:41，YoungjaeKim<EMAIL_ADDRESS>写道：
I think it's good to close the issue. Eclipse is officially out of support by google also.
—
Reply to this email directly or view it on GitHub.


File path should never be file://?

The file attribute for TestInfo and TestSuiteInfo objects says this:

The file containing this test (if known). This can either be an absolute path (if it is a local file) or a URI. Note that this should never contain a file:// URI.

But vscode.workspace.workspaceFolders[0].uri returns a URI like file:///Users/connorshea/Programming/vglist/spec/requests/users/sessions_spec.rb, and it works fine. What's the reasoning for the warning?

and of course immediately afterwards I discover that uri has an fsPath attribute 🤦♂
I'm still interested in the answer anyway :)

What's the reasoning for the warning?

The warning is more of a precaution: initially, I designed Test Explorer for local files only - my thinking was that the test framework usually wouldn't be able to access remote files anyway, so I went with paths instead of URIs. When I added support for VS Live Share, I had to add support for URIs, but had to keep support for paths as well (to stay compatible with existing adapters). So now there were 2 ways to specify local paths and I felt it was prudent to advise people to stick to the one that was already well-tested.


Storage section of install docs expanded and improved to give much more ...

...background information,
images added

LGTM, thanks for this. Let's ping @pdion891 to get a second read. and thanks for squashing the commits.

Thanks! thats a good addition to the documentation.
The only thing I see, schemas does not show all interfaces of SSVM. The information related to the SSVM only explain 2 nics of the 4 for the SSVM:

dom0 communication
public interface (exposing download link)
management interface (remote communication)
storage interface (mount nfs share)

We can details that in the SVM section[1]?
[1] http://docs.cloudstack.apache.org/projects/cloudstack-administration/en/latest/systemvm.html


DateTaken please precise and fix typo

DateTaken is a DateTimeOffset, so it cannot be compared to 0.
Also, could you please be more accurate on the difference between this and System.Photo.DateTaken since File explorer shows some differences when using AQS syntax?
Thank you

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

ID: 607552f4-9f8f-d0dc-ecf1-2351f61d0cb8
Version Independent ID: fce8eefa-10a0-1360-d642-98387a385ccf
Content: ImageProperties.DateTaken Property (Windows.Storage.FileProperties) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.storage.fileproperties.imageproperties.yml&version=GBlive&_a=contents
Product: uwp
Technology: winrt-reference
Git Login: lastnameholiu
Microsoft Alias: alholiu

Thanks for bringing this to our attention! I've submitted an update that more accurately and precisely describes the default behavior of this property - you should see these changes published soon.


explorer.exe is constantly crashing in v0.12.0

Environment
Windows build number: [10.0.18363.449]
PowerToys version: v0.12.0
PowerToy module for which you are reporting the bug (if applicable): PowerRename

Steps to reproduce
The crash of explorer.exe is triggered automatically whether the PowerToys service is running or not.
Expected behavior
The service should run smoothly without any crash to explorer.exe
Actual behavior
After installing the v0.12.0 & enabling PowerRename module, constant CPU usage is shown in explorer.exe & it is crashing several times across the day. This behavior is shown irrespective of whether the service is running or not. The integration with explorer context menu somewhere is making this happen. Uninstalled the utility & now experienced no crashes so far.
Screenshots

This should be fixed in the latest release. Please install it and let me know if you still encounter the issue.

Hi @RohitY24
please install v0.13.0 https://github.com/microsoft/PowerToys/releases/tag/v0.13.0

This release solved that issue, thanks! (^_^)


cs bootstrap thing --standalone -o name_2_12:x.y.z produces a non-working artifact

I'd like to sometimes have colon (:) in the name of the file produced by the cs bootstrap command. For example if I want to switch between multiple versions of bloop. But colon in the name of the artifact apparently breaks it:
$ cs bootstrap ch.epfl.scala:bloopgun_2.12:1.4.4 --standalone -o bloop_2.12:1.4.4
Wrote /home/przemek/bloop_2.12:1.4.4
$ ./bloop_2.12\:1.4.4 about
Error: Could not find or load main class coursier.bootstrap.launcher.ResourcesLauncher

I can fix it by avoiding the colon character:
$ mv bloop_2.12\:1.4.4 bloop_2.12_1.4.4
$ ./bloop_2.12_1.4.4 about
bloop v1.4.3-27-dfdc9971

but ideally I wouldn't have to.

Thanks for the report!
Renaming bloop_2.12 to bloop_2.12:1.4.4 after your second example works.
That looks like an issue in the bootstrap command itself, during the bootstrap generation.

Not glad I run across this but glad to have been able to report :wink:
What do you mean by "renaming bloop_2.12 to bloop_2.12:1.4.4 [...] works"? It doesn't work for me:
$ cs bootstrap ch.epfl.scala:bloopgun_2.12:1.4.4 --standalone -o bloop_2.12  # NO COLON AND IT WILL WORK
Wrote /home/przemek/bloop_2.12
$ ./bloop_2.12 about
bloop v1.4.3-27-dfdc9971

Using Scala v2.12.8 and Zinc v1.3.0-M4+45-d4354be3
Running on Java JDK v1.8.0_265 (/home/przemek/.sdkman/candidates/java/8.0.265.hs-adpt/jre)
  -> Supports debugging user code, Java Debug Interface (JDI) is available.
Maintained by the Scala Center (Jorge Vicente Cantero, Martin Duhem)

$ mv bloop_2.12 bloop_2.12:1.4.4  # WAS NO COLON - WORKED. NOW COLON AND IT WILL NOT WORK ANYMORE
$ ./bloop_2.12\:1.4.4 about
Error: Could not find or load main class coursier.bootstrap.launcher.ResourcesLauncher

Judging by the exact error message (Could not find or load main class coursier.bootstrap.launcher.ResourcesLauncher) and by the fact, that the mentioned class can be found in the jar generated by the bootstrap process, I would guess that the class loading process has been interrupted by some exception that is not reported in the console output - I wouldn't suspect that anything is off with the bootstrap process, just with the logic launched after one runs the generated artifact.
Also because the problem can be reproduced by having a colon (:) in the jar name, I wonder, can it be about first part of the name (bloop_2.12) being treated as protocol scheme (similar to http, https, ftp and similar in URLs)?


Support usage as a precompiler for ember addons

This supports usage within ember addons.
An ember addon can use LESS (by creating a file addon/styles/addon.less), then use ember-cli-less so that its LESS will be compiled and merged with host app CSS during the build process.
To use ember-cli-less in an addon, just add it to dependencies in package.json (example: https://github.com/Addepar/ember-table-addon/blob/azirbel/convert-src/package.json#L21).
We use setupPreprocessorRegistry here. This hook is only available in Ember CLI 0.2.0, so usage in ember addons will not work in earlier versions of Ember CLI.
The standard usage in ember apps will continue to work in Ember CLI 1.x, using the included hook.
I've tested basic usage in addons for Ember CLI 0.2.0, and basic usage in apps for Ember CLI 0.1.15 and 0.2.0. However, I'm new to broccoli and could be missing a common use case for this addon.
I've based my changes on ember-cli-sass, since the README mentions that it was inspiration for this project. As I added the new hook, I restructured the code somewhat to mirror the format there.

@azirbel nice work, thanks!


Stub decls must appear after "super" call

class Foo {
  constructor(public x: string) {
    super(3);
  }
}

becomes
class Foo {
  constructor(public x: string) {

// Sickle: begin stub declarations.

 /** @type { string} */
this.x;
// Sickle: end stub declarations.

    super(3);
  }
}

It's illegal in TS to have code before the super call apparently.

To be clear (I double-checked this), the super() must be first when the class contains initialized properties or parameter properties.  (That's the TS error message.)
I think this means we can rely on looking for the super() in the body of the function as the first statement.  (If it's not there we can just bail on stub decls because TS will reject the code anyway).

It turns out to be rather subtle when this rule applies, but I have a different approach that makes everything simpler.  I am sad I have to throw away my painstakingly gathered code, so I log here it here for posterity.
// isSuperCall returns true if the given node is a super(...) call.
function isSuperCall(node: ts.Node): boolean {
  if (node.kind != ts.SyntaxKind.ExpressionStatement) return false;
  let expr = (<ts.ExpressionStatement>node).expression;
  if (expr.kind != ts.SyntaxKind.CallExpression) return false;
  let callTarget = (<ts.CallExpression>expr).expression;
  return callTarget.kind == ts.SyntaxKind.SuperKeyword;
}

+1 for relying on type declaration hoisting.
Thanks for the posterity :) You never know when that would be useful.


update color on delete/move

fix #26

please review @eScienceCenter/spacialists

should be fixed @derntl


fixed paths

Fixes #

Changed to ejs
fixed file path

Proposed Changes

Please update .json file for the new page.