typos in sql invoked not returning error code to task scheduler

I hesitate because my idea is a try in header and a catch in footer. This will make running the header and footer individually impossible.

Works!


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter ebus for common errors and appropiate suggestions to keep this adapter up to date.
Please see the result of the check below.
ioBroker.ebus
   -

:thumbsup: No errors found
WARNINGS:

[ ] :eyes: [W044] dependency should not require a specific version. Use "~1.2.3" or "^1.2.3" syntax. Please update "flat:5.0.2"
[ ] :eyes: [W044] dependency should not require a specific version. Use "~1.2.3" or "^1.2.3" syntax. Please update "promise-socket:7.0.0"
[ ] :eyes: [W162] js-controller 5.0.0 listed as dependency but 5.0.19 is recommended. Please consider updating dependency at io-package.json.
[ ] :eyes: [W184] "common.materialize" is deprecated for admin >= 5 at io-package.json. Please use property "adminUI".
[ ] :eyes: [W519] Consider adding plugin "@alcalzone/release-script-plugin-manual-review".
[ ] :eyes: [W521] "gulp" found at devDependencies at package.json but no "gulpfile.js" found. Is this dependency really required?
[ ] :eyes: [W522] Please consider migrating to admin 5 UI (jsonConfig).
[ ] :eyes: [W853] .npmignore found - consider using package.json object "files" instead.

Please review issues reported and consider fixing them as soon as appropiate.
Warnings reported by repository checker should be reviewed. While some warnings can be considered as a suggestion and be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence

This issue has been replaced by new isse #362
This issue can be closed.
your
ioBroker Check and Service Bot


Update Dagger to 2.3

No changelog though, here is diff between 2.2 and 2.3.

:+1: @artem-zinnatullin have you used the new @Resuable yet and got any experience / gotchas with it?

https://github.com/google/dagger/issues/356

Ah, yeah they have problems with different Guava versions across dependencies. Let's wait for resolution then, not sure I want to specify guava explicitly for apt. Thanks @jbaginski
@vanniktech haven't use @Reusable yet

@Reusable looks cool: http://google.github.io/dagger/users-guide.html#reusable-scope but I don't think @artem-zinnatullin will like it 😄

Btw, after Dagger 2.2 do we need these dependencies any more:
    compile libraries.javaxInject
    compile libraries.javaxAnnotationApi

Closing in favor of #166.


Email RegEx Seeks TLD

With original regex, jeff@j is considered valid.  With new regex, jeff@j is null but<EMAIL_ADDRESS>is valid.

Thanks but jeff@j is technically a valid email address. You can have admin@localhost for example. Plus HTML5 form validation allows email addresses without dots.


How do you send information to a user regularly？

SendMsgAsync(string msg, string toUserName)
How to get "toUserName"？
How to add a thread to your program?
Thank you very much.

See demo
https://github.com/leestar54/WebWeChatAPI.Net/blob/master/Test/Program.cs
https://github.com/leestar54/WebWeChatAPI.Net/blob/master/Modal/User.cs
GetContactComplete Event can get your Contact List, Contact model inherit from User model, you can use username property to replace toUserName filed

it works,thank you.
user.Uin=0?

Yes, the Uin in the contact list item is 0, the Uin property only used in webwxinit method, it will return your user information and the Uin is your unique number, you can use it to distinguish between login users


fix minor description typo in UNETR tutorial

Signed-off-by: ahatamizadeh<EMAIL_ADDRESS>Fixes #273
Description
This PR fixes fix a minor description typo in UNETR tutorial.
Status
Ready
Checks

[x] Notebook runs automatically ./runner [-p <regex_pattern>]

Hi @Nic-Ma
I created another PR to avoid the code conflict. Hopefully, this should be fine. But please let me know if there are still conflicts. Thanks again for reviewing this PR.


Exclude test files from type checking during app build

https://github.com/Realytics/fork-ts-checker-webpack-plugin/pull/179

This should be remedied by v0.4.14 which will be published as soon as Travis does the biz here

Published!


feat: better error messaging

Use the full errors from RPC client if error object exists

This addition got removed when the memoisation PR went on top of it.
https://github.com/EthWorks/useDApp/pull/285


http server is not started on 10.11

Dear.
Thank you for reading my issue.
I have launched http server on Mac OS using your library.
Your library is working well on Mac OS 10.13.
but when I run http server on Mac OS 10.11, server is not running and
show bindFailed("Permission denied")
I attached screenshot for my issue.
https://prnt.sc/q0dsx0
I thank if you tell me how to resolve this issue.
Thanks&Regards.

Try this:
Signing & Cababilities > App Sandbox

Check "Incoming Connections (Server)"


Validate JSON files using jq

We should validate all PRs using jq or a similar tool with Travis. This prevents the store from breaking when the JSON is merged but invalid.

Derek assign: me

@ivanayov I've enabled Travis on this repo, so please add the build status icon when you're done with the .travis.yml too.


download Instagram photos with captions and comments using a .csv file with URLs

Describe the bug
I'm trying to download Instagram images with captions using a .csv file with URLs to images. The code I am trying to use does not seem to be correct and gives a syntax error:
SyntaxError: invalid syntax
To Reproduce
Two code that I tried:
instaloader --post --gender-detection-keras-master/detect_gender_url_final.py -i recalculatedejuice.csv
The .py file contains the code, including url in enumerate to download the images using the URLs in the .csv
Expected behavior
Expect all images with captions to be downloaded as per my .csv file
Error messages and tracebacks
If applicable, add error messages and tracebacks to help explain your problem.
Instaloader version
instaloader --version output.
File "", line 1
instaloader --post --gender-detection-keras-master/detect_gender_url_final.py -i recalculatedejuice.csv
^
SyntaxError: invalid syntax
Additional context
installed pip-19.1.1

Your invocation does not make any sense at all. There is no -i flag, there is no support for reading csv files, and you cannot pass other python scripts as argument to Instaloader. Please read our documentation to see how Instaloader is invocated.


ensure list of tenants ordered by name for tests

Summary
This PR fixes the intermittent test errors for test_tenants_and_users. The ordering of tenants is now sorted by name in the test before assertions are made and users created for tenants.
Details
The FrontEgg endpoint https://api.frontegg.com/tenants/resources/tenants/v1 returns the list of tenants ordered by tenantId. The list of tenants would sometimes return an ordering like the below:
[
  {
    "tenantId": "axxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "test tenant 2",
    "id": "7xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "createdAt": "2023-02-17T20:48:59.673Z"
  },
  {
    "tenantId": "bxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "test tenant 1",
    "id": "2xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "createdAt": "2023-02-17T20:48:59.486Z"
  }
]

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

I pushed up fixes for my code review suggestions. Will merge on green!


Update Modal refs from stub to app

Modal renamed the Stub class to App, updating the docs accordingly.

Good find, thank you !


[communication-chat] Update communicatino-common sdk version bump

Packages impacted by this PR

Updated to @azure/communication-common 3.0.0-beta.1

Issues associated with this PR
Describe the problem that is addressed by this PR
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-communication-chat


fix integer value

small fix

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Refactor the queries API and implement new query type "near"

In this PR:

Refactor the queries API to do data validation and preprocessing using odmantic: it is now cleaner and more concise (-400 lines of code).

Assemble the relevant handlers into a class.
Ditch the ability to save queries to db and execute them in the background: no one has used this capability for about a year.

Implement a new query type near that returns the nearest object(s), sorted by angular distance, in a catalog from a given position. Here's an example query that returns 3 nearest objects in the milliquas_v6 catalog within 10 degrees from R.A./Decl. =<PHONE_NUMBER>, 59.8409095):

{
    "query_type": "near",
    "query": {
        "max_distance": 10,
        "distance_units": "deg",
        "radec": {
            "ZTF20aahgyet": [
<PHONE_NUMBER>,
                59.8409095
            ]
        },
        "catalogs": {
            "milliquas_v6": {
                "filter": {},
                "projection": {
                    "_id": 1,
                    "RA": 1,
                    "DEC": 1
                }
            }
        }
    },
    "kwargs": {
        "limit": 3
    }
}

Thanks for a quick merge @stefanv, but I haven't finished populating missing docstrings :)
Will file another PR.

This will test your resolve for doing so :)


Should it be possible for the user to define their own None/Null/Empty?

In numerical calculations users may want to use 0 or 0.0 instead of None. In strings users may want a different value, f.x. "" as None.
What are the pro/con for implementing a custom None value?
users can/could just update the table instead:
sometable['column_x'] = [x = "" for x in sometable['column_x'] if x is None]  # *strings*
sometable['column_x'] = [x = 0.0 for x in sometable['column_x'] if x is None]  # *floats*.
sometable['column_x'] = [x = 0 for x in sometable['column_x'] if x is None]  # *integers*.

...?

Overdue. No responses.


Unfurl module edits original issue content as well

Unfurl module edits original issue content as well when comment added

It seems server environmental problem.
keeping eye on it.

changed forever module to screen module


Export-ConsumptionToBlobStorage fails with 422 WebDirect not supported

🐛 Problem
Certain Workbooks such as Benefits Usage complain with the error:
'where' operator: Failed to resolve table or column expression named 'AzureOptimizationConsumptionV1_CL'...

I believe it is related to the Export-ConsumptionToBlobStorage job failing, which gives the following in the logs:
Error returned by the Generate Cost Details API. Status Code: 422. Message: {"error":{"code":"422","message":"Unsupported request. offer type: WebDirect for get detailed report request is not supported.Unsupported request. offer type: WebDirect for get detailed report request is not supported. (Request ID: b2e660eb-ac7c-44d8-a17c-366ca1671ede)"}}

👣 Repro steps

Go to https://learn.microsoft.com/en-us/rest/api/cost-management/generate-cost-details-report/create-operation?view=rest-cost-management-2023-11-01&tabs=HTTP#code-try-0
Enter scope /subscriptions/<your-sub-id> (for info, this is a sub with offer ID MS-AZR-0036P Azure Sponsorship)
Enter body:

{
  "metric": "AmortizedCost",
  "timePeriod": {
    "start": "2024-09-01",
    "end": "2024-09-15"
  }
}

Submit request and examine response (same as what is returned by manually starting the Runbook).

🤔 Expected
Expected the job to succeed, AzureOptimizationConsumptionV1_CL to exist and the related Workbooks to render successfully.
I suspect it is related to the type of subscription I have, not sure if there is a way around this?

Thank you for reporting this issue, @KashifSaadat.
As documented here, there is full support only for EA, MCA, or MSDN subscriptions. However, this does not mean that other subscription types are not compatible with the consumption exports runbook. We are always looking to expand AOE to new types of subscriptions.
Do you have a single subscription in your environment?
Can you check what is the Azure Offer and Offer ID for your subscription?

If you can't find the information above, you can also check your Azure Plan here:

Finally, can you please run the following query in Azure Resource Graph Explorer (Azure Portal) and share the (anonymized) results?
resourcecontainers
| where type == 'microsoft.resources/subscriptions'
| project subscription=name, subscriptionId, locationPlacement=properties.subscriptionPolicies.locationPlacementId, quotaId=properties.subscriptionPolicies.quotaId

Hi @helderpinto, thank you very much for the quick response!
I've deployed the workloads into a Subscription with type Azure Sponsorship and Offer ID MS-AZR-0036P, so I suspect that is the reason for this particular API call failing. We have multiple subscriptions as shown below:
"SUBSCRIPTION","SUBSCRIPTIONID","LOCATIONPLACEMENT","QUOTAID"
"Sub1","SUB-ID","Public_2014-09-01","MSDN_2014-09-01"
"Sub2","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub3","SUB-ID","Public_2014-09-01","MSDN_2014-09-01"
"Sub4","SUB-ID","Public_2014-09-01","MSDN_2014-09-01"
"Sub5","SUB-ID","Public_2014-09-01","MSDN_2014-09-01"
"Sub6","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub7","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub8","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub9","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub10","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub11","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub12","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub13","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub14","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub15","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub16","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub17","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"
"Sub18","SUB-ID","Public_2014-09-01","Sponsored_2016-01-01"

Would I need to deploy the stack into a Subscription with the correct agreement type, e.g. Sub1?

Hi, @KashifSaadat.
Among the list above, only subscriptions with quota ID MSDN_2014-09-01 are currently supported. So, yes, normally, you should have deployed AOE into one of those subscriptions and grant the Reader role to the AOE managed identity only in the other supported subscriptions as well.
However, if you don't mind, I would like to give a try to a work-around that we never had the chance to test. Around lines 628-629 of the runbook, you find the following instructions:
$CostDetailsSupportedQuotaIDs = @('EnterpriseAgreement_2014-09-01','Internal_2014-09-01','CSP_2015-05-01')
$ConsumptionSupportedQuotaIDs = @('PayAsYouGo_2014-09-01','MSDN_2014-09-01')

Can you try adding Sponsored_2016-01-01 to the list of $ConsumptionSupportedQuotaIDs and manually run the runbook (no parameters input needed)? Like this:
$ConsumptionSupportedQuotaIDs = @('PayAsYouGo_2014-09-01','MSDN_2014-09-01','Sponsored_2016-01-01')

Hi @helderpinto,
I've given this a run with the change you've suggested. It allowed the runbook to complete successfully, however I noted the following in the logs output for each subscription: Generated 0 entries... (all CSV outputs it mention say a Length of 0 also).
So it looks like although it ran and generated CSVs to upload, none of them have any data (validated this by checking the files in the consumptionexports container).

Unfortunately, @KashifSaadat, it seems the APIs that are being used do not support Sponsorship subscriptions, as it is also documented here. Therefore, you'll have to redeploy AOE in a supported subscription (MSDN).

Ah no worries, thanks for the info. I'll redeploy it in an MSDN subscription. 👍


Could you share the md5 value for those checkpoints?

Hello, Thank you for sharing the YaLM-100B checkpoints.
I am downloading those checkpoints, in order to make sure the files I have downloaded in good, can you share the md5sum value for those checkpoint files?

OK， thanks!


Fix lazy decoding of frequencies in BlockImpactsDocsEnum.

The code was written as if frequencies should be lazily decoding, except that when refilling buffers freqs were getting eagerly decoded instead of lazily.

Results on wikibigall:
                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                 CountOrHighHigh       58.65     (15.7%)       57.03     (14.9%)   -2.8% ( -28% -   33%) 0.570
                  CountOrHighMed       91.10     (15.7%)       88.61     (14.9%)   -2.7% ( -28% -   33%) 0.573
                     CountPhrase        3.59     (12.4%)        3.52     (10.0%)   -1.9% ( -21% -   23%) 0.591
                         Prefix3      223.37      (3.8%)      220.52      (2.8%)   -1.3% (  -7% -    5%) 0.221
                       MedPhrase       23.18      (4.8%)       22.89      (2.8%)   -1.3% (  -8% -    6%) 0.312
                      HighPhrase       74.30      (5.2%)       73.39      (3.8%)   -1.2% (  -9% -    8%) 0.395
                       LowPhrase       49.93      (4.0%)       49.44      (2.9%)   -1.0% (  -7% -    6%) 0.372
               HighTermMonthSort     5321.09      (3.8%)     5284.52      (4.0%)   -0.7% (  -8% -    7%) 0.576
                CountAndHighHigh       41.05      (4.4%)       40.88      (3.3%)   -0.4% (  -7% -    7%) 0.741
                 CountAndHighMed      123.48      (3.9%)      123.17      (3.2%)   -0.3% (  -7% -    7%) 0.822
           HighTermDayOfYearSort      209.14      (2.3%)      208.73      (1.3%)   -0.2% (  -3% -    3%) 0.741
                         Respell       97.13      (1.6%)       97.09      (1.7%)   -0.0% (  -3% -    3%) 0.950
                        Wildcard       79.82      (3.8%)       79.90      (3.3%)    0.1% (  -6% -    7%) 0.927
                       CountTerm    17367.55      (6.4%)    17399.19      (5.4%)    0.2% ( -10% -   12%) 0.922
                          Fuzzy2       92.55      (1.5%)       92.80      (1.6%)    0.3% (  -2% -    3%) 0.573
                          Fuzzy1      135.19      (1.4%)      135.61      (1.7%)    0.3% (  -2% -    3%) 0.532
                        PKLookup      226.80      (2.1%)      228.05      (1.8%)    0.6% (  -3% -    4%) 0.372
                      OrHighHigh       63.37      (6.2%)       64.29      (7.7%)    1.5% ( -11% -   16%) 0.511
                          IntNRQ      137.84     (20.5%)      140.16     (20.6%)    1.7% ( -32% -   53%) 0.795
                     AndHighHigh       55.84      (3.4%)       57.03      (4.9%)    2.1% (  -6% -   10%) 0.113
                         LowTerm      846.47      (5.4%)      865.92      (7.2%)    2.3% (  -9% -   15%) 0.252
                        HighTerm      338.68      (5.3%)      347.00      (9.0%)    2.5% ( -11% -   17%) 0.294
                         MedTerm      443.60      (4.9%)      454.62      (8.3%)    2.5% ( -10% -   16%) 0.252
                      AndHighMed      125.73      (2.9%)      129.22      (4.0%)    2.8% (  -3% -    9%) 0.012
                       OrHighLow      553.99      (3.7%)      576.92      (3.9%)    4.1% (  -3% -   12%) 0.001
                       OrHighMed      165.18      (4.2%)      172.30      (6.0%)    4.3% (  -5% -   15%) 0.009
                      AndHighLow      801.37      (3.0%)      848.58      (3.7%)    5.9% (   0% -   12%) 0.000

AndHighMed, OrHighLow, OrHighMed, AndHighLow all have a noticeable speedup and a very low p-value, so the speedup is real. Queries that show a small slowdown have a high p-value, suggesting that the slowdown is noise.

For reference this is extracted from #12664.

Even though the speedup is less pronounced than in the above luceneutil run, there seems to be an actual speedup in nightly benchmarks for boolean queries. E.g. the last 3 data points of AndHighMed are the highest throughput numbers ever recorded (though they're not much faster than on the previous days). I pushed an annotation that should show up tomorrow.


[webview_flutter] The default HybridComposition mode does not work

It should be using HybridComposition instead of TLHC

Code sample

import 'dart:io';

import 'package:flutter/material.dart';

import 'package:webview_flutter/webview_flutter.dart';

class SimpleWebView extends StatefulWidget {
  @override
  SimpleWebViewState createState() => SimpleWebViewState();
}

class SimpleWebViewState extends State<SimpleWebView> {
  @override
  void initState() {
    super.initState();
    // Enable virtual display.
    // if (Platform.isAndroid) WebView.platform = AndroidWebView();
  }

  @override
  Widget build(BuildContext context) {
    return WebView(
      initialUrl: 'https://flutter.dev',
    );
  }
}

flutter doctor -v

[✓] Flutter (Channel stable, 3.3.5, on macOS 12.6 21G115 darwin-x64, locale zh-Hans-CN)
    • Flutter version 3.3.5 on channel stable at /Users/zero/fvm/versions/3.3.5
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d9111f6402 (32 hours ago), 2022-10-19 12:27:13 -0700
    • Engine revision 3ad69d7be3
    • Dart version 2.18.2
    • DevTools version 2.15.0
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

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

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

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

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

[✓] Connected device (2 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64 • Android 12 (API 31) (emulator)
    • macOS (desktop)              • macos         • darwin-x64  • macOS 12.6 21G115 darwin-x64

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

• No issues found!

Duplicate of https://github.com/flutter/flutter/issues/108106.


Use Vue for serverside rendering

Don't get this point ...

Nuxt requires Node v8+, so that'll be my first step now.


Fix/room

Issue
resolves #85

@sethshivam11 Please review!!

@Sid-80 Already replied to you in issue #85


Multiple user accounts

Hi,
I’m building a react-native application for Wekan using react-native-meteor, and so far the experience has been very pleasant with this package, so thank you for creating and maintaining it :)
On this application I’d like users to be able to register using multiple accounts (like in the Twitter application for instance), and these accounts would potentially be attached to different DDP servers (Wekan is an application you can self-host). I think this is pretty easy to implement, it’s just a matter of keeping the different identities (token_key + DDP server URL) in a list persisted using the AsyncStorage API, and then using Meteor.disconnect and Meteor.connect + Meteor.loginWithPassword  with the new credentials to switch identities.
I wonder if you’re willing to support this use case directly in this library (I can work on a PR), or if you think it should be a distinct package on top of it.

Hi,
Thanks for your feedback !
I try to fit to the Meteor specs, so I think this should be a distinct package on top of it !
If you do so, please tell me so that I add your package to react-native-meteor readme ;)


Update admin-regen-nswag-api.ps1

Fixes the error saying 'can't read keys'

What is the exact error your getting? And in which environment (os, ...)?
If I understand it right, this will only work with the [enter] key now... not with "any" key (which is what the text before it - the write-host commands - tells you)?
Surely there must be a "cross platform" way for waiting for "any" key in powershell?

Ok, I see what's happening. I was running it with another tool. My bad


Search page shows broken image before anything is searched

This is only relevant once the image-handling branch is merged

Accidentally fixed in 2f1b216275f6f477b416aaf34b983a0265c2341e when reorganizing movies.py and search html pages


MNK rotation fixes

i skipped over one part of the balance guide's explanation of the braindead looping rotation, and as a result the current version of the MNK rotation is offset from the correct version by one GCD, which causes you to miss out on brotherhood's 5% damage buff for the first Rising Phoenix in your even buff window. this isn't a huge deal but it is suboptimal.
this PR also fixes a mostly cosmetic issue with the positionals predictor. it wouldn't affect True North usage since the positional is only wrong for a brief period during GCD animation lock when you can't use True North anyway, but it is really annoying

Optimal drift turned out to not be that hard to implement compared to trying to fix braindead, so I'm just going to open a PR for that


[ENG-3676] Remove spammed content from Google indexing

Purpose
Popular pages on OSF have tended to be spam, even pages that have already been closed/confirmed spam.  They remain indexed on Google, thus discoverable. For content confirmed spam, remove Google indexing.  For spammed content that is then confirmed ham, return Google indexing.
Changes

when a node is not pubic we will add a tag to urge google to remove it from their index.

QA Notes
Please make verification statements inspired by your code and what your code touches.

Verify
Verify

What are the areas of risk?
Any concerns/considerations/questions that development raised?
Documentation

Side Effects

Ticket
https://openscience.atlassian.net/browse/ENG-3676

looking at this again... adding the noindex tag won't do anything until robot sees it -- how about including recently-deleted content in the sitemap to prompt a prompt re-crawl?

@aaxelb Yeah definitely agree with you after discussing this more. I'll look into the sitemap.


Confirm overlay

Hi,
It would be nice to have an overlay when the Confirm or Prompt notification is shown so no any other action can be performed.
Do you think you can add that maybe as a param?

Hi! I'll try to implement this as soon as possible)

Thank you!


Uncaught Error: The index is locked. This might be due to a concurrent or crashed process

[Enter steps to reproduce below:]

...
...

Atom Version: 1.0.11
System: Mac OS X 10.10.4
Thrown From: ever-notedown package, v0.2.11
Stack Trace
Uncaught Error: The index is locked. This might be due to a concurrent or crashed process
At /Users/MironencoMircea/.atom/packages/ever-notedown/lib/storage-manager.coffee:294

Error: The index is locked. This might be due to a concurrent or crashed process
    at Error (native)
    at Function.exports.StorageManager.StorageManager.addAppleScripts (/Users/MironencoMircea/.atom/packages/ever-notedown/lib/storage-manager.coffee:294:18)
    at StorageManager.exports.StorageManager.StorageManager.addNote (/Users/MironencoMircea/.atom/packages/ever-notedown/lib/storage-manager.coffee:448:36)
    at /Users/MironencoMircea/.atom/packages/ever-notedown/lib/evernote-helper.coffee:786:52
    at /Users/MironencoMircea/.atom/packages/ever-notedown/lib/evernote-helper.coffee:999:20
    at ChildProcess.exithandler (child_process.js:720:7)
    at emitTwo (events.js:87:13)
    at ChildProcess.emit (events.js:169:7)
    at maybeClose (child_process.js:997:16)
    at Socket.<anonymous> (child_process.js:1166:11)

Commands
     -0:48.8.0 ever-notedown:import-note-from-evernote (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)
     -0:44.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)

Config
{
  "core": {},
  "ever-notedown": {
    "liveUpdate": false
  }
}

Installed Packages
# User
ever-notedown, v0.2.11

# Dev
No dev packages

Hello,
I have this bug. Do you know how I can solve it ?
Thanks

I  also get the problem ,do you know how to slove it?
thanks


Measuring Quantitative Spatial Reasoning with the Q-Spatial Bench🔥

[🔗 Homepage] [🤗 Huggingface Dataset] [📝 ArXiv Paper]
Introduction
Despite recent advances demonstrating vision-language models' (VLMs) abilities to describe complex relationships in images using natural language, their capability to quantitatively reason about object sizes and distances remains underexplored. In this work, we introduce a manually annotated benchmark, Q-Spatial Bench, with 271 questions across five categories designed for quantitative spatial reasoning and systematically investigate the performance of state-of-the-art VLMs on this task.
Evaluation
# Q-Spatial Bench (split: Q-Spatial ++)
torchrun --nproc-per-node=1  run.py --data QSpatial_plus --model your_model --verbose --judge gpt-4o

# Q-Spatial Bench (split: Q-Spatial ScanNet)
# Q-Spatial ScanNet requires users to get the permission from ScanNet and download using the provided helper script
torchrun --nproc-per-node=1  run.py --data QSpatial_scannet --model your_model --verbose --judge gpt-4o

Hi, @andrewliao11 ,
Can you provide some reference performance numbers? When I try evaluate GPT-4o-2024-08-06 w. this code, GPT-4o keeps output I'm unable to provide precise measurements from a 2D image. However, XXXXXXXXX. For an accurate measurement, a physical measurement would be necessary., and the performance number I got is close to 0.

Hey thanks for the quick reply!
I changed the default prompt scheme and here are the performance numbers and associated commands:

Performance table

Q-Spatial-ScanNet

Q-Spatial++

GPT4o
GPT4o_MINI
Llama-3.2-11B-Vision-Instruct
GPT4o
GPT4o_MINI
Llama-3.2-11B-Vision-Instruct

Acc ($delta_2$)
35.29
32.35
30.5
61.3
42.57
38.61

Commands

python run.py --data {QSpatial_plus, QSpatial_scannet} --model {GPT4o, GPT4o_MINI, Llama-3.2-11B-Vision-Instruct} --mode all --judge gpt-4o-mini --work-dir vlmevalkit_qspatial/{qspatial_plus, qspatial_scannet}

Hi, @andrewliao11 ,
I still encountered some issues with the latest codes:

When evaluating QSpatial_scannet, it says:

I can successfully evaluate QSpatial_plus. However, the results do not align with the numbers you reported:
Acc (delta2):
GPT4o_20240809: 55.4
GPT4o_MINI: 21.8
Llama-3.2-11B: 0

Would you please double check if the codes in this PR can reproduce the result and provide the evaluation records to me?

Hi, @andrewliao11 , I still encountered some issues with the latest codes:

When evaluating QSpatial_scannet, it says:

I can successfully evaluate QSpatial_plus. However, the results do not align with the numbers you reported:
Acc (delta2):
GPT4o_20240809: 55.4
GPT4o_MINI: 21.8
Llama-3.2-11B: 0

Would you please double check if the codes in this PR can reproduce the result and provide the evaluation records to me?

Hi, @andrewliao11 ,
If there is no further comments, I'm going to firstly merge this PR. You can raise issues or create another PR if there needs some updates.


Catalog Entries really need some more metadata like a Category

Catalog Entries really need some more metadata like a Category: New, Updated, Depricated etc so I can quickly tell what changed or got introduced

With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.


What is a good local model for generating Embeddings?

I am using Mistral 7B Instruct v0.2 with LlamaSharp embeddings but it seems to be failing to match with items in this list. Is there an issue with Cosine Matches with this model? Is there another local model that works better?
https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/KernelSyntaxExamples/Example15_TextMemoryPlugin.cs
       SemanticTextMemory textMemory = new(memoryStore, embeddingGenerator);

        Console.WriteLine("== PART 1a: Saving Memories through the ISemanticTextMemory object ==");

        await textMemory.SaveInformationAsync(MemoryCollectionName, id: "info1", text: "My name is Andrea", cancellationToken: cancellationToken);
        await textMemory.SaveInformationAsync(MemoryCollectionName, id: "info2", text: "I work as a tourist operator", cancellationToken: cancellationToken);
        await textMemory.SaveInformationAsync(MemoryCollectionName, id: "info3", text: "I've been living in Seattle since 2005", cancellationToken: cancellationToken);
        await textMemory.SaveInformationAsync(MemoryCollectionName, id: "info4", text: "I visited France and Italy five times since 2015", cancellationToken: cancellationToken);

         await foreach (var answer in textMemory.SearchAsync(
            collection: MemoryCollectionName,
            query: "where did I grow up?",
            limit: 2,
            minRelevanceScore: 0.79,
            withEmbeddings: true,
            cancellationToken: cancellationToken))
        {
            Console.WriteLine($"Answer: {answer.Metadata.Text}");
        }

Expected Answer:  "My family is from New York","I\u0027ve been living in Seattle since 2005"
Actual Answer: [No Match]
Thanks,
Ash

Maybe I'm misunderstanding something, but "new york" doesn't seem to be mentioned anywhere in the saved information?

Good catch Martin. I missed one text addition, "my family is from New York"

I tried to use https://huggingface.co/intfloat/e5-mistral-7b-instruct but ran into conversion errors.
https://github.com/ggerganov/llama.cpp/discussions/4786

Did adding that extra text resolve the initial issue?

No. The non instruct Mistral 7B v0.1 gave me slightly better matches (0.31 relevance scores) compared to the Mistral 7B Instruct v0.2 (0.2 relevance scores).
Reading stuff on this issue elsewhere, it looks like the way to go is to use a model specifically designed for embedding but I could not find a GGUF version of an embedding model and when I tried to convert it them (the top ones from the MTEB space), they failed with model architecture not supported.
If anyone has a GGUF version of a model that works well for embedding, would appreciate if you point me to it.
Thanks,
Ash

In that case I'd recommend opening a discussion on the main llama.cpp repo, you'll probably get a better response over there (just because it's a bigger repo, with more people who can answer your question).

I opened one yesterday https://github.com/ggerganov/llama.cpp/discussions/4786
Hopefully, someone will respond.

I was thinking a more general discussion asking for embedding model recommendations.

Will do

Did some more research and I found that lama.cpp does not support embedding models as of now.
This project does https://github.com/xyzhang626/embeddings.cpp
I will try it out tomorrow.


Assistants API support

Issue: #5
Adds support for OpenAI's Assistants API

Ignore files related to the console app.

Added OpenAIAssistantModel which takes in an assistantId and threadId
Created @samples/assistant. I'll most probably make major changes to it.

OpenAIAssistantModel
Features

[x] text user input
[x] function calling
[x] streaming

Non-Features

non-text user input (image)
file download
parsing message annotations (from file_search or code_interpretor tool)

@samples/assistant
The goal is to keep it generic yet demonstrate all features possible.

Added function calling support:


Changes for Dynamic Model Loading

Proposed change(s)
Enabled Dynamic Model Loading through:

Loading URDFs from general TextReader instead of only from file paths
resolving package paths in catkin workspace and ros dir
minor runtime fixes like collada(.dae) collision mesh support

Types of change(s)

[x] New feature

Testing and Verification
Local manual test with Rosnav-Unity

Looks good!

Good job!


[UNR-5209] RPC Container Test Flakes on Windows and Mac

Description
For now, added some waiting for the error to appear.
Release note
Not needed.
Tests
How did you test these changes prior to submitting this pull request?
What automated tests are included in this PR?
STRONGLY SUGGESTED: How can this be verified by QA?
Documentation
Not needed.

Do we want to add CoreRedirects for the renamed variables, or port these properties in another way?

Not sure what those are ^^'


Unable to parse CakePHP error output (HTML)

I have some automated test systems that have to interface with PHP and basically I have been using xml2js to try to handle the output made with the default PHP error message templates.
For example I recently became really frustrated by the fact that I have to copy out the URL request and run it in a browser manually in order to actually view the content of the error emitted by PHP.
It turns out that while some of the structure of this HTML is captured, most of the content of the information is stripped out for some reason.
I understand that this type of output (it tends to contain lots of pre's with lots of code inside, and considering that this is PHP it may well have some HTML inside of THAT as well (though not in my particular use case)) is really bad, but I think I can still expect a decent XML parser to handle it.
So I'm not really looking for a fix or anything, I'm just curious if anyone else has tried something similar and has some tips.
Here is an example (that e.g. pastebin's HTML syntax highlighter has no problem parsing). For starters, in this example, in the output some simple  tags are just taken out, nowhere to be found. So
[APP/Controller/Controller.php, line 1193]

turns into [, line ]

Is your input well formed XML?

It is close to being well-formed. running tidy on it fixes a few small items, this is what it had to say:
$ tidy deleteme > deletemetidy
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: missing
 before

line 96 column 48 - Warning: inserting implicit

line 97 column 1 - Warning: missing
 before

line 1188 column 48 - Warning: inserting implicit

line 1 column 1 - Warning: <!DOCTYPE> isn't allowed after elements
line 1191 column 1 - Warning: discarding unexpected
line 1 column 1 - Warning:  isn't allowed in  elements
line 1 column 1 - Warning: <meta> isn't allowed in  elements
line 1 column 1 - Warning: <title> isn't allowed in  elements
line 1 column 1 - Warning: <link> isn't allowed in  elements
line 1 column 1 - Warning:  isn't allowed in  elements
line 1199 column 1 - Warning: discarding unexpected
line 1203 column 65 - Warning:
 element not empty or not closed
line 1206 column 76 - Warning:
 element not empty or not closed
line 1 column 1 - Warning: content occurs after end of body
line 96 column 48 - Warning: trimming empty

line 1188 column 48 - Warning: trimming empty

Info: Doctype given is "-//W3C//DTD XHTML 1.0 Transitional//EN"
Info: Document content looks like XHTML 1.0 Transitional
18 warnings, 0 errors were found!

To learn more about HTML Tidy see http://tidy.sourceforge.net
Please send bug reports to<EMAIL_ADDRESS>HTML and CSS specifications are available from http://www.w3.org/
Lobby your company to join W3C, see http://www.w3.org/Consortium

When I send the result of feeding my input through html-tidy into the w3.org xml validator it passes (This document was successfully checked as XHTML 1.0 Transitional), the output from xml2js is acceptable for this.
I think there is no real issue or problem here, essentially xml2js isn't meant to be as resilient to crappy input as a browser is.

I think there is no real issue or problem here, essentially xml2js isn't meant to be as resilient to crappy input as a browser is.

Well, xml2js parses XML, whereas a browser tries its best to parse HTML, which is much more lenient than XML, so you are comparing apples to oranges. xml2js should be able to parse XHTML just fine, since it is XML and should also work on the XML serialization of HTML5. Beyond that, it will probably barf and is definitely not the right tool for the task.


builtin transitions count

I wish to know how many transitions happened up until the current configuration. Does K have a builtin count for that? Or do I have to make my own count and make every transition rule increment it? Will that work correctly?

I just made every transition rule increment my count; It is working correctly. Should I keep it this way or is there a cleaner way to do it using a builtin?

That's the cleanest way to do this. One reason against trying to add a builtin like that is that more complicated uses of K like running --search on a nondeterministic language want to identify states which can be reached along multiple execution paths, even if the paths take a different number of states to arrive. Also, more serious uses of step counting might want to assign a different cost to different rules - it's entirely reasonable to add system support for that, but it would be a bit less one-size-fits-all than a builtin that just counts the number of applied steps.


convert mariadb-db to postrgesql

closed with https://github.com/acdh-oeaw/labasi/commit/fbdabd71e6e826d02b55a59e8740eb8a43a06501
(also I migrated the db itself)


⚠ Samsung has degraded performance

In 773d2f6, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2454 ms

Resolved: Samsung performance has improved in 269f3f6.


Fix storybook scroll-to links

All our scroll-to links (...) are loading the whole page (incl. manager) again inside of the preview panel:

Fixed in #2529


wsk auth list has wrong table width

wsk auth list shows a full-width table, which doesn't seem right.

also worth noting that this is a regression from recent table refactoring, rather than UI update.


Add ability to generate custom transforms

By introducing a customTransforms (or just transforms?) option which would let you control the full value of the transform property. Maybe the none value could be part of it by default?

this kinda thing?!
{
 'my-new-jumper': 'translate3d(50%, 100%, 0) rotate(10deg)'
}

Yeah! Do you think that would be useful to add, or not since it's already super easy to create custom utilities in Tailwind?

Done in ffa695e38829a1264100296f1184c43c6a0ec6dd


how to keep SourceArray and ys synchronized?

Hi
In fact, I use below method to achieve growing data display.
// initial
ScottPlot.PlottableSignal my_plt;
System.Random my_rand = new Random();
List<double> data_growing = new List<double>();
private void formsPlot1_Load(object sender, EventArgs e)
{
    this.data_growing = ScottPlot.DataGen.Random(my_rand, 10).ToList();
    this.my_plt = this.formsPlot1.plt.PlotSignal(data_growing.ToArray());
    this.formsPlot1.Render();
}

// growing
private void button1_Click(object sender, EventArgs e)
{
    data_growing.AddRange(ScottPlot.DataGen.Random(my_rand, 5).ToList());
    this.my_plt.ys = this.data_growing.ToArray();
    this.my_plt.maxRenderIndex = this.my_plt.ys.Length - 1;
    this.formsPlot1.plt.AxisAuto();
    this.formsPlot1.Render();
}

But I encountered a problem when I updated from 4.0.39 to 4.0.40. It will report the error IndexOutOfRangeException.
Because the data array my_plt.ys is not synchronized with the array my_plt.minmaxSearchStrategy.SourceArray
Here's an example of what I'd like to do:
Maybe can modify the PlottableSignalBase.updateData program like this

public void updateData(T[] newData)
{
    //updateData(0, newData.Length, newData);
    this.ys = newData;
    this.maxRenderIndex = this.ys.Length - 1;
    this.minmaxSearchStrategy.SourceArray = newData;
}

Then I can update ys and SourceArray by updateData function at the same time.
private void button1_Click(object sender, EventArgs e)
{
    data_growing.AddRange(ScottPlot.DataGen.Random(my_rand, 5).ToList());
    //this.my_plt.ys = this.data_growing.ToArray();
    //this.my_plt.maxRenderIndex = this.my_plt.ys.Length - 1;
    this.my_plt.updateData(this.data_growing.ToArray()); // Replace the old method
    this.formsPlot1.plt.AxisAuto();
    this.formsPlot1.Render();
}

Hi @HowardWhile, thanks for reporting.
Yes, you're right, now we need keep in sync ys and minmaxSearchStrategy. SourseArray. I proceeded from the assumption that the user cannot change the source array itself after creating the plot, only update its elements. The growing data demo uses this approach, it is proposed to initially set a deliberately large array, write new data to clean areas and shift the render border maxRenderIndex. You are taking a slightly different approach, this poses potential problems, especially in multithreading. Your solution used to work, but now it doesn't, let's decide something.
It is nothing difficult to implement the synchronization of these arrays when updating the ys, the only problem is in choosing the appropriate API method for this. updateData you pointed came from SignalСonst (Signal does not really need it) and in fact it does not change the is array itself, but overwrites element by element with new data. If implemented as you suggested, it will create confusion in updateData behavior of Signal and SignalConst.
If we are going to allow modification of the original array, then we need to do it in a controlled way through the property:
private double[] _ys;
public double[] ys
{
  get => _ys;
  set
  {
   // new value check for null and another can be added
    _ys = value;
   minmaxSearchStrategy.SourceArray = value;
  }
}

This code should work, but due to its good properties it should be named with a capital letter  Ys, and this will already be the API breaking change.
Another option would be to extend Signal interface by adding 1 more method, something like ChangeSource(double[] newSource) with code you provided for updateData.
If we make a more radical decision and prohibit the user from changing the original ys array, then we can simply mark it readonly.
@HowardWhile sorry for the inconvenience, with nuget you can easily roll back to the previous version until the problem will be solved.
I'm ready to do one of the above, just wait until Scott (@swharden ) makes a decision as best.

Hi @HowardWhile, thanks for posting this issue! Thanks @StendProg for your input too.
Fixing the bug that happens if you replace ys
I recognize that replacing ys with another array breaks the minmaxSearchStrategy, but this topic is a bit advanced so I want to take some more time to consider it deeply before deciding how to proceed. The rest of this response will help you solve the problem now with the library you have.
Solution 1: clear and replot
Since you are creating a new array every time you add one data point, you could just plt.Clear() and plt.PlotSignal(newData) when the array changes.
Solution 2: plot a sub-portion of a large array
A better solution, like @StendProg suggested, is to create a large array one time, then fill its values as you get new data points and update maxRenderIndex accordingly. This is the method used by the "growing data" ScottPlot Demo application.

Those tips should help you get un-stuck for now, and I'll provide a more detailed response when I have some more time explore this topic further 👍

@StendProg

I proceeded from the assumption that the user cannot change the source array itself after creating the plot, only update its elements

What do you think if I make Ys in signal plots readonly? This would make it harder to use Signal plots incorrectly, and users would know to use the maxRenderIndex technique or clear/replot every time their array changes. This might be a good idea for all plots which accept arrays...
Implementing this would be a good time to go from 4.0 to 4.1

it should be named with a capital letter Ys, and this will already be the API breaking change.

I have been wanting to do this for a long time too. I think I can start using capitol public properties, and leave the old lowercase ones there (using get/set to point to the new ones) and mark them as obsolete. This way it will not be a breaking change.

Hi @swharden @StendProg
Thanks for your suggestions. I will follow Solution 2 and make some adjustments to my program to adapt to the new version.
I look forward to the next version and glad to see the outcome.

@HowardWhile I'm glad we arrived at a solution that works for you!
Good discussion remains about how to improve plottable properties (capitalizing them, making them read-only, etc.), but that's outside the scope of this issue so I'll go ahead and close it


Change WinitPlugin defaults to limit game update rate when window is not visible (for real this time)

Objective
I goofed. #7611 forgot to change the default update modes set by the WinitPlugin.
https://github.com/bevyengine/bevy/blob/ce5bae55f64bb095e1516427a706a2622ccf2d23/crates/bevy_winit/src/winit_config.rs#L53-L60
https://github.com/bevyengine/bevy/blob/ce5bae55f64bb095e1516427a706a2622ccf2d23/crates/bevy_winit/src/lib.rs#L127
Solution
Change Default impl for WinitSettings to return the game settings that limit FPS when the app runs in the background.

I would really prefer if we fixes issues https://github.com/bevyengine/bevy/issues/11273 and https://github.com/bevyengine/bevy/issues/11274 before merging this as this would create a lot of issues for CI


Error importing not existing model into database with many to many field with blank and null as True

Describe the bug
Error when you are trying to import new instance of a model (not existing previously). The model must have a many to many  field with attributes blank and null with True value.
I get the following error:
Traceback: Traceback (most recent call last):
  File "i/venv/lib/python3.9/site-packages/import_export/resources.py", line 744, in import_row
    if self.skip_row(instance, original, row, import_validation_errors):
  File /venv/lib/python3.9/site-packages/import_export/resources.py", line 630, in skip_row
    original_values = list(field.get_value(original).all())
AttributeError: 'NoneType' object has no attribute 'all'

To Reproduce
Steps to reproduce the behavior:

Have a model with a many to many to other model. The field must have attributes null and blank as True
The Resource class must have as first configured field the many to many field

class MyModelResource(resources.ModelResource):
    many_to_many_key_field = fields.Field(
        column_name='many_to_many_key_field',
        attribute='many_to_many_key_field',
        widget=ManyToManyWidget(ManyToManyOtherModel, 'id'),
    )

Try to import excel file with a row. The row must have the many to many field as null/blank
See error: AttributeError defined above:

'NoneType' object has no attribute 'all'
Versions (please complete the following information):

Django Import Export: 3.1.0
Python 3.9
Django 4.1.7

Expected behavior
The instance of model is inserted into database.
In a many to many relation must exists previously the related object in Django, in other cause an error is gotten.
I'm not sure, but I guess that maybe when an object is defined as "new", it must not be checked as skippable row. I mean, if is new, always must be inserted into database.
In this line: https://github.com/django-import-export/django-import-export/blob/main/import_export/resources.py#L724, you know that is a new object.
But, in this line you are checking if the row must be skpped: https://github.com/django-import-export/django-import-export/blob/main/import_export/resources.py#L744
I guess I'm ignoring other cases I don't know about, sorry in that case.
EDIT: Sorry, I have edit because i meant to say many to many insted of ForeignKey.

Thanks for raising.
The check on line 725 only happens if the row has been marked for delete.  If it has, and it is new, then it is assigned status of 'SKIPPED'.
The check on line 744 is necessary because users can implement their own skip logic.
As for the error, I couldn't reproduce with the example app, because the 'original' instance always returns a ManyRelatedManager for the m2m (categories) field, and this never returns None when all() is called.
Is there something I'm missing?  Maybe your migrations haven't been run?
Is it possible you can reproduce this issue using the example app?
I've tried to reproduce with the attached test case, which you can copy into test_resources.py
test.txt

The error occur when importing a new instance (pk = None).  This happens because Django returns None when trying to retrieve a related manager for a model with a None primary key.
Here is a test case for example app:
`class ManyToManyWidgetDiffTest(TestCase):
fixtures = ["category", "book"]
def setUp(self):
    pass

def test_m2m_on_new_entity(self):
    # issue 1558
    class _BookM2MResource(resources.ModelResource):
        categories = fields.Field(
            attribute='categories',
            m2m_add=True,
            widget=widgets.ManyToManyWidget(Category, field='name',
                                            separator='|')
        )

        class Meta:
            model = Book

    dataset_headers: list[str] = ["id", "categories"]
    dataset_row = [None, None]
    dataset = tablib.Dataset(headers=dataset_headers)
    dataset.append(dataset_row)

    book_resource = _BookM2MResource()
    book_resource._meta.skip_unchanged = True

    result = book_resource.import_data(dataset, dry_run=False)

    self.assertFalse(result.has_errors())
    self.assertEqual(len(result.rows), 1)`

i also created a PR with a simple solution
https://github.com/django-import-export/django-import-export/pull/1560

To reproduce in test application change the BookResource declaration in admin.py to:
class BookResource(ModelResource):

    class Meta:
        model = Book
        skip_unchanged = True

Then import the attached file via the Book import in the Admin interface.
books copy.xlsx


a2DP sink : BT_AV re-start not supported after end. (IDFGH-10386)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v4.4.4
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32D0WDR2
Power Supply used.
USB
What is the expected behavior?
The expected behaviour is that we can stop A2DP sink, to free ressource, and restart it, as many times as needed.
A ticket was already open here, where the author of this wrapper confirms it is an issue with the IDF API itself;
https://github.com/pschatzmann/ESP32-A2DP/issues/342
What is the actual behavior?
Once the A2DP is ended, i cannot be restarted. The "advice" is to restart the ESP32 however this is not possible in my case, there are startup sound and UI effect plus a bunch of peripherals to setup, and the device often has to switch between A2DP sink and other source (SD_MMC, wifi stream) during normal operation, restarting all over is not an option.
Steps to reproduce.
start A2DP sink
Stop A2DP sink
restart A2DP
(A2DP sink is dead until next reboot)
Debug Logs.
none

More Information.
No response

@0x0fe Do you want this?
init A2DP -> ... -> deinit A2DP -> ... -> init A2DP -> ... -> deinit A2DP ......

@BetterJincheng  Yes exactly, freeing the ressources used by A2DP  each time it is deinit.
My problem is that i need to run the follow ing things :
2 HTTPS clients for mp3 streaming and MP3 file downloading

and there is something wrong with DMA too, here i tried to stop the A2DP sink without releasing the memory (which memory exacty, i dont know).
a2dp_sink.end(false); cpp
void BluetoothA2DPSink::end(bool release_memory) {
    // reconnect should not work after end
    is_autoreconnect_allowed = false;
    BluetoothA2DPCommon::end(release_memory);
    app_task_shut_down();

    // stop I2S
    if (is_i2s_output){
        ESP_LOGI(BT_AV_TAG,"uninstall i2s");
        if (i2s_driver_uninstall(i2s_port) != ESP_OK){
            ESP_LOGE(BT_AV_TAG,"Failed to uninstall i2s");
        }
        else {
            player_init = false;
            delay(15);
        }
    }
    log_free_heap();
}

and when i try to use the sd_mmc player, i got a DMA allocation error, it cannot allocate the DMA, leading to a crash, even though the I2S driver was uninstalled, as can be seen in the log.
system init
Encoder ready
init audio
2C ready
SDA:4 SCL:22 Freq:100KHz
NAU88C22 [0x1A]
HP vol:90
Spk vol:95
init player
init_sd
Type: SDHC
Total: 7678MB
Used: 128MB
start player
volume:8
Firmware Version: 0x92 = v2.0
player end
start a2dp
init a2dp
[ 21068][D][BluetoothA2DPSink.cpp:142] start(): [BT_AV] start
[ 21070][I][BluetoothA2DPCommon.cpp:243] log_free_heap(): [BT_AV] Available Heap: 1896083
[ 21078][I][BluetoothA2DPSink.cpp:154] start(): [BT_AV] Device name will be set to 'FABA'
[ 21086][D][BluetoothA2DPSink.cpp:1079] init_nvs(): [BT_AV] init_nvs
[ 21092][D][BluetoothA2DPCommon.cpp:149] get_last_connection(): [BT_AV] get_last_connection
[ 21100][I][BluetoothA2DPCommon.cpp:163] get_last_connection(): [BT_AV] nvs_blob does not exist
[ 21108][D][BluetoothA2DPCommon.cpp:172] get_last_connection(): [BT_AV] => 00:00:00:00:00:00
[ 22117][I][BluetoothA2DPSink.cpp:214] init_i2s(): [BT_AV] init_i2s
[ 22117][I][BluetoothA2DPSink.cpp:216] init_i2s(): [BT_AV] init_i2s is_i2s_output
[ 22120][D][BluetoothA2DPSink.cpp:288] init_bluetooth(): [BT_AV] init_bluetooth
[ 22129][I][BluetoothA2DPSink.cpp:293] init_bluetooth(): [BT_AV] controller initialized
[ 22476][I][BluetoothA2DPSink.cpp:302] init_bluetooth(): [BT_AV] bluedroid initialized
[ 22544][I][BluetoothA2DPSink.cpp:311] init_bluetooth(): [BT_AV] bluedroid enabled
[ 22544][D][BluetoothA2DPSink.cpp:424] app_task_start_up(): [BT_AV] app_task_start_up
[ 22548][D][BluetoothA2DPSink.cpp:1198] ccall_app_task_handler(): [BT_AV] ccall_app_task_handler
[ 22556][D][BluetoothA2DPSink.cpp:380] app_task_handler(): [BT_AV] app_task_handler
[ 22564][D][BluetoothA2DPSink.cpp:332] app_work_dispatch(): [BT_API] app_work_dispatch event 0x0, param len 0
[ 22573][D][BluetoothA2DPSink.cpp:364] app_send_msg(): [BT_AV] app_send_msg
[ 22580][D][BluetoothA2DPSink.cpp:387] app_task_handler(): [BT_API] app_task_handler, sig 0x1, 0x0
[ 22589][I][BluetoothA2DPSink.cpp:390] app_task_handler(): [BT_API] app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
[ 22599][D][BluetoothA2DPSink.cpp:355] app_work_dispatched(): [BT_AV] app_work_dispatched
[ 22607][D][BluetoothA2DPSink.cpp:1228] ccall_av_hdl_stack_evt(): [BT_AV] ccall_av_hdl_stack_evt
[ 22615][D][BluetoothA2DPSink.cpp:933] av_hdl_stack_evt(): [BT_AV] av_hdl_stack_evt evt 0
[ 22623][D][BluetoothA2DPSink.cpp:938] av_hdl_stack_evt(): [BT_AV] av_hdl_stack_evt av_hdl_stack_evt BT_APP_EVT_STACK_UP
[ 22634][D][BluetoothA2DPSink.cpp:947] av_hdl_stack_evt(): [BT_AV] AVRCP controller initialized!
[ 22635][D][BluetoothA2DPSink.cpp:1222] ccall_app_gap_callback(): [BT_AV] ccall_app_gap_callback
[ 22642][D][BluetoothA2DPSink.cpp:990] av_hdl_stack_evt(): [BT_AV] set_scan_mode_connectable(true)
[ 22651][I][BluetoothA2DPSink.cpp:535] app_gap_callback(): [BT_AV] event: 10
...
(useless chatter)
...
[ 46234][D][BluetoothA2DPSink.cpp:1039] audio_data_callback(): [BT_AV] audio_data_callback
...
(repeated 1000 times)
...
[ 57353][D][BluetoothA2DPSink.cpp:1039] audio_data_callback(): [BT_AV] audio_data_callback
stop a2dp
[ 57377][D][BluetoothA2DPCommon.cpp:205] clean_last_connection(): [BT_AV] clean_last_connection
[ 57377][D][BluetoothA2DPCommon.cpp:177] set_last_connection(): [BT_AV] set_last_connection: 00:00:00:00:00:00
[ 57377][D][BluetoothA2DPSink.cpp:1039] audio_data_callback(): [BT_AV] audio_data_callback
[ 57389][I][BluetoothA2DPCommon.cpp:243] log_free_heap(): [BT_AV] Available Heap: 1773275
[ 57401][I][BluetoothA2DPCommon.cpp:64] disconnect(): [BT_AV] disconect a2d: 00:00:00:00:00:00
[ 57409][D][BluetoothA2DPSink.cpp:1039] audio_data_callback(): [BT_AV] audio_data_callback
[ 57433][D][BluetoothA2DPSink.cpp:1039] audio_data_callback(): [BT_AV] audio_data_callback
[ 57456][D][BluetoothA2DPSink.cpp:1210] ccall_app_a2d_callback(): [BT_AV] ccall_app_a2d_callback
[ 57456][D][BluetoothA2DPSink.cpp:1006] app_a2d_callback(): [BT_AV] app_a2d_callback
[ 57461][D][BluetoothA2DPSink.cpp:1010] app_a2d_callback(): [BT_AV] app_a2d_callback ESP_A2D_CONNECTION_STATE_EVT
[ 57471][D][BluetoothA2DPSink.cpp:332] app_work_dispatch(): [BT_API] app_work_dispatch event 0x0, param len 16
[ 57481][D][BluetoothA2DPSink.cpp:364] app_send_msg(): [BT_AV] app_send_msg
[ 57487][D][BluetoothA2DPSink.cpp:387] app_task_handler(): [BT_API] app_task_handler, sig 0x1, 0x0
[ 57496][I][BluetoothA2DPSink.cpp:390] app_task_handler(): [BT_API] app_task_handler, APP_SIG_WORK_DISPATCH sig: 1
[ 57506][D][BluetoothA2DPSink.cpp:355] app_work_dispatched(): [BT_AV] app_work_dispatched
[ 57514][D][BluetoothA2DPSink.cpp:1242] ccall_av_hdl_a2d_evt(): [BT_AV] ccall_av_hdl_a2d_evt
[ 57522][D][BluetoothA2DPSink.cpp:588] av_hdl_a2d_evt(): [BT_AV] av_hdl_a2d_evt evt 0
[ 57530][D][BluetoothA2DPSink.cpp:592] av_hdl_a2d_evt(): [BT_AV] av_hdl_a2d_evt ESP_A2D_CONNECTION_STATE_EVT
[ 57539][D][BluetoothA2DPSink.cpp:701] handle_connection_state(): [BT_AV] handle_connection_state evt 0
[ 57548][I][BluetoothA2DPSink.cpp:706] handle_connection_state(): [BT_AV] partner address: a4:c6:f0:85:a9:9a
[ 57558][I][BluetoothA2DPSink.cpp:714] handle_connection_state(): [BT_AV] A2DP connection state: Disconnecting, [a4:c6:f0:85:a9:9a]
[ 57569][I][BluetoothA2DPSink.cpp:718] handle_connection_state(): [BT_AV] ESP_A2D_CONNECTION_STATE_DISCONNECTING
[ 57579][I][BluetoothA2DPCommon.cpp:89] end(): [BT_AV] deinit avrc
[ 57585][I][BluetoothA2DPCommon.cpp:243] log_free_heap(): [BT_AV] Available Heap: 1776159
[ 57593][I][BluetoothA2DPCommon.cpp:243] log_free_heap(): [BT_AV] Available Heap: 1776183
[ 57601][D][BluetoothA2DPSink.cpp:437] app_task_shut_down(): [BT_AV] app_task_shut_down
[ 57609][I][BluetoothA2DPSink.cpp:84] end(): [BT_AV] uninstall i2s
[ 57615][I][BluetoothA2DPCommon.cpp:243] log_free_heap(): [BT_AV] Available Heap: 1782895
start player
E (58625) I2S: i2s_alloc_dma_buffer(740): Error malloc dma buffer
E (58630) I2S: i2s_realloc_dma_buffer(787): Failed to allocate dma buffer
E (58636) I2S: i2s_set_clk(1728): I2S0 tx DMA buffer malloc failed
E (58642) I2S: i2s_driver_install(2026): I2S set clock failed
Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x4010a81e  PS      : 0x00060d30  A0      : 0x800e1ace  A1      : 0x3ffd0da0
A2      : 0x00000000  A3      : 0x3ffc64bc  A4      : 0x3ffc64bc  A5      : 0x00000000
A6      : 0x00000000  A7      : 0x00000000  A8      : 0x8010aee4  A9      : 0x3ffd0d70
A10     : 0x00000000  A11     : 0x3ff4f000  A12     : 0x00040127  A13     : 0xffefffff
A14     : 0x3ffbd274  A15     : 0x3f41e353  SAR     : 0x00000020  EXCCAUSE: 0x0000001c
EXCVADDR: 0x0000001c  LBEG    : 0x400946e5  LEND    : 0x400946f5  LCOUNT  : 0xfffffffb

Backtrace: 0x4010a81b:0x3ffd0da0 0x400e1acb:0x3ffd0de0 0x400d888b:0x3ffd0e10 0x400d8a0f:0x3ffd0e80 0x40106039:0x3ffd0eb0

@0x0fe  What is the key problem of restarting A2DP SINK? By the way, you may need to open a new issue for DMA support.

@BetterJincheng  So, A2DP SINK cannot be restarted because once the ram allocated for A2DP sink is freed, it cannot be reallocated. That is unfortunately a documented limitation of the bluetooth stack, i have seen comments from espressif engineers here and there confirming this behaviour.
So, sadly, i dont think any fix for this will come to allow restarting A2DP after freeing it completely.

Thanks for reporting and sharing the updates, feel free to reopen.


Correct spacing characters

@IvenBach : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Pass options to Accio as comments in the Package.swift file

This is a working and tested implementation that solves https://github.com/JamitLabs/Accio/issues/54.
It is using comments in the Package.swift file to pass additional configuration to Accio. I added the following keys for now:

product-type: default, static-framework or dynamic-framework.
integration-type: default (binary), source (similar to https://github.com/Carthage/Carthage#using-submodules-for-dependencies) or cocoapods.

This PR includes parsing those options and adding them to the Framework object. It does not include the implementation for building static frameworks, neither the implementation of the source or cocoapods integration options.
Example:
// swift-tools-version:5.0
import PackageDescription

let package = Package(
    name: "XcodeProjectName",
    products: [],
    dependencies: [
        .package(url: "https://github.com/Flinesoft/HandySwift.git", .upToNextMajor(from: "2.8.0")),
        .package(url: "https://github.com/Flinesoft/HandyUIKit.git", .upToNextMajor(from: "1.9.0")),
        .package(url: "https://github.com/Flinesoft/Imperio.git", .upToNextMajor(from: "3.0.0")),
        .package(url: "https://github.com/JamitLabs/MungoHealer.git", .upToNextMajor(from: "0.3.0")),
        .package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git", .upToNextMajor(from: "1.6.2")),
    ],
    targets: [
        .target(
            name: "AppTargetName",
            dependencies: [
              // accio product-type:static-framework
              "HandySwift",
              "HandyUIKit",
              // accio integration-type:cocoapods
              "Imperio",
              // accio integration-type:default
              "MungoHealer",
              "SwiftyBeaver",
            ],
            path: "TestProject-iOS"
        ),
    ]
)

For more information about how this works, have a look at the README.md file, or at the testValidComments() function in the ManifestCommentsHandlerServiceTests.swift file.

@Dschee Thanks for the review. About your three points:

I used a syntax which is common in several swift related tools, for example: marathon, beak or SwiftLint. I do not have any preference about it, and your proposal makes sense.
I do not understand how you want the code to be organised: fetching a build setting from an Xcode project requires a simpler implementation. Parsing the comments on the manifest requires parsing the whole manifest, that is why ManifestCommentHandlerService exists: to hold the parsing logic and the parsing results.
My bad, I may not have been 100% clear: of course I was not expecting to merge this with non-implemented options. I added them just to give an idea of the possible options, and how they look in the implementation. Disabling this options just requires to remove/comment the related cases from the ProductType and IntegrationType enums, which I was planning to do before merge.

I will continue with this PR as soon as you specify in https://github.com/JamitLabs/Accio/issues/54 what is exactly what you are willing to accept/merge:

A comment syntax that you are happy with.
In case you do not like the ManifestCommentHandlerService approach, a specification of how you want to organise the code.

I would prefer @acecilia's comment style because we don't have a simple way to express an enum or a DictionaryLiteral and also keeping track of the , balancing or correctness at the end of multiple single-line comments which have no contextual awareness of the surrounding swift source would be hard to solve...

@acecilia Are you already associating the parsed RawComment(s) with the dependencies?

@mrylmz Yes, this PR covers parsing of the comments and setting their content into the additionalConfiguration property inside the Frameworks object.

@acecilia I thought I already laid out the way I think "additional configuration" should be tackled in the second part above:

I don't think that we should have a ManifestCommentHandlerService or even the additionalConfiguration which are way too generic. Instead, we should handle each addition in a domain-specific way and only document the general approach in the CONTRIBUTING.md file linking to examples like this where a similar approach was already taken.

And in this comment on #54.
Just in case, here's the gist of it:

I don't want to extend Package.swift too much without pitching the changes directly to SwiftPM, too and try to sneak it into SwiftPM officially. This has only become so much more important now that we can actually use SwiftPM in Xcode directly and Accio has become less important for many developers.
If we really need so many options that it doesn't make sense to add them to Package.swift in a Swift style, then we should add a configuration file (maybe called .accio.toml) where we can add whatever we need. I'm in favor of TOML rather than YAML for this as it's much cleaner, but both are fine for me.

If you still have questions, please ask more specific questions so I understand what to focus on.

About the comment syntax. Based on your comment in https://github.com/JamitLabs/Accio/issues/54 I implemented this PR. You did not like it, and partially proposed a different syntax. I would like a full specification of it that you are willing to approve: I think the best way you can do this is to provide an example of a Package.swift with comments indicating the integration-type and product-type for several dependencies, so I can implement it.

About how the code should be organised and where the additional configuration should be placed. As you say, you already provided some ideas about this:

I don't think that we should have a ManifestCommentHandlerService or even the additionalConfiguration which are way too generic. Instead, we should handle each addition in a domain-specific way and only document the general approach in the CONTRIBUTING.md file linking to examples like this where a similar approach was already taken.

But I commented that I do not understand them:

I do not understand how you want the code to be organised: fetching a build setting from an Xcode project requires a simpler implementation. Parsing the comments on the manifest requires parsing the whole manifest, that is why ManifestCommentHandlerService exists: to hold the parsing logic and the parsing results.

I will need a more detailed specification on this:

Instead of having a ManifestCommentHandlerService.swift, which new files should this PR contain? Where should the parsing logic be placed?
Where will the additionalInformation property be declared if not in the Framework object?

I do not want to again spent several hours on something that can not be approved, or you consider flawed.

Quote:

targets: [
    .target(
        name: "...",
        dependencies: [
            "...", "..."
        ],
        // defaultLinking: Linking.static,
        // customLinkings: [Linking.dynamic: ["HandySwift", "HandyUIKit"]],
        path: "..."
]

Something like this is what I already suggested above.

Like this: https://github.com/JamitLabs/Accio/blob/76646a26236f0229ec07c5b44a7af08533cc0ca9/Sources/AccioKit/Services/XcodeProjectGeneratorService.swift#L78 as I have already mentioned twice, I think.

And again, no ManifestCommendHandlerService.swift and no additionalInformation. Instead, read the necessary options only if needed. E.g. when a user uses something like the --cocoapods option. so you need to add a new option to install and update. Then, you can really solve it like in the link above. Or doesn't that work for you?

About the comment syntax. @mrylmz already raised several concerns with that approach you proposed, which I consider valid. In addition to those, in case something like this is implemented in SPM, I see more probable that the implementation looks something like the following:
targets: [
    .target(
        name: "...",
        dependencies: [
            "HandySwift", // Using linking by default, which is dynamic
            .dependency(name: "HandyUIKit", linking: "static")
        ],
        path: "..."
]

With that syntax, what you commented is not possible:

so sometime in the future we might simply uncomment the additional configuration code and it would just work as expected

About how the code should be organised and where the additional configuration should be placed.

No, that does not work. The integration-type configuration is per dependency. I do not see how you envision this working when you pass the integration-type as a command line option.
I can get rid of the additionalInformation property, but I will still need the ManifestCommentHandlerService file to contain the parsing logic and hold the parsing results: getting the comments for one dependency requires parsing the whole manifest, and you do not want to do that multiple times.

Also, keep in mind that, if something that you comment is not clear, quoting it is not going to make me understand it. I would suggest you try to rephrase it or explain in better.

Sorry for not mentioning this, I have already talked to @mrylmz in person and we agreed that his concerns are all not a problem. The rationale is simple: If we use a regex, the issues with the , or non-existing enum types are all not valid.
Also, the argument with the existing // swift-tools-version:5.0 is not an excuse to use this kind of comment style – the only reason they opted for this was because before they can parse the configuration, they need to know which manifest version to do this against. So they had no choice but use a different style for that. But there's no reason to use that style for anything else, so I highly doubt there ever will be other options in the manifest file with that comment syntax. That would hurt the design goals of the manifest format.
Regarding your own concern and your suggestion, the problem is that using something like .dependency(name: "HandyUIKit", linking: "static") is impossible, as this will break the code checkout process of SwiftPM and Accio will no longer work as is. We need to keep everything already defined in SwiftPM as is and – if we add configuration to the manifest file – do this by introducing new arguments or options, not by changing current behavior. If we were free to change anything though, you're right, I'd agree so use something like you suggested, but unfortunately that's not possible. That's also why I stated "we might simply uncomment the additional configuration code and it would just work". It's just a second thought that we should follow if possible – and stay as close to it as possible if it's not possible.
Regarding point 2, feel free to keep whatever implementation you like, I won't mind. What I wanted to communicate was that I don't want that comment style and therefore I don't think a "generalized" type to parse all comments in that style make any sense. But if there are comments in another style and we can write one parser for all of them to prevent multiple parsings, then I'm okay with that. I just don't think it would be such a big deal if we parsed the file multiple times given that the manifest file usually never is very long, so that might be left open for later cases, where it actually becomes a problem. But again, if you want to fix it from the start, feel free to do so.

Okey.
Considering that the default linking is dynamic and the default integration is binary, I do not think we need defaultLinking or defaultIntegration. Then, the syntax is:
            dependencies: [
                "HandySwift",
                "HandyUIKit",
                "MungoHealer",
                "SwiftyBeaver",
                "SwiftyUserDefaults",
            ]
            // linking: [.static: ["SwiftyBeaver", "SwiftyUserDefaults"]],
            // integration: [.source: ["HandySwift", "MungoHealer"], .cocoapods: ["HandyUIKit"]],

Can we agree on that syntax?

Looks good to me 👍


Check early if file tokens exceed or near limit

I just realized we need to take into account the prompt tokens when doing this check, I'll update before merging


NAudioService incorrectly seeks to specified start element.

startAt parameter does not work well for NAudioService. It seeks only to the middle of the startAt parameter.

This has been fixed via a workaround.


Not working with IntelliJ IDEA EAP 2021.3

Incompatible: Requires IDE build 212.* or earlier

The latest update fixes this. Thank you for reporting!


[BUG] releasing modifer before releasing timeout() key does not apply modifier

Sorry again for that title that is really hard to grasp at first sight.
I realize that each time I come across a weird behavior in keyd, I struggle to frame it correctly and give a name that would allow anybody to quickly understand the problem at a glance. I guess it is because details matter a lot in such software. Anyway, let me explain my problem.
First and as always, here is an example:
[ids]
*

# apply meta-x when hitting x more that 1s
x = timeout(x, 1000, M-x)

# trivial/default but just for the sake of the example
z = z
control = layer(control)

What I want is rather simple in that example. I want x to give x is held less than 1 second, and if held more, I want the meta version of x.
Now let’s try to combine that with ctrl. If I take the example of z, which does not have any specific behavior attached. When I hold ctrl and then press z, ctrl-z is directly sent at press (and not at release).
Now, let’s try to do it with x instead. As there is a timeout, keyd cannot know at press if it should send ctrl-x or ctrl-meta-x. So it has to act differently this time and wait for the release event, to be able to compute the amount of time spent holding the key.
Let me show in this asci art what it means (it should be read from left to right).

 ctrl         ctrl
   │            ▲
   │    250ms   │
   ▼───▲─────┬──┘
       │     │
       │     ▼
       x     x ◄───ctrl-x

Here, ctrl gets sent, then x gets pressed but nothing happens yet. Within 250 ms, x gets released and here, keyd understands that the user wants to send ctrl-x. Finally, ctrl gets released.
All that context to be able to demonstrate the behavior that I think is weird. Let’s alter slightly the previous example to say that ctrl is released before x has been released.
Here is again the asci art.

 ctrl     ctrl
   │        ▲
   │        │
   ▼───▲────┴───┐
       │  250ms │
       │        ▼
       x        x ◄──x

Here you can quickly see that ctrl gets released before x. As we are still under 1 second, we still don’t want the meta version of x. However, as a result, only x is sent, instead of ctrl-x. Whether this is normal is debatable.
I personally think that if the key cannot be determined at press, the modifier version of the key should still apply even if the modifier gets released in the meantime, before the actual key. Mentally, the user thinks that the modifier is applied when pressing the second key. So if he releases the modifier before in a fast motion, it is obvious to me that he does not want to type the key itself.
What do you think about this? This might also apply to other key overloading mechanisms besides timeout.

Thanks for the clear exposition, it makes discussing the issue much easier :).
An intrinsic part of adding time based disambiguation to a key
involves severing the relationship between the physical keystroke
and the actual input event.
The crux of your issue seems to be that there is a discrepancy between the
physical sequence:
<control down> <x down> <control up> <x up>

and the produced logical sequence:
<control down> <control up> <x down> <x up>

While your particular use case would benefit from
the modifier present during the physical event propagating
through to the logical sequence, there are probably
actions and use cases for which it would be
undesirable.
timeout() is a very simple action, it simply executes the supplied
action on either side of the timeout once the action can be
disambiguated, so it is arguably doing its job.
One way to solve your particular issue would be to explicitly overload
x in the control layer:
E.g
[main]
x = timeout(x, 1000, C-M-x)

[control]
x = timeout(C-x, 1000, C-M-x)

granted this is a bit ugly and potentially cumbersome given
a large enough set of bindings. Consider however that it is at least
possible to achieve (and relatively easy to comprehend). Making
this default behaviour would make the reverse impossible.
This is also consistent with keyd's general view that bindings are resolved by
physical events, but their consequences can be downstream of the physical events.
The goal of keyd is to provide as simple (but no simpler) a set of primitives
that can be used to implement most useful behaviour, but some problems are
inherently tricky and require the user to grok the problem domain.
Having said that, I am more inclined to view this as a possible bug in the
overloadt* set of actions, since those are more intimately tied to
the goal of letter overloading, and are thus more constrained (one of the
arguments must always be a layer). However a similar solution as above
can also be deployed in those cases and I haven't considered all of the
implications of propagating modifier state.
P.S
Sorry for taking so long to address this. I am slowly working my way through
the large backlog of issues.

[main]
x = timeout(x, 1000, C-M-x)

Is there a mistake here and did you mean M-x solely?
 It is a different and broader view than mine, and I also like that you guide your design with simplicity, avoiding any behaviour that would sound a bit "magic".
I still struggle to have a complete understanding of the impacts of answering the problem the way I imagine. I guess it makes more sense for you as you have worked in this domain space for longer. I do have the feeling that changing the behaviour to what I propose could potentially break a lot of other workflows, but those are unknown to me. I only have a clear view of my own workflow as I have thought about it for quite some time now. So I can only trust you.
Each time I post an issue about what I don't manage to do, there is always an existing "solution" that is more or less clean. I did not see this one coming as I thought it was something tricky. But I do like the proposed solution, except for the high verbosity it will require.
If we had a way to abstract the configuration somehow and create templates/functions or whatever we want to call them, this would help a lot for all of those.
Here, I posted my example for control, but in my current configuration, I do have two other cases where this problem happens. One for altgr, and one for my number layout. I cannot imagine the size of my configuration if I decide to override each of the 30 keys in each layer to implement that correctly (without talking about the readability). Because as you said, each person will have to leverage basic building blocks and have a precise knowledge of the problem space to implement "correct" solutions. More verbosity makes understanding what happens more difficult.
Do you already have leads about this verbosity problem? (I saw it coming back in different issues).
Thank you for taking the time to answer.

I think I also got bitten by this same bug.
If I do:
g = overloadt(arrows, g, 1000)

to create a mod key (same but with the other variations of overload), and press:
press altgr, press g, release g, release altgr

I get what I would expect, i.e. altgr-g (i.e. ' in bépo).
But if I do it in a rolling way, i.e.:
press altgr, press g, release altgr, release g

then it actually send g instead (i.e. , in bépo).
I would love to see this fixed, as it makes me basically unable to use this key as a lead key since I'm really used to type it in a rolling way.
Thanks!


Adding the whole first, next, last, prev Elements

This is what i am currently doing to navigate between elements:
{{#each $mapped projects}}
//Getting the next element
{{ getNeighborAttr projects $index 1 '_id' }}
{{/each}}

UI.registerHelper('getNeighborAttr', function (cursor, currentIndex, direction, attr) {
var neigh = cursor.fetch()[currentIndex + direction];
return neigh?neigh[attr]:false;
});
But with the new code we can  do
//Getting the next & previous element
{{#each $mapped projects true}}
{{$nextEl._id}}
{{$prevEl._id}}
{{/each}}

This is great!
Exactly what I needed to be able to show sub categories that are in the same document. Thanks for this.


[Bug]: Background Changes on fullscreen

🔍 Have you checked that you are using an auto updating method or latest version of the extension?

[X] I have checked that I am on the latest version.

🔍 Is there already an issue for your problem?

[X] I have checked older issues, open and closed

Choose the extension for bug report.
Full Screen Mode
ℹ Environment / Computer Info
Spotify for macOS (Apple Silicon)
<IP_ADDRESS>7.g36b715a1
Spicetify v2.28.1
Theme: Default Dynamic / Base
Extensions: section-marker.js, beautiful-lyrics.js, fullScreenWrapper.js, adblock.js, default-dynamic.js, Vibrant.min.js
Custom apps: marketplace, eternal-jukebox, lyrics-plus

📝 Description
If you go into fullscreen mode, and go to a other desktop, the fullscreen-mode shows as the desktop background. You cannot interact with it.
📸 Screenshots

https://github.com/daksh2k/Spicetify-stuff/assets/42179185/0f36c8c5-bb53-4c6f-8219-72b057128902
For me it's very smooth, didn't get this issue, does it happen every time? It would be better if you could add a video.

I don't know what I did, but I am not able to reproduce it anymore.


Fix deployment and demo scripts

This PR makes the following changes:

Refactors the rust project and moves it directly to the scripts folder to avoid conflict with the targets between scarb and cargo.
Refactors the Makefile to call the script binary appropriately
Fixes the path of the artifacts in deploy.rs
Runs make deploy in the CI to avoid this type of bug in the future

We will only fix the script and move the project to a subfolder to avoid issues with starknet-rs. In the future the deployment scripts and demo will be done with starkly using bash scripts


Not compatible with latest SPFx SharePoint Framework 1.12.1

Core Library
MSAL.js v2 (@azure/msal-browser)
Wrapper Library
MSAL React (@azure/msal-react)
Description
This library is sadly not compatible with the latest version of the SPFx Framework v1.12.1 because the react version 16.9.0 doesn't match  "react": "^16.13.0 || ^17". Please update SPFx or downgrade the react version in this repo to make both Microsoft products compatible.
Source
External (Customer)

@tnorling Is there a reason we have the peer dep marked as 16.13.0? Or can it just be 16 || 17?

@thaxy Thanks for pointing out this incompatibility. We'll see what can be done either on our side or SPFx to resolve this.
@jasonnutter Hooks weren't added until v16.8.0 so that would be the absolute minimum we could support. I'm not sure if we're using any other features that came after that so we would need to test.

Thanks for the quick feedback, guys. I skimmed through the changelog  from react  16.9.0 to 16.13.0 and saw no breaking changes or features that interfere on the first glance with things being used in msal-react.
Maybe you can think about this internally.
SPFx Framework is used to create SharePoint and Teams Apps.


Wiki outdated.

Will work on it when I get the time.

*Apologies, I mean readme outdated and wiki missing.

First version of the wiki is almost ready. Information has been moved from the README to the wiki.

Template page added. Added to usage page.


Investigating performance issue on checking out transient module

I had a module in MPS with ~350 roots. I could import that module in Modelix quickly (no noticeable delay), however, when checking it out as a transient module I have to wait 15-18 minutes.
In this issue I will share findings and ask for suggestions on how to fix it.

A lot of time seems to be spent on calls of the ITree.getChildren(parent, role).
The implementation is a MetaModelBranch.MMTree instance wrapping a CLTree instance
Some of these calls take ~100 ms, others seems to take ~0 ms

I think I already know the reason. I'm working on it.

Great, thanks. Please let me know if I should try to generate some data about the cases in which happen and the cases in which it does not.
Do you think is there a workaround I could use in the meantime to get quickly a whole copy of the whole tree from the model server, to use for the initial checkout?

No, there is no workaround. You will need a new version.

Please check now, if it's faster with the latest version.

Wow, that is efficient!

It seems to be way faster: from 15-18 minutes we are down to ~55 seconds. Given this model is very large I think it is understandable.
I just wonder if that could be a problem in case someone needs to check out several modules when they start working. To support that scenario I think it may be necessary to improve performance (if it is feasible).
I think a reasonable project could have on average ~30 modules which were on average 1/5 of this module, I guess the time to load all of those models could be 6 times the time to load this module. This will bring to ~6 minutes. I think if the time went down to ~1 minute it would make for a better user experience (and help convince people to use Modelix more easily). I am not sure at all if this is possible and what it would be needed to allow this. Perhaps pre-calculated snapshots for certain versions of modules?

In the context menu of a repository there is an entry "Get Number of Nodes". Can you tell me what the value is?

20062
The repository contains only that module

That is tiny and shouldn't take a minute.

The reason is the number of request required to load the model data. If we make the model server a bit smarter this can be reduced to a single request.

I added another optimization. Can you please check how long it takes now?

Another great progress! Now the time is down to 8 seconds (from 50-55 seconds with the previous version).
We were originally to 900-1080 seconds, so overall this patch make it over 100 times faster :)

Would it be possible to get a new release with these changes?


NovationDMS,Ltd.NovationUSBMidiDriver version <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.2 schema?

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

Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Unattended-Failed

@wingetbot waivers Add Validation-Domain


[BUG]Covering Index needs to support Array based table

What is the bug?
When defining a skipping index on top of an array based data structure - the create skipping index fails:
Data Definition
[
  {
    "@timestamp": "2023-07-17T08:14:05.000Z",
    "event": {
      "result": "ACCEPT",
      "name": "cloud_trail",
      "domain": "cloudtrail"
    },
    "attributes": {
      "data_stream": {
        "dataset": "cloudtrail_log",
        "namespace": "production",
        "type": "cloud_trail_logs"
      }
    },
    "cloud": {
      "provider": "aws",
      "account": {
        "id": "111111111111"
      },
      "region": "ap-southeast-2",
      "resource_id": "vpc-0d4d4e82b7d743527",
      "platform": "aws_vpc"
    },
    "aws": {
   ....

Table Definition
CREATE EXTERNAL TABLE IF NOT EXISTS  {table_name} (
  Records ARRAY<STRUCT<
    eventVersion STRING,
    userIdentity STRUCT<
      type:STRING,
      principalId:STRING,
      arn:STRING,
      ....

skipping index Definition
CREATE SKIPPING INDEX ON {table_name} (
    `Records.userIdentity.principalId` BLOOM_FILTER,
    `Records.userIdentity.accountId` BLOOM_FILTER,
    `Records.userIdentity.userName` BLOOM_FILTER,
    `Records.sourceIPAddress` BLOOM_FILTER,
    `Records.eventId` BLOOM_FILTER,
    `Records.userIdentity.type` VALUE_SET,
    `Records.eventName` VALUE_SET,
    `Records.eventType` VALUE_SET,
    `Records.awsRegion` VALUE_SET
) WITH (
  ...
)

How can one reproduce the bug?
Steps to reproduce the behavior:

Create a table as shown above
Create a skipping index as shown above
Spark returns Error

What is the expected behavior?
Skipping index should be able to work on top of such Array based indices
Utilize LATERAL VIEW explode({Array Field}) in some way

I assume this is for Flint skipping index? I modified the title to avoid confusion.


Use canonical fully qualified class names for metrics

The current implementation of create_object() is obsolete and incorrect; see this answer for the correct version.
This also means we don't need to keep adding names to the __init__.py file.
Addresses #1327

Note that the current JSON data release does not use the canonical fully-qualified class names; we could use a script to rewrite the JSON to the correct names.


[Language extension] wordPattern does not support unicode character classes

VSCode Version: 1.25.1
OS Version: Windows 10, Spring Creators Update

Steps to Reproduce:

Create a language extension
Add a wordPattern entry to the language configuration file
Use POSIX brackets in the regex, such as "[[:alpha:]$][[:alnum:]$]*"

Note: The regex works fine in the side panel search, but not in the search widget.
According to #5708, at least some part of the regexes are parsed using the Oniguruma regex syntax, which supports POSIX brackets.
If this is intended behavior, then I have two questions:

Is there a way to find out which regex engine is used where? VSCode seems to use several different ones, with no clear indication as to which one is used where. This page for example only specifies "Regex".
Is there a way to achieve something equivalent to the above regex for wordPattern?

The word pattern is interpreted using JavaScript's regular expressions. This is a good page describing it - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
The editor's find widget uses the same JavaScript regular expressions as the word pattern.

@alexandrudima Thanks for the info! That's quite unfortunate, as it means there's no easy way to match classes like "all letters".


Add subnet-len configuration option.

By default flannel chops the configured cidr in /24 subnets that are
assigned to each node, this allows kubelet to run up to 254 hosts, for
clusters where the machines are large enough to host more than 254 pods
or have a large number of create-destroy pod operations (e.g. a CI/CD
pipeline) would produce an starvation of available IP addresses.
This configuration option will allow flannel to be configured with
a different size for each subnet. When this configuration option
changes the cni0 bridge is destroyed and flannel restarted.
Fixes lp:1930087

I was giving some rounds of testing to this patch and I realize my approach is susceptible of a race condition, since I'm using whatever is stored in etcd to determine if the SubnetLen changed, I should simply rely on config.changed().
Another approach I was giving some thoughts is to make the leader do the "etcdctl set" and then do a leader-set to make the peers react and restart flannel, I believe it will be more clean and less prone to issues (e.g. many units doing the "etcdctl set" concurrently).

I'm confused in what would be the best approach to force the cni0 device to pick up the change of the subnet, when I'm deleting it and then restarting flannel the bridge doesn't get recreated. Any guidance on what would be the less disruptive way to achieve this?

Is there any movement on this? We've had some decent downtime attributed to Juju defaulting /24 in a large production cluster. There's also a bug posted in launchpad with no movement in over a year.
https://bugs.launchpad.net/charm-flannel/+bug/1930087


Update pekko-actor, pekko-slf4j, ... to 1.1.0

About this PR
📦 Updates

org.apache.pekko:pekko-actor
org.apache.pekko:pekko-slf4j
org.apache.pekko:pekko-testkit

from 1.0.3 to 1.1.0
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.apache.pekko" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.apache.pekko" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:semver-spec, commit-count:1

Superseded by #1327.