Parse file id modifier from file header; don't assume 'A'

The file ID modifier won't always be "A"; other values are sometimes used to distinguish between multiple files with otherwise identical headers.

@adamdecaf I'm a bit confused about the test failures I'm seeing here.
test/issues/testdata/issue702-1.ach, test/issues/testdata/issue702.ach, and test/testdata/FISERV-ZEROFILE-PIMRET825324_032720_110221.ach fixtures are all missing a file ID modifier. The rulebook is pretty clear that this character is required and must be uppercase A-Z or numeric 0-9. Not sure how these tests were passing before the recent change which hardcodes this value to A.

My bad on hardcoding this as part of the optimization. We were reading it out from the file before.
I don't think we ever validated this field since it was mostly "A", but we'll start.

Either way sounds fine to me! Thanks 👍

https://github.com/moov-io/ach/releases/tag/v1.33.2 has been released with this, thanks @ckbaum!


Unable to run amp-by-example on windows 10

Describe the bug
Unable to run amp-by-example on windows 10. As soon as I try to run using "gulp" it throws error TypeError: Cannot read property 'apply' of undefined
To Reproduce
Steps to reproduce the behavior:

Checkout amp-by-example.
Try to build and run the app using "gulp" command
It throws error on console and doesn't work.

Expected behavior
It should build and run the application properly.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser: None, The app doesn't build so can't run it.

Additional context

Which version of gulp do you have? Have you tried to update it?


[BUG] "Tenant global_tenant is not allowed for user ..."  and ldap authc/z

What is the bug?
the global tenant cannot be selected in dashboard and the opensearch log shows
[WARN ][o.o.s.c.PrivilegesInterceptorImpl] [osearch-logging-node-1] Tenant global_tenant is not allowed for user ....
this started after upgrading from opensearch (-dashboards) 1.3.1 to 1.3.2
with version 1.3.1 there is no such problem.
How can one reproduce the bug?
Steps to reproduce the behavior:

Go to "switch tenants" after connecting/authenticating to dashboard via proxy and ldap

The "Global" tenant is greyed out and there is text "Contact the administrator to get access to global tenant"

opensearch log shows

[o.o.s.c.PrivilegesInterceptorImpl] [osearch-logging-node-1] Tenant global_tenant is not allowed for user
What is the expected behavior?
The global tenant should be accessible to all users. multitenancy is enabled in opensearch-dashboards.yml  via
opensearch_security.multitenancy.enabled: true
opensearch_security.multitenancy.tenants.preferred: ["Private", "Global"]
What is your host/environment?

OS: Redhat Enterprise Linux
Version RHEL7.9
Plugins
./bin/opensearch-plugin list
opensearch-alerting
opensearch-anomaly-detection
opensearch-asynchronous-search
opensearch-cross-cluster-replication
opensearch-index-management
opensearch-job-scheduler
opensearch-knn
opensearch-ml
opensearch-observability
opensearch-performance-analyzer
opensearch-reports-scheduler
opensearch-security
opensearch-sql

Do you have any screenshots?
If applicable, add screenshots to help explain your problem.
Do you have any additional context?
This problem emerged after the upgrade from opensearch/opensearch-dashboards from 1.3.1 to 1.3.2
authentication enabled:
anonymous_auth_enabled: true
xff.enabled: true
basic_internal_auth_domain (4)
proxy_auth_domain (3)
ldap  (5)
authz:
roles_from_myldap
ldap groups are used to map additional roles to the user authenticated via proxy. This works as intended (no change from 1.3.1 to 1.3.2) and the roles are properly shown in "View roles and identities" from dashboard.
In addition, since the upgrade I see error messages
[ERROR][o.o.s.a.BackendRegistry  ] [osearch-node-1] Cannot retrieve roles for User [name=admin, backend_roles=[admin], requestedTenant=null] from ldap due to OpenSearchSecurityException[OpenSearchSecurityException[No user admin found]]; nested: OpenSearchSecurityException[No user admin found];
from attempts to retrieve additional roles for internal users from ldap. Previously there were no such warnings.
Thanks for any suggestions you might have.

@tsgit I couldn't reproduce the issue on 1.3.2. Would you please share your steps to upgrade from 1.3.1 to 1.3.2?

download and unpack
https://artifacts.opensearch.org/releases/bundle/opensearch/1.3.2/opensearch-1.3.2-linux-x64.tar.gzhttps://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/1.3.2/opensearch-dashboards-1.3.2-linux-x64.tar.gz
copy opensearch-1.3.1/config/opensearch.yml to opensearch-1.3.2/config/opensearch.yml
copy opensearch-dashboards-1.3.1/config/opensearch_dashboards.yml opensearch-dashboards-1.3.2/config/opensearch_dashboards.yml
the path.data config points to a persistent directory
adjust ./opensearch/config/jvm.options to point to actual location of
-Djava.security.policy=./opensearch-1.3.2/plugins/opensearch-performance-analyzer/pa_config/opensearch_security.policy  (that's a separately reported issue)
stop opensearch-dashboards and opensearch
start opensearch and opensearch-dashboards
visit the dashboard via proxy and watch the opensearch log

I do not run the opensearch-tar-install.sh script, since the security plugin is already configured and the options certificates are set. I have used this approach for all releases since version 1.2.0.

[Triage] Can you please open this as a support request on the forum

did you manage to resolve this problem?
I have the same error too.
[2022-06-20T13:06:32,515][WARN ][o.o.s.c.PrivilegesInterceptorImpl] [opensearch-2] Tenant global_tenant is not allowed for user ...
opensearch version is 1.3.2


Fix the form field 'Save search as' of an Advanced Search

When user tries to save already saved search (i.e. with different name) and leave empty field 'Save this #{model_name} search as:', then he got error "Search Name is required", but the previous name of the search is displayed again. This PR is fixing the empty name of the search and not displaying the old value.
https://bugzilla.redhat.com/show_bug.cgi?id=1349519
https://bugzilla.redhat.com/show_bug.cgi?id=1349511
https://bugzilla.redhat.com/show_bug.cgi?id=1349499

according to @mmojzis (QA contact) I added all 3 related BZ links to the commit message.
Before fix (with already defined 'api' advanced search filter):

After fix:

Euwe backport details:
$ git log -1
commit 4a72ccf945cb41d5e2a612633b3a86fd0688f232
Author: Martin Povolny<EMAIL_ADDRESS>Date:   Fri Nov 25 21:58:11 2016 +0100

    Merge pull request #12818 from jzigmund/bz-fix_search_name_required

    Fix the form field 'Save search as' of an Advanced Search
    (cherry picked from commit 0feb740a2be6e190f6498d23a5d4c7a254afba34)

    https://bugzilla.redhat.com/show_bug.cgi?id=1412314
    https://bugzilla.redhat.com/show_bug.cgi?id=1412315
    https://bugzilla.redhat.com/show_bug.cgi?id=1412316


Fix #1704 for "Parent categories" should not show message about subcategories

Title (required)
Fix #1704 for "Parent categories" should not show message about subcategories
Description (required)
Fixes #1704
Tests performed (required)
Xiaomi Mi A1 (Android 8.0.0, API 26), with 2.7.2-debug-master~fa6353b3
Screenshots showing what changed (optional)

Codecov Report

Merging #1709 into browse-commons-via-app will decrease coverage by <.01%.
The diff coverage is 0%.

@@                    Coverage Diff                    @@
##           browse-commons-via-app   #1709      +/-   ##
=========================================================
- Coverage                    3.57%   3.56%   -0.01%
=========================================================
  Files                         165     165
  Lines                        8375    8377       +2
  Branches                      768     769       +1
=========================================================
  Hits                          299     299
- Misses                       8059    8061       +2
  Partials                       17      17

Impacted Files
Coverage Δ

.../nrw/commons/category/SubCategoryListFragment.java
0% <0%> (ø)
:arrow_up:

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 5e807b8...19aa10a. Read the comment docs.


date bug

create_time is timestamp
nga.field('create_time', 'datetime') will always parse to 1970-01-17 without
.map(function (value, entry) {
return new Date(value*1000);
})
is it my timestamp format problem?
btw, datetime default format('yyyy-MM-dd HH:mm:ss') looks like not work

Hello,
Can you give us the value of create_time returned by your API ?
Thanks

like this
create_time:<PHONE_NUMBER>
so I must transform time unit from second to ms?

Yep, JavaScript understands timestamps with milliseconds. If you rely on another format, you'll have to map a transformer, like you did. Note that you can make it reusable, like so:
function transformToJsTimestamp(ts) {
  return ts * 1000;
}
// later
nga.field('create_time', 'datetime').map(transformToJsTimestamp)

As for the default datetime format, what you you mean "it doesn't work"?

the doc say:
datetime Field Settings
format(string ['yyyy-MM-dd HH:mm:ss' by default])
but it will show yyyy-MM-dd without  format('yyyy-MM-dd HH:mm:ss')

Located the bug, PR in progress.


Swift 3.0 support

Is this library support for swift 2.0?

Would also love to see it working in Xcode 8

I have a copy of it working for Xcode 8. I changed all the CG methods and UIColor methods that were causing issues but I am not sure where to put because Swift 3.0 is so new.
CircleProgressView.swift.zip

Merged in. Creating new pod spec now.

@xrolfex Why current .podspec requires minimum iOS 9.0? Is it necessary or could be decreased easily?

@sochalewski Updated pod spec to support iOS 8 with swift 3.0. Spec version: 1.0.13


Adding AltspaceVR

With a heavy heart, I submit this PR.
(the final line removal was automatically done by GitHub's editor. I can revert it if necessary)

I have just push an update about AltSpaceVR, and I have just seen your PR... On wikipedia I see the release date was May 2015, but you write Jan 2015. Which is correct?

Depends a little on when you count, but we started holding events in
January:
https://www.roadtovr.com/altspacevr-open-beta-weekend-virtual-superbowl-party/
On Wed, Sep 27, 2023 at 1:54 PM Fabiano Riccardi @.***>
wrote:

I have just push an update about AltSpaceVR, and I have just seen your
PR... On wikipedia I see the release date was May 2015, but you write Jan
2015. Which is correct?
—
Reply to this email directly, view it on GitHub
https://github.com/fabianoriccardi/killed-by-microsoft/pull/83#issuecomment-1738064421,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP5B74ZF6VTG652OSMI3R3X4SHBJANCNFSM6AAAAAAUB7E6ZA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Finally, I had merged your version since it was for sure written with enthusiast, thanks for the contribution!

Thanks Fabiano
On Thu, Sep 28, 2023 at 10:33 AM Fabiano Riccardi @.***>
wrote:

Finally, I had merged your version since it was for sure written with
enthusiast, thanks for the contribution!
—
Reply to this email directly, view it on GitHub
https://github.com/fabianoriccardi/killed-by-microsoft/pull/83#issuecomment-1739746221,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP5B75MTVLWZE24HYXVUVDX4WYIDANCNFSM6AAAAAAUB7E6ZA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Tables not displayed correctly

The tables that list the privilege types seem broken.

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

ID: ea85ad74-5055-ec55-412e-187405524050
Version Independent ID: ea85ad74-5055-ec55-412e-187405524050
Content: Unity Catalog privileges and securable objects - Azure Databricks
Content Source: databricks/data-governance/unity-catalog/manage-privileges/privileges.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@derkcrezee
Thanks for your feedback! We will investigate and update as appropriate.

Thanks for providing feedback that helps improve our documentation. We've created an internal work item (DOC-13579) to address your feedback. The timeline for resolution varies based on resourcing.
#please-close


OBO ORCID search

Hi @caripark, I'm trying to collect ORCID identifiers for all responsible authors of OBO Foundry ontologies. Could you share yours with me? Thanks!

Hi @cthoyt, I sent it to you via email.


extra/nsis: Add shader cache removal

Description
Cleans up shader cache files introduced with https://github.com/obsproject/obs-studio/pull/9249 when uninstalling.
Motivation and Context
Want to not leave unused files kicking about.
How Has This Been Tested?
Hasn't.
Types of changes

Tweak (non-breaking change to improve existing functionality)

Checklist:

[x] My code has been run through clang-format.
[x] I have read the contributing document.
[x] My code is not on the master branch.
[x] The code has been tested.
[x] All commit messages are properly formatted and commits squashed where appropriate.
[x] I have included updates to all appropriate documentation.

This also nukes all system installed plugins, we should probably leave those alone and only target $APPDATA\obs-studio\shader-cache

Ah right, I forgot plugins can be loaded from there. I changed it to the shader cache directory and moved it above to the hook folder deletion.


Revert bucket property renaming, relocate bucket create messages

@colin014 not sure if other things related to the API changed regarding the new property names (docs, postman, etc). Since you did the change in the first place: can you verify that the changes in this PR are correct and enough?

The first change i did earlier was a regrettable variable rename which changed all json key also (amazon -> ec2 so on). This not touched the Postman collection and OpenAPI with client. So thanks for the catch @sagikazarmark  👍

Cool, thanks for clarifying.


ARLAS crashes if collection-auto-discover is not defined

In gitlab by @sylvaingaudan on Jul 21, 2017, 10:41
ARLAS crashes if collection-auto-discover is not defined
In general, the configuration should be checked and the server should properly stop with an appropriate message if the configuration is not correct.
Default values should be used if not provided

In gitlab by @sylvaingaudan on Jul 21, 2017, 12:09
changed milestone to %7

In gitlab by @sfalquier on Jul 21, 2017, 14:06
mentioned in commit f5d9e64a0841b2595e4bae038ad095a777897d8a

In gitlab by @sfalquier on Jul 21, 2017, 14:07
added ~1918367 label

In gitlab by @sfalquier on Jul 21, 2017, 14:07
added ~1918368 and removed ~1918367 labels

In gitlab by @sfalquier on Jul 21, 2017, 14:16
mentioned in commit d0f3e388103180350ea631edbe6227e3acd9bd5c

In gitlab by @sfalquier on Jul 21, 2017, 14:35
mentioned in merge request !67

In gitlab by @sfalquier on Jul 21, 2017, 14:47
closed

In gitlab by @sfalquier on Jul 21, 2017, 14:47
removed ~1918368 label

In gitlab by @sfalquier on Jul 21, 2017, 16:14
mentioned in merge request !69

In gitlab by @sfalquier on Jul 21, 2017, 16:25
mentioned in commit 2593be93c454a92f801fb0446c5a259b61a4b250


Dlls not being copied to bin dir

Hello, I'm not really sure where my issue belongs, but I'm having an issue with Ionide that wasn't present when I was using Visual Studio so I figured this'd be a good place to start. The gist of my issue is that I've installed MonoGame.Framework.WindowsDX using Paket in VS Code. When I run my program, I get an error that the dependencies of MonoGame.Framework are unable to be found, and I can confirm that they are not copied to the bin dir of my application. If I manually copy the missing dlls from /packages/MonoGame.Framework.WindowsDX/lib/net40, the program runs as expected.
I suspect this might be user error and I'm just used to Visual Studio copying my dependencies for me, but I wasn't able to find any guidance on this subject in the FAKE docs, the Ionide docs, the MSBuild docs, or StackOverflow.

Closing, no reproduction.
@harrisse feel free to reopen after adding more info (see https://github.com/ionide/ionide-vscode-fsharp/issues/701#issuecomment-359444172 )


MIME Type not supported for mkv files

Hi,
I was experimenting with webrtc and not able to solve how to stream MKV files. All I see is MIME Type not supported.
The last time I was working on media encoding I came to know that MKV should be explicitly defined as DOM type.
Thanks in advance.

Next time please search before opening a new issue: https://github.com/feross/webtorrent/issues?q=is%3Aissue+mkv+is%3Aclosed
See: https://github.com/jhiesey/videostream/issues/29


bug: ensure Setting Library is installed or handle missing dependency

"If you're using the setting library in your PHP project, add it to the composer.json file. If you prefer not to, you can check at runtime if the library is installed and throw an exception if it's missing:"
    throw new Exception("The 'setting' library is required but not installed. Please add it to your dependencies or install it manually.");

OR
{
    "require": {
        "codeigniter4/settings": "^2.1"
    }
}

https://github.com/warcooft/codeigniter4-multi-smtp-config/blob/5f108e42beb97a70263f4280f1f27eccc584b88d/src/Helpers/multi_email_helper.php#L26

@datamweb Thank you, yes this is very necessary.


budget command which set monthly budget accepts value which is less than 0.01 which is not actual currency

Budget commands accept value like 0.0001 which is not a actual currency value and the UI update as 0.00 which truncate the remaining digits

I believe you can implement this invalid input check in the same way you implemented error check for negative value input. So, the only valid inputs are currency above or equal to 0.01. Like you mentioned, the valid inputs also include 0 as it is a budget value.

Limit to 2dp as in Cost


Enhance Behavior With Action and Validation: Implement action code example

Tutorials: https://developers.sap.com/tutorials/abap-environment-behavior-action.html
In step 6 I'm getting syntax errors due to comment block, please replace with:
**********************************************************************
*
* Implements travel action (in our case: for setting travel overall_status to completed)
*
**********************************************************************

Hi @peterpersiel ,
thank you for your feedback. I created following PR: #20484 for this GitHub issue.
Best regards,
Merve


Fix the code sample

Traceback (most recent call last):   File "OneDriveTest.py", line 9, in <module>     client_id='XXXXXXXXXXXXXXXX) TypeError: get_default_client() missing 1 required positional argument: 'scopes'
For this sample, I think onedrivesdk.get_default_client() need the argument scopes=['wl.signin', 'wl.offline_access', 'onedrive.readwrite']

Hi @LokiSharp, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;


Add support for TIMEUUID on inserts - needed for time series model support

Use express-cassandra ORM, and create schema -
id: {type: "timeuuid", default: {"$db_function": "now()"} }


error="file currently locked" 423 lockd

Question
I upload file often failed.  Chrome tips :  423 locked.
These uploaded files are very large, usually between 15G and 100G.
I use nginx for load balancing and the ip address is <IP_ADDRESS>.
Nginx distributes requests to three servers with IP addresses: <IP_ADDRESS>:9000, <IP_ADDRESS>:9000, <IP_ADDRESS>:9000.
command is:
./tusd -s3-bucket = tus -s3-endpoint = http: //<IP_ADDRESS>: 9000 /
tusd command line tips is:
[tusd] 2019/12/21 19:55:16 event="ResponseOutgoing" status="423" method="PATCH" path="0a1aec18ea7f475dcd9bea41a2c5bdc6+5187e42a-bcbb-40f4-949f-1e875f7ef22c" error="file currently locked"
uppy configure is:
`
.use(Uppy.Tus, {
  endpoint: 'http://<IP_ADDRESS>:1080/files',
  chunkSize: 5242880,
  resume: true,
  // limit: 20
 })
`
Setup details
Please provide following details, if applicable to your situation:

Operating System: linux centos7
Used tusd version: 1.0.2
Used tusd data storage: minio   s3 protected
Used tusd configuration: ./tusd -s3-bucket=tus -s3-endpoint=http://<IP_ADDRESS>:9000/
Used tus client library: uppy.js
Used web Server: nginx
Used Load Balance: nginx upsteam for minio

I found a bug when tusd is stored in s3. There was a problem with sync's lock mechanism.
But I haven't figured out how to solve it.

This problem may occur when uploading with large file fragments.

I found a bug when tusd is stored in s3. There was a problem with sync's lock mechanism.
But I haven't figured out how to solve it.
This problem may occur when uploading with large file fragments.

I can't follow that thought. Could you elaborate more on that please?

Nice to hear from you.
I have 4 servers: 1 nginx, 3 minio servers.  nginx proxy minio's request.
I'm using uppy's shard upload.
if i don't use nginx proxy is ok, upload large files is success.  but i use nginx upstream proxy request, often 423 lock.
minio is object storage support S3.  I don't use other S3  service. for example: aws , aliyun, azure.
I read the source code for tusd.  It was discovered that the lock mechanism of sync.mutex was used.
Is it possible to send a new request to nginx when some requests are not completed?
so, the tusd notice:423 locked.
I'm not quite sure, I'm still testing to locate the problem.

Nice to hear from you.
I have 4 servers: 1 nginx, 3 minio servers. nginx proxy minio's request.
I'm using uppy's shard upload.
if i don't use nginx proxy is ok, upload large files is success. but i use nginx upstream proxy request, often 423 lock.
minio is object storage support S3. I don't use other S3 service. for example: aws , aliyun, azure.
I read the source code for tusd. It was discovered that the lock mechanism of sync.mutex was used.
Is it possible to send a new request to nginx when some requests are not completed?
so, the tusd notice:423 locked.
I'm not quite sure, I'm still testing to locate the problem.

1 nginx, 3 minio servers. nginx proxy minio's request.

Can you run multiple Minio server behind nginx? I have never used it so this is genuine question.

Is it possible to send a new request to nginx when some requests are not completed?

I don't understand that question fully, but Uppy has mechanisms to retry requests if they fail, I believe.

so, the tusd notice:423 locked.

Are you running multiple tusd servers or just one?

1 nginx, 3 minio servers. nginx proxy minio's request.

Can you run multiple Minio server behind nginx? I have never used it so this is genuine question.

Is it possible to send a new request to nginx when some requests are not completed?

I don't understand that question fully, but Uppy has mechanisms to retry requests if they fail, I believe.

so, the tusd notice:423 locked.

Are you running multiple tusd servers or just one?

I running a tusd.
MinIO is object storage protecte is S3. so, nginx proxy is support MinIO.
MinIO's nginx proxy document:https://docs.min.io/docs/setup-nginx-proxy-with-minio.html
Thank you.  I am still trying the solution.

I am still trying the solution.

Sure, let me know if something new comes up. You should also know that 423 Locked errors occur naturally and are not critically since Uppy/tus-js-client automatically retry them (assuming your are using a recent versions of them).

Closing this issue due to inactivity. The lock implementation has also changed in the meantime. Feel free to leave a comment if you want to continue the discussion :)


Cast API v9.3 prerelease doesn't work with Clarius Mobile App 9.3

Hi Kris,
It seems the binary from the cast api v9.3 prerelease doesn't work with ClariusMobileApp 9.3.
The cast.dll file that I have get from the release was modified on May-12 at 12:40 PM.
This is the error that I have got when connecting to the Clarius Mobile app:
connect failure (no scanner info): Exception ocurred (Invalid message response for command get probe info (21); contains 0 sub-packets rather than 2))
Thank you,

Thank Kris. It was my bad, I forgot to turn off the firewall.


Operation not permitted by Node.js on MacOS

I ran the following command:

slidev slides.md

The error in Terminal can be viewed as follows:

node:internal/process/promises:279
triggerUncaughtException(err, true /* fromPromise */);
^
[Error: EPERM: operation not permitted, scandir '/Users/david/Library/VoiceTrigger/SAT'] {
errno: -1,
code: 'EPERM',
syscall: 'scandir',
path: '/Users/david/Library/VoiceTrigger/SAT'
}

It will be great if anyone can help me out. Thanks!

Same issue on my MacOS too! Used the global slidev installation. Nothing more.


Move @param and @return information to PHP type hints

PHP CS Fixer did the bulk for the work, plus some manual clean-up. First add type hints where possible, (semi-)automatically derived from the existing @param/@return tags. Then remove those tags (and sometimes the entire phpDoc block) if they don't provide any additional information. Manually fix some cases around inheritance and a few instances of wrong typing information.
This only fixes the cases that are covered by unit tests. I have deliberately excluded entire directories (Dialog, Message, DataElementGroups, ...) and a few classes (FinTs, FinTsInternal, ...) from the automatically derived type hints, because adding them at the language level makes PHP enforce them, which can lead to new runtime errors. The old classes don't have good/any unit test coverage, and they can hopefully be deleted soon anyway, so it's not worth doing this refactoring for them.
Even among the classes that are here to stay for the long term, this refactoring uncovered some wrong type annotations. This PR only fixes those that are run/discovered by the unit tests. It's possible that there are more hidden problems that users uncover after merging this. Though the resulting PHP errors should be easy to debug and fix.
See #109
@ampaze fyi
This PR has merge conflicts with many others. @nemiah Please do not merge for now, this is here only for review / hearing people's opinions. Once all the others are merged, I can do a rebase.

Ich kann leider nicht mergen :cry:

Ist rebased.


FIX addon-centered README to refer to /dist files

Issue:
Currently import centered from '@storybook/addon-centered/react' results in file not found.
What I did
Using files under /dist instead.
How to test

Is this testable with Jest or Chromatic screenshots?
Does this need a new example in the kitchen sink apps?
Does this need an update to the documentation?

If your answer is yes to any of these, please make sure to include it in your PR.

I think the confusion is that the documentation on the next branch is for the V5 branch/release


Add get_column_names_from_sql macro

Inspired by a Slack thread, didn't want to lose it.
I've wanted this before, but have always worked around it by creating things as views upstream.
TBH I'm not sure of the utility of it unless we work it into union and star so that both work with upstream ephemeral models.

I tried this on my end, and the expected behaviour of if execute seems a bit odd.
When I run compile, the sql passed to run_query() gets ran agains the database. Could it be that execute evaluates as True even during dbt compile?
This might also be something wrong in my settings (also I am on Snowflake in case there is an exception) and I'm not really able to traceback the logic that sets that flag with the amount of time I have these days but I thought it would be worth looking into if you guys are going to merge this.

@bastienboutonnet -- execute is a bit of a fickle beast. AFAIK (and Drew can correct me if I'm wrong), when you dbt compile, dbt:

Parses the project --> execute == False / no queries are run. If we tried to access results.column_names at this stage, we'd get back an error like this:

Encountered an error:
Compilation Error in macro get_column_names_from_sql (macros/sql/get_column_names_from_sql.sql)
  'None' has no attribute 'table'

This is why we have to nest some of the code in if execute.
2. Compiles the project --> execute == True. This means that even on compile, the query gets executed, so the behaviour you're seeing is expected :)

Ok. So for a use case when you're trying to get cols from a CTE which will not have been generated then the compile fails. In my use case it breaks the run as it will throw things like <CTE_NAME> does not exist

LOL! Turns out this already exists here. So you can just access it using adapter.get_columns_in_query. Silly me :)

@clrcrl This macro doesn't seem to work for me sadly.
I'm using it as so:
with test_cte as (
    select
        *
    from dwh.data_warehouse.fact_booking
)
select
{{get_columns_in_cte('select * from test_cte')}}

Hey @bastienboutonnet 👋
I got it to work like so:
{% if execute %}
    {%- set query_to_go -%}

    with test_cte as (
        select
            *
        from raw_jaffle_shop.customers
    )
    select * from test_cte
    {%- endset -%}

    {% set cols=get_columns_in_query(query_to_go) %}
{% else %}

{% set cols=[] %}

{% endif %}

{{ log(cols, info=True) }}
{{ cols }}

The output looks like this:
$ dbt compile
Running with dbt=0.14.2
Found 9 models, 28 tests, 0 snapshots, 1 analyse, 138 macros, 0 operations, 0 seed files, 3 sources

11:32:51 | Concurrency: 1 threads (target='dev')
11:32:51 |
['id', 'first_name', 'last_name', 'email', '_elt_updated_at']
11:32:52 | Done.

And the compiled query looks like this:
    ['id', 'first_name', 'last_name', 'email', '_elt_updated_at']

@clrcrl Amazing that totally works! This is going to be suuuch a nice thing to have. Thanks again!


Add color option to shape elements

It would be nice to have a color option for shapes, so you could do
#rect;600;600;90;@[color]#

This could definitely be a useful/optional setting on a shape. Are you using the element override functionality to do this now?

I agree this would be a useful option. Perhaps extend the idea towards a general implementation. If @[override:...] was interpretable in any element "Definition", then one could universally programmatically set an element's attributes.
An element with name "typecolorback" is created in Card Maker. To change its color dynamically, a, example CSV file contains:
type,override:TypeColorBack:elementcolor
type_1,@[color_@[type]]
type_2,@[color_@[type]]

a DEFINES.CSV file contains:
Define,Value
color_type1,128255128
color_type2,010000050

This works, but the CSV column containing "@[color_@[type]]" is tediously repeated. An attribute override in the element's Definition within Card Maker would streamline this. There is an override control conflict, but I would guess the CSV file override could take precedence over the element Definition override.

You can now override within the definition field (new functionality so beware): https://github.com/nhmkdev/cardmaker/releases/tag/v.<IP_ADDRESS>-unstable.v.a3


[Feature Request] update read me

🚀 Feature Request: Community Forum for Real-Time Collaboration
Is your feature request related to a problem? Please describe.
Currently, while Algo provides algorithmic solutions, there is no dedicated platform for real-time collaboration or direct interaction among users. Developers, especially beginners, may feel disconnected when they encounter challenges, slowing down the problem-solving process.
Describe the solution you'd like
Introducing a Community Forum integrated within the Algo platform where developers can ask questions, seek guidance, share insights, and collaborate on algorithmic challenges. This forum will provide a space for real-time engagement, fostering a more interactive learning and contribution environment.
Describe alternatives you've considered
Third-Party Platforms: Considered using Discord, Slack, or other external platforms, but these may detract from the seamless experience of staying within the Algo platform.
GitHub Discussions: Utilizing GitHub Discussions, but it lacks the real-time interaction that a dedicated forum can provide.
Additional context
This forum could be built with Discourse or integrated directly into the Algo site using existing frameworks to keep the user experience consistent.

please assign me then after i will add one point in read me in feature point @ajay-dhangar and add gsoc label


Font Bakery can't be used from within Glyphs

We recently had a switch to support Python 3.6+ only, dropping support for Python 2.7. I like Py3 as a language, but, I feel like we should discuss the downsides of this move, also because I see occasionally cheering about this and I feel it caused a lot of trouble as well (e.g. it created work downstream and in other teams). Here's my biggest regret so far.
Font Bakery can't be used from within Glyphs (And maybe other editors, what about FontLab and Robofont?) at the moment. Py3 will come to Glyphs eventually, but until then this is just no option anymore and I think we're missing out a great use case.
This is actually a thing I wanted to do and that I had already discussed with @schriftgestalt. The plan was roughly to run source file checks using the same specification from within Glyphs, e.g. as a designer and just plain from the shell or the Dashboard with glyphsLib.

Can you pipe stdout/stderr from system installed Py 3

Maybe. But that could not use the glyphs API directly. You would have to save the file and open it from the external FB. I'm not sure though, how the glyphsLib implementation from Glyphs would handle this, could also just create a copy.

Were you planning to package and distribute all of the macOS executables required by FB

No, this wouldn't use the specifications that we have right now, but rather use a special spec to check Glyphs sources. Thus, the executables that we require for googlefonts/open type specs would not be required at all.

I am not sure what you mean. But maybe what you are asking for is our JSON report which you can get by passing --json.

I think we won't ever get back to python 2 unless there's a very strong reason to do so. I think that at this point, the need/wish of having fontbakery-based checks inside Glyphs may be seen as one more reason to upgrade Glyphs to python 3.

And I guess that glyphs-specific checks that would only be possible to run within glyphs itself can be written without the fontbakery checkrunner. Also those would be out of scope for fontbakery itself.
Something different would be fontbakery checks that validate glyphs project source files without requiring to run GlyphsApp. That would be within scope for fontbakery, in my opinion.

the need/wish of having fontbakery-based checks inside Glyphs may be seen as one more reason to upgrade Glyphs to python 3.

But that's not in our power.

And I guess that glyphs-specific checks that would only be possible to run within glyphs itself can be written without the fontbakery checkrunner.

Every check could be written without FB. This is a none argument.

Also those would be out of scope for fontbakery itself.

I don't see why you draw the line there. The model is pretty much what FontQA was for FobtLab. Using a good framework to write and run checks is a good idea and the reason for FB.

Something different would be fontbakery checks that validate glyphs project source files without requiring to run GlyphsApp. That would be within scope for fontbakery, in my opinion.

I want both, within Glyphs and from the command line. The reason for within Glyphs would be that it's super comfortable for designers, who often don't like to use the command line. Then the same spec can be used to do CI in an automated build pipeline.

@anthrotype the ball is rolling! :)

sure. My point is very much aligned to what Chris Simpkins is saying. If GlyphsApp's API is not in our power, then we should not rely on that as a dependency. That's why I draw the line there.
I am not opposed to having fontbakery checks running form within GlyphsApp. Actually I think it would be pretty useful to increase the user-base. But I suggest we find a way of doing it that allows the same checks to be run without the glyphsapp runtime environment (such as with vanilla fontbakery running on a CI server).

what does the internal glyphsapp api provide that a free software python library cannot yet get from glyphs project files?

glyphsLib: that's the plan or maybe the upcoming https://github.com/robofab-developers/fontParts API. I don't know if Glyphs will support glyphsLib or another API by itself. But we can't run FB within the editor now, that's the issue I'm raising. I understand that you guys like the idea of just developing for py3 but it breaks at least some opportunities we had before, it shuts doors that were open, so to say. I don't share the enthusiasm fully here.

If GlyphsApp's API is not in our power, then we should not rely on that as a dependency.

We wouldn't. How did you get this impression. It's totally possible to write a fontbakery spec that's downstream, not living in the fontbakery repo. You just import fontbakery.

Actually I think it would be pretty useful to increase the user-base. But I suggest we find a way of doing it that allows the same checks to be run without the glyphsapp runtime environment (such as with vanilla fontbakery running on a CI server).

My point.

I heard that Python 3 support will land in the next major version

Yeah, I have the same info.

if you don't need to rely on the internal glyphsapp api, then you probably can spawn a python 3 subprocess from within glyphsapp python 2 environment as someone suggested earlier in this thread. (Sounds super hacky, I know...)

glyphsLibs object model is similar to the python API in Glyphs. So scripts should work with both.

It's also not the nice thing you pitch to some designer who's just starting to look into automating stuff with python in their workflow, it's for nerds like you and me ;-)

glyphsLibs object model is similar to the python API in Glyphs. So scripts should work with both.

See, I really like this :-D Thanks for the info.

glyphsLibs object model is similar to the python API in Glyphs.

yes, which means you shouldn't need to have Glyphs.app in order to run fontbakery checks written on top of glyphsLib.
The only argument that was raised in support of running from within Glyphs.app is that "designers don't like to use command line". I think the fontbakery's dashboard is meant to cover that use case, no?

OK. Here's an important consideration.
(1) We can put some extra effort to refactor the codebase to get rid of the py3 niceties & cleanup in order to be once again compatible with the old python 2 interpreters.
(2) Or we can do other useful things (like dashboard improvements, or actual fontbakery-core improvements) while we wait for the upcoming python-3 capable glyphsapp.
Which would be better? I vouch for the second option.

The only argument...

@anthrotype I think that there is a good argument for source checks in the Glyphs editor (and other editors that support Glyphs source files) UI.  That is where designers are working on source and it eliminates a step for source checks that requires conversion to a web browser, upload of source file(s) for execution rather than a menu selection inside the  editor with the entire source path argument and testing process automated for them.  As I understand it, that is what Lasse is trying to do here.  From a usability standpoint this is the ideal approach for that audience IMO.  If the target user is not the general design community but rather developers familiar with the command line who will not necessarily be touching the source for edits, then the argument is exactly the opposite and this adds an unnecessary step of launching the editor to run tests.

It's (2) obviously. I'm just ranting about that "python 3 vandalism" you guys pulled off. We must discuss this stuff, so we don't act that careless again.

I think the fontbakery's dashboard is meant to cover that use case, no?

No, that's oversimplifying it.

The only argument that was raised in support of running from within Glyphs.app is that "designers don't like to use command line".

That's an example, not an argument. The argument is that the library got less versatile. I don't know all examples, I only know that we lost some options.

Another point is that you are trying to harness a CLI reporting approach in a UI environment which may not be ideal nor necessary.  If you are going to use the UI, then take advantage of it for your reporting and notifications to users.  This likely warrants taking the entire testing approach out of FB source and implementing in a different fashion so that you can do this.  Otherwise you will find that you are just creating command line to UI workarounds for tests that have yet to be implemented.   Having the same code base for scripted / batch and UI testing argues against this point but it may be easier to make two different projects if the main goal is to harness the UI rather than behave as a CLI app onside a GUI application.

The plan was roughly to run source file checks using the same
specification from within Glyphs, e.g. as a designer and just plain from
the shell or the Dashboard with glyphsLib.

I'm quite alright with source checks specific to .glyphs files to be
written in https://github.com/googlefonts/gf-glyphs-scripts until GlyphsApp
v3 is released, and then do the (pretty small, I expect) amount of work to
port them into the FontBakery specification style and have a "true"
FontBakery GlyphsApp Extension.
We have higher priorities at least until G v3 is out :)

I feel it caused a lot of trouble as well (e.g. it created work downstream and in other teams).

Out of curiosity, what downstream and which teams?

Another point is that you are trying to harness a CLI reporting approach in a GUI environment which may not be ideal nor necessary.

This is the real kicker and the reason why I think the vandalism isn't as bad as it sounds. I'm all for in-editor-checkers but before that, we need to sketch out how that should work and look like. I imagine using FontBakery as is, adding some source tests using glyphsLib and slapping in a menu entry in Glyphs simply cuts out the terminal. I mean, we are just going to display a stream of text like on the terminal in the output window.
It could work if we

made tests return structured data with e.g. glyph name, contour and node information, etc. and
wrote an editor-specific adapter and front-end where people can select the tests and visually cycle through the results.

Think of a mix of "Red Arrows", "Glyph Nanny", "Font Audit" and FontForge's checking dialogues. I anticipate that this needs changes to how FontBakery operates and that the front-end is more important than running FontBakery directly inside Glyphs, etc., so one might as well run FontBakery externally and collect the JSON from stdin.
Maybe looking into "Red Arrows" and "Glyph Nanny" provides clues as to what is needed to make proper use of a GUI.

I mean we are just going to display a stream of text...

How about a dialog window that displays results as though the implementation is in the editor rather than as a CLI application addon.  Then you can build upon the macOS GUI framework to create something that is more than the typical free text firehose that comes with command line apps :)
The Glyphs plugin implementation is simple enough that even I was able to do it.  Have a look at the glyphs filter list manager plugin in our organization account to see how you implement menu list items with Python source in the editor.  https://github.com/source-foundry/FilterListManager
Happy to lend a hand if I can be of any help with any part of it that I understand.  Perhaps Rainer or Georg or someone else with Xcode expertise would be willing to help with GUI window(s) implementation?  For the truly motivated out there, a full fledged desktop application for QA is begging to be built :)

Out of curiosity, what downstream and which teams?

Fontbakery Dashboard and gftools.

I mean, we are just going to display a stream of text like on the terminal in the output window.

The reporting model (FontbakeryReporter) can handle any kind of reporting, we don't have to do this. We can implement a reporter that does GUI stuff. It's a good starting point though, to do the simple thing first.

made tests return structured data with e.g. glyph name, contour and node information, etc. and

We can do this, no problem, just yield Fail, MessageWithStructuredData(...) where class MessageWithStructuredData(Message): ... https://github.com/googlefonts/fontbakery/blob/master/Lib/fontbakery/message.py

wrote an editor-specific adapter and front-end where people can select the tests and visually cycle through the results.

Why not?

I anticipate that this needs changes to how FontBakery operates

How so?

and that the front-end is more important than running FontBakery directly inside Glyphs

Well, a thing would be to implement one reporter that streams events into a parseable structure, could be lines of JSON for example, that would run outside of Glyphs. When done right, we can just read live from the pipe as the events happen, parse them and output them directly with a generator to a GlyphsFontbakeryReporter. That way, also, once we can run FB  from inside of Glyphs it should be easy to switch.

Same structured data interchange format could be used across your open, non-Python dependencies in order to eliminate parsing exit status codes/stdout/stderr from these command line tools to assess test results.  The spec for the data interchange format that you decide upon could support this across Py2/3, any testing tool via piping to FB stdin vs file i/o vs even remote web application development with URL calls for JSON responses.  I think maybe we are thinking along the same lines?

Then host all dependencies remotely and let FB act as a client to the application.  This eliminates the x-platform install issues for all if Google is willing to host it :)
Not trying to generate work for you.  Just exploring ideas as they come up...

wrote an editor-specific adapter and front-end where people can select the tests and visually cycle through the results.

Why not?

Hm?

I anticipate that this needs changes to how FontBakery operates

How so?

I don't know, but no one does until we actually implement something and find things we didn't anticipate. Or not. :)
I'll opine though that before we care about the backend, we need to imagine a frontend.

I'll opine though that before we care about the backend, we need to imagine a frontend.

This is just a mockup at the moment, but it sounds promising:
https://github.com/eliheuer/fontbakery-desktop
It is a side-project that @eliheuer has been working on his free time on weekends. It was born after a video-chat between me and Eli right after ATypI, inspired by the feedback we got from users who attended the FontBakery workshop.

If there's anything more to do here, please continue the discussion at #4128.


Installer false-positive

Just saw the installer you made, tried downloading it but Windows Defender immediately quarantined it :(

Trojan:Script/Oneeva.A!ml

Not sure if there's any way you could prevent that, maybe packing the EXE with UPX or something could help, or passwording the ZIP it comes in, or maybe if there's some way to get a signing key you could try signing the EXE, IIRC that can help stop defender from getting triggered. (E: doesn't seem there's any way to get a free signing cert now though ;_;)

Pretty ridiculous that it got flagged by windows defender, tbh. It is a very simple installer created with Inno Setup.
Literally the only custom code I have there is something to get RE4's installation dir from the registry. Grr.
I mean, the installer I made for Silent Hill 2 Enhanced Edition is built upon Inno + tons of custom code. Stuff to download updates, rename files, deal with zip files, etc. Hopefully that one doesn't also get flagged for being to... suspicious, I guess?
Well, anyway, the plan is to provide a more feature complete installer that in a new release of the HD project as soon as we figure out how to alleviate the current issues with re4_tweaks, and albert manages to fix some problems with the HD project itself. So maybe that new installer wont be flagged by any AV, but yeah.. fighting against AV software when you're doing nothing out of the ordinary AND using well-know software as your base is annoying.

Maybe worth trying to submit it to https://www.microsoft.com/en-us/wdsi/filesubmission, at least it has a software developer option there, and mentions "files that you believe have been incorrectly classified as malware".

Hmm.. guess that's worth trying. Thanks for the heads up.


Hi, i have so many questions 😬

Hi, first i would like to thank you for your work. It seems that there is not equivalent on the entire web !
I just started to play around since i have a sequencer project i'm working on (using webmidi). So may definitively use your audio interface lib.
For now i'm kinda stuck on two things :
1 - i can't find in your documentation a simple way to build controls with javascript dynamicaly instead of adding them to the dom. Then access to parameter (ie myknob.getMidiController())
2 - is your script handling sending midi message ? Because midi learn works like a charm but only one way ? is the way it is supposes to work ?
Thank you if you have the time to answer.
By the way this knob/png generator software you have is also awesome !

Hi ! I have written the midi part of WebAudioControls... You can get a handle on midi messages captured by the WebAudio Controls. Look at the source code of this page: https://mainline.i3s.unice.fr/AmpSim4/
Near the end there is a midi event handler that is called by the WebAudio controls.
If you want to send midi messages to other components you'll need to do it by hand.
Otherwise, we developed a WebAudio Plugin SDK that would be of great help for wiring a sequencer. You'll be able to reuse easily audio plugins and midi plugins. Check https://github.com/micbuffa/WebAudioPlugins and also my YouTube channel, for example : https://www.youtube.com/watch?v=r2SQYh6DiYQ
Michel

Also check this: https://docs.google.com/presentation/d/1i629cpj8a5txjCg8MDtqQvERyrQXD7Q0exgIiu_0bmU/edit?usp=sharing

Wow, looks like a very nice read ! Thx a lot.


Discrepancy Between Theoretical Design and Actual Implementation in CogAgent

System Info / 系統信息
I have been reviewing the recent paper on the AutoGLM, specifically focusing on the section that discusses the "Agent with Intermediate Interface Design."   In the paper, it is mentioned that the system is designed with a clear distinction between the planner and the grounder, which are intended to be improved separately.   The planner is described to execute actions based on high-level descriptions, while the grounder is responsible for identifying the coordinates of elements within the GUI based on textual instructions.
However, upon examining the CogAgent's codebase, I have not been able to find evidence of this separation.   It appears that the planner and grounder functionalities might have been integrated into a single component, which contradicts the design philosophy outlined in the paper.
Who can help? / 谁可以帮助到您？
No response
Information / 问题信息

[ ] The official example scripts / 官方的示例脚本
[ ] My own modified scripts / 我自己修改的脚本和任务

Reproduction / 复现过程
xx
Expected behavior / 期待表现
Could you please clarify the following:
Is the separation of planner and grounder still a part of the CogAgent's design philosophy, or has it been integrated for any specific reasons?
If the separation is intentional, are there plans to update the codebase to reflect this design in the future?
If the integration was a deliberate choice, could you provide insights into the benefits or considerations that led to this decision?
Understanding the rationale behind this design choice is important for ensuring that the implementation aligns with the theoretical framework presented in the paper and for any future development or research building upon this work.

The need to elaborate, this model is not the open-source version of AutoGLM, and it is also not much related to AutoGLM.
The product corresponding to CogAgent is GLM-PC. Therefore, you cannot use concepts related to AutoGLM, such as planner and grounder.
Are you referring to the model output where "integration" means that the plan and action are output together at once?


[help] Need to remove ids

I really need to be able to remove entries from the db. What is the best way to do it?
The worst way I can think of is to basically recreate the whole thing for every item delete.
Is there a better way than that right now? I think the older threads mention that deleting individual ids was still not supported for some reason.

nvm, there is a delete option I think!


Tracking Issue: Unwinding support for RISCV

Track the progress until unwinding support for RISCV is on the same level as for ARM. Further work can be done to improve unwinding in general, this issue only tracks tasks which relate to problems where ARM specific assumptions are currently hard-coded.
Open issues

[x] Proper register names in debugger, currently ARM registers are hardcoded https://github.com/probe-rs/probe-rs/blob/5e5a4307ef8f1fee2f09da63a2d85b0720471182/debugger/src/debug_adapter.rs#L740
[x] Use architecture-specific register values when unwinding https://github.com/probe-rs/probe-rs/blob/5e5a4307ef8f1fee2f09da63a2d85b0720471182/probe-rs/src/debug/mod.rs#L387
[x]  Create architecture specific capstone in the debugger. Currently it assumes arm
https://github.com/probe-rs/probe-rs/blob/545267b0065e5242a84826dc3de2dbd6e6dd4fd3/debugger/src/debugger.rs#L320-L324

With #1129 this will bring RISCV debug functionality up to the following level:

[x] Stacktrace correctly unwinds functions and inlined functions.
[x] Until this riscv-rt PR is released, the name of the main function appears mangled in the stacktrace.
[x] Implement ability to unwind into ROM functions that have no debug information see comment here
[x] Disassembly for RV32C (compressed instruction set) works.
[x] Implement instruction set variants to track compressed vs. non-compressed isa of RISCV
[x] Peripheral registers work
[x] CPU registers work
[x] Program variables are unwound (names and datatypes appear correctly).
[x] Program variables data values are not working correctly.
[x] Breakpoints (hardware) can be set, and will correctly halt execution.
[x] Stepping during halt does not work yet.

I'd like to add one please ...

[ ]  Create architecture specific capstone in the debugger. Currently it assumes arm
https://github.com/probe-rs/probe-rs/blob/545267b0065e5242a84826dc3de2dbd6e6dd4fd3/debugger/src/debugger.rs#L320-L324

Thanks, I've added it.
Feel free to edit the issue directly next time, then the progress is tracked.

Perhaps not specific to RISCV, but perhaps the unwinder could be more robust when debug info is missing for a particular PC (i.e, ROM code that doesn't have debug symbols). At the moment, the StackFrameIterator returns None which stops the unwinding, maybe we could add Unknown frame @ 0xDEADBEEF and continue the unwinding.

Perhaps not specific to RISCV, but perhaps the unwinder could be more robust when debug info is missing for a particular PC (i.e, ROM code that doesn't have debug symbols). At the moment, the StackFrameIterator returns None which stops the unwinding, maybe we could add Unknown frame @ 0xDEADBEEF and continue the unwinding.

@MabezDev ... This should be easy enough to do, and I'm willing to take it on. However, it really doesn't  belong in this Issue, so maybe you can create a new one (enhancement)? It would help me if you could give a bit of an explanation of how the Unknown frame @ 0xDEADBEEF (yes, I see what you did there ... lol), would be useful in a debug situation.

I've opened https://github.com/probe-rs/probe-rs/issues/896 :)

Closing this, now that all the known items have been implemented, and debug functionality is now considered on-par with Arm.
I suggest we treat new discoveries as independent issues.

Thank you @Tiwalun & @noppej for all your hard work on this! It's very pleasant to use probe-rs on RISCV cores now :)

Oh man, this is awesome! Thanks so much!


User limit

Hello and greetings.
Thank you for your amazing project.
Please add user management capability so that we can fully utilize your panel.
We're eagerly waiting. ❤

This is now available in v1403.


DRILL-5165: limitRel to return correct rows for limit all case

It failed without the fix.

From: Jinfeng Ni<EMAIL_ADDRESS>Sent: Wednesday, March 8, 2017 10:56:06 AM
To: apache/drill
Cc: Chunhui Shi; Author
Subject: Re: [apache/drill] DRILL-5165: limitRel to return correct rows for limit all case (#776)
@jinfengni commented on this pull request.

In exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/limit/TestLimitWithExchanges.javahttps://github.com/apache/drill/pull/776#discussion_r104993761:

@@ -125,6 +125,15 @@ public void testLimitImpactExchange() throws Exception {
}
}

@Test
public void TestLimitAllOnParquet() throws Exception {

Have you tried this new testcase without the change above? Will it successful or fail?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/apache/drill/pull/776#pullrequestreview-25853026, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJa9A-HOKR8SCsdrPSb_457T4kbuelsBks5rjvnGgaJpZM4MWjjd.

+1


Ask for the environment when running beit/semantic_segmentation

Describe
Model I am using (UniLM, MiniLM, LayoutLM ...):BEiT
Sorry to disturb. I'm going to reproduce the semantic segmentation task in unilm/beit/semantic_segmentation/ . However, I haven't found the correct env versions to make no bug for mmseg/mmcv/apex/torch packages and python version. Could you please share all your package version in your experiment with me?
I'm trying these configs combination:
pytorch==1.9.1
mmsegmentation==0.11.1
mmcv-full==1.3.0
apex=20.44-dev

and my bug now is:
Traceback (most recent call last):
  File "/home/jiahangxu/miniconda3/envs/py37/lib/python3.7/site-packages/mmcv/utils/registry.py", line 179, in build_from_cfg
    return obj_cls(**args)
  File "/home/jiahangxu/miniconda3/envs/py37/lib/python3.7/site-packages/mmseg/models/decode_heads/uper_head.py", line 34, in __init__
    align_corners=self.align_corners)
  File "/home/jiahangxu/miniconda3/envs/py37/lib/python3.7/site-packages/mmseg/models/decode_heads/psp_head.py", line 44, in __init__
    act_cfg=self.act_cfg)))
  File "/home/jiahangxu/miniconda3/envs/py37/lib/python3.7/site-packages/mmcv/cnn/bricks/conv_module.py", line 147, in __init__
    self.norm_name, norm = build_norm_layer(norm_cfg, norm_channels)
  File "/home/jiahangxu/miniconda3/envs/py37/lib/python3.7/site-packages/mmcv/cnn/bricks/norm.py", line 110, in build_norm_layer
    layer._specify_ddp_gpu_num(1)
  File "/home/jiahangxu/miniconda3/envs/py37/lib/python3.7/site-packages/mmcv/utils/parrots_wrapper.py", line 87, in _specify_ddp_gpu_num
    super()._specify_ddp_gpu_num(gpu_size)
AttributeError: 'super' object has no attribute '_specify_ddp_gpu_num'

Just FYI, I'm using python==3.7.0 now, and I tried 3.8.0 & 3.9.0 there are bugs when running from mmseg.apis import set_random_seed.
Thanks a lot and looking forward to your reply!

@donglixp Sorry to disturb the author and wish you all well!

Hi @JiahangXu ,
Thanks for your kind words, I found a similar issue that may help you to fix this.
Solution 1: downgrading the version of pytorch
Solution 2: from this comment
had the same issue!
resolved after changing type to 'BN' in norm_cfg=dict(type='SyncBN', requires_grad=True),


De-indent comment block

Browsing the documentation I was a bit confused why some paragraphs are randomly indendet, e.g. “The bvar constructor…”.
My theory is that it’s because the whole doc string block is indented in the source code:

/--
Lean expressions. This data structure is used in the kernel and
elaborator. However, expressions sent to the kernel should not
contain metavariables.

Remark: we use the `E` suffix (short for `Expr`) to avoid collision with keywords.
We considered using «...», but it is too inconvenient to use.
-/
inductive Expr where
  /--
  The `bvar` constructor represents bound variables, i.e. occurrences
  of a variable in the expression where there is a variable binder
  above it (i.e. introduced by a `lam`, `forallE`, or `letE`).
  …
  -/
  | bvar (deBruijnIndex : Nat)

Looking at this, I doubt that the author wanted to have the markdown interpreted as indented.
If that analysis is correct, maybe the tool should de-indent by all common whitespace?
Probably also for
/--
  This style, which I have seen too.
-/
def foo := …

I might be barking on the wrong hill, though.

With respect to docstring rendering I'm currently hoping that David's new doc tooling will give some clear semantics to docstrings at last that the doc-gen renderer can then just stick to. Hence I'd suggest to hold our breaths for the first release of that.

Fair enough, and the issue isn't servere.

I think this is a CSS problem...

Here's another issue; https://leanprover-community.github.io/mathlib4_docs//Init/Data/Format/Basic.html#Std.Format has in its source:
  /-- `align` tells the formatter to pad with spaces to the current indent,
  or else add a newline if we are already at or past the indent. For example:
  ```
  nest 2 <| "." ++ align ++ "a" ++ line ++ "b"
  ```
  results in:
  ```
  . a
    b
  ```
  If `force` is true, then it will pad to the indent even if it is in a flattened group.
  -/
  | align (force : Bool) : Format

but this renders as

results in:
. a
b

which of course fails to capture the behavior at all.


There is no Notification which contains all previous notifications, similar to chromium extension

:speech_balloon:  Current Behaviour

When PB pushes a notification from any application from a mobile device (android), the notification appears in a popup. That's ok.
But there is no chance to see these notifications again if I missed one. I do not see any history of notifications.
In contrast, the PB extension for Chromium has a dedicated Notification tab, where I can see the history, all previous notifications.
I have an API where my Zabbix used to send me notifications about issues etc. and I only can see them when they pop up and I found no way to check the history.
🎯 Expected Behaviour

The PB4D should include a history panel, called Notifications where one could see all previous notifications, very similar to Chromium extension.
I prefer PB4D as a standalone application than Chromium extension.
👟 Steps to Reproduce (S2R)

Wait for a notification from a mobile device, like Google Play update an application.
A popup notification should appear in PB4D.
Try to find the disappeared notification in the PB4D (I found nothing).

🏡 Environmental Context

App Version
v6.0.7
Installation Type
from amd64.deb
Operating System
Linuxmint 18.x

@pongraczi @erezhdd
This feature would require an implementation of a local notification queue, a feature which would defy the straightforward implementation of the app as a wrapper of the web application. Thus it is currently not within the scope of this app.
Cheers,
S


Cannot create service with image or GH repo

2 things, but related:

[ ] If using an image: It just doesn't send the image field anymore in the request (although nothing technically fails in the backend so it returns 201, but the service never becomes available).

[ ] If using a repo: It gives an error in the UI whether selecting the template checkbox or not:  { "code": "Invalid", "message": "Service.rio.cattle.io \"ghui-gm6k8\" is invalid: spec.build.template: Invalid value: \"boolean\": spec.build.template in body must be of type string: \"boolean\"", "status": 422, "type": "error" } .
I believe that the template field in the request should be in spec.template instead of spec.build.template. Example request: {"type":"rio.cattle.io.v1.service","kind":"Service","apiVersion":"rio.cattle.io/v1","metadata":{"annotations":{},"namespace":"default","generateName":"ghui-"},"spec":{"version":"v0","weight":10000,"imagePullPolicy":"Always","env":[],"dnsNameservers":[],"searches":[],"dnsPolicy":"Default","permissions":[],"globalPermissions":[],"rollout":{"pause":false},"app":"ghui","build":{"branch":"master","repo":"https://github.com/rancher-max/rio-demo.git","dockerfile":"Dockerfile","template":false},"ports":[{"name":"","expose":true,"protocol":"HTTP","port":8080,"targetPort":8080,"hostPort":false}]},"annotations":{}}

Rio is no longer supported.


Add Jake H to contributors

Excellent project, thanks for the help!

Hi  @jakehappersett, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added social share  to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.


Add consistent support for variables in styling

The WebGLTile and WebGLPoints layers accept a variables property in the style object passed to the constructor.
// for webgl tile or points layers
const layer = new Layer({style: {variables}});

Then to update those variables, the updateStyleVariables method can be called:
// for webgl tile or points layers
layer.updateStyleVariables(newVariables);

Although the parser supports var expressions, the canvas vector layer doesn't currently accept variables for styling (see https://github.com/openlayers/openlayers/pull/14780#issuecomment-1722518765).  We could try to accept a varaibles as an additional property in a flat style literal, but this would be awkward for arrays of flat styles or rules.
It would be more straightforward to add a variables or styleVariables option to the constructor (instead of trying to tuck it in the style object(s) we accept).
// one alternative for vector layers
const layer = new Layer({style, variables});

If we do this, we could also add support for a top level variables option for the WebGLPoints and WebGLTile layers and could deprecate the variables property inside the style object.  And then we could have consistency in the constructors and in an updateStyleVariables method.
But it is also probably worth considering allowing style variables at the map level.  This would make it so variables related to styling to could be provided and updated in one place.  In cases where the same variable is used across multiple layers, this would make it so you don't have to call layer.updateStyleVariables() on each layer individually.
// an alternative to doing this at the layer level is to do it at the map level
const map = new Map({layers, variables});
map.updateVariables(newVariables);

I know variables is a pretty general name.  Could also be styleVariables (although that is kind of clunky).
Curious to hear what others think.

I'd prefer providing variables as a separate constructor option.  As a property of the Map it feels a bit out of place.

I like the idea of having variables on layers as well, as layers are meant to hold the representation information for data. This could even be merged with the concept of properties using set/get methods.

I'm coming back to this since we need to resolve this question in order to merge both the flat and webgl style formats.
Having variables on the map might be the best way forward IMO:

adding a variables option on the map wouldn't conflict with other notions; on the other hand, a variables on a layer would be similar to the existing properties option so we'd have to differentiate it by calling it styleVariables
we could then have the corresponding updateVariables() and getVariables() methods on the map
most of the time I feel like style variables don't only make sense for one layer, but have a meaning for the whole map: things such as filtering by attributes, changing colors or size, etc.

The fact is that Map instances can also have properties accessed using set/get/getProperties etc., and I'm not sure how much these two APIs could coexist without creating confusion. Should we offer a similarly named API such as setVariables/applyVariables?

I like the style expressions because they allow compact serializable of dynamic styling.
I also like the layer.updateStyleVariables(newVariables); method on the WebGL layer, which provides values, not related to a particular feature, that the styles can resolve (if I understood correctly).
Removing variables from the style makes sense for the reasons already mentionned. Also, style and variables have different lifecycle and are certainly handled in different places in application code.
I agree that variables at the map level would be useful. What about resolving variables both at the layer and map levels?
We could pass the current map variables in the framestate object and fallback to it when the variable is not found in the layer variables.
I think that styleVariables is a good name that will avoid confusion with properties.
I don't think we need to be able to set variables individually (because contrary to properties there is no listeners that would be triggered).
Having a getStyleVariables() would be great for introspection that libraries like OL-Cesium rely on.


[BUG] refine-nextjs template can't deploy to vercel

Describe the bug
I created a refine application with the following options and deployed it to vercel and I get a 504 GATEWAY_TIMEOUT
✔ Downloaded remote source successfully.
✔ Choose a project template · refine-nextjs
✔ What would you like to name your project?: · refine-with-next
✔ Choose your backend service to connect: · data-provider-custom-json-rest
✔ Do you want to use a UI Framework?: · mui
✔ Do you want to add example pages?: · inferencer
✔ Do you need any Authentication logic?: · auth-provider-custom
✔ Do you need i18n (Internationalization) support?: · no
✔ Choose a package manager: · yarn
✔ Would you mind sending us your choices so that we can improve superplate? · no
Steps To Reproduce

create a refine project with options provided
deploy app to vercel
get a 504 GATEWAY_TIMEOUT

Expected behavior
It should display correctly
Screenshot

Desktop
No response
Mobile
No response
Additional Context
No response

Trying to recreate it, i got the same problem. Site was running without a problem (except for having only the github banner) but then, boom.
It also says
 npm run start

<EMAIL_ADDRESS>start
refine start

sh: refine: command not found
whenever i try to run it, but might be a me thing since i never used yarn till now.

I also tested the antd version of refine-next and it works fine.

I think the problem might be caused by this,

I think the problem might be caused by this,

Where did this file come from?

I think its created while building the app

Hey @hongfanmeng ,
I was able to reproduce the same issue. I'm getting a timeout with the 'Hobby' package. There's probably something wrong with Material UI. Thank you for reporting the issue. We will take care of it as soon as possible

Hey @hongfanmeng, we had some updates in our codebase also on create-refine-app templates. Just tested out with a hobby plan and had no issue with timeouts. Turns out It was mostly related to Material UI imports 😅


Quarkus Operator SDK 6.1.1 breaks operator.start() in QuarkusTests

Hey folks, when updating the Quarkus Operator SDK to 6.1.1 or newer, we cannot start an injected operator in a @QuarkusTest anymore.
@QuarkusTest
@QuarkusTestResource(KubernetesServerTestResource.class)
class TestControllerTest {

    private static final @NotNull Logger LOG = LoggerFactory.getLogger(TestControllerTest.class);

    @Inject
    protected @NotNull Operator operator;

    @BeforeEach
    void setUp() {
        operator.start();
        assertThat(operator.getRuntimeInfo().isStarted()).isTrue();
    }

    ...
}

Expected Behavior
The CRD can be applied and the operator is started (works with 6.1.0 or older).
08:40:54.393 [Test worker] INFO  i.q.o.runtime.OperatorProducer - Quarkus Java Operator SDK extension 6.1.0
  (commit: f79f1b6 on branch: f79f1b6ffcb49e453b697f37aebc27b34d45482c) built on Thu May 25 00:28:33 CEST 2023

Jul 18, 2023 8:40:54 AM okhttp3.mockwebserver.MockWebServer$3 processOneRequest
INFO: MockWebServer[39547] received request: POST /apis/apiextensions.k8s.io/v1/customresourcedefinitions
  HTTP/1.1 and responded: HTTP/1.1 201 OK

Jul 18, 2023 8:40:54 AM io.quarkiverse.operatorsdk.runtime.CRDUtils lambda$applyCRD$0
INFO: Applied v1 CRD named 'test-resources.donnerbart.de' from
  /home/donnerbart/IdeaProjects/operator-test/build/kubernetes/test-resources.donnerbart.de-v1.yml

Actual Behavior
The CRD cannot be applied and the operator cannot be started (fails with 6.1.1 or newer).
08:41:40.530 [Test worker] INFO  i.q.o.runtime.OperatorProducer - Quarkus Java Operator SDK extension 6.1.1
  (commit: 42b0ce2 on branch: 42b0ce29cb78360650c4c409dab43bfe752b5f1a) built on Fri Jun 02 19:11:25 CEST 2023

Jul 18, 2023 8:41:40 AM okhttp3.mockwebserver.MockWebServer$3 processOneRequest
INFO: MockWebServer[54939] received request: PATCH
  /apis/apiextensions.k8s.io/v1/customresourcedefinitions/test-resources.donnerbart.de?fieldManager=fabric8
  HTTP/1.1 and responded: HTTP/1.1 404 Client Error

Root Cause
The root cause seems to be this change in CRDUtils.apply() from:
client.apiextensions().v1().customResourceDefinitions()
        .resource((CustomResourceDefinition) crd).createOrReplace();

to
client.apiextensions().v1().customResourceDefinitions()
        .resource((CustomResourceDefinition) crd)
        .serverSideApply();

Reproducer

Repository: https://github.com/Donnerbart/operator-test
Test: https://github.com/Donnerbart/operator-test/blob/main/src/test/java/de/donnerbart/operator/TestControllerTest.java
Version properties: https://github.com/Donnerbart/operator-test/blob/main/gradle.properties#L13

When we switched our operator to Quarkus 3 and fixed the K8s client deprecations in our codebase, the serverSideApply() method didn't work out for us (at least not with the Kubernetes Mock Server in unit tests). We replaced everything with either create() or update() when the state/existence of a resource is known, or a get() and then either update() or create() when the state/existence of a resource is unknown.
Are we using the framework in a wrong way or is there a problem with serverSideApply() in unit tests?

Hi @Donnerbart  , AFAIK the Kubernetes Mock Server does not implement server side apply.
maybe @shawkins or @manusa can confirm.

It's at least a "works on my machine" :sweat_smile:
10:05:44.702 [Test worker] INFO  i.q.o.runtime.OperatorProducer - Quarkus Java Operator SDK extension 6.2.2-SNAPSHOT
(commit: d73e005 on branch: bugfix/659-fix-crdutils-apply) built on Tue Jul 18 10:02:49 CEST 2023

Jul 18, 2023 10:05:44 AM okhttp3.mockwebserver.MockWebServer$3 processOneRequest
INFO: MockWebServer[49695] received request: GET
  /apis/apiextensions.k8s.io/v1/customresourcedefinitions/test-resources.donnerbart.de
  HTTP/1.1 and responded: HTTP/1.1 404 Client Error

Jul 18, 2023 10:05:44 AM okhttp3.mockwebserver.MockWebServer$3 processOneRequest
INFO: MockWebServer[49695] received request: POST
  /apis/apiextensions.k8s.io/v1/customresourcedefinitions
  HTTP/1.1 and responded: HTTP/1.1 201 OK

10:05:44.917 [Test worker] INFO  i.q.operatorsdk.runtime.CRDUtils - Applied v1 CRD named
  'test-resources.donnerbart.de' from
  /home/donnerbart/IdeaProjects/operator-test/build/kubernetes/test-resources.donnerbart.de-v1.yml

using this Gradle configuration
tasks.test {
    useJUnitPlatform()
    testLogging {
        events("passed", "skipped", "failed")
    }
    reports {
        junitXml.isOutputPerTestCase = true
    }
    jvmArgs("-Dquarkus.operator-sdk.enable-ssa=false")
}

Ideally, the mock server shouldn't be used anymore with Quarkus and replaced by using the Kubernetes Dev Services since this will bring up a full cluster instead of an incomplete and possibly flawed mock version of the Kubernetes API.

We already have a working setup with a (modified) K3sContainer for our integration tests. The use case for the mock server is primarily code coverage with a quick unit testsuite. I'll look into the Dev Services, but if the lifecycle takes too much time to setup/teardown or if we have to refactor a lot to isolate unit tests when a shared cluster is used, we would still be blocked to update from Quarkus 6.1.0 :(


Change auto save/load behavior

Don't open file by default
Don't autosave to disk until saved once with a specified file name
Open Save As menu if Save button is hit in an unsaved project

Implemented in 02470baa18cdec07162c7665435b73c2762266b7


Bugfix/convert from unsemantic to 960gs

Decided that since we were having problems with the layout with Unsemantic we would change to the 960px grid system.
I have made the changes to the layout so it works with 960gs and I have also fixed up some minor styling issues that I found while working on this branch.

Just did another check over the changes, lgtm


merge from konsum-frontend-svelte

package.json

chore(package): (release.plugins)

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

npm package (@latest dist-tag)
v1.31.18
GitHub release

Your semantic-release bot :package::rocket:


up to date TerminationCodeDTO according with the last documentation

up to date TerminationCodeDTO according with the last documentation:  add SPARK_ERROR, METASTORE_COMPONENT_UNHEALTHY, DBFS_COMPONENT_UNHEALTHY, DRIVER_UNREACHABLE, DRIVER_UNRESPONSIVE
https://github.com/edmunds/databricks-rest-client/issues/78

thank you!


frame information and different tpv_w, tpv_h size

Thanks for the great work and I came across two questions regarding tpvformer04(occupancy_prediction)
First, could you please elaborate little bit more about frame information? In order to use custom points what should be its frame and corresponding h,w,z(height).
Second, in order to use different tpv_w, tpv_h size what changes should I make other than configs?

Also, I am confused with prediction and voxel shape. Since, w and h were always same in config setting this did not cause error but if not, I got shape mismatch error between voxel label and voxel prediction.
https://github.com/wzzheng/TPVFormer/blob/main/config/tpv04_occupancy.py#L34
https://github.com/wzzheng/TPVFormer/blob/main/dataloader/dataset_wrapper.py#L88
Based on above two, val_vox_label in train.py shape is (~, h,w, ~)
https://github.com/wzzheng/TPVFormer/blob/main/tpvformer04/tpv_aggregator.py#L95
However, because of this output the corresponding pred shape seems to be (~, w,h, ~)


Properly handle strand state in standard library extern functions

Description:
In places where NonBlockingCallback  is used in Standard Library, we are setting the strand state to BLOCK_AND_YIELD at the very beginning of the extern function.
Consider the following scenario.
We have a database, an HTTP service with a resource that talks to the database and fetches data, creates a JSON payload and responds to the client.
eg:
import ballerina/http;
import ballerina/log;
import ballerinax/java.jdbc;

// Create MySQL client.
jdbc:Client testDB = new({
    url: "jdbc:mysql://localhost:3306/testdb",
    username: "test",
    password: "test"
});

// Create an HTTP service and bind it to a listener on port 9090.
service dataService on new http:Listener(9090) {

    resource function getData(http:Caller caller, http:Request req) {
        http:Response res = new;

        // Invoke `select` remote function on the MySQL database client
        // and obtain a large amount of data.
        var selectRet = testDB->select("SELECT * FROM Data", ());
        if (selectRet is table <record {}>) {
            // Convert the obtained data to `json`. Note that this conversion
            // does not load all the data into memory.
            // The `table` can be converted to `xml` in a similar manner.
            var jsonConversionRet = typedesc<json>.constructFrom(selectRet);
            if (jsonConversionRet is json) {
                // Set the `json` payload to the response. This is streamed
                // to the client once the service is invoked.
                res.setPayload(<@untainted> jsonConversionRet);
            } else {
                // Set a payload indicating an error in case the `json`
                // conversion fails.
                res.setPayload({ "Error": "Error occured while converting the
                data to JSON" });
                res.statusCode = http:STATUS_INTERNAL_SERVER_ERROR;
            }
        } else {
            // Set a payload indicating an error in case the data retrieval
            // fails.
            res.statusCode = http:STATUS_INTERNAL_SERVER_ERROR;
            res.setPayload({ "Error": "Error occured while retrieving data
            from the database" });
        }

        // Respond to the client.
        var respondRet = caller->respond(res);
        if (respondRet is error) {
            log:printError("Sending response failed", respondRet);
        }
    }
}

Here, the actual data fetching and JSON conversion happens when we are responding to the client since we don't pre fetch data and load it to memory.
In such a case, the respond extern function does a considerable amount of work while having the strand state set to BLOCK_AND_YIELD. (Ideally, if we are doing some work, we should have the state set to RUNNABLE and do the work and return.) This breaks in a case where an exception is thrown while doing that intermediate work. (eg: Losing database connectivity). Then the strand state is set to BLOCK_AND_YIELD but an exception has occurred which causes the flow to deviate from the happy path, hence resulting in a strand with no one to unblock it. This would cause the strand to block forever causing rest of the following code to remain un-executed.

We should not set the strand state to BLOCK_AND_YIELD at the very beginning and keep working on the Ballerina thread.
Ideally if we are doing some heavy work, we should do it with a different thread and return the Ballerina thread. Later once the work is over, we can unblock the strand.

Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

@Manuri I think we should handle such exceptions and return them as operation error ideally rather maintaining states. For example, in HTTP, the respond method can fail when the connection between caller and the listener is broken. In such cases, we handle the exception and return as the respond operation error. I think we need to maintain same behavior in here as well.
Thoughts?

Need to test a case where an exception happens after setting async and see if it works properly with the non-blocking refactoring


Allow use of the extra_model_paths file for custom model paths in Server Configuration

Currently, the server configuration lacks flexibility in specifying custom model paths. It would be nice to accommodate diverse setup scenarios in which the extra_model_paths file is used exclusively for setups. To give you an example, I wrote a CLI in python to clone a "BASE" comfy install with "standard" custom_nodes that I use and install for every comfy deployment. All my models are centralized in a single external "MODEL" directory, allowing me to pseudo sandbox potential breakage from custom nodes by only installing them to
that local instance model folder in a new clone directory.
Having the ability to define both a local model base folder as well as referring extra_model_paths would help.

I believe if you have extra_model_paths.yaml in the comfy root dir that'll just work
Your models folder should just be set in the swarm Server Configuration tab though


Add a failed test and naive fix for issue 571

Added a failed case for issue 571.
I can confirm this test failed on my machine, but still can't figure out how to fix it.

@chentsulin : can you clarify how that tweak to the types is intended to fix this issue?


Updating controlled selectedIds steals focus and gives it to the tree

Describe the bug
When trying to use controlled selectedIds to check checkboxes in the tree, every time you change the value of selectedIds the tree suddenly steals keyboard focus from whatever control on the page had it last.
Code That Causes The Issue
I believe this was introduced in 1f9b062f7b27e79e85de1e71dd4a27a46237a961 after dispatching controlledSelectMany for the parents if propagateSelect is enabled it will use the regular changeSelectMany, passing in id for lastInteractedWith, which causes focus to be stolen by the tree.
To Reproduce
You can see this in your "Checkbox with controlled selectedIds" example included with the project.

Type a node number into the textbox and press enter instead of clicking the submit button.
Focus leaves the text field and immediately jumps into the tree.

Expected behavior
The most obvious use for a controlled set of Ids would be if you were applying changes as the result of an action performed elsewhere on the page. I would not expect performing an action elsewhere to move my keyboard focus into the grid.
Desktop (please complete the following information):

OS: N/A Desktop PC
Browser Firefox, Chrome
Version It doesn't matter

Additional context
I was looking to display some data in a tree and I found this control. It seems to fit that need perfectly, but the actual behavior when setting node selections currently makes it an awkward choice.
In the case where I want to use this I have a regular list of items at the top of the page and a tree with properties for those items on top. Switching the item in the list should update the tree to show the properties for the item selected. But if I use the arrow keys to try and navigate the list of items, every time I arrow down on the list and update the tree with the appropriate selections of checkboxes, the tree immediately steals focus making just general browsing of data a challenge. Additionally I have "Check" and "Uncheck all" buttons similar to the uncheck button on the sample page, clicking those buttons also steals focus and sends it to the tree. When someone is using the mouse this isn't a huge problem but it's annoying when you're trying to use the keyboard.
1f9b062f7b27e79e85de1e71dd4a27a46237a961 appears to be fixing some kind of problem with focus being lost, but could we fix this new problem just by setting lastInteractedWith to null if the grid does not have focus so that it does not steal focus? In my case, just changing lastInteractedWith to null on line 276 of index.tsx completely fixes the stolen focus problem, but I suspect it's breaking whatever that previous commit was trying to solve.

@kpustakhod I’d be interested to hear your thoughts on this?
@mellis481 do we have a need for controlled selectIds at our company?
@Sappharad, in the case of "Checkbox with controlled selectedIds" what would you expect to happen? And can you provide some documentation from some kind of accessibility resource that backs up your proposed expected behavior? If you can, we would accept a PR from you as long as it doesn’t break the tests (especially https://github.com/kpustakhod/react-accessible-treeview/blob/78dfb93c09086fef4fb8bf8c769611203fafc156/src/tests/ControlledTree.test.tsx#L305 )

Thanks for the quick reply.

In the case of "Checkbox with controlled selectedIds" what would you expect to happen?
I thought I answered this in the expected behavior section of the initial post. Basically, my expected behavior has that if the tree does not have have focus when it is being modified externally, it should not take focus away from the control that had focus. So for the checkbox example, if I press enter in the text field the focus remains in the text field. If someone wants the grid to get focus after they update it externally, they can just call .focus() on the div themselves.

I'm not really basing this on any accessibility documentation, but here is the first document that came up on google:
https://usability.yale.edu/web-accessibility/articles/focus-keyboard-operability
It has the following relevant rules:

Keyboard focus should be trapped within a component,
Focus order should be meaningful and promote ease of use.
When a user initiates a change in focus, there should not be a change in user agent, viewport, content, or an additional change in focus.

In my actual use case described above where I update the tree based on the selection of a list box elsewhere on the page, this violates the 3 rules above. The act of me moving around the list and the tree stealing focus because it was updated when I switched rows is violating the first rule because focus is no longer trapped within the control that was updating the tree. For the second rule the focus order is not meaningful will depend on the usage scenario, but basically you could put your tree and another control anywhere on a page and there could stuff in between them. If you're randomly jumping to the tree and they don't expect that, the focus order is no longer meaningful. Finally, in my scenario with a separate list, if I'm trying to initiate a change of focus on that list (so the tree is updated), the tree stealing focus is an additional change in focus beyond me navigating my list, thus violating that third rule.
--
If the user is interacting directly with the tree then it seems logical to me that the tree should control focus. But if I'm just trying to update the state of it from the outside (either displaying data for a different parent record in a list, or using a "select all" or "unselect all" button) then my keyboard input suddenly ending up inside the grid is weird and the tree components on desktop operating systems like Windows and macOS do not behave that way.
I'll see if I can come up with a PR next week, pending any potential counterarguments. Maybe it's something that needs to be tied to a setting if there's a legit reason to keep allowing it to steal focus from other components.

After running the tests, I see that the fix I proposed in the opening post won't solve this problem correctly.
It seems like the upward propagation of parent checkboxes relies on recursion to an extent and nulling out lastInteractedWith causes grandparents not to be updated,
failing the "SelectedIds should propagate upward when deselection happens via selectedIds" unit test.
I'm going to experiment around to see if I can come up with a better suggestion that does not break anything. I suspect that I'll probably need to do something in useEffect() on Line 417 of index.tsx to prevent focus from being set if

Hi everyone,
It's been over a month now, and you did a release last week while completely ignoring my PR so I'm pinging this thread again to see if you care about this one at all?
Do you not want it? Do you disagree with something, and is there anything I can do about it?
Should I just make a fork of this repo and publish that instead?
Please advise.
Thank you!

@Sappharad were volunteers, so I’d appreciate a little more kindness and less charged language like “completely ignored.”
No, we didn’t completely ignore your request— we just made a mistake. I actually fought quite valiantly to have your concern added to our company’s internal tracking software (Jira).
I do not know when that Jira ticket will be prioritized. I apologize for forgetting to inform you that we added your request to the backlog.

Hi Dan,
Thank you for the context, I do appreciate it. It wasn’t immediately clear to me how the project was being controlled.
Sorry for the frustration.

Ref: UIEN-4789

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Activity.

Preemptively replying to so the bot doesn't mark this as stale tomorrow.

https://github.com/dgreene1/react-accessible-treeview/releases/tag/v2.8.3
@Sappharad merge and released

@yhy-1 Thank you so much!
Glad to see this in there.


[Feature Request]: update css class naming prefix

Description
Current classnames are prefixed with awsui_.  For example,
import * as React from "react";
import Box from "@cloudscape-design/components/box";

export default () => {
  return <Box variant="p">text</Box>;
}

will be rendered as

text

As the lib is not called awsui, maybe changing the prefix to something likecloudscape_design or cs_?
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate requests

Hello Bill,
This change would be backward incompatible with earlier versions as these classes are used by consumers for integration testing.
also we don't consider this information "awsui" as private so we're okay with exposing it in the library's internal implementation

Right that makes sense. Thanks for the explanation.


cli error with wave file

[Enter feedback here]
spx recognize --file whatstheweatherlike.wav
above command throws invalid file format error both in windows as well as linux (ubuntu 20.04)
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a421fddc-eebd-2ff2-6216-b2a00bbd3fdf
Version Independent ID: 7d902f9e-4f56-30c9-4a39-7d800f92e088
Content: Quickstart: Recognize speech from an audio file - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/quickstarts/speech-to-text-from-file.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @trevorbye
Microsoft Alias: dapine

if i directly do save link as file sizer is about 133kb...this does not
if i open the github link and then download raw, filesize is 65kb...this works

@nitinbhatia-dev,  Thanks for leveraging Azure docs feedback channel to raise this question.
We see that you have closed this issue, kindly let us know if you need further assistance with this we would be more than happy to assist you.


Missing support for no key

Right now, parsing only works with a key (ex:
"QC"
{
        "$modelname"    ""
}

Their should be a function for to_string_without_key and the same for de-serializing.

Do you have an example of a file that fails due to missing a key? VDF is very underspecified, so specific examples help

Sorry, I don't want a key. This repo cannot parse qc files (without a key, variables have no parentheses, etc).
Example of qc
$modelname "Combine_camera\Combine_camera.mdl"

$bodygroup "studio"
{
	studio "combine_camera_reference.smd"
}

$surfaceprop "default"

$contents "solid"

...

Are these files from a game I could look at? This is different from any VDF files I'm used to seeing where it's entirely based around key-value pairs :sweat_smile:

Valve Wiki It's used for compiling models via blender, autodesk, etc. Here's the full example.

Sorry for taking so long to get back. It took a little while for me to dig through things and I've been busy with holidays preparations

From what I can tell the format you listed is in KeyValues2 while this library only supports KeyValues
I mistakenly thought that VDF v1 and v2 was called KeyValues, but I now see that KeyValues2 and KeyValues3 are very distinct from KeyValues. I've updated all the READMEs to reflect that this only supports KeyValues

Thank you, do you have any plans to add KeyValues2 and KeyValues3?

Not at the moment. I've still got a lot of work I'm planning on doing to clean up the existing KeyValues impl along with adding support for the KeyValues binary format. I don't think I could take up even more work with the expectation that it would be finished anytime remotely soon
From what I can tell it looks like KeyValues2 is at least mostly forwards compatible, so it's possible that the parser could be reused, but rendering it back out to text would likely need significant changes
KeyValues3 is incredibly different, but I've also never seen it get used in practice


Add an Invariant check that a deleted account has no traceable objects left on the ledger.

Summary
Add a new class to InvariantCheck.h/cpp that finds any deleted AccountRoots (there should only be one, of course) and attempts to read the directory root, and any other objects that can be accessed directly (e.g. the SignerList, NFT page... that might be all of them).
Motivation
The first version of AMM (#4294) support merged to develop did not delete the AMM AccountRoot correctly. Fortunately, this was discovered and reported, and a fix is in progress (#4626). During the review of the second PR, it occurred to me that this issue would have been avoided if there was an invariant to verify if a deleted account has no "artifacts" left on the ledger. (https://github.com/XRPLF/rippled/pull/4626#discussion_r1279692699)
Solution
Create a new invariant class (possible name CompletelyDeletedAccount). Use the visitEntry function to build a vector of deleted AccountRoots (There should only be one, but that's checked by the existing AccountRootsNotDeleted class). Use the finalize function to attempt to read any directly accessible objects from the view. "Directly accessible" in this case means any object that can be addressed (via a Keylet) using only the sfAccountID. That includes, but is not necessarily limited to:

Keylet ownerDir(AccountID const& id) noexcept;
Keylet signers(AccountID const& account) noexcept;
Keylet nftpage_min(AccountID const& owner);
Keylet nftpage_max(AccountID const& owner);

Edit: And don't forget to check the for an AMM object if AMMID is populated.

After the proposed invariant check has been added, what would occur if a transaction attempts to violate the invariant?

After the proposed invariant check has been added, what would occur if a transaction attempts to violate the invariant?

It would get a tecINVARIANT_FAILED result, doing nothing but claim a fee, which would raise alarm bells all over the place. https://github.com/XRPLF/rippled/blob/develop/src/ripple/app/tx/impl/Transactor.cpp#L923-L949

tecINVARIANT_FAILED makes sense. Could you be more specific about the alarm bells? I'm not sure where those are implemented, and where exactly they show up. I think we may want to add some alerting, at minimum for us internally, but potentially for the broader community as well.

Note to self: rewrite the NFT page lookups to use succ. See also: RPC::getAccountObjects.