[SPARK-32663][CORE] Avoid individual closing of pooled TransportClients (which must be closed through the pool)

What changes were proposed in this pull request?
Removing the individual close method calls on the pooled TransportClient instances.
The pooled clients should be only closed via TransportClientFactory#close().
Why are the changes needed?
Reusing a closed TransportClient leads to the exception java.nio.channels.ClosedChannelException.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
This is a trivial case which is not tested by specific test.

Test build #127694 has started for PR 29492 at commit 02375d7.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/32318/
Test PASSed.

Looks good to me, will wait for tests to pass.
+CC @vanzin

Test build #127694 has finished for PR 29492 at commit 02375d7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127694/
Test PASSed.

Looks good to me. Thanks @attilapiros

Looks right to me too.

Thanks for the fix @attilapiros ! Merged to master and branch-3.0


Cache miss even tho key exists

We're using actions/cache@v3 in self-hosted runners (ubuntu-based).
We get a cache hit in one branch:
Cache restored successfully
Cache restored from key: v16.15.0-nodemodules-91bd5669329abf8e285e2b706e76bc9787848689b31ec5755f991616af28e407

Then, roughly an hour later, in a different branch (same workflow), we get a cache miss for the same key:
Cache not found for input keys: v16.15.0-nodemodules-91bd5669329abf8e285e2b706e76bc9787848689b31ec5755f991616af28e407

Why?
No other workflow runs took place between them.
This is the action we're using:
name: 'Install Node dependencies'
description: 'Install Node dependencies'
author: 'proxyco'

inputs:
  path:
    default: '.'
    description: 'Location of node_modules'
    required: false
  node-version:
    description: 'The Node version'
    required: true

runs:
  using: "composite"
  steps:
    - name: Cache node_modules
      id: node-modules
      uses: actions/cache@v3
      with:
        path: ${{ inputs.path }}/node_modules
        key: ${{ inputs.node-version }}-nodemodules-${{ hashFiles(format('{0}/package-lock.json', inputs.path)) }}

    - name: Install dependencies
      if: steps.node-modules.outputs.cache-hit != 'true'
      # Skip post-install scripts here, as a malicious
      # script could steal NODE_AUTH_TOKEN.
      run: npm ci --ignore-scripts
      shell: bash
      working-directory: ${{ inputs.path }}

usage:
      - name: Set Node version
        run: echo ::set-output name=NODE_VERSION::$(node --version)
        id: nvm

      - name: Install dependencies
        uses: ./.github/actions/npm-install
        with:
          node-version: ${{ steps.nvm.outputs.NODE_VERSION }}

Had same thing happening, the cache API uses a version query param which you can see when you enable debug logging for Github Actions.
The version is just a hash of the cache paths and the compression algorithm, see https://github.com/actions/toolkit/blob/main/packages/cache/src/internal/cacheUtils.ts#L87
For me the version hash while the cache key was correct.
Solution was to uniformly install zstd on all nodes with sudo apt install zstd or brew install zstd.
One node had this already installed and was getting cache misses all the time.

Had same thing happening, the cache API uses a version query param which you can see when you enable debug logging for Github Actions.
The version is just a hash of the cache paths and the compression algorithm, see https://github.com/actions/toolkit/blob/main/packages/cache/src/internal/cacheUtils.ts#L87
For me the version hash while the cache key was correct. Solution was to uniformly install zstd on all nodes with sudo apt install zstd or brew install zstd. One node had this already installed and was getting cache misses all the time.

Interesting, thanks for sharing! I will turn on debug logging and check.
Question: When you say "node" do you mean the runner?

Question: When you say "node" do you mean the runner?

Yea

@BeyondEvil Yes, this is expected. You will get a cache miss on a different branch if the cache save happened on a different branch with the same key, unless the save happens in the main/master branch, in which case all the other branches can access it. Please let me know if you have any more questions.

Interesting, I'll have to check if the key exists in the main branch, as neither of the two branches involved here are main.

Cache restoration is very buggy. I am pretty sure that "restore-keys" doesn't help much. It misses even if I make a basic change.

@aminya, can you please share examples (key and restore key) of when you saw the cache miss, along with the branch the cache was present in and the branch that trying to restore it?

Here is the configuration. The matrix values all exist.
      - name: Cache
        id: my-cache
        uses: actions/cache@v3
        with:
          path: |
            ~/.cargo/
            ./target/
            ~/.pnpm-store
            D:\.pnpm-store
            ~/.local/share/pnpm/store/
            ~/AppData/Local/pnpm/store/
          key: "my-cache-OS:${{ matrix.os }}-Rust:${{ matrix.rust }}-${{ hashFiles('./**/Cargo.toml') }}-${{ hashFiles('./.cargo/config.toml') }}-Cpp:${{ matrix.cpp }}-Node:${{ matrix.node }}-${{ matrix.pnpm }}-${{ hashFiles('./.npmrc') }}-${{ hashFiles('./package.json') }}"
          restore-keys: |
            "my-cache-OS:${{ matrix.os }}-Rust:${{ matrix.rust }}-"

Thanks @aminya. Did you try to restore keys across different branches? Please refer this

Well, surprisingly enough, the cache misses across different branches. But I am aware of that bug, and this was not that.

Is your repo public @aminya ? If yes please share the link where you saw the failures. Else please run in DEBUG mode and share the logs here.
Moreover FYI, we recently released APIs for cache management and CLI extension for the same. Requesting you to please use the same to list caches and check if the cache you're expecting to hit is present or evicted. If present, please make sure it is present in the default branch (main/master).
Secondly, here's some info on Cache scopes, it is not a bug, rather a feature.

The cache is scoped to the key and branch. The default branch cache is available to other branches.

Closing this. Tracking the docs change for the same at https://github.com/actions/cache/issues/823 .

Secondly, here's some info on Cache scopes, it is not a bug, rather a feature.

Not a good feature. It is undermining GitHub's biggest feature which is making a pull request.
https://github.com/actions/cache/issues/79#issuecomment-1204808650

I'm seeing a problem with this issue as well. I checked the caching docs for cache scopes and saw it says not only the default branch should be checked, but also the parent or upstream branches. Here's a quote from the docs:

The cache action first searches for cache hits for key and restore-keys in the branch containing the workflow run. If there are no hits in the current branch, the cache action searches for key and restore-keys in the parent branch and upstream branches.

However, the behavior i'm seeing is that i'm still getting cache misses for restore-keys when the parent branch has a cached value and the current branch has the same prefix as the parent branch. This makes me believe there's a bug in the cache scopes logic on the ACTIONS_CACHE_URL /
artifactcache.actions.githubusercontent.com endpoint at /_apis/artifactcache/cache.
Here are the outputs from a recent CI build:
parent branch output (which ran and completed first): Cache restored from key: Linux-yarn-v1-f2a5eba87e3842f3c8af956155ff7665aaa716c5195121736d43345199595a0b
child branch (which ran after parent branch CI): Cache not found for input keys: Linux-yarn-v1-a3a9c5880d5a5f56809c4a05c1f01f2ddd9a86189280acfbaccb007e30578e6c, Linux-yarn-v1-
In this instance, I don't expect a full cache match because the keys are different (which is due to a change in our yarn.lock file, see the config below). however, i do expect the restore-keys value of Linux-yarn-v1- to match the parent branch output so that we can get a partial cache restoration.
here's the relevant snippet from our action.yml:
    - name: Setup Yarn cache
      uses: actions/cache@v3
      id: yarn-cache
      with:
        ... some config omitted ...
        key: ${{ runner.os }}-yarn-v1-${{ hashFiles('**/yarn.lock') }}
        restore-keys: |
          ${{ runner.os }}-yarn-v1-

Would really appreciate if someone could look into if there's a bug on the GitHub implementation of cache scopes. cc @vsvipul @kotewar

I'm seeing a problem with this issue as well. I checked the caching docs for cache scopes and saw it says not only the default branch should be checked, but also the parent or upstream branches. Here's a quote from the docs:

The cache action first searches for cache hits for key and restore-keys in the branch containing the workflow run. If there are no hits in the current branch, the cache action searches for key and restore-keys in the parent branch and upstream branches.

However, the behavior i'm seeing is that i'm still getting cache misses for restore-keys when the parent branch has a cached value and the current branch has the same prefix as the parent branch. This makes me believe there's a bug in the cache scopes logic on the ACTIONS_CACHE_URL / artifactcache.actions.githubusercontent.com endpoint at /_apis/artifactcache/cache.
Here are the outputs from a recent CI build:
parent branch output (which ran and completed first):
Run actions/cache@v3
  with:
    ... config omitted ...

    key: Linux-yarn-v1-f2a5eba87e3842f3c8af956155ff7665aaa716c5195121736d43345199595a0b
    restore-keys: Linux-yarn-v1-

  env:
    ... env omitted ...

Received 234881024 of 397891754 (59.0%), 222.2 MBs/sec
Received 385308842 of 397891754 (96.8%), 182.9 MBs/sec
Received 393697450 of 397891754 (98.9%), 124.8 MBs/sec
Received 397891754 of 397891754 (100.0%), 112.7 MBs/sec
Cache Size: ~379 MB (397891754 B)
Cache restored successfully

Cache restored from key: Linux-yarn-v1-f2a5eba87e3842f3c8af956155ff7665aaa716c5195121736d43345199595a0b

child branch (which ran after parent branch CI):
Run actions/cache@v3
  with:
    ... config omitted ...

    key: Linux-yarn-v1-a3a9c5880d5a5f56809c4a05c1f01f2ddd9a86189280acfbaccb007e30578e6c
    restore-keys: Linux-yarn-v1-

  env:
    ... env omitted ...

Cache not found for input keys: Linux-yarn-v1-a3a9c5880d5a5f56809c4a05c1f01f2ddd9a86189280acfbaccb007e30578e6c, Linux-yarn-v1-

In this instance, I don't expect a full cache match because the keys are different (which is due to a change in our yarn.lock file, see the config below). however, i do expect the restore-keys value of Linux-yarn-v1- to match the parent branch output so that we can get a partial cache restoration.
here's the relevant snippet from our action.yml:
    - name: Setup Yarn cache
      uses: actions/cache@v3
      id: yarn-cache
      with:
        ... some config omitted ...
        key: ${{ runner.os }}-yarn-v1-${{ hashFiles('**/yarn.lock') }}
        restore-keys: |
          ${{ runner.os }}-yarn-v1-

Would really appreciate if someone could look into if there's a bug on the GitHub implementation of cache scopes. cc @vsvipul @kotewar

I'm facing the same issue. Have you found a solution to resolve this?


Phantom JS gets crashed

I am facing a problem of Phanomjs getting crashed, when I try to see what is wrong. There was a error message saying file a bug report with a dmp file.This happened when I was trying to take a PDF of a html page.
I was unable to attach the dmp file, so am sharing the link
https://drive.google.com/file/d/0B_IkFcVfd3N5VzBzWGJWUlBoSHc/view?usp=sharing

@AnnamalaiNagappan also share a bug reproduction


[Process] kill() returned unexpected error 1

[Process] kill() returned unexpected error 1

It's a WKWebView error. Technically, it's fixed but hasn't migrated yet.


Balance incorrect on Add/Hide token page

name: Bug Report
about: Using AlphaWallet, but it's not working as you expect?

Describe the bug
A clear and concise description of what the bug is.
Steps to reproduce (REQUIRED)
Steps to reproduce the behavior

Tap Wallet tab
Tap Add/Hide Tokens

Expect
Check the Displayed Tokens section, all balance are correct, 2 ENS, 1 xPUNK.
Or do not show the balance as Android does. @colourfreak Here it's different on 2 platforms.
Observed
Only ETH balance is correct, others are 0.
Screenshots

Android:

Version or build number number
3.34(417)

it seems like it doesn't work for collectibles tokens, will take a look on it


Consider showing properties on the file list

Suggested by @Careframe1 on the SE Forum:
https://community.sw.siemens.com/s/question/0D5Vb00000Lej9IKAR/solid-edge-housekeeper-v20243-is-released
Also be able to sort on property values.

I considered doing that some time ago, but then I got busy and didn't try it.
For sure don't even try to use the Solid Edge property APIs, it would have a bad performance impact on a large list of files.
I suggest using the same method as in the direct properties editor; it should be fast enough.
I can take this task.

OK, I assigned it to you.  No rush, obviously.

I'm thinking about changing ListOfColumns to store the whole property formula (eg %{System.Title}) instead of just the name (Title).
Two reasons:

We could reuse UtilsCommon.GetOLEPropValue(), eliminating UtilsFileList.FindProp.
We could provide the option to use DM if someone wanted Material or other properties not in structured storage, and "|R1" props for Draft files.

The second option would incur a performance hit, but the user could decide if it's worth it.
I can make the change.  I'm mostly wondering if you see anything I'm missing.  (BTW, I would strip the prop name from the formula for the column header text.)

Yes Robert sounds good. I would store it in a duupe so we can also store the visibility.
It would be a list(of String, Boolean)

Cool.  I'll play around with it today.

Partially completed with #143
A possible future improvement could be to store column width and ability to reorder columns

@rmcanany On the Column Properties localized ones don't work, I have to add manually the English name. Can you take a look?

@farfilli I will take care of that.
I am going to use UtilsCommon.SubstitutePropertyFormula, which already does it.  I'm also going to add a Formula property to the PropertyColumn class.  It would be in the correct format, eg %{System.Title}.
I like the magic delete buttons, by the way.  That slick how you did that.
On a related note, what does this do?
        Me.CLB_Properties.Items.AddRange(New Object() {"Name", "Path"})

It had the initial two properties name and path to the checkboxlist

Oh, got it.

But they start unchecked, perhaps add them programmatically at first startup or if they miss in the configuration file. It needs to be initialized in some way.
About the magic button its just a regular button that show/hide based on mouse position

OK, I'll make sure they're initialized correctly.  That's no problem.

@farfilli
I added Formula to PropertyColumn and switched from using FindProp to SubstitutePropertyFormula.  When you get a chance, could you test localized properties?
I haven't done the saved settings yet.  That's next.

Localized properties still doesn't work, in the image you can see the localized one beside the english one

I added an initializer for template properties.  It's up on GitHub.  Not sure that's the whole story.  Let me know if it works.
While you're at it, it would be good to check Edit Properties, too.  It uses the same code and might tell me if something is broken in there.

The ListOfColumns List doesn't contain "Name" and "Path" anymore; they are mandatory to be in the list at positions 0 and 1.
It seems they are missing now therefore it is not possible to show/hide them.
The column configuration is not maintained from one run to another
Localization still not working

Fixed Path and Name startup with #144

Thanks for that.  I'm still working on the saved settings part.

Can do.

Oh sorry, I meant get/set on the ListView object.  I found it: ListViewFiles.Columns.Item(i).Width = W

I think the saved settings are working now.  I haven't added the column width piece yet.

It seems to work, good job

I have implemented the column width property with #145
I did try to implement the width saving but as I understand if I update the JSON list then an update is fired that goes into a loop.
I blocked the loop initially by a boolean property, then a better method was to compare width values and if they don't really change skip the update.

Yes I'm done but don't forget that localized properties still doesn't work

Oh, I missed the part about localized properties.  Did you say they're working on Edit Properties?

Never mind.  I found the issue.  Now to fix it...

I don't know if it's working, but at least it is compiling.
If it works in the list properties code, it should work everywhere.  If you want to double-check, here are the other places SubstitutePropertyFormula is called.

TaskEditProperties: FindText and ReplaceText
SaveDrawingAs: SubdirectoryFormula
SaveModelAs: SubdirectoryFormula

What do you think about Export List including the extra columns?

I don't know if it's working, but at least it is compiling.
If it works in the list properties code, it should work everywhere. If you want to double-check, here are the other places SubstitutePropertyFormula is called.

TaskEditProperties: FindText and ReplaceText
SaveDrawingAs: SubdirectoryFormula
SaveModelAs: SubdirectoryFormula

Edit: The SaveAs commands don't use structured storage, so they should be working already. Hopefully.

I have tested localized properties in Direct Edit and Solid Edge Edit on FindText, and ReplaceText both in PT and in EX and it seems to work fine.
Tested SaveModelAs in SubdirectoryFormula and it works ok
There is a bug with Custom properties that seems to be case-sensitive:
These settings work fine:

These settings lead to an error:

Please note that in the file the custom properties is written in upper-case "OGGETTO 1"

I did try to implement the column update after the property edit but in the case of Solid Edge edit I got a cross-thread error; not a problem in direct edit. I did try to pass the listviewitem as a parameter in the Process sub but it wasn't a good idea.
I think the best approach would be the thread passing back info to update the listviewitem values after each execution, it may be something to insert in the dictionary of errors, which would be a dictionary of execution or something like that.

@rmcanany I have implemented property edit from FileListView, just double-click a property to edit it.
I have created a new method in TaskEditProperties to edit a single file property

Good deal.  I like the idea of editing the properties like that, but I got an exception.  The file isn't open in another application as far as I know.

Not sure how to handle the text case issue.  It's bombing out because TemplatePropertyDict does not have that key.  I guess I could convert everything to upper case.  I would have to see what other problems that might create.
Is something like that going on in UC.GetOLEPropValue()?  Could you explain what Function(Proper) Proper.PropertyName does?  Also why sometimes upper case and other times lower case?
OLEProp = System_Properties.Properties.First(Function(Proper) Proper.PropertyName = "PIDSI_" & PropertyName.ToUpper)
OLEProp = System_Properties.Properties.FirstOrDefault(Function(Proper) Proper.PropertyName.ToLower Like "*" & PropertyName.ToLower & "*")
OLEProp = Custom_Properties.UserDefinedProperties.Properties.FirstOrDefault(Function(Proper) Proper.PropertyName = PropertyName)
I've run across the cross-thread issue before.  A programmer I know said that's what STDOUT and friends are for.  Once I get it working for error reporting, I can look at updating the ListView.

I don't know what may lock the file, I did test with some files in a folder and was working correctly. Didn't test it extensively.
About the ToUpper is mandatory in streams cause they are written that way. The ToLower is just an easy way to compare it could be ToUpper as well.
About the custom properties being case sensitive I didn't investigate the reason,

That Function is to get the property by name without the need to parse all the properties stream.

Got it.
Changing a property in the ListView works for me sometimes and not others.  I'll see if I can narrow it down.
Is there a reason for UpdateSingleProperty to be in TaskEditProperties?  I'm thinking about moving it to  UtilsCommon.

I didn't know how the localization worked and thought it had to be there. Move it where you think is it's place 👍🏻

Need to implement the addition of custom properties in case they are missing

Forgot about that one.  I can play around with it.
On a related note, I downloaded SSView to get a better idea about structured storage.  Poking around, I noticed that Material, Material Thickness, and Sheet Metal Gage are all stored in there.  For some reason I thought they weren't.  Was the issue with OpenMcdf not being able to access the correct stream or something?

I haven't found the density, that's the main concern about changing material.
All other things you found are already managed by direct editing.
I can do it on Monday, It was just a reminder 😅

Oh, I didn't know that direct edit had access to all those.  Great!
Do we need to update these lists, or is it handled some other way?
        Dim SIList As New List(Of String)
        SIList.AddRange({"Title", "Subject", "Author", "Keywords", "Comments"})

        Dim DSIList As New List(Of String)
        DSIList.AddRange({"Category", "Company", "Manager"})

        Dim FunnyList As New List(Of String)
        FunnyList.AddRange({"Document Number", "Revision", "Project Name"})

I found Density with SSView:

I would be glad to let you handle the OpenMcdf stuff.  I reread your Issue on their GitHub page.  I could maybe figure it out, but not in this lifetime.

I Will take a look at that, it opens to more capabilities 👍🏻

Sounds good.
I'm still getting random exceptions when editing the ListView and now when doing Edit Properties outside of SE.  For Edit Properties it's random.  Run it two times in a row and different files bomb out.  It's usually 3 or 4 files out of a hundred.  Can you think of something I could have messed up on my end?

Did you try with the file in the training folder?

Same story in the training folder.  That's a good idea about getting the latest build.  How do I do that?

I downloaded the zip files.  Do I just place the dlls in My Project folder?

Come to think of it, it's happening when the file stream is being created -- before OpenMcdf even gets its hands on it.  I found a bunch of info on the issue here.  I might try a few of those suggestions.

I got to work 2 times in a row by adding these lines in two locations in UtilsFileList.  It seems to have fixed ListView edit as well as Edit Properties.
cf.Close()
fs.Close()
cf = Nothing
fs = Nothing

I downloaded the zip files.  Do I just place the dlls in My Project folder?  Also, net40 or netstandard2.0?

I usually download the latest code, build the DLLs and copy them in the project folder (overwriting the current ones)
should be net40

Need to implement the addition of custom properties in case they are missing

I have implemented it by 8a6320c205f31162e8532c22e8a087ce801f9d61
Please note that there is an important code change

Oh, I didn't know that direct edit had access to all those. Great!
Do we need to update these lists, or is it handled some other way?
        Dim SIList As New List(Of String)
        SIList.AddRange({"Title", "Subject", "Author", "Keywords", "Comments"})

        Dim DSIList As New List(Of String)
        DSIList.AddRange({"Category", "Company", "Manager"})

        Dim FunnyList As New List(Of String)
        FunnyList.AddRange({"Document Number", "Revision", "Project Name"})

I found Density with SSView:
I would be glad to let you handle the OpenMcdf stuff. I reread your Issue on their GitHub page. I could maybe figure it out, but not in this lifetime.

The density and Accuracy shown in the picture are present in the custom list as exposed but can be deleted.
I noticed that they are recreated if you don't have them while changing the material through the Solid Edge interface
If you change the value of those properties instead the Material is not updated, in my opinion, those properties should be read-only.
Changing the density through SSView doesn't work, I didn't try with OpenMCDF, in any case, it would not update the Material density.
Changing the name of the material will not update the other physical properties therefore a method to read the mtl file and set the properties would be required, and in the end, the Density will not be updated cause I haven't found it in the material section.

We could instead implement perhaps those properties as read-only for reference purposes, let me know what do you think

OK.  That makes sense -- those are exposed variables, so probably don't propagate back to the variable table.  I like the read-only idea.
For the release I'm working on, do you think we're ready to include the changes to the ListView?  If not, I think I can just disable the button on the toolbar.  Let me know.

By the way, I checked one file where I had changed a custom property and it showed up correctly in the Windows property page.

Did you change it before the last update of the DLL ?

Agreed.  I'm going to disable the button for now.
I didn't update the DLL on my end.  Did you update it on your side?

I did update it on 09/09/2024, can you check if your edit occurred previously?
We need to create a list of checks to do when updating these DLLs cause they are evolving fast.
When the next release will be on NuGet we will move on it and consider it not experimental anymore.

My edit was in the last couple of days.  Maybe it has something to do with localized properties?

My edit was in the last couple of days. Maybe it has something to do with localized properties?

Custom properties shouldn't be affected by localization, does the code try with them too?

OK, so that's not in the released version, right?

Oh, right about custom properties.  For those it still uses the lookup table, but the English name is the same as the custom property name.

I got the click event to fire by changing HeaderStyle to Clickable.
If you have time, you're welcome to do the sorting.  Otherwise I think I can do it with this sample code.

I kinda got the sort code started, but am having trouble with SubItems comparison.  Maybe there's an easier way.  Ideas?

And once you're done debugging that one, I have another.
I am trying to consolidate the fetching of an OLEProp.  For a test, I modified UpdateSingleProperty to use my new GetOLEProp consolidated code.  The idea was to eventually do the same in GetOLEPropValue, and TaskEditProperties.
In UpdateSingleProperty, if you set MyWay = False (in other words, do it your way) it works.  Set MyWay = True and it doesn't.  I must not be saving it correctly.  I used co.Save(dsiStream) and cf.Commit(), but no luck.  If you get a chance, could you see if you can spot where I'm going wrong?
The way I check if it worked, by the way, was to change a property value on ListViewFiles, then update the list.

I kinda got the sort code started, but am having trouble with SubItems comparison. Maybe there's an easier way. Ideas?

Done with #148 , I had that code ready yesterday sorry for the late commit

That looks great!  Nice job.  This is done, right?
I'll add a separate issue about cleaning up the DLLs.  Maybe another on consolidating OLEProps.

I've gotten this exception a couple of times.  I'm pretty sure it's only after I hit the Cancel button.

It's the same issue I got on end form. Perhaps it's the same issue, it occur with collapsed ground?

Nothing was collapsed in the ListView.  Could I just add a Try/Catch there?

I am getting ready to make Material available as an OLEProp.  (I don't really think the others are necessary, but could easily add them if you do.)
How do you map from a Property Set to a Stream?

Have a look here:
https://github.com/ironfede/openmcdf/commit/0c8fc18a3046f0d7868303d5b279f0bff5344e66#comments

Nothing was collapsed in the ListView. Could I just add a Try/Catch there?

Today the problem didn't appear, have you solved it? I removed the column expand before close

It would be good to save the MainForm size and position on close and restore on load

I have implemented Extended Properties and the code to handle different property types.
Please have a look at my comments in the code and here https://github.com/rmcanany/SolidEdgeHousekeeper/pull/153#issuecomment-2416673514

Save and restore form size and position complete.

Added protections to keep a column from referring to an unknown property.  The combo box is now a non-editable drop down list.  I still need to add similar functionality to other places where properties can be used, e.g. Edit Properties, Save As, etc.

If I understood your suggestion to consolidate the different read-write property functions, there is already a method, UC.TemplatePropertyDictAddProp that does the writing part.  It handles the localization piece by consulting a lookup table.
Is that the kind of thing you're looking for, or are you talking about something else?

Added Property Selector to Property Filter and Edit Variables (which now accepts a property in the Formula field).  Right-click the appropriate text box to open the dialog.
Added a Design Manager option to UC.SubstitutePropertyFormula.  Uses the new UC.GetDMProp to get those properties.
Added a new key to TemplateProperyDict, PropertySetActualName, to avoid the confusion between e.g. SummaryInformation and System.  The only place it is used is in the localized property lookup table.  There it's required.  Delete Preferences\form_main_settings.json to get around the exception that causes.

I got some error while loading the old property columns configuration file at startup.
In my opinion, this situation should be handled so the user won't lost its configuration when moving from an HK version to a newer

I'll have to see if I can fix it.  Could it be related to the new dictionary key I mentioned?

I'll have to see if I can fix it. Could it be related to the new dictionary key I mentioned?

Yes, I think that's the problem.
Some Thoughts:
In my opinion instead of a dictionary I would construct a class to handle the whole columns thing, it would be easier to invoke methods like load\save\update and easy to expand in future functionality.
In general, I see you use a large amount of dictionaries that lead to a lot of code, it would be good to start creating specific classes for easy code management.
You wrote almost all the code so you know how to find things and how it works but for me, it is difficult to follow it in case I need to change or expand it. Perhaps one day we can plan a whole new release rewritten with all the features in mind. 😄

Showing a lot of properties in the listview has an impact on the update button.
For example, for a list of 2560 files on my NAS, an update takes 0,9 minutes without properties, 2,4 minutes with 2 properties, and 5,1 minutes with 5 properties
I would add a warning somewhere somehow.
I have already optimized the openMCDF code to avoid opening and closing multiple times in the same file but I suspect there is space for some more improvement. If you have time and want to analyze where most of the time is spent you are welcome.
There has been some enhancement in open MCDF later in performance, I will test it out to see what score we get.

Appreciate the suggestions.  I like the idea of using classes.  It's easier to find how it's constructed, for one thing.  Also, you can mix Types which is something I have to work around now.  It's also also something that can be implemented over time.  I might start with TemplateProperties and see how it goes.
I'll add a warning in the Readme about performance.  Of course we want it to be fast, but the speed doesn't really bother me too much.  Showing progress on the Status bar lets me know it's doing something, which helps.

I'll add a warning in the Readme about performance. Of course we want it to be fast, but the speed doesn't really bother me too much. Showing progress on the Status bar lets me know it's doing something, which helps.

I often work with large list of files, like 40000, and wait an hour just to populate the list because I forgot property columns is not ideal. Maybe a warning could pop-up if you have a list over 1000 files that ask you if you want to disable the property columns.
To make it work, it would first retrieve the list of files and then eventually update the property columns.

One more note, I have implemented backcolor in the properties.
White color = regular property
Gray color = property not present
Pink color = can't read it, the file is open by someone

I saw that color coding.  Nice.  Did you see my note in your latest PR about the properties not showing up for me?
Makes sense about the large list of files.

Did you see my note in your latest PR about the properties not showing up for me?

I missed that one, where is it?

Here in the comments: https://github.com/rmcanany/SolidEdgeHousekeeper/pull/154

Check during the properties retrieval what values it looking for.
Can you also send me a couple of those files?
In the end, I'm thinking to populate properties on listview item visibility to gain much in performance

I added a check for a large number of files and provided a message box for the user to decide if properties should be included or not.
I also changed around how FoundFiles are sent to the list view update.  Now files from all Sources are gathered into one list.  Duplicates are removed before updating the list, eliminating the time-consuming check for duplicates there.
On a test with 29,692 files and no processing of properties, the list updated in 0.2 min.  When processing with 2 properties, it took 7.6 min.
I like the idea of skipping updates for properties that are not displayed.  If a user decides to display a new column, we could set the ListViewFilesOutOfDate flag.  That way they couldn't proceed without updating the list.

I will check what's happening when trying to retrieve those properties on my files.

Just did a quick test and they're showing up now.  I may have been looking a draft files before.
Actually, one file didn't show the properties.  I checked and they're present in the file.  I'll see if I can figure out what's going wrong with that one.

That one file is bombing out at line 875 of UtilsCommon.
'dsiStream = cf.RootStorage.GetStream("DocumentSummaryInformation")'
It's probably messed up somehow.  Sent an email.

Is there a faster way of doing this?  I had populated the list with a large number of files, then accidentally hit Update again.  It took forever.
        For i = ListViewFiles.Items.Count - 1 To 0 Step -1
            If ListViewFiles.Items.Item(i).Group.Name <> "Sources" Then
                ListViewFiles.Items.Item(i).Remove()
            Else
                GroupTags.Add(CType(ListViewFiles.Items.Item(i).Tag, String))
            End If
        Next

I tried this, but got an exception adding an item to tmpListViewFiles.
        'Dim tmpListViewFiles As New ListView
        'Dim TagName As String

        'For i = ListViewFiles.Items.Count - 1 To 0 Step -1
        '    If ListViewFiles.Items.Item(i).Group.Name = "Sources" Then
        '        tmpListViewFiles.Items.Add(ListViewFiles.Items.Item(i))
        '    Else
        '        TagName = CType(ListViewFiles.Items.Item(i).Tag, String)
        '        If Not GroupTags.Contains(TagName) Then
        '            GroupTags.Add(TagName)
        '        End If
        '    End If
        'Next

        'ListViewFiles = tmpListViewFiles

What If we create two separate list for files and sources? In this way we could just clear the listviewitems collection and recreate the source items from the list

Brilliant!

I can give it a go.  It's gotta be getting late over there.

Quick FYI, I switch to working on Doc Status and haven't touched the Listview.  If you want to work on it, go for it.  You shouldn't hit any merge conflicts.  If not, don't give it a second thought.  It's next on my list.

Agreed.  Added a new issue: https://github.com/rmcanany/SolidEdgeHousekeeper/issues/158

@rmcanany can you check why the LVItem.Bounds return a wrong Bottom value?
I did a test with the ListViewCollapsible in another project, and it works correctly; therefore, something else should be in the initialization of the form.
The line of code is this: https://github.com/rmcanany/SolidEdgeHousekeeper/blob/a06ecad8e68df4a3888400c2278a733809b37ddb/My Project/UtilsFileList.vb#L1176

You're trying to determine visibility on the form, is that right?  I don't really see how that would help, but I trust you.
Anyway, I noticed that the rectangle was always 0,0,0,0 when the LV was first cleared, then repopulated.  That probably makes sense since the LVItem is added to ListViewFiles only after all the processing.
If I added a new property column, then clicked Close, I saw the values changing.  I inspected the bounds like so (with a break point, not shown, below these lines).
        'If LVItem.Bounds.IntersectsWith(FMain.ListViewFiles.ClientRectangle) Then
        Dim x = LVItem.Bounds
        Dim y = LVItem.GetBounds(ItemBoundsPortion.Entire)
        Dim z = FMain.ListViewFiles.ClientRectangle

You had previously mentioned only populating properties only for visible columns.  What about changing this:
If PropColumn.Name <> "Name" And PropColumn.Name <> "Path" Then

to this?
If PropColumn.Name <> "Name" And PropColumn.Name <> "Path" And PropColumn.Visible Then

The point is to update ListviewItem.Subitems only on visible items.
In my tests the bounds.bottom property was always like -210000000 that obviously never intersect the listview bounds

I didn't see numbers like that.  I did get an exception if I tried to add a new property column with a section collapsed.
Wouldn't checking the column visibility do what you want, or am I missing something?  Also, what would happen if the user scrolled the list down after the update?  Would those properties not be present?

I will take again a look tomorrow, my plan is to update only visible items when they appear.

Got it.  Somewhere I saw LV virtual mode mentioned in that context.

Took a stab at clearing ListViewFiles and repopulating just the Source items.  It's a little clunky.  Any streamlining ideas are welcome.

I think we can close this as completed.
With the latest code optimization the population of properties its quite fast and if an user has to work with thousands of file he can always disable the properties columns to speed up.
Perhaps a warning when more than x thousands of file are found could pop-up?

I did add a warning a few weeks ago in UtilsFileList.vb in method PopulateListView().  Is it not showing up for you?  It may be in the wrong spot.
    Public Sub PopulateListView(FoundFiles As IReadOnlyCollection(Of String))

        Dim UC As New UtilsCommon
        Dim tf As Boolean
        Dim NumProcessed As Integer = 0
        Dim PopulatePropertyColumns As Boolean = True

        ' ###### User input for displaying file properties for a large number of files.
        If (FMain.ListOfColumns.Count > 2) And (FoundFiles.Count > 1000) Then
            Dim s As String = String.Format("Getting file properties on {0} files can take some time.  ", FoundFiles.Count)
            s = String.Format("{0}Do you want to have them displayed anyway?", s)
            Dim Result As MsgBoxResult = MsgBox(s, vbYesNo)
            If Result = MsgBoxResult.No Then
                PopulatePropertyColumns = False
            End If
        End If

Sorry Robert, I didn't know about it. Will check it tomorrow but seems ok

Closing as complete.  It is a great addition.  Thank you!

Closing as complete for real this time.


Test plugin against flightsql clients

this flightsql https://github.com/voltrondata/flight-sql-server-example only supports TLS:
flightsql: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority"
try flag to toggle InsecureSkipVerify

a good test environment is https://github.com/apache/arrow/blob/main/go/arrow/flight/flightsql/example/cmd/sqlite_flightsql_server/main.go
we cannot currently support https://github.com/voltrondata/flight-sql-server-example as we dont support certificates


Decide on how to do research on navigation (as a concept)

What
With Design System users
We identified that we may wish to investigate why our users wish to put things between the header and proposed service navigation component
With end users of GOVUK services
Do research with end users - method tbc
Why
We would like to know more about what our Design System users are building and how we can improve our contribution in order to fit their needs.
We would like to know more about our end-users and be open to them having different Navigation needs to ones we are building to address. We'd also like to learn more about specific things like highlighting where they are within the website.

We may be able to trust that our Design System users have already identified the need for Navigation in end users

We need more time to make a decision and move forward with an approach.
We have conducted some desk research on a list of services, identifying differences in their headers.


Add "Total people volunteered" to Project Module

Under the Projects module
a) Click on a project
Please add a numeric field above "Volunteer Hours" with the same field type called "Total people volunteered."
Also chance the text from "Volunteer Hours" to "Total hours volunteered."

I have updated the "Volunteer Hours" under the Project Info page as well as the Report Search page.


revise content of

From<EMAIL_ADDRESS>on December 02, 2013 18:41:42
<incip> should permit the capture of metadata (key, time, role, instrument, etc.) that is currently allowed in bibliographic data, such as MARC.
Original issue: http://code.google.com/p/music-encoding/issues/detail?id=186

From<EMAIL_ADDRESS>on June 17, 2014 11:56:00
This issue was closed by revision r1226 .
Status: Fixed


Nightly dev builds

Releasing dev builds to pypi is currently done manually and in an ad hoc manner.  We could move to nightly builds.

Sounds reasonable. Any suggestions on what would actually be producing the builds? Some kind of cron job running on Travis?

We could use Cloud Build on GCP as well.

I'm looking into this.
Current idea is that we will do dev builds to a separate cirq-dev pypi package on every commit to master.  We can use travis's deploy functionality to do this I think.

We now have builds that deploy on every successful new merge.  These are pushed to "cirq-dev" which is owned by "quantumlibdev".

YAY!!

Look for a new way of doing this.

Think we can close this again since we are back doing this?  Or was there some other way we wanted to look to do this?

I think it's good! :+1:


having to manually put $table->timestamps();

in config/infyom/laravel_generator.php

'timestamps' => [
    'enabled'       => true,
    'created_at'    => 'created_at',
    'updated_at'    => 'updated_at',
    'deleted_at'    => 'deleted_at',
],

i do:
php artisan infyom:migration 	example   --fieldsFile="resources/js/example.json"
the result in my migration is:

$table->increments('id');
$table->string('name', 190);
$table->smallint('example1')->unsigned()->nullable();
$table->decimal('example2', 10, 2)->unsigned()->nullable();
$table->softDeletes();

i'm having to manually put
$table->timestamps();
i did something wrong not to go automatically?

@timoteo7 Can you paste your resources/js/example.json here? Also, specify which version of laravel and generator you are using?

Laravel is 5.8
"infyomlabs/laravel-generator": "5.8.x-dev",
"infyomlabs/swagger-generator": "dev-master",

[
{
"name": "id",
"htmlType": "",
"dbType": "increments",
"validations": "",
"searchable": false,
"fillable": false,
"primary": true,
"inForm": false,
"inIndex": false
},
{
"name": "titulo",
"htmlType": "text",
"dbType": "string,190",
"validations": "required"
},
{
"name": "periodo",
"htmlType": "number",
"dbType": "smallint:unsigned:nullable"
},
{
"name": "bonus",
"htmlType": "number",
"dbType": "decimal,10,2:unsigned:nullable"
}
]

@timoteo7 when you are generating crud from files, it needs to have timestamps fields. But if are using CLI then timestamps are not needed, but when we save a file, we store timestamp fields there. so add timestamps fields in your JSON file and it should work.
{
    "name": "created_at",
    "dbType": "timestamp",
    "htmlType": null,
    "validations": null,
    "searchable": false,
    "fillable": false,
    "primary": false,
    "inForm": false,
    "inIndex": false
},
{
    "name": "updated_at",
    "dbType": "timestamp",
    "htmlType": null,
    "validations": null,
    "searchable": false,
    "fillable": false,
    "primary": false,
    "inForm": false,
    "inIndex": false
}


[Bug]: New Bug via Webhook

What happened?
A bug happened!
Testing Webhook
Jira Status (Internal)
Backlog

testing comment from GitHub

testing comment again


iPad popover on modal window

If I try to show the popover view on a button in a modal window, I got the following message:
Warning: Attempt to present UIActivityViewController: 0x7e59da70  on TiRootViewController: 0x7aab9800 which is already presenting TiViewController: 0x78f4b460

No one with this problem?

this is because you trying to show the modal widget on a button; you have to add on a view element

why not on a button? it worked already with buttons

i had the same issue and that was my solution in that moment. still i dont know what is causing that problem

But that works not, too.
For iPad, I now have a self built popover with some sharing options.

Same problem here

And no longer support as it seems :-(

My huge workaround was to replace all modal windows using this module on iPad, so on iPad I really need to open non-modal windows to present this module popover. I also needed to attach the popover to views, it was not possible to attach to buttons anymore :( .

@christianrockbryan Please check the latest v1.8.4 update and close this issue if its fixed.

v1.8.4 works on iPad modal window to me


Impact of encoding/xml vulns

Ref: https://mattermost.com/blog/coordinated-disclosure-go-xml-vulnerabilities/

From @mdosch:
FYI
https://github.com/mattermost/xml-roundtrip-validator/blob/master/advisories/unstable-attributes.md
https://github.com/mattermost/xml-roundtrip-validator/blob/master/advisories/unstable-directives.md
https://github.com/mattermost/xml-roundtrip-validator/blob/master/advisories/unstable-elements.md

Sorry, but I think I'm missing some context here. How these vulnerabilities are supposed to affect the project?

It affects go stuff that processes xml, jackal does this, maybe it's too.
It's more a heads-up, you'd need to analyze if your useage is impacted or not.

If there is no security concern related to the ordering of attributes and elements, I don't believe these types of vulnerabilities affect the project. Basically, there is no way to ensure deterministic ordering between a struct and xml doc through round trips. There are third party libraries which may be discussed in that blog post, if I recall, which can help this, but my guess is that this is not necessary unless you have some of the same concerns as projects like SAML which I believe is where this was identified as an issue.


No reading tracking with Piper speech synthesis

Hello,
I used Calibre 6.13 with ebook-speaker on Debian 12.
The goal is to allow blind people to listen to the content of ebooks.
In order to have a better reading, I want to replace eSpeak-ng with Piper. Playback with Piper works well but this one compared to eSpeak-ng  does not review the playback tracking data in Calibre like eSpeak-ng does see screenshot below.
In the Speak-ng synthesizer engine the "EspeakIndexing" option is set to 1 which activates word tracking.
This function is very important because it allows when reopening an ebook to return to where it left off because Calibre followed the voice reading.
Do you know if such a function is available in Piper?
And if so, how to activate it?
Thank you in advance for your advice.

This would be an awesome feature to have. It should be possible to add code to synthesize each word independently of each other and provide a callback just before the audio is played on each word boundary, but I would assume that the voice wouldn't sound as realistic because you're feeding the model one word at a time.
I wonder if there is another way to highlight on words as they are played without impacting the quality of the output.

Thank you @SeymourNickelson for your advice.
Indeed, if the words are read one by one, this will alter the reading of the voice synthesis.
On the other hand, you must continue to read the words normally using voice synthesis and you must send a reading position to caliber so there may be a small gap between the word read and the word displayed in Caliber. The goal is to allow the blind person to return to the position where they were in the book during the previous reading and not have to reread the entire chapter from the last chapter read.

I had time to into the way Calibre works.
Sadly, I got bad news.
Short version: Calibre uses speech-dispatch for generating the audio. You can add custom tool for text-to-speech (like piper).
But for the highlighting feature you need to add direct support for piper in speech-dispatch to add "magic".
Plus some work on piper side for the other part of the magic.
For those, who want to go on developing, a few notes (or TODOs):
speech-dispatch needs similar marker functionality as in src/modules/espeak.c:
As soon as such a marker is received, wait for the audio data and tell upstream about the marker.
On the piper side, the markers need to used to split the input and if a marker is reached, send the generated audio timestamp and audio data until that point.
Current generic output always filters those markers before it is sent to piper (or any external tts).

Thank you very much @contentnation for your advice.


Label processes with high potential for improvement

User story
As a team member I want to label a process as "High potential" so that leaders and team can prioritise efforts
Describe the solution you'd like

Key word: High potential"

Dependency
#159

Alternative solution: Automatic labelling: #187


Request: Extract chunks as entry

One of the things I like about Webpack is that I had the able to define an entry as an array of files. Typically these are names of dependencies & not direct file paths.
Then, when importing bits from this array-entry, the useful pieces (after code shaking) are placed in that new, generated file.
This is particularly (and commonly) useful for when there's a single app entry & a declaration of shared vendor scripts. In such case, Splittable AFAIK won't generated a shared _base.js.
module.exports = {
  entry: {
    app: './src/app.js',
    vendor: [
      'vue',
      'vue-router',
      'firebase/database',
      '...'
    ]
}

// app.js (simple)
import Vue from 'vue'
import Router from 'vue-router'
import 'firebase/database'

Final output should contain all the application script in app.js and all useful chunks within vendor.js.

This could probably be achieved already, but it seems pretty silly & I think there'd be some unnecessary code to string together the vendor file to _base:
// app.js
import Vue from 'vue'
import Router from 'vue-router'
import 'firebase/database'
import { item } from 'fake-dep'

// now do custom stuff

// vendor.js
// just redeclare all application imports

import Vue from 'vue'
import Router from 'vue-router'
import 'firebase/database'
import { item } from 'fake-dep'

I don't completely follow why you'd ever want such a vendor.js file. It seems to make more sense to just have code import whatever dependencies they have and let that bubble up. With a centralized vendor file it is easy to have dependencies in there that nothing in the application actually still uses.
Am I missing something? If you really want a vendor file, why not just for import './vendor' in base.js?

Because then you'd have a bundle of third party scripts that can be versioned and cached on its own. Same with app.
But now when business logic changes, only a new app file is shipped, as opposed to a massive bundle, the majority of which hasn't changed.
You'd only push down a new vendor when updating a third party script, or adding / removing.

I see. I personally don't see this as much of a vendor specific problem.
Whether they or parts of the app change more often depends on the specific
app.
The optimizing compiler in splittable needs to see and modify all sources
to really do a good job.
If that is not a good trade-off you could load vendor files separately and
then have a shim module to marshal between them.
In practice, with splittable app.js should be tiny (just vendor code + app
router), so I don't see much benefit. You could, of course, add a smarter
loader that supports independent bundle versioning.
On Dec 2, 2016 8:08 AM, "Luke Edwards"<EMAIL_ADDRESS>wrote:

Because then you'd have a bundle of third party scripts that can be
versioned and cached on its own. Same with app.
But now when business logic changes, only a new app file is shipped, as
opposed to a massive bundle, the majority of which hasn't changed.
You'd only push down a new vendor when updating a third party script, or
adding / removing.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cramforce/splittable/issues/35#issuecomment-264491097,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFeT-Q1x6wJ_ZiBDqV9Zy9ilMBdf2ISks5rEEKZgaJpZM4LCQfm
.


Remove no longer relevant tests

The following sets of tests are not representative of the current state of mf2 in spec or practice, as h-news, h-as-*, and h-org are basically not a thing.

tests/microformats-v2/h-card/horghcard.json
tests/microformats-v2/h-as-note
tests/microformats-v2/h-news
tests/microformats-v2/h-org

Suggest removing these tests entirely.

Related: #57

Resolved with #84. This issue can be closed.


Short-hand type names in Postgre?

Not sure if this is already in the preferences or not... When working w/ Postgre, I prefer to use shorthand variable type names, for example:
INT4 instead of INTEGER
VARCHAR instead of CHARACTER VARYING
TIMESTAMPTZ instead of TIMESTAMP WITH TIME ZONE
Is there a way I can ensure the SQL output uses these short names? Right now it always converts it to the long-hand name, even after saving with short-hand.

Although we still can't break PostgreSQL naming rules. According to https://www.postgresql.org/docs/9.2/static/datatype.html INT4 is an alias while real type name should be INTEGER.
From the other hand type names like "CHARACTER VARYING" or "TIMESTAMP WITH TIME ZONE" are too long.
Yet another problem that pg_catalog keeps short forms of type names (at least for PG 9.x+) and this conflicts with documentation (see above).
Kind of a mess. But we can make this configurable..


graph/topo: fix cycle canonicalistion

The cycle was being canonicalised retaining the duplicated bridge node at the end of the slice. Fix this by removing the node, performing the cicular permutation as described, and then adding the new final node.
Please take a look.

Previous me had this under control.


fix: path to sql install and update files

Questions
Answers

Description?
Fix path to sql install and update files

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?

How to test?
Try to install psgdpr on prestashop (php version 7.4). It should work properly.

Hello @fox-john,
I have tested your PR and it's good for me! :tada:
Thanks!

Thanks @fox-john


feat: add more moderncv resume templates

Description
Our first, default resume templates adopts moderncv banking style, actually, moderncv has 6 styles:

banking
casual
classic
empty
fancy
oldstyle

8 colors:

black
blue
burgundy
green
grey
orange
purple
red

Let's check the layout and compatibility of each styles.
[Optional] Possible Solutions
NA
Acceptance Criteria

Decide which moderncv style is a fit for ppresume.

Todo list
Moderncv styles
- [x] banking
- [x] casual
- [x] classic
- [x] empty
- [x] fancy
- [x] oldstyle

Banking (our first default template):

casual looks OK.

classic OK:

fancy is pretty buggy:

oldstyle is also pretty buggy:

Conclusion:
We decided to add 2 additional moderncv templates:

casual
classic

For casual and classic style, we have to exchange the position of name and email in "References" section when compared with banking style, otherwise the text would be overlapped.

Done, on production:


export the code

Amazing project and Idea!! would love to know how can I export the code
that was generated into an app, and continue developing it....

Hi @syberkitten,
I really appreciated your attention.
After the app is generated, code expander appears at the bottom that you can copy by pressing the copy button. The generated code and the project's requirements.txt is what you need to have a fresh start in a project.
If you like, you can also directly edit the code by pressing the Edit button then Save & Rerun button to immidiately see the effect on the browser.
I hope these are what you need. If not, don't hesitate to state here.


publish?

not sure if this is a good idea. might be best left as a personal project

¯_(ツ)_/¯ https://github.com/cameronevans/camper/releases


Implement PREREQUISITE

Checklist

[x] documentation is added or updated
[x] CLA is signed

Description of change

There are times when you find yourself in a catch 22 when building.  Consider this in a pristine checkout:
$ ./config
$ make fuzz/server-test

This becomes trouble because some generated header files (for example include/openssl/opensslconf.h) haven't been generated yet, and neither has the Makefile dependency information which would otherwise ensure opensslconf.h gets built.  So we need a way to say that for a select (or all) bunch of object files, the generated header files that they may use must be generated first.  Simply put, that's a prerequisite to building the object file.
In this change, such prerequisites are specified like this in build.info files:
PREREQUISITE[**.o]=include/openssl/opensslconf.h

and translate to this type of sub-make call:
whatever.o: whatever.c
	$(MAKE) include/openssl/opensslconf.h
	$(CC) -o $@ -c $<

double-star?
Also I thought one whole point of this was to avoid recursive make invocations.
And also, won't this break -j invocations?

Double-star is inspired from Ant, it's a traversal of directories.  So in regexp terms, if star becomes [^/]*, double-star becomes .*

The whole point was to generate a single top Makefile and not go up and down the directory tree.  And yes, we should avoid excessive recursive make invocations, but we have never said never.

As for -j, not sure.  Does it actually?

Yes you created a race condition if the file needs to be updated, foo.o and bar.o will both end up trying to recursively sub-make the header file.  And someone could end up reading a partially-created file.
This PR adds a new syntax and adds recursive make to almost every object file -- an invocation that will almost always be pointless, and perhaps polluting with "... up to date" messages.

Hmm, yeah, good point.  Darnit...


Show line numbers in log.html

Identifying the exact place an error occurs from the output of a test execution can be pretty difficult for complex scripts.
Usually we get the stack trace (python, java, ...) but with robotframework we have to match the content of log.html with our actual robot file.
My suggestion is to add line numbers in logging report.
For example
*** Test Cases ***                                   # Line 1
test                                                 # Line 2
    ${expected}  Set Variable    2                   # Line 3
    ${actual}    Set Variable    3                   # Line 4
    Should Be Equal    ${expected}    ${actual}      # Line 5

would log something like

I'm afraid it would be hard to add this information without adding too much noise, especially because with nested keywords also needed to show the file where the keyword is defined. Perhaps having such information inside keyword like Documentation would work. Anyway, a precondition is preserving line numbers during parsing #549 which is not likely to happen in the near future. I close this issue and we can look at it again once #549 is done.

There is a way to do this.
If you are using Python to write TCs, use traceback in your python code.
import traceback
try:

except Exception as e:
traceback.print_exec()
So, whenever u get exception, print_exec() will print the stack trace for you.

@pekkaklarck it seems that #549 is solved now. It would be awesome if this could be looked at again since it would make looking where the error occurred significantly easier.

Actually it seems that with #549 fixed some thirdparty already created a tool for this that shows the line numbers in the command line output (sadly not in log.html). See https://pypi.org/project/robotframework-stacktrace/

Line numbers are preserved in the running model with test, keywords and control structures, but in the result model that is used when generating the log file line numbers are stored only for tests (#4202). With keywords and control structures line numbers wouldn't be enough without source information. All this information then would need to be stored in output.xml files making their size considerably bigger. I'm afraid the increased file size would be too big problem considering the benefits, but this can certainly be discussed.


Adding parameters so old files can be removed

Example: removing an old blog post, author page, outdated content.
This addition allows the user to optionally provide additional arguments to the User Parameters field.
The first argument is still the bucket name.
The second is now a flag that will enable "remove unknown files" functionality.
The third is a whitelist that prevents the previous functionality from removing files that are environment specific, and should remain in the bucket no matter what.

Thanks!


unify log/pcap post logic and add warnings to pcap post

This commits reworks the logic on the post-path for pcap files to
look more like the post-path for log files.  They now both use
the the closing of the warnings channel to indicate that the
posting goroutine is done.  This also extends pcap path to have
a warnings channel though it is not used yet (except for indicating
"done").  It will be used in a subsequent PR to send pcap-ng
parse warnings to the zqd client.

Oopsies, I'll fix.

I'm abandoning this approach because there is too much to change here and I'd rather just hack in warnings for pcap-ng.


[Feature Request ] Dynamic Variable Autocomplete in Textareas

I worked on this library  few years back:
https://formula-parser-editor.vercel.app/
GitHub URL
https://github.com/user-attachments/assets/1e1ca900-56b7-47d4-b218-5ae55f7b7096
Description:
Add support for dynamic variable autocomplete in any textarea (e.g., @VariableName). These variables would be parsed and replaced with values fetched from an external source (e.g., a database) based on custom logic.
Use Case:
When a user types @VariableName, the system suggests values or automatically replaces the variable upon invoking a method like input.getValue(). This feature should be lightweight with minimal impact on bundle size.
@knadh  if this a good feature to be added , I can work on this

Hi @RohitKumarGit. The exact UX seems outside the scope of floatype. You could just fork it and implement the @ style UX on top of it.
That said, the onQuery callback that you plug in can just return the appropriate suggestions based on whatever keyword, right? Eg: @abs.


Delivery of Runtime Package

Is a way to run the Get-NavContainerAppRuntimePackage.ps1 from the last release or also create the Runtime Package during the CI/CD or Release?

Any update on this?
Is the compiler now capable to create runtimes without a service tier?
Since runtimes don't seem go a way, we need a better way to provide runtimes to our customers...


Add support for loading DICOM object without PixelData

We are implementing to deal with the DICOM WSI. When loading DICOM WSI,  where PixelData almost contains multi frames having huge data sizes. Does it possible that when loading a DICOM object providing an option to ignore the PixelData Tag in order for the performance ?

I don't know if cornerstone supports loading WSI without PixelData, but if you are looking for an open source pathology viewer in the same spirit as cornerstone you could have a look at Slim.
https://github.com/MGHComputationalPathology/slim

My team is developing WSI Server for the functions of the WADO-RS/URI to retrieve a specified frame in a DICOM WSI. The problem is the size of the PixelData is too large to load all frames in memory. for a 1.5GB WSI including over 2 thousand frames requires about 15GB RAM. Thus we are thinking of using dicomParser to get the address index of the all frames to save the use of memory.  This is our project: https://github.com/cylab-tw/raccoon
BTW: we are also developing [DICOM WSI Viewer]](https://github.com/cylab-tw/bluelight). For the development of the DICOM Viewer, dicomParser is excellent.

That's really great @cylien, thanks for sharing the links and I'm glad things are working well for you.
If you haven't already seen it, the OHIF viewer has some common elements with your viewer and maybe it could help to share ideas and elements.  Similarly some of us have been working on a noSQL DICOMweb server (dicomweb-server) and related technologies.  It's good to see the standards-based interoperability.

We find the problem is that Test WSI DICOM of the WG 26 locates at:
ftp://medical.nema.org/medical/dicom/Datasets/WG26/Leica_GT450/272320e7-5abb-ccac-8f8b-9c2008f53845_114626/<IP_ADDRESS>.4.1.36533.21716722913121316773164147287613518920414871.dcm
In this file, there has a large number of items in the  Shared Functional Groups Sequence Attribute Tag (5200,9229), so that the size of the DICOM JSON is approximate over 15 MB that is limited by this reason.
Currently, we use an alternate way to replace dicomParser, i.e., using the dcm2json of the DCMTK to create the whole DICOM JSON, and then delete the (5200,9229) Sequence to reduce the size.

Similarly some of us have been working on a noSQL DICOMweb server (dicomweb-server) and related technologies. It's good to see the standards-based interoperability.

It's great, we will using BlueLight to connect dicomweb-server to validate the functionality of the DICOMWeb.

That's an interesting constraint and I guess you'll need to find a workaround on the mongodb side of things.  I know that the shared and per-frame functional groups can grow very large for WSI datasets and metadata queries have been a performance issue for other implementations too.  Best of luck 👍


Expose workflow and activity "call stack" information from ctx.

For telemetry purpose, it's useful to have access to the current "call stack" of workflow, sub workflow, activities and so on, at any given point. For instance, to make better error messages, to annotate alerts to Sentry, to log them (already built in), to trace, to.... whatever else you might want to do with this.
It would be great if you could extract this from both a context.Context and a workflow.Context, and if the human friendly name of things was included (not just the IDs).

Closing this for now as not planned.


uvalue and polymorphic types

Is my understanding correct that uvalue::try_cast should work in case of casting the derived value to the base?
struct Base { virtual ~Base() {} }; struct Derived : Base {};

...

meta::uvalue value{new Derived()};
auto base = value.try_cast<Base>(); // currently returns nullptr

Right now, "uvalue" doesn't support any casts and works like std::any with little specific features. But it can be added because I already do something like this in function calls (when we call functions with reference or pointer attributes on base classes). Of course, it will work only for registered classes with correct "base_<>" attributes.
I'll create a task for this feature!

thank you. I think it will be useful.

Upcasting is now supported. New example: UValue


Fixed ConfirmRegistration routing issues

Hi @liquidcircle ,
Let me review the changes.
Thanks,
Vladimir

Thanks Vladimir!
The repo steps are:

Sign up for an account but do not confirm your account.
Return to the login page and login with your new credentials.

Currently this throws an error, rather than forwarding the user to the confirm registration page.  Also note that the username (email address) wasn’t being passed correctly to the confirm registration page.
The next item on my list is to login the user after they register, rather than requiring the user to login.  I’ll check that in as well, and let you know, if you’re keen on that change.
Cheers,
Alan
On Jan 6, 2017, at 10:14 AM, Vladimir Budilov <notifications<EMAIL_ADDRESS>wrote:
Vladimir

@liquidcircle ,
Thanks for the pull request -- I merged it but had a lot of local changes so the files moved around. Make sure you pull the latest.
Also, in regards to "The next item on my list is to login the user after they register, rather than requiring the user to login.  I’ll check that in as well, and let you know, if you’re keen on that change." -- that's a helpful feature :) Just didn't have the time to implement this myself -- btw I hope you mean "after they confirm the code", rather than "register". Correct?
Thanks,
Vladimir

Thanks Vladimir!
Regarding the login piece, yes, correct... after they enter their confirmation code.
Cheers,
Alan


Support Managed Service Identity

[ ] Please check this box and fill the data as below once you have run the unit tests.
Code coverage before your change:
Code coverage with your change:

We can't enable MSI on the VM and grant the VM access to a subscription in the integration test. So, we can't add the MSI-related integration test case.


How to deploy private image from Docker hub?

Hi,
This may be similar to #76. I tried to set up credential on remote server but it didn't work.
Here is my configuration for my public image
namespace :environment do
  task :common do
    set :image, 'roonglit/docker-test'
  end

  desc 'Staging environment'
  task :staging => :common do
    set_current_environment(:staging)
    host 'my-host-here'
  end
end

when I call rolling_deploy action, it's working fine. I want to deploy my private image, so I change the configuration to:
namespace :environment do
  task :common do
    set :image, 'registry.hub.docker.com/hipflat/website'
    set :registry_user, 'my_username_here'
    set :registry_password, 'my_password_here'
  end

  desc 'Staging environment'
  task :staging => :common do
    set_current_environment(:staging)
    host 'my-host-here'
  end
end

when I call rolling_deploy action, I got an error.
* Invoke environment:staging (first_time)
** Invoke environment:common (first_time)
** Execute environment:common
** Execute environment:staging
** Invoke rolling_deploy (first_time)
** Execute rolling_deploy
** Invoke deploy:get_image (first_time)
** Execute deploy:get_image
** Invoke deploy:pull_image (first_time)
** Execute deploy:pull_image
I, [2015-01-23T10:49:05.880898 #955]  INFO -- : Fetching image registry.hub.docker.com/hipflat/website:latest IN PARALLEL

I, [2015-01-23T10:49:05.881224 #955]  INFO -- : Using CLI to pull
I, [2015-01-23T10:49:05.883343 #955]  INFO -- : Using CLI to pull
Pulling repository registry.hub.docker.com/hipflat/website
Pulling repository registry.hub.docker.com/hipflat/website
2015/01/23 10:49:09 Error: image hipflat/website:latest not found
2015/01/23 10:49:09 Error: image hipflat/website:latest not found
/Users/mac/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/centurion-1.4.1/lib/centurion/logging.rb:62:in `validate_status': The command failed with a non-zero exit status: 1. Command: 'docker -H=tcp://hipflat-website.cloudapp.net:2375 pull registry.hub.docker.com/hipflat/website:latest' (RuntimeError)
	from /Users/mac/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/centurion-1.4.1/lib/centurion/logging.rb:48:in `run_without_echo'
	from /Users/mac/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/centurion-1.4.1/lib/centurion/logging.rb:25:in `echo'
	from /Users/mac/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/centurion-1.4.1/lib/centurion/docker_via_cli.rb:17:in `pull'
	from /Users/mac/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/centurion-1.4.1/lib/tasks/deploy.rake:187:in `block (3 levels) in <top (required)>'
	from /Users/mac/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/centurion-1.4.1/lib/centurion/docker_server_group.rb:28:in `call'
	from /Users/mac/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/centurion-1.4.1/lib/centurion/docker_server_group.rb:28:in `block (2 levels) in each_in_parallel'

I tried using docker -H my-host-server:2375 pull hipflat/website, and it's working fine both my local pc, and my remote server (which I'm trying to deploy image with Centurion).
Could you give me some suggestions on what I need to do next?

Sorry guys. I found out how to solve this now.
I need to call docker -H my-host-server:2375 login on my local pc first. After that, Centurion is working like a charm.


[DOCFIX] Update Alluxio master doc

I can translate this to Chinese if the English version looks good.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15497/
Test PASSed.

@peisun1115 Could you use 100 line character length, it looks like its around 70 at the moment.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15505/
Test PASSed.

@calvinjia PTAL. thanks

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15507/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15511/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15512/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15513/
Test PASSed.


adding a alias to examples for pry

Subject of the issue
I'm looking to add some alias to easier invoke the binding.pry call to my tests. following along in the book "Effective Testing in RSpec 3" it states to add the following to my rspec config.
Your environment

Ruby version: 2.4.1
rspec-core version: 3.x

Steps to reproduce
added the following code to my /rails_helper.rb
RSpec.configure do |config|
  config.alias_example_group_to :pdescribe, pry: true

  config.alias_example_to :pit, pry: true

  config.after(:example, pry: true) do |ex|
    require 'pry'
    binding.pry
  end
end

Expected behavior
when calling alias pit i am hoping that a pry session opens up at the start of my example
Actual behavior
binding.pry opens up in the config block.
following along with
This book

Hi @rjrobinson, if you switch the after for a before it'll execute binding.pry before the example runs. Myron alludes to this in the book (by saying when the block will run). Don't be mislead by "seeing" the config file, you are in the context of the example.
Additionally Github issues are not the place to ask for support, our time is limited and we'd much appreciate it if you use our mailing list, or communities such as StackOverflow and other forums, and save Github for bug reports / feature requests etc.

Ok. thanks.


Add secondary alphabetical sorting

In the Popular leaderboard, currently the primary sorting of tasks, methods and tags is by upvotes. I am not sure of the secondary sorting, I imagine chronological order. I propose to use alphabetical order as secondary sorting, i.e., to order items with the equal amount of upvotes.

The sort is otherwise "unstable," so this would remove that ambiguity. Let's go ahead with it.


Fix SwiftLint violations

SwiftLint found issues
Warnings

File
Line
Reason

Enum.swift
815
Colons should be next to the identifier when specifying a type and next to the key in dictionary literals.

FontAwesomeTextRepresentable.swift
53
Lines should not have trailing whitespace.

Errors

File
Line
Reason

Enum.swift
811
Variable name should start with a lowercase character: 'FontAwesomeIcons'

  Generated by :no_entry_sign: Danger


cached properties need to refresh

The CachedProperty was not getting updated when changes
were made to the config.

archaius-pull-requests #200 SUCCESS
This pull request looks good

NetflixOSS » archaius » archaius-pull-requests #31 SUCCESS
This pull request looks good

Better fix in PR #281


jina Ai added in sponsors sec

Sponsors addon issue solved

I have added the image of required sponsor in the sponsor's section and I have written the name of the sponsor as 'Jina AI'.
Issue #43 solved


JSON endpoint lists empty ids

Our https://collections.eurodatacube.com/stac/index.json endpoint generates for some collections empty IDs. We should either remove them from the endpoint or make sure they are generated correctly (with full metadata).
Collections of questions:

https://collections.eurodatacube.com/stac/phytoplankton-primary-production.json
https://collections.eurodatacube.com/stac/co_3daily_data.json
https://collections.eurodatacube.com/stac/s5p-ch4-weekly.json
https://collections.eurodatacube.com/stac/so2_daily_data.json

@horvatdino
Please update those 3 so the become openEO collections (adding the openEOPID and other metadata that might be useful like the summaries)

co_3daily_data
s5p-ch4_weekly
so2_daily_data

This one is zarr which we currently don't support in the platform and should therefore be updated in a way it doesn't show up at the index endpoint anymore. While add it, please also change the Type from byoc-a216afca-8a65-4072-87a5-8ed7aa21e08a to zarr-a216afca-8a65-4072-87a5-8ed7aa21e08a as that's the correct one.

phytoplankton-primary-production

@Dorothyrono can you please check the end date for the temporal extent of the S5P CH4 weekly collection, so we can make sure that this collection is still regularly updated?


Code cleanup and linter fixes

I ran the code through rubocop and ignoring just the line length warnings. You can keep this or leave it, I know code style can be very subjective.
It depends on my other commit #45 and would be easiest to merge if you first merge #45 via rebase and merge.

@bmos  thanks for taking the time and the effort.   sorry about rubocop i am with the japenese rubyists to quote:

We don't use RuboCop because we can manage our coding style by ourselves. We want to accept small fluctuations in our coding style because we use Ruby.
Please do not submit issues and PRs that aim to introduce RuboCop in this repository.

my fault. i will add a note to the readme.    happy to see a lint list in text (with warnings) to commit.   i am sure there are some good parts in there and again thanks for taking the time.  sorry for now my time is unfortunately limited to pick out the good ones. more than happy to work on pluto but again real life realities for now are different.

Greetings from Austria (near Vienna). Thanks for the commentary.  The main idea to make contributing easier was to split the "monolith" into gems ("modul-mania") - the idea being only work / contribute to a single gem.   Guess a big fail. might be more confusing.    and lately i am using the monotree/repo approach / style, thus, lots of additional (experimental / optional) gems here leading to more confusion.
Anyways, again great to hear that pluto is still getting used & found (on the internets).  again i try to set aside a couple of days in march 2024  (this upcoming month) to update & housekeeping.   thanks for your patience.


License mismatch in tablua.lua with the LICENSE file

Repo says it's under MIT, but the one in the file doesn't match it. Probably an error, you might want to look into it.

Thanks for reporting this.  Fixed in afdaae55a979c74263dd0a0cf80c34102d6084b9


Bad behaviour when range does not contain zero in LINEAR

When startFromZero is true bad behaviour happened in LINEAR skin if
zero is not included inside the range.
Now the behaviour is correct (e.g. bar starting from max is max < 0)
and the clamping too was fixed.

The same behaviour occurs in other bar gauges. I'll fix them too later.


inline styling not working

It would be nice to be able to add individual CSS properties dynamically, but this does not work:

This works, but I can't set CSS properties dynamically:
CSS:
.myClassName {
    position: absolute;
}

JS:

Anyways, thank you for developing this component!

You can, you just need to pass it into getCollapseProps

It will merge the styles you pass in with the styles required to make the transitions work

Ok, thanks, now I noticed that there is an example in the FAQ section, when I clicked the section open. Maybe you could document this inline styling feature a little better...? ;-)

Happy to review a PR to improve the docs! Glad this got resolved.


Api source yaml file cannot be read if set with env variables

Versions:
    "@graphql-mesh/cli": "^0.12.5",
    "@graphql-mesh/config": "^0.11.5",
    "@graphql-mesh/openapi": "^0.10.12",
    "@graphql-mesh/runtime": "^0.10.5",
    "apollo-server": "^2.18.2",
    "dotenv": "^8.2.0",
    "graphql": "^15.4.0",
    "nodemon": "^2.0.6",
    "typescript": "^4.1.2"

    "ts-node": "^9.0.0",
    "ts-node-dev": "^1.0.0"

Context:
.meshrc.yaml file can be written with interpolation of environment variables so that one can keep IPs and other tokens in an .env file. This is particularly useful for CI/CD and other staging automation.
Dotenv package needs to be installed and imported in server index file like in this codesandbox:
https://codesandbox.io/s/musing-tree-8voqb?file=/src/index.ts:0-23
Behavior:
When a source is set with env variables I get this error:
TypeError: Cannot read property 'title' of undefined
    at /home/user/dev/graphql-demo/server/dist/handlers/openapi/src/openapi-to-graphql/index.js:503:1
    at Array.map (<anonymous>)
    at preliminaryChecks (/home/user/dev/graphql-demo/server/dist/handlers/openapi/src/openapi-to-graphql/index.js:501:30)
    at translateOpenAPIToGraphQL (/home/user/dev/graphql-demo/server/dist/handlers/openapi/src/openapi-to-graphql/index.js:128:1)
    at createGraphQLSchema (/home/user/dev/graphql-demo/server/dist/handlers/openapi/src/openapi-to-graphql/index.js:73:12)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at OpenAPIHandler.getMeshSource (/home/user/dev/graphql-demo/server/dist/handlers/openapi/src/index.js:41:13)
    at /home/user/dev/graphql-demo/server/dist/runtime/src/get-mesh.js:10:24
    at async Promise.all (index 0)
    at Object.getMesh (/home/user/dev/graphql-demo/server/dist/runtime/src/get-mesh.js:9:5)

I have tracked down the source of the issue to this line:
https://github.com/Urigo/graphql-mesh/blob/master/packages/utils/src/read-file-or-url.ts#L69
(side note, fetchache looks like a typo).
Then in fetchache (can't find it in the the github repo sorry) I see:
async function fetchache(request, cache) {
    const cacheKey = request.url;
    const entry = await cache.get(cacheKey);
    if (!entry) {
        const response = await crossFetch.fetch(request);

// here the request fails and doesn't find the source yaml hosted at the ip (when set with env variables)

        const policy = new CachePolicy(policyRequestFrom(request), policyResponseFrom(response));
        return storeResponseAndReturnClone(cache, response, policy, cacheKey);
    }

PS. Finally I also noticed that at this line:
https://github.com/Urigo/graphql-mesh/blob/master/packages/handlers/openapi/src/openapi-to-graphql/index.ts#L705
There is a usage of optional chaining which is not compiled correctly as it is kept as:
return oas.info.title

while it should compile to something like:
return ((_a = oas.info) === null || _a === void 0 ? void 0 : _a.get('title')) || '';

I don't think the problem is caused by using env variables. Does it work well when you write IP addresses manually? fetchache is our internal library that handles HTTP requests by respecting cache headers like browsers but on the server side. :)
https://unpkg.com/<EMAIL_ADDRESS>I can see the correct code in here. Maybe you're using an old version.

I don't think the problem is caused by using env variables. Does it work well when you write IP addresses manually? fetchache is our internal library that handles HTTP requests by respecting cache headers like browsers but on the server side. :)
https://unpkg.com/<EMAIL_ADDRESS>I can see the correct code in here. Maybe you're using an old version.

Ok true, I did update packages but some weird cache might have got into the way, a nice wipeout of the node_modules did the trick and now optional chaining is compiled correctly and I passed over the "Cannot read property 'title' of undefined" error even with env variables.
Surely and issue that was already fixed.
Great, thanks for that.

You need to load dotenv with require parameter;
graphql-mesh typescript --require dotenv/config --output ./src/mesh/generated/types.ts

Brilliant, tx!


playbook_readme_changes

Fixes #
Proposed Changes

Change the readme.md files of the following RiskIQ Solution folders to account for the availiability of alert and incident trigger configuration options.
RiskIQ-Automated-Triage
RiskIQ-Data-Summary
RiskIQ-Data-Summary-Domain
RiskIQ-Data-Summary-Ip
RiskIQ-Intel-Reputation
RiskIQ-Intel-Reputation-Domain
RiskIQ-Intel-Reputation-Ip
RiskIQ-Intel-Summary
RiskIQ-Intel-Summary-Domain
RiskIQ-Intel-Summary-Ip

Closing this pull request.


Data Science with Python : Cross Validation Methods #2410

Description 📜
Made  a video presentation on the topic Cross-Validation Methods
Fixes #2410

Type of change 📝

[x] Video (Animations, screen-recordings, presentations and regular explanatory films are all possibilities etc)

Domain of Contribution 📊

[ ] Datascience with Python

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@prathimacode-hub , Can you evaluate my PR

@prathimacode-hub , I have made the changes mam. Kindly evaluate.


when i new evidence project , it shows node   FATAL ERROR: v8::Template::Set Invalid value, must be a primitive or a Template ----- Native stack trace -----

hi I report this issue https://github.com/evidence-dev/evidence/issues/2146 in evidence. archiewood told me to report here.

node test.js
FATAL ERROR: v8::Template::Set Invalid value, must be a primitive or a Template
----- Native stack trace -----
1: 0x104d88b18 node::OnFatalError(char const*, char const*) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
2: 0x104f13a2c v8::Template::Set(v8::Localv8::Name, v8::Localv8::Data, v8::PropertyAttribute) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
3: 0x104d3a460 napi_define_class [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
4: 0x11a8c9408 Napi::ObjectWrap<node_duckdb::Database>::DefineClass(Napi::Env, char const*, unsigned long, napi_property_descriptor const*, void*) [/Users/yi/Documents/Evidence/test-duckdb/node_modules/duckdb/lib/binding/duckdb.node]
5: 0x11a8c59ac node_duckdb::Database::Init(Napi::Env, Napi::Object) [/Users/yi/Documents/Evidence/test-duckdb/node_modules/duckdb/lib/binding/duckdb.node]
6: 0x11a8c3938 NodeDuckDB::NodeDuckDB(Napi::Env, Napi::Object) [/Users/yi/Documents/Evidence/test-duckdb/node_modules/duckdb/lib/binding/duckdb.node]
7: 0x11a8c52e8 Napi::Addon::Init(Napi::Env, Napi::Object) [/Users/yi/Documents/Evidence/test-duckdb/node_modules/duckdb/lib/binding/duckdb.node]
8: 0x11a8c4980 napi_register_module_v1 [/Users/yi/Documents/Evidence/test-duckdb/node_modules/duckdb/lib/binding/duckdb.node]
9: 0x104d53030 napi_module_register_by_symbol(v8::Localv8::Object, v8::Localv8::Value, v8::Localv8::Context, napi_value__* ()(napi_env__, napi_value__), int) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
10: 0x104d5854c std::__1::__function::__func<node::binding::DLOpen(v8::FunctionCallbackInfov8::Value const&)::$_0, std::__1::allocator<node::binding::DLOpen(v8::FunctionCallbackInfov8::Value const&)::$_0>, bool (node::binding::DLib)>::operator()(node::binding::DLib*&&) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
11: 0x104d278e4 node::Environment::TryLoadAddon(char const*, int, std::__1::function<bool (node::binding::DLib*)> const&) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
12: 0x104d571c4 node::binding::DLOpen(v8::FunctionCallbackInfov8::Value const&) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
13: 0x104f7e2f0 v8::internal::MaybeHandlev8::internal::Object v8::internal::(anonymous namespace)::HandleApiCallHelper(v8::internal::Isolate*, v8::internal::Handlev8::internal::HeapObject, v8::internal::Handlev8::internal::FunctionTemplateInfo, v8::internal::Handlev8::internal::Object, unsigned long*, int) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
14: 0x104f7d9e8 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
15: 0x105804b24 Builtins_CEntry_Return1_ArgvOnStack_BuiltinExit [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
16: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
17: 0x10a8dd484
18: 0x10a8dbf58
19: 0x10a8d4328
20: 0x10a8d237c
21: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
22: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
23: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
24: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
25: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
26: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
27: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
28: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
29: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
30: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
31: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
32: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
33: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
34: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
35: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
36: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
37: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
38: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
39: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
40: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
41: 0x10577c3e4 Builtins_InterpreterEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
42: 0x10577a50c Builtins_JSEntryTrampoline [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
43: 0x10577a1f4 Builtins_JSEntry [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
44: 0x1050522f0 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
45: 0x10505173c v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handlev8::internal::Object, v8::internal::Handlev8::internal::Object, int, v8::internal::Handlev8::internal::Object) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
46: 0x104f2c02c v8::Function::Call(v8::Localv8::Context, v8::Localv8::Value, int, v8::Localv8::Value) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
47: 0x104d69c28 node::builtins::BuiltinLoader::CompileAndCall(v8::Localv8::Context, char const*, node::Realm*) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
48: 0x104df8cf8 node::Realm::ExecuteBootstrapper(char const*) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
49: 0x104d4d69c node::StartExecution(node::Environment*, std::__1::function<v8::MaybeLocalv8::Value (node::StartExecutionCallbackInfo const&)>) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
50: 0x104cb9504 node::LoadEnvironment(node::Environment*, std::__1::function<v8::MaybeLocalv8::Value (node::StartExecutionCallbackInfo const&)>, std::__1::function<void (node::Environment*, v8::Localv8::Value, v8::Localv8::Value)>) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
51: 0x104dc886c node::NodeMainInstance::Run(node::ExitCode*, node::Environment*) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
52: 0x104dc85dc node::NodeMainInstance::Run() [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
53: 0x104d507f4 node::Start(int, char**) [/Users/yi/.nvm/versions/node/v20.15.0/bin/node]
54: 0x198299430 start [/usr/lib/system/libdyld.dylib]
----- JavaScript stack trace -----
1: Module._extensions..node (node:internal/modules/cjs/loader:1454:18)
2: Module.load (node:internal/modules/cjs/loader:1208:32)
3: Module._load (node:internal/modules/cjs/loader:1024:12)
4: Module.require (node:internal/modules/cjs/loader:1233:19)
5: require (node:internal/modules/helpers:179:18)
6: /Users/yi/Documents/Evidence/test-duckdb/node_modules/duckdb/lib/duckdb-binding.js:4:15
7: Module._compile (node:internal/modules/cjs/loader:1358:14)
8: Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
9: Module.load (node:internal/modules/cjs/loader:1208:32)
10: Module._load (node:internal/modules/cjs/loader:1024:12)
zsh: abort node test.js

Could you try again, with the same workflow as https://github.com/evidence-dev/evidence/issues/2146#issuecomment-2187830361, but with two twists:
npm uninstall duckdb
npm install duckdb --verbose

(and copy pasting the log, that for me looks like:
npm verb cli /opt/homebrew/Cellar/node/21.7.3/bin/node /opt/homebrew/bin/npm
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>npm verb title npm install duckdb
npm verb argv "install" "duckdb" "--loglevel" "verbose"
...
....
npm info run<EMAIL_ADDRESS>install node_modules/duckdb node-pre-gyp install --fallback-to-build
npm info run<EMAIL_ADDRESS>install { code: 0, signal: null }

added 111 packages, and audited 112 packages in 2s

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm verb exit 0
npm info ok

And then going further with the other steps.
Otherwise:
npm uninstall duckdb
npm install duckdb --verbose --build-from-source

(this will take a while)

hi @carlopi in vscode, it;s still show errors as follow
log.txt

Hey, thanks for reporting, will have another look.

I had the same issue that @taste1989 was reporting except that I was running on an intel mac (don't ask,lol) . Noticed that npm uninstall duckdb does not delete duckdb and duckdb-async dirs from node_modules. Went ahead and manually deleted folders. Installed from source as noted above. That took care of the issue.

@taste1989 / @arungk : I am having a hard time reproducing this, which VSCode versions are you at? Or even better, can you reproduce outside of VSCode?
I have found this VSCode issue: https://github.com/microsoft/vscode/issues/219893 that might be somehow related, although I can't understand how the workaround would solve it here.

@archiewood: sorry for spamming, but I am not super comfortable with this issue, and was wondering if you could take another look.
Basically what I am observing is that however a module is (badly) built, it should not allow node to throw FATAL_ERROR, so I am thinking this is likely a problem on tooling that looks to be out of our (duckdb) control.
If you have any feedback or suggested line of action, it would be very welcome. Thanks

Hey @carlopi - why is VSCode relevant here?
is this not all happening from the command line?
@taste1989 can you clarify what you mean by "in vscode"


Blog files: why add date to file name and use an alias to remove it?

Consider the content/blog/2022-03-10-how-zapier-uses-keda.md file, recently added via #687, with the following front matter:
title = "How Zapier uses KEDA"
date = 2022-03-10
# ...
aliases = [
"/blog/how-zapier-uses-keda"
]

@tomkerkhove - Why not simply name the file content/blog/how-zapier-uses-keda.md and avoid having to define an alias?
By having the alias be different from the file name by dropping the date, makes it easier to inadvertently introduce a clash at some point.
Note that not all blog entries have such an alias defined, so it doesn't seem to be a fully enforced convention (also the blog archetype doesn't have an alias entry).

I don't think there is a real reason for this so happy to change if it makes sense