Block quote syntax

Description
Proposal
Add syntax sugar that allows writing block quotes similar to how they are defined in markdown.
Tasks

[x] #2252
[ ] Discuss the semantics of possible syntaxes (#2361)
[ ] Implement block quote syntax

Use Case
Typst has syntax adjacent to markdown, supporting block quotes will close the gab between those, providing a familiar syntax for a common use case and help typst's adoption.
> This is a quote
> > This is a nested quote in case you need that

becomes:

This is a quote

This is a nested quote in case you need that
in markdown.

Copying my response from the discussion:
One thing I'm missing in it is motivation. I feel like multiple things are at play here:

In Markdown, everything needs to be syntax. In Typst, we can always have a function, so only the most often used things need syntax.
Markdown is used often used in forums and conversations where quoting is very common. Meanwhile, Typst's main use case is writing documents, where block quotes are needed far less I think. It's not too bad to just write #quote[...].
It's very hard to have good syntax for attributions. Since none of the proposed syntaxes for attribution have any precedent (afaik), this would likely be a piece of syntax very few people are aware of.

Overall, we already have a lot of syntax and adding new syntax has a complexity high cost in my opinion. I specifically like about Typst in comparison to Markdown or AsciiDoc (which has tons of syntax), that we don't need syntax for everything because we have a more general mechanism.

It's very hard to have good syntax for attributions. Since none of the proposed syntaxes for attribution have any precedent (afaik), this would likely be a piece of syntax very few people are aware of.

As seen in the discussion, this part is likely the hardest to get right. And I think we can close this as not planned, I don't really have the time nor any arguments for doing this at this point in time.
If someone has a good argument for this, feel free to reopen this issue.

@tingerrr @laurmaedje
Hi, i would like to add an argument to reconsider the reopening of this feature request.
As a student in humanities (literary studies), the lack of a blockquote syntax is an absolute no-go. I was considering switching from pandoc-markdown to Typst (for my master thesis) because i really like everything about it, but i just cannot imagine writing #quote(block: true) for every block quote (it is way too bad).
In literary studies (but i think it's true for many social sciences as well), block quotes are VERY frequent.
I have at least 4-5 more block quotes that headings (1/2 per page is a common thing), and many more than raw code, math things or bold text (i just don't use math things and use bold only for headings, so the * syntax in my writing practice is useless).
I think it would be an error not to target humanities / literary studies / social sciences editing, because digital humanists really care about things like pandoc and markdown.
As they are concerned about writing (and, for some of them, study the writing processes), they do think a lot about digital writing tools (like pandoc, markdown, latex, ms-word...) -- Typst really could be a thing for them.
As an example, I just googled a random research article about some french poet i'm currently studying, you can look there about the number of blockquotes: https://books.openedition.org/quodlibet/619?lang=fr
Thank's in advance for reconsidering this feature request!

@thjbdvlt perhaps something like this could work for your needs?
#let q(body, attribution, ..args) = quote(body, attribution: attribution, block: true, ..args)

#q[
  Abc
][Plato]

I do agree the current way is a bit convoluted though due to the attribution being a named parameter. The block parameter is fine as you can just create an alias as shown (or use set rules).

@PgBiel yes it does simplify, but it's still a lot more verbose, and i still think there should be a syntax for that (as raw could be aliased as #let r(lang, content).

yes it does simplify, but it's still a lot more verbose

Is it it really "a lot"? Considering you don't want an attribution, it's two extra letters:
#q[Abc]

vs:
> Abc

Moreover, the function call syntax is (in my opinion) actually simpler to deal with when there are multiple paragraphs. At least if we would follow Markdown and not make > indent-sensitive across paragraph breaks, you'd need to manage the > signs for each paragraph individually.
#q[
  Hi

  There
]

vs
> Hi

> There

raw could also be aliased as #let r(lang, content) = ...

I think the comparison with strong/emph is somewhat fair (though I think the differentiating factor is how common they are across all use cases). Raw, however, is rather different because it enters a completely new syntactical mode that properly supports frequent special characters that Typst would otherwise interpret and multi-line text without indent quirks. Writing code with normal strings would be very painful.

I would say that it is! That is 4 letters instead of 2. And these 2 additional letters, on standard keyboards, represent something like 6 additional key events:
For >  syntax:

maj
>
release maj
space (...)

For #q[]:

alt
#
release alt
q
alt
[
release alt (...)
alt
]
release alt

It's possible omit the newlines (that the >  syntax requires), but it would make the document unreadable so I doubt people will.
Plus, it requires to define the function. In could be in a template, of course, but it's still something that people have to do. And it seems strange to me to have to define such a common function (and known markdown syntax), as if it was an idiosyncratic operation. That said, I understand that Typst actually focus on technical papers (and that's why term lists have a syntax and blockquotes don't).
Thank's for you response.
(Your point on multi paragraph is true!)

Fwiw, various people have voiced that they consider the term list syntax unnecessary and that it should be removed. So this one is sort of an edge case. It has existed for a long time, so I'm kinda attached to it (and I like the -, +, / list trinity 😄), but if it didn't exist and someone would propose it now, I would probably reject it.
I guess it's true that #q[..] is a bit harder to type than >, but then again ] is typically auto-closed (in a decent editor), so 8-10 could be removed from your list.

That said, I understand that Typst actually focus on technical papers (and that's why term lists have a syntax and blockquotes don't), so i'm probably not a targeted user.

I wouldn't say that! We think that Typst can be useful beyond technical papers and also want to cater to those audiences.
It's true that the function needs to be defined, but it's common that users need to do a bit of set up. If you're writing non-English, you need to set the language. If you're writing scientific things, you need to set up your citation style. Writing many block quotes feels like a similar case to me.

Thank you for these additional precisions (about term list), and for the discussion :–)
Now I have a question (wondering, not a feature request): as syntax for raw/heading/... are kind of shortcuts for functions; would it be implementable to let the user define not only functions but also these syntax shortcuts (like when we define operators in a postegresql database mixed with the show "Text": ... thing in Typst)? i don't know Rust so i can't read Typst source code and i didnt found something about that in documentation.

While possible, I think this would be a net negative because it results in inconsistency across the ecosystem, where everybody writes their own dialect. It makes it hard to read other's markup if you can't have any expectations about how things behave.
So it's less of an implementation thing and more of a design choice to not support such a thing. Text show rules already kinda allow this (and they are also a bit controversial!), but at least they don't modify existing syntax.


revert: "switch to python 3.8 (#4239)"

This reverts commit 087ff241bc852b49d91c79883e5faeaf5bb92f42.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This was reverted because our internal build & release pipeline failed. After some investigation this was because the internal job used a superchain image with python3.7. However after this change a minimum version of python 3.8 is required.

Re-roll: https://github.com/aws/jsii/pull/4327


the icon in list item media con't set color

the icon in list item media con't set color, was covered by item-media's color

Overwrite it with your own selector


datalog HTML: Visual Preview error for non-sequential time stamps might be confusing

It can be fairly common for a datalog to have non-sequential time stamps, for example when a programme is logging data from start up and the reset button is pressed, then the data continues being logged but time stamp has been reset.
In this cases, when opening the "Visual Preview" is are presented with this:

A few things about the error message:

The graph only includes rows down to row 4

I originally interpreted this as being "including row 4". I believe the wording here is tricky, as right now it is correct, and we want to keep the mention to the first erroneous row, since it actually has a link to it.
So changes like using until row 3 are not valid.
Is up to row 4 more clear? Not sure I have a better suggestion at the moment

Should this be row 4 or row 3?
Maybe this will depend on the person, but I guess I would consider this to be a table with a header and 3 rows, instead of a 4 rows table.
For example, if I were to ask somebody to tell me what's the first row, I'd expect them to say 1, 1 instead of Time, a.

The visual preview does not support repeated headers or non-numeric data. The first column must be a timestamp.

These are valid error conditions, but none of these apply in this use-case. We should also add non-sequential time stamps to this message.

Oh, and in case it's useful this MakeCode programme was used to generate the reproducer:
datalogger.includeTimestamp(FlashLogTimeStampFormat.None)
datalogger.log(
datalogger.createCV("Time (seconds)", 1),
datalogger.createCV("a", "1")
)
datalogger.log(
datalogger.createCV("Time (seconds)", 2),
datalogger.createCV("a", "2")
)
datalogger.log(
datalogger.createCV("Time (seconds)", 1),
datalogger.createCV("a", "3")
)

Reported in support ticket https://support.microbit.org/helpdesk/tickets/74936 (private)

A comment was added to the above ticket that very often RESET gets pressed, on purpose or by accident, with an additional suggestion that it would e useful to read the last values from the logged data into variables.
I wonder if it would be possible to fall back to using row number for the horizontal axis.

Reported in support ticket https://support.microbit.org/helpdesk/tickets/80176 (private)


How to resolv domains using a different DNS Server.

Hello,
As my VPS's IP is blocked by Netflix, what I am trying to do is use other smart-dns provider like tunlr.com to connect netflix.
I mean my end-users will use my dnsproxy as their dns server and my server will connect to netflix using other dns provider then pass the contents to my end-users.
The reason for this is because these smart-dns providers mostly allow a single IP under a subscription to access their service, so by making my netflix-proxy a medium and register it's IP with the smart-dns-provider now I can share that smart-dns-proxies with my friends.
I tried editing r/docker-sniproxy/sniproxy.sh & named.conf.template and replaced <IP_ADDRESS> with smart-dns providers dns but it does not work, from terminal if I do nslookup, it usages smart-dns-provider's dns to resolve but when request are made from outside to the netflix-proxy service, they resolve using <IP_ADDRESS>
Please do advice how can it be done.
Best wishes,
Ahmed Nitul.

See, http://serverfault.com/a/718162/137589.
edit /opt/netflix-proxy/data/conf/zones.override and define zones as follows:
zone "netflix.com." {
    type forward;
    forward only;
    forwarders { <tunlr-dns-ip>; };
};

zone "nflxvideo.net." {
    type forward;
    forward only;
    forwarders { <tunlr-dns-ip>; };
};

Then docker restart bind.

I've tried this but it doesn't work. When I check my IP on my provider site, sometimes it shows my real IP, sometimes my DNS IP.

Sounds like you have multiple DNS servers configured in your client. Direct requests using dig to various DNS servers long to forwarding chain will help you pin point where the issue is.

Please re-open if required.


allow multiple players on single page

fixes #101

Coverage decreased (-0.2%) to 76.867% when pulling 63b99b8b85327aa341acac12905f71ad9d49a6b9 on multi-player-101 into 1d4601758309cf8402a4a48331158be04615e700 on master.


WIP: Testing use of time-dilation in perf tests.

Not for review.

@ozevren: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
20706a6fcad789e07bf90e805136967ef90d44d6
link
/test istio-unit-tests

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

@ozevren: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
0550fb49cb8f4b0bef90755aa0062c2ee1305324
link
/test istio-unit-tests

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

not working ?

Not working as expected. The script works fine, the baseline tests are not
detecting the huge variance that is observable within the perf test itself.
It is quite likely that this actually has to do with the perf benchmark
itself (i.e. the actual/only perf benchmark that I currently have is
probably very attuned to the actual raw CPU performance, even to the point
of exclusion of CPU caches).
I'll see if I can add another benchmark here. Probably after
https://github.com/istio/istio/pull/3363 lands. That probably will be a
more representative benchmark. (As a corollary, I think I need more than 1
type of baseline test and let the benchmark writer pick one as the
time-dilation calculation source).
On Sat, Feb 10, 2018 at 8:49 PM, Laurent Demailly<EMAIL_ADDRESS>wrote:

not working ?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/3363#issuecomment-364721372, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQR8I5uhGKK0TdGaMowfaRz-NjC9KB7Zks5tTnF0gaJpZM4SAWVA
.


adding mode to info output

found myself unsure which mode I was running in so added this little bit of output that makes it easy to verify.

what do you think @erev0s ? any value in having that?

Thanks for the review @erev0s. Implemented your suggestion. Have a look when you can.


Xcode warnings - 'id' is deprecated: Use .primaryKey(fields:)

Describe the bug
I'm getting a lot of warnings such as:

For the contacts+schema.swift file generated by CLI command "Amplify codegen models".

There was a prior issue opened related to this -> https://github.com/aws-amplify/amplify-swift/issues/2460
and was tracked and partially resolved the "pluralName deprecation" by issue -> https://github.com/aws-amplify/amplify-swift/issues/3135. However, the "id" deprecation issue doesn't seem to be resolved.
I tried to set the "respectprimarykeyattributesonconnectionfield" flag in the cli.json file to true and run "Amplify push" and then "Amplify codegen models". but i got the same "'id' is deprecated: Use .primaryKey(fields:)" warning.

I also tried to manually change the "contacts+schema.swift" file, by changing ".id()" to ".primaryKey(fields:)" as the warning suggests. however, i got different errors instead.

Steps To Reproduce
Steps to reproduce the behavior:
1. define "contacts" model as below

import Amplify
import Foundation

public struct Contacts: Model {
  public let id: String
  public var contactId: String
  public var contactName: String
  public var contactProfileImageKey: String
  public var userProfileContactsId: String?

  public init(id: String = UUID().uuidString,
      contactId: String,
      contactName: String,
      contactProfileImageKey: String,
      userProfileContactsId: String? = nil) {
      self.id = id
      self.contactId = contactId
      self.contactName = contactName
      self.contactProfileImageKey = contactProfileImageKey
      self.userProfileContactsId = userProfileContactsId
  }
}

2. run cli command  "amplify codegen models" to generate "contacts+schema.swift"

Expected behavior
no warnings generated
Amplify Framework Version
2.17.1
Amplify Categories
API, DataStore
Dependency manager
Swift PM
Swift version
swift 5
CLI version
12.4.0
Xcode version
14.3.1
Relevant log output
<details>
<summary>Log Messages</summary>

INSERT LOG MESSAGES HERE

```
Is this a regression?
Yes
Regression additional context
No response
Platforms
iOS
OS Version
ios 17
Device
iphone11
Specific to simulators
No response
Additional context
No response

Hi @jmhuang12, thanks for opening this issue.
In order to avoid using the deprecated .id() field when generating the models, in addition to setting the feature flag you need to add the @primaryKey tag to the proper attribute in your schema.
For example:
type Contacts @model {
  id: ID! @primaryKey
  contactId: String!
  contactName: String!
  contactProfileImageKey: String!
  contactId: String
}

thank you! i added @primarykey and cli told me to migrate to migrate graphql from v1 to v2, which automatically does it foro me. see https://docs.amplify.aws/cli/migration/transformer-migration/#relationship-mappingconnection-changes


Feature/exposure status secure storage

Solves the problem of stopping data from being stored in the iOS /Library folder, by saving the data in the keychain instead of using React-Native Async storage.
Setting the accessible property to ACCESSIBLE.ALWAYS_THIS_DEVICE_ONLY ensures that the data will remain on the phone, and not be backed up to iCloud.

@jeberhardt @henrytao-me should we add a catch here for the get(SUBMISSION_AUTH_KEYS);
async fetchAndSubmitKeys(): Promise<void> {
    const submissionKeysStr = await this.secureStorage.get(SUBMISSION_AUTH_KEYS);
    if (!submissionKeysStr) {
      throw new Error('No Upload keys found, did you forget to claim one-time code?');
    }

@timarney No, we don't need to catch it because of two reasons:

fetchAndSubmitKeys function will only be called after SUBMISSION_AUTH_KEYS  has been set.
In case, there is something wrong, we already throw exception in the line right below it No Upload keys found, did you forget to claim one-time code?. So, fetchAndSubmitKeys  will catch both of them in the UI.

Closing this in favour of https://github.com/cds-snc/covid-alert-app/pull/918


2.1.1 prevents cache invalidation (flush)

Since upgrading to 2.1.1 we are unable to flush our cached stories.
I've tracked down the issue to this commit: https://github.com/storyblok/storyblok-ruby/pull/14/commits/98e8e7869610fce17b29f6265e0fec5f21db736a
In particular this line: https://github.com/storyblok/storyblok-ruby/commit/98e8e7869610fce17b29f6265e0fec5f21db736a#diff-2bfa0e3e5211b947c48a9fe1dea26366R243
The cache_version instance variable is being set to '0' on initialization, it looks like the intention is that the cache version will automatically be updated with calls to run_request by fetching the cache version from the 'cv' attribute on API responses however it appears that 'cv' doesn't exist in the api responses we're receiving. The end result is that the cache version being stored in Redis keeps getting reset to '0' every time a story is requested - we can set the correct cache version by calling the flush method, but this is almost instantly being set back to '0' when a page is requested.
Not sure if there's additional configuration required to make caching work with the V2 API?

We have the exact same problem. Is there any fix to this?

I've got exactly the same issue. Did you manage to fix this ?

@jeantristan unfortunately, no :( We just downgraded the version

Switching the client to API Version 2 fixed it for me, as the cv key is present in the response.
Storyblok::Client.new(
  api_version: 2,
  version: "published",
  token: token,
  cache: cache,
)

Flush works, but gets repopulated by the same cached version from the cdn on a subsequent request

Thanks @NGMarmaduke. This issue is fixed and closed by #21, with the update to the V2 API as the default version for the client, which has an enhanced caching strategy.

Hey @christianzoppi!
We're seeing this issue with the new gem version and using the v1 of the API. As it stands today, developers are able to set the API version when initializing the client, but setting it to 1 will result in #flush not working.
I think it that the caching and flushing should either be compatible with both v1 and v2 of the API or support should be dropped for specifying the API version if the behavior of the gem cannot be kept the same between the two versions.


Move variables to config

This draft move some vars from the utils in the config.
Beause we have some variables double set like:
https://github.com/viur-framework/viur-core/blob/198478b97d1fc9513b4bea4854164bd7e2ebb9ff/core/request.py#L167
and:
https://github.com/viur-framework/viur-core/blob/198478b97d1fc9513b4bea4854164bd7e2ebb9ff/core/utils.py#L32
we can combine this in the config and fill it when a instance start.

Now the version hash look like this:
form:  conf["viur.instance.version_hash"]='2Gg7d3'
to:  conf["viur.instance.version_hash"]='5bfd8683ee'

@ArneGudermann Please turn this PR from draft to a real PR, so we can make a final review.

Oh yes, and please fix the available conflicts.


Unexpected behavior when setting the temperature in German

I'm currently experimenting with the smart home Actions SDK. I recently noticed that Google Assistant does an annoying mistake when setting the temperature in German: When I say "Stell die Temperatur im Wohnzimmer auf 20 Grad" (Set the temperature in the living room to 20 degrees), it adds the temperature to the previous temperature set. I would only expect that behavior if I say "Erhöhe die Temperatur um 20 Grad" (Increase the temperature by 20 degrees).
Everything is fine if I try the same sentence in English. Even though this is not a bug in the Node.JS library, this is related to the smart home section of Google Assistant so it would be nice if you could forward that.
Thanks,
Yannik

I'll forward this localization issue. Thanks.

Reported issue with the localization team, so this GitHub issue will be closed.


Set individual tooltip position

Hi,
Thanks for this really awesome plugin! It's extremely usable and a definite life saver :)
I would like to ask if there's a way for me to set individual positioning for the tooltip? I have four elements three of them is fine with any position. However, I have one element that needs to be on the right. The elements are in a modal.
Thank you very much!

Hello, you're welcome, thanks !
There is a position option. If you want to force a side, try Tooltipster v4 on the v4 branch and check the documentation of the side option (new name of the position option).

Hi,
Thanks for the quick respond. Maybe this will be too much to ask but I'm still gonna give it a try.
How do i pass on a specific position for one element only? Do i use functionReady?
Thank you!

You would typically initialize the element apart from the others, with different options. Use a different css class for this element for example. There are other ways but that's probably the easiest one for you.

Thank you so much! :) have a good day!

Thank you, you too :)


Pitch Bend Range default

The pitch bend range default should be set to 3.

:tada: This issue has been resolved in version 1.2.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add actions for querying Authorize.net.

Add actions for querying Authorize.net.
These actions are intended to be generic & usable on other processors. The main ones are

$gateway = Omnipay::create('AIMGateway');
$gateway->query(array('startTimestamp' => strtotime('yesterday'), 'endTimeStamp' => 'strtotime('now')));

or for subscription plans:

$gateway->paymentPlansQuery();

The others are more internal.
The response object for query() supports

$response->getFirstName();
$response->getLastName();
$response->getTransactionId();
// this is a standard transactionReference string, not the object
$response->getTransactionReference();
$response->getBillingAddress1();
$response->getBillingAddress2();
$response->getBillingPostcode();
$response->getBillingState();
$response->getBillingCountry();
$response->getBillingCity();
$response->getAmount();
$response->getEmail();
$response->getDescription();
$response->getCurrency();
// masked credit card number
$response->getNumber();
// Get card type
$response->getType();
$response->getTransactionDate();
$response->getTransactionDate();
$response->getSettlementDate();
// Customer reference is a reference string for a contact created in the system.
$response->getCustomerReference();
// The recurring reference is a reference for the payment plan.
$response->getRecurringReference();

Just to note, the failed checks are all CS issues - indentation etc. and rather a lot of them. If they could be fixed, it would be a step forwards.

Thank you - I've fixed them up now!

erm - fixed now it seems

New features look great, thanks.
I see a lot of duplicated code across all the new methods. Is it worth creating a new QueryAbstractRequest for all the shared query methods and properties? They could then perhaps all go into a Messages\Query sub-namespace, since the Messages namespace is beginning to get very crowded - it's something I did for Wircard.

I'm happy to do that - are there any other thoughts / changes you have before I tackle it?

I've pushed a re-org on this

The failed tests are all code-sniffer things - a few spaces and newlines need to be added to half a dozen files to fix those.

I got it past the cs - one hurdle down

Ok - CI is passing now

PR now merged, thank you for this effort. Please confirm when the master branch is working as expected on your system, and I'll tag it. It'll probably be a 2.6.0 release as it adds a lot of new functionality.

Thanks for merging this! We have been using just these functions but haven't managed to migrate to Omnipay for the Authorize.net payment processing due to https://github.com/thephpleague/omnipay-authorizenet/issues/50. I think I'm going to create my own AuthorizeNet2 class that extends this & just overrides the function rather than deploying a fork of this.

(note that I'm pretty sure it's possible to use a query function to get the additional details in real time to process a refund - so the reasons that the json format rather than the merchant unique id for the transaction, is returned for getTransactionReference can be otherwise resolved)

Hi @eileenmcnaughton
I've been trying to use your $gateway->query(array('startTimestamp' => strtotime('yesterday'), 'endTimeStamp' => 'strtotime('now'))); example. I'm receiving a InvalidRequestException. I believe this is due to the AIMAbstractRequest class adding a transaction type. Do we perhaps need to add a method override for addTransactionType in the QueryRequest class?
In addition, it appears that in the AIMGateway class, calls to queryBatch, queryBatchDetail and queryDetail are not pointing to the correct files.
I may be misusing this, so please forgive my provisional understanding!
Sorry if this is not the correct place to post this, feel free to move it if required.

Thanks @dmgctrlr - I'll open a new issue to tackle these. If you have any further details of what you were trying to do, then please add it to the new issue. I'll fix the invalid namespaces in the meantime.


642- Fix TableCard icon color

Closes #642
Summary
The download icon in the TableCard has a blue outline. This PR changes to be uniform with the rest of the icons.
Change List (commits, features, bugs, etc)

Added a sass file for new styles. Refactored this one element to use a class.
Added classname to the Button component and removed reference to styled component.

Acceptance Test (how to verify the PR)

TableCard story should show the proper color icon

I fixed this already in a different branch with a different change.


💀 TraceServer skeleton

#224  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @RTLS and the rest of your teammates on  Graphite


Update installation link

I noticed the installation link was broken. The proposed fix seems to address the issue, but if there is a preferred approach, let me know.

Thanks for contributing to exp! exp has been replaced by Expo CLI. We welcome contributions in the new Expo CLI repository.
Contributing to Expo CLI


Regression: Some unknown configuration warnings are noisy or spurious

[x] I've read the CONTRIBUTING guidelines

Since #4231 and sbt 1.2.0, some fairly common and innocuous setups lead to noisy warnings.
steps
One case: use a Test-scoped setting in inThisBuild with an implicit root project:
// Entire contents of a build.sbt

inThisBuild(
  fork in Test := true
)

Eugene also pointed out sbt/sbt-multi-jvm#48, which at least could reasonably be addressed in that plugin.
problem
The case above results in a warning that is unhelpful/doesn't need action:
[warn] The project {file:/private/tmp/4231/ }<root> references an unknown configuration "test" and was guessed to be "Test".

expectation
No noisy warnings.
notes
Workarounds: auto plugins may need to declare missing projectConfigurations overrides to silence warnings (in that case the warning may be positive/helpful), or hide a configuration, if appropriate.
sbt version: 1.2.0

In general all warning should be actionable, and in this case it's difficult to know:

what it's warning about
why it's bad
how should the build user get rid of it

I don't know if adding configuration to all subproject is always the answer, especially because it has a potential to spill over into POM.xml if I remember correctly.
As far as I know the only downside to NOT having the Ivy configuration explicitly added to the subproject is that the unified slash syntax is unable to reference the setting as reported in https://github.com/sbt/sbt/issues/4065. It's not that bad situation that we need to blast this to all builds everywhere.

I think the fix for #4065 should be making slash syntax more lenient instead.

I'm investigating this in our project:
[warn] The project {file:/home/XXXXXX/ }<root> references an unknown configuration "compile" and was guessed to be "Compile".
[warn] This configuration should be explicitly added to the project.

Is this the same problem, or is there something I can do to fix it?

@jadlr Please ignore it for now.

This is now fixed in https://github.com/sbt/sbt/pull/4302.
I'm also going to reopen https://github.com/sbt/sbt/issues/4065.


Implement the necessary aeson instances for pool-params query for Alonzo

bors merge

bors r-

bors merge


Blob SeekableByteChannel - Write Mode: Block Blob

Adds StorageSeekableByteChannelBlockBlobWriteBehavior: StorageSeekableByteChannel.WriteBehavior for use in reading blobs through the SeekableByteChannel interface.

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


hanging reference

Not sure why the side effect of fmt.Printf should appear when I declare a variable.
gore> :import "fmt"
gore> fmt.Printf("foo\n")
foo
4
nil
gore> var i int
foo
gore>

Thanks, this is an open issue as noted in Caveats, as gore invokes go run for each time you add a code snippet.


Added remote worlds

Fixes #22

That's excellent.  Hopefully the switch the genericdatalocation will also help OSX support.


StorageLoader: write JSON path for com.mailgun/message_delivered/jsonschema/1-0-0

https://github.com/snowplow/iglu-central/tree/master/jsonpaths/com.mailgun


config length of the melspectrogram input

When i training tacotron2 model with my own data, some of mel-spetrogram has timestep  > 2000 so I always get this error:

tensorflow.python.framework.errors_impl.InvalidArgumentError:  Incompatible shapes: [16,2000,80] vs. [16,2023,80]

I dkn that where to set the timestep to higher value to adapt my data.
Thanks

check this： https://github.com/dathudeptrai/TensorflowTTS/blob/493dae65b8b9979b507d87ae8330f956fa5176df/tensorflow_tts/models/tacotron2.py#L723

I set that to another number but still got this error with timestep = 2000

@linhld0811 try comment out https://github.com/dathudeptrai/TensorflowTTS/blob/master/tensorflow_tts/models/tacotron2.py#L723, it could solve the problem. BTW, i think > 2000 steps is too long, maybe you need consider to move it into evaluation folder if you set "use_fixed_shapes=True" or you can set "use_fixed_shapes=False" to training with dynamic shape, but i'm not sure if dynamic faster than fixed shape (refer https://github.com/dathudeptrai/TensorflowTTS/issues/34#issuecomment-642309118).


Request: Example deployment using a local cluster like kind/k3d/microk8s

Would be nice to show how this chart works with setting up the Ollama server as well as integrating with official Ollama Python and Javascript clients for interactions.

Hello @PyDataBlog
Helm works as same on kubernetes, lightweight kubernetes versions and local kubernetes versions.
Depending of your cluster and configuration, you can access to the ollama server API through the Cluster IP / NodePort / Proxy(kube) / Loadbalancer.
To interact with clients libraries, this is documented in these sections ollama-js Custom client and ollama-python Custom client, replacing the url with yours.
I will add a basic examples values.yaml in the README.md.

Hello @PyDataBlog
Helm works as same on kubernetes, lightweight kubernetes versions and local kubernetes versions.
Depending of your cluster and configuration, you can access to the ollama server API through the Cluster IP / NodePort / Proxy(kube) / Loadbalancer.
To interact with clients libraries, this is documented in these sections ollama-js Custom client and ollama-python Custom client, replacing the url with yours.
I will add a basic examples values.yaml in the README.md.

Looking forward to it! Thanks for picking this up 👍🏾


Change setup path of bck.conf file

Fixes #282

Is it complete fix? or you have some ongoing work?

@ShahriyarR the current commit fixes the path used in setup phase. I will try to fix all hardcoded paths and push a new commit.

Merging this one as I need to proceed to fix other related issues.
Thanks for PR.


Add IOWA case study

R: @petele @PaulKinlan @jeffposnick

I don't know our new infra and I can't test on staging anymore, so I'll leave it to Pete.  Generally it looks good.

Staged internally for review. Couple of minor issues to be addressed but then should be good to go.

I want to look at this before it's merged. Has the content settled down?

@jpmedley the content is final


mesh.lookAt incorrect in left handed scene when enabling world space flag

When using mesh.lookAt in a left handed scene and enabling the flag for world space in the last argument, the orientation of a mesh brought in through glTF is incorrect. In this image the icon should be above the barrel, but with a left handed system importing a glTF and enabling the world space flag on mesh.lookAt rotates the mesh 180 degrees on local Z:

If the scene is set to right handed, mesh.lookAt renders correctly with the world space flag set:

Logging this issue now and will come back with a repro.

@PatrickRyanMS, let us know when you ll have a repro for this one so that we can address it ASAP

@sebavan, here is the repro for it: https://playground.babylonjs.com/#G1SVUJ
If you comment line 5 to use a left handed scene, you will see the icon will rotate below the ground. Setting the lookAt parameter to world space is what is causing the need for the right handed system. The camera is imported in the glb with animations on the camera parent baked into the glb.

Thanks a lot !!!
Adding @Popov72 to the thread as he worked on smthg pretty close recently on the forum

I don't think there's something to fix here:
When calling meshes.prop_pickup_icon.lookAt(new BABYLON.Vector3(meshes.dolly.position.x, 0.4, meshes.dolly.position.z), 0, 0, 0, BABYLON.Space.WORLD); you want the icon to look at (meshes.dolly.position.x, 0.4, meshes.dolly.position.z), but this point is in local space, not world space: it is a point local to the dolly space. As meshes.prop_pickup_icon is itself in the same hierarchy than meshes.dolly, you can pass BABYLON.Space.LOCAL instead of BABYLON.Space.WORLD and it will work as expected.
It's also possible to use a world position for the lookAt method if you put meshes.prop_pickup_icon outside the hiearchy:
meshes.prop_pickup_icon.parent = null;
...
scene.registerBeforeRender(() => {
    const pos = meshes.dolly.getAbsolutePosition();
    meshes.prop_pickup_icon.lookAt(pos, 0, 0, 0, BABYLON.Space.WORLD);
});


Refactor plugins and commands now that JSON transport is gone

Remove the name and description fields, since they were only used by the JSON transport when querying and can't be seen by LSP
Similarly remove the bios plugin as it can't be called by LSP, so there's no point in it being there
Remove CommandFunc new type so we can coalesce the cmd/cmd' pattern into just one

xCmd :: CmdFunc a b

xCmd' :: a -> IdeGhcM (IdeResult b)

I am strongly against removing pluginName and pluginDescription fields, it seems like a step in the wrong direction.

I am strongly against removing pluginName and pluginDescription fields, it seems like a step in the wrong direction.

I agree with @mpickering. They are not needed in the current use-case, but the intention has always been to have some kind of discoverability around plugins, and the ability to use alternative ones, e.g. choose the one that supports the formatter you prefer. Having names and descriptions makes this easier.

Ok, I will amend this PR later this evening. I’m not sure what options LSP gives us for discovering different plugins, at the moment for choosing the formatter plugins it is just a matter of setting a string inside the LSP config

On 23 Dec 2019, at 11:40, Alan Zimmerman<EMAIL_ADDRESS>wrote:

I am strongly against removing pluginName and pluginDescription fields, it seems like a step in the wrong direction.
I agree with @mpickering. They are not needed in the current use-case, but the intention has always been to have some kind of discoverability around plugins, and the ability to use alternative ones, e.g. choose the one that supports the formatter you prefer. Having names and descriptions makes this easier.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@bubba Thanks. That capability does not exist at present, but I think keeping the info in at the moment is worth doing, we can strip it later if we choose to.
Somewhere along the line I would like to see a much more loosely coupled plugin architecture, which allows us to configure per installation, or per project what plugins should be used.
Having meta information available helps with this. And it is likely it may move to a different place, but lets keep the flame alive in the meantime.
Which directly opposes YAGNI, but anyway.


about training data

Hi, i have a question about training data. Have you trained only one checkpoints with all the training data? I mean i don't want to train different checkpoints for different dataset? And i wonder if it is possible and how should i organize the dataset? if i need to write different dataloader? Thanks.

Hi @boxuLibrary, thanks for your interest in our work.
We trained one checkpoint on RE10K, i.e., re10k.ckpt, which was then used to test on RE10K, ACID and DTU. We also trained another checkpoint on ACID, i.e., acid.ckpt. Typically the model performs the best when trained/fine-tuned on the specific dataset. Still, our model generalized reasonably well that you can try to test on other datasets using the 're10k.ckpt'.
You can reuse the re10k data loader at dataset_re10k.py. Just ensure that you provide the normalized camera intrinsic and OpenCV-style camera extrinsic. For more details, kindly refer to https://github.com/donydchen/mvsplat/issues/28 and https://github.com/donydchen/mvsplat/issues/1.

Thank you so much. I have another question. When I use the multi-GPU to train the code, I find only one GPS is used. Should I modify the code to support the multi-GPU training?

Hi @boxuLibrary, this project is set to automatically use multiple GPUs when they are available, no additional modification is required.
If you run this project on a SLURM system, you might refer to here for more details on how to train a pytorch_lightning based project on multiple GPUs.


Release react 5.0.0 (stable)

This stable, major release of react includes:
ReactJS 16.x Support

The underlying .js files provided by this package are now ReactJS version 16.
Support for the new / updated lifecycle methods from ReactJS 16 will be released in version 5.1.0.

Full list of 5.0.0 Changes

Breaking Changes
ReactJS 16 breaking changes

Source: https://reactjs.org/blog/2017/09/26/react-v16.0.html#breaking-changes

Breakage
Migration path

Errors in the render and lifecycle methods now unmount the component tree by default.
To prevent this, add error boundaries to the appropriate places in the UI.This can be done easily via the OverReact ErrorBoundary utility component.

Unitless props.style string values are no longer auto-converted to px.This has been a warning since React 15.0.0.
Change values from Strings to nums, or add a unit explicitly to string

react_dom.render calls within React lifecycle methods are no longer guaranteed to be synchronous, and may return null
Either: Use Portals to render content in a different DOM treeUpdate code to handle async mounting

setState callbacks (second argument) now fire immediately after componentDidMount / componentDidUpdate instead of after all components have rendered.
Transfer callback logic into componentDidUpdate.

It is not safe to re-render into a container that was modified by something other than React. This worked previously in some cases but was never supported. We now emit a warning in this case.
Instead you should clean up your component trees using unmountComponentAtNode.

Bool values used in non-bool props are no longer stringified, and are ignored. In most cases, passing bool values to these props is a programmer error, and should be replaced with the correct attribute values.
.toString() the value in any places where "false" or "true" are needed.

Previously, changing the ref to a component would always detach the ref before that component’s render is called. Now, we change the ref later, when applying the changes to the DOM.
Should not affect most usages.

When replacing <A /> with <B />, B.componentWillMount now always happens before A.componentWillUnmount. Previously, A.componentWillUnmount could fire first in some cases.
Should not affect most usages. If it does, switching from componentWillMount to componentDidMount should resolve the issue, and will be functionally equivalent in most cases.

Dart API breaking changes

Breakage
Migration path

Component.bind is removed
Set up event handler manually.

react_test_utils.SimulateNative is removed
Use react_test_utils.Simulate instead.

jsify is removed from js_interop_helpers.dart
Use package:dart:js, and replace jsify with new JsObject.jsify

Public API Changes
Release PR detected; using previous release (4.9.2) as the diff base. Recommendation: **:bangbang: Major version bump (fyi @Workiva/semver-audit-group )**
@@ line 24: package:react/react_server.dart @@
-  typedef String OwnerFactory([String ownerId, num position, String key]);
// Removing a typedef is a major change.

@@ line 39: package:react/react_client/js_interop_helpers.dart @@
-  _GetPropertyFn get getProperty;
// Removing a top-level variable is a major change.

@@ line 285: package:react/react_client/react_interop.dart @@
-  ReactClassConfig createReactDartComponentClassConfig(ReactDartInteropStatics dartInteropStatics, ComponentStatics componentStatics, [JsComponentConfig jsConfig]);
// Removing a top-level function is a major change.

- react/react_test.dart

// Removing an entry point is a major change.

- react/react_server.dart

// Removing an entry point is a major change.

Click to see 30 more API Changes

@@ line 36: package:react/react_server.dart @@
-  typedef Component ComponentFactory();
// Removing a typedef is a major change.

@@ line 411: package:react/react_server.dart @@
-  void setServerConfiguration();
// Removing a top-level function is a major change.

@@ line 65: package:react/react_client/js_interop_helpers.dart @@
-  _SetPropertyFn get setProperty;
// Removing a top-level variable is a major change.

@@ line 639: package:react/react_client.dart @@
-  SyntheticDataTransfer syntheticDataTransferFactory(Object dt);
+  SyntheticDataTransfer syntheticDataTransferFactory(events.SyntheticDataTransfer dt);
// `type` of `dt` has changed.
// Changing a parameter signature is a major change.

@@ line 323: package:react/react_test_utils.dart @@
-  bool isElementOfType(dynamic element, ReactComponentFactory componentFactory);
// Removing a top-level function is a major change.

@@ line 293: package:react/react_test_utils.dart @@
-  bool isCompositeComponentWithType(instance, ReactComponentFactory componentFactory);
// Removing a top-level function is a major change.

@@ line 93: package:react/react_client/js_interop_helpers.dart @@
-  EmptyObject jsify(Map map);
// Removing a top-level function is a major change.

@@ line 41: package:react/react_test.dart @@
-  void setTestConfiguration();
// Removing a top-level function is a major change.

@@ line 33: package:react/react_client.dart @@
-  typedef ReactElement ReactComponentFactory(Map props, [dynamic children]);
// Removing a typedef is a major change.

@@ line 29: package:react/react_test_utils.dart @@
-  dynamic getComponentType(ReactComponentFactory componentFactory);
// Removing a top-level function is a major change.

@@ line 343: package:react/react_test_utils.dart @@
-  List<dynamic> scryRenderedComponentsWithType(tree, ReactComponentFactory componentFactory);
// Removing a top-level function is a major change.

@@ line 31: package:react/react_client.dart @@
-  EmptyObject get emptyJsMap;
// Removing a top-level variable is a major change.

@@ line 30: package:react/react_server.dart @@
-  typedef OwnerFactory ReactComponentFactory(Map props, [dynamic children]);
// Removing a typedef is a major change.

@@ line 33: package:react/react_test.dart @@
-  dynamic initializeComponent(Component component, [Map props = const {}, List children, redraw, Ref ref]);
// Removing a top-level function is a major change.

@@ line 257: package:react/react_test_utils.dart @@
-  dynamic findRenderedComponentWithType(tree, ReactComponentFactory componentFactory);
// Removing a top-level function is a major change.

@@ line 31: package:react/react_client/react_interop.dart @@
class ReactDom {}
+     ReactPortal createPortal(dynamic children, Element container);
//    Adding abstract members breaks all subclasses.

@@ line 150: package:react/react_client/react_interop.dart @@
class ReactComponent {}
-     bool isMounted();
//    Removing a method is a major change.

@@ line 10: package:react/react_test.dart @@
-  class MarkupDescription {}
// Removing a class is a major change.

-     List<dynamic> get children;
//    Removing a field is a major change.

-     String get tag;
//    Removing a field is a major change.

-     MarkupDescription(this.tag, this.props, this.children);
//    Removing a constructor is a major change.

-     Map<dynamic, dynamic> get props;
//    Removing a field is a major change.

      From dart:core/object.dart
-     dynamic noSuchMethod(Invocation invocation);
//    Removing a method is a major change.
-     bool ==(other);
//    Removing a method is a major change.
-     Type get runtimeType;
//    Removing a field is a major change.
-     String toString();
//    Removing a method is a major change.
-     int get hashCode;
//    Removing a field is a major change.

@@ line 684: package:react/react.dart @@
class SyntheticClipboardEvent extends SyntheticEvent {}
-     SyntheticClipboardEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.clipboardData);
+     SyntheticClipboardEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.clipboardData);
//    `type` of `bubbles` has changed.
//    Changing a parameter signature is a major change.

@@ line 693: package:react/react.dart @@
class SyntheticKeyboardEvent extends SyntheticEvent {}
-     SyntheticKeyboardEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.altKey, this.char, this.charCode, this.ctrlKey, this.locale, this.location, this.key, this.keyCode, this.metaKey, this.repeat, this.shiftKey);
+     SyntheticKeyboardEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.altKey, this.char, this.charCode, this.ctrlKey, this.locale, this.location, this.key, this.keyCode, this.metaKey, this.repeat, this.shiftKey);
//    `type` of `bubbles` has changed.
//    Changing a parameter signature is a major change.

@@ line 734: package:react/react.dart @@
class SyntheticFocusEvent extends SyntheticEvent {}
-     SyntheticFocusEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.relatedTarget);
+     SyntheticFocusEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.relatedTarget);
//    `type` of `bubbles` has changed.
//    Changing a parameter signature is a major change.

@@ line 81: package:react/react_client/js_interop_helpers.dart @@
-  class EmptyObject {}
// Removing a class is a major change.

-     EmptyObject();
//    Removing a constructor is a major change.

      From dart:core/object.dart
-     Type get runtimeType;
//    Removing a field is a major change.
-     String toString();
//    Removing a method is a major change.
-     dynamic noSuchMethod(Invocation invocation);
//    Removing a method is a major change.
-     bool ==(other);
//    Removing a method is a major change.
-     int get hashCode;
//    Removing a field is a major change.

@@ line 15: package:react/react.dart @@
class Component {}
-     dynamic bind(key);
//    Removing a method is a major change.

@@ line 889: package:react/react.dart @@
class SyntheticUIEvent extends SyntheticEvent {}
-     SyntheticUIEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.detail, this.view);
+     SyntheticUIEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool _defaultPrevented, dynamic _preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.detail, this.view);
//    `type` of `bubbles` has changed.
//    Changing a parameter signature is a major change.

@@ line 806: package:react/react.dart @@
class SyntheticTouchEvent extends SyntheticEvent {}
-     SyntheticTouchEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.altKey, this.changedTouches, this.ctrlKey, this.metaKey, this.shiftKey, this.targetTouches, this.touches);
+     SyntheticTouchEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.altKey, this.changedTouches, this.ctrlKey, this.metaKey, this.shiftKey, this.targetTouches, this.touches);
//    `type` of `bubbles` has changed.
//    Changing a parameter signature is a major change.

@@ line 743: package:react/react.dart @@
class SyntheticFormEvent extends SyntheticEvent {}
-     SyntheticFormEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type);
+     SyntheticFormEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type);
//    `type` of `bubbles` has changed.
//    Changing a parameter signature is a major change.

@@ line 759: package:react/react.dart @@
class SyntheticMouseEvent extends SyntheticEvent {}
-     SyntheticMouseEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.altKey, this.button, this.buttons, this.clientX, this.clientY, this.ctrlKey, this.dataTransfer, this.metaKey, this.pageX, this.pageY, this.relatedTarget, this.screenX, this.screenY, this.shiftKey);
+     SyntheticMouseEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.altKey, this.button, this.buttons, this.clientX, this.clientY, this.ctrlKey, this.dataTransfer, this.metaKey, this.pageX, this.pageY, this.relatedTarget, this.screenX, this.screenY, this.shiftKey);
//    `type` of `bubbles` has changed.
//    Changing a parameter signature is a major change.

@@ line 899: package:react/react.dart @@
class SyntheticWheelEvent extends SyntheticEvent {}
-     SyntheticWheelEvent(bubbles, cancelable, currentTarget, _defaultPrevented, _preventDefault, stopPropagation, eventPhase, isTrusted, nativeEvent, target, timeStamp, type, this.deltaX, this.deltaMode, this.deltaY, this.deltaZ);
+     SyntheticWheelEvent(bool bubbles, bool cancelable, dynamic currentTarget, bool defaultPrevented, dynamic preventDefault, dynamic stopPropagation, num eventPhase, bool isTrusted, dynamic nativeEvent, dynamic target, num timeStamp, String type, this.deltaX, this.deltaMode, this.deltaY, this.deltaZ);
//    `type` of `bubbles` has changed.
//    Changing a parameter signature is a major change.

@@ line 137: package:react/react_test_utils.dart @@
-  class SimulateNative {}
// Removing a class is a major change.

-     void submit(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void dragStart(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void contextMenu(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void drop(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void dragEnd(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void focus(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void keyUp(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void transitionEnd(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void blur(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void touchCancel(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void keyDown(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void dragEnter(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void doubleClick(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void mouseUp(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void animationEnd(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void dragOver(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void mouseMove(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void scroll(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void input(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void copy(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void dragLeave(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void mouseDown(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void animationIteration(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void click(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void drag(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void cut(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void wheel(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void mouseOver(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void paste(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void mouseOut(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void touchStart(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void animationStart(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void touchEnd(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     void touchMove(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

-     SimulateNative();
//    Removing a constructor is a major change.

-     void dragExit(componentOrNode, [Map eventData = const {}]);
//    Removing a method is a major change.

      From dart:core/object.dart
-     bool ==(other);
//    Removing a method is a major change.
-     int get hashCode;
//    Removing a field is a major change.
-     Type get runtimeType;
//    Removing a field is a major change.
-     dynamic noSuchMethod(Invocation invocation);
//    Removing a method is a major change.
-     String toString();
//    Removing a method is a major change.

@@ line 280: package:react/react_client/react_interop.dart @@
+  void throwErrorFromJS(error);
// Adding a top-level function is a minor change.

2 more changes could not be displayed on this comment. Click here to view all changes.
Showing results for d7b251b8994471b4d14f5f1d6985a42c2d4ffc4f

Powered by semver-audit-service. Please report any problems by filing an issue.
Reported by the dart semver audit client 2.0.1
Browse public API.

+1


Use packages to implement "services"?

The Serverless Framework uses the concept of services to logically group serverless functions running on the serverless platform.
On AWS, this corresponds to a separate cloudformation template and service definition for each service.
OpenWhisk has a different model (packages) for managing related serverless resources (actions, triggers, rules).
The current provider implementation uses service and stage identifiers within the resource name to group resources for a service. It does not deploy these resources into a custom package.
This leads to a large number of resources being deployed under the root namespace package. I can see this being challenging as the number of services grows.
One option would be to use the service identifer as a package identifier for each deployment. This would also make it easier to check which resources were deployed for a service.

sounds very reasonable to me.
From a user experience PoV we just have to make sure it's clear to users that then they'll have to invoke actions with a pkg prefix, so they don't get confused

OpenWhisk does not currently support triggers and rules being located within package.
https://github.com/openwhisk/openwhisk/issues/1825
I'm going to put this in the backlog until there's a resolution on whether this will be possible in future.

Actually it's already possible to deploy actions into an existing package by simply specifying a function name like package-name/function-name. But it would be nice to be able to deploy the service as a package and automatically assign functions to packages without having to always add the package prefix to the function name. However it would be nice to have some parameters to switch these features off, and also have the possibility to add parameters and bindings. Something like:
service: my-package
  parameters:
    name: value
  bindings:
    - another-package
  deploy: true | false (false by default?)
functions:
  my-function:
    name: my-function
    add-to-package: true | false (= service.deploy by default?)

(by the way, the actions listed in serverless info do not include any package in their name even if an action is deployed in a package, so this should also be fixed).

@jthomas - am I correct that there is not currently a way to create a package using serverless deploy? I can see via #87 that you can add an action to an existing package, but I am not seeing a way to create that package in the first place through serverless. It appears that it has to already exist...

@allen-servedio I've just tested this and you're correct - it does not support this. It shouldn't be too dificcult to add. I'll open an issue to look at this.

https://github.com/serverless/serverless-openwhisk/issues/95


Directives and queries mixed up

In succession of #263 where too many issues are treated at the same time
In main (switching between main and devel takes too long...):
$ ./tpl -f
Trealla Prolog (c) Infradig 2020-2023, v2.22.18
?- (:-X).
   false, unexpected.
?- call((:-X)).
   X = pragma(apply,[once(true)]), unexpected
;  X = (meta_predicate maplist(1,?)), unexpected
;  ... .

Yeah, that once is going to take  a bit of extra work.
On Sun, Jul 16, 2023 at 4:53 PM UWN @.***> wrote:

In succession of #263
https://github.com/trealla-prolog/trealla/issues/263 where too many
issues are treated at the same time
In main (switching between main and devel takes too long...):
$ ./tpl -f
Trealla Prolog (c) Infradig 2020-2023, v2.22.18
?- (:-X).
false, unexpected.
?- call((:-X)).
X = pragma(apply,[once(true)]), unexpected
;  X = (meta_predicate maplist(1,?)), unexpected
;  ... .
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/265, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEVPF7BGX2FZSKJJXF3XQOFXRANCNFSM6AAAAAA2LYEVIM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Just one question: why was there a difference? Was it the different representation of terms or was it rather a quirk in the top level loop (that is, an error on the Prolog level, not below)?

Accidentally directives were asserted yo the database.
On Sun, 16 July 2023, 23:47 UWN, @.***> wrote:

Just one question: why was there a difference? Was it the different
representation of terms or was it rather a quirk in the top level loop
(that is, an error on the Prolog level, not below)?
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/265#issuecomment-1637089029,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEUBGIZVXY6YSJM63YLXQPWHJANCNFSM6AAAAAA2LYEVIM
.
You are receiving this because you commented.Message ID:
@.***>

But why did then (:-X) fail whereas call((:-X)) succeded?

I don't know that one and didn't try to find out.
On Mon, 17 July 2023, 14:31 UWN, @.***> wrote:

But why did then (:-X) fail whereas call((:-X)) succeded?
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/265#issuecomment-1637361217,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEREWWL3TESS5KPR3HLXQS5ZLANCNFSM6AAAAAA2LYEVIM
.
You are receiving this because you commented.Message ID:
@.***>

The reason I am asking is that I still have no intuition about the kind of errors that appear in Trealla. In structure copying systems variations in refchains and the precise arrangement of structures on the heap often uncover errors. So there is a relatively simple way to wade through such variations (always with call_nth/2 indeed). But with Trealla it seems (but I am not sure about this) that one needs skeletal variations. And I am not sure I am generating this all the time.


Refactor React package to use Core

Updated React package to use Core API instead of its self-contained logic.

Lit 🔥 LGTM 🚀🚀🚀


Use Dbg() for debug output in both core and plugins.

Eliminate TSDbg(), TSIsDbgCtlSet(), TSDbgCtlCreate(), TSDbgCtlDestroy().
Eliminate TSDbgCtlUniqPtr type.

Doesn't yet have all the doc changes that would be necessary.

After thinking about it some, I realize it would cause problems for Yahoo (and perhaps others) to change TSDbgCtl to a class.  I'd prefer to add the namespace tsapi for C++ stuff in the TS API.  So we'd add the class DbgCtl and the function Dbg() to this namespace.  We could also have a member function operator for DbgCtl to optionally shorted debug output calls a bit, I think.

[approve ci]

This sets the stage for removing and replacing slow TSDebug() calls.

I will make the doc changes for this in a follow on PR that also removes TSDebug().

[approve ci]

Love it. We still have work to do in many plugins though, right?

Yes


add a utility func. of getting standard parameters for hrh historical scaling and rescaling to effective capabilities in mode 2

This is created for scenario runs in mode 2 that require latest HRH capabilities by 2024.

Thanks @BinglingICL  - the utility function seems very good.
What's the change in the .xlsx file?

What's the change in the .xlsx file?

Thanks for checking Tim. The difference to master is that I have copied and added the sheet of "historical_scaling" from PR #1414, for adding the parameters of yearly scaling up factors.

Excellent - thank you very much for this, @BinglingICL


Automatically redirect http requests to https

From a usability perspective it would be nice if we automatically redirected http requests to https.
Let's consider this for 0.2.

This works for Consul now.  Thank you @ChrisAubuchon.
@ChrisAubuchon You mentioned there was an issue with Marathon and HTTPS on the phone the other day.  Did I hear correct? Is there an issue logged against Marathon? If it's a hard limitation of Marathon, should we redirect calls to https://:8080 to http://:8080 ?

The limitation is that the current release of marathon doesn't allow for selecting the IP address that it listens on. It will always bind at *:{port}. I suppose we could have it listen on 8081 (or something) and then forward from https://8080->http://8081 but that isn't really secure.

It would be secure from the server to the client -- correct?
----------------                         ----------------------------------------------
|    client    |                         |                    server                  |
|              |                         |                                            |
|  [  curl  ]  | ----- 8080 https ---->  |  [ nginx ] --- 8081 http --> [ marathon ]  |
|              |                         |                                            |
----------------                         ----------------------------------------------

There is nothing to stop the client from connecting directly to 8081 in that scenario. At that point we're relying on security by obscurity.

OK I see.  Is there an GitHub issue opened against Marathon?  Is it something trivial where we can submit a PR?
Perhaps this is something @kensipe can help us drive.

The fix is already in the marathon code tree via https://github.com/mesosphere/marathon/commit/7608bc2f4c86442d69c50a22a3c687b3e6d017ed. It was committed after the 0.8.1 release though.

I gotcha.
What are our other options?
Use Nginx for SSL on port 8080 and use the OS firewall to block port 8081?
Or we could redirect requests to https:8080 to http:8080?

Another option is to create another JKS ssl key and use it until the next release of Marathon is out.

Of the two I'd rather go with nginx on 8080 and firewall'd 8081.

It is closer to our desired end state of a public:8080->localhost:8080 proxy
We can use our nginx-consul container to manage the nginx configuration and the users

@ChrisAubuchon sound good.
Should I open another issue or do you want to use this issue to track it?

@ChrisAubuchon can we close this issue?

Is there anything else besides consul and marathon that we want to use https for?

We need to protect the mesos leader and follower endpoints (ports 5050, 5051). The challenge there is protecting the endpoint without interfering with communication between the nodes.

With pull request #135, closing this issue.


Mute toggle

Please make the mute toggle save state for all following videos.
•When you switch videos the state changes back to mute.

I agree with your suggestion, as long as you stay on the viewer page.
But if you leave the viewer, back to your collection, and reopen the viewer, you don't expect the mute state to be preserved, right?

Thanks for replying. No preferably it would go back to mute after leaving.

Please make the mute toggle save state for all following videos.
•When you switch videos the state changes back to mute.

•Please if you could also add saved state for the speed adjuster as well. Sorry for the bother


setting ID via command line does not appear to work - defaults to main sink regardless of "--id="

I am trying out your mixer on the command line and cannot get the ID selection to work.
pulsemixer  --list
Sink input:	 ID: 470, Name: Firefox, Mute: 0, Channels: 2, Volumes: ['90%', '90%']
Sink:		 ID: 0, Name: Built-in Audio Digital Stereo (HDMI), Mute: 0, Channels: 2, Volumes: ['65%', '65%']
Sink:		 ID: 1, Name: Built-in Audio Analog Stereo, Mute: 1, Channels: 2, Volumes: ['64%', '64%']
Source:		 ID: 0, Name: Monitor of Built-in Audio Digital Stereo (HDMI), Mute: 0, Channels: 2, Volumes: ['100%', '100%']
Source:		 ID: 1, Name: Monitor of Built-in Audio Analog Stereo, Mute: 0, Channels: 2, Volumes: ['100%', '100%']
Source:		 ID: 2, Name: Built-in Audio Analog Stereo, Mute: 1, Channels: 2, Volumes: ['100%', '100%']

The default sink is ID = 1 and 64% volume - other IDs have other values for volumes not 64%.
if I run the following (using switch format --id=[ID] or --id [ID] )
> pulsemixer --get-volume --id=470
64 64
> pulsemixer --get-volume --id=2
64 64

I am actually looking to use the mute function from the command line but it and other commands likewise only report or effect the default sink regardless of ID specified.
I am running on a up to date Arch linux os, pulseaudio 10.0 and python = 3.6.2
The curses interface works fine - I can mute only firefox for example.
I looked through the code but being a python newbie I couldn't find the issue.
Thanks for you very useful work.

--id must be specified before the command, i.e. pulsemixer --id=470 --get-volume. If --id isn't specified of specified after --get-volume or any other command, then that command will use default sink.
I realize it is incredibly ambiguous (and not covered in README), but it was done to avoid consecutive calls to pulsemixer, to chain commands with a single call. For example you could do this:
pulsemixer --id 470 --get-volume --id 2 --get-volume --change-volume +5 --get-volume
90 90
100 100
105 105

Initially I was writing pulsemixer just for myself and really wanted this weird behavior. Now not so much.
It also has a nasty limitation. As you can see in your --list output, pulseaudio doesn't use globally unique id's and can assign the same id to sink and source. In this case priority goes to sink. So at this moment there is no way to access Source 0 via --id 0, because Sink 0 will get priority.
tl;dr I'm not sure if I should keep this behavior of change it to something more obvious and less tricky. Your thoughts?

Wow, thanks for the quick reply - I should have tried moving the id switch after reading the note you had about precedence in the command line switches - maybe just a note in the README would suffice.
As far as correcting the the id's and the reusing of them to get to sink/sources - if it makes sense for you to tackle (I have no idea how much work that would take seeing it's mainly a pulse audio issue) otherwise again noting that behavior in the README might suffice for most use cases. Thanks again - I like the curses interface - very nicely laid out and functional.


Broken link in ODK-X Docs

This page (https://github.com/odk-x/docs/blob/master/README.md) contains a broken URL, not sure where it's supposed to lead.
You'll find the broken link under "How to contribute?"
The link is on Line 250 It's saying page doesn't exist or private.

The link that is broken: https://forum.odk-x.org/c/development/documentation

good day @wbrunette please Can I work on this issue?

good day @wbrunette please Can I work on this issue?

Yes, you can. It was also suggested by a fellow contributor

good day @wbrunette please Can I work on this issue?

Yes, you can. It was also suggested by a fellow contributor

Thank you, I am working on it right away, and I hope to share my progress on it.


add java call go examples and docs

add java call go examples and docs

Can one of the admins verify this patch?

migrate example to go chassis example repo


Add back configure_rio and configure_s3_access

bumped version to 0.3.0a0
Copied some of the aws setup code from datacube-core lib
Adding _GlobalRioConfig to keep track of explicitly supplied user config (via configure_{rio,s3_access})

S3 credentials/settings configured with configure_s3_access will be copied to workers
If credentials are not configured then each worker needs to have access to their own credentials, having AWS_ env vars will trigger credentialization on each worker.
Currently each worker thread gets their own credentials, this might cause issues when using machine credentials on many-core instances as all threads will issue sts requests.
Not sure what happens when machine credentials expire, I think rasterio via boto checks for approaching expiry and gets new set of tokens.

Currently only aws credentials can be passed on to Dask workers, others will need to be configured via environment variables on the workers

@gadomski I'll merge it now, but have a look if you have time.
Getting pretty close to merging next into develop. still todo:

Update binder environment to not have datacube (will need to get rid of odc-algo too)
Make sample notebooks work in an environment without datacube (no odc-{algo,ui} either)
Tests for pixel reading
Automatic tests in an environment without datacube installed


Add guest agent check after migration

What this PR does / why we need it:
Verifies that the guest agent stays up after successful migration.
Fixes: https://jira.coreos.com/browse/CNV-2532
Release note:

NONE

@petrkotas can you please run make to make travis happy?

/retest

/lgtm
/approve


fix: rename NFT fields based on XLS-20d

High Level Overview of Change
Updated ntf field names to align with the new spec. https://github.com/ripple/rippled/releases/tag/1.9.0

Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (non-breaking change that only restructures code)
[ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation Updates
[ ] Release

TypeScript/Hooks Update

[ ] Updated files to React Hooks
[ ] Updated files to TypeScript

I am working through testing them all about halfway done.
I don't know what they looked like before since what is in prod is throwing errors so I am just checking that they render.


Update push.go

Describe the PR
e.g. add cool parser.
Relation issue
e.g. https://github.com/swaggo/swag/pull/118/files
Additional context
Add any other context about the problem here.

新的


Add compatibility with torchaudio streams

It would be nice to make diart compatible with the torchaudio streaming API.
This would also make it possible to easily add other audio sources like the screen, videos, and remote files.
https://pytorch.org/audio/main/tutorials/streaming_api_tutorial.html

Implemented in #91


Add polygon support to monoswap

https://github.com/Giveth/impact-graph/issues/887

I assigned it to @mateodaza as he is the only one who has access to the monoswap repo. I guess it would be better to migrate that repo to Giveth organization.

@mateodaza I forked the branch to https://github.com/Giveth/monoswap, and published to https://www.npmjs.com/package/@giveth/monoswap
Let's make any further modifications to that.
If you don't have access to publish a new version let me know

@mateodaza I changed the assignee to @aminlatifi fyi, seems he forked it to Giveth Org so we may not have any blocker for now.

Monoswap is developed based on uniswap sdk v2, which doesn't support polygon network. Investigating migrating to uniswap SDK v3.

Published monoswap v1 which supports uniswap v3 protocol, consequently prices on the polygon network. Will test impact graph with this new version

https://github.com/Giveth/monoswap/pull/1


Hugo fails when parsing some Unicode escape sequences in YAML front matter

If a post contains some Unicode escape sequences in YAML front-matter, like this:
description: "\uD83D\uDC68"

which is the code form the Emoji 👨, Hugo errors out while processing that post:
Started building sites ...
ERROR 2017/09/03 14:09:24 failed to parse page metadata for "post\\this-post.md": yaml: line 3: found invalid Unicode character escape code
Error: Error building site: Errors reading pages: Error: failed to parse page metadata for "post\\this-post.md": yaml: line 3: found invalid Unicode character escape code for this-post.md

Am I doing something wrong here, or is this a bug?

I very much doubt it is a bug, but if so, you would have to raise an issue here:
https://github.com/go-yaml/yaml
As to emojis, see https://gohugo.io/functions/emojify/

@bep Thanks for the quick reply, I really doubted it too. I think I finally found the issue: https://github.com/go-yaml/yaml/issues/279.


Add support for offboard ActuatorControl set points to RoverPositionControl (fixes #13192)

As discussed in #13192, RoverPositionControl overrides the ActuatorControl messages, that get published by the mavlink_receiver.cpp when an SET_ACTUATOR_CONTROL_TARGET message is received.
This prevented using ActuatorControl set points in offboard mode (e.g. using the MAVSDK).
I took a look at the other position and attitude controllers and realized, that they simply do not publish the actuator_controls_0, when the control modes does not state, that the corresponding control loop should be activated.
(I fixed some indentation/ formatting issues in the header file too.)

@Jaeyoung-Lim I added _control_mode.flag_control_attitude_enabled back to the conditions, where actuator control messages should be published, because you added attitude control in the meantime: https://github.com/PX4/Firmware/blob/18e4bb3a5f9a20ce95a3afef17b591d80dd4ce18/src/modules/rover_pos_control/RoverPositionControl.cpp#L500-L505)

I rebased to the latest master, because my other PRs got merged. It still works as intended with these changes.
I just don't know, why the make px4_fmu-v5_default AppVeyor build timed out. It builds just fine on my machine.

I try to use /mavros/setpoint_raw/local control my rover ,but it do not work. is it supply?

@weiLiangHare Please don't hijack the topic of this PR. If you have usage questions, please post it on discuss.px4.io


Saving and reloading very large tables causes a crash

Hi and thanks for bitser! Saving and then reloading a very large table causes a crash at the point of reloading on my windows 7 machine - a proper "this program has stopped working" crash. More information on why I need this and what I have tried is here. Here is minimal LÖVE code to replicate the error (run, wait 10 s and press ESC, run again and press r):
bitser = require 'bitser'
drawReg = {}
regIndex = 1
function love.load()
	love.filesystem.setIdentity('megaAttackGame');
end
function love.update(dt)
	if love.keyboard.isDown("escape") then
		bitser.dumpLoveFile('replay.dat', drawReg )
		love.event.quit()
	elseif love.keyboard.isDown("r") then
		replayData = bitser.loadLoveFile('replay.dat')
	end
end
function love.draw(dt)
	for i=1,500 do
		registerVisible( 1, 1, "thing")
	end
end
function registerVisible( xPos, yPos, thingToDraw )
	drawReg[regIndex] = {
		timeStamp = os.clock(),
		x = xPos,
		y = yPos,
		t = thingToDraw
	}
	regIndex = regIndex + 1
	--Full version of function draws the thing as well
end

To add to the above, even if the key detection is put into love.keypressed as to make sure no multiple-firings happen, the crash still occurs.
As i wrote in the forum thread, deserialize_value looks to be the likely function where it dies.

I believe this is a LuaJIT bug. Changing the code as follows makes it work as expected:
--- bitser-orig.lua	2018-11-05 23:19:06.051240968 +0100
+++ bitser.lua	2018-11-05 23:22:25.750320042 +0100
@@ -363,7 +363,8 @@
 end, loadLoveFile = function(fname)
 	local serializedData = love.filesystem.newFileData(fname)
 	Buffer_newDataReader(serializedData:getPointer(), serializedData:getSize())
-	return deserialize_value({})
+	local ret = deserialize_value({}) -- work around LuaJIT problem with tail calls
+	return ret
 end, loadData = function(data, size)
 	Buffer_newDataReader(data, size)
 	return deserialize_value({})

What I believe is happening here, is that the tail call causes execution to be transferred to deserialize_value, and more importantly, it causes loadLoveFile to be terminated. When loadLoveFile terminates, its local variables, most notably serializedData, are eligible for garbage collection. After some time, the garbage collection is effected, causing the Data object to be deallocated. This deallocation ultimately causes the segfault.
The patch above just converts the tail call into a regular call, preventing loadLoveFile from finishing until deserialize_value returns, thus preserving serializedData.
This problem is only visible with large files, because these are the ones triggering the garbage collection of serializedData.

I have managed to prove that indeed, GC is run and clears the FileData object during the execution of deserialize_value:

Modify bitser.lua as follows:

--- bitser-orig.lua	2018-11-05 23:19:06.051240968 +0100
+++ bitser.lua	2018-11-06 00:52:40.148784680 +0100
@@ -258,7 +258,10 @@
 	return #seen
 end

+local iter_count = 0
 local function deserialize_value(seen)
+  iter_count = iter_count + 1
+  print(iter_count)
 	local t = Buffer_read_byte()
 	if t < 128 then
 		--small int

Use this as main.lua:

local bitser = require 'bitser'

local function print_gc(p)
  print("GC is releasing " .. tostring(p))
  p:release()
  love.timer.sleep(1)
end

-- Local modified version of bitser.loadLoveFile:
local function loadLoveFile(fname)
  local serializedData, error = love.filesystem.newFileData(fname)
  assert(serializedData, error)

  -- Set the __gc metamethod of serializedData, to show when it's released
  local mt = getmetatable(serializedData)
  print("data = " .. tostring(serializedData))
  mt.__gc = print_gc

  return bitser.loadData(serializedData:getPointer(), serializedData:getSize())
end

-- This uses the file generated in the OP:
love.filesystem.setIdentity('megaAttackGame')
loadLoveFile('replay.dat')

collectgarbage('collect')

In my system, the output is:
data = FileData: 0x5595de13f990
1
2
3
4
5
6
...
45065
45066
45067
45068
45069
GC is releasing FileData: 0x55e761948470
        * here it pauses for 1 second *
Segmentation fault

When commenting out the p:release() line, GC is performed but not effective (it will leak memory), and the output is:
data = FileData: 0x559dd01f32f0
1
2
3
4
5
6
...
45065
45066
45067
45078
45069
GC is releasing FileData: 0x559dd01f32f0
        * here it pauses for 1 second *
45070
45071
...
3673998
3673999
3674000
3674001
3674002
3674003

To discard the __gc metamethod as a factor in causing the problem, I commented out the mt.__gc = print_gc line and got this output:
...
45065
45066
45067
45068
45069
Segmentation fault

When loadLoveFile is modified to remove the tail call by assigning it to a local, like in the patch in my previous post, the result is the expected:
data = FileData: 0x5556d5d55d00
1
2
3
4
5
6
7
8
...
3674001
3674002
3674003
GC is releasing FileData: 0x5556d5d55d00
        * here it pauses for 1 second *

Your mileage (the displayed numbers) may vary, depending on the length of the generated file and other factors, but the essence should be the same.

That is some amazing detective work! Thank you @pgimeno, I will implement your fix!

Thanks, I look forward to it :)
I called it a LuaJIT bug, but on second thought, it is not. A pointer is an even weaker reference than a weak reference, in that it can become invalid and still preserve its value. The object returned by getPointer() is a light userdata object containing a pointer. The existence of that object (the pointer) has no influence on whether the object pointed at (the FileData in this case) is cleaned up or not, so LuaJIT has the right of deallocating it when it feels it's no longer needed (it simply can't know there's still a pointer pointing to it).
It seems that when we start working with pointers in an environment with automatic garbage collection, we're in quicksand terrain, and extreme care must be taken at each step, as even the smallest misstep may make us sink.


Decouple StorkJS as storage engine

Add a function called Neuro.store like Neuro.rest which is responsible for returning a storage implementation.
For example:
Neuro.store = function(database) // NeuroDatabase
{
  return {
    put: function(key, record, success, failure) { },
    remove: function(key, success, failure) { },
    all: function(success, failure) { }
  };
};

The use of promises in NeuroDatabase.js will have to be refactored as well to be decoupled from StorkJS.

Committed: https://github.com/ClickerMonkey/neurosync/commit/1c4f92fdc6cef20e913e95e6ceb2763e72aa3166


Feature: run a predefined graph

The spec from tensorflow docs is here: run a predefined graph, 🥇

This feature has been done at https://github.com/yorkie/tensorflow-nodejs/commit/db8c34b71107300fc11ae2496fcf6673d5c90d2c.


access with 30-second delay only on some sensors

this application is super good, very complete. I only see a lack that any professional alarm includes.
It is the option of a delay of 30 seconds in sounding since it is activated only in some sensors.
That is, this application has the option to put a delay of 30 seconds or 1 minute to give you time to open the door of the house and disable the alarm without sounding. But this delay is applied to all sensors, while it should really only apply to those that cover the area of the front door, those that are in windows, other rooms etc... should go off instantly without leaving that waiting time.
Do you understand me?

Hi
I think this is handled by advanced setting on the device tht you want to aply this delay to. Normally the delay is not activated on the sensors, or am I wrong?

all solved, it can be closed.


[Wave 8] [Ideal Nav] Big New Workspace button doesn't work

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?: No
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): N/A
Logs: N/A
Expensify/Expensify Issue URL: N/A
Issue reported by: @ishpaul777
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1706831528469869
Action Performed:

Create a new account (to test this, the account cannot have any existing workspace. that's why it's recommended you create a new account).
Bottom tab -> 🔧 Settings -> Workspaces
Click the big New Workspace button that appear middle of the content pane

Expected Result:
A new workspace should be created.
Actual Result:
Nothing happens.
Workaround:
The user can click the small New workspace button at the top-right color of the Settings page
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub

Hi! I'm going to work on it!

Hello, I will be looking into this issue.

hi @cdOut 👋 are you from SWM?
this issue should be fixed with this PR which was merged to main recently 👍

@hayata-suenaga Yes, I am from SWM. Let me know whether this still persists and whether I should still work on this.

I'll let you know if the issue still persists after deployment

The PR that introduced the bug has been identified: https://github.com/Expensify/App/pull/33280
The offending PR has been commented on: https://github.com/Expensify/App/pull/33280#discussion_r1483289903
A discussion in #expensify-bugs has been started: n/a
Determine if we should create a regression test for this bug: No

This can be closed


Unable to use multiple root certificates to connect from client

What version of gRPC and what language are you using?
C#, Grpc.Core.2.46.6-0
What operating system (Linux, Windows,...) and version?
Windows
What runtime / compiler are you using (e.g. python version or version of gcc)
.NET Framework
What did you do?
I want to connect to multiple servers using TLS. The certificates on these servers are self-signed by different keys. I copied the root certificates to a single certificate file:
-----BEGIN CERTIFICATE-----
<RootCert0Pem>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<RootCert1Pem>
-----END CERTIFICATE-----
...

In my application, I read the file to pass it to the channel:
var cacert = File.ReadAllText(options.CaCertFile);
var ssl = new SslCredentials(cacert, new KeyCertificatePair(clientcert, clientkey));

What did you expect to see?
The definition leads me to believe that the cacert parameter allows multiple certificates, so if I connect to servers where different roots apply it should all work,
   /// <summary>
   /// Creates client-side SSL credentials.
   /// </summary>
   /// <param name="rootCertificates">string containing PEM encoded server root certificates.</param>
   /// <param name="keyCertificatePair">a key certificate pair.</param>
   public SslCredentials(string rootCertificates, KeyCertificatePair keyCertificatePair) :
       this(rootCertificates, keyCertificatePair, null)
   {
   }

   /// <summary>
   /// Creates client-side SSL credentials.
   /// </summary>
   /// <param name="rootCertificates">string containing PEM encoded server root certificates.</param>
   /// <param name="keyCertificatePair">a key certificate pair.</param>
   /// <param name="verifyPeerCallback">a callback to verify peer's target name and certificate.</param>
   /// Note: experimental API that can change or be removed without any prior notice.
   public SslCredentials(string? rootCertificates, KeyCertificatePair? keyCertificatePair, VerifyPeerCallback? verifyPeerCallback)
   {
       this.rootCertificates = rootCertificates;
       this.keyCertificatePair = keyCertificatePair;
       this.verifyPeerCallback = verifyPeerCallback;
   }

What did you see instead?
It does not connect, unless I move the root certificate to the top of the file.
Anything else we should know about your project / environment?
I see that a similar issue was reported for C++, but resolved with an environment variable workaround that is not feasible/applicable for my language/library: https://github.com/grpc/grpc/issues/18304

@Anam9 I don't understand why you think you cannot set the GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable as suggested in the other issue you have linked to.
To use different root certs for gRPC you should set the environment variable GRPC_DEFAULT_SSL_ROOTS_FILE_PATH to point to a PEM file containing the root certs. See environment_variables.md

@tonydnewell I suppose I did not understand whether/how it will take effect from the client. For instance, environment_variables.md has variables to control logging like GRPC_VERBOSITY, but for my language/framework it appears Grpc.Core.Logging is used: https://grpc.github.io/grpc/csharp/api/Grpc.Core.Logging.html
Since I did not find anything equivalent for SSL settings, hence my concern. Of course, trying to set the environment variable and see if it works regardless would be the best way to test it (which I will do once I can). I (re)opened this issue to confirm if environment variable workaround is going to be the final resolution.

Follow up: setting the path of the pem file as GRPC_DEFAULT_SSL_ROOTS_FILE_PATH with all roots did not work. This is the exception I get:
Unhandled exception. System.AggregateException: One or more errors occurred. (Status(StatusCode="Internal", Detail="Error starting gRPC call. HttpRequestException: The SSL connection could not be established, see inner exception. AuthenticationException: The remote certificate was rejected by the provided RemoteCertificateValidationCallback.", DebugException="System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception."))
 ---> Grpc.Core.RpcException: Status(StatusCode="Internal", Detail="Error starting gRPC call. HttpRequestException: The SSL connection could not be established, see inner exception. AuthenticationException: The remote certificate was rejected by the provided RemoteCertificateValidationCallback.", DebugException="System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.")
 ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
 ---> System.Security.Authentication.AuthenticationException: The remote certificate was rejected by the provided RemoteCertificateValidationCallback.

Unless I move the root corresponding to this specific server I am trying to connect to at the top of the pem file.

GRPC_VERBOSITY controls the level that is logged to the logger.
You can get the default logger from the GrpcEnvironment, for example:
static readonly ILogger Logger = GrpcEnvironment.Logger.ForType<ClientRunners>();

( see https://github.com/grpc/grpc/blob/17d9ce26e40ca13e96511eb9568d33ba5c7bc40d/src/csharp/Grpc.IntegrationTesting/ClientRunners.cs#L44C9-L45C1 )
or set a new logger:
GrpcEnvironment.SetLogger(new ConsoleLogger());

(see https://github.com/grpc/grpc/blob/17d9ce26e40ca13e96511eb9568d33ba5c7bc40d/src/csharp/Grpc.IntegrationTesting/InteropClient.cs#L84C13-L84C60)

The GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable workaround works fine.


Roots of  quadratic equation

Python program to find roots of quadratic equations

Hello, I am one the participant of GSSOC-21. I request to assign this issue to me. I will solve this issue in JAVA, C++ as well as PYTHON with all the comments clearly explaining the the steps and satisfying all other requirements with least time complexity. Thank You.

We are currently accepting only DSA related issues. But not non-relevant implementation problems.


Pane painting fails after pane moved

Version and Platform (required):

Binary Ninja Version: 3.6.4774-dev, 20b49d1e
OS: macos
OS Version: 14.2
CPU Architecture: arm64

Steps To Reproduce:
See the GIF please.
Need to do it with a bit large function in order to bug happen.
Screenshots:

@op2786 do you have a binary that we can reproduce this with?

It is not a zip file. Just ls binary with .zip extension. You can reproduce the issue at 100006b2d
ls.zip

I have two functions in split panes, one disassembly and one HLIL, and I'm moving them around in ways similar to the GIF. But, I can't seem to reproduce this.
I am using macOS 14.3 and Binary Ninja 4.0.4868-dev. Is this still an issue you're seeing? Or, did we perhaps squash this one in the ~100ish builds since this was reported?

Seems like it is resolved. I'm not able to reproduce this anymore. @fuzyll


Add exception handling to update status handler

Description
Exception handling is missing in update status handler.

Done.


quick sqs fix

Resolves #290

Thanks for the fix.
Btw, do you still have Netlify configured in your account @jeffhollan? I think the vigorous-franklin-8edd65 check are yours, no?


Fix format for ExportCommand invalid format

Minor update to usage message

Codecov Report

Merging #46 (7c71a4b) into master (8c7000d) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #46   +/-   ##
=========================================
  Coverage     67.01%   67.01%
  Complexity      399      399
=========================================
  Files            74       74
  Lines          1325     1325
  Branches        133      133
=========================================
  Hits            888      888
  Misses          403      403
  Partials         34       34

Impacted Files
Coverage Δ

...va/seedu/address/logic/commands/ExportCommand.java
0.00% <ø> (ø)

Continue to review full report at Codecov.

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