Regarding OpenAI token

Hello
Playing around with the project, after running nmap with OpenAI using profile 5 or 12 i come with the error:
"message: "This model's maximum context length is 16385 tokens, however you requested 17216 tokens (14716 in your prompt; 2500 for the completion). Please reduce your prompt; or completion length.","
I'm getting this message after changing the model from gpt-3.5-turbo-0613 to gpt-3.5-turbo-0125
What would be the best approach here?
Thank you for your time.

So Even though I am looking into this issue the thing is OPENAI has a token limit and that's common for all models. The only way to mitigate this is to make it streamable and I am working on this correction this is only an issue with NMAP and its related output I will be working on this and maybe in the next update, this will be corrected.
Thanks for letting me know 👍

Thank you for the feedback.
Yes i agree as due to nmap responses this can be expected for openai.
Just out of curiosity, even if you use bigger models like gpt-4-0125-preview and expand the max_token value from 2500 to 4096 this will still remain?

Thank you for the feedback.
Yes I agree as due to Nmap responses this can be expected for Openai.
Just out of curiosity, even if you use bigger models like gpt-4-0125-preview and expand the max_token value from 2500 to 4096 this will remain?

I guess yes. It boils down to how the AI can process. And what is the optimal parameter for accuracy? I am pretty sure that's what is going on here

On my error i can see that actually openai provides the limit as the maximum context length is 16385 tokens, but i requested for 17216 tokens (14716 in your prompt, and 2500(max_token value) for the completion)
I believe that in gpt4 model this will not be an issue. Let me test this and get back to you.

On my error i can see that actually openai provides the limit as the maximum context length is 16385 tokens, but i requested for 17216 tokens (14716 in your prompt, and 2500(max_token value) for the completion)
I believe that in gpt4 model this will not be an issue. Let me test this and get back to you.

So the thing is the output limit and input limits are different gpt-4 has more output and input capacity but can't leverage that properly with direct prompts like what I am doing so I need to modify that

Hello, as tested in multiple models this is still the same so you are correct.
Is there any update?

I was kinda busy with uni exams and stuff so not able to work on this 😅. I will work on this when I get the time for it.


Support 'TrustSet' transaction type

The Ledger XRP app currently supports nothing but payment transactions. Which promotes insecure practices such as entering ones mnemonic words in third-party tools, in order to sign trust line transactions.
In other words, Ledger Nano S/Nano/Blue users currently have no secure way to participate in XRP ledger airdrops and trade on the XRP ledger's decentralized exchange.
References:
https://developers.ripple.com/transaction-types.html
https://developers.ripple.com/trustset.html

Yes! I'm desperate for support for 'OfferCreate' transaction types. Building out an interface for trading on the XRP ledger and hit a huge brick wall. Figured it would be simple and just assumed any transaction type would be supported ;(

Fixed in v2 app


Ensure closing curly brace is on its own line

1. What does this change do, exactly?
This change enforces the documentation that, "the closing curly brace } must be the only token on its line" without breaking the requirement that an environment variable is, "enclosed in curly braces { } without extra whitespace."
2. Please link to the relevant issues.
#2366
3. Which documentation changes (if any) need to be made because of this PR?
None.  This PR brings parsing functionality in line with the documentation.
4. Checklist

[X] I have written tests and verified that they fail without my change
[X] I have squashed any insignificant commits
[X] This change has comments for package types, values, functions, and non-obvious lines of code
[X] I am willing to help maintain this change if there are issues with it later

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Adam Woodbeck seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the PR.
This seems to raise a parse error when dealing with placeholders.  The following exits with a parse error.
localhost:80 {
    log / d:\caddy\logs\courgettelog.log   "--{user}-- {request_id}"
}

but these seems  fine
localhost:80 {
    log / d:\caddy\logs\courgettelog.log   "{user} {request_id}"
    log / d:\caddy\logs\courgettelog.log   "{user} {request_id}--"
    log / d:\caddy\logs\courgettelog.log   {common}
}

Thanks for the changes.  Placeholders can be in lots of places in a caddy file and don't need to be quoted, so  I think if there is a solution it may be in looking at the kind of token that the parser is dealing with and if it is a } checking it is on its own on a line
I'm not sure the updates you've made are a way to solve this issue.  You might need to take a different approach.  Perhaps @mholt might have some pointers.
Its failing now on my caddyfile at
  rewrite / {
  r  (.*)/\.
  to /index.php?path={1}  // this line
}

Please excuse my ignorance of the code base.  I'm reviewing the code as time allows.  But it seems the challenge here is curly braces are used for delimiters and place holders.  Maybe the correct approach is to better manage the state in the parser.directive's for loop.


Foreground of Visual selection if Also Search Highlight

I love how the search highlights look and I love how the visual selection looks, but the foreground for the search highlights is the same as the background for the visual selection, leading to search highlight text disappearing when in visual mode. I am not sure if there's a way to accomplish this, but is there a way we could cause search highlights to change their foreground color only when they are in visual mode?

EXAMPLE:
(Search for some text):

(Visually select a block containing search results):

Same issue: https://github.com/nordtheme/vim/issues/347


Sl/105 run refresh

Fixes #105
Builds on top of the linter PR (#116) so changes will be cleaner to view once that is merged
To address the issue with not being able to reconcile runs(#105) this PR removes the check that propagated an error that was reported as part of the run state from the API to be a reconciler error. WIth this PR the reconciler now completes successfully and the run status is reported in the status for the run CRD instance (and availble via kubectl describe run myrun

Can you please cherry-pick your changes related to #105 and send PR separately?

/azp run

I've rebased this on master and re-tested following the steps outlined in the PR
$ kubectl get run
NAME         AGE     RUNID   STATE
run-sample   2m23s   15      PENDING

After a while, the job is in the error state:
export JOB_ID=15 # taken from kubectl get run output above
curl -H "Authorization: Bearer $DATABRICKS_TOKEN" $DATABRICKS_HOST/api/2.0/jobs/runs/get?run_id=$JOB_ID

{
  "job_id": 24,
  "run_id": 15,
  "number_in_job": 1,
  "state": {
    "life_cycle_state": "INTERNAL_ERROR",
    "result_state": "FAILED",
    "state_message": "Library installation failed for library jar: \"dbfs:/my-jar.jar\"\n. Error messages:\njava.lang.Throwable: java.io.FileNotFoundException: dbfs:/my-jar.jar"
  },
// rest omitted for brevity

Once the operator has next refreshed the INTERNAL_ERROR status is reflected in the run status:
$ kubectl get run
NAME         AGE   RUNID   STATE
run-sample   10m   15      INTERNAL_ERROR

Observing the operator logs shows that the status is still being reconciled every 30 seconds.


Validate relay chain Para.Heads storage proof

To secure the parachain block light validation, we need to:

Submit Para.Heads to pRuntime
Validate the storage proof in pRuntime
Save the latest parachain header hash in pRuntime

Next, when syncing parachain blocks:

Submit Vec<BlockHeaderWithEvent> to pRuntime, with an ancestry proof (could be large?)
Validate the synced block are

Continuous and ordered (connect to the last synced block)
On the right blockchain (are ancestries of the latested Para.Heads)

Fixed by #12


build: add dependency on generated target

This repairs the build for the unified layout.  The lldb target depends
on generated headers.  When building in non-standalone mode, ensure that
we have a dependency present to ensure the ordering.

CC: @adrian-prantl @dcci

This should go against stable, not upstream-with-swift.

@dcci, sure, happy to adjust that.  I'm just unfamiliar with the branching model that swift-lldb uses.  Is it stable -> upstream-with-swift instead of upstream-with-swift -> stable?

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

As this adds swift specific logic to cmake files which are also upstream, might I ask you to add markers? If we decide to move this code upstream, it would be useful to highlight swift-specific parts. Otherwise, LGTM.

@dcci - sure, is there a specific marker that lldb is using for the cmake changes?

Interestingly enough the dependency issue seems to have gone away?  I'm gonna discard this for now.


Figure out why Vetur is so damn slow

Describe the bug
When coding in visual studio, the Vetur plugin / linters can be extremely slow.
To Reproduce
Steps to reproduce the behavior:

Open code in VS Code (ensure that you have save on lint enabled)
Edit a file
Save
Wait forever for the file to save.

Expected behavior
Saving and linting should be fast and efficient.
Screenshots
TODO:
Desktop (please complete the following information):

OS: OS X, experienced by both @ann-kilzer and @Ania-chan

Will be obsolete if #261 happens


Unable to use the upload

On my Strapi I have the default User (from "user-permissions"), and I have on it a field called "picture".
Using the upload I'm doing something like this:
                contentType: "user",
                id: 1,
                field: "picture",
                image: profilePicture,
                compressionQuality: 90) { response in

                guard let record = response.dictionaryValue() else {
                    return
                }
                print("Some data: \(record)")
            }```

But I keep having a 500 error even if I let an unauthenticated user try to upload something.
What am I doing wrong here? Thanks

For anyone stuggling with the same as I had, use this instead:
`strapi.upload(
contentType: "user",
id: 1,
field: "picture",
source: "users-permissions",
path: nil,
filename: "myPic.jpg",
mimeType: "image/jpg",
image: profilePicture!,
compressionQuality: 90,
interceptor: interceptor,
autoExecute: true) { (response) in
            guard let record = response.dictionaryValue() else {
                return
            }
            guard let error = record["error"] else {
                return
            }
            print("got some error!: \(error)")
        }`


:bug: Documentation without content

Want to Achieve
The documentation does not have content

Oh! That's true.
I think it's because I didn't test the operation because I rushed to get a newer version of NuxtJs.
Thanks so much for reporting the bug!
But sadly, at the moment I'm infected with coronavirus and can't afford to code very much...
The documentation itself is in docs>content in Markdown, so if you want to see the documentation right now, just go to that folder and you'll be able to see it.
I'll do the revisions when I'm feeling better. Please wait a little longer.
DeepLで翻訳しました https://www.deepl.com/app/?utm_source=android&utm_medium=app&utm_campaign=share-translation

Thanks for all Takuma.
I'm glad to be uselful reporting this bug.

:white_check_mark:This Issue has been resolved.
Report
Content was not generated because the build setting was nuxt generate.


Use appdirs library

Pull in https://github.com/ponylang/appdirs as a submodule, and use it to finish #28

Version 0.1.0 should be a good one to use.


Fix grid demo class typo (two-third-s -> two-thirds)

This is a tiny typo I just noticed. It probably just got caught in a find/replace, so thought I'd throw a quick PR your way!

Will add this patch manually. This is an automatically generated files. The change will have to be applied to the template instead of the generated file.


Fix messagebox warnings

Purpose of PR?:
Fixes #1957. This turns the warning when there are unhandled message boxes left into actual errors. I also started to fix those errors, but that is still WIP.
Does this PR introduce a breaking change?
No
If the changes in this PR are manually verified, list down the scenarios covered::
Additional information for reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Does this PR results in some Documentation changes?
If yes, include the list of Documentation changes
Checklist:

[X] Bug fix. Fixes #1957
[ ] New feature (Non-API breaking changes that adds functionality)
[ ] PR Title follows the convention of  <type>: <subject>
[ ] Commit has unit tests

Started out with 40 errors, down to 20 now.

@matrss maybe merge the refactor_tests_and_setup into yours.
In the mscolab tests and mscolab are a way more broken hidden by the mocking in conftest.

There is 2 errors left to go. One of those is an unexpected None value, but it happens in the teardown and I did not yet understand why. The other is this AttributeError: 'NoneType' object has no attribute 'flighttrack_model'. I tried cherry-picking 35a0ebacad8c7da777792db5011830d1e0b4087b, but that just breaks more tests.

There is 2 errors left to go. One of those is an unexpected None value, but it happens in the teardown and I did not yet understand why. The other is this AttributeError: 'NoneType' object has no attribute 'flighttrack_model'. I tried cherry-picking 35a0eba, but that just breaks more tests.

Likly the "pytest" check has masked several other incomplete setup of msui.MSUIMainWindow(mscolab_data_dir=mscolab_settings.MSCOLAB_DATA_DIR)
The self.window.create_new_flight_track() was missing in any mscolab ui test.
The NoneType comes likly from this missing switch to local. Because we need always a waypoint table.
https://github.com/Open-MSS/MSS/pull/1968/files#diff-8bb1b53508f9fe252a80649575f92b7aa4756be8dda54c217a7c1d9063d6b0c5R1059

OK, looks like it is just one issue left: for some reason in the teardown code of Test_MscolabAdminWindow  after self.window.mscolab.logout(), which unsets self.window.mscolab.mscolab_server_url, there is another call to render_new_permission triggered by QtWidgets.QApplication.processEvents(). This method the complains about mscolab_server_url being None. This issue fails between 0 and 3 tests on my system.

Right, I think these windows remain because I removed the code that just closes all remaining widgets from the fixture in conftest. Ideally, I think this fixture should look like this:
@pytest.fixture(autouse=True)
def fail_if_open_widgets_left():
    """Fail a test if there are any Qt widgets left open at the end
    """
    yield
    widgets = set(QtWidgets.QApplication.topLevelWindows() + QtWidgets.QApplication.topLevelWidgets())
    assert len(widgets) == 0, "There are Qt widgets left open at the end of the test!"

but there are many more widgets and windows in that and I think some of those are memory leaks in mss itself (e.g. there is a hidden "Browse archived operations" window that is not closed properly with the main window when I just run test_login).
These were previously not catched by the mocking of the message boxes and then just silently closed.

these boxes are "information" not "question"

These boxes are QErrorMessages instead of any QMessageBox, that is why they are not currently failing the tests.

these boxes are "information" not "question"

These boxes are QErrorMessages instead of any QMessageBox, that is why they are not currently failing the tests.

I think that is the wrong type QErrorMessage for the kind of information.

Right, I think these windows remain because I removed the code that just closes all remaining widgets from the fixture in conftest. Ideally, I think this fixture should look like this:
@pytest.fixture(autouse=True)
def fail_if_open_widgets_left():
    """Fail a test if there are any Qt widgets left open at the end
    """
    yield
    widgets = set(QtWidgets.QApplication.topLevelWindows() + QtWidgets.QApplication.topLevelWidgets())
    assert len(widgets) == 0, "There are Qt widgets left open at the end of the test!"

but there are many more widgets and windows in that and I think some of those are memory leaks in mss itself (e.g. there is a hidden "Browse archived operations" window that is not closed properly with the main window when I just run test_login).
These were previously not catched by the mocking of the message boxes and then just silently closed.

I'm ok with such fixtures, when we don't see these problems we likly won't work on those.

I'm ok with such fixtures, when we don't see these problems we likly won't work on those.

I agree, but this fixture would lead to > 300 failed tests (basically all that involve the UI?). I think that is to much to handle in this one PR.

The teardown of many of the tests got improved in the other branch. At least there remains nothing visible.

Nothing visible is not enough, unfortunately. In the test_login test case for example there are 16 widgets left, but hidden, that did not get removed by the teardown code.
I think I will reintroduce the closing code to the fixture here for now and we can tackle this in a follow up PR.

The remaining issue is this: on teardown of test_add_permissions there is a call to self.window.mscolab.logout(). This method first sets self.mscolab_server_url = None and then at a later point disconnects the socketio socket: self.conn.disconnect(). This disconnect queues up a qt event which makes the application call render_new_permission the next time processEvents() is called. But at that point the logout already unset the mscolab server url, which leads to
  File "/__w/MSS/MSS/mslib/msui/mscolab.py", line 1391, in render_new_permission
    r = requests.get(self.mscolab_server_url + '/user', data=data,
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

Moving the disconnect call to somewhere before un-setting the url and calling processEvents immediately after fixes this issue.

This one should be checked if we need a backport to stable. I've not seen it in normal usage yet.
https://github.com/Open-MSS/MSS/pull/1967/commits/0f5c937de9aca3b835e4a16e50308d9ed104cfe9

This one should be checked if we need a backport to stable. I've not seen it in normal usage yet. 0f5c937

Because of the QApplication.processEvents() we better don't add this to stable.

Because of the QApplication.processEvents() we better don't add this to stable.

Would that be a blocker? We have a call to that method in other places (in msui/mscolab.py and msui/mpl_qtwidget.py) too, but I have no experience with qt. Anyway, I dug a bit deeper and just moving that section up and adding the processEvents call is just hiding the issue, not fixing it.
The issue is a race condition caused by this:

the test adds users to an operation in the admin interface
this calls add_selected_users, which makes a post request to <mscolab_server_url>/add_bulk_permissions
on the server side on success the handler for that request triggers a new-permission signal via socketio
on the client side receiving this signal triggers the signal_new_permission pyqtSignal
in MSUIMscolab the render_new_permission slot is connected to the signal from 4. and therefore gets called

The problem then is that the test runs so fast that between 3. and 4. it is already in the teardown phase and has called the logout method, which unsets the server url. Then in 5. we see this issue where the url is None.
My fix so far just hides this, but does not resolve the issue.
It is very unlikely to hit this issue in normal usage, so I don't think we have to look at this on stable. If you add a delay right before emitting the pyqt signal in the socketio handler, then you can recreate the issue interactively though.
I think a proper fix would be to stop the socketio handlers in ConnectionManager from emitting pyqt signals after socketio was disconnected, since that does not make much sense anyway. I'll take a look at how that could be done.

I fixed it properly (I think?) now, removing the usage of processEvents. This should address the remaining comments.


Add Unofficial Linkability Response

This time, the images and formatting is correct to my knowledge (thanks ajs!).
Some of the commits, listed below, involve adding and deleting the same file. I do not know how to remove these from the pull request. My apologies:
8892a73
7033bb7
18bb205
789c9e9
Thus, the two commits to worry about are:
05fdd59
1634b0d

@iamsmooth can you please look over this now? I made some changes that I would like you to verify are accurate.

@Gingeropolous is this better? It's hard for me to add what you explained to a specific section.

@Gingeropolous the pool payouts are traceable to the pools coinbases. This is often true whether or not the pools used positive mixins or not (though at least one pool had a more complex payout scheme that involves moving coins to an intermediate wallet first, and would reduce this traceability to some extent).
Tracing (or non-tracing) via mixins refers to preceding transactions. In the case of pool payouts that is the coinbase.
There is another question whether users spending those pool payouts would also use mix 0, and in most cases, that is very likely to be the case as well, but that is more of a user choice than anything else.

My apologies for the poor GitHub use. I think the actual paper is ready for release now. Can you please review it, @iamsmooth @Gingeropolous @fluffypony
Don't merge this in the next few hours. I'd like to give Andrew Miller a chance to point out any other mistakes, which is something I promised to him.

Been more than a few hours, merging it


Duplicate Entry Found. Multiple values of " found for .

Using the site http://www.blogger2ghost.com/
I attempted to export from http://archive.hackerferret.com and upload to  http://hkferret.ghost.io
After attempting to upload my file I get this error repeatedly.

Duplicate Entry Found. Multiple values of " found for .

It might be some corner case we are missing. Could you try running through the cli version and debug further? It would be good to understand why it's empty in this case.
One option would be to discard the other entries it finds. I don't remember what "entry" refers to, but code probably explains it all.

K will give it a try. Thanks for the speedy response!~


Introduce interactive kubectl command selection

Description
Changes proposed in this pull request:

Introduce interactive kubectl command selection

This PR aims to add a basic support for interactive mode via Slack. I tried to enable a parallel work on rest of the items.
Supported cases

send it as only visible to you
replace the original message when changing verbs/resources via dropdown
add select dropdown support both in slack renderer and static message
add dropdown with verbs and resources supported in a given channel (alphabetically sorted)
fix bug with wrongly parsed args in kubectl executor
populate the resource names dynamically
add info who executed the command

In follow-ups

Add support for the namespace dropdown
Use a dedicated service to return resources for a given verb (when implemented in https://github.com/kubeshop/botkube/issues/786). Currently, you can "defined" not valid command e.g.  kubectl auth deployment.
Add the filter output input string field
Add telemetry
Print the dropdowns  when user types @Botkube k|kc|kubectl without arguments.

Related issue(s)

#748

First, it works well 🎖 🚀  And here are my findings which we can fix before release;
1. Resources dropdown is not removed once I select verb which does not require Resource param. To reproduce

Verb: get, Resource: configmaps
Verb: api-resources -> see configmaps Resource is not removed. Other examples: api-versions, cluster-info
Click run -> you will see execution error

2. Since Run command button is not sticked, it disappears from the view after a couple of commands. To reproduce;

Verb: get, Resource: namespaces
Click Run Command 2-3 times -> see command is scrolled up and up until it disappears

First Click

Second Click

Third Click

3. There is no way to describe single resource. To reproduce;

Verb: get, Resource: namespaces -> see namespaces are populated in Resource name dropdown
Verb: describe -> See Resource name dropdown is gone and only namespaces Resource dropdown left
Better to keep Resource name dropdown there so that we can describe single resource.


Allow one place to appear multiple times in the search result page

Description
Improve the quality of plan recommendation page, so that the same location may appear in multiple suggested plan trip candidates. Currently, the same place is only allowed to appear once, and this may limit the number of suggested plans for certain cities.
For example, Q pop shop appears twice in the result plan list.

Solution

Add a counter for each place during the main search/solver algorithm
The counter can be implemented by a hashMap
In future PR, we can add this as a configurable param with some refactor on solver.go

Testing

[x] Integration testing on Heroku staging
[ ] Added new unit tests

Checks

[x] Have you removed commented code?
[x] Have you used gofmt to format your code?

The number of reuses is currently not loaded from configurations. Can we add that part?

I had some difficulty to load it through yaml config file at my initial attempt, so this PR will just focus on changing the place duplication limit from 1 to 2. I also need to do some refactoring for a few functions in solver.go, so we can make a clean pass of the limit from config file. It's easier to do this in a separate PR. wdyt?


code is inconsistent with your paper

https://github.com/luost26/diffab/blob/6febe0243c67c1e21e7b418ea38e0c25eca42f04/diffab/modules/diffusion/transition.py#L98
Hi. In the forward diffusion process, given e_0, the initial rotations, this function generates the noised rotations by R_noisy = E_scaled @ R0_scaled. where E_scaled is sampled from a prior distribution. I wonder why e_normal is not used but declared?
https://github.com/luost26/diffab/blob/6febe0243c67c1e21e7b418ea38e0c25eca42f04/diffab/modules/diffusion/transition.py#L112
In your paper, the R_noisy should be the interpolation between  c0 * v_0(scaled v_0) and c1 * e_scaled. But your code does not use c1 at all.

I named the variable scaled because e_scaled is already scaled by c1. The scaling factor c1 is set as the std of the distribution.
https://github.com/luost26/diffab/blob/6febe0243c67c1e21e7b418ea38e0c25eca42f04/diffab/modules/diffusion/transition.py#L90
e_normal is for debugging. Just to check whether it comes back to a standard normal after division.

My bad! Thank you soooo much.

@luost26 , Hi. I have another question regarding the posterior formula of orientation

Why the mean of the posterior is the predicted O_0 instead of the interpolation between O_t and predicted O_0. The later one is more popular in Diffusion Model, including original DDPM.


Should I normalize data?

I want to pass chunk of time-series with fixed size to NN, so my input will be a same [12, 45, 33, 44, 55, 22, 3]. Docs requires normalizate each element to [0, 1], but in recommended video author doesn't do it.
I suppose that I must. Perhaps add a parameter "normalize the data" of the NN is a not silly idea?

I believe you may not need to with Relu and Leaky Relu. Try this:
new brain.NeuralNetwork({ activation: 'relu' });
or
new brain.NeuralNetwork({ activation: 'leaky-relu' });
The default activation is sigmoid, which does need normalization.

Also: I know this is super lame, to use a string to define this type of thing, this will change in v2, fyi.

Thanks.
So, it's a not necessary. I think this should be reflected in the docs.

to use a string to define this type of thing
Maybe better use something like below? I'm not sure but it can decrease performance.

\\ brain.js
const activation = {
    sigmoid: (sum) => 1 / (1 + Math.exp(-sum)),
    relu: (sum) => (sum < 0 ? 0 : sum),
    'leaky relu': (sum) => (sum < 0 ? 0 : 0.01 * sum),
    tanh: (sum) => Math.tanh(sum)
}

\\ remove all runInput... to one with code
        }
        // sigmoid, relu, etc
        this.outputs[layer][node] = this.activation(sum);
}

I like the suggestion!  Part of the reason it is implemented as it is is that I'm trying to focus on the new GPU layer composition stuff, and lack of time.  Too, the activation actually consists of two parts, an activation, and the activation's derivative.  The layer composition stuff is somewhat structured the way you mention:
https://github.com/BrainJS/brain.js/tree/nn-gpu-layers/src/activation
Want to link them up?  Pull Requests are welcome!
More on v2, layer composition: https://github.com/BrainJS/brain.js/issues/96 & https://github.com/BrainJS/brain.js/issues/99

So with the api as: https://gist.github.com/robertleeplummerjr/4aaf8afb177c9c80f8452d5025117e26
The activation is a matrix transformation, and therefore by its very nature is a "layer", albeit a simple one.  But when cells (groups of layers of neurons), and gates (synonym of cell?), we are talking about layers composing layers.  In short, the api looks a bit like:
export default function feedForward(settings, input) {
  const { width, height } = settings;
  const weights = random({ width, height });
  const bias = random({ width });
  return sigmoid(
    add(
      multiply(
        input,
        weights
      ),
      bias
    )
  );
}

But the plan is to continue to full on support the original neural network concept, which is hard coded FeedForward neural network.

Let me backtrack, because the answer I gave was overly wordy.

Maybe better use something like below?

I think this is exactly what we want for v2, some of the groundwork for it has been laid with https://github.com/BrainJS/brain.js/tree/nn-gpu-layers/src/activation, would you be open to possibly implementing it?

I'm trying to focus on the new GPU layer composition stuff

If main platform for brain.js is a Node.js then it's a bad idea because gpu.js bursts only browser code.
I searched what the Node.js can offer as number cracker. At the moment it's nothing. Both OpenCL and CUDA don't have a native implementation. Npm has some packages but they look abandoned. So we can only wait :(

would you be open to possibly implementing it?
I'm a newbie in NN. So I don't understand exactly what the code does. Before dive into NN I must check that NN can solve my problem (anomaly detection such as spike, shift or distribution change). If answer will be YES then I can join the brain.js development.

bursts only browser code
That is incorrect.  There is a browser.js file, but brain.js is written in node javascript.  It executes on browser (javascript and WebGL) and node (javascript, and eventually OpenCL).  We transpile it for convenience.

I'm a newbie in NN.
The item you recommended it outside the realm of neural nets, and is more of a design principle.  It is a great suggestion, and wouldn't require foreknowledge other than simple javascript.

and eventually OpenCL
How? I don't find any information how make js code faster without compile (or use node-gyp) C/C++ extensions. I think that it's impossible at the moment.

It isn't built yet (proof of concept only), but via http://gpu.rocks/, we'll use https://github.com/mikeseven/node-opencl or https://github.com/unbornchikken/NOOOCL
Likely it'll be node-opencl since it supports opencl v2
I'm on the GPU.js team :P, so I can make these types of predictions.

Just a question @robertleeplummerjr.
Once OpenCL is implemented, will training a NN in Node.js be as fast as a browser powered by WebGL?
Did I understand that right?

This is my hope, but it will likely come down to drivers.

Closing this as the main question was answered.


[msal-node][msal-common] Add device code response in DeviceCodeClient.ts

This PR adds:

response handler for Device Code flow
updates extension package for tests

Coverage decreased (-0.2%) to 81.601% when pulling 886c407439fc31ff5a5c459c3dabfbf25cbf29f2 on msal-node-devicecode-response into 93f09d3f0b348e7b41f43d46c59ad0aabd62f73f on dev.


Revert "New package: FortranNamelistParser v0.1.0"

Reverts JuliaRegistries/General#116786 cc @anchal-physics
context: https://discourse.julialang.org/t/remove-package-from-general-registry/71668/5
rationale:

in general we don't remove packages from General, but we have on occasion when very soon after registering and we think no one else is using the package yet, and the author made some mistake that is very difficult or labor intensive to fix otherwise
I don’t see any open-source usages of it on github outside of ProjectTorreyPines org which has that registry they mention and @anchal-physics, the package owner, and what looks like a mirror of general (https://github.com/search?q=FortranNamelistParser&type=code&p=1), but of course there’s code other than open-source code on github.
I would vote for reverting today; I don’t think it needs to be precedent but rather, this is handled on a case by case basis and in this case it seems like it won’t affect anyone outside this group, for whom reverting will help a lot. I think maintaining reproducibility and not breaking code is essential but it seems like that won’t happen here, and combining registries can be messy and someone made a mistake that we can help fix.
waiting longer just increases the odds someone else will use it, so we should revert it quickly or not at all

Acceptable to me for reasons provided.

Thanks a lot for quick resolution to this issue.

Followup: https://github.com/JuliaRegistries/General/pull/117266


Scraper fails with 400 Bad Request: Missing features

I find myself unable to start scraping in online mode:
[info]    Server started on: http://localhost:4788
[error]   twitter: failed to fetch response body: 400 Bad Request

The Bookmarks API request sent by my browser currently looks like this after parsing:
{
   "variables": {
      "count": 20,
      "includePromotedContent": true
   },
   "features": {
      "graphql_timeline_v2_bookmark_timeline": true,
      "rweb_lists_timeline_redesign_enabled": true,
      "responsive_web_graphql_exclude_directive_enabled": true,
      "verified_phone_label_enabled": false,
      "creator_subscriptions_tweet_preview_api_enabled": true,
      "responsive_web_graphql_timeline_navigation_enabled": true,
      "responsive_web_graphql_skip_user_profile_image_extensions_enabled": false,
      "tweetypie_unmention_optimization_enabled": true,
      "responsive_web_edit_tweet_api_enabled": true,
      "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true,
      "view_counts_everywhere_api_enabled": true,
      "longform_notetweets_consumption_enabled": true,
      "responsive_web_twitter_article_tweet_consumption_enabled": false,
      "tweet_awards_web_tipping_enabled": false,
      "freedom_of_speech_not_reach_fetch_enabled": true,
      "standardized_nudges_misinfo": true,
      "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": true,
      "longform_notetweets_rich_text_read_enabled": true,
      "longform_notetweets_inline_media_enabled": true,
      "responsive_web_media_download_video_enabled": false,
      "responsive_web_enhance_cards_enabled": false
   },
   "fieldToggles": {
      "withArticleRichContentState": false
   }
}

When I include the current feature set of Scraper.features in the URL, I get the following error using curl:
HTTP/2 400
{"errors":[{"message":"The following features cannot be null: responsive_web_twitter_article_tweet_consumption_enabled, responsive_web_media_download_video_enabled","extensions":{"name":"BadRequestError","source":"Client","code":336,"kind":"Validation","tracing":{"trace_id":"xxxxxxxxxxxxxxxx"}},"code":336,"kind":"Validation","name":"BadRequestError","source":"Client","tracing":{"trace_id":"xxxxxxxxxxxxxxxx"}}]}

After adding at least these two features, the request succeeds. Therefore, I conclude that this change should only require an update to the API feature set. The fieldToggles query parameter still does not seem to be needed at this time.

Hi @DosAmp ,
thanks for reporting this issue and taking the time to look into it. It turns out, there has been an even bigger change; they removed a previously used endpoint https://twitter.com/i/api/2/timeline/conversation/{ID}.json.
This means that the "new" graph api has to be used from now on.. However this is a bit easier said than done and requires a bit of work..
If you like to poke around, please feel welcome to do so. I've fixed what I could and added a forced exit together with some comments to the problematic section.
Thanks again :)

Thank you. Without the forced exit, I can at least backup my bookmarks in a machine-readable format. They lack thread information, but I've been bookmarking mostly standalone tweets anyway, and I wrote a little Python script to extract and download media attached to them for now.
The advantage of the new GraphQL response is that it's similar to the existing BookmarkResponse, except that it contains not only an entry of type TimelineTimelineItem, which acts as a wrapper around a TimelineTweet of the tweet in question, but also an entry of type TimelineTimelineModule containing the other tweets in the conversation.

FYI it does appear that TBM just works now, unsure of when it started working again.
But it's pulling and saving bookmarks as expected.


E2E with dockerized Windshaft PoC

Fix for https://github.com/CartoDB/carto-vl/issues/632

[x] Dockerized Windshaft environment (postgres, redis, node) (already done by Engine): https://github.com/CartoDB/Windshaft-cartodb/blob/master/docker/Dockerfile-nodejs6-xenial-pg101
[x] Dockerized Testing envrionment (with prepared redis and postgres DBs) (scripts adapted from https://github.com/CartoDB/Windshaft-cartodb) new Dockerfile here
[x] CI
[x] Repeatable testing on local
[x] Modify prepare tests to push our own datasets

Good work!. Testing this. Since this requires docker and a setup for running the tests, could you add the information to the DEVELOPERS docs?
NOTE: also if you don't mind, try to squash the commits to avoid adding lots of undefined WIP commits to the git tree.

I have executed the tests in local. There is one test failing because of the ordering (in the south of Spain):

Reference
Out

NOTE: I have configured sudo usermod -a -G docker USER for the first time in order to have permissions for docker.

Good catch! We think the order issue could be the tile rendering ordering, I'll patch it soon. Regarding docker configuration, I'll add a link to the installation notes.
mnmappluto-mvt seems also to trigger some non-determinism and I also found some basemap non-determinism, but I'm still researching those. However, these are no blockers for me, since this PR only expose already existent bugs.

I re-ran the last commit 4 times and the tests passed every time.

Superseeded by https://github.com/CartoDB/carto-vl/pull/744


Add discovery API parameters

Fixes #51
This adds all the parameters supported by the discovery API, except the "domain-specific metadata".
I had to manually figure out which parameters are accepted multiple times and which are not. In addition, it seems that some Socrata instances don't correctly accept repeated fields (only use last value), for example data.cityofnewyork.us (might be due to a reverse-proxy, or a different version of software?)
I am not sure how to add tests for this.

Little friendly bump before the holidays :wink:
Do you need me to make changes? Thanks!

As for unit tests. Take a look at the tests/ directory. The type of tests that I believe need to be added:

Check that an exception is raised if an invalid kwarg is passed.
Check that valid kwargs have the correct type, if not, raise exception


Remove NewuoaMLE, CobylaAM, NLoptAM

These model fitters / acquisition maximizers should all be redundant thanks to OptimizationMLE and OptimizationAM.

The old MLE fitters and AMs have been deprecated in 318636cd21a5a8de1b20d6c67c5e5e79e31dcfe9 for now.

Resolved with a299bba35bff5cf0e3eea98d56a932ca7b11f6a0.


Handling miniseed data

In a phone call yesterday we decided we needed to take some action to deal with a fundamental flaw in obspy's miniseed reader.  For the record the issue is that although the reader can accommodate large files with many seismograms combined it does so with the most memory intensive algorithm possible.   It reads all so a large file can easily generate a memory fault.   It does this because their reader contains an implicit assumption similar but not as bad as SAC;  use the file system to organize data so the expectation is many small files.  As we know that collides badly with hpc system with large disk arrays where performance drops badly with handling large number of files.   In fact, systems like lustre use a database much like we are in MsPASS to simulate a file system.
Long background, but I wanted to introduce this issue for the record.  What we need is a mechanism to build and index with file offset (foff) for any file that can be used to read a file in pieces.   A good model is css3.0 wfdisc that use foff, dfile, dir, and nsamp to index miniseed files.   We don't want to dupllicate wfdisc exactly but it defines the idea of the index we need for MongoDB.
The first step is how to deal with miniseed data?   We have two options:

Patch obspy's reader for our needs.
Write our own lower level reader.

Both solutions will require us to use the miniseed library supported by IRIS DMC in general and Chad Trabant in particular.  The code is on github here.  I am about 99% sure obspy's reader uses this library with some python bindings I haven't sorted out yet.  So, my next step is to reverse engineer obspy's reader to see if we want to just hack their code or start over.   I've actually used Chad's C code before in a reader I wrote for the LIGO people so I don't think this is a particularly horrible problem.   It would be insurmountable if we didn't have access to a library like this.  SEED has been called an (a) abomination and (b) a four-letter word for a good reason.

Dug into obspy's reader a bit and hit something for which I hope you may be know.  The obspy reader's documentation for _read_mseed contains this statement:
mseed_object Filename or open file like object that contains the binary Mini-SEED data. Any object that provides a read() method will be considered to be a file like object.

I've run across that idea of a "file-like object" in python documentation before but do not fully understand what the limits and practical application is.  My leap for a possible implementation from this statement is perhaps we could:

Build an index of dir, dfile, foff, and nbytes defining chunks of data in a large file.
We could then build a MongoDB reader on top of obspy's reader (if I read this right) by doing something like an fread of nbyes data an calling the reader on some memory buffer.

There is an existing solution for item 1 in Antelope.   That is, in a couple hours I could probably cobble together something that would translate a wfdisc to MongoDB documents that define an index.   Problem is building the wfdisc would require running antelope's miniseed2db program, which collides with open source.  In this model I would probably still have to use libmseed to build the indexer.   That should, however, be way simpler than all the complexity I see built into the obspy reader for handling various oddities of seed files.   Then again, once I had to dive into that it might be just as easy to build TimeSeries objects in C++.   Won't know until I dig into this, but a key question is clarifying for me what a 'file-like object' means.

Dug into obspy's reader a bit and hit something for which I hope you may be know.  The obspy reader's documentation for _read_mseed contains this statement:
mseed_object Filename or open file like object that contains the binary Mini-SEED data. Any object that provides a read() method will be considered to be a file like object.

I've run across that idea of a "file-like object" in python documentation before but do not fully understand what the limits and practical application is.  My leap for a possible implementation from this statement is perhaps we could:

Build an index of dir, dfile, foff, and nbytes defining chunks of data in a large file.
We could then build a MongoDB reader on top of obspy's reader (if I read this right) by doing something like an fread of nbyes data an calling the reader on some memory buffer.

There is an existing solution for item 1 in Antelope.   That is, in a couple hours I could probably cobble together something that would translate a wfdisc to MongoDB documents that define an index.   Problem is building the wfdisc would require running antelope's miniseed2db program, which collides with open source.  In this model I would probably still have to use libmseed to build the indexer.   That should, however, be way simpler than all the complexity I see built into the obspy reader for handling various oddities of seed files.   Then again, once I had to dive into that it might be just as easy to build TimeSeries objects in C++.   Won't know until I dig into this, but a key question is clarifying for me what a 'file-like object' means.

I am not familiar with "file like object" neither, but based on my reading, the steps you listed above should work. We should be able to read a chunk of a large SEED file and turn that into a file-like object (probably with the BytesIO class here).

I am not familiar with "file like object" neither, but based on my reading, the steps you listed above should work. We should be able to read a chunk of a large SEED file and turn that into a file-like object (probably with the BytesIO class here).

Dug a bit deeper into the obspy miniseed reader and libmseed.   I conclude:

We do NOT want to mess around with obspy's reader.  It is very complex with some fancy feature light years beyond my experience in python.  It is not at all clear to me how they have bound libmseed into their code though.   It is all in this set of imports:

from obspy import Stream, Trace, UTCDateTime
from obspy.core.compatibility import from_buffer
from obspy.core.util import NATIVE_BYTEORDER
from . import (util, InternalMSEEDError, ObsPyMSEEDFilesizeTooSmallError,
               ObsPyMSEEDFilesizeTooLargeError, ObsPyMSEEDError)
from .headers import (DATATYPES, ENCODINGS, HPTERROR, HPTMODULUS, SAMPLETYPE,
                      SEED_CONTROL_HEADERS, UNSUPPORTED_ENCODINGS,
                      VALID_CONTROL_HEADERS, VALID_RECORD_LENGTHS, Selections,
                      SelectTime, Blkt100S, Blkt1001S, clibmseed)

in the file core.py of obspy.
2.  I am pretty certain that if we could build an index and use something like the BytesIO class you noted above we could read miniseed files one seismogram at a time with an foff value.   Might also be possible to just stuff the bytes into gridfs and index them with MongoDB.   Then a reader could just pull the bytes from Mongo and run obspy's reader to crack the format and convert to working data.  There is a potential gotcha, however, in that miniseed records can be multiplexed.   I am not sure if obspy's reader handles those either.  That is a side issue though.  I think a key thing is to test this reading from with an index with obspy before trying to build a custom indexing program.    Not sure, but I think I might built an index with a wfdisc table and play around with this a bit before I dive too deep into libmseed.
3. libmseed is the final point.  What a beast!   It was trivial to build and run Chad's tests, but how to use the library is really really confusing even with his examples, of which there are a number, as a guide.  When I know more about what I need to ask him I will plan to call Chad for help.

Dug a bit deeper into the obspy miniseed reader and libmseed.   I conclude:

We do NOT want to mess around with obspy's reader.  It is very complex with some fancy feature light years beyond my experience in python.  It is not at all clear to me how they have bound libmseed into their code though.   It is all in this set of imports:

from obspy import Stream, Trace, UTCDateTime
from obspy.core.compatibility import from_buffer
from obspy.core.util import NATIVE_BYTEORDER
from . import (util, InternalMSEEDError, ObsPyMSEEDFilesizeTooSmallError,
               ObsPyMSEEDFilesizeTooLargeError, ObsPyMSEEDError)
from .headers import (DATATYPES, ENCODINGS, HPTERROR, HPTMODULUS, SAMPLETYPE,
                      SEED_CONTROL_HEADERS, UNSUPPORTED_ENCODINGS,
                      VALID_CONTROL_HEADERS, VALID_RECORD_LENGTHS, Selections,
                      SelectTime, Blkt100S, Blkt1001S, clibmseed)

in the file core.py of obspy.
2.  I am pretty certain that if we could build an index and use something like the BytesIO class you noted above we could read miniseed files one seismogram at a time with an foff value.   Might also be possible to just stuff the bytes into gridfs and index them with MongoDB.   Then a reader could just pull the bytes from Mongo and run obspy's reader to crack the format and convert to working data.  There is a potential gotcha, however, in that miniseed records can be multiplexed.   I am not sure if obspy's reader handles those either.  That is a side issue though.  I think a key thing is to test this reading from with an index with obspy before trying to build a custom indexing program.    Not sure, but I think I might built an index with a wfdisc table and play around with this a bit before I dive too deep into libmseed.
3. libmseed is the final point.  What a beast!   It was trivial to build and run Chad's tests, but how to use the library is really really confusing even with his examples, of which there are a number, as a guide.  When I know more about what I need to ask him I will plan to call Chad for help.

I figure out how obspy uses libmseed, but I have no idea how they set this up.   I presume they are doing some magic with their installer to build some external libraries from source code.   For the record, they store a set of compiled libraries in obspy/lib.   The contents of lib are the following on a mac:
__init__.py
__pycache__
libevresp_Darwin_64bit_py36.cpython-36m-darwin.so
libgse2_Darwin_64bit_py36.cpython-36m-darwin.so
libmseed_Darwin_64bit_py36.cpython-36m-darwin.so
libsegy_Darwin_64bit_py36.cpython-36m-darwin.so
libsignal_Darwin_64bit_py36.cpython-36m-darwin.so
libtau_Darwin_64bit_py36.cpython-36m-darwin.so

The python that manages these  is obspy/core/util/libnames.py.   Somehow they create so files that can be loaded dynamically with code in libnames with import.   I think what this means is the authors of obspy built their own binding code to expose these libraries to python.

I figure out how obspy uses libmseed, but I have no idea how they set this up.   I presume they are doing some magic with their installer to build some external libraries from source code.   For the record, they store a set of compiled libraries in obspy/lib.   The contents of lib are the following on a mac:
__init__.py
__pycache__
libevresp_Darwin_64bit_py36.cpython-36m-darwin.so
libgse2_Darwin_64bit_py36.cpython-36m-darwin.so
libmseed_Darwin_64bit_py36.cpython-36m-darwin.so
libsegy_Darwin_64bit_py36.cpython-36m-darwin.so
libsignal_Darwin_64bit_py36.cpython-36m-darwin.so
libtau_Darwin_64bit_py36.cpython-36m-darwin.so

The python that manages these  is obspy/core/util/libnames.py.   Somehow they create so files that can be loaded dynamically with code in libnames with import.   I think what this means is the authors of obspy built their own binding code to expose these libraries to python.

Yes, I take a look too and it actually uses Python's ctype class to directly operate with the dynamic library. This is the line that does the magic. Anyway, we cannot modify ObsPy's code and include it in our repository anyway after we changed our license...


Syntax highlighting for expressions does not match showcase screenshots

Describe the bug
When using the extension, expression syntax (${{ context.value }}) is not highlighted like in README examples.
To Reproduce
Steps to reproduce the behavior:

Open this repo with the extension installed.
Navigate to .github/workflows/release.yml#L50.
Observe that highlighting for expression syntax does not work and treats it as a string.

Expected behavior
The highlighting should match what the showcase screenshots in the README show.

Screenshots
If applicable, add screenshots to help explain your problem.

Extension Version
v0.23.0 (web)
Additional context
Note: I disabled prettier (my only other yaml extension) while testing to make sure this was not caused by another extension.
I know the title specifically says expressions, but this really applies to everything.

@AdamRaichu it's possible this is caused by your color theme not having different colors for the expression syntax highlighting. Does it work if you use a different color theme?

@AdamRaichu did you manually set the mode of the file to YAML? Could you try switching it to GitHub Actions Workflow?

@cschleiden Thank you, that was the problem. I guess the language id was leftover from before I downloaded the extension.


[BUG][IOS] When multiple audio tracks are provided default audio track is not working

Describe the bug
"@jwplayer/jwplayer-react-native": "^1.0.1",
"react-native": "0.72.14"

When providing multiple audio tracks video has absolutely no sound.
After switching to another track sound works but switching back to the default track triggers an 1008 error.
Multiple audio tracks support doesn't have the above issue in Android.
To Reproduce

Use a video that has at least 2 audio tracks.
Play the video.
Observe there is no sound event if the default track is active in the audio tracks menu
Switch to another audio track
Observe it has sound
Switch back to the default track
There is some loader showing and after that an 1008 error.

Expected behavior
Audio tracks should work as in Android. Default track should have sound and when switching back to the default track there should be no error and sound should work.

@fdobre Hey, thank you for reporting this issue. Can you share your player configuration? This can happen if no audio track is designated the default.

@AmitaiB
const memoizedTracks = useMemo<Track[]>(() => {
      const tracks: Track[] = (captions || [])?.map(item => {
        return {
          file: item?.file ?? '',
          label: item?.label ?? '',
          kind: 'captions',
          default:
            (item?.languageCode || '').toLowerCase() === languageCode
              ? true
              : isAndroid
              ? false
              : undefined
        };
      });
      if (thumbnailPreviews) {
        tracks.push({
          file: thumbnailPreviews,
          kind: 'thumbnails',
          label: 'thumbnails'
        });
      }
      return tracks;
    }, [languageCode, captions, thumbnailPreviews]);

    const playlistItem = useMemo(
      () => ({
        image,
        file: hlsUrl,
        tracks: memoizedTracks ?? []
      }),
      [hlsUrl, image, memoizedTracks]
    );

const jwConfig: Config = useMemo(
      () => ({
        license: isIOS
          ? config.jwPlayerIOSLicense
          : config.jwPlayerAndroidLicense,
        enableLockScreenControls: false, // iOS only
        // Having PiP enabled on Android triggers a crash if advertisments (pre-rolls) are also enabled, retest this after JWP update
        pipEnabled: isIOS,
        backgroundAudioEnabled: false,
        autostart: true,
        playlist: [playlistItem],
        styling: {
          menuStyle: {
            backgroundColour: 'rgba(51, 51, 51, 1)',
            fontColor: 'rgba(255, 255, 255, 0.8)'
          },
          colours: {
            timeslider: {
              progress: '#ff1541',
              rail: 'rgba(255, 255, 255, 0.3)'
            }
          }
        },
        advertising: isPremium
          ? undefined
          : {
              adClient: 'vast',
              adSchedule: [{ offset: 'pre', tag: vastTag }]
            },
        landscapeOnFullScreen: true,
        fullScreenOnLandscape: isAndroid,
        portraitOnExitFullScreen: true, // Supported for Android only
        exitFullScreenOnPortrait: isAndroid,
        hideUiGroups: ['casting_menu'],
        hideCastIcon: isAndroid ? true : undefined // We had to add a patch in RN-JWPlayer to hide the cast button
      }),
      [playlistItem, isPremium, vastTag]
    );

Hope this helps. If any other additional info is needed please let me know.


Is there a way to select only a certain day of the week?

Hi,
I'm wondering if there is a funcionality to select only a certain day of the week (for example only the saturday).
This is quite important in my project and I think I've seen that in some other libraries.
Thanks,
Francesco

Did anyone find a solution for this? I'd like to be able to define the working week. Disable weekends is not enough because some countries may work Saturdays or have a 3 day weekend.


Add code block background color to help window

Codecov Report

Merging #55 (99839c8) into master (a304de2) will increase coverage by 0.43%.
The diff coverage is 0.00%.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


ECMWFT data provided by Sentinel-2

Hello,
We have noticed a file AUX_ECMWFT in GRANULE/L1C_T31TDM_A012947_20190829T105030/AUX_DATA within the zip file of a sentinel-2 sat image.
Is there a way to use this file's data as cam data?
Thanks and regards

Hi,
this file does not contain the CAMS information, as far as I know.
Olivier


feat(backgrounds): support for contained backgrounds

This allows us to position images as background decoration, potentially
over color or gradient backgrounds by combining linear gradient and
image backgrounds.

Request for comments: should I add classes that map to the 8 directions for images? like .bg-contained-bottom-right, to put the image in a particular place, rather than inlining that?

Or maybe orthogonal direction classes: bg-contain bg-bottom-right

orthoganal direction classes certainly feel more right to me, but I'm not sure the conventions wrt bootstrap

Hmm. Alright. Easy enough to generate those.

:sheep:


proposal: math: add an IsAlmostEqual function

Proposal
Add an IsAlmostEqual function to the math package.
Justification
Although equating floating-point numbers is generally a bad idea,
sometimes it is necessary.  For example, an iterative square root
algorithm might need an equate to determine when to quit.
Possible Solution
Add something like this function to the math package.
// IsAlmostEqual returns the near equality of 2 float64's based on
// a variable sized window, "nrSteps" big.
// A step's size is the amount by which adjacent numbers differ.
// The step size is based on the larger of the two numbers being compared.
//
// 0 steps requires an exact (generally not what you want) match.
// 1 or 2 steps is a common setting for simple calculations.
// Complicated calculations with many accumulated errors might require more steps.
//
//   Special cases are handled as follows (regardless of parameter order):
//       +Inf, +Inf  ==>  true
//       -Inf, -Inf  ==>  true
//       +Inf, x     ==>  false  (x != +Inf)
//       -Inf, x     ==>  false  (x != -Inf)
//        NaN, x     ==>  false
//
func IsAlmostEqual(a, b float64, nrSteps int) (equal bool) {
    if nrSteps < 0 {
        return false
    }

    // This allows matching infinities to pass.
    if a == b {
        return true
    }

    max := math.Max(math.Abs(a), math.Abs(b))
    stepSize := math.Nextafter(max, math.Inf(+1)) - max // max of either +Inf or NaN ==> NaN
    return math.Abs(a-b) <= float64(nrSteps)*stepSize   // NaN fails
}

Personally I think this this requires too much knowledge of the floating point format to use correctly, and experts who need this function can easily write it themselves.  My opinion could change if the math library for some other language provides a similar function.
In general I feel that this kind of function can be written in several different way, and which way to use requires understanding the algorithm you are trying to implement.  That means that adding one such function to the standard library is an attractive nuisance for people who are not experts.

While it requires some knowledge of floating-point to understand, I don't see it as hard to use.  For example, to see if A and B (both float64's) are almost equal you would write:
    if math.IsAlmostEqual(A, B, 1) { ... }

I did look around about before settling on the implementation I proposed.  Perhaps I didn't look hard enough, but this seemed to be what was used in the overwhelming number of cases I found.
I agree that it can be misused, but that's true of lots of things.  :)  I would argue that the name of the function serves as a fairly strong warning that it isn't the same as "==".

The suspect IsAlmostEqual is is almost never what you want. If you know what you are doing in a numerical algorithm and understand float math, the function most likely does too much or too little and you end up writing your own specialized code anyway. On the other hand, for people unsure about floating point properties, IsAlmostEqual may lure them into a false sense correctness.
I'm not convinced this function carries its weight.

When you say it might do too much or too little, I don't understand.  Could you expand on this or perhaps give examples?
I would argue that == is almost never what you want.  Someone who doesn't understand is probably going to start with ==, then use a fixed delta (ex: 0.000001).  By definition, he isn't going to understand enough to do it correctly.  So he's stuck.
Reference:  Knuth, sec 4.2.2, page 217:  A programmer using floating point arithmetic almost never wants to test if two computed values are exactly equal to each other (or at least he hardly ever should try to do so), because this is an extremely improbably occurrence.

I don't understand some of the points you are making.
Does too much work:  There is but a single if needed to fully handle infinities, and nothing at all for NaN's.  This doesn't seem like too much of a sacrifice to achieve correctness.
Analyzing the properties:  How does someone writing their own routine make this easier?

Testing that abs(x - y) < eps is in fact often enough for the right eps.

That's exactly what this function does.  It's the last line.  The two prior lines determine the right (relative) eps.  Are you suggesting that there is a better of doing this?
Not essential:  I would argue that it's more essential than the floating point ==.  Indeed, an extremest (not me!) might argue that == should not be allowed at all (or at least flagged by vet) for floating point numbers.  This would prevent/fix many bugs.  For those rare times you actually needed an exact equate you could simply use a<=b && a>=b.  :)
I would argue that it is an occassionally needed function.  Since it's not obvious to many programmers how to implement it, they typically use a kludge involving a fixed eps - which is a landmine for refactoring.

What I mean by "too much" is that floating-point algorithms that care about speed will want to do the absolute minimum - no need to deal with infinities or NaNs, and possible compute the epsilon beforehand (e.g. a loop) rather than each time. In my experience with floating-point arithmetic, conditions like this one are often required to determine termination conditions of loops.
I am not disagreeing with you that this is an "occasionally needed" function - but so are many functions. That's not a sufficient criteria for inclusion in a standard library.
Let's have other people chime in here; ideally folks with experience in numerical algorithms. I've simply stated my opinion, others may feel differently and may have concrete evidence to substantiate their claims.

I see your point about calculating the eps once when there's a loop.
Looking forward to seeing usage feedback.

Expanding over this:

floating-point algorithms that care about speed will want to do the absolute minimum

one should also note that the IsAlmostEqual as it was proposed here won't be inlined by the current compiler (because is non-leaf); so good look using it in the termination condition of a tight loop..

Regardless of whether adding this to stdlib is a good idea or not, what is the reason for using the word Almost in IsAlmostEqual? I would expect the function to be called Equal and the signature of the function to define the expected conditions for equality.

Almost is what differentiates it from strict equality.  It allows for limited precision of floating point.

@johnrs
func IsAlmostEqual(a, b float64, nrSteps int) (equal bool) {
func IsEqual(a, b float64, nrSteps int) (equal bool) {
For me the "Almost" adverb removes clarity; the third parameter to the func should clarify the conditions under which a is equal to b. The purpose of nrSteps isn't clear because it requires me to know something floating point representation. In other languages, the IsAlmostEqual functions either have a relative difference parameter (instead of nrSteps) or carry an implementation-defined relative difference . The func name is the same, but semantics differ, and my first impression was "what is nrSteps and why is it an int?".

nrSteps:  OK, I agree that "steps" perhaps isn't a great name, especially because perhaps I didn't define it well enough.  Thus I would change
// A step's size is the amount by which adjacent numbers differ.

to
// A step's size (relative epsilon) is the amount by which adjacent numbers differ.

If that doesn't seem clear enough, then "nrSteps" could be changed to something like "nrRelativeEpsilons".
And I just noticed that I should have said that the window was 2 x "nrSteps" big, since it's double-sided.
Understanding this setting does require some understanding.  I don't think that the function header is a good place for a tutorial on floating point, however.  To make it easier for the average user I did show the common setting (1 or 2 steps).
This setting could be eliminated by locking it down (to 1 or 2), but that would limit the function's use.  What might be best would be to make the setting optional.  Perhaps 2 functions (one with and one without it), or kludge it by making it a variant (expecting just 0 or 1 instances).
The setting is an positive integer because the only window sizes that make sense are integral multiples of the relative epsilon.  You are dealing with mantissa differences of a few bits, and you can't have a fraction of a bit.

If you would like the functionality, gonum has several different versions which use for testing depending on the algorithm.
https://godoc.org/github.com/gonum/floats#EqualWithinAbs
https://godoc.org/github.com/gonum/floats#EqualWithinRel
https://godoc.org/github.com/gonum/floats#EqualWithinAbsOrRel
https://godoc.org/github.com/gonum/floats#EqualWithinULP
and then the slice versions
https://godoc.org/github.com/gonum/floats#Equal
https://godoc.org/github.com/gonum/floats#EqualApprox
https://godoc.org/github.com/gonum/floats#Same

Interesting!  Thanks.

It's too large and complex a question to provide a single solution. Sorry.


ran into error

Hi @ofiryaish ,
thank you and your colleagues for developing this valuable tool for the community.
I'd love to give it a go. But I ran into errors.
The command I used:
'''
java -cp bin SmithWatermanOffTarget.SmithWatermanOffTargetSearchAlign test/mouse.fa test/h82_h65
vs_mouse
4 4 3 1
10
true
23
NGG true
'''
java version: java 21.0.1 2023-10-17 LTS
I tried openjdk17 as well, but the errors remained.
The error I came across:
Saved sequence chr1_1 to file /home/designer/sw/toolkits/SWOffinder/test/mouse_split/chr1_1.txt
...
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 1
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
...
I hope this is enough for you to help me figure out the underlying cause of this error.
Thanks a lot.

Hi @Huanle
Thank you for trying to use the tool.
If you provide me with the complete error log, I might figure out where the error occurred. Could you do that, please?
In addition, if you can and want, please share the sgRNA list (test/h82_h65) and the genome reference (test/mouse.fa) or part of it if it is too big (to understand its format). You can also send it privately to<EMAIL_ADDRESS>I will also try to add an example of a simple run using the tool in the following days.
Thank you again for raising this,
Ofir

Hi @ofiryaish ,
Thanks a lot for your prompt response.
We found that this error was caused by the gRNA list file name without a '.' in it.
After renaming h82_h65 to gRNA.txt. It worked.
So maybe you would love to slightly modify the relevant codes to avoid such kind of failures.
Thanks again.

@Huanle
Thank you for your update. I will look into what can be done so that other users don't encounter this problem again.
Please let us know if you encounter other problems, and thank you again for letting us know!


Update MI Credential

Updates MI cred instance discovery flow.

API change check
API changes are not detected in this pull request.


Readme Updates

The following are some of the things which I think can be added to the Readme-

Setting of correct system time before running the scripts. Reported in #30

Downloading of yasm package during Ffmpeg installation fails on certain networks. Maybe a note can be added to check if the download starts on this link - www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz before running the opencvDirectInstall script
Since it becomes quite messy to clean-up afterwards

A few customization instructions can be added such as if someone requires specific versions of OpenCV or Tensorflow. It will be mentioned that the scripts haven't been tested with other versions and it's their own risk

Some users exit the running script if a certain step takes too long without any output. If there are any such steps or longer downloads, then please report them and those steps maybe can be excluded from execute

Change supported Ubuntu distros from 14.04 & 16.04 to 16.04 & 18.04.
Travis job for 18.04 OpenCV can be added

Update Programs installed list

Leaving this issue open for further updates, additions required or requested

Closing this since changes have been made, new PRs or issues can be made for further updates
Issue can be reopened if needed


algorithm

The general education requirement will be found, the algo will find best teachers for each requirement. The algo will take into account the weight of others. The goal is to find best courses/teachers for a student. The weight will based off for now the rating of the teacher (number of ratings may affect it later on).
Plans for using dijkstra's algorithm to find teachers in the same department and find courses in pathway with best weight. Each graph will contain a department's courses, each node containing the teacher and the connections are the weights. The nodes that connect with the most weight, will be returned for that GE requirement.

I am not sure why we cant just get the GE requirement, and return the teacher with the highest rating in that course requirement. Since courses fuffill many GE requirements, isnt it gonna be kind of messy.

algo is for series of classes, map for each series of classes
hopefully saves time instead of iterating for each professor for highest rating
for one off classes, we just find highest rating

change to model, we will have this a WIP, for later, and have this for when we get GE requirements/major requirements working
we could not get GE requirements because of PDF permission issues.


Feature request: 'MAKE RECURRING' functionality.

Search first

[X] I searched and no similar issues were found

What Happened?
See pic. An awesome, and basic feature that would vastly improve use-ability is setting recurring, same-name tasks, via selection of days in calendar.

Reproduce the Bug

Go to the plugin
Select several days
Click one of them
Try to create the tasks
Get the error of not being able to.

Screenshots
No response
Environment Information
No response
Additional Context
No response
Are you willing to submit a PR? If you know how to fix the bug.

[X] I'm willing to submit a PR (Thank you!)

You can switch another project

In addition, Agenda3 supports native recurring tasks in logseq and is currently being tested.
This is thedocument.


Where are Scripts saved/stored?

In the next documentation:
https://docs.microsoft.com/en-us/office/dev/scripts/overview/excel
It explains that the scripts can be saved, where are the scripts stored? is it the same Git Hub options as ScriptLab?, I need to know If I don't necessarily need a Git Hub account before asking my It Admin to enable the Automate Ribbon option

Hi @onRubik,
Scripts are stored in your OneDrive. There's a section in that article that mentions that, but I'll look into making that more clear.

thank you much


Update the compat version with ControlSystems

Seems to be some testing errors from using it with ControlSystems 0.9, but otherwise it seemed to work fine for some small manual tasks I had.

It seems that some of the test failures are due to a change in sympy not yet taken care of by SymPy.jl
PyError ($(Expr(:escape, :(ccall(#= /home/fredrikb/.julia/packages/PyCall/tqyST/src/pyfncall.jl:43 =# @pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, pyargsptr, kw))))) <class 'TypeError'>
  TypeError("replace() got an unexpected keyword argument 'simultaneous'")
    File "/home/fredrikb/.local/lib/python3.8/site-packages/sympy/simplify/simplify.py", line 573, in simplify
      expr = expr.replace(


Track the airflow operator error in benchmark

Description
Keep track of the GCS result file if an error occurs on any run and at the end of execution print these error result file paths and exit with error code 1. Also changed while loop to for loop since pipe run the commands in the new process so it was difficult to update the global variable error_code to track the error.
What is the current behavior?
The Benchmark job is green even if the operator has failed since we silently ignore the error and run of the next dataset and database. https://github.com/astronomer/astro-sdk/blob/main/python-sdk/tests/benchmark/run.sh#L79

What is the new behavior?
CI will still run for all the databases and datasets but it will fail if the operator will fail and print the GCS log path in CI
Does this introduce a breaking change?
No
Checklist

[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

@pankajastro are you still working on this ticket? It seems the benchmark job failed in the CI

yes, @tatiana will check and fix it today


Why does Microsoft.Data.SqlClient.SNI.dll get published under runtimes folder?

I have a .net core 5 library project (using VS2019) for my data layer which includes the following nuget packages:
Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.8"
Microsoft.EntityFrameworkCore.Tools" Version="5.0.8"
When I build/publish my solution, I notice a "runtimes" folder with the following files underneath:
win-x64\native\Microsoft.Data.SqlClient.SNI.dll
win\lib\netcoreapp3.1\Microsoft.Data.SqlClient.dll
win\lib\netstandard2.0\System.Runtime.Caching.dll
win\lib\netstandard2.0\System.Security.Cryptography.ProtectedData.dll
Why is this? Is it because I am doing something wrong (like not including a package, etc)? If I remove any of the above files from my deployed folder, I run into errors at runtime. What do I need to do so that at runtime, there is no dependency on these files under "runtimes" folder?
Note we did not face this issue when using EF6. But now that we are migrating to .NetCore ( & using EFCore), we are forced to deploy these files under runtimes folder. We are therefore forced to change our build scripts because of this.  I was told that this native library shipped with .NET Framework but does not ship with .Net Core. Hence the issue. Please include these native libraries to .NetCore so that we do not have to deploy these files under runtimes folder.

Note: this was already addressed here: https://github.com/dotnet/efcore/issues/26175. Further discussion should go to dotnet/SqlClient.

This issue is not really addressed. Until Microsoft.Data.SqlClient is made fully managed,  dotnet core should include this native library ( just like  .Net Framework includes this native library) so as not break our existing build&deployment scripts.

@geetmenon .NET Core does not work like this. It is not a monolithic framework. You are supposed to pull the parts you need into your application and deploy them with your application.


Add Markdown Document Link Provider To Support Local Links

Fixes #3771
Adds a markdown document link detector to detect any type of markdown link. Currently, local links like [abc](./xyz) are not supported.
This change allows navigating between markdown editor documents using these local links
Todo:

Make /file links relative to workspace root?

FYI @gregvanl Makes browsing the vscode docs nicer in the editor:


Add a sample testing model

@pskrunner14 do you have the smaller number model somewhere?

@pskrunner14 do you have the smaller number model somewhere?

Couldn't find it. Will train another and update asap

better, try setting up a script to use aspire model from here

Added after edee65142fb6b732f172c17b66a08906a73f75a5


Use custom di-ruby-lvm-attrib

Use custom di-ruby-lvm-attrib gem.

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@MMatten

Please sign the CLA here.

Oooops. This was meant to be on my own fork! Apologies.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.


Fixed 3speak videos don't play in fullscreen

What does this PR?
This PR fixes #2342 issue in which 3speak videos do not go to fullscreen after tapping fullscreen. This bug was happening on android side as webview was causing this issue.
react-native-webview offers a prop allowsFullscreenVideo which activates the fullscreen feature but that leads to another bug. The 3speak videos after going to fullscreen and coming back to normal it opens in picture in picture which causes a weired experience as it got stuck at some random position.
The solution I had implemented is that instead of passin uri to webview I had passed uri to iframe in html in webview which solves that glitch.
Issue number
fixes #2342
Screenshots/Video
https://user-images.githubusercontent.com/48380998/172441884-bc3e235b-44c7-44bf-9a1c-9f507683aeb4.mp4

the video goes to full screen but if device's orientation is locked, the fullscreen video does not support landscape mode... another thing I noticed is, the setIsFullScreen state is only linked with youtube...
at-least the video should go horizontal fullscreen even if device orientation is locked..for confirmation I tried 3Speak video playback in mobile browser and it supported landscape fullscreen even when device orientation is locked.
We will be working a lot in support of video posts in coming future, so it's better make video playback experience smooth as possible before we get to that.

@noumantahir actually there is no direct way to detect wether video is in fullscreen or not in react-native-webview so as we are locking the orientation and unlock only when isFullScreen is true, so in the case of webview we can't unlock the orientation lock


Spatial query doesn't work

Trying to find point, which exists in DB, but getting throwTypeError in complete or success of promise.
Please see query below.
destinations.find({location: {
$near: {
$geometry:{
type: "Point",
coordinates: [-73.98460900000001,40.762125]
},$maxDistance : 1000
}
}}).on('success', function (err,docs) {
if (err) throw err;
return reply(docs);
});

Found fix, which works fine. I think issue can be closed, unless you want to support previous api/method
destinations.find({"location": {
$near:  [-73.98460900000001, 40.762125],
$maxDistance:1/69
}}).on('success', function (docs) {
//if (err) throw err;
return reply(docs);
});


Problems with Assigning IPV6 SingleIP, RemoteAddresses issue with IPV6

Thanks for prior issue help.
I am trying to assign a SingleIP IPV6 address to Rule.RemoteAddresses.
Although it appears it may work, at some point when the joined string array is applied in StandardRule.cs to UnderlyingObject.RemoteAddresses something, presumably NetFwTypeLib, changes the single IPV6 address into a range.
For example:
2607:fea8:4260:31a::9
becomes
2607:fea8:4260:31a::9-2607:fea8:4260:31a::9
This creates a problem when you subsequently try to read and return Rule.RemoteAddresses later because IPRange.parse doesn't recognize the single IP range, and SingleIP also doesn't recognize what appears to be a range.  As a result it simply doesn't get returned in the list of IPaddresses from Rule.RemoteAddresses.
Here's a small console app that should demo the problem more clearly (I hope). Note I am using the latest code you have here as of Nov 24 rather than the released Nuget version which also has some problems with IPV6 you already fixed yesterday.
`using System;
using System.Collections.Generic;
using System.Linq;
using WindowsFirewallHelper;
namespace AddressTest
{
class Program
{
static void Main(string[] args)
{
setRemoteAddresss();
Console.WriteLine("Press any key to end.");
var c = Console.ReadKey();
}
    static void setRemoteAddresss()
    {
        var RuleName = "Remote Desktop - User Mode (TCP-In)";
        var objRule = (from obj in FirewallManager.Instance.Rules where obj.Direction == FirewallDirection.Inbound && obj.Name == RuleName orderby obj.Name select obj).FirstOrDefault();

        List<IAddress> NewIPs = new List<IAddress>();
        List<string> iplist = new List<string> { "2607:fea8:4260:31a::9" };

        foreach (var iptext in iplist)
        {
            NewIPs.Add(WindowsFirewallHelper.Addresses.SingleIP.Parse(iptext));
        }

        Console.WriteLine("Assigning these RemoteAddresses:");
        foreach (var objIP in NewIPs)
        {
            Console.WriteLine(objIP.ToString());
        }
        objRule.RemoteAddresses = NewIPs.ToArray();

        Console.WriteLine("RemoteAddresses actually assigned:");
        var assignedIPs = objRule.RemoteAddresses;
        foreach (var objIP in assignedIPs)
        {
            Console.WriteLine(objIP.ToString());
        }

        return;
    }
}

}
`

This was a strange behavior on the Windows Firewall API part. Grab the latest version in which I solved it with correctly identifying IP ranges containing only one IP address as an instance of SingleIP.

Excellent - Thanks for the super-fast turnaround.
Have installed and tested and its working great.


Backpressure when streaming athena results

Hi,
Thanks for putting this library together, as the recommended library on AWS' own docs (athena-express) has no built in support for streaming results.
One issue I'm running into is that when streaming results, the operations I'm performing on them are significantly slower than the rate at which the data is being streamed in. The data then buffers until I've exceeded the maximum number of allowed memory mapped locations (at an operating system level). Is there a way using this library at the moment to be able to restrict how quickly the data is being streamed in, based on the number of  data events that have been successfully processed?

The highWaterMark setting in nodejs streams would solve this issue but the underlying AWS SDK does not appear to provide the ability to set this property.
In absence of that I've instead implemented my own throttling using the handler in the data event.  I'm checking the number of data items I've 'queued' downstream (total passed in subtract the number successfully processed), and when that queued number passes a certain point, call stream.pause(). Once the queued count drops below the threshold, call stream.resume().
This seems to have solved the problem for me.
Because this functionality/setting is missing in AWS' underlying library, feel free to close the issue if this is the wrong level of abstraction to deal with this problem


Improve error handling for invalid SDK

Currently if SDK is invalid (i.e., SDK does not get downloaded properly, or SDK URL is invalid) and wget does not return error, the program will proceed and fail at a later stage - test compilation. At that time, the error can be misleading. (i.e., /home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image//bin/java: Syntax error: word unexpected (expecting ")"))
I think we should improve the error handling for invalid SDK.

make sure we can find java executable
run a java -version to verify it is ok

If there is an error, then there is no point to proceed.

#384 enhanced the SDK download error handling.
In AdoptOpenJDK builds function printJavaVersionString() is to check java -version. Only when it succeeds build SDK will continue and mark as succeed.
It would be better for openj9 build to do same thing.
BTW just realized that error in grinder build was caused by running arm32 sdk on arm64 platform as we currently do not have arm32 test machine.

Close this issue as we do not use wget anymore.


[Snyk] Upgrade react from 16.13.1 to 16.14.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade react from 16.13.1 to 16.14.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 3 years ago, on 2020-10-14.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Sorry i think i created these by accident.


deprecation(cxx_indexer): remove deprecated completes edges

Looks like the schema tests need to be updated as well.


warning [M0155], operator may trap for inferred type Nat

Hi,
Using dfx 0.11.0 with TrieSet I got following warning which seems to me unjustified.
WARN: .cache/dfinity/versions/0.11.0/base/Trie.mo:244.37-244.42: warning [M0155], operator may trap for inferred type   Nat

Code sample playground


ExpansionTile subtitle should have the same color as ListTile subtitle

Steps to Reproduce

Add ExpansionTile and ListTile with the exact same contents of title and subtitle in one list and compare

Expected results:
There should be no difference in both ExpansionTile and ListTile.
Actual results:
As you can see, there is a color difference between both of them.

Logs

$ flutter analyze
Running "flutter pub get" in stepslow...                            2,0s
Analyzing stepslow...

warning • 'avoid_escaping_inner_quotes' is not a recognized lint rule •
       analysis_options.yaml:18:7 • undefined_lint_warning
warning • 'avoid_redundant_argument_values' is not a recognized lint rule •
       analysis_options.yaml:28:7 • undefined_lint_warning
warning • 'leading_newlines_in_multiline_strings' is not a recognized lint rule
       • analysis_options.yaml:68:7 • undefined_lint_warning
warning • 'missing_whitespace_between_adjacent_strings' is not a recognized lint
       rule • analysis_options.yaml:74:7 • undefined_lint_warning
warning • 'no_logic_in_create_state' is not a recognized lint rule •
       analysis_options.yaml:77:7 • undefined_lint_warning
warning • 'no_runtimeType_toString' is not a recognized lint rule •
       analysis_options.yaml:78:7 • undefined_lint_warning
warning • 'unnecessary_raw_strings' is not a recognized lint rule •
       analysis_options.yaml:151:7 • undefined_lint_warning
warning • 'unnecessary_string_escapes' is not a recognized lint rule •
       analysis_options.yaml:153:7 • undefined_lint_warning
warning • 'unnecessary_string_interpolations' is not a recognized lint rule •
       analysis_options.yaml:154:7 • undefined_lint_warning
warning • 'use_key_in_widget_constructors' is not a recognized lint rule •
       analysis_options.yaml:160:7 • undefined_lint_warning
warning • 'use_raw_strings' is not a recognized lint rule •
       analysis_options.yaml:161:7 • undefined_lint_warning

11 issues found. (ran in 14.7s)

$ flutter doctor -v
[✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Linux, locale cs_CZ.UTF-8)
    • Flutter version 1.12.13+hotfix.9 at /home/pavel/flutter
    • Framework revision f139b11009 (4 weeks ago), 2020-03-30 13:57:30 -0700
    • Engine revision af51afceb8
    • Dart version 2.7.2

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /home/pavel/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling
      support)
    • Platform android-29, build-tools 29.0.3
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[!] Android Studio (version 3.6)
    • Android Studio at /opt/android-studio
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)

[✓] Connected device (1 available)
    • HUAWEI CAM L21 • LHTDU16A22004756 • android-arm64 • Android 6.0 (API 23)

! Doctor found issues in 1 category.

Flutter 1.17 also affected

master 1.20.0-3.0.pre.163

import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(home: MyApp()));

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        body: ListView(
          children: [
            ExpansionTile(
              title: Text('title'),
              subtitle: Text('subtitle'),
            ),
            ListTile(
              title: Text('title'),
              subtitle: Text('subtitle'),
            ),
          ],
        )
      ),
    );
  }
}

The behavior in ExpansionTile is because of  ListTileTheme.merge used to wrap the ListTile in order to animate the text color based on ExpansionTile state. Since it uses ListTileTheme, the ListTile default color for subtitle is ignored.
Check here
https://github.com/flutter/flutter/blob/38fe887342f6c6bf40dd2c25442b892644e11a39/packages/flutter/lib/src/material/expansion_tile.dart#L229
@shihaohong I don't see a way around to this until we don't apply ListTileTheme.textColor to all texts. We may need to have two different color properties in ListTileTheme for title and subtitle.

Fixing this issue would also be a breaking change since the default subtitle color would change if we were to proceed with aligning the two subtitle text colors.

It seems like "expansion panels" are now deprecated as they appear in the archive.
However, there's an updated section under lists with list tiles and there's a "collapsed & expanded" section, but it only has a single line item, so there's no direct example.
I think it's safe to assume that it would be better if both subtitle colors were aligned, but it would be a pretty breaking change so I'm not sure if it is worth bringing the two values together.

I had the same doubt whether it follows the Material Specs or not, and whether we should do change or not. Thanks for the clarification.

I am able to reproduce it on stable 3.0.1 and the master channel, The subtitle colors do not match

flutter doctor -v (mac)
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.3 21E230 darwin-arm, locale en-IN)
    • Flutter version 3.0.1 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (3 days ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin
        usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.66.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android 11 (API 30)
    • iPhone 12 Pro (mobile) • 19FD0231-BFF0-441D-B584-AD94C4084525 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.3 21E230 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 101.0.4951.64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 3.1.0-0.0.pre.1008, on macOS 12.3 21E230 darwin-arm, locale en-IN)
    • Flutter version 3.1.0-0.0.pre.1008 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c2cc31b198 (26 hours ago), 2022-05-30 05:23:08 -0400
    • Engine revision 05efd25f05
    • Dart version 2.18.0 (build 2.18.0-151.0.dev)
    • DevTools version 2.13.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-32, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin
        usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.66.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.40.0

[✓] Connected device (4 available)
    • sdk gphone arm64 (mobile) • emulator-5554                        • android-arm64  • Android 11 (API 30)
      (emulator)
    • iPhone 12 Pro (mobile)    • 6AE1D692-DB57-4C3E-ADCA-66842182426B • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)           • macos                                • darwin-arm64   • macOS 12.3 21E230
      darwin-arm
    • Chrome (web)              • chrome                               • web-javascript • Google Chrome
      102.0.5005.61

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.


A friendly gift from hugbot: I fixed a few typos

I found some typos in your README. I fixed them, I hope this helps.
I scanned this repository after @pistenprinz requested it on Twitter.

This PR was created (automatically) by @hugbotme with :heart: and :dizzy:
Hugbot is still quite young, a lot to learn he has (like speling).

Much appreciated, but the suggestions were wrong :)