New version, updating component state cursor

Hi there,
Sorry to not have looked into this first, but I am on the train and will first be able to check it out tomorrow :-)
var React = require('react');
var Baobab = require('baobab');
var tree = new Baobab({
  admin: {
    items: []
  }
}, {
  mixins: [React.addons.PureRenderMixin],
  shiftReferences: true
});

// Pointing to the cursor like this does _not_ update the component
var Parent = React.createClass({
  mixins: [tree.mixin],
  cursor: ['admin'],
  render: function () {
    return (

          {this.state.cursor.items.map(function (item) {
            return
{item}

          })}

    );
  }
});

// But this works :-)
var Parent = React.createClass({
  mixins: [tree.mixin],
  cursor: ['admin', 'items'],
  render: function () {
    return (

          {this.state.cursor.map(function (item) {
            return
{item}

          })}

    );
  }
});

// But this does _not_ work either
var Parent = React.createClass({
  mixins: [tree.select('admin').mixin],
  cursor: ['items'],
  render: function () {
    return (

          {this.state.cursor.map(function (item) {
            return
{item}

          })}

    );
  }
});

There seems to be a requirement to point directly to a value for it to understand the updates. Again, I am sorry not to have looked more into this. I will check it out tomorrow, just thought I would mention it.
Otherwise, this is looking spectacular :-D

Yes, you are right indeed. This is because the admin reference was not shifted, only the items one. Would the react update addon shift its reference in this kind of case?
Concerning the third case, in cannot work because you are using a cursor mixin and the cursor mixin does not make any use of the cursor property.

Need to check here but I think react updates only alter top-level references. Furthermore, I think there is a problem when using the PureRenderMixin here with tree-level cursors mixins since the check performed is shallow.

Hi again,
Yeah, this is the issue. Check out this bin. It does change the reference of parent objects/arrays up the tree.
Sorry this got lost in the discussions, but yeah, it is kind of important :-)

I saw in the source code you have some parent references? So I guess it is doable? :-)

This also gives a nice correlation with the update events. It both updates the reference and triggers and update even.

Hello @christianalfoni, I just committed a fix (well, I hope it is). Can you tell me if this works for you so I can release a patch if this works?

Hi @Yomguithereal,
I have done some simple tests and it looks great! I will be able to integrate this in a larger project on monday, to really test it. But I would say this is working :-)
What I really like about this is that the API has become even smoother. You just use a cursor mixin and you got the values on your state. It is really great!
I am finishing up my article on this and will publish it next week after testing it in the larger project. I also have an article ready for codementors.com that mentions Baoabab. I think this is a great contribution to the evolving flux community. Fantastic job! :-)


How to add interactivity

Hello,
This is most likely user error, but I can't figure out how to add interactivity to my source?style? Not sure how to get started.
Gabriel

That link seems broken now. Is viewing the markdown in the PR the only option now?

See here: https://www.mapbox.com/guides/style-quickstart/#utfgrid

That's great, thanks!

I get the feeling I am just overlooking something simple, but I don't see a project.yml file. My .tm2source directory has only a data.yml file, which does not have an "interactivity_layer:" parameter.
I tried adding it anyway, but that does not seem to have worked.
Any suggestions?
Thanks.

@galkamax - You'll find the project.yml and interactivity_layer in the map style directory's .tm2 folder. The UTFgrid is defined by map style instead of in the data source which is the .tm2source directory.

Completely missed that there were two directories. Thanks a lot for the quick response.


improve wallets connect

improve wallets connect

Connect wallet only when clicking on a specific wallet extension
Allow to switch wallets with a menu selection
Allow to disconnect wallets
Deconstruct and rename staking constant
Move RPC constant to env NEXT_PUBLIC_PROVIDER_URL

Screenshot

I just noticed the target branch isn't main. Can you update that?


add swap fee apr to selected relic apr

For a individual (selected) relic apr the swap fee apr should be added to it too.

This should actually be done in the backend, wouldn't do this here. pinging @franzns

The APR that is returned currently is the "native" beets APR per level. The swap fee APR is attached to the pool entity. Changing it in the backend would mean to change the APR per level to the same/similar schema that we have for the pool to be able to differentiate between swapAPR and nativeRewardApr:
type GqlReliqLevelApr {
    apr: GqlPoolAprValue!
    swapApr: BigDecimal! # we make the assumption swap apr will never have a range
    nativeRewardApr: GqlPoolAprValue!
}

where swapApr would be identical for each level. Does that make sense?


Add a curl request example.

Add a curl style example for this PathOperationCompoment. LIke most swagger-uis had. For example, the pets/findByTags should have a example like "curl -XGET http://localhost/pets/findByTags?tags=adroable".

Hi, would you like to create a PR?


VoyagerX.Vrew version 0.8.17

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

You need to commit this suggestion https://github.com/microsoft/winget-pkgs/pull/19756#discussion_r663494048


Forecasting beyond 10 days

There's seems to be some default setting that won't allow a forecast beyond 10 days. I've tried identifying where in the code that might be and have not been able to find the spot.
Anyone successfully do this or know where to point me for fixing it?

Take a look at rollout.chunked_prediction. It takes a targets_template that defines how many outputs to generate. If you give it a template with more outputs it'll generate more outputs. You can generate as many as you want (months?), but don't expect it to generate predictions that are good much beyond 10 days. At some point it'll generate worse predictions than climatology, but I'm not sure when that is. If you want to evaluate it you'll obviously also need to get real data (from ERA5 or HRES) as we haven't included more than 10 days of example data.

Hello, I'd like to ask how you made the prediction within ten days. I entered 20 time data, but starting from the third data, the prediction is compared with the original data. I want to predict the time after 20 data. What should I do? If you know, please tell me, thank you.

If you check out the #32 and #56 I expect this is your same issue. It has to do with where the inputs are extracted from the example data.

Hello, I'd like to ask how you made the prediction within ten days. I entered 20 time data, but starting from the third data, the prediction is compared with the original data. I want to predict the time after 20 data. What should I do? If you know, please tell me, thank you.

If you check out the #32 and #56 I expect this is your same issue. It has to do with where the inputs are extracted from the example data.

Thank you. I think I understand a little. I will make changes in an aligned way. Thank you very much for your advice.

Hello, I'd like to ask how you made the prediction within ten days. I entered 20 time data, but starting from the third data, the prediction is compared with the original data. I want to predict the time after 20 data. What should I do? If you know, please tell me, thank you.你好，我想问一下你是如何在十天内做出预测的。我输入了 20 个时间数据，但从第三个数据开始，将预测与原始数据进行比较。我想预测 20 个数据之后的时间。我该怎么办？如果你知道，请告诉我，谢谢。

If you check out the #32 and #56 I expect this is your same issue. It has to do with where the inputs are extracted from the example data. ❗ 🔄

Hi, I'm sorry to bother you again. I operate on the data in a left aligned and right aligned manner. I use data from 1 to 20, and the training and evaluation steps are both 4. Left aligned, the predicted data are 3, 4, 5, and 6. Right aligned, the predicted results are 17, 18, 19, and 20. If I want to predict 21, 22, 23, and 24, what should I do? Thank you in advance

You need to generate a targets_template of the correct size. It can be filled with nans, but needs to be bigger than what you're currently passing in. You'll also need to generate the matching forcings.

You need to generate a targets_template of the correct size. It can be filled with nans, but needs to be bigger than what you're currently passing in. You'll also need to generate the matching forcings.

Thank you very much for your help. I will make adjustments as you said and express my thanks again.

Take a look at rollout.chunked_prediction. It takes a targets_template that defines how many outputs to generate. If you give it a template with more outputs it'll generate more outputs. You can generate as many as you want (months?), but don't expect it to generate predictions that are good much beyond 10 days. At some point it'll generate worse predictions than climatology, but I'm not sure when that is. If you want to evaluate it you'll obviously also need to get real data (from ERA5 or HRES) as we haven't included more than 10 days of example data.

Timo, when you say it will generate worse error than climatology, does the error ever settle into a climatological plateau or does it grow forever?

Hi, I have a doubt, if i have my input as 1/1/24 06:00  and 1/1/24 12:00  and my targets are from  1/1/24 18:00  to 1/2/24 12:00 (TARGET SIZE OF FOUR) and i have the forcings of the following, can i iteratively use the outputs and successfully predict so on for a year?

Are you saying you want to do a one year forecast? That is possible, but
you need to create a target that is one year long. You can concatenate many
targets together to accomplish this. If there is no training, then it
doesn’t matter what they are as long as they are the right dimensions.
On Tue, Sep 10, 2024 at 01:06 Rohit P Suresh @.***>
wrote:

Hi, I have a doubt, if i have my input as 1/1/24 06:00 and 1/1/24 12:00
and my targets are from 1/1/24 18:00 to 1/2/24 12:00 (TARGET SIZE OF FOUR)
and i have the forcings of the following, can i iteratively use the outputs
and successfully predict so on for a year?
—
Reply to this email directly, view it on GitHub
https://github.com/google-deepmind/graphcast/issues/63#issuecomment-2339957156,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEAXI3RD37YH4UZY2CZHJITZV2SBRAVCNFSM6AAAAABDSOJJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZZHE2TOMJVGY
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Correct, but I'll also have to generate the corresponding forcings which will take a huge amount of time, right?

No. It’s very quick. The model creates all necessary forcing during the
extract_input_target_forcing function. So if you specify a forecast of 40
steps (10 days), it makes all the needed forcings then.
Be aware that Graphcast has been shown to go unstable after 45 days-ish.
On Wed, Sep 11, 2024 at 04:13 Rohit P Suresh @.***>
wrote:

Correct, but I'll also have to generate the corresponding forcings which
will take a huge amount of time, right?
—
Reply to this email directly, view it on GitHub
https://github.com/google-deepmind/graphcast/issues/63#issuecomment-2343342606,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEAXI3XNJRVU4S24V44HVITZWAQT7AVCNFSM6AAAAABDSOJJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBTGM2DENRQGY
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

I have managed to generate the forcings quickly but when i try to run my prediction model for 4 steps, the kernel always crashed. Is there something I can do to optimise my code?

2024-09-23 11:07:11.281222: E external/xla/xla/service/slow_operation_alarm.cc:65] Constant folding an instruction is taking > 1s:
%add.675 = s32[3114720]{0} add(s32[3114720]{0} %broadcast.2435, s32[3114720]{0} %constant.620), metadata={op_name="jit()/jit(main)/while/body/mesh2grid_gnn/_process/mesh2grid_gnn/_process_step/mesh2grid_gnn/add" source_file="/data4/home/rohitsuresh/graphcast/graphcast/typed_graph_net.py" source_line=142}
this is the error i get

Which grid and vertical resolution model are you using? What kind of GPU
are you trying to run it on?
On Mon, Sep 23, 2024 at 06:22 Rohit P Suresh @.***>
wrote:

2024-09-23 11:07:11.281222: E
external/xla/xla/service/slow_operation_alarm.cc:65] Constant folding an
instruction is taking > 1s:
%add.675 = s32[3114720]{0} add(s32[3114720]{0} %broadcast.2435,
s32[3114720]{0} %constant.620),
metadata={op_name="jit()/jit(main)/while/body/mesh2grid_gnn/_process/mesh2grid_gnn/_process_step/mesh2grid_gnn/add"
source_file="/data4/home/rohitsuresh/graphcast/graphcast/typed_graph_net.py"
source_line=142}
this is the error i get
—
Reply to this email directly, view it on GitHub
https://github.com/google-deepmind/graphcast/issues/63#issuecomment-2368231960,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEAXI3ROYLCWBZH3DL2YE4LZYAIZXAVCNFSM6AAAAABDSOJJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRYGIZTCOJWGA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Its an nvidia a100 with 40gb ram and Im using the GraphCast_operational-ERA5-HRES_1979-2021-resolution_0.25-pressure_levels_13-mesh_2to6-precipitation_output_only.npz

This is what my inputs, targets and forcings look like before i convert them  to xarrays

Hi, i was able to run it finally, but it took 20 minutes to make the predictions for 4 steps. Is this normal or can it be made faster?

That's still very slow. With an a100 you should be able to do 4 steps in
30-40 seconds. Do you have the cuda-enabled version of jax in your
activated environment? I bet this is the problem and it is failing back to
CPU.
https://jax.readthedocs.io/en/latest/installation.html
On Mon, Sep 23, 2024 at 19:35 Rohit P Suresh @.***>
wrote:

Hi, i was able to run it finally, but it took 20 minutes to make the
predictions for 4 steps. Is this normal or can it be made faster?
—
Reply to this email directly, view it on GitHub
https://github.com/google-deepmind/graphcast/issues/63#issuecomment-2369991654,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEAXI3U4KBGGNZNA35QVFQTZYDFYZAVCNFSM6AAAAABDSOJJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRZHE4TCNRVGQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

jax definitely uses my gpu. When i run gpustat, it shows that I'm currently
using the gpu.
On Tue, Sep 24, 2024 at 11:08 AM Tre @.***> wrote:

That's still very slow. With an a100 you should be able to do 4 steps in
30-40 seconds. Do you have the cuda-enabled version of jax in your
activated environment? I bet this is the problem and it is failing back to
CPU.
https://jax.readthedocs.io/en/latest/installation.html
On Mon, Sep 23, 2024 at 19:35 Rohit P Suresh @.***>
wrote:

Hi, i was able to run it finally, but it took 20 minutes to make the
predictions for 4 steps. Is this normal or can it be made faster?
—
Reply to this email directly, view it on GitHub
<
https://github.com/google-deepmind/graphcast/issues/63#issuecomment-2369991654>,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/BEAXI3U4KBGGNZNA35QVFQTZYDFYZAVCNFSM6AAAAABDSOJJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRZHE4TCNRVGQ>

.
You are receiving this because you modified the open/close state.Message
ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/google-deepmind/graphcast/issues/63#issuecomment-2370234476,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWGHF3ZNE6AEDOAZL54CKOLZYD3E5AVCNFSM6AAAAABDSOJJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZQGIZTINBXGY
.
You are receiving this because you commented.Message ID:
@.***>

If that’s the case, then I do not know what the problem is. Maybe try a
verbose log file for more details. Good luck.
On Tue, Sep 24, 2024 at 03:13 Rohit P Suresh @.***>
wrote:

jax definitely uses my gpu. When i run gpustat, it shows that I'm
currently
using the gpu.
On Tue, Sep 24, 2024 at 11:08 AM Tre @.***> wrote:

That's still very slow. With an a100 you should be able to do 4 steps in
30-40 seconds. Do you have the cuda-enabled version of jax in your
activated environment? I bet this is the problem and it is failing back
to
CPU.
https://jax.readthedocs.io/en/latest/installation.html
On Mon, Sep 23, 2024 at 19:35 Rohit P Suresh @.***>
wrote:

Hi, i was able to run it finally, but it took 20 minutes to make the
predictions for 4 steps. Is this normal or can it be made faster?
—
Reply to this email directly, view it on GitHub
<

https://github.com/google-deepmind/graphcast/issues/63#issuecomment-2369991654>,

or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/BEAXI3U4KBGGNZNA35QVFQTZYDFYZAVCNFSM6AAAAABDSOJJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRZHE4TCNRVGQ>

.
You are receiving this because you modified the open/close
state.Message
ID: @.***>

—
Reply to this email directly, view it on GitHub
<
https://github.com/google-deepmind/graphcast/issues/63#issuecomment-2370234476>,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AWGHF3ZNE6AEDOAZL54CKOLZYD3E5AVCNFSM6AAAAABDSOJJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZQGIZTINBXGY>

.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/google-deepmind/graphcast/issues/63#issuecomment-2370852443,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEAXI3XARXI3BLI3WUAE5ETZYE3MFAVCNFSM6AAAAABDSOJJNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZQHA2TENBUGM
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Create 2021-12-10-recap-code-for-germany-community-summit-2021

Blogpost to recap the recent event of the Code for Germany Community Summit 2021.
I apologize in advance for all mistakes, I did my best.

I think you forgot to add the picture

You can check the deploy preview here: https://deploy-preview-310--hungry-heisenberg-4bd67f.netlify.app/
your post is not there because of multiple things:

the file extension is not .md
Maybe the date is in the future


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3337

Questions ?
Please refer to the Backport tool documentation


[CS2103T-W15-3] Hospify

Hospify helps clinic administrative staff manage personal information and medical records of their patients. It enables them to easily reach out to patients and access any requested medical records.

Codecov Report

Merging #35 into master will increase coverage by 0.07%.
The diff coverage is 80.67%.

@@             Coverage Diff              @@
##             master      #35      +/-   ##
============================================
+ Coverage     72.31%   72.38%   +0.07%
- Complexity      400      431      +31
============================================
  Files            70       73       +3
  Lines          1228     1311      +83
  Branches        124      143      +19
============================================
+ Hits            888      949      +61
- Misses          308      320      +12
- Partials         32       42      +10

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/seedu/address/MainApp.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...main/java/seedu/address/commons/core/Messages.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

...main/java/seedu/address/model/patient/Address.java
80.00% <ø> (ø)
6.00 <0.00> (?)

...c/main/java/seedu/address/model/patient/Email.java
80.00% <ø> (ø)
6.00 <0.00> (?)

...rc/main/java/seedu/address/model/patient/Name.java
80.00% <ø> (ø)
6.00 <0.00> (?)

...c/main/java/seedu/address/model/patient/Phone.java
80.00% <ø> (ø)
6.00 <0.00> (?)

...del/patient/exceptions/DuplicateNricException.java
0.00% <0.00%> (ø)
0.00 <0.00> (?)

...l/patient/exceptions/DuplicatePersonException.java
100.00% <ø> (ø)
1.00 <0.00> (?)

...el/patient/exceptions/PersonNotFoundException.java
100.00% <ø> (ø)
1.00 <0.00> (?)

.../java/seedu/address/model/util/SampleDataUtil.java
20.00% <0.00%> (ø)
1.00 <0.00> (ø)

... and 31 more

Continue to review full report at Codecov.

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


fix

in 2023-08-15 metrics aggregate returns 200 status not 201 as shown at the documentation
My request:
POST https://a.klaviyo.com/api/metric-aggregates/
Authorization: Klaviyo-API-Key ********
accept: application/json
revision: 2023-08-15
Content-Type: application/json
Content-Length: 375
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
Accept-Encoding: br,deflate,gzip,x-gzip

{
  "data": {
    "type": "metric-aggregate",
    "attributes": {
      "metric_id": "XFxjxt",
      "measurements": [
        "count"
      ],
      "filter": [
        "greater-or-equal(datetime,2022-12-30T22:00:00+00:00)",
        "less-than(datetime,2023-09-09T21:00:00+00:00)"
      ],
      "interval": "day",
      "page_size": 500,
      "timezone": "UTC"
    }
  }
}

part of response:
HTTP/1.1 200 OK
Date: Sun, 10 Sep 2023 10:37:41 GMT
...
{
  "data": {
    "type": "metric-aggregate",
    "id": "4290621170589644056",
    "attributes": {
      "dates": [
        "2022-12-30T00:00:00+00:00",
        "2022-12-31T00:00:00+00:00",
...

tested on multiple versions including:

v2023-02-22
v2023-01-24
v2022-10-17

good catch!
We recently updated this, thanks for the heads up.


Can restore it?

If delete the scan code and don't know 16 secret key,I can't login.How to restore it?

You cannot. Contact the admin of the site to disable 2FA for you.


Change to_binary to to_bytes

The name to_binary does not completely reflect what to code returns. It seems like to_bytes or something close to that would be better.

Hey @janus,
Thanks for reporting this issue. I think the current name fits the purpose well enough. It takes a number and converts it to its binary form. You're right that it returns bytes, but I think binary is accurate enough for what it does. Its also based on the official design document which you can read here: https://github.com/ethereum/wiki/wiki/RLP

@janus I'm closing this one because of lack of activity. If you have any more suggestions I'm happy to help!


using ObjectId for Id in User Collection.

I think this leads to breaking change!
I follow to hear what's your idea...
#29

thanks for this 🎉

@tugberkugurlu  let me know if there is any problem in this PR :)

I rebased and merged this in, @SorenZ your commits are in: b5f736508bfae107d32a340acd7dc624dad9f338 and a4d570376047f422e1a9b7f942cd892f36820183. Thanks!


assign crashes, check_criteria should avoid using the OID field

        field_oid = str(arcpy.Describe(sorted_features_layer).OIDFieldName)
        flds = [f.name for f in arcpy.ListFields(sorted_features_layer) if f.name != field_oid]

Is this the line of code that's causing an issue? This seems similar to the Join Field issues (here and here) we ran into: internal validation is no longer ignoring invalid field types (e.g. OID). Does Delete Identical fail at 10.4 when an OID field is passed to it?
An alternative approach to disallowing OID fields would be to check the type property on field objects:
flds = [f.name for f in arcpy.ListFields(sorted_features_layer) if f.type != "OID"]

is this a 10.4-specific issue?

This is resolved in the February 2016 release


Clean up terminology: step 1 — rename Region to Origin

A first step in cleaning up the Polonius terminology by:

renaming regions into origins (except in datafrog closures and datalog rules comments, for now)
whenever a single-letter generic type was used, using the full word instead
assorted cleanups in comments or leftover random bits and bobs

@lqd did you plan to add a few more commits here?

@nikomatsakis I was thinking we could the renaming step by step, what do you think ? If others wanted to help, and so on.

step by step is better!


Error: 3 INVALID_ARGUMENT: Invalid instances

Code:
import axios from 'axios'
import * as AIPlatform from '@google-cloud/aiplatform'
const {
    instance: { ImageClassificationPredictionInstance },
    params: { ImageClassificationPredictionParams },
    prediction: { ClassificationPredictionResult }
} = AIPlatform.protos.google.cloud.aiplatform.v1.schema.predict
const { PredictionServiceClient } = AIPlatform.v1

export class VertexAi {
    private modelEndpoint = `projects/{project}/locations/us-central1/endpoints/{endpointid}`

    private predictionServiceClient = new PredictionServiceClient({
        apiEndpoint: 'us-central1-aiplatform.googleapis.com',
        keyFilename: 'gcloud.key'
    })

    async evaluate(imageUrl: string) {
        const imageBase64Content = await axios
            .get(imageUrl, { responseType: 'arraybuffer' })
            .then((response) => Buffer.from(response.data, 'binary').toString('base64'))

        const parameters = new ImageClassificationPredictionParams({
            confidenceThreshold: 0.7,
            maxPredictions: 5
        }).toJSON()

        const instance = new ImageClassificationPredictionInstance({
            content: imageBase64Content,
            mimeType: 'image/jpeg'
        }).toJSON()

        const [response] = await this.predictionServiceClient.predict({
            endpoint: this.modelEndpoint,
            instances: [instance],
            parameters
        })

        const [prediction] = response.predictions

        const predictionResultObj = ClassificationPredictionResult.fromObject(prediction)
        for (const [i, label] of predictionResultObj.displayNames.entries()) {
            console.log(`\tDisplay name: ${label}`)
            console.log(`\tConfidences: ${predictionResultObj.confidences[i]}`)
            console.log(`\tIDs: ${predictionResultObj.ids[i]}\n\n`)
        }

        return predictionResultObj
    }
}

Before using your library, I was trying to send the same image (with the same imageBase64Content) to the route https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict through axios.post.
I succeeded and got the expected correct answer.
Through the @google-cloud/aiplatform library I get the error:
/root/v3/node_modules/@grpc/grpc-js/build/src/call.js:31
    return Object.assign(new Error(message), status);
                         ^

Error: 3 INVALID_ARGUMENT: Invalid instances:
    at Object.callErrorFromStatus (/root/v3/node_modules/@grpc/grpc-js/build/src/call.js:31:26)
    at Object.onReceiveStatus (/root/v3/node_modules/@grpc/grpc-js/build/src/client.js:189:52)
    at Object.onReceiveStatus (/root/v3/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:365:141)
    at Object.onReceiveStatus (/root/v3/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:328:181)
    at /root/v3/node_modules/@grpc/grpc-js/build/src/call-stream.js:187:78
    at processTicksAndRejections (node:internal/process/task_queues:78:11) {
  code: 3,
  details: 'Invalid instances: ',
  metadata: Metadata {
    internalRepr: Map(1) {
      'grpc-server-stats-bin' => [
        Buffer(10) [Uint8Array] [
          0, 0, 255, 0, 228,
          2, 0,   0, 0,   0
        ]
      ]
    },
    options: {}
  }
}

Unfortunately, I can't find the problem myself. Where is the mistake?

import { JWT } from 'google-auth-library'
...

export class VertexAi {
    ...
    async evaluate(imageUrl: string) {
        ....
        const servicekeybuffer = await readFile('your-service-account-credentials.json')
        const servicekey = JSON.parse(servicekeybuffer.toString())

        const client = new JWT({
            email: servicekey.client_email,
            key: servicekey.private_key,
            scopes: ['https://www.googleapis.com/auth/cloud-platform']
        })

        const { data } = await client.request<any>({
            url: `https://us-central1-aiplatform.googleapis.com/v1/` + this.modelEndpoint + ':predict',
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            data: {
                instances: [instance],
                parameters
            }
        })

        const [prediction] = data.predictions
        ...

Finally, a working example for interacting with the http api through the service account.
Suddenly it will be useful to someone.

same error occured for me

@herenickname Thank you for posting your code here!
For future questions about the client library and samples hosted in this repo, please go to one of these repos:

Samples
Library

@telpirion unfortunately, the code I provided is a crutch for solving the problem directly through API requests, and not through the library


How to parse ogg-stream from websocket?

I get an ogg stream received from a websocket handler. I need to parse and decode it into PCM samples. What API classes/method should I use to achieve that?

I get an ogg stream received from a websocket handler. I need to parse and decode it into PCM samples. What API classes/method should I use to achieve that?

I have the same issue. Did you solve it?

I have implemented it in another language.


430 Term frequency adjustment chart

Closes #430 (once properly tested)
Currently assumes the comparison name is the same as the column name for which TF adjustments are applied - does not work for e.g. full_name with an exact match level TF-adjusted on full_name but further comparison levels TF-adjusted on first_name or surname.
chart = linker.tf_adjustment_chart("city")

@samnlindsay I am getting the following error:

I am going to have a dig to see what is going on, but thought I should flage with you incase you recognise it.
Code to recreate:
from splink.duckdb.duckdb_linker import DuckDBLinker
import splink.duckdb.duckdb_comparison_library as cl
import splink.duckdb.duckdb_comparison_template_library as ctl

import pandas as pd

df = pd.read_csv("splink/tests/datasets/fake_1000_from_splink_demos.csv")

settings = {
    "link_type": "dedupe_only",
    "blocking_rules_to_generate_predictions": [
        "l.first_name = r.first_name",
        "l.surname = r.surname",
    ],
    "comparisons": [
        ctl.name_comparison("first_name", term_frequency_adjustments_name="first_name"),
        ctl.name_comparison("surname", term_frequency_adjustments_name="surname"),
        ctl.date_comparison("dob", cast_strings_to_date=True, term_frequency_adjustments=True),
        cl.exact_match("city", term_frequency_adjustments=True),
        cl.levenshtein_at_thresholds("email", 2, term_frequency_adjustments=True),
    ],
}

linker = DuckDBLinker(df, settings)
linker.debug_mode=True
linker.estimate_u_using_random_sampling(max_pairs=1e6)

blocking_rule_for_training = "l.first_name = r.first_name and l.surname = r.surname"
linker.estimate_parameters_using_expectation_maximisation(blocking_rule_for_training)

blocking_rule_for_training = "l.dob = r.dob"
linker.estimate_parameters_using_expectation_maximisation(blocking_rule_for_training)

pairwise_predictions = linker.predict()

chart = linker.tf_adjustment_chart("first_name")

I expect this is due to the example notebooks I tested this on having "retain_intermediate_calculation_columns": True, so we can't take for granted that __splink__df predict will contain the TF columns 😢
The baseline match weight is in the final settings object, so the only need for df_predict is to get the TF adjustments for a given value (but surely this is saved elsewhere or can be recalculated directly as it's a simple enough calculation). I couldn't easily find where the bf_tf_adj_ was calculated internally but I didn't try very hard as using df_predict was easy enough.
It should be a case of changing the first part of the SQL query to create the same table from the TF table rather than df_predict but if you don't immediately know how you'd do that, I'll have a go later.

Ah ok, that makes sense. I will spend some time digging around as well and see if I can come up with something

Fixed the above issue and at the same time updated so the column_name argument refers to the comparison rather than the TF adjustment column.
linker.tf_adjustment_chart("full_name")

for example may show the chart for multiple comparison levels with different tf_adjustment_columns
full_name, surname etc.)

Great that this is working! I can confirm it now runs without "retain_intermediate_columns": True.
Testing it out I have noticed a couple of things:

I think n_most_freq and n_least_freq are the wrong way round

chart = linker.tf_adjustment_chart("first_name",
                                    n_most_freq=20,
                                    n_least_freq=5,
                                    )
chart

Gives

Which looks to be giving 20 names with the largest match weight boost (i.e. the least frequent).

vals_to_include should accept a single string for only one name.
Use ensure_is_iterable function to wrap input strings into a list. Probably within linker.tf_adjustment_chart.  Adding a line like

vals_to_include = ensure_is_iterable(vals_to_include)

should do the trick.

There are 2 functions named tf_adjustment_chart
One in linker.py which refers to the one in term_frequencies.py. I'm not sure if this is what we do with all other charts, but do you reckon these should have different names to avoid confusion?

charts not showing allvals_to_include
Taking a sample of the dataset:

df.sample(5, random_state=1)

Gives the following:

unique_id
first_name
surname
dob
city
email
group

507
507
ecalStt
Parsons
1985-11-21
London
<EMAIL_ADDRESS>87

818
818
Geore
Hli
1984-03-15
Northampton
nan
143

452
452
Cunningham
Ivy
1990-11-27
Norwich
<EMAIL_ADDRESS>77

368
368
Lewis
Freddie
1971-12-19
Southend-on-Sea
<EMAIL_ADDRESS>63

242
242
Ryan
Turner
1990-03-21
London
<EMAIL_ADDRESS>41

Choosing 2 of these names in vals_to_include
chart = linker.tf_adjustment_chart("first_name",
                                   vals_to_include=["Lewis", "Ryan"])
chart

only shows "Lewis"

and even then does not show a point (but I am guessing that may be because it is such a low value?).
Could this be to do with "Ryan" not making it past the blocking rules or something? (I haven't checked if that is the case)
In any case, there should probably be some sort of warning message if a user adds a string to vals_to_include that doesn't exist.

I knew that would happen at some point. Most freq -> lowest TF adj -> high rank 🤯
Thanks for the tip!
I've followed the same pattern used for other charts where the linker method has the same name as the function it uses. E.g. linker.waterfall_chart() references splink.charts.waterfall_chart()
🤔

Re the warning message, I've followed the recommendation and replacing df[k]=v with df.loc[:,k]=v seems to stop it complaining.

Appears to work at my end with a different example... 🤔
linker.tf_adjustment_chart(
    column_name="birth_place",
    vals_to_include=["hackney", "medway"],
    n_least_freq=10,
    n_most_freq=10
)

One more change to make those middle points more visible than your example above

Hey @samnlindsay, I have

reworked some of the pandas code to stop the warning above
added warning when specifying vals_to_include that do not exist

On final thing going wrong with the linting is the following error

which I haven't figured out how to rewrite so I'm not sure if you have any ideas?
The failing splink demos test relates to different changes so is not relevant here.

@RossKen QUICK - merge it before it comes up with another error! 🙃


Painful Conditions

@finersarah @f-eto
As discussed in other papers looking at chronic pain associations with multimorbidity, this is a very difficult phenotype to define either using prescription data (due to overlap of medication with other conditions) or clincal coding.  Despite it's importance!
The reason it may be tricky to create a clinical ‘chronic pain’ code list is the definition of ‘chronic pain’ is so broad -  pain despite treatment for >12 weeks.  (We can consider that 6 months for our purposes).  But ‘pain’ is not well coded as it is usually the consequence of other underlying diagnoses.  GPs would like enter discussion about pain in the free text – while treating chronic pain.
I have searched for chronic pain codes.  But I don't think they will be use consistently in primary care.  Lots of patients I see are on multiple analgesics for prolonged periods of time, but I haven’t seen that many with a ‘chronic pain’ code attached and I would not think to attach one myself most of the time.     These codes may be used if someone has been referred to a pain clinic, or pain group (which will depend on local provision).  But even then, there may not be a chronic pain diagnosis, rather the underlying condition (fibromyalgia, arthritis, neuropathy, etc).  I wonder if this is why the Cambridge group just used prod codes?
With this in mind I suggest we:

Focus our phenotype on prodcodes using the same process as already defined in the Cambridge Group multimorbidity studies.
Consider extracting the codes in the attached excel file and using these in combination.  These are codes suggesting chronic pain or referral to a pain management pathway.
With regards to these codes we may need to consider what we do with codes related to specific conditions that are included in the list (e.g. complex regional pain, diabetic neuropathy) so we don't give greater weight to pain from these conditions compared to pain from other conditions (e.g. arthritis).

Painful conditions codes.xlsx

After discussion at the meeting we were worried that:

People who had received 4 or more prescriptions for an acute pain event (e.g. following an accident) would be classified as having a chronic painful condition.

We therefore decided to adjust the code as follows:

4 or more prescriptions of prodcodes  in a 12 month period.
The length of time between the first and last prescription in the 12 month period should be >6 months.
(this aligns with the definition of a chronic condition being one that lasts > 6 months).


how to use PythonREPL tool to  take dataframe and query

Issue you'd like to raise.
I need to use Python REPL tool to take data frame and user query and answer based on the data frame.
Suggestion:
No response

in case i need pass user query along with dataframe using agents how to do it?


Optimize Xtensa CONV2D and TRANSPOSE_CONV kernels.

@advaitjain As discussed offline, I've combined my previous patches to NNLib_hifi4 (inc. https://github.com/tensorflow/tflite-micro/pull/1913 and https://github.com/tensorflow/tflite-micro/pull/1864) into this PR.
BUG=xtensa optimizations.

@mergifyio refresh


Performance issue with number_observed

The number_observed attribute of observed-data incurs a linear cost to the matcher which seems to be related to the way it is used internally to multiply the SDO. Below are some profiles of the same test but using 1000 vs 10000 number_observed. The profiles look a bit different just because the profiler includes more in the call graph due to longer execution time.
The examples below use 1000 & 10000 just to be illustrative with a single SDO (and it makes it easier to capture the relevant bits in the profile). I realize that is extreme, but smaller values of number_observed in a larger SDO list could also add up.
1 SDO with 1000 number_observed * 50 patterns

1 SDO with 10000 number_observed * 50 patterns

The SDO list looks like
[
    {
        "id": "observed-data--107c9a2d-12e9-4599-8a0c-2021a88b472d",
        "type": "observed-data",
        "created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae3ee",
        "last_observed": "2020-08-25T20:01:28.567Z",
        "first_observed": "2020-08-25T20:01:28.567Z",
        "number_observed": 10000,
        "created": "2020-08-26T13:23:57.728Z",
        "modified": "2020-08-26T13:23:57.728Z",
        "objects": {
            "0": {
                "type": "windows-registry-key",
                "key": "HKLM\\SYSTEM\\CurrentControlSet\\Control\\MiniNt",
            },
            "1": {
                "type": "process",
                "name": "powershell.exe",
                "pid": 8816,
                "x_ecs_entity_id": "{747f3d96-6e04-5f45-9d00-000000003800}",
                "binary_ref": "3",
                "x_ecs_event_ref": "6",
            },
            "2": {"type": "process", "child_refs": ["1"]},
            "3": {
                "type": "file",
                "name": "powershell.exe",
                "parent_directory_ref": "4",
            },
            "4": {
                "type": "directory",
                "path": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0",
            },
            "5": {
                "type": "x-ecs-host",
                "hostname": "MSEDGEWIN10",
                "os_name": "Windows 10 Enterprise Evaluation",
                "os_version": "10.0",
                "os_platform": "windows",
                "ip": ["fe80::c50d:519f:96a4:e108", "<IP_ADDRESS>"],
                "name": "MSEDGEWIN10",
                "id": "747f3d96-68a7-43f1-8cbe-e8d6dadd0358",
                "mac": ["08:00:27:e6:e5:59"],
                "architecture": "x86_64",
            },
            "6": {
                "type": "x-event",
                "code": 12,
                "provider": "Microsoft-Windows-Sysmon",
                "created": "2020-08-25T20:01:28.591Z",
                "kind": "event",
                "module": "sysmon",
                "action": "CreateKey",
            },
        },
    }
]

Where number_observed is changed between the two tests above.

One way to mitigate this issue would be to extend the work done in #64 for observation expressions to comparison expression.
All exitComparisonExpression* should be modified to work with generators, so that obs_ids in the following is a generator:
https://github.com/oasis-open/cti-pattern-matcher/blob/bcd37eeb8c44e012ff1dbe4434c510f343575840/stix2matcher/matcher.py#L1368-L1383
It might also be better to evaluate all exitComparisonExpression* without expanding the number_observed and only duplicate the observed-data in exitObservationExpressionSimple (if it makes sense).
I'll probably won't have time to do it in the foreseeable future.

When working with real low-level data (like data from EDRs or Sysmon) we are experiencing a huge performance degradation. As an example, there are 15754 observables generated out of 100 original observables. In another example, there are 189023 instances generated out of 300 original observables.


Added  diode in the Circuit Elements

Fixes #2608
Describe the changes you have made in this PR -
I have added diode as a new feature in the circuit elements...
Screenshots of the changes (If any) -

Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

@gr455 @tachyons, Can you please review my pr ...

@gr455 @tachyons @shubhankarsharma00, Can you please review my pr and provide me with the appropriate feedback...


Change command behavior to skip invalid resources in local mode

previously, when using the command in local mode with recursive mode enabled, the command would attempt to parse additional JSON/YAML files as resources. If any files were invalid, an error was presented to the user, and the compare results for other valid resources were not returned.
With this update, the command will now issue a warning for invalid resources instead of stopping execution. It will skip these problematic files and proceed to present the compare results for the valid resources.

/cc @pixelsoccupied  @nocturnalastro

/lgtm

@pixelsoccupied only fixed the tests from the lgtm (removed whitespace that was changed in previous merge)

/lgtm
/approve

/lgtm
/approve


docs: remove 'this is tech preview' marker on one of the attacher guide pages

This is a follow-up to #85. This attacher is GA now.

The impacted page is this one: https://www.elastic.co/guide/en/apm/attacher/current/apm-get-started-webhook.html


Button: Type="Ghost" has a Different Visual Design in Headers

OpenUI5 version: 1.126.0
Browser/version (+device/version): Microsoft Edge 127.0.2651.74 (macOS 14.5)
Any other tested browsers/devices(OK/FAIL): Google Chrome 127.0.6533.72 (FAIL)
Steps to reproduce the problem:

Open a UI5 Sample
Enter the following code:
<mvc:View  xmlns="sap.m"  xmlns:mvc="sap.ui.core.mvc"  xmlns:core="sap.ui.core"  height="100%"  controllerName="sap.m.sample.Button.Page">  <Page  	title="Page"  	class="sapUiContentPadding" >  	<customHeader>  		<Toolbar>  			<Button text="Default / Ghost"  					press="Ghost">  			</Button>  			<Button text="Transparent"  					type="Transparent">  			</Button>  		</Toolbar>  	</customHeader>  	<content>  		<HBox>  			<Button text="Default / Ghost"  					press="Ghost">  			</Button>  			<Button text="Transparent"  					type="Transparent">  			</Button>  		</HBox>  	</content>  </Page> </mvc:View>
Observe the different states of the Type="Ghost" button in the header and content

What is the expected result?
The visual design of buttons using type=“Ghost” is a) consistent and independent of the parent container, and b) according to the visual design specification.
What happens instead?
The visual design of buttons using type=“Ghost” is different depending on the parent container, for example, when placed in a header compared to the content.

Thanks! For clarification I have opened an internal incident DINC0228663.

buttonType.Default is Standard in design descriptions: https://experience.sap.com/fiori-design-web/toolbar-overview/#styles
buttonType.Ghost is a separate one, even though in sap_horizon the internally given visual specification states they must have the same styles with Standard button/buttonType.Default.
in toolbars, the internally given visual specification tries to enforce the Fiori Guidelines linked on top, by making buttonType.Default appear like buttonType.Transparent. The result on screen is the expected result.

Example: https://jsbin.com/cogijexace/edit?html,output


Disable OnItemSelect Default action

Hi, I have a custom itemRenderer as follows:
`
itemRenderer = ({ item }) => {
 return (

   <button className = 'left' onClick={() => this.expandRSL(item)}>

      <ExpandIcon />

    </button>

     {item.title}

 )

}`
When the button is clicked as opposed, I want to disable the default onItemSelect action. and just execute the code in this.expandRSL(item) function.  If the item is clicked anywhere but the button, i would still like the default action of selecting the item to be executed.  I tried to start with calling e.preventDefault inside the onItemSelect function, but it does not work.

Can you add the e.preventDefault to the onClick handler passed to the button?
 return (

   <button className = 'left' onClick={(evt) => {
evt.preventDefault();
this.expandRSL(item)}}>

      <ExpandIcon />

    </button>

     {item.title}

 )

I tried this and it did not seem to anything. I hacked a solution by forking the project and checking for the target.tagname before firing the onSelect in the "actualClick" function.  Not an elegant solution but I had no luck with adding e.preventDefault()

How about instead of preventDefault, you call stopPropagation?

Closing due to inactivity


docs: fix typo will -> well

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Updated Documentation Links

Changed all references of /components.html to /badges.html.

Thanks!


.env file not parsed properly

Type: Bug
This extension will try to load (by default) .env named file (setting ID: python.envFile). This file is not properly parsed.
Steps to reproduce

create file .env with content:

KEY="subkey1=subvalue1,subkey2=subvalue2"

Select a python interpreter (not sure if necessary)
Open a new integrated terminal (terminal>>new terminal). This opens a new terminal and uses the selected python interpreter there as env (e.g. with .venv sources the activate from the .venv folder)
run

$ echo $KEY
subkey1

This prints only the first part of the value of the "KEY" environment variable
Expected behavior
Environment variable should be parsed as bash and others parse them. This should cause it to be "subkey1=subvalue1,subkey2=subvalue2"

Extension version: 2024.4.1
VS Code version: Code 1.87.1 (1e790d77f81672c49be070e04474901747115651, 2024-03-06T00:21:07.287Z)
OS version: Linux x64 6.5.11-060511-generic
Modes:
Remote OS version: Linux x64 6.5.11-060511-generic
Remote OS version: Linux x64 6.5.11-060511-generic

Thank you for filing this issue! Will investigate this

@juha-ylikoski I'm wondering if this is related to https://github.com/microsoft/vscode-python/issues/22982
Can you try adding:
"python.experiments.optOutFrom": ["pythonTerminalEnvVarActivation"] to your settings.json and see if that works?

@anthonykim1 I do not seem to be able to reproduce the original bug anymore... Seems that my extension version was updated to 2024.8.1 but after downgrading back to 2024.4.1 I'm still not able to reproduce.

Great, glad to hear.
Please feel free free to reopen/ file issue when you encounter a problem


Problem: Named jobs #16

Thanks, could you please rebase your changes against current master to make it mergeable?

Doing this right now :)

Thanks. Please note that according to the C4.1 process:

Maintainers SHOULD NOT merge their own patches except in exceptional cases, such as non-responsiveness from other Maintainers for an extended period (more than 1-2 days).

Just a hint for future pull requests :)

Ok, thanks, will read this :)


Doesn't CD into the directory afterward

¯(°_o)/¯ no idea now

Super hacky solution but you could use:
open -a Terminal $PROJECTNAME

This will open a new terminal window and cd to the editor, although this means you are stuck using terminal and it opens a new window instead of the current terminal window, which isn't very elegant...
Annoyingly the bash commands are run in a sub-process which doesn't effect the main process, this is why the cd is not being persisted when the script is done.
Another possible improvement would be to include:
echo "cd $PROJECTNAME" | pbcopy

which adds the cd command to the clipboard so the user can just paste when the command is done.

@DanielDarrenJones Good thinking on opening the terminal. Might be worth trying something like that.. hacky but worth a consideration.
And yah, I had read up on the sub-process.
The pbcopy is a good idea--but I carefully guard my clipboard (I know, I know), and I think I'd get pretty annoyed if it got overwritten randomly by a CLI script.
For now I'll keep it just with a notice at the end... will keep thinking and asking for input here. But if all else fails something along the lines of the open script might be worth consideration.
Thanks!!

If somehow cd made it in, it would open up the possibility to run npm install at the very end. I find myself doing this:
lambo my-app; cd my-app; npm install
This way, I'm ready to run Elixir almost immediately.

Add this to your bash profile or wherever nowadays you store your terminal functions / aliases.
function lmb() {
    lambo $1 "${@:2}"
    cd $1
    yarn
}
alias lmb=lmb

Usage:
lmb [arguments]

It creates the project, cd's into it and runs yarn.

Another option:
Since sub-processes can affect child processes by opening another shell it will keep the current directory of the lambo process.
We could add exec bash to open another bash process, but I think it's better to use the users login shell which is stored in the $SHELL variable.
So if we add
exec $SHELL
around line 175 it has the desired effect.
I'd expect $SHELL to have a value for everyone, but we could check that it is valid then echo the current statement if it is not.
Let me know your thoughts.

On my Ubuntu box everything works fine. However, on my Mac:

@milose Looks like your shell is set to bash, but in your .bash_profile you are changing to zsh. Can you confirm?
You would need your login shell to be set to the same as the shell you use for this to work.
chsh -s /bin/zsh will do that.
Let me know if your environment is different than I'm assuming above. Thanks

No, I use bash-it Here is a gist of my .bash_profile
#!/usr/bin/env bash

export BASH_IT="/Users/milos/.bash_it"
export BASH_IT_THEME='bakke-mac'
source $BASH_IT/bash_it.sh

# VAR PATH
PATH="/usr/local/sbin:/usr/local/bin:$PATH"
PATH="/usr/local/bin/platformio:$PATH"
PATH="/Users/milos/.composer/vendor/laravel/valet:$PATH"
PATH="/Users/milos/.composer/vendor/bin:$PATH"

# Set my editor and git editor
export EDITOR="atom"
export GIT_EDITOR='atom'

Hi @milose, thanks for providing that.  What I'm reading points to a difference in how config files are loaded based on a bash login shell vs an interactive non-login shell.

login bash shells source either .bash_profile, .bash_login, or .profile; non-login interactive bash shells (e.g. subshells) source .bashrc instead.

So there are 2 solutions for you:

Source your .bash_profile from .bashrc.
Move your config to .bashrc and source .bashrc from .bash_profile.
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

Option 2 seems to be the 'correct' way, if there ever is such a thing :-);
From this post
Thanks.
--Jeff

Thanks Jeff. I created .bashrc with:
if [ -f ~/.bash_profile ]; then source ~/.bash_profile; fi

After that it seems to work fine. I chose this option since some installer might opt to append to .bash_profile after detecting it is being run on a Mac and I want to have my configuration contained in just one file.

Closed by #27


fetch from *.svelte (e.g. in button click) triggers repeated console warning not to use window.fetch

Describe the bug
Since some recent sveltekit versions I am getting repeatedly the following developer warning in the browser console:
Loading /api/test?id=123 using window.fetch. For best results, use the fetch that is passed to your load function: https://kit.svelte.dev/docs/load#making-fetch-requests
This is triggered by a simple fetch('/api/test') from +page.svelte, after page load, so to reproduce place such a fetch() call in to a button click.
I am facing the exact same issue as in the mentioned in this stackoverflow link: https://stackoverflow.com/questions/74700331/how-to-fetch-endpoint-data-in-sveltekit-after-initial-load
Sidenote: Other than stated on stackoverflow, changing the GET request into PUT does not avoid the message.
Sidenote 2: In the stackoverflow comments it is assumed to be a bug / false positive.
Sidenote 3: Yes, as stated in the comments, it might be necessary to make the browser reload the page to trigger this.
Summary: There seems to be NO way at all to fetch() currently without getting this message repeatedly.
Reproduction
Sorry, no full demo code repository yet, but this explains it all in detail incl. code:
https://stackoverflow.com/questions/74700331/how-to-fetch-endpoint-data-in-sveltekit-after-initial-load
Logs
No response
System Info
System:
    OS: Linux 6.0 Gentoo Linux
    CPU: (4) x64 Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz
    Memory: 12.92 GB / 15.51 GB
    Container: Yes  [WRONG REPORT? THERE IS NO CONTAINER]
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 18.12.1 - /usr/bin/node
    npm: 8.19.2 - /usr/bin/npm
  Browsers:
    Firefox: 107.0.1
  npmPackages:
    @sveltejs/adapter-auto: next => 1.0.0-next.90
    @sveltejs/adapter-node: ^1.0.0-next.100 => 1.0.0-next.102
    @sveltejs/kit: next => 1.0.0-next.572
    svelte: ^3.44.0 => 3.54.0
    vite: ^3.1.0 => 3.2.5

Severity
annoyance
Additional Information
No response

yeah, the same... I understand that in most cases the main fetch should be in the load function but not true for everything.

Same here. I'm using WebAssembly and as such, I'm fetching the .wasm binary on the client side after page load, but svelte keeps yelling at me. Having a way to disable this warning for parts of your code should be available. This warning is very useful for new people, but it's very annoying when you want to try without training wheels.

Hi, I am the author of the stackoverflow question. Thank you for creating this issue!
I just made a small repository demoing the problem: https://github.com/fokoenecke/fetch-warning
I switched to the most recent svelte/kit versions (1.0.1 / 3.55.0).
And sitenode 1 seems to be correct. I was not able to stop the message from showing by switching the HTTP method.

The issue seems to be the heuristic that checks if (new Error().stack) includes a check_stack_trace member — but in Firefox, it always seems to include it.
I don't get the warning in Chrome, which doesn't have check_stack_trace member.
Can anyone else verify that?

I can confirm. I'm not getting the warning in Chrome Version 108.0.5359.124 (Official Build) (arm64)

This still appears to be happening in Firefox (tested in 108 on Mac).
Repro (from #8627): https://stackblitz.com/edit/sv-bug-fetch-demo
I was able to repro myself on the latest Kit (1.2.1) by simply adding the following to the demo app's root +page.svelte:
<script>
  import Counter from "./Counter.svelte";
  import welcome from "$lib/images/svelte-welcome.webp";
  import welcome_fallback from "$lib/images/svelte-welcome.png";
  import { onMount } from "svelte";

  onMount(() => {
    fetch("https://svelte.dev");
  });
</script>

Confirmed, even when running this project locally (so it's not a Stackblitz thing).
'*listen@' isn't present in stack_array members for me:
This is what stack_array contains for me:
[
  "window.fetch@http://<IP_ADDRESS>:5173/node_modules/@sveltejs/kit/src/runtime/client/fetcher.js?v=11651678:31:46",
  "instance/<@http://<IP_ADDRESS>:5173/src/routes/Fetcher.svelte:75:20",
  "run@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-K6MJRMI7.js?v=11651678:19:10",
  "mount_component/<@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-K6MJRMI7.js?v=11651678:1708:52",
  "flush@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-K6MJRMI7.js?v=11651678:1003:9",
  "init@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-K6MJRMI7.js?v=11651678:1789:5",
  "Root@http://<IP_ADDRESS>:5173/.svelte-kit/generated/root.svelte:633:7",
  "createProxiedComponent@http://<IP_ADDRESS>:5173/node_modules/svelte-hmr/runtime/svelte-hooks.js?v=11651678:341:9",
  "ProxyComponent@http://<IP_ADDRESS>:5173/node_modules/svelte-hmr/runtime/proxy.js?v=11651678:242:29",
  "Proxy<Root>@http://<IP_ADDRESS>:5173/node_modules/svelte-hmr/runtime/proxy.js?v=11651678:349:11",
  "initialize@http://<IP_ADDRESS>:5173/node_modules/@sveltejs/kit/src/runtime/client/client.js?v=11651678:375:10",
  "_hydrate@http://<IP_ADDRESS>:5173/node_modules/@sveltejs/kit/src/runtime/client/client.js?v=11651678:1643:14",
  "async*start@http://<IP_ADDRESS>:5173/node_modules/@sveltejs/kit/src/runtime/client/start.js:38:16",
  "@http://<IP_ADDRESS>:5173/:19:9",
  ""
]

I have the same issue in Firefox (110.0b2). Is there a way to suppress this warning?

I am having this issue on chromium 110.0.5481.100 (Official Build) Arch Linux (64-bit) but it looks like the warning is only showing up in dev (not showing on built deploy)

I'm having this error (only when fetch is used inside a .svelte component) when using npm run dev in a Capacitor app.

I am getting the same warnings but in Chrome.  I created a separate *.js file under $lib that i use across multiple components.  My whole app is client side and embedded in a GoLang app that runs the backend.

I am getting the same warnings but in Chrome. I created a separate *.js file under $lib that i use across multiple components. My whole app is client side and embedded in a GoLang app that runs the backend.

Hi! Just check parameters of load function: for it passed object with fetch function. You need actually use this argument as fetch and it will call at SSR stage without browser console warning.
export const load: PageLoad = async ({ **fetch** }) => {...}

@creamsodainyourmouth: Thanks. In my case I need to call fetch e.g. from a button click. So currently I don't see how to replace the native fetch() with svelte's fetch() in such cases.


VAT and National identification number for the fi_FI provider

Second submit for this pull request. Original one was closed.
https://github.com/fzaninotto/Faker/pull/886

I also added national id numbers in pull request #1053. My implementation has functions and parameters based on previously implemented functions and tests found in other locales. For example https://github.com/fzaninotto/Faker/blob/master/src/Faker/Provider/sv_SE/Person.php

needs rebase

Still needs rebase

There isn't anything special in this PR compared to #1053 which is already accepted. So I will close this one.


WIP:upgrade rosa cli to 1.2.30 to fix billing account issue

There is a hot fix that ROSA CLI should not require the billing account id for HCP in both 1.2.29 and 1.2.30, we can take 1.2.30 for fixing the issue of billing account

I merged it because it would have happened with #839 anyway.


[test-recorder] Support test context from vitest

Currently we just need suite title and test title to generate recording file names. vitest provides the info via expect.getState().currentTestName.
This PR adds vitest support to recorder. Call site would look like
import { assert, afterEach, beforeEach, describe, it, expect } from "vitest";

   //...
   recorder = new Recorder(expect.getState());

Why wouldn't we just use the context like this?
  beforeEach((ctx) => {
    console.log("Context:", ctx.task.name);
    console.log("Suite:", ctx.task.suite.name);
  });


Ionic tabs are nto working with webpack and ng-template-loader

Hi,
I am using ionic in my project and am building the application using webpack. What I have discovered today that for some reason ionic tabs do not work if the templateUrl provided to the top tab state is loaded via webpack ng-template-loader. The template does get loaded but the tab icons and text do not display. Things start getting displayed once you click on the tab. Can anyone share some light on why this would be the case?
Not working
....

var tabsTmpl = require("./hpzone/dashboard/components/dashboardMobile/mobile.tabs.html");
...
  // setup an abstract state for the tabs directive
  .state('tab', {
    url: '/tab',
    abstract: true,
    templateUrl: tabsTmpl
    //templateUrl: '/templates/mobile.tabs.html'
  })
......

Working
...
  // setup an abstract state for the tabs directive
  .state('tab', {
    url: '/tab',
    abstract: true,
    templateUrl: '/templates/mobile.tabs.html'
    //templateUrl: '/templates/mobile.tabs.html'
  })
......

Greetings @jusefb!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Thanks for opening an issue with us! Since this is more of a question you will be able to get a better answer over at our forum (https://forum.ionicframework.com/) or our slack channel (http://ionicworldwide.herokuapp.com/). Thanks again!


An simple way to find out "Why this css content is rendered in this position of the css file?"

I have met many style problems using Rspack with experiments.css: true.
Bundling CSS doesn't have a specification, so it's hard to tell if the output of Rspack is wrong or correct(especially in a large-scale project). However, we need one to know if the result of Rspack is expected.
With the specification, we could emit more information as I did at #3531 to help explain the result if it is expected based on the output.

It would be great for @alexander-akait to give some suggestions :).

@hyf0 Yeah, CSS modules specification is old (https://github.com/css-modules/css-modules) and has some compatibility problems, I correctly understand that with normal CSS there are no problems? Maybe you can list of them? We have https://github.com/webpack/webpack/issues/14893 so we can connect issues and sync them. Write some simple spec :smile:

@alexander-akait  Yeah.

We don't know which module should be first, so we print a warning and try to find the best way,

Yeah. I have met the related error while studying using mini-css-extract-plugin and figure out why.

because we can provide more verbose error - example of code how to fix it.

I don't think this problem is fixable in practice, especially for a project having 20k+ modules.

What I want is not to fix the "conflicts" but a specification about how Webpack resolves conflicts currently, so that I could use to explain why this CSS content is rendered in this position of the CSS file.

I also have a rough thought that using post_order to sort the CSS modules in chunks rather post_order per ChunkGroup. This strategy should have some traps I don't know yet.

We don't know which module should be first, so we print a warning and try to find the best way, this is not related only to splitChunks: false.

I just look into your example. If I understand the algo of Webpack correctly. Your example would emit a CSS file
// entry.css

/* Render a.css */

/* Render b.css */

without any warnings or errors.

We don't know which module should be first

a.css should be the first. Because the post_order of a.css is before b.css in the ChunkGroup(enrty).

I just look into your example. If I understand the algo of Webpack correctly. Your example would emit a CSS file

There are other examples - https://github.com/webpack-contrib/mini-css-extract-plugin/tree/master/test/cases/ignoreOrder, we have more examples of the problem
And yes we will use the first found module in rendering

a.css should be the first. Because the post_order of a.css is before b.css in the ChunkGroup(enrty)

Yes, but this is logic from our logic, but we don't know if the developer expects it or not this :smile:
Also don't forget about @import, especial in nested files (i.e. @import inside @import)

Yes, but this is logic from our logic, but we don't know if the developer expects it or not this 😄

It's straightforward and I like this way. It makes me easy to explain to others the reason for CSS output. It just gets complicated with bundle splitting 😂.


Youtube 429 Too many requests

so i have that error its fine will be gone but how can i let the users know that something went wrong because the bot says playing and it doesn't play

I'm pretty sure this is an issue with Lavalink itself. You'd need to rotate IP addresses.

yah i changed my Elastic IP address  on aws still isn't there any event that gets emitted when this error occurs ?


apollo subscriptions break HMR

I'm adding apollo server to a razzle based project... and since SSR already comes with a node server, and Apollo being so Frontend centric ... we treat it as just a API layer to the client (a descriptive comparison would be; apollo-client = redux, apollo-server = redux-saga).
I got in to a bit of trouble when I started adding the subscription middleware... it needs to be added to the http.createServer wrapped version of the application... and when I do that ... in the file that contains the HMR reload code (the same file that already wrapps the express app in createServer).. HMR stops reloading.. and I need to restart the process on every code change...
https://www.apollographql.com/docs/apollo-server/features/subscriptions.html#middleware
from the docs in link above:
const server = new ApolloServer({ typeDefs, resolvers });

server.applyMiddleware({app})

const httpServer = http.createServer(app);
server.installSubscriptionHandlers(httpServer);

the apollo server gets defined in the same file that the express app gets instantiated in, and the apollo server gets applied to the express app as a middleware...
The last two lines would have to be in the HMR file, since thats where Razzle wrapps the process in createServer....
so.. how can I apply the subscription handlers, without HMR calling it quits?

@Evanion Have you thought about splitting up your Apollo Server into a separate project from your frontend?

Yea, thats how I usually do it,  but this time I wanted to try bundling them in to one.

closing as it's no longer relevant, decided to go with Nest.js for the GQL server.


Metrics+Graphite+Grafana does not work with decreasing counters

It looks like someone of Graphite/Grafana draws a clear line between gauges and counters, like here or here. The difference is that counters are for counting amount of events per time period and they can only increase. So, despite the Metrics library explicitly allows me to decrease counters, they are reported as 'counters' to Graphite and it looks like Graphite+Grafana just ignore these decreasing changes.

After further investigation I found that that I'm wrong here and everything was working as I wanted, it's the source data which had problems.


RemoveBG Issues

I noticed RemoveBG doesn't work correctly with non-square image. I'm not sure if it possible to fix that, but it would be nice to have it working on non-square aspect ratios.
Also the final output is rotated by 90 degrees, which can be problematic if you're outputting the mask only with the intent to overlay it on the original image to produce a knockout. To solve this problem, I dropped down a transform node after attribute_wrangle1 and set Y-Rotation -90 and Scale Z to -1
Code wise I have noticed a coupe of things that I believe are errors.
Inside the rembg_solver on attributewrangle1 the parameter fetching the X size is grabbing from the Y dimension.
detail("../null1", "image_dimension", 1)
Probably should be...
detail("../null1", "image_dimension", 0)
Inside the python text_encoder, the last line flips the image dimension when upon exit.
geo.setGlobalAttribValue("image_dimension", [latents.shape[1], latents.shape[0]])
Probably should be...
geo.setGlobalAttribValue("image_dimension", [latents.shape[0], latents.shape[1]])

Looks like this is only related to the RemBG_Solver which is a "ghost" node? The RemBG node works fine.


Please include .TIF (24 bit and 48 bit) as possible input.

Hello JXL developers!
Situation: The nice 48 bit full-size original tif(s) at: https://noirlab.edu/public/images/iotw2135a/
Target: .jxl it.
But I can't. .TIF input is not supported. But most space related sites use .TIF in 24 or 48 bit.
Current workaround: Using Affinity Photo to convert it to 48 bit .PNG, and then use cjxl.exe.
BTW: I love the transcoding-jpeg-lossless feature.
kind regards,
Joachim Otahal

The problem with TIFF is that it is nearly impossible to write a complete TIFF decoder. The reason for that is that TIFF is a catch-all container format that can basically contain just about any payload codec that ever existed since the 1980s.
We could add support for a limited subset of TIFF (e.g. only uncompressed and non-tiled), but then again, I don't think it's a big problem to convert your input to PPM or PNG before giving it to cjxl. Alternatively, you can use more general-purpose image tools like ImageMagick or libvips to do conversions between arbitrary image formats and jxl.

So there is no an existing "libtif" to "simply" include. As far as ImageMagic and libvips is concerned: I'd have to test whether they preserve 48 bit or not. Quite a number of those tools silently convert to 24 bit.
Thanks for the fast reply!

libtiff does exist, I don't know how complete it is though. But so far, our motivation for adding new input formats has been that we wanted to test some new kind of input that we couldn't input in any already-supported format.
ImageMagick by default gets compiled to use 16-bit buffers internally (per channel, so 48 or 64 bits per pixel), and can also be compiled to use 32-bit float samples internally. So it should preserve the precision just fine.

libtiff can certainly help with avoiding rewriting a parser and it's pretty feature complete, but it's still up to apps using it to check what the actual payload is...
AFAIK both ImageMagick and GraphicsMagick will happily deal/convert 48bit TIFFs if compiled as Q16 (or better, like HDRI); you can even make sure of that using e.g. -depth 16. You can even use ImageMagick entirely for the one step conversion as it could leverage libjxl already (ships w/ Windows binary for example, or imagemagick-full-git on Arch Linux)...

Closing this one as a wontfix. I'm in principle not opposed to adding tiff input/output support, and I'll happily review a pull request that implements it, but it's not a priority and it's not the goal of cjxl/djxl to support all possible input/output formats (there are other tools for that). In the end, cjxl/djxl will eventually be just example applications of libjxl, and just like most people are not using cjpeg/djpeg to encode/decode JPEG files, the same will (hopefully) happen here.


File Moving Seems to be Working Incorrectly

Description
When a rip is completed and HandBrake is exited, it looks like ARM tries to move to completed/extras and clean up files in raw/transcode several times.  I end up with either no movie in the completed directory or sometimes it is there and sometimes it ends up in extras for some reason.  It seems like there is something wrong with the logic or its missing quotations or something.
Environment
Ubuntu 20.04
Latest git version
Log file
[Run the rip in DEBUG and drag and drop the log file onto this comment box]
[>>>>> DRAG AND DROP LOG FILE HERE <<<<<]

Can you share your log file ?

I was chopping it down a bit ... here is an example of what is going on.  I deleted the multiple summary tables and labeled each attempt as Try 1, 2, etc.  In this example, the movie did get copied to the completed directory but here where the mutliple attempts to copy.  I will post another example of one that failed to move.
`[23-04-2021 21:09:55] DEBUG ARM: models.eject we unmounted disc/dev/sr0
[23-04-2021 21:09:55] DEBUG ARM: models.eject failed to eject/dev/sr0
[23-04-2021 21:09:55] DEBUG ARM: main.main New Title is Movie Title
[23-04-2021 21:09:55] INFO ARM: main.main Moving Movie /home/arm/media/transcode/movies/Movie Title/Movie Title.mkv to /home/arm/media/completed/movies/Movie Title (2008)
[23-04-2021 21:09:55] DEBUG ARM: utils.move_files Moving files:
TRY 1:
[23-04-2021 21:09:55] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title : /home/arm/media/transcode/movies/Movie Title/Movie Title.mkv : True : Movie Title (2008) : True
[23-04-2021 21:09:55] INFO ARM: utils.move_files Creating base title directory: /home/arm/media/completed/movies/Movie Title (2008)
[23-04-2021 21:09:55] INFO ARM: utils.move_files Track is the Main Title.  Moving '/home/arm/media/transcode/movies/Movie Title/Movie Title.mkv' to /home/arm/media/completed/movies/Movie Title (2008)
[23-04-2021 21:11:37] INFO ARM: main.main Moving Movie  to /home/arm/media/completed/movies/Movie Title (2008)
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Moving files:
TRY 2:
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title :  : True : Movie Title (2008) : False
[23-04-2021 21:11:37] INFO ARM: utils.move_files Creating extras directory /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] INFO ARM: utils.move_files Moving '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] INFO ARM: main.main Moving Movie  to /home/arm/media/completed/movies/Movie Title (2008)
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Moving files:
TRY 3:
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title :  : True : Movie Title (2008) : False
[23-04-2021 21:11:37] INFO ARM: utils.move_files Moving '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] ERROR ARM: utils.move_files Unable to move '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] INFO ARM: main.main Moving Movie  to /home/arm/media/completed/movies/Movie Title (2008)
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Moving files:
TRY 4:
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title :  : True : Movie Title (2008) : False
[23-04-2021 21:11:37] INFO ARM: utils.move_files Moving '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] ERROR ARM: utils.move_files Unable to move '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] INFO ARM: main.main Moving Movie  to /home/arm/media/completed/movies/Movie Title (2008)
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Moving files:
TRY 5:
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title :  : True : Movie Title (2008) : False
[23-04-2021 21:11:37] INFO ARM: utils.move_files Moving '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] ERROR ARM: utils.move_files Unable to move '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] INFO ARM: main.main Moving Movie  to /home/arm/media/completed/movies/Movie Title (2008)
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Moving files:
TRY 6:
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title :  : True : Movie Title (2008) : False
[23-04-2021 21:11:37] INFO ARM: utils.move_files Moving '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] ERROR ARM: utils.move_files Unable to move '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] INFO ARM: main.main Moving Movie  to /home/arm/media/completed/movies/Movie Title (2008)
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Moving files:
TRY 7:
[23-04-2021 21:11:37] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title :  : True : Movie Title (2008) : False
[23-04-2021 21:11:37] INFO ARM: utils.move_files Moving '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] ERROR ARM: utils.move_files Unable to move '' to /home/arm/media/completed/movies/Movie Title (2008)/extras
[23-04-2021 21:11:37] INFO ARM: main.main Removing raw path - /home/arm/media/raw/Movie Title
[23-04-2021 21:11:37] INFO ARM: main.main Removing raw path - /home/arm/media/transcode/movies/Movie Title
[23-04-2021 21:11:37] DEBUG ARM: main.main No raw files found to delete in /home/arm/media/transcode/movies/Movie Title - [Errno 2] No such file or directory: '/home/arm/media/transcode/movies/Movie Title'
[23-04-2021 21:11:37] INFO ARM: main.main Removing raw path - /home/arm/media/raw/Movie Title
[23-04-2021 21:11:37] DEBUG ARM: main.main No raw files found to delete in /home/arm/media/raw/Movie Title - [Errno 2] No such file or directory: '/home/arm/media/raw/Movie Title'
[23-04-2021 21:11:37] INFO ARM: main.main ARM processing complete`

In this example the rip seemed to have ended up in the extras folder:
`Encode done!
HandBrake has exited.
[24-04-2021 03:29:45] INFO ARM: handbrake.handbrake_mainfeature Handbrake call successful
[24-04-2021 03:29:45] INFO ARM: handbrake.handbrake_mainfeature Handbrake processing complete
[24-04-2021 03:29:45] DEBUG ARM: handbrake.handbrake_mainfeature
[24-04-2021 03:29:45] DEBUG ARM: models.eject we unmounted disc/dev/sr0
[24-04-2021 03:29:45] DEBUG ARM: models.eject failed to eject/dev/sr0
[24-04-2021 03:29:45] DEBUG ARM: main.main New Title is None
[24-04-2021 03:29:45] INFO ARM: main.main Moving Movie  to /home/arm/media/completed/movies/Movie Title
[24-04-2021 03:29:45] DEBUG ARM: utils.move_files Moving files:
Try 1:
[24-04-2021 03:29:45] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title :  : True : Movie Title : False
[24-04-2021 03:29:45] INFO ARM: utils.move_files Creating base title directory: /home/arm/media/completed/movies/Movie Title
[24-04-2021 03:29:45] INFO ARM: utils.move_files Creating extras directory /home/arm/media/completed/movies/Movie Title/extras
[24-04-2021 03:29:45] INFO ARM: utils.move_files Moving '' to /home/arm/media/completed/movies/Movie Title/extras
[24-04-2021 03:31:35] INFO ARM: main.main Moving Movie  to /home/arm/media/completed/movies/Movie Title
[24-04-2021 03:31:35] DEBUG ARM: utils.move_files Moving files:
Try 2:
[24-04-2021 03:31:35] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title :  : True : Movie Title : False
[24-04-2021 03:31:35] INFO ARM: utils.move_files Moving '' to /home/arm/media/completed/movies/Movie Title/extras
[24-04-2021 03:31:35] ERROR ARM: utils.move_files Unable to move '' to /home/arm/media/completed/movies/Movie Title/extras
[24-04-2021 03:31:35] INFO ARM: main.main Moving Movie /home/arm/media/transcode/movies/Movie Title/Movie Title.mkv to /home/arm/media/completed/movies/Movie Title
[24-04-2021 03:31:35] DEBUG ARM: utils.move_files Moving files:
Try 3:
[24-04-2021 03:31:35] DEBUG ARM: utils.move_files Arguments: /home/arm/media/transcode/movies/Movie Title : /home/arm/media/transcode/movies/Movie Title/Movie Title.mkv : True : Movie Title : True
[24-04-2021 03:31:35] INFO ARM: utils.move_files Track is the Main Title.  Moving '/home/arm/media/transcode/movies/Movie Title/Movie Title.mkv' to /home/arm/media/completed/movies/Movie Title
[24-04-2021 03:31:35] ERROR ARM: utils.move_files Unable to move '/home/arm/media/transcode/movies/Movie Title/Movie Title.mkv' to /home/arm/media/completed/movies/Movie Title - [Errno 2] No such file or directory: '/home/arm/media/transcode/movies/Movie Title/Movie Title.mkv'
[24-04-2021 03:31:35] INFO ARM: main.main Removing raw path - /home/arm/media/raw/Movie Title
[24-04-2021 03:31:35] INFO ARM: main.main Removing raw path - /home/arm/media/transcode/movies/Movie Title
[24-04-2021 03:31:35] DEBUG ARM: main.main No raw files found to delete in /home/arm/media/transcode/movies/Movie Title - [Errno 2] No such file or directory: '/home/arm/media/transcode/movies/Movie Title'
[24-04-2021 03:31:35] INFO ARM: main.main Removing raw path - /home/arm/media/raw/Movie Title
[24-04-2021 03:31:35] DEBUG ARM: main.main No raw files found to delete in /home/arm/media/raw/Movie Title - [Errno 2] No such file or directory: '/home/arm/media/raw/Movie Title'
[24-04-2021 03:31:35] INFO ARM: main.main ARM processing complete`

I can't seem to reproduce this, can you attach a full logfile.

MANHATTAN_EU.log
This is from the second example above ... the one where the video ended up in the extras directory.

Apologies for deleting your comment, but i just noticed that ARM doesn't safely deal with tmdb_api_key or ARM_API_KEY (everything else is fine)
I have already pushed a commit to fix this issue, ill keep trying to replicate the bugs you're experiencing. i will reply as soon as i have an update.

Can you test with the latest commit and see if the issue is resolved ?
Thanks.

Sorry was it the version from the 25th?  I have been using that version and
still have some files ending up in extras.  Also had a couple that didn’t
seem to save the completed file.  So still seems to have the issue.  I will
try updating again when I get a chance to see if you made any changes since
then.
On Sat, May 1, 2021 at 12:56 AM 1337-server @.***>
wrote:

Can you test with the latest commit and see if the issue is resolved ?
Thanks.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/1337-server/automatic-ripping-machine/issues/73#issuecomment-830556412,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEUUAZW56TJRSPZFJJKMKUDTLOJX5ANCNFSM43QH3K3A
.

No it was the version from today.

Tried a couple of blu-ray discs and both ended up in the extras subfolder.  Attached is the debug log from one of them.
log.txt

Not sure if you had made additional edits to the scripts today but I just tried to pull down from gihub again and noticed main.py and another file were updated so I restarted and I am giving it another try to see if it is working.

I tried a couple of discs and one ended up in the extras folder and the other seemed to work fine.  So I am seeing the same issue still.
FYI, I do have the completed folder mapped to a SMB share ... could that have something to do with it?  I guess I can give it a try with it unmounted and will see what happens.

So I unmounted the share and retried.  I got the same result.  In the "extras" folder there is a folder with the same name / year as the title and then within that folder is the ripped file.  Strangely, the mkv file has the title but not the year in the name.
Maybe this has something to due with the length of the file name or use of special characters like "-" or "("?  Seems strange that ARM sometimes gets it right and other times not.

I think this may be caused by {ismainfeature} not being passed corrently to the utils.move_files function.
Can you check the job details page so either /jobdetail?job_id=THE_JOB_ID or visit the database page and find the correct job and click the poster image of the job.
Scroll to the bottom  and look for the tracks table (its at the very bottom)
Can you check that at least one of them is  both ripped=True and Main Feature=True
The job log does show that one of the tracks does get labelled as main feature, we just need to be sure that this track was added to the database.
[01-05-2021 17:33:21] DEBUG ARM: utils.put_track Track #105 Length: 7832 fps: 23.976 aspect: 1.78 Mainfeature: True Source:  handbrake [01-05-2021 17:33:21] DEBUG ARM: utils.put_track Track #112 Length: 41 fps: 23.976 aspect: 1.78 Mainfeature: False Source:  handbrake [01-05-2021 17:33:22] DEBUG ARM: utils.put_track Track #113 Length: 7832 fps: 23.976 aspect: 1.78 Mainfeature: False Source:  handbrake

Yes, there is one track that is labeled as both Main Feature and Ripped.
There are also some that are labeled as Main Feature False and Ripped True ... however, I don't end up with any extras.  Just the main movie in the extras folder.

Are there duplicates of the main track ? A track with the same size as the main feature but that shows as main feature =False ?

Yes.  It is labeled main feature false and ripped true.

Ok, ill look into this now that its narrowed down it shouldn't be too long

Thanks

Appreciate this issue is pretty old... but I am having issues with a few of the DVDs I've recently ripped -- which may be related.  In these specific cases, there is an error on the final move (to .../completed/movies) where the result is NOTHING gets moved, but EVERYTHING gets deleted!!  Very, very annoying...
I'm currently using the v2_ubuntu18 branch, but suspect the underlying issue is present in the main branch(es) as well.
Here is the ultimate error from one of my logs...
[07-03-2022 05:39:28] INFO ARM: Moving Movie title_t01.mkv to /home/arm/media/completed/movies/Darkest Hour (2017)
[07-03-2022 05:39:28] INFO ARM: Track is the Main Title.  Moving 'title_t01.mkv' to /home/arm/media/completed/movies/Darkest Hour (2017)
[07-03-2022 05:39:28] ERROR ARM: Unable to move 'title_t01.mkv' to '/home/arm/media/completed/movies/Darkest Hour (2017)' - Error: [Errno 2] No such file or directory: '/home/arm/media/transcode/movies/Darkest Hour (2017)/title_t01.mkv'
If I scroll up in the log to where the (Handbrake) transcode starts... I find this...
[01:15:11] job configuration:
[01:15:11]  * source
[01:15:11]    + /home/arm/media/raw/Darkest Hour/title_t00.mkv
[01:15:11]    + title 1, chapter(s) 1 to 20
[01:15:11]    + container: matroska,webm
[01:15:11]    + data rate: 7873 kbps
[01:15:11]  * destination
[01:15:11]    + /home/arm/media/transcode/movies/Darkest Hour (2017)/title_t00.mkv
[01:15:11]    + container: Matroska (libavformat)
[01:15:11]      + align initial A/V stream timestamps
[01:15:11]      + chapter markers
So... it looks like a 'counter' is getting messed up somewhere.
Here is the DARKEST_HOUR.log, as well as a couple others that resulted in the same = NO movie produced... :-(
DARKEST_HOUR.log
MALEFICENT_MISTRESS_OF_EVIL.log
SENNA.log

Ugg... three more DVDs with the same issue today...
VICTORIA_AND_ABDUL.log
YESTERDAY.log
OPTD2752.log

It looks like the code for finding the main feature isn't working correctly.
Confirmed this bug still exists.

Latest commit might fix this. If you wouldn't mind trying it out and letting me know, that would be great.
Thanks

I'll be happy to try the latest updates if it will help?  I'm working off the Ubuntu18 Branch, so are these updates also there?
And... (as mentioned elsewhere, GitHub noob here) what is the correct way to pull the latest (Branch) updates and do I need to backup anything before like arm.yaml?
Thanks!

I haven't had time to update the Ubuntu 18 branch yet, and i most likely won't until it's fully tested. It would create a lot of extra work, and I already have limited amount of time to work on it.
Sorry.
But once it's tested, and I know it's working on Ubuntu 20 and Debian, ill port the changes over.

No problem at all!  I'm happy to help/test, but as previously mentioned... after being out of acti9n for ~2 yrs, I'm sticking with 18.04 until I can get through the rest of my CD ripping.  Thanks to you and wolfy for all the work to get A.R.M. going again!

No worries, I totally understand. When I first got A.R.M working, I had hundreds of DVD's and a few dozen CD's. I just wanted it to work, so I know where you're coming from.


isort -y?

While working on #471 I wanted to run isort -y in the repo root folder as suggested in CONTRIBUTING.md, but that flag doesn't exist with isort 5.6.4. How should isort be called then?

Hi @psteinb,
thanks for reporting this. Whenisort changed versions from 4 to 5, the -y (--apply) flag became obsolete. Changes are now applied recursively to all files as default behavior. #475 addresses this issue by changing CONTRIBUTING.md.
Best, Jan-Matthis


Provide a bit more information on release pages

Changes to the releases page to convery a bit more information. This will work a bit better as we provide more binaries/releases. I've pretty much modelled it off Go's releases page with some changes.
Let me know if this looks okay or you prefer something else.
Old

New

Yes, I agree with your text about 0.2.0 vs master.


Getting Started with React Hooks

Proposed title of the article
Understanding React JavaScript  Hooks
Introduction
Before hooks (which came with in react v.16.8) function base components were basically just a render method. That meant if you were to use state, refs, or logic at LifeCycle events like componentDidmount(), componentDidUnmount(), or update you’d had to use the class syntax.
Now that we have react hooks, the number of react concepts we need to manoeuvre are greatly reduced when developing our applications. Examples of react hooks include; useState(), useEffect(), useContext() e.t.c
In this topic, we shall look at the following;
-The basic structure of react functional components.

The comparing and contrasting between functional base components compared to class base components.
How each hook aid in development of our applications.

Key Takeaways
1.Understanding why we prefer functional based components to class based components.
2.Understanding how to and when to use each  react hook.
3.Answering the question(do we still need to use class based components?).
References

React JavaScript Documentation.

@Evans-Chelelgo just wanted to follow up on this topic as I'm clearing up the queue where possible? Can be re-opened when needed.
Of perhaps I missed the PR this is attached to?


UC: b/g deployment

After integrating Prometheus into this UC, following tasks are necessary:

[ ] warm up phase in health check
[ ] github-service creates a virtual service for direct deployments
[ ] update of keptn-sockhshop/carts: Jenkins.ci, delete obsolete monspec, delete obsolete pipelines


Using grail-foundation with asset-pipeline support

Hello ,
I was wondering when there will be support for asset-pipeline, since that the default static file loader for grails 2.4.x above. Also would appreciate an update on the foundation css files to the latest version?
Thanks in advance

Hi,
are you in the mood to create a pull request with that changes.
I'm to busy lately which results in not having the time to take care of it.
Cheers
P.S.: IMO with asset-pipelines css plugins and js plugins are obsolete

Hello,
Will try and get some time to do this, things are crazy everywhere in
the world these days. Will need you help to get it right, so will get in
touch when I start cracking at it.
Thanks.
On 02/19/2015 11:06 AM, Konstantinos Kostarellis wrote:

Hi,
are you in the mood to create a pull request with that changes.
I'm to busy lately which results in not having the time to take care
of it.
Cheers
P.S.: IMO with asset-pipelines css plugins and js plugins are obsolete
—
Reply to this email directly or view it on GitHub
https://github.com/delight/grails-foundation/issues/12#issuecomment-75034643.

--
Fui Nusenu
twitter: @daptordarattler