Bulk Operations and Metadata Renderers

Bulk Operations in Notification Center
Introduction
Bulk operations in the Notification Center allow users to perform actions like deleting multiple notifications or changing the status of multiple notifications in a batch. This documentation outlines the key features and functionality of bulk operations, including the restriction of performing only one bulk operation at a time, the disabling of buttons during ongoing operations, and the display of a loading icon to indicate ongoing activity.
Features
1. Single Bulk Operation at a Time
To maintain system stability and prevent conflicts, the Notification Center enforces a rule that allows users to initiate only one bulk operation at a time. This means that if a bulk operation is already in progress, any attempt to start another operation will be blocked until the ongoing operation is completed or canceled.
2. Disabled Buttons During Ongoing Operations
When a bulk operation is initiated, such as deleting or changing the status of notifications, all relevant action buttons are automatically disabled. This prevents users from accidentally triggering additional operations that might interfere with the ongoing one. Disabled buttons ensure the user's actions are synchronized with the current state of notifications.
3. Loading Icon Indicator
While a bulk operation is in progress, a loading icon is displayed to provide feedback to the user. This visual indicator assures users that their request is being processed, and it also reinforces the idea that actions cannot be performed until the operation completes or is canceled.
How It Works
Initiating a Bulk Operation

Users select the notifications they want to include in the bulk operation. This is typically done by checking checkboxes next to each notification.

After selecting notifications, users trigger the desired bulk operation (e.g., delete or change status) by clicking the corresponding action button.

Once initiated, the bulk operation begins processing the selected notifications.

Further Enchacements
To ensure a seamless user experience with bulk operations in the Notification Center, consider the following best practices:

Provide clear and concise messaging to inform users about the progress and outcome of the bulk operation.

Implement error handling to gracefully handle any issues that may arise during the operation and communicate errors to the user.

Consider offering a confirmation dialog before initiating a bulk operation to prevent accidental actions.

Metadata Formatter Documentation
When an event is received from the server, it adheres to a fixed schema containing information that is valuable for presentation to the user. This information typically includes details such as the description, date, user_id, system_id, action, and acted-upon resources. Additionally, sometimes there may be a detailed traceback, a summary, or a comprehensive error log, all of which are dynamically generated data encapsulated within the metadata of the event. Presenting this structured data in a user-friendly manner is a crucial task because it contains valuable insights into ongoing operations.
To accomplish this task, we employ metadata formatters that transform structured data into visually appealing formats. There are currently two types of formatters in use:

Metadata Specific Formatters: These formatters are specifically designed for particular types of metadata, such as Error and DryRunResponse. Metadata Specific Formatters are implemented as React components that take the metadata as input and render it within the component.

Dynamic Formatter: Since metadata can vary significantly in structure, it is not practical to create a specific formatter for each kind. Dynamic formatters analyze the schema's structure and apply custom-defined rules for formatting:

Text strings are rendered using the BodySectionRenderer (more on this later).
Arrays are rendered using the ArrayRenderer.
Key-value pairs are rendered using the KeyValueRenderer.
Nested objects are recursively rendered.

BodySectionRenderer
The BodySectionRenderer is responsible for formatting and rendering raw text strings into React components. During this process, it parses the string to replace external links with <Link> components and checks if the link matches predefined sites to render the link accordingly.
ArrayRenderer
The ArrayRenderer is responsible for rendering an array of items in a recursive manner, presenting them as a bulletized list using the MetdataFormatter.
KeyValueRenderer
Object properties with string values are considered key-value pairs and are rendered as such.
The Metadata Specific Formatter
Certain metadata, such as Kubernetes responses and Errors, hold high importance and have dedicated renderers. These dedicated renderers can still utilize the dynamic formatter to format specific parts of the response, such as DryRunResponse.
Reusability
While this system was initially developed for our events and notification center, the components it comprises are highly reusable and can be employed in other contexts where dynamic formatting of structured data is required.
Signed commits

[x] Yes, I signed my commits.

Fixes  #9007

@ritiksaxena124  the designs for bulk actions need some thought ( more or less the behavior should be similar to the datatables we have in cloud )

@ritiksaxena124 the designs for bulk actions need some thought ( more or less the behavior should be similar to the datatables we have in cloud )

Hmm right, we can shift checkboxes on the left side and the buttons on the right side

@leecalcote  here is how the (doc) links will be rendered , for the following data
 event.metadata = {

    info: {
       Doc: 'https://mesherydocs.io',
        errors : [
          "This is a common error caused by a bug . visit https://docs.meshery.io/bug :) "
        ]
      },
  };

@aabidsofi19, thank you for this example. 👍

@akhilender-bongirwar, @captain-Akshay, @Mohith234, @ptdatta, will one of you document this functionality in a Meshery Contributing Doc on docs.meshery.io?

@leecalcote Currently, I do not have any specific tasks assigned to me, which means I am available to take this one

@captain-Akshay excellent. Please proceed.

@captain-Akshay, how does the rest of this PR look to you?

Everything @leecalcote looks good to me specially the metadata component 🙌🏻. But a slight improvement will be if select all checkbox is selected then due to pagination when the new batch of notifications are loaded they are not in the selected state. And for the top right icons i have a pr waiting 😉 for onclick behaviour...


Bump borsh to v1

Bump the borsh dependency to v1 in order to address this security alert in ibc-rs: https://github.com/cosmos/ibc-rs/security/dependabot/1

Hm, looks like there's an issue with a borsh dependency, toml_datetime:
error: failed to select a version for `toml_datetime`.
    ... required by package `toml_edit v0.21.0`
    ... which satisfies dependency `toml_edit = "^0.21.0"` of package `proc-macro-crate v3.0.0`
    ... which satisfies dependency `proc-macro-crate = "^3"` of package `borsh-derive v1.5.0`
    ... which satisfies dependency `borsh-derive = "~1.5.0"` of package `borsh v1.5.0`
    ... which satisfies dependency `borsh = "^1.5"` (locked to 1.5.0) of package `ibc-proto v0.44.0 (/Users/seanchen/Informal/ibc-proto-rs)`
versions that meet the requirements `^0.6.5` are: 0.6.5

all possible versions conflict with previously selected packages.

I'm not sure what needs to be updated in order to address this dependency mismatch.


Enable torch elastic training (torchrun)

TL;DR
This PR brings torch elastic training (torchrun) to the pytorch plugin:
from flytekitplugins.kfpytorch import Elastic

@task(
    task_config=Elastic(
        replicas=4,
        nproc_per_node=4,
        ...
    ),
    ...
)
def train(...):
    ...

Type

[ ] Bug Fix
[x] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[x] Smoke tested
[x] Unit tests added
[x] Code documentation added
[x] Any pending items have an associated Issue

Complete description
See https://github.com/flyteorg/flyte/issues/3614 for motivation and a more detailed description.
Tracking Issue
https://github.com/flyteorg/flyte/issues/3614
Follow-up issue

any updates on this pr? We would love to try this out.

This is working, we will be merging soon


Update scala-library to 2.13.8

Updates org.scala-lang:scala-library from 2.13.7 to 2.13.8.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

labels: library-update, early-semver-patch, semver-spec-patch

Codecov Report

Merging #801 (9a0c92d) into main (fa47791) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #801   +/-   ##
=======================================
  Coverage   52.84%   52.84%
=======================================
  Files          69       69
  Lines        2108     2108
  Branches       52       52
=======================================
  Hits         1114     1114
  Misses        994      994

Continue to review full report at Codecov.

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


⚠ GitLab Server has degraded performance

In 4b4848e, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 11728 ms

Resolved: GitLab Server performance has improved in 7e641c4.


Is there an active uservoice request to have this exposed in the admin portal?

This would be really helpful to have a GUI interface.

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

ID: 3cfb6e9b-57d4-749f-a1d0-5f5c24e141ce
Version Independent ID: e67e1021-7801-477b-1642-43c283742e59
Content: Manage site redirects - SharePoint Online
Content Source: SharePoint/SharePointOnline/manage-site-redirects.md
Service: sharepoint-online
GitHub Login: @kaarins
Microsoft Alias: kaarins

Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

That would be great, thanks for considering it. As it stands, I now have a way in the portal to make redirects that I can't manage or remove.

Agreed, I take it the redirect will remain there until we remove it?  After we remove the redirect, will the new/correct Url show up as the Site's URL in admin center?  I changed a Sites' URL, but the old siteUrl remains as the text for the URL, but the actual URL has changed.

I have tried to use the Powershell and it gives an incomplete URL. It has a table of URL Owner and Storage Quota as columns and the URL is truncated as https://TENANT.share... with no owner info displayed before the storage quota amount. This feature is not useful. I cannot run the Powershell command to remove a redirect if I cannot see the full URL. I think you may want to disable it, as I now have two redirects that I cannot manage and other admins may add more.

@robertafreese Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


docs(README): cut outdated service removal section

No ticket. PR just removes outdated section, as service removal is now handled internally based on Docker version.

Codecov Report

Merging #76 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #76   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         297    297
=====================================
  Hits          297    297

Continue to review full report at Codecov.

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


Include Script-Requestor tag on requests

If interacting with the SDK directly, you can query by the transaction owner.
If you're interacting via a proxy that makes transactions on behalf of users, the transaction owner is always the same.
By allowing a tag to be populated on the request itself called Script-Requestor (or whatever name you choose), we can allow for easier querying. I do realize this can be included in User Defined Tags tag, but it's harder to search by.
Our plan is to set is as whatever we pass to firstOwner in Init-State, so this can either happen directly or by setting the tag via the SDK apis, i..e similar to n-images tag. So if it's not set, maybe set to the transaction owner address?
This will provide a uniform way to query back requests. This can be potentially helpful if a response hasn't been received, in order to give the user a better picture of all outgoing vs fulfilled requests.

defined tag name as "Request-Caller"


Issue with deploying

The latest deployment does not include the SVG Ids, which is causing several functions to revert. We should ensure that the final deployment will contain all of the SVG information.

This was fixed.    When this broke it was fixed,  don't have commit on hand for it.

Great, closing.


error on starting distributed plugin java.lang.NullPointerException

OrientDB Version: <2.2.21>
Java Version: <1.8.0_151>
OS:
Expected behavior

Actual behavior

Steps to reproduce

Hi @madanmohan25
OrientDB v 2.2.21 is quite old (latest stable is 2.2.29) could you please try to upgrade and check if the problem still exists?
Thanks
Luigi

Hi @luigidellaquila
I tried using the latest version v 2.2.29 still i face the same issue not sure why it occurs

What's your distributed-config.xml file?

The issue is still present in orientdb 3-0-23. I'm using default-distributed-db-config.json.


Unitless values

Line height can't be set to 1.5 and always defaults to pixels...
const style = css({
  'line-height': '1.5',
})

I suppose '1.5em' works... but it is a quirk still

this is how react does it too, iirc?

um, you should use camelcase, and 1.5 would be preserved. this works -
const style = css({
  lineHeight: '1.5',
})


An example and a further explanation would be nice

This help page doesn't say much about what the #pragma does and it would be nice to have at least an example. Thank you.

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

ID: 38b6c1f4-889c-fef4-f15d-b32e3a714c10
Version Independent ID: 7ef6f711-b7bc-63d1-cab8-34242edd619f
Content: #pragma - C# Reference
Content Source: docs/csharp/language-reference/preprocessor-directives/preprocessor-pragma.md
Product: dotnet-csharp
Technology: csharp-language-reference
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for reaching out @dgkoris
This page is a landing page for the two #pragma directives supported by C#. Both links are on this page for more details.
I'll close this as an answered question.


Fix and Enable Zoom and Scrolling in Timetable

Idea Description
The timetable's zoom functionality has caused the scrolling to be disabled, and the feature has been temporarily turned off. The task is to investigate and fix this issue so that both zoom and scroll functionalities can work together seamlessly.
Please refer to the specific code where the zoom has been disabled:
TimetableGrid.kt
Ensure to test the changes thoroughly to confirm that both functionalities are working correctly without conflicting with each other.
Feel free to reach out if you have any questions or need further assistance.
Reference images and links

I would like to work on this issue!

Thanks! Assigned!


500 error on restricted image

see http://iiif.bdrc.io/bdr:V1KG24968_I1KG24970::I1KG249700003.jpg/info.json

Fixed as of commit aa23ece - Auth wasn't initiated correctly given the recent changes on the ontology structure.

thanks!


added missed .gitignore in generator-sqltools-driver

Describe here what is this PR about and what we are achieving merging this.
Added .gitignore file to the generated driver with yo sqltools-driver
Resolves: #628
Thank you for your contribution!
Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You have made the needed changes to the docs
[x] You have written a description of what is the purpose of this pull request above

Awesome @daimor!
I'll bump the version and release. Thanks

@daimor , just released. Thanks for the quick work


querySegmentSpec can't be null error for segmentMetadata query

When running some queries I noticed an error that always seems to occur for the first query segmentMetadata is sent: Got error in query 1: Instantiation of [simple type, class io.druid.query.metadata.metadata.SegmentMetadataQuery] value failed: querySegmentSpec can't be null (in 1092ms).
This seems to happen for every query I have tried (groupBy, timeseries, etc.) but the rest of the queries in the chain finish and I get output but I was curious if the failure of the first query is expected or could be causing some issues with the PlyQL/Plywood processing.
Also, I was under the impression that PlyQL/Plywood would try to process groupBy queries in a more efficient manner if possible by using topNs but in my experience so far I always see GROUP BY queries stay as groupBy queries. Could the failure of the segmentMetadata be impacting that or will  GROUP BY PlyQL queries always be processed as Druid groupBy?
I am running Druid 0.8.1 if that helps.
Query:
SELECT sum(value), pop, interface, description FROM datasource WHERE description REGEXP 'abc' AND pop REGEXP '(abc01)' AND '2016-02-09T17:44:20.297Z' <= __time AND __time < '2016-02-09T23:04:20.297Z' GROUP BY TIME_BUCKET(__time, PT1M, 'Etc/UTC'), pop, interface, description ORDER BY pop DESC

Verbose output:
{
  "op": "chain",
  "expression": {
    "op": "ref",
    "name": "datasource"
  },
  "actions": [
    {
      "action": "filter",
      "expression": {
        "op": "chain",
        "expression": {
          "op": "ref",
          "name": "description"
        },
        "actions": [
          {
            "action": "match",
            "regexp": "abc"
          },
          {
            "action": "and",
            "expression": {
              "op": "chain",
              "expression": {
                "op": "ref",
                "name": "pop"
              },
              "action": {
                "action": "match",
                "regexp": "(abc01)"
              }
            }
          },
          {
            "action": "and",
            "expression": {
              "op": "chain",
              "expression": {
                "op": "literal",
                "value": "2016-02-09T22:42:18.794Z"
              },
              "action": {
                "action": "lessThanOrEqual",
                "expression": {
                  "op": "ref",
                  "name": "__time"
                }
              }
            }
          },
          {
            "action": "and",
            "expression": {
              "op": "chain",
              "expression": {
                "op": "ref",
                "name": "__time"
              },
              "action": {
                "action": "lessThan",
                "expression": {
                  "op": "literal",
                  "value": "2016-02-09T22:47:18.794Z"
                }
              }
            }
          }
        ]
      }
    },
    {
      "action": "split",
      "splits": {
        "description": {
          "op": "ref",
          "name": "description"
        },
        "interface": {
          "op": "ref",
          "name": "interface"
        },
        "pop": {
          "op": "ref",
          "name": "pop"
        },
        "split0": {
          "op": "chain",
          "expression": {
            "op": "ref",
            "name": "__time"
          },
          "action": {
            "action": "timeBucket",
            "duration": "PT1M",
            "timezone": "Etc/UTC"
          }
        }
      },
      "dataName": "data"
    },
    {
      "action": "apply",
      "expression": {
        "op": "chain",
        "expression": {
          "op": "ref",
          "name": "data"
        },
        "action": {
          "action": "sum",
          "expression": {
            "op": "ref",
            "name": "value"
          }
        }
      },
      "name": "sum_value"
    },
    {
      "action": "sort",
      "expression": {
        "op": "ref",
        "name": "pop"
      },
      "direction": "descending"
    }
  ]
}
---------------------------
vvvvvvvvvvvvvvvvvvvvvvvvvv
Sending query 1:
{
  "queryType": "segmentMetadata",
  "dataSource": "datasource",
  "merge": true,
  "analysisTypes": [
    "aggregators"
  ],
  "lenientAggregatorMerge": true
}
^^^^^^^^^^^^^^^^^^^^^^^^^^
vvvvvvvvvvvvvvvvvvvvvvvvvv
Got error in query 1: Instantiation of [simple type, class io.druid.query.metadata.metadata.SegmentMetadataQuery] value failed: querySegmentSpec can't be null (in 1092ms)
^^^^^^^^^^^^^^^^^^^^^^^^^^
vvvvvvvvvvvvvvvvvvvvvvvvvv
Sending query 2:
{
  "queryType": "introspect",
  "dataSource": "datasource"
}
^^^^^^^^^^^^^^^^^^^^^^^^^^
vvvvvvvvvvvvvvvvvvvvvvvvvv
Got result from query 2: (in 13ms)
{
  "dimensions": [
    "description",
    "interface",
    "pop"
  ],
  "metrics": [
    "value"
  ]
}
^^^^^^^^^^^^^^^^^^^^^^^^^^
vvvvvvvvvvvvvvvvvvvvvvvvvv
Sending query 3:
{
  "queryType": "groupBy",
  "dataSource": "datasource",
  "intervals": [
    "2016-02-09T22:42:18.794/2016-02-09T22:47:18.794"
  ],
  "granularity": "all",
  "context": {
    "timeout": 60000
  },
  "filter": {
    "type": "and",
    "fields": [
      {
        "type": "regex",
        "dimension": "description",
        "pattern": "abc"
      },
      {
        "type": "regex",
        "dimension": "pop",
        "pattern": "(abc01)"
      }
    ]
  },
  "aggregations": [
    {
      "name": "sum_value",
      "type": "doubleSum",
      "fieldName": "value"
    }
  ],
  "dimensions": [
    {
      "type": "default",
      "dimension": "description",
      "outputName": "description"
    },
    {
      "type": "default",
      "dimension": "interface",
      "outputName": "interface"
    },
    {
      "type": "default",
      "dimension": "pop",
      "outputName": "pop"
    },
    {
      "type": "extraction",
      "dimension": "__time",
      "outputName": "split0",
      "extractionFn": {
        "type": "timeFormat",
        "format": "yyyy-MM-dd'T'HH:mm'Z",
        "timeZone": "Etc/UTC",
        "locale": "en-US"
      }
    }
  ],
  "limitSpec": {
    "type": "default",
    "limit": 500000,
    "columns": [
      {
        "dimension": "pop",
        "direction": "descending"
      }
    ]
  }
}
^^^^^^^^^^^^^^^^^^^^^^^^^^
vvvvvvvvvvvvvvvvvvvvvvvvvv
Got result from query 3: (in 52ms)
... RESULTS ...

Thanks for your time!

Hey @smountain, this is expected and is Plywood going through the process of figuring out how best to introspect your Druid datasource. Newer versions of Druid support better kinds of introspection, and those are tried first. Eventually it will find one that works and use that. Your results should still be ok.
If you update to the latest Druid then Plywood will be able to use a better form of introspection than what it chose for your Druid (although the first one it checks will still fail, as it's checking for a feature in master that is not in a release yet).

Regarding the error:
As @gianm said, the error is expected. You will keep getting some error until you start using the (yet unreleased) Druid 0.9.0. But with every druid upgrade (0.8.2, 0.8.3) Plywood will be getting more and more info about you cluster. If the error offends you add the flag --introspection-strategy datasource-get to the command line. I would not recommend that though.
Regarding using topNs, Plywood does not (yet) simplify your multidimensional Group Bys into topNs. A multidimensional group by will always perform a groupBy query.
The true power of PlyQL/Plywood is in nested splits (group bys)
Consider the query:
SELECT
  sum(value) AS 'Value',
  pop,
  interface
FROM datasource
WHERE
  description REGEXP 'abc' AND
  '2016-02-09T17:44:20.297Z' <= __time AND __time < '2016-02-09T23:04:20.297Z'
GROUP BY
  pop,
  interface
ORDER BY pop DESC

PlyQL can do that with a group by, but an alternative query you could do (if it makes sense for your use case) is:
SELECT
  sum(value) AS 'ValueTotal',
  pop,
  (SELECT interface, sum(value) AS 'Value'
   GROUP BY interface
   ORDER BY Value DESC LIMIT 10) AS Interfaces
FROM datasource
WHERE
  description REGEXP 'abc' AND
  '2016-02-09T17:44:20.297Z' <= __time AND __time < '2016-02-09T23:04:20.297Z'
GROUP BY
  pop,
ORDER BY pop DESC
LIMIT 100

This will give you the list of the top 10 interfaces by sum(value) for each of the top 100 pops by pop (whatever that is).
If those are high cardinality dimensions this query might me dramatically faster than the group by. It also gives you precise control on the sort and limit within each nested sub grouping.
In Pivot this kind of query is used to render the nested table:

Here is the visual result of a City nested by Page on a wikipedia edits data source, note that there are so many pages on Wikipedia that making a straight up group by query is sub optimal.
This is not limited to topNs, say you wanted to get a time breakdown (timeseries for each interface) you could do:
SELECT
  interface,
  sum(value) AS 'ValueTotal',
  (SELECT TIME_BUCKET(__time, PT1M, 'Etc/UTC') as 'Minute', sum(value) AS 'Value'
   GROUP BY 1 -- this is a shortcut for grouping on the first column so I do not have to type it out twice
   ORDER BY `Minute`) AS Minutes
FROM datasource
WHERE
  '2016-02-09T17:44:20.297Z' <= __time AND __time < '2016-02-09T23:04:20.297Z'
GROUP BY
  interface,
ORDER BY interface DESC
LIMIT 100

I advice you to try these queries and see what they do with the verbose mode :-)

Understood, that makes more sense now. Thanks @gianm and @vogievetsky for the explanation. I am writing queries using the nested split approach and I am seeing multiple concurrent executions of timeseries queries, so that looks good.
I will update Druid to 0.9.0 when available as well. This issue can be closed. Thanks again!

Just realized that I forgot to close this issue :-)


Automatic Solution Generator - Work in progress

The console app asks the user for some input and then generates the VS solution automatically.
TODOs:

[ ] apply the chosen parameters by the user - it is hardcoded now AVX2 + CUDA
[ ] create a template from CMakeList.txt.in by replacing the params we want to replace automatically with, for example {{param1}}
[ ] replace the params {{paramn}} in CMakeList.txt.in automatically and copy the file to CMakeLists.txt
[ ] select only the necessary projects in VS - at the moment all C++ projects are loaded what is too much

The app works already but with the hardcoded settings (see TODOs here above) and loads all C++ projects instead of only the necessary ones.
Maybe someone else can finalize this solution?

If this PR intent to allow the developer to build llama.cpp It seems simpler to me dranger003 alternative. Just include the build in the .csproj. It works on Windows and Linux.
https://github.com/dranger003/llama.cpp-dotnet/blob/master/LlamaCppLib/LlamaCppLib.csproj
This readme describe how to use it:
https://github.com/dranger003/llama.cpp-dotnet/blob/master/README.md

If this PR intent to allow the developer to build llama.cpp It seems simpler to me dranger003 alternative. Just include the build in the .csproj. It works on Windows and Linux.
https://github.com/dranger003/llama.cpp-dotnet/blob/master/LlamaCppLib/LlamaCppLib.csproj
This readme describe how to use it: https://github.com/dranger003/llama.cpp-dotnet/blob/master/README.md

SignalRT, I have checked the project you mentioned here above. It works well for one specific setup (with a selection of hardcoded options), but our goal is to support several setups (combination of options). Also, it links the compilation of the C# part with the compilation of the C++ part what I think is not a good approach (we should have these two separated). What I find good is that the selection of C++ projects are limited to a few we need, we should check how this is done and do the same in our solution generator.
So, as a summary, our solution generator would be more versatile, with more options and easier to configure. The hardcoded cmake script in the dranger003 project file is a kind of hack and only text editor modifications are possible (it is not even in the project settings).

@zsogitbe, I don't get the point.

We can execute the action to build ALL the binaries on GitHUB. Everybody can see the script and the output integrates directly in action execution. That covers the use case of the people that wants to be sure that the upstream binaries are "secure".
Any other use case is a developer that if wants to build all the binaries should use 1 or something similar. And if the developer want's to generate binaries for a specific configuration dranger003 solution seems to be enough for me.

Any way, for sure I'm missing the use case that you want to cover.

@zsogitbe, I don't get the point.

We can execute the action to build ALL the binaries on GitHUB. Everybody can see the script and the output integrates directly in action execution. That covers the use case of the people that wants to be sure that the upstream binaries are "secure".
Any other use case is a developer that if wants to build all the binaries should use 1 or something similar. And if the developer want's to generate binaries for a specific configuration dranger003 solution seems to be enough for me.

Any way, for sure I'm missing the use case that you want to cover.

SignalRT, some of the current problems with GitHub builds are the following: cannot build with CUDA, we do not have debug versions, the DLLs do not include any vendor info (see below), downloading Dll's is still a security risk even from GitHub, etc.
,
I will not finalize this solution, I made it only to show you that it is possible (it works now with the hardcoded values = the same as dranger003 solution CUDA + AVX2). We could have a simple console app which configures several builds with a few user options. It is up to the team to decide if this is useful. If you find it useful, then you could merge it and someone else could finalize it.


Added guard test before calling hasOwnProperty

This fix intent to solve this issue

@RafaelTCostella Thanks! This has already been fixed by latest commits for next version 1.4.17.


ng build --prod fails with Terser error "undefined"

🐞 Bug report
Command (mark with an x)

- [ ] new
- [x] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?
I don't know.
Description
I have been migrating one of our legacy projects from AngularJS to to Angular 8 and hit this issue when building it with a prod build for the first time. It took me a while but I managed to isolate the issue to a single file and then reduce the code which was causing the issue down to the (rather contrived) example below. When compiling the below code with tsc and then running it through terser the issue did not manifest itself so I can only assume it is either to do with the config AngularCLI uses or with AngularCLI itself.
This isn't a blocker for me as I was able to refactor the code as to not trigger the bug (by replacing the forEach with a map) but I thought I would submit a bug report in case other people have hit it!
This may be related to #13096 but I do have a reliable repro :) I also am happy if someone might be able to point me in the right direction to reproduce this directly with Terser as I was unable to get it to occur in that case.
🔬 Minimal Reproduction

Create a new application using ng new
Replace the code in main.ts with

getDecimalGreaterThanHalfRecurse(Math.random());

function getDecimalGreaterThanHalfRecurse(num: number) {
  if (num > 0.5) {
    return num;
  }

  return getDecimalGreaterThanHalf();

  function getDecimalGreaterThanHalf() {
    const childTaskFetchPromises: number[] = [];

    [Math.random()].forEach(makeSureNumberIsHalf);

    return childTaskFetchPromises[0];

    function makeSureNumberIsHalf(numToTry: number) {
      childTaskFetchPromises.push(getDecimalGreaterThanHalfRecurse(numToTry));
    }
  }
}

Run ng build --prod

🔥 Exception or Error

chunk {0} runtime-es2015.703a23e48ad83c851e49.js (runtime) 1.41 kB [entry] [rendered]
chunk {1} main-es2015.b4bb597dd4b4ece15307.js (main) 789 bytes [initial] [rendered]
chunk {2} polyfills-es2015.5581eb5ca3860a631b8d.js (polyfills) 36.4 kB [initial] [rendered]
chunk {3} styles.3ff695c00d717f2d2a11.css (styles) 0 bytes [initial] [rendered]
Date: 2019-07-12T07:51:43.614Z - Hash: 7ad404b9e683381489f4 - Time: 4844ms

WARNING in Lazy routes discovery is not enabled. Because there is neither an entryModule nor a statically analyzable bootstrap code in the main file.

A couple of things I noticed:

If you remove the initial call to the function the build works. Probably because of the tree shaker removing that code
If you remove the what seems to be useless function call to getDecimalGreaterThanHalf()
the build works
If you replace the forEach with a map (which is the same functionally) then the build works. i.e. replace the body of getDecimalGreaterThanHalf with

return [Math.random()].map(makeSureNumberIsHalf);

    function makeSureNumberIsHalf(numToTry: number) {
      return getDecimalGreaterThanHalfRecurse(numToTry);
    }

Hi, I just took a look at this and it seems that it's an issue with terser. Let me explain what I did.
I tried this using the online minifier (https://xem.github.io/terser-online/). The online version fails with a different error though.
So, what is happening is that when compiled and bundled the output code is wrapped in a function similar to the below:
(function () {
  getDecimalGreaterThanHalfRecurse(Math.random());

  function getDecimalGreaterThanHalfRecurse(num) {
    if (num > 0.5) {
      return num;
    }
    return getDecimalGreaterThanHalf();
    function getDecimalGreaterThanHalf() {
      const childTaskFetchPromises = [];
      [Math.random()].forEach(makeSureNumberIsHalf);
      return childTaskFetchPromises[0];
      function makeSureNumberIsHalf(numToTry) {
        childTaskFetchPromises.push(getDecimalGreaterThanHalfRecurse(numToTry));
      }
    }
  }
})();

I grabbed the above code, and pasted it in the online minifier https://xem.github.io/terser-online/, and I got RangeError: Maximum call stack size exceeded.

What I noticed was that the function call was being made prior to the function declaration which gave me an idea to swap the statements. Ie:
(function () {
  function getDecimalGreaterThanHalfRecurse(num) {
    if (num > 0.5) {
      return num;
    }
    return getDecimalGreaterThanHalf();
    function getDecimalGreaterThanHalf() {
      const childTaskFetchPromises = [];
      [Math.random()].forEach(makeSureNumberIsHalf);
      return childTaskFetchPromises[0];
      function makeSureNumberIsHalf(numToTry) {
        childTaskFetchPromises.push(getDecimalGreaterThanHalfRecurse(numToTry));
      }
    }
  }

  getDecimalGreaterThanHalfRecurse(Math.random());
})();

And this produced the JS minified without an error

I suggest you fill an an issue with Terser with the above info. Thank you.

Thank you very much for taking the time to do that detective work 🕵
I will take this information to the Terser team :)

@juliancarrivick have you got a bug # from Terser? I'm having the same issues with angular 8 all of a sudden.

@JohnGalt1717 Yep, I logged it under terser-js/terser#406


Problem to use more than 1 xslx files ... keep the preview data on files

I'm using Prerelease: 2.0.0-null-safety and getting local asset
I try to use exactly this code but can't find the property update on decodeBytes function that you use on your code, without this property it works but keep the data of last file.
import 'package:flutter/services.dart' show ByteData, rootBundle;

           ByteData data = await rootBundle.load("assets/existing_excel_file.xlsx");
           var bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);

--- >    var excel = Excel.decodeBytes(bytes, update: true);                                               (no property update found)
how can I update the data ? ... can you help me please

@JERV-code
Actually the readme was not updated !! Thanks for pointing it out.
You are good to go without the update parameter.
var excel = Excel.decodeBytes(bytes);

Thanks.

If you still finds any difficulty then reopen this issue right-away.

my problem is't related with the property update ... I'm using multiple xlsx files and just the first one is loaded, the otrer information there isn't readed from the file.
this just happend to me on 2.0.0-null-safety version
share wiith you my flutter doctor maybe some version there is related with my problem
[✓] Flutter (Channel master, 2.2.0-11.0.pre.103, on Mac OS X 10.15.7 19H524 darwin-x64, locale es-CO)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
thanks for your help!

@JERV-code
try running this command in your command line one by one
/// To make sure you are on the stable branch of flutter
flutter channel stable
flutter upgrade
flutter doctor -v
flutter pub cache repair
flutter doctor -v

and then try using the excel plugin, I hope your project is in null-safety too.
for reading multiple: ( just read the file in multiple object );

var file_1_bytes = await readAssetFile("assets/existing_excel_file_1.xlsx");
var excel_file_1 = Excel.decodeBytes(file_1_bytes);

var file_2_bytes = await readAssetFile("assets/existing_excel_file_2.xlsx");
var excel_file_2 = Excel.decodeBytes(file_2_bytes);

Future<Uint8List> readAssetFile(String path) async {
    ByteData data = await rootBundle.load(path);
    var bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
    return bytes;
}

I try all this commands but they don't works for me
I also am using every xlsx like diferent object ... in the version 1.1.5 all was fine to me, i did't change nothing in my code
and this version (1.1.5)  have incompatibility when i use pub get on  my pubspec.yaml, so i dont know what can i do

I am having the same issue. I will elaborate on my case.
I open file1.xlsx using var excel = Excel.decodeBytes(). I update cell "A1". I use excel.encode() and save the bytes into a file and share it outside the app using the share plugin.
Then I open file2.xlsx using the same object var excel = Excel.decodeBytes(). The cell "A1" is the same as the one from file1.xlsx. The excel object is not updated with the new data.

@ashishbeck
This issue is coming in the new null-safe version right ??

@ashishbeck && @JERV-code
It's fixed now in version:
excel: 2.0.0-null-safety-1

https://pub.dev/packages/excel/versions/2.0.0-null-safety-1
Inform me if this works out for you !!

no, it does't work yet, I update my puspec with new commit but not works ... if there are some that i can do to solve this let me know please, thanks !

@JERV-code
Can you please show an example code ?

I have prepared a minimal code snippet from my project here. You need these packages to run it
  path_provider: ^2.0.1
  file_picker: ^3.0.1
  permission_handler: ^7.0.0
  excel: ^2.0.0-null-safety-1
  share: ^2.0.1

And this is a basic page that should demonstrate the problem.
Open a file. Make some changes. Share it. Reopen the file (or a different file too).
import 'package:share/share.dart';
import 'dart:io';
import 'package:path_provider/path_provider.dart';
import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart';
import 'package:excel/excel.dart';
import 'package:permission_handler/permission_handler.dart';

class Temp extends StatefulWidget {
  @override
  _TempState createState() => _TempState();
}

class _TempState extends State<Temp> {
  Excel excel;

  Future openFile() async {
    FilePickerResult result = await FilePicker.platform.pickFiles(
      type: FileType.custom,
      allowedExtensions: ['xlsx'],
    ).catchError((onError) {
      print(onError);
      openAppSettings();
    });
    if (result != null) {
      PlatformFile file = result.files.first;
      var bytes = await File(file.path).readAsBytes();
      setState(() {
        excel = new Excel.decodeBytes(bytes);
      });
    }
  }

  Future shareFile() async {
    String path;
    var bytes = excel.encode();
    Directory appDocDir = await getApplicationDocumentsDirectory();
    path = appDocDir.path + '/file.xlsx';
    File(path).writeAsBytes(bytes);
    Share.shareFiles([path]).then((value) => setState(() => excel = null));
  }

  @override
  Widget build(BuildContext context) {
    Widget button(String label, Function onPressed) => TextButton(onPressed: onPressed, child: Text(label));

    if (excel != null) {
      Sheet sheet = excel.sheets.values.first;
      CellIndex index = CellIndex.indexByColumnRow(rowIndex: 0, columnIndex: 0);
      Data cellData = sheet.cell(index);

      Widget textField() => TextFormField(
            initialValue: cellData.value,
            onChanged: (val) => setState(() {
              cellData.value = val;
            }),
          );

      return Scaffold(
          body: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [textField(), button('Open New', openFile), button('Share', shareFile)]));
    }
    return Scaffold(
        body: Center(child: button('Open New', openFile)));
  }
}

@ashishbeck
Can you please try to use:
excel: 2.0.0-null-safety-1

On my side it looks good without any errors.

I am using the latest version. If you open a .xlsx file and then perform .encode() on it and repeat this process for different .xlsx files several times, you will end up with a very weird combination of all the files. Please try it and let me know if you get what I am saying. Thanks

off course this is a function to get a version and model car:
modelo = '';
version = '';
Future _getModelo (String fielName) async {
ByteData data = await rootBundle.load("assets/config/$fielName.xlsx");
var bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
var excel = Excel.decodeBytes(bytes,);

int versionParcial;

try {
  versionParcial = int.parse(version.toString());
} catch (er){
  print('~~~~~~~~~ ---- > la version de este vehiculo no es un numero');
}

int position = excel[marca].rows[0].indexOf(versionParcial != null ? versionParcial : version);

modelo = excel[marca].rows[2][position].value.toString();

try {
  final double parcial = double.parse(modelo);
  modelo  = parcial.round().toString();
} catch (er) {
  print('~~~~~~~~~~~~~~~ -----> la variable modelo no es un valor numerivo');
}

}

I am using the latest version. If you open a .xlsx file and then perform .encode() on it and repeat this process for different .xlsx files several times, you will end up with a very weird combination of all the files. You can use the sample code that I posted earlier and share the final file outside of the app and open it externally to check. Please try it and let me know if you get what I am saying. Thanks

@ashishbeck
I was unable to track down the issue on my side !! as I clearly see the variables being initialised again and again every time for the new excel files.
Please have a look at the changed and correct sample code as your were not waiting on the async functions and also go with latest version of excel.
pubspec:
  path_provider: ^2.0.1
  file_picker: ^3.0.1
  permission_handler: ^7.0.0
  excel: ^2.0.0-null-safety-2 # this is the latest version for null-safety
  share: ^2.0.1

Corrected code:
import 'package:share/share.dart';
import 'dart:io';
import 'package:path_provider/path_provider.dart';
import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart';
import 'package:excel/excel.dart';
import 'package:permission_handler/permission_handler.dart';

class Temp extends StatefulWidget {
  @override
  _TempState createState() => _TempState();
}

class _TempState extends State<Temp> {
  Excel excel;

  Future openFile() async {
    FilePickerResult result = await FilePicker.platform.pickFiles(
      type: FileType.custom,
      allowedExtensions: ['xlsx'],
    ).catchError((onError) {
      print(onError);
      openAppSettings();
    });
    if (result != null) {
      PlatformFile file = result.files.first;
      var bytes = await File(file.path).readAsBytes();
      setState(() {
        excel = new Excel.decodeBytes(bytes);
      });
    }
  }

  Future shareFile() async {
    String path;
    var bytes = excel.encode();
    Directory appDocDir = await getApplicationDocumentsDirectory();
    path = appDocDir.path + '/file.xlsx';

    /// this has to be awaited 🤔
    await File(path).writeAsBytes(bytes);

    /// this has to be awaited 🤔
    await Share.shareFiles([path]).then((value) => setState(() => excel = null));
  }

  @override
  Widget build(BuildContext context) {
    Widget button(String label, Function onPressed) => TextButton(onPressed: onPressed, child: Text(label));

    if (excel != null) {
      Sheet sheet = excel.sheets.values.first;
      CellIndex index = CellIndex.indexByColumnRow(rowIndex: 0, columnIndex: 0);
      Data cellData = sheet.cell(index);

      Widget textField() => TextFormField(
            initialValue: cellData.value.toString(),
            onChanged: (val) => setState(() {
              cellData.value = val;
            }),
          );

      return Scaffold(
          body: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [Text(cellData.value.toString()), textField(), button('Open New', openFile), button('Share', shareFile)]));
    }
    return Scaffold(
        body: Center(child: button('Open New', openFile)));
  }
}

The latest version excel: ^2.0.0-null-safety-3 has fixed the issue for me. Thanks a lot!

@ashishbeck Anytime

for me too, thank you so much!


Remove type tooltip

Add the type in the internal part of the box and remove this tooltip.

right, will create a branch with this change


Concurrent connections limited to ~410

I've followed the advice on the deployment page to increase ulimit, and the had confirmed that it has been set to 10000.
I already installed the pecl event extension. Is there any advice for this?

Check https://github.com/beyondcode/laravel-websockets/issues/426 and https://github.com/beyondcode/laravel-websockets/issues/244

@rennokki already checked both issues. Already set the supervisor process open file limits. Still does not help.

My suspect was on Nginx reverse proxy. Asked question on server fault as well.
https://serverfault.com/questions/1033676/nginx-socket-reverse-proxy-got-503-responses-on-concurrent-requests

@rennokki I found out the issue. My suspect was on NGINX. But turn out it's Cloudflare DNS. Cloudflare got limit on websocket connection. In order not to block by them, I need to turn of Cloudflare DNS proxy and use DNS only mode.
Thanks for your help. I will write about this as a blog post later on. 🙏

Hi @rennokki , it would be great if the deployment section in the documentation is expanded by explaining existing content & addressing these common issues in the official doc. My opinion always is that "Moving to production" documentation should always be well explained because it helps a lot of developers with varying experiences.


--gen-c flag doesn't generated valid C code

Create a list of what needs to be changed to make the code valid.

#237


Field "id" not found after using the "Enhance" button

Congrats on this amazing app! I'm only having an issue when clicking on the "Enhance" button. When doing so, my Prompt (from the default one) changes to:
"portrait photo headshot by mucha, sharp focus, elegant, render, octane, detailed, award winning photography, masterpiece, rim lit cinematic lighting shot at night with 1 9 2 0 s studio composition and old vintageines cinema light rays from a distance in the background - w 8 3 4 6 7 5 mm picture is magic hour trending on artstation. behance hd crisp image b" .
Then when clicking on the "Generate" button, I get an error: "FDMemTable1: Field "id" not found"
Thank You!

I'll take a look. Could be throwing an error. It doesnt have much error handling if Replicate throws an error.


librespeed-cli: 1.0.7 -> 1.0.8

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/librespeed-cli/versions.
meta.description for librespeed-cli is: "Command line client for LibreSpeed"
meta.homepage for librespeed-cli is: "https://github.com/librespeed/speedtest-cli"
meta.changelog for librespeed-cli is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/an6268arbmsl0zibfzxk9kgqiy16y0xa-librespeed-cli-1.0.8/bin/librespeed-cli passed the binary check.

1 of 1 passed binary check by having a zero exit code.

0 of 1 passed binary check by having the new version present in output.

found 1.0.8 with grep in /nix/store/an6268arbmsl0zibfzxk9kgqiy16y0xa-librespeed-cli-1.0.8

found 1.0.8 in filename of file in /nix/store/an6268arbmsl0zibfzxk9kgqiy16y0xa-librespeed-cli-1.0.8

directory tree listing: https://gist.github.com/fdd207da7707c93a7cb9472c7114bdfa

du listing: https://gist.github.com/9d9c9f1ee1d3c89fcc5a2f1f398f3572

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
librespeed-cli

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/an6268arbmsl0zibfzxk9kgqiy16y0xa-librespeed-cli-1.0.8 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A librespeed-cli https://github.com/r-ryantm/nixpkgs/archive/ff6c9411f8ecc060b5232a7a0ca92c4811d8adaa.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/an6268arbmsl0zibfzxk9kgqiy16y0xa-librespeed-cli-1.0.8
ls -la /nix/store/an6268arbmsl0zibfzxk9kgqiy16y0xa-librespeed-cli-1.0.8/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

librespeed-cli

Maintainer pings
cc @fabaff @kalbasit for testing.

Result of nixpkgs-review pr 121325 run on x86_64-linux 1

1 package built:

librespeed-cli


fix: Collect event endpoint management diagnostics

Update the postmortem tool to include the event gateway
The following are all collected if the tool is run with no additional
options:

pod logs and describe for the events gateway

describes, lists and yamls of the eventendpointmanager and
eventgatewaycluster custom resource objects

routes, service account, deployment information for the events
gateway are collected with no changes needed

A flag so that in the future we can easily add events gateway
specific logs (unused at present)

Signed-off-by: Emma Humber<EMAIL_ADDRESS>

@EmmaHumber
Reviewed commit, some adjustments were necessary.  Also addressed bug fixes and added enhancements so will proceed to close commit.


fix(skeleton-typescript-webpack): align the typings configuration to the new version (V1)

Adding support for the new typings interface. (V1)
see: https://github.com/typings/typings/releases/tag/v1.0.0
-- removing committed dependencies. (no need)
-- updating the readme file with the new instructions to install the typings
-- updating the typings.json file to align with the new interface.
-- updating the tsconfig file with the new typings index file and removing the node_modules d.ts discovery files of aurelia.

Closing this PR as a duplicate to an earlier submission that was merged: https://github.com/aurelia/skeleton-navigation/pull/443
If you can, please review the new versions and see if there's anything additional you would be able to contribute based on your PR via a new PR from master. Thanks!


(dependant issue)Change algorithm for calculating WPM

NOTE: THIS ISSUE DEPENDS ON #40 BEING FIXED FIRST. Algorithm tested on main branch, without the dll implementation part of the code
Current algorithm doesnt give accurate WPM.
WPM on Monkeytype:

WPM on TYRBO-on-terminal:

Discrepancy is VERY high.

This issue is outdated as there seems to be a whole different problem with the algorithm now 😢
Closing this issue.


CLI to allow filtering by nanoseconds

Changelog
The CLI now accepts --start-nsecs and --end-secs parameters to filter by nanosecond-precision timestamps.
Description
Usage:
mcap cat --start-nsecs<PHONE_NUMBER>123456789 --end-nsecs<PHONE_NUMBER>777888999 my.mcap

...or for the filter:
mcap filter --start-nsecs<PHONE_NUMBER>123456789 --end-nsecs<PHONE_NUMBER>777888999 my.mcap -o out.mcap

In response to this issue: https://github.com/foxglove/mcap/issues/1067

$ mcap cat input.mcap
1709146829659264519 /topic [schema] [10 12 8 205 133 254 174 6 16 128]...
1709146829760054571 /topic [schema] [10 12 8 205 133 254 174 6 16 128]...

I want to print only the first two messages, but I can't use mcap cat --end-secs<PHONE_NUMBER>760054571 because the output is in a different unit (nanoseconds) than the input arguments (seconds). Maybe additional --start-nsecs / --end-nsecs arguments?

I think you should seek others' input on the public-facing change (new flag names), but this seems good to me.

Re standup this is good to go; @wkalt mentioned that it could be nice to introduce --start --end params that accept any kind of timestamp — but that obviously would have been a much bigger lift.


[Internal] Query: Adds COUNT(DISTINCT) on specific query shapes

Description
This is the first in a series of changes to enable users to write cross partition COUNT(DISTINCT) queries. This depends on some rewrite logic in ServiceInterop.dll. hence, this change will not be fully enabled until the ServiceInterop.dll is refreshed.
The idea here is to add some metadata to QueryInfo, and rewrite the query to pull the DISTINCT subquery one level up for specific query shapes.
E.g.
SELECT VALUE COUNT(1)
FROM (SELECT DISTINCT VALUE r.year FROM root r)

The count is then done client side.
Filtering, sorting, grouping etc. are not allowed on the outer query. We will not pull up the DISTINCT from a deeply nested subquery.
Type of change

[x] New feature (non-breaking change which adds functionality)

Closing issues
To automatically close an issue: closes #IssueNumber

Please follow the required format: "[Internal] Category: (Adds|Fixes|Refactors) Description"
Examples:
Diagnostics: Adds GetElapsedClientLatency to CosmosDiagnostics
PartitionKey: Fixes null reference when using default(PartitionKey)
[v4] Client Encryption: Refactors code to external project
[Internal] Query: Adds code generator for CosmosNumbers for easy additions in the future.

fixed


SyslogMessage is a mutable object

Description
SyslogMessage is a mutable object. This causes unintuitive use. Change to immutable implementation.
See https://github.com/teragrep/rlo_14/issues/9

relates to #42


addTrade bad calculation

I have a problem with Tick model.
addTrade method has 2 parameters (tradeAmount,tradePrice)
volume property should be summed with tradeAmount and
amount parameter should be combined with the result of tradeAmount*tradePrice.
this code is for Tick model in  addTrade method
this.amount = this.amount.plus(tradeAmount);
this.volume = this.volume.plus(tradeAmount.multipliedBy(tradePrice));

I think this code is not true.
Please help me.Thank you.

Wow! Nice one! They should be inverted. I will try to fix this soon.


MINM record/replay for USB Xbox One Controller?

Wasn't sure where to post this. Is this library capable of having a linux machine support a man in the middle between my controller and the xbox where it records all of my actions, but allows the xbox to make and replay its own actions?

Theoretically, yes -- if you have a FaceDancer device and are willing to write some python (and learn about USB HID), this is very much possible.  :)
This is mostly proxying and injecting HID data, so the Switch controller MITM'ing examples are relevant, here.


Windows Defender detects a Trojan in the executable

Windows Defender won't allow me to run the exe, saying it has a Trojan.

Same for me...

reopend the old issue here: https://github.com/lian/msfs2020-go/issues/14
was hoping i solved this. when i uploaded v0.0.7 last night all virustotal scanners (including microsoft) were happy.
https://www.virustotal.com/gui/file/3d7dc453123b2c8bf0c27dfa03ae9d477347318b4e953711c6ff5f20e047b819/detection


Reverting the shifting of smb_Disconnect() from DeviceDeinit() to DeviceUnmount()

Pull Request checklist
Note: these are not necessarily requirements

[ ] I reformatted the code with clang-format
[ ] I checked to make sure my submission worked
[X] I am the author of submission or have permission from the original author
[ ] Requires update of the PS2SDK
[ ] Requires update of the gsKit
[ ] Others (please specify below)

Pull Request description
Some games seem to exhibit VMC corruption after this change was made.
It may be also related to the IOP reboot, since this function is called from the _exit() function, which is called when the module is unloaded (before IOP reboots etc).
Related to commit 8dbaaae2.
Not tested. I'm only doing this because of the comments from here.

Tested VMC with GT4 (SCUS) in SMB mode and its working fine!

I've tried these reverted changes with Gran Turismo 3 (SCES_502.94).
Also everything seems to be fine.
I mean, currently GT3 can load setting from VMC through ETH.
Thanks.


Scroll to a certain cell on collection view before presenting the next CoachMarkView

Question
After reading the documentation and make some tests on a sample project, I wasn't able to solve this situation:

I have a collection view with 4 cells, for instance.
My first CoachMarkView will be the first cell.
My second CoachMarkView will be the third cell.
I want to scroll to my third cell animated and then get the correct frame for this cell
Currently I am trying to do something like

func coachMarksController(_ coachMarksController: CoachMarksController, coachMarkAt index: Int) -> CoachMark {

    if index == 1 {
        collectionView.scrollToItem(at: .init(row: 3, section: 0), at: .centeredVertically, animated: true)
    }

    let markView = collectionView.cellForItem(at: .init(row: 3, section: 0))
    return coachMarksController.helper.makeCoachMark(for: coachMarkView,
                                                     pointOfInterest: nil,
                                                     cutoutPathMaker: { UIBezierPath(roundedRect: $0, cornerRadius: coachMarkView.frame.height / 2)
    })
}

This only works if  I pass animated argument as false:
collectionView.scrollToItem(at: .init(row: 3, section: 0), at: .centeredVertically, animated: false)
It will give me the previous position of the cell before the scroll, otherwise
I also tried scroll on other delegate functions like:
func coachMarksController(_ coachMarksController: CoachMarksController,
                              didHide coachMark: CoachMark,
                              at index: Int) {
        if index == 0 {
            childViewController.collectionView.scrollToItem(at: .init(row: 3, section: 0), at: .centeredVertically, animated: true)
        }
    }

and then update on delegate function
func coachMarksController(_ coachMarksController: CoachMarksController,
                              willShow coachMark: inout CoachMark,
                              beforeChanging change: ConfigurationChange,
                              at index: Int) {
        if index == 1 {
            let markView = collectionView.cellForItem(at: .init(row: 3, section: 0))
            coachMark = coachMarksController.helper.makeCoachMark(for: markView, cutoutPathMaker: { UIBezierPath(roundedRect: $0, cornerRadius: coachMarkView.frame.height / 2) })
        }

    }

and still not work.
Is there a way to handle this situation?
The worst scenario: if collection view didn't dequeue a cell for certain indexPath. But let focus on the example
Thank you

Hey @lmbcosta, so Instructions is always a bit tacky when used will collections.
But what you can do is look into pausing and resuming the flow (also, have a look at this example)
You should be able to achieve what you want by pausing the flow in willShow, scrolling to the appropriate item and resuming the flow after the scroll completed.

Hello, @ephread. Thank you for the reply. I was testing and, yes, I was able to make it work using pause/resume strategy.
Consider this issue closed

I'm glad to hear that!


Access Denied Despite gmsa account has SA and is part of local admin group

Getting this
System.AggregateException: Error connecting to WMI on (Access is denied.) (Access is denied. )
---> Microsoft.Management.Infrastructure.CimException: Access is denied.
at Microsoft.Management.Infrastructure.Internal.Operations.CimSyncEnumeratorBase1.MoveNext()    at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable1 source, Boolean& found)
at System.Linq.Enumerable.Single[TSource](IEnumerable1 source)    at Microsoft.Management.Infrastructure.CimSession.GetClass(String namespaceName, String className, CimOperationOptions options)    at Microsoft.Management.Infrastructure.CimSession.GetClass(String namespaceName, String className)    at DBADash.DBCollector.TestWMI(CimSessionOptions sessionOptions) in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1484    at DBADash.DBCollector.get_WMISessionOptions() in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1452    --- End of inner exception stack trace ---    at DBADash.DBCollector.get_WMISessionOptions() in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1440    at DBADash.DBCollector.CollectPowerPlanWMI() in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1511  ---> (Inner Exception #1) Microsoft.Management.Infrastructure.CimException: Access is denied.     at Microsoft.Management.Infrastructure.Internal.Operations.CimSyncEnumeratorBase1.MoveNext()
at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable1 source, Boolean& found)    at System.Linq.Enumerable.Single[TSource](IEnumerable1 source)
at Microsoft.Management.Infrastructure.CimSession.GetClass(String namespaceName, String className, CimOperationOptions options)
at Microsoft.Management.Infrastructure.CimSession.GetClass(String namespaceName, String className)
at DBADash.DBCollector.TestWMI(CimSessionOptions sessionOptions) in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1484
at DBADash.DBCollector.get_WMISessionOptions() in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1462<---

Hi,
There is some information here on troubleshooting WMI:
https://dbadash.com/docs/help/wmi/
So in addition to local admin, you might need to run Enable-PSRemoting & check firewall rules.
To troubleshoot you can try to run Get-CimInstance -Class Win32_computerSystem -ComputerName "NAME_HERE" from the computer where DBA Dash is installed.
You don't need sysadmin for the WMI collections to work, but you do need local admin.
There is only a minimal amount of information collected through WMI (documented in the link above).  The No WMI checkbox can be used to disable WMI if required.
Hope this helps,
David

Thanks for the quick respond here is what i got Get-CimInstance : Access is denied.
At line:1 char:1

Get-CimInstance -Class Win32_computerSystem -ComputerName "...

  + CategoryInfo          : PermissionDenied: (root\cimv2:Win32_computerSystem:String) [Get-CimInstance], CimException
  + FullyQualifiedErrorId : HRESULT 0x80070005,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
  + PSComputerName        :

gmsa account is local admin on the destination server and on the server running dbadash.

I guess that means I have to enable psremoting. Ill give that a shot.

still getting this. account is part of local admin and i ran the enable psremoting.
System.AggregateException: Error connecting to WMI on xxx (Access is denied.) (Access is denied. )
---> Microsoft.Management.Infrastructure.CimException: Access is denied.
at Microsoft.Management.Infrastructure.Internal.Operations.CimSyncEnumeratorBase1.MoveNext()    at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable1 source, Boolean& found)
at System.Linq.Enumerable.Single[TSource](IEnumerable1 source)    at Microsoft.Management.Infrastructure.CimSession.GetClass(String namespaceName, String className, CimOperationOptions options)    at Microsoft.Management.Infrastructure.CimSession.GetClass(String namespaceName, String className)    at DBADash.DBCollector.TestWMI(CimSessionOptions sessionOptions) in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1484    at DBADash.DBCollector.get_WMISessionOptions() in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1452    --- End of inner exception stack trace ---    at DBADash.DBCollector.get_WMISessionOptions() in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1440    at DBADash.DBCollector.CollectDriversWMI() in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1553  ---> (Inner Exception #1) Microsoft.Management.Infrastructure.CimException: Access is denied.     at Microsoft.Management.Infrastructure.Internal.Operations.CimSyncEnumeratorBase1.MoveNext()
at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable1 source, Boolean& found)    at System.Linq.Enumerable.Single[TSource](IEnumerable1 source)
at Microsoft.Management.Infrastructure.CimSession.GetClass(String namespaceName, String className, CimOperationOptions options)
at Microsoft.Management.Infrastructure.CimSession.GetClass(String namespaceName, String className)
at DBADash.DBCollector.TestWMI(CimSessionOptions sessionOptions) in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1484
at DBADash.DBCollector.get_WMISessionOptions() in D:\a\dba-dash\dba-dash\DBADash\DBCollector.cs:line 1462<---

It should work by default in a domain environment when the service account is a local admin on the remote machine and PSRemoting is enabled.  I'm not sure if it works across domain boundaries so if the monitored instance is in a different domain it might not work.  It's possible something else other than the Windows firewall could be blocking things or maybe some security configuration/software.
If the powershell script is failing to run you might be able to get help for this issue from powershell communities.  If you are able to find the root cause, please post back.
If you are unable to get it working remotely you could either disable WMI or run the DBA Dash service directly on the monitored instance (which is less likely to have problems).

It was a permission issue.


Build error for webgl target un Ubuntu 18.04

I am getting "SyntaxError: encoding problem: future_fstrings" while trying to build webgl target.
My python seem to be in good shape. Please advise where to do.
pip3 list
...
future-fstrings       0.4.5

python --version
Python 3.7.1

Extract faces...
[267/267] Generating demo_triangle.html, tutorial_triangle.html, tutorial_triangle.js, demo_redbal...l_redball.html, tutorial_redball.js, demo_suzanne.html, tutorial_suzanne.html, tutorial_suzanne.js
FAILED: web/docs/demo_triangle.html web/docs/tutorial_triangle.html web/docs/tutorial_triangle.js web/docs/demo_redball.html web/docs/tutorial_redball.html web/docs/tutorial_redball.js web/docs/demo_suzanne.html web/docs/tutorial_suzanne.html web/docs/tutorial_suzanne.js
cd /home/oleg/open/filament/out/cmake-webgl-release/web/docs && /usr/bin/python3 /home/oleg/open/filament/web/docs/build.py --output-folder /home/oleg/open/filament/out/cmake-webgl-release/web/docs --build-folder /home/oleg/open/filament/out/cmake-webgl-release/web/docs/../..
  File "/home/oleg/open/filament/web/docs/build.py", line 2
SyntaxError: encoding problem: future_fstrings
ninja: build stopped: subcommand failed.

Hmm, instead of pip3 list try /usr/bin/python3 -m pip list since that's the variant of Python that CMake seems to be choosing.
Also, the docs build is sort of optional, it's fine to remove the web/docs line from your top-level CMakeLists.

In any case, I'll add a CMake option so that the web docs are optional, I should've done it that way anyway.

The problem solved with the following commands:
/usr/bin/python3 -m pip install future-fstrings
/usr/bin/python3 -m pip install jsbeautifier
/usr/bin/python3 -m pip install mistletoe
/usr/bin/python3 -m pip install pygments

If those pyhton modules not mentioned in the setup document, please add.


Rename instragram clone to instagram clone #2329

Rename instragram clone to instagram clone #2329

Close #<#2329>

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy to understand README.md

Check the comitted file


Vcswp 7623

Changed how the response is handled. Since the responses to fetch were being incorrectly mocked, almost all tests failed after changes.

@wajiw


obsolete: anchoring of the mitotic actomyosin contractile ring to the plasma membrane (GO:1903474)

6 EXP, all pombe
anchoring of the mitotic actomyosin contractile ring to the plasma membrane (GO:1903474)
I will do these as
MF cytoskeletal protein membrane adaptor
part_of
BP mitotic actomyosin contractile ring assembly
(most likely)

Dear all,
The proposal has been made to obsolete 'GO:1903474 anchoring of the mitotic actomyosin contractile ring to the plasma membrane'. The reason for obsoletion is that this term is not necessary, and should be captured as 'MF cytoskeletal protein membrane adaptor
part_of BP mitotic actomyosin contractile ring assembly'.
Experimental annotations to this term are being removed (affects the PomBase group only).
This term is not present in any slims.
There is one InterPro domain: IPR037791
@happy-lorna Could it be annotated as proposed above ?
Any comments can be added to the issue: https://github.com/geneontology/go-ontology/issues/18454
We are opening a comment period for this proposed obsoletion. We’d like to proceed and obsolete this term on January 13th, 2020. Unless objections are received by January 13th, 2020, we will assume that you agree to this change.
Thanks, Pascale


Reduce stack depth during emit

This reduces the overall call stack depth of the emitter for very large ASTs. Its still possible to exhaust the call stack, but not before we also would exhaust the call stack in the checker.
Fixes #21720
Fixes #13549

No, unfortunately. It seems like the emitter is about 8% slower with this change. I need to investigate further.

If it helps, I had noticed that using f = noop or actual function instead of doing checks of if (f) { f()} was faster and hence old emitter used that more.

@rbuckton is this still something you are pursuing, or should we close this PR?

It is, but I ran into perf issues I haven't been able to track down yet.


Fix handling of builds and tests in CI

closes #273

This probably doesn't fix everything but it's a step in the right direction. I call it ready for review.


About kBlockKSmem

Hi @66RING, thank you for your helpful work.
I have one question about the use of kBlockKSmem in csrc/kernel_traits.h. When you define SmemLayoutAtomQ:
using SmemLayoutAtomQ = decltype(
        composition(Swizzle<kSwizzle, 3, 3>{},
                    // This has to be kBlockKSmem, using kHeadDim gives wrong results for d=128
                    Layout<Shape<_8, Int<kBlockKSmem>>,
                           Stride<Int<kBlockKSmem>, _1>>{}));

You note that using kHeadDim instead of kBlockKSmem would lead to wrong results. I don't understand why, can you please explain?

Hi @HuyNguyen-hust. Honestly, I'm not quite sure, this kernel config was directly copied from the official repository.
And I think this is because large smem size will be split into multi "page" and Atom should no exceed one “page”？ According to this comment,
    // For example, for d=128, smem is split into 2 "pages", each page takes care of columns
    // 0-63 and 64-127. If we have 16 threads per row for gmem read, when we write to smem,
    // thread 0 - 7 will write to the first page and thread 8 - 15 will write to the second page,
    // to the same banks.

And you can print SmemLayoutAtomQ{} and SmemLayoutQ{} and you will found SmemLayoutQ{} is like Sw<3,3,3> o _0 o (_64,(_64,_4)):(_64,(_1,_4096)). Kind of (64, npages)?


Fedora and Ubuntu Focal builds pass locally but fail in GitHub Actions

🐛 Bug Report
For reasons I haven't been able to discern, the Fedora and Ubuntu Focal molecule tests work fine locally but fail in GitHub Actions due to being unable to perform some iptables operations.  I would think this was due to some kernel module not being loaded in the underlying host instance, except that other platforms pass just fine in GitHub Actions.
Note that:

We do not actually require Ubuntu support right now.
The Ansible role works just fine when building the Fedora-based FreeIPA AMI.

To Reproduce
Steps to reproduce the behavior:

Uncomment the Fedora and Ubuntu Focal platforms in molecule.yml and push those changes to a branch.
Add those platforms in .github/workflows/build.yml and push those changes as well.
Run molecule test locally and watch the Fedora and Ubuntu Focal molecule runs pass.
Watch the Fedora and Ubuntu Focal molecule runs fail in GitHub Actions.

Expected behavior
The Fedora and Ubuntu Focal runs should behave the same whether run locally or in GitHub Actions.
Any helpful log output
I have seen two different log messages when this fails.  When all platforms are run together I get:
   TASK [ansible-role-ufw : Configure the UFW service] ****************************
fatal: [ubuntu_xenial_systemd]: FAILED! => {"changed": false, "commands": ["/usr/sbin/ufw status verbose", "/bin/grep -h '^### tuple' /lib/ufw/user.rules /lib/ufw/user6.rules /etc/ufw/user.rules /etc/ufw/user6.rules /var/lib/ufw/user.rules /var/lib/ufw/user6.rules", "/usr/sbin/ufw -f enable"], "msg": "ERROR: Could not load logging rules\n"}
fatal: [ubuntu_bionic_systemd]: FAILED! => {"changed": false, "commands": ["/usr/sbin/ufw status verbose", "/bin/grep -h '^### tuple' /lib/ufw/user.rules /lib/ufw/user6.rules /etc/ufw/user.rules /etc/ufw/user6.rules /var/lib/ufw/user.rules /var/lib/ufw/user6.rules", "/usr/sbin/ufw -f enable"], "msg": "ERROR: Could not load logging rules\n"}

When only the two Ubuntu platforms are run I get a different error:
    TASK [ansible-role-ufw : Configure the UFW service] ****************************
fatal: [ubuntu_xenial_systemd]: FAILED! => {"changed": false, "commands": ["/usr/sbin/ufw status verbose", "/bin/grep -h '^### tuple' /lib/ufw/user.rules /lib/ufw/user6.rules /etc/ufw/user.rules /etc/ufw/user6.rules /var/lib/ufw/user.rules /var/lib/ufw/user6.rules", "/usr/sbin/ufw -f enable"], "msg": "ERROR: initcaps\n[Errno 2] ip6tables v1.6.1: can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)\nPerhaps ip6tables or your kernel needs to be upgraded.\n\n"}
fatal: [ubuntu_bionic_systemd]: FAILED! => {"changed": false, "commands": ["/usr/sbin/ufw status verbose", "/bin/grep -h '^### tuple' /lib/ufw/user.rules /lib/ufw/user6.rules /etc/ufw/user.rules /etc/ufw/user6.rules /var/lib/ufw/user.rules /var/lib/ufw/user6.rules", "/usr/sbin/ufw -f enable"], "msg": "ERROR: initcaps\n[Errno 2] ip6tables v1.6.0: can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)\nPerhaps ip6tables or your kernel needs to be upgraded.\n\n"}

Just wanted to mention trying again with the new ubuntu-22.04 runners to see if the behavior remains.

Just wanted to mention trying again with the new ubuntu-22.04 runners to see if the behavior remains.

The behavior remains with the ubuntu-22.04 runners.  Possibly the forthcoming ubuntu-24.04 runners will make a difference.

FYI @jsf9k the log output in the PR description above is from Ubuntu Xenial and Bionic, not Ubuntu Focal or Fedora.  Can you either provide up-to-date error output or otherwise clarify thangs (in case you want to preserve the old log output)?

FYI @jsf9k the log output in the PR description above is from Ubuntu Xenial and Bionic, not Ubuntu Focal or Fedora. Can you either provide up-to-date error output or otherwise clarify thangs (in case you want to preserve the old log output)?

Now all three failing platforms fail in the same way, and I updated the log output in the PR description.


Added two new datastreams

We also need to rebuild the src/glvis.js library in this PR because of
https://github.com/GLVis/glvis/pull/146 and https://github.com/GLVis/glvis/pull/147.
The new/updated datafiles are in https://github.com/GLVis/web/blob/gh-pages/data.

Many of the example/miniapp images at mfem.org now are linked to glvis.org/live previews 🎉
See

https://mfem.org/examples/
https://mfem.org/meshing/
https://mfem.org/toys/

Many of the example/miniapp images at mfem.org now are linked to glvis.org/live previews 🎉
See

https://mfem.org/examples/
https://mfem.org/meshing/
https://mfem.org/toys/

Many of the example/miniapp images at mfem.org now are linked to glvis.org/live previews 🎉

Very cool!

Many of the example/miniapp images at mfem.org now are linked to glvis.org/live previews 🎉

Very cool!

@tomstitt, now that GLVis/glvis#146 and GLVis/glvis#147 are merged, do you want to update src/glvis.js or do you want me to do it?

@tomstitt, now that GLVis/glvis#146 and GLVis/glvis#147 are merged, do you want to update src/glvis.js or do you want me to do it?

@tomstitt, now that GLVis/glvis#146 and GLVis/glvis#147 are merged, do you want to update src/glvis.js or do you want me to do it?

I updated it

@tomstitt, now that GLVis/glvis#146 and GLVis/glvis#147 are merged, do you want to update src/glvis.js or do you want me to do it?

I updated it

Deployed: https://glvis.org/live/?stream=../data/mfem-logo.saved 🏆

Deployed: https://glvis.org/live/?stream=../data/mfem-logo.saved 🏆


About Conformer tiny patch16 model link

Hi, thanks for sharing your nice work with us.
When I was opening Google Drive link of Conformer tiny patch16, I can only get the base one.
Could you update the link?
Thank you!

Thanks for your reminder, and I've updated it.


Highlight own trajectories

Example trajectories and user trajectory are currently displayed as simple list with the user trajectory in the end of that list. It might make sense to separate example and user trajectory in some way so the user find their trajectory more easily.

@schrooom Left some comments / changes in the pull request.


Improve ease-of-use and add documentation about common use-cases

doc/FAQ.md could really use an eye from people that haven't written the library, to see what common use cases could be added, and if everything makes sense.

Codecov Report

Merging #22 (8f4b1e1) into v1.x.x (f30ec6a) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           v1.x.x      #22   +/-   ##
=======================================
  Coverage   79.51%   79.51%
=======================================
  Files           4        4
  Lines         288      288
=======================================
  Hits          229      229
  Misses         59       59

Flag
Coverage Δ

unittests
79.51% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

source/agora/config/Config.d
76.47% <100.00%> (ø)

source/agora/config/Exceptions.d
88.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

Addressed the comments.


Rails 3.0.9 not picking up has_many association

I am trying to follow your example.  I have a set of objects arranged something like folders of forms.
So, each folder belongs to a user, and has_many forms, each form has_many answers.
When I try and clone using deep_cloneable, I don't get the parents set right.  So for example:
new_folder = folder.clone :include=>[:user, {:forms => :answers}]
It populates the in-memory objects with all the cloned values correctly, except I get validation errors that the form's folder_id is nil but is required, and the answers' form_id is nil and is required.  I recognize that I could remove those validation checks if I wanted, but it seems like an odd thing to fail on, given that I have :autosave=>true on the has_many relationships.
Conversely the user_id is likewise required ,but it does not throw a validation error, and that belongs_to attribute does not have autosave turned on.
Any ideas how to resolve this?

I usually check for presence of the associated object instead of the ID, so instead of 'validates :form_id, :presence => true' I'd use 'validates :form, :presence => true'.

d'oh... why didn't I think of that?  Thanks, that was exactly it!


RSS/Atom feeds

Discussed in https://github.com/github/docs/discussions/8234

Originally posted by zpao July 14, 2021
There used to be Atom feeds that we could subscribe to, for GraphQL and other API changes. The API changes feed is really just https://developer.github.com/changes/, though that hasn't seen any updates since last October. The GraphQL feed is still being served but the content linked doesn't exist anymore (eg https://developer.github.com/v4/changelog/2020-11-13-schema-changes/)

https://developer.github.com/graphql_changes.atom
https://developer.github.com/changes.atom

These were really handy as somebody who builds/maintains large API integrations and I would hope that we could see similar subscribable announcements of API changes in the future.

This was not opened accidentally. I was told in the discussion to file an issue.

@zpao Sorry about the bot accidentally closing it 💛 I will reopen and triage it for review ⚡ ✨

@zpao Thank you for opening this issue. This would be an interesting feature to add! Since it belongs to a greater GitHub ecosystem, the right place to send your feedback would be at https://support.github.com/contact/feedback. Thank you for taking your time to help improve the GitHub documentation.


Improved initialization, movie processing selection, and misc.

Main features and changes:

Increment to CIAtah version v4.0.3.
Several fixes to improve usability and initializing CIAtah.
Addition of detrending function to API, alias for existing functionality.

New functions

ciapkg.movie_processing.detrendMovie - Detrend a movie to account for photobleaching, etc. Alias for call to normalizeMovie.

Updated @ciatah

getRegistrationSettings - Handle "User selects specific value" going into infinite loop. Allow cancel option to prevent loop.
initializeObj - Wrap calls to diverging_map to avoid potential ciatah initialization errors on macOS.
modelPreprocessMovieFunction - Add verification that turboreg MEX function is in the path.

Updated +ciapkg

computeManualMotionCorrection - Improved pre-allocation, minimize GUI slowdown for large inputs over time. Improve speed of GUI and responsiveness.
turboregMovie - Additional display of information. Added verification that turboreg MEX function is in the path.
changeFont - Updated so can update font size, name, color more independent of one another.
downloadCnmfGithubRepositories - Update display of information if CVX is not automatically found.

Tested on MATLAB 2020a on Windows 10. Merging.


Add CFP Link and Deadline to Conference Template

This is so that we can give folks a quick link to the CFP.
Currently when someone creates an issue there is no section for the cfp link and the cfp deadline. We could help conferences that we hope to sponsor by giving them another place to promote their CFP.
To Fix
We need to add lines to the GitHub Form so that it will also include the CFP Link and CFP Deadline.
We also need to add the check for a valid url scheme as defined in #338

Where is the CFP link and deadline to Conference template?

Currently our form doesn't have fields for the CFP Link and Deadline. I would like to add them to the page so that we can make sure that folks can quickly submit their CFPs

@kjaymiller can you show me the path where to add it.

https://github.com/BlackPythonDevs/blackpythondevs.github.io/blob/gh-pages/.github/ISSUE_TEMPLATE/add_conference.yml


Function naming conflict Warnings on Stardog Start

Hello,
I'm seeing a many warnings appear in the stardog.log after stardog-admin server start. From reading the stacktrace it seems that there is a naming conflict that the imported functions provided by stardog-extensions.
In some cases I see an internal conflict (internal to this extension)
WARN  2024-02-28T12:52:54,841-0500 [main] com.complexible.stardog.plan.filter.functions.FunctionRegistry:<init>(88): Local name conflict prohibits calling unqualified functions http://semantalytics.com/2017/09/ns/stardog/kibble/array/equals http://semantalytics.com/2017/09/ns/stardog/kibble/string/equals

and in other cases, conflicts between this extension and Stardog
WARN  2024-02-28T12:52:54,879-0500 [main] com.complexible.stardog.plan.filter.functions.FunctionRegistry:<init>(88): Local name conflict prohibits calling unqualified functions http://www.w3.org/2005/xpath-functions#contains http://semantalytics.com/2017/09/ns/stardog/kibble/array/contain

Is there a way to configure the extension so warnings don't appear? I have attached the stardog.log for reference.
stardog.log

Hey! Someone is actually using this. Awesome. I'm sure there's a way to configure the stardog logging to suppress the warnings but why would you want to? It's just a warning and a fairly informative one at that. I believe that Stardog will allow you to call a function without a prefix (unqualified as the warning refers to it) if the function name is unambiguous. As you can see this function has the same name as a built in function so it's just saying, "Hey there are two functions with the same name. The built in one is getting preference. If you want to call the second one you'll have to give the full prefixed name."

Using is still a little too strong, though we started looking into it for because we wanted use the Levenshtein distance function for a search use-case. It's still in the idea/planning phase and the warning spooks a lot of people over here and had they not appeared it smooth sailing. But these requests, come and go so I'll have a look on how into to suppress the warnings and let you know what I find.

By moving the log4j2.xml file  found in the $STARDOG_HOME/server/dbms into the $STARDOG_HOME directory and adding the following code within the <Loggers> leaf suppressed the log messages.
<Logger name="com.complexible.stardog.plan.filter.functions.FunctionRegistry" level="ERROR" additivity="false">
                        <AppenderRef ref="stardogAppender"/>
</Logger>

Thanks for the help.


Certain tables dont get populated with data

Hey,
I want to profile a few apps, I am using a moto g40 fusion with android 12.
My perfetto settings are:-

I made a script to parse the trace file and convert it to csv's of various relevant tables
from perfetto.trace_processor import TraceProcessor

FILE="example.trace"

tp = TraceProcessor(trace=FILE)

def run(table):
        qr_it = tp.query(f'select * from {table};')
        qr_it.as_pandas_dataframe().to_csv(FILE[:-6]+f'.{table}.csv')

tp.query('INCLUDE PERFETTO MODULE android.dvfs;')
tp.query('INCLUDE PERFETTO MODULE common.slices;')
tp.query('INCLUDE PERFETTO MODULE android.anrs;')
tp.query('INCLUDE PERFETTO MODULE android.battery;')
tp.query('INCLUDE PERFETTO MODULE android.binder;')
tp.query('INCLUDE PERFETTO MODULE android.io;')
tp.query('INCLUDE PERFETTO MODULE android.monitor_contention;')
tp.query('INCLUDE PERFETTO MODULE android.network_packets;')
tp.query('INCLUDE PERFETTO MODULE android.process_metadata;')
tp.query('INCLUDE PERFETTO MODULE android.statsd;')
tp.query('INCLUDE PERFETTO MODULE linux.cpu_idle;')
tp.query('INCLUDE PERFETTO MODULE pkvm.hypervisor;')
tp.query('INCLUDE PERFETTO MODULE sched.thread_level_parallelism;')

tables = ["android_dvfs_counters", "thread_slice", "process_slice", "android_anrs",
          "android_battery_charge","android_binder_metrics_by_process", "android_sync_binder_metrics_by_txn",
          "android_sync_binder_thread_state_by_txn", "android_sync_binder_blocked_functions_by_txn",
          "android_async_binder_metrics_by_txn", "android_binder_txns", "android_io_f2fs_counter_stats",
          "android_io_f2fs_write_stats", "android_io_f2fs_aggregate_write_stats", "android_monitor_contention",
          "android_monitor_contention_chain", "android_monitor_contention_chain_thread_state",
          "android_monitor_contention_chain_thread_state_by_txn", "android_monitor_contention_chain_blocked_functions_by_txn",
          "android_network_packets", "android_process_metadata", "android_statsd_atoms", "linux_cpu_idle_stats",
          "pkvm_hypervisor_events", "sched_runnable_thread_count", "sched_active_cpu_count"]

for t in tables:
        run(t)

Using this code, a lot of tables are empty, namely, android_anrs, android_dvfs_counters, android_io_f2fs_aggregate_write_stats, android_io_f2fs_counter_stats, android_io_f2fs_write_stats, android_monitor_contention_chain, linux_cpu_idle_stats and  pkvm_hypervisor_events.
Now the problem is, with this app, I happen to interact with the filesystem as I saved a file in the storage so I expect the io f2fs tables to get populated, and the app is pretty slow so I believe ANRs should also be present.
I know nothing about dvfs counters, so if you could tell me what dvfs is, or point me to the right direction, then it would be much appreciated.

The way Trace Processor is written all of the tables will always be accessible, they might just be empty if there would be no data available from the trace to populate the tables. The best approach is to look for table/tables you know and understand why they would be populated, rather then trying a bunch of them without fully understanding what is the data they should contain.
If you have a table that you expect to be populated with the config you have, please provide us with both

config (load the trace in the UI, open the "Info and stats" tab, config is the "trace_config_pbtx" row)
trace
and we will try to debug the issue.

Hope it helps. Feel free to ask for any explanation or give any suggestions if documentation is unclear.


Make scheduled executor service tasks robust against exceptions (#24575)

Fixes #24575
Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
n/a Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
n/a Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass sanity check: ./gradlew sanityCheck
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[x] Verify design and implementation
[x] Verify test coverage and CI build status
[x] Verify documentation

Thank you for your interest in Gradle!
This PR needs a decision from the team responsible for that area. They have been informed, response time may vary.

My concern with this PR is that we are now catching Throwables all over the place. Shouldn't we be catching Exceptions instead?

I believe that's motivated both in the issue this PR addresses and in the inline comments to explain the pattern.
The only alternative would be to introduce an oversight mechanism that would allow Gradle to restart these scheduled tasks if they failed.

I'm usually also hesitant to catch Throwable instead of Exception.
But as @ljacomet already said, I tried to clarify it in the code comments.
For a task that is used as a task in a scheduled executor service, you really have to catch any throwable or the task's further executions are silently canceled.
While the JavaDoc says "If any execution of the task encounters an exception", it actually means "If any execution of the task encounters a throwable".
So unless you add some logic to reschedule the task if a non-Exception Throwable is thrown, which also means you need to catch the Throwable, it really is the correct way for these tasks to catch Throwable or the furture executions are cancelled.
Depending on the actual Error thrown it might not make much difference. If for example an OutOfMemoryError was thrown, it is likely that shortly after the error is also thrown at some other place the same error will happen and stop the whole daemon. But in case the error really only came there and the build continues otherwise, the scheduled task would simply be not run anymore.
Whether the caught exceptions are logged on debug, warn, or error I do not have strong feelings.
Please clarify that with each other @ljacomet and @donat and tell me how you want it.
My take on this was, that the user is not really interested in these exceptions as long as the task runs again and does the memory collection / garbage collector checking / output displaying. And in case the further tasks also run on error and the actions do not work, it can be investigated using --debug and then seeing the errors.
But as I said, I have no strong feelings about either way.

@bot-gradle test RFM

@donat do you think the build failures are something I need to look at, or something else?

@bot-gradle test RFM

@Vampire let's see if it happens again. I'll check the new build failures and let you know.

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

I've triggered a build for you. Click here to see all failures if there's any.

Pre-tested commit build failed. Click here to see all build failures.

I've triggered a build for you. Click here to see all failures if there's any.

@Vampire thank you for your contribution (and your patience too)!


Update MD file on new branch 2017-11-29_11-31-55

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Release version v5.0.0

Issue summary
New changes have been made since the last release. We should make a new major release for v5.0.0.
Other information and links

v5.0.0 is released on crates.io


[shallow] fixed shallow rendering

Pull Request Test Coverage Report for Build 22

2 of 2 (100.0%) changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+3.2%) to 50.781%

Totals

Change from base Build 20:
3.2%

Covered Lines:
59

Relevant Lines:
118

💛  - Coveralls


Akka: Implications of the streaming nature of Request/Response Entities

As of v2.3.0 AkkaHttpBackend.send() does not conform with the Akka doc, specifically: https://doc.akka.io/docs/akka-http/current/implications-of-streaming-http-entity.html#discarding-the-http-response-entity-client-, because it does not call discardEntityBytes().

To avoid problems with akka.stream.AbruptTerminationException, I added an alternative backend based on Akka Http Flow Connection (see: https://github.com/akka/akka-http/issues/497#issue-188074838)

Oh! Nice!
Thanks for tackle this issues =)
I'm going to review the PR

Great!


Ruby's index should be the lyric's char index

Follow the change in the https://github.com/karaoke-dev/karaoke/issues/2009
It's much more make sense.

man.
Is there any good word to naming the index between characters?
e.g.:
Here's the lyric  "カラオケ"
how to naming the parameter if I want to record the index between "カ" and "ラ"
The result will be 1 (the index should be: "[0]カ[1]ラ[2]オ[3]ケ[4]")