Add Advanced Modifier

AdvancedModifier(2D/3D) is a modular modifier which will allow for much more complex generation.
It works with an array of rules, all of which it has to pass to place the tile on the target cell. For example:
Let's say we want to place vegetation on top of side-scrolling terrain. We'll use an OffsetRule, which checks for a certain tile in an offset to allow placing.

In this case, it checks that there is a ground tile below.
We also have a chance rule, which is pretty self explanatory.

Now we'll make the tile to be placed a RandomTileInfo, which will choose between trees, grass and tall grass.
Here's the result:

We can also do stuff like this (the torches):

This PR also adds a filter type to only apply modifiers on empty tiles.

To-do

[ ] OffsetRule3D
[ ] Documentation
[ ] Icons for the modifier and rules

I am also not entirely sure about the wording of "rules"? Any ideas?


[WIP] Angular version upgrade to 1.3.15 and new bootstrap directives

Changes were made to the existing directives to work with angular version 1.3.15
Added bootstrap directives to style form elements

/cc @epwinchell @himdel @dclarizio

Note Current Jasmine tests will not pass for the new angular version and would need to be addressed.

Note some of the tests may be fixed in #3207 .

app/assets/javascripts/angular-ui-bootstrap/ui-bootstrap-tpls-0.13.0.js belongs elsewhere since it is not ManageIQ code.  Perhaps @skateman can convert it to a gem.
@dclarizio @h-kataria @martinpovolny Please do not merge until this is addressed.

@AparnaKarve there's a generated gem from the bower package with rails-assets. I've pinged you on IRC :)

@miq-bot remove_label wip

Are there any specs for updateDropDownForFilter and updateDropDownForTimer?

>>   Are there any specs for updateDropDownForFilter and updateDropDownForTimer?

Not at the moment. I can add them.

I love the checkchange ..changes :), but I'm a bit concerned about the use of JSON.stringify to deep-compare (and stringify+parse to deep-clone). Maybe we could consider lodash - it has both _.cloneDeep(obj) and _.isEqual(o1, o2).
Because, I see no guarantees that stringify must be stable - ie. keep the same key order even when converting different objects. (In fact, I'm quite sure if that were guaranteed, things like json-stable-stringify wouldn't exist.)

..Aand the last potential issue i can see.. there's a lot of setTimeout calls, these are completely fine if they only read from scope and call jQuery stuff or something, but not so good when you write to scope - because these do not trigger the digest cycle, you probably want to use $timeout for that.

Most recent update includes the following -

[x] Jasmine specs for 2 directives - updateDropdownForFilter and updateDropdownForTimer
[x] Added moment.js gem for handling Date related opearations
[x] couple of globals were changed to local vars
[x] setTimeout calls changed to $timeout

does not include -

[ ] Alternate solution to JSON stringify that @himdel suggested.

Verified changes are working as expected.

@AparnaKarve .. the JSON issue is actually a real problem - in current master, just opening Infrastructure / Configuration management and doing "Add a new provider" triggers a bug in there:
SyntaxError: Unexpected token u
    at Object.parse (native)
    at checkForOverallFormPristinity (http://localhost:3000/assets/directives/checkchange.js?body=1:74:26)
    at Object.fn (http://localhost:3000/assets/directives/checkchange.js?body=1:18:11)
    at Scope.$get.Scope.$digest (http://localhost:3000/assets/angular.js?body=1:14309:29)
    at Scope.$get.Scope.$apply (http://localhost:3000/assets/angular.js?body=1:14572:24)
    at bootstrapApply (http://localhost:3000/assets/angular.js?body=1:1456:15)
    at Object.invoke (http://localhost:3000/assets/angular.js?body=1:4204:17)
    at doBootstrap (http://localhost:3000/assets/angular.js?body=1:1454:14)
    at Object.bootstrap (http://localhost:3000/assets/angular.js?body=1:1474:12)
    at Object.window.angular.bootstrap (chrome-extension://aadgmnobpdmgmigaicncghmmoeflnamj/ng-inspector.js:1506:25)

(I'd assume the 'u' is because the original variable is undefined and hence JSONifies to "undefined" but JSON.parse can only handle objects and arrays on the first level.)
Also, thinking about it over the weekend, I realized even Date instances get incorrectly reconstructed by stringify+parse.

@himdel as discussed, @AparnaKarve is out for a bit, so please look into a fix for this.  Thx, Dan


Fix dump_transactions and accept an envelope ID.

Looks like this got broken at some point in the past. This now successfully outputs any workbasket currently in ready to export status, and accepts an envelope ID.
We'll be using this command for as long as we have a manual interface with HMRC.

Codecov Report

Merging #149 (84a8db1) into master (777cdc3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #149   +/-   ##
=======================================
  Coverage   57.96%   57.96%
=======================================
  Files         157      157
  Lines        9739     9739
  Branches      736      736
=======================================
  Hits         5645     5645
  Misses       3918     3918
  Partials      176      176

Continue to review full report at Codecov.

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

Codecov Report

Merging #149 (84a8db1) into master (777cdc3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #149   +/-   ##
=======================================
  Coverage   57.96%   57.96%
=======================================
  Files         157      157
  Lines        9739     9739
  Branches      736      736
=======================================
  Hits         5645     5645
  Misses       3918     3918
  Partials      176      176

Continue to review full report at Codecov.

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


Align Dictionary<T, K> with adopted standard in other frameworks and SDKs

It seems unusual to see the GTPs in Dictionary defining the Type and then the Key when they are declared in the reverse order:
let dict: Dictionary<number, string> = {
    "abc": 123,
    "xyz": 987
// "key" : "value"
};

In C#, GTPs are the other way around: IDictionary<TKey, TValue>
In Kotlin and Java, GTPs are the other way around: Map<K, V>
Suggested solution:
type Dictionary<TKey extends string | number = string, TValue = any> = {
    [key in TKey]: TValue;
};

var x: Dictionary<string, string> = {
    "s": "Hello"
}

I'm actually not keen on implicit dictionary type choices, but that's up to you.

@krzkaczor Thank you for your prompt response. You've raised some good points here.
GTP = Generic Type Parameter; for example T, K and V
I understand that Dictionary<T, K> isn't a true dictionary/map in the same sense as C# or Java/Kotlin respectively, however a "plain JS object" is a dictionary and an object at the same time.
I'm alluding to the following gist which is intended to be a joke, poking fun at various programming languages, but it's still quite apt: https://gist.github.com/series0ne/cc7ee637b6e241e130e3b0c6a748cb84
I see your reasoning behind putting T before K and that's a sound enough rationale for me to not complain about GTP ordering any further :)


Add brimstone chest support to loot tracker

Adds loot from brimstone chest to the loot tracker.

Closes #7749 if done
Not sure if this is still being developped?

Did you considering copying the inventory at the first message and diffing them? Thats what the mlm plugin ore counter does this works well.

I made the changes to diff check the inventory like you suggested which definitely works better, thank you.


Lambda Cold Start, influenced by schema size

Bug description
Continuing from #10724 - please see there for more details. It contains data I gathered while profiling lambda cold starts with prisma.
Problem: lambda cold starts are increased by importing prisma.
I believe part of the problem is that despite us having a medium-sized DB schema, a very large DMMF string (6,492,708 characters) is produced which must be parsed at startup. The difference in startup between an empty DMMF string and a large one is around one second.
Please see the repro repo: https://github.com/jetbridge/prisma-bundle-size
Using the repro repo you can observe the difference in startup time for two lambdas, one without prisma and one that imports prisma and tries to do a query with DATABASE_URL=file:./dev.db set.
My goal is to reduce the cold start time of my lambda functions that use prisma as much as possible.

How to reproduce
See repo README
Expected behavior
No response
Prisma information

3.8.0
Environment & setup

OS:
Database:
Node.js version:

NodeJS 14 on AWS Lambda
Prisma Version
prisma                  : 3.8.1
@prisma/client          : 3.7.0
Current platform        : darwin
Query Engine (Node-API) : libquery-engine 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f (at ../../../../usr/local/lib/node_modules/prisma/node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine    : introspection-core 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f (at ../../../../usr/local/lib/node_modules/prisma/node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary           : prisma-fmt 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f (at ../../../../usr/local/lib/node_modules/prisma/node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash    : 34df67547cf5598f5a6cd3eb45f14ee70c3fb86f
Studio                  : 0.452.0

For the reproduction and our understanding if the DMMF size is indeed the driver behind that time, we should add a third function that has the same Prisma code - but a much smaller schema. Then we can compare no Prisma, small Prisma, big Prisma.

I created a mostly empty schema and tested that. It is in the repo although you have to manually change which schema it's pointing at.
Result is a total of 508ms vs the 1.1s for the same function but with the big schema.

So we have:

No Prisma: 166ms + 1.7ms
Prisma with small schema: 405ms + 10ms
Prisma with big schema: 772ms + 143ms

I have noticed that the code generated by prisma maybe it's very deoptimized (v8). First use of any method takes a lot of more time than second, thrid, ... My use is a traditional backend, and to reduce the impact for the first call I do a do-nothing-call to "warm" it:
this.i18n.findFirst({ select: { name: true }, take: 0 });

I suppose you're being hit by this, and I think that it's due to the hard to optimize the code by V8

@tonivj5 When you run a query, even one that returns 0 rows, the database connection is created. If you started your application before that would be expected to take some time - and "warming" that via such a call is a good idea if you can trigger that outside of a request.

Let me join this thread. My Prisma schema is around 15k lines and Cold Starts are high

@tonivj5 When you run a query, even one that returns 0 rows, the database connection is created. If you started your application before that would be expected to take some time - and "warming" that via such a call is a good idea if you can trigger that outside of a request.

@janpio I thought that calling $connect() would create the database connection. Is it really necessary to do a dumb query to force the creation of the database connection?

You did not mention before that you are also calling $connect() @tonivj5. That behavior is not fully defined as far as I know, so I would confirm that this is happening and behaving the way you expect.

@pabacham Can you confirm that you are seeing direct influence of the schema size for the Cold start time? Can you maybe do similar experiments like what Mischa did - your schema, a shorter schema, no Prisma at all and share the number? More number = better.

@janpio I am not sure that there is a direct influence. I am about to get access to x-ray from devops, once I get I will provide the results.

@janpio
Framework: serverless-stack (SST) '@prisma/client' and '.prisma' are not a part of bundle, Lambda takes them from a layer.
Prisma layer:
Folders and files structure - https://monosnap.com/file/qrVf8tnkUeV3PxM3Gn8ilP41x9mQNz
Total size - 65mb
Compressed size - 17mb
Prisma Schema is around 15k lines
Report for simple lambda function with conditions:

Simple Lambda function
Function - https://monosnap.com/file/0xtqAJJ7lluJIJJI5GNdwJ3pgDxr0x
Report - https://monosnap.com/file/6QNcLCn3gkEQ74yQr5WzyKeLdilZfh

Lambda function with attached Prisma Layer + imported Prisma Client in code
Function - https://monosnap.com/file/2WGONdIqGAvgm1Z1hl0K2Myo0oh84B
Report - https://monosnap.com/file/BwE5J2FHrDoUqguSBVb7I1yb00aPzv

Lambda function with attached Prisma Layer + imported and defined Prisma Client in code
Function - https://monosnap.com/file/sm15c0UBbo8JcZgHo2YQiOIcPKHWjJ
Report - https://monosnap.com/file/eKSmk06r7Ld0ceqwF0WPsxXDikYSH1

Lambda function with attached Prisma Layer + imported and defined Prisma Client in code

some SQL queries
Function - https://monosnap.com/file/TScch5bDZ9qdWr7TMKaKWlBgJocsIz
Report - https://monosnap.com/file/czpWPAud12XPOZ3kOkX4dVsdscbk1K

The slow cold start issue caused by increasing code size on AWS Lambda is expected. With that said, if prisma is unable to provide a way to minimise/optimise the code size, you should consider using Provisioned Concurrency to avoid the latency-sensitive API endpoints suffering from slow cold start issue.

The slow cold start issue caused by increasing code size on AWS Lambda is expected as code size determines the download speed which is part of the process in booting up a new Lambda VM to handle the request.
With that said, if prisma is unable to provide a way to minimise/optimise the code size, you should consider using Provisioned Concurrency to avoid the latency-sensitive API endpoints suffering from slow cold start issue.

I upgraded to Prisma 4.0.0. My bundle size is now on average ~1.5MB after the upgraded as opposed to ~11MB on prisma 3.14.0.
Unfortunately the cold start time remains unchanged though.

Today's release 4.8.0 has significantly (average 50%, on some platforms even more) decreased the size of our engine files, but we also improved the performance of loading bigger schemas:

Improved serverless experience — smaller engines size
In this release, we have decreased the size of our engine files by an average of 50%. The size of the Query Engine used on Debian, with OpenSSL 3.0.x, for example, went from 39MB to 14MB. We will also remove some smaller engines to decrease the total size in future versions.
Additionally, we have started optimizing how the Prisma schema is loaded in Prisma Client. You should notice a considerable improvement when executing the first query if you're working with a bigger schema with many models and relations.
We will continue investing in this direction in the next releases and further improve the experience with Prisma and serverless environments.

https://github.com/prisma/prisma/releases/tag/4.8.0
We are not even close to where we want to be with that of course, but this is a first step. Expect more improvements in this area soon.

Please provide some additional information @zomars.  How long does a connection in the same environment to the same database with a smaller schema take? Do you have reliable attribution of the time spent to Prisma Client and its start, or could it just be other time (of e.g. executing queries)? There can be many reasons why the initial request in a serverless function is slow. (Some of them we discussed in a private channel)

I already posted in the other similar issue that we published a blog post "How We Sped Up Serverless Cold Starts with Prisma by 9x", so I won't repeat the screenshots of the graphs showing our improvements - just read my other comment for that: https://github.com/prisma/prisma/issues/10724#issuecomment-1521805173
But I applied the new version to the reproduction that @revmischa thankfully provided above and got nice results:

(These are my own measurement for 3.13.0, not the original ones Mischa shared in his screenshots. They are a bit slower because I had to figure out what database was actually used for the tests, and I defaulted to our most popular PostgreSQL - in hindsight, I think that Mischa used SQLite instead. But his original results and my results for 3.13.0 have the same proportion between no-prisma, prisma and prisma-empty - so I am confident in using my 3.13.0 measurement as the baseline for the improvements in newer versions.)
You can see how the impact on "Init" (= Cold Start) (baseline on an empty function is ~150ms) went from ~800ms to ~220ms for the big schema, and ~460ms to also ~220ms for the empty schema - which means that there is no more difference between big and empty schema, and that the overhead is down to 50ms right now.
What is measured as "Function" here (baseline in empty function is ~4ms) is what happens inside the handler, so currently the database connection creation and then a query. That timing is also greatly improved both for the big and empty schema, and also shows that there is no difference anymore between the schema sizes.
We are pretty happy about these results. 🥳
But we are also not done yet, and will release further improvements on both the Startups ("Init") and the Runtime ("Function") performance soon.
(Theoretically I think I could achieve even better results here by upgrading the functions to Node18, and moving the connection creation outside the handler as a top level await - but as I am stuck on<EMAIL_ADDRESS>for now that did not work out today. PRs welcome 😆 https://github.com/janpio/jetbridge-prisma-bundle-size/tree/4.0.0)

Great stuff, thank you! I am using postgres.
Moving to top-level await will only speed up the cold start if the function is being kept warm but won't help in most situations.

I am closing this issue for now. We further improved the cold start time after our blog post and my comment here, and are now generally happy with the cold start time even with massive schemas. jsonProtocol will soo be promoted to GA, and with that the default experience of using Prisma should have no negative impacts on cold starts in serverless environments any more compared to other database Clients.


[Revert][branch-2.4] "[BugFix] Different column types in different chunks (#13078)"

This PR reverts commit 538d10fa of https://github.com/StarRocks/starrocks/pull/13078 from branch-2.4.

run all


Test with tox + pytest

This allows the tests to be run on multiple versions of python.
Depends on #4 .

This currently doesn't work as realistic_points doesn't exist
________________________________________________________ ERROR collecting test/test_it.py _________________________________________________________
test/test_it.py:6: in <module>
    from realistic_points import realistic_points
E   ImportError: No module named 'realistic_points'

You realize this is broken?

Not for now. I forgot to include this file with the package. I am just fixing it.


AzureFileCopy@4 requires read permission on resource group

Note
Issues in this repo are for tracking bugs, feature requests and questions for the tasks in this repo
For a list:
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
If you have an issue or request for the Azure Pipelines service, use developer community instead:
https://developercommunity.visualstudio.com/spaces/21/index.html )
Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: AzureFileCopy
Environment
Azure Pipelines
Hosted Agent
Issue Description
I cannot get the AzureFileCopy task to copy into Blob Storage without assigning Reader permission directly on the resource group.  If I remove this, it gives an error:
##[error]ExceptionMessage: ExceptionMessage: The client 'GUID' with object id 'GUID' does not have authorization to perform action 'Microsoft.Resources/subscriptions/resourceGroups/read' over scope '/subscriptions/GUID/resourceGroups/RGNAME' or the scope is invalid. If access was recently granted, please refresh your credentials. (in function: Get-AzRmResourceGroup) (in function: Get-AzRMStorageKeys)
This requirement is not listed anywhere, and probably should not be required.
Error logs
##[error]ExceptionMessage: ExceptionMessage: The client '' with object id '' does not have authorization to perform action 'Microsoft.Resources/subscriptions/resourceGroups/read' over scope '/subscriptions//resourceGroups/' or the scope is invalid. If access was recently granted, please refresh your credentials. (in function: Get-AzRmResourceGroup) (in function: Get-AzRMStorageKeys)

@lonevvolf  I was unable to try out since I am the owner on the subscription so could not remove inherited roles. Can you please confirm once if this issue is happening for all versions of AzureFileCopy i.e 2,3 and 4 for you?

@lonevvolf Alos, please specify the version of task also for which you raise the issue

I can confirm the issue is present in versions 2, 3, and 4.

@N-Usha We do need read permissions on RG for the call ' Get-AzRmResourceGroup' in the code . Can you please update the documentation of AzureFileCopy task for the same.

This means that the account used for the action has read access to every resource in the RG, as the permission is inherited.  This seems like a security issue to me.

Please reopen - this is waiting for a fix.


Right-click on Fullcalendar Scheduler

Hi,
I am using Scheduler of Full Calendar. And I am not able to get Resource Id on rightclick on Day or week.
is there rightclick property in scheuler of fullcalendar.
If u can please help me.
I just need resource id while clicking on day/event section.

Hello everybody, can someone help me?
#anilsinghgithub Do you fire the rightDayClick ?
in my case the Scheduler does not work :( :(;


TE: code for analyzing merged anomalies by various group by

UI code for analyzing merged anomalies by various group by

I will reopen this after rebase.


Fix conditional_assign! allocations

Reduce allocations by specializing the conditional_assign! function, used in the old EDMF.
See here -
g_func(g::Function, num) = ntuple(g, div(num, 2)) will not specialize, but
h_func(h::H, num) where {H} = ntuple(h, div(num, 2)) does.
Thanks @simonbyrne

Just to note, this used to be inferred on older versions of ClimaCore (it might be a good to add a ClimaCore test at some point)


OCPBUGS-11840: ParseImageReference supports cases where both tag …

…and digest are present in a ref
Description
This PR provides support for parsing container image references that have both tag and digest provided.
When such references (ex: cp.icr.io/cp/cpd/postgresql:13.7@sha256:e05434bfdb4b306fbc2e697112e1343907e368eb5f348c1779562d31b9f32ac5) exist in an operator package's relatedImages, this causes oc-mirror to fail mirroring
Fixes # OCPBUGS-11840
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Additional unit test added.
We couldn't use the reference provided in the jira issue to test: unauthorized to access registry
We couldn't reproduce the issue by using the following: This mirrors correctly and doesnt need a fix
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
mirror:
  platform: {}
  operators: []
  additionalImages:
  # - name: cp.icr.io/cp/cpd/postgresql:13.7@sha256:e05434bfdb4b306fbc2e697112e1343907e368eb5f348c1779562d31b9f32ac5
  - name: quay.io/okd/scos-release:4.13.0-0.okd-scos-2023-05-04-192252@sha256:b3cbd04e527992111b3a736b8d6f59c8406d0ae59cda1bfdfb542519a4c1610c
  helm: {}

We tried recreating a catalog with a related image containing both tag and digest using
cd test/operator/
 export REGISTRY=localhost:5000
export CATALOG_NAMESPACE=in-11840
make publish

But this fails because podman doesn't support using tag and digest at the same time. Error:
2023-05-15 11:17:09,654 publish_images [  ERROR  ]: Command errored: podman build . --format=docker -t quay.io/okd/scos-release:4.13.0-0.okd-scos-2023-05-04-192252@sha256:b3cbd04e527992111b3a736b8d6f59c8406d0ae59cda1bfdfb542519a4c1610c --build-arg RELATED_IMAGE=quay.io/okd/scos-release:4.13.0-0.okd-scos-2023-05-04-192252@sha256:b3cbd04e527992111b3a736b8d6f59c8406d0ae59cda1bfdfb542519a4c1610c
ShellRuntimeException: (125, 'Error: tag quay.io/okd/scos-release:4.13.0-0.okd-scos-2023-05-04-192252@sha256:b3cbd04e527992111b3a736b8d6f59c8406d0ae59cda1bfdfb542519a4c1610c: Docker references with both a tag and digest are currently not supported')

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

/jira refresh

/lgtm

/cherrypick release-4.13


linter vs mixins: NoSuchMethodError: The getter 'declaredElement' was called on null.

As of https://chromium.googlesource.com/external/github.com/flutter/engine/+/71ba20a6426e4a9c3f3810f33f54e18f3be91985 Dart SDK roll into Flutter, I'm seeing the following linter crash when running flutter analyze:
Error from the analysis server: Exception while using a AvoidFieldInitializersInConstClasses to visit a FieldDeclarationImpl in MixinDeclarationImpl in CompilationUnitImpl
NoSuchMethodError: The getter 'declaredElement' was called on null.
Receiver: null
Tried calling: declaredElement
#0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
#1      _Visitor.visitFieldDeclaration (package:linter/src/rules/avoid_field_initializers_in_const_classes.dart:104:10)
#2      FieldDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:4382:49)
#3      LinterVisitor._runSubscriptions (package:analyzer/src/lint/linter_visitor.dart:671:14)
#4      LinterVisitor.visitFieldDeclaration (package:analyzer/src/lint/linter_visitor.dart:239:5)
#5      FieldDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:4382:49)
#6      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8304:20)
#7      MixinDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:7919:13)
#8      RecursiveAstVisitor.visitMixinDeclaration (package:analyzer/dart/ast/visitor.dart:1026:10)
#9      LinterVisitor.visitMixinDeclaration (package:analyzer/src/lint/linter_visitor.dart:432:11)
#10     MixinDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7910:49)
#11     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8304:20)
#12     CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2437:21)
#13     RecursiveAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:714:10)
#14     LinterVisitor.visitCompilationUnit (package:analyzer/src/lint/linter_visitor.dart:120:11)
#15     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2430:49)
#16     LibraryAnalyzer._computeLints (package:analyzer/src/dart/analysis/library_analyzer.dart:271:10)
#17     LibraryAnalyzer._analyze.<anonymous closure>.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:141:13)
#18     __InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.forEach (dart:collection/runtime/libcompact_hash.dart:370:8)
#19     LibraryAnalyzer._analyze.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:140:17)
#20     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:210:15)
#21     LibraryAnalyzer._analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:139:37)
#22     LibraryAnalyzer.analyze.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:80:14)
<asynchronous suspension>
#23     _PerformanceTagImpl.makeCurrentWhileAsync (package:analyzer/src/generated/utilities_general.dart:222:21)
<asynchronous suspension>
#24     LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:79:43)
<asynchronous suspension>
#25     AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1244:71)
<asynchronous suspension>
#26     PerformanceLog.runAsync (package:front_end/src/base/performance_logger.dart:52:21)
<asynchronous suspension>
#27     AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:1220:20)
<asynchronous suspension>
#28     AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:1046:39)
<asynchronous suspension>
#29     AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:1916:24)
<asynchronous suspension>
#30     AnalysisDriverScheduler.start (package:analyzer/src/dart/analysis/driver.dart:1857:5)
#31     new AnalysisServer (package:analysis_server/src/analysis_server.dart:397:29)
#32     SocketServer.createAnalysisServer (package:analysis_server/src/socket_server.dart:81:26)
#33     StdioAnalysisServer.serveStdio (package:analysis_server/src/server/stdio_server.dart:37:18)
#34     Driver.start.<anonymous closure> (package:analysis_server/src/server/driver.dart:504:21)
#35     _rootRun (dart:async/zone.dart:1124:13)
#36     _CustomZone.run (dart:async/zone.dart:1021:19)
#37     _runZoned (dart:async/zone.dart:1516:10)
#38     runZoned (dart:async/zone.dart:1463:12)
#39     Driver._captureExceptions (package:analysis_server/src/server/driver.dart:550:12)
#40     Driver.start (package:analysis_server/src/server/driver.dart:502:7)
#41     main (file:///b/build/slave/Linux_Engine/build/src/third_party/dart/pkg/analysis_server/bin/server.dart:12:11)
#42     _AsyncAwaitCompleter.start (dart:async/runtime/libasync_patch.dart:49:6)
#43     main (file:///b/build/slave/Linux_Engine/build/src/third_party/dart/pkg/analysis_server/bin/server.dart:10:10)
#44     _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:287:32)
#45     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)

@pq @JekCharlsonYu @stereotype441

I'm seeing it again in linter version 0.1.68 and analyzer version 0.33.0.
Example:
Error from the analysis server: Exception while using a AvoidFieldInitializersInConstClasses to visit a FieldDeclarationImpl in MixinDeclarationImpl in CompilationUnitImpl
NoSuchMethodError: The getter 'declaredElement' was called on null.

Having said that, I have multiple copies of analyzer and linter. One version is coming from pub, linked to from the .packages file. One version is downloaded by the flutter command from the pre-built Dart SDK in our build artifact cloud bucket. Finally, there's one in my custom build of the Flutter Engine. I'm not 100% sure which version I end up using when I run the analyzer. I'll see if I can find that out.

nvm, was hitting a wrong version of the Dart SDK.


Assigning tasks to roles in CVAT

@VesninEN , OK. I will mark the issue as a bug. Too many users complain. But the problem here is only bad error handling. Indeed your user doesn't have permissions to create a task. To do that you need to go to "admin" panel and add necessary permissions to the new user (e.g. assign "user" group/role). Read here how to create the superuser: https://github.com/opencv/cvat#create-superuser-account
Originally posted by @nmanovic in https://github.com/openvinotoolkit/cvat/issues/345#issuecomment-470395684

If a newly created user is assigned to any group in admin panel and we were able to save . But when we logout and login again to the superuser account, the assigned group(for example : if a user is assigned to annotator group in admin panel) will be reverted back.

@keshavadk , are you using LDAP or Basic authentication?

For now , we are testing phase ,so we are using basic authentication. In future ,the requirement will  be LDAP.

@keshavadk , which CVAT version do you use? Could you please write a short video how to reproduce the problem?

I will close the issue for now.
Do not hesitate to reopen if you have any updates.


Add ErrorResponseBody from APID through examples/hosted-wallet-kt

Add the ErrorResponseBody ("from APID through to the example app"):

APID
tbdex crate

tbdex::http module
tbdex::http_client module

tbdex_uniffi crate

tbdex_uniffi::http module
tbdex.udl

bound/kt's http package
examples/hosted-wallet-kt's

pfi app's POST /exchanges failed offering verification
wallet app's ExampleErrorFlow

Fix naming GetOfferingsResponse -> GetOfferingsResponseBody
Fix naming GetBalancesResponse -> GetBalancesResponseBody
Rename RustCoreException to TbdexSdkException
Build and commit latest shared libs

FYI this excludes error responses being the type sent in the ReplyToRequestBody -- that matter is not well-defined in the spec currently


Can't resolve<EMAIL_ADDRESS>

What RMWC Version are you using [major.minor.patch]: 6.0.10

Name your build system [Webpack, Rollup...]: Webpack

Describe the bug with as much detail as possible:

Starting from a fresh project, I added @rmwc/theme as a dependency, and it threw the error in the title. Here is a sandbox exhibiting the same issue:
https://codesandbox.io/s/rmwc-typescript-sandbox-wtuk6
It looks like @material/dom is not listed as a dependency of @rmwc/theme.

What happened, and what was supposed to happen:

@material/dom should be installed by @rmwc/theme, since @material/dom is requirement of @rmwc/theme.

Fixed. It was actually an issue where it wasn't included in @rmwc/base. Google accidentally published a non ES5 module so I had to do some hacky workarounds to make it ES5 compliant.
Up with 6.0.11

Works like a charm. Thanks!
By the way, I am loving this library. Thanks for providing it! If you need any help with it, let me know. I do not have a ton of extra time, but I am willing to give back a little when I can.

I’ll take any and all help. Glad you’re enjoying it. Definitely a wide variety of random issues have popped up with the V6 release but I’m squashing then as fast they pop up. Never happy that anyone runs into an issue but fixing edge cases like this make the project stronger.


Date picker to control input values from external state

Area
UI Components
The problem
Have been trying to integrate @salt-ds/lab DatePicker component with React-Hook-Form.
Below is the implementation for controlled DatePicker with React-Hook-Form.
Point to consider :

We wanted to make sure that user is notified about the incorrect format or garbage string, hence we are persisting invalid value in form state.
Backend API's are expected to save date fields as string.

https://stackblitz.com/edit/salt-template-emlnbf?file=App.tsx
The solution
Enable startDateStringValue and endDateStringValue to be controlled props in DateInput ?
Alternatives and examples

Are you a JPMorgan Chase & Co. employee?

[X] I am an employee of JPMorgan Chase & Co.

now part of ongoing date picker work

Input value is controllable now, updated example with lab.52 version.
https://stackblitz.com/edit/salt-template-l4mqoy?file=App.tsx,RHFDatePicker.tsx
This is achievable not, so closing. Left with one minor TS error raised in #4237


Enable TMUX to support debugging efforts

It'd be nice to have the ability to see what is on the filesystem, what processes are running, etc in a running initramfs no matter where we are in ZFSBootMenu. Enter tmux. Set zbm.tmux=1 on the ZBM KCL and build the initramfs with dracut-tmux and /bin/zfsbootmenu will be launched in tmux. This has the added benefit of enabling job control for all processes launched under tmux.
I've moved anything considered 'setup' from zfsbootmenu-countdown.sh to zfsbootmenu-exec.sh so that whatever is launched (tmux, or zfsbootmenu-countdown) is started with the correct serial terminal size, environment variables, etc.
This requires someone to doubly opt in - both by explicitly enabling the dracut-tmux module and by setting the right KCL argument. This is otherwise a very very small code path change in zfsbootmenu-exec.sh.

On bare metal, this isn't doing the right thing when zfsbootmenu-countdown draws a count down timer. It thinks the window is 80x25 - it's only when fzf is started that the true display size is known. tput cols and tput rows also get the wrong size. I'm hacking at this for a bit.

stty size, TIOCGWINSZ ioctl [ioctl_tty(2)]

At least from a qemu serial console, stty size reports 24 80 in a 100x90 terminal window, so there is no automatic conveyance of console size to whatever mechanism stty is using involved in the serial link handshake.

The short-term solution to the problem was to execute echo "Loading ZFSBootMenu ..." in zfsbootmenu-exec.sh. This triggers something that allows exec'd processes (tmux, bash) to see the console at the correct size.


Fix Typos in readme

Fixed in commit a97a6fd
https://github.com/MapleFrogStudio/hobbytrader/commit/a97a6fd9fb16c768e92785c73dfb443db5b4145b


Account disabled

      Hi,

Trying to login i get error message: "User account is disabled."
But trying to change password i get no mail but rescue page says so: "Instructions de réinitialisation de mot de passe envoyés!"
What i'm supposed to do?
Could you help me?
TIA
Gilles

Hey, can you give me your username there support [at] vmail.me I'll see what I can do

domain is gone ...


[Application Bug] table 5741 "Transfer Line" - GetBin

While writing tests for transfer orders, I stumbled upon this bug, since my bins in both locations (Transfer-from Location Code / Transfer-From Bin Code and Transfer-to Location Code / Transfer-to Bin Code) where named the same.
The validation logic in the Transfer Line on the Transfer-to Bin Code fails, because the global Bin record is not refreshed (it still points to the Transfer-From Bin Code).
Current code
 local procedure GetBin(LocationCode: Code[10]; BinCode: Code[20])
    begin
        if BinCode = '' then
            Clear(Bin)
        else
            if Bin.Code <> BinCode then
                Bin.Get(LocationCode, BinCode);
    end;

To be
(copied from table 83 "Item Journal Line")
 local procedure GetBin(LocationCode: Code[10]; BinCode: Code[20])
    begin
        if BinCode = '' then
            Clear(Bin)
        else
            if (Bin.Code <> BinCode) or (Bin."Location Code" <> LocationCode) then   // < Add check on changed Location Code
                Bin.Get(LocationCode, BinCode);
    end;

PS: Please review other similar occurences of GetBin procedures as well !

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 13151.

Availability update: We will publish a fix for this issue in the next update for release 23.
Build ID to track: 13178.


How to create a fixed size collection with desired throughput via ARM?

Is that possible?

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

ID: 048de36f-ce9b-28de-e00e-4ef4dd18aeb0
Version Independent ID: ef5e73de-be72-85e1-c5ec-cb2662e4673a
Content: Azure Resource Manager templates for Azure Cosmos DB API for MongoDB
Content Source: articles/cosmos-db/manage-mongodb-with-resource-manager.md
Service: cosmos-db
GitHub Login: @markjbrown
Microsoft Alias: mjbrown

@OleksandrValetskyy Thank you very much for your interest in Azure cloud. I am investigating this and will update you when I have a better understanding of the current functionality. Than you!

Yes, this is possible but I would encourage you not to do this as there is no benefit to them. Due to ongoing customer feedback we will be deprecating all fixed collections at some point in the future as well.
However, if you insist on doing this and understand the limitations then you simply need to omit the shard key property and include the throughput. Here is a snippit below for the collection resource.
"resource":{
"id":  "[parameters('collectionName')]",
"indexes": [
{
"key": { "keys":["user_id", "user_address"] },
"options": { "unique": "true" }
},
{
"key": { "keys":["_ts"] },
"options": { "expireAfterSeconds": "2629746" }
}
],
"options": {
"If-Match": "",
"throughput": 400
}
}

@OleksandrValetskyy Hope Mark's response is helpful. We will close this issue if there aren't further questions.
#please-close


Make imports local

In order to make it easier to reuse modules, it's helpful to make imports as local as possible.
If we import a package just before we need to use it within a method, it becomes possible to import a module from this repo even if some of the methods require packages that are not yet installed.

Just to clarify: I'm running into difficulty running the CDD downloader script because it also needs pytorch, and I'm having issues with the pytorch from the pytorch channel:
$ python scripts/download_moonshot_data.py -o achiral-racemic.csv -key MjA0MHxwa0daTWExNnE4VGJJYkw2QkJGaDN5ZDR3QnhxS0JQS1ZvZVZJVG0zRWYxN3llWkkzdz09
Traceback (most recent call last):
  File "/lila/home/chodera/github/choderalab/covid-moonshot-ml/scripts/download_moonshot_data.py", line 6, in <module>
    from covid_moonshot_ml.datasets.moonshot import download_molecules
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/covid_moonshot_ml/__init__.py", line 8, in <module>
    from . import nn
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/covid_moonshot_ml/nn/__init__.py", line 1, in <module>
    from .models import *
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/covid_moonshot_ml/nn/models/__init__.py", line 2, in <module>
    from .SchNetBind import SchNetBind
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/covid_moonshot_ml/nn/models/SchNetBind.py", line 2, in <module>
    from torch_geometric.nn import SchNet
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/torch_geometric/nn/__init__.py", line 3, in <module>
    from .sequential import Sequential
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/torch_geometric/nn/sequential.py", line 9, in <module>
    from torch_geometric.nn.conv.utils.jit import class_from_module_repr
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/torch_geometric/nn/conv/__init__.py", line 25, in <module>
    from .spline_conv import SplineConv
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/torch_geometric/nn/conv/spline_conv.py", line 16, in <module>
    from torch_spline_conv import spline_basis, spline_weighting
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/torch_spline_conv/__init__.py", line 15, in <module>
    torch.ops.load_library(spec.origin)
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/torch/_ops.py", line 220, in load_library
    ctypes.CDLL(path)
  File "/lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/ctypes/__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /lila/home/chodera/miniconda/envs/moonshotml/lib/python3.9/site-packages/torch_spline_conv/_basis_cuda.so)

If we can avoid having to import libraries until they're needed, this will make it much easier to use tools even if all dependencies aren't installed.
There are cases (as with SchNet) where we must import at file level a class we will then subclass, but we can avoid importing everything into the namespace until it's needed.


Fix JPEG output for PILLOW 4.2.0.

As of PILLOW 4.2.0, JPEG output fails when given an RGBA image.  Before
it saved just the RGB channels.  This works around the issue.

I've based this PR on the eslint-updates branch, so it would be nice if someone could review both of these.

@jbeezley Thanks.  Since this is based on the eslint-updates branch, would you prefer for me to merge this into that now or wait until it has been reviewed separately?

Those changes look fine as well.  I think we can merge this into other branch and get a passing build to merge into master.


Power-Platform-Blog-Updates Sample Solution Gallery does not redirect to this repository.

Hi :)
Power-Platform-Blog-Updates
Nati Turtledove
Redirect and download from Sample Solution Gallery to the Github solution is not working.
When trying to navigate from Sample Solution Gallery to either download this solution or view it in Github, the redirect breaks.
Steps to Reproduce
Steps to reproduce the behavior:

Go to https://adoption.microsoft.com/en-us/sample-solution-gallery/sample/pnp-powerplatform-samples-Power-Platform-Blog-Updates/
Click on View on Github or Download from Github
See error
There also seems to be an issue with the thumbnail.

Thanks for all the work and support the PnP team provide.

Just merged a PR that fixes this. Should be fixed in the Sample Solution Gallery at the next sync! Thanks for creating the issue!


remove these two cursed lines

so these cursed lines simply check for if the user has achieved test_ach and just return a boolean value

im pretty sure they were there to make sure achievements dict is properly generated

then at least remove the comments if you know what they do


Use Float(_:) to convert from String to Float will lost precision

Use Float("6.33") will get 6.32999992 in Swift
in SWXMLHash+TypeConversion.swift use Float(_:) lost precision

This is swift issue


Portal atmosphere offsets from the camera in third-person view

This bug pretty much broke the immersion. Tested on Minecraft 1.16.5 + Fabric Loader 0.11.6 + Fabric API 0.36.0+1.16 + Immersive Cursedness 1.3.2.

Diving into the code, it seems that the atmosphere is created based on player entity's eye position, rather than the actual camera position:
https://github.com/TheEpicBlock/immersive-cursedness/blob/a2b18350af3b1f0fe2f347f77ff039e39a9c4281/src/main/java/nl/theepicblock/immersive_cursedness/PlayerManager.java#L92
Where net.minecraft.entity.Entity#getCameraPosVec() is defined like (Yarn 1.16.5+build.10-v2):
public final Vec3d getCameraPosVec(float tickDelta) {
    if (tickDelta == 1.0F) {
        return new Vec3d(this.getX(), this.getEyeY(), this.getZ());
    } else {
        // ...
    }
}

However, since net.minecraft.client.render.Camera class is client-only, I doubt if this bug is actually fixable on server side.

The server has no idea whether the client's in f5 or not, yeah

Yeah, I couldn't find any C2S packets telling the server f5 is on. Unless this is changed in a future update there's nothing Immersive Cursedness can do about this


Added testcase to test dump while running workload - v4

This test triggers crash while running cpu and memory workload ebizzy.
Signed-off-by: Pavithra<EMAIL_ADDRESS>

logs.txt


Indexes mismatch

There is a mismatch between the indexes created by 13.0.x and 13.1.0.x.
Release <IP_ADDRESS> brought many changes to the schema. One of them is the deletion of many unique keys. Also the indexes that db-sync creates were split in 2 stages of the migration: The 3rd stage has only a small number of indexes that db-sync itself needs. The 4th stage contains indexes that db-sync doesn't need but are still created for backwards compatibility. The 4th stage runs only when db-sync reaches the tip of the chain (or at the begining if --force-indexes flag is enabled)
While the two releases create eventually the same indexes, one can see that the number of indexes is different with
psql> \di

13.0.5 returns 165 results, while 13.1.0.x 142.
The reason for this difference is that postgres also created indexes for each unique key. Since unique keys are deleted, their indexes are no longer created by postgres. There are 23 unique keys deleted https://github.com/input-output-hk/cardano-db-sync/blob/1040fa9ec85fd75ce9f02dae2006170136793d02/schema/migration-2-0021-20221019.sql, which exactly matched the difference in indexes.
This difference in indexes may cause users to see big differences in the query speed and violates the promise that the two releases create the same indexes eventually, so it should be at least documented. Users can of-course extend the stage 4 migration files with any index they want.
In general, since db-sync is used by different clients with different query needs, it should be the responsibility of clients to add the indexes that they need. More information can be found https://github.com/input-output-hk/cardano-db-sync/blob/1040fa9ec85fd75ce9f02dae2006170136793d02/doc/migrations.md#upgrading-to-13100

Diffing the schemas I found 22 (23rd for extra_key_witnesses shouldn't be there anymore due https://github.com/input-output-hk/cardano-db-sync/pull/1283) which can be re-createad with
CREATE UNIQUE INDEX IF NOT EXISTS unique_ada_pots ON ada_pots USING btree (block_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_col_txin ON collateral_tx_in USING btree (tx_in_id, tx_out_id, tx_out_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_col_txout ON collateral_tx_out USING btree (tx_id, index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_delegation ON delegation USING btree (tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_epoch_param ON epoch_param USING btree (epoch_no, block_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_ma_tx_mint ON ma_tx_mint USING btree (ident, tx_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_ma_tx_out ON ma_tx_out USING btree (ident, tx_out_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_param_proposal ON param_proposal USING btree (key, registered_tx_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pool_owner ON pool_owner USING btree (addr_id, pool_update_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pool_relay ON pool_relay USING btree (update_id, ipv4, ipv6, dns_name);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pool_retiring ON pool_retire USING btree (announced_tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pool_update ON pool_update USING btree (registered_tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pot_transfer ON pot_transfer USING btree (tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_redeemer ON redeemer USING btree (tx_id, purpose, index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_ref_tx_in ON reference_tx_in USING btree (tx_in_id, tx_out_id, tx_out_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_reserves ON reserve USING btree (addr_id, tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_stake_deregistration ON stake_deregistration USING btree (tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_stake_registration ON stake_registration USING btree (tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_treasury ON treasury USING btree (addr_id, tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_tx_metadata ON tx_metadata USING btree (key, tx_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_txin ON tx_in USING btree (tx_out_id, tx_out_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_withdrawal ON withdrawal USING btree (addr_id, tx_id);

Why is there no index for datum?

Why is there no index for datum?

CONSTRAINT unique_datum UNIQUE (hash) is present in all versions

I think it would be useful to have a warning in the release notes pointing to this issue (for now there is just "Removed many unique keys that were never used").
I lost some significant time investigating performance issues.

Diffing the schemas I found 22 (23rd for extra_key_witnesses shouldn't be there anymore due #1283) which can be re-createad with
CREATE UNIQUE INDEX IF NOT EXISTS unique_ada_pots ON ada_pots USING btree (block_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_col_txin ON collateral_tx_in USING btree (tx_in_id, tx_out_id, tx_out_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_col_txout ON collateral_tx_out USING btree (tx_id, index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_delegation ON delegation USING btree (tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_epoch_param ON epoch_param USING btree (epoch_no, block_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_ma_tx_mint ON ma_tx_mint USING btree (ident, tx_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_ma_tx_out ON ma_tx_out USING btree (ident, tx_out_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_param_proposal ON param_proposal USING btree (key, registered_tx_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pool_owner ON pool_owner USING btree (addr_id, pool_update_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pool_relay ON pool_relay USING btree (update_id, ipv4, ipv6, dns_name);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pool_retiring ON pool_retire USING btree (announced_tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pool_update ON pool_update USING btree (registered_tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_pot_transfer ON pot_transfer USING btree (tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_redeemer ON redeemer USING btree (tx_id, purpose, index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_ref_tx_in ON reference_tx_in USING btree (tx_in_id, tx_out_id, tx_out_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_reserves ON reserve USING btree (addr_id, tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_stake_deregistration ON stake_deregistration USING btree (tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_stake_registration ON stake_registration USING btree (tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_treasury ON treasury USING btree (addr_id, tx_id, cert_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_tx_metadata ON tx_metadata USING btree (key, tx_id);
CREATE UNIQUE INDEX IF NOT EXISTS unique_txin ON tx_in USING btree (tx_out_id, tx_out_index);
CREATE UNIQUE INDEX IF NOT EXISTS unique_withdrawal ON withdrawal USING btree (addr_id, tx_id);

these sql make sense with <IP_ADDRESS> version. the query performance improve a lot after creating indexes.

Wow removing all these indexes slowed down my whole app, many queries relied on these columns to be indexed

Wow removing all these indexes slowed down my whole app, many queries relied on these columns to be indexed, removing them was not the best idea

DBSync is currently used as a general purpose backend for Cardano applications. It's impossible to cover all indexes that users may want. Client should be responsible to monitor their queries, eg with EXPLAIN ANALYSE,  and add any indexes that they require. Additionally indexes bring unnecesary delays and removing them has significantly increased syncing speed.

i agree, but it cam a bit offhand, should have been marked as breaking change


⚠ Bofrost.lu has degraded performance

In e0a0b0e, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1923 ms

Resolved: Bofrost.lu performance has improved in 2e4ddc1 after 21 minutes.


Tabs in rows but not in columns

What happened?
Hello,
When I use the plugin, the tabs are created correctly but appear on top of each other instead of next to each other as in the demo. I tried to change the appearance theme but it doesn't change anything. Maybe I am doing something wrong !
Sample Markdown
--- A finaliser
- Etiquettes nouveaux colorants
- Montage

--- Savons à faire
- [ ] Mon ange
- [ ] Crepuscule

Errors
no error
Obsidian Version
No response
Plugin Version
No response
OS
MacOS

Hi, can you send a screenshot so I can see what it looks like?
Also did you try the default obsidian theme?
If it works in the default theme, can you send the theme that you used so I can try to replicate it on my side?

Here are some screenshots :

The first one is with the AnuPpuccin Theme that I am using
The second is with the default obsidian theme
As you can see, it is basically the same problem with both.

Thank you for your helps, I'd really like to use your wonderful plugin !

That's weird... I tried it on my friend's Mac with a fresh install of Obsidian and it works fine so it's not a Mac problem.
Some other reasons that might be interfering with the styles:

Do you have any CSS Snippets? If you have, could you try disabling it?
Maybe some plugin is modifying the styles? To test if this is the case, try one of these:

Disable all plugins except this one and reload Obsidian. If it works, turn back each plugin one by one to find out which plugin is interfering with it.
Create a fresh vault and install the plugin to test.

If it still doesn't work, try adding these lines into CSS Snippets
ul.tab-container {
    display: flex !important;
    flex-direction: row !important;
}

Thanks for your patience and support! I'll try to help as much as possible to solve this issue!

Eureka, I've found the problem!
In fact, it was a double problem: the Style Setting plugin caused the first problem. As soon as I deactivated it, the tabs displayed correctly.
Then I reactivated the Style Setting plugin and tried to disable the snippets I use. And I found that the CSS snippet 'S-Image- Adjustments' also generates tab display problems.
To summarize:

CSS Snippet "S-Image Adjustment" ON and plugin Style Setting OFF = it works
CSS Snippet "S-Image Adjustment" OFF and plugin Style Setting ON = it works
CSS Snippet "S-Image Adjustment" ON and plugin Style Setting ON = it doesn't work

You can find the code for CSS Snippet "S-Image Adjustment" here : https://github.com/SlRvb/Obsidian--ITS-Theme/blob/main/Snippets/S - Images Adjustments.css

Nice! Good job finding the problem :)
So I tried the styles and looked over the code. Here's some changes to make if you want to continue using CSS snippets and the tabs plugin:
Making the tabs line up horizontally
Replace the last line with this:
.img-adj-list :is(ul, ol):not(.tab-container) {
  display: flow-root;
}

Removing extra spacing
Not sure if you have, but if you do have some spacing, like in the screenshot,

Add this in any CSS snippet file.
.markdown-rendered ul.tab-container {
  margin-block-start: 0;
  margin-block-end: 0;
}

Note that I'm planning to make a way for users to modify the styles and the CSS style above might overwrite it. If you want to modify the styles, just comment here again and I'll help you with that.
Let me know if it works!

Yes it works ! I can now activate the plugin and the snippets together.
No problem with space on my computer.
Thank you again for your help !


Pulsar Reader Support

I'd like to use the topic retention policy along with a "Reader" client (https://pulsar.apache.org/docs/2.10.x/concepts-clients/#reader-interface) to be able to retrieve all retained messages on initialization of the consumer service, even those that have been acknowledged.  It doesn't appear that there is any means to do this in the current spring-pulsar client interfaces?

Hi @rfecher ,
There is currently no support for the regular (imperative client) reader yet. We will try to get to this soon though.
However, there is a Reactive reader that is auto-configured (see https://docs.spring.io/spring-pulsar/docs/current-SNAPSHOT/reference/html/#reactive-pulsar-reader).

thanks for the quick response @onobc!

Closing via

https://github.com/spring-projects-experimental/spring-pulsar/issues/328
https://github.com/spring-projects-experimental/spring-pulsar/commit/8dd39fdc7add5b6ae75f53e2a47eaeeaaa355408

@rfecher first wave of the imperative support has been added w/:

auto-configured PulsarReaderFactory
config props for the reader factory (spring.pulsar.reader.*)

Docs will be here shortly https://docs.spring.io/spring-pulsar/docs/current-SNAPSHOT/reference/html/#pulsar-reader
https://docs.spring.io/spring-pulsar/docs/current-SNAPSHOT/reference/html/#reactive-pulsar-reader
I believe we are planning on adding a @PulsarReader as well. Stay tuned. But you can grab a snapshot now and give it spin.


Publish first version to PyPi

Publishing is done but Trusted Publishing is missing due to a lack of projen support

https://github.com/projen/projen/issues/3121


MIC-133 add identfied need

Codecov Report
Attention: Patch coverage is 97.26027% with 2 lines in your changes missing coverage. Please review.

Project coverage is 86.93%. Comparing base (9ac5a7e) to head (075e001).

Files
Patch %
Lines

.../exception/MissingPrerequisiteResourceException.kt
0.00%
2 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##               main      #86      +/-   ##
============================================
+ Coverage     85.69%   86.93%   +1.23%
- Complexity      572      610      +38
============================================
  Files           113      114       +1
  Lines          1888     1960      +72
  Branches         98       98
============================================
+ Hits           1618     1704      +86
+ Misses          230      216      -14
  Partials         40       40

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


🎉🎊🍾 [New Feature] Let reusable workflow about running test could run with one Python version or multiple Python versions.

Target

Let reusable workflow about running test could run with one Python version or multiple Python versions.

Effecting Scope

Add new feature without breaking changes.

Description

Divide the reusable workflow about running test as

Run test with one specific Python version in one specific runtime OS environment.
Run test with multiple Python versions with multiple runtime OS environments.

Add new parameters for the changes.

runtime_os: Which OS environment it should use to prepare for running.
python_version:  Which Python version it should use to test.

Remove all unused setting in configuration.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.667%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2

Relevant Lines:
3

💛  - Coveralls


Unreal: Support for Unreal Engine 5.1

Brief description
Unreal 5.1 changed some of its API so class names are specified with path and name separately. Listing of instances (either loaded or for publishing) didn't work. This PR is fixing it with backwards compatibility in mind.
Testing

In Unreal 5.1 project try to open Asset Loader - it should be able to list published assets
Publishing should work too

I've fixed those warnings. But for the icon - I can see it there:


Set correct device for torch.arange for DETA

I believe the code changes explain itself.

I believe the code changes explain itself.

Thank u so much for fixing this


Fix max path length limitation

This PR does the following:

Removes dependence on VBScript (as MS confirmed that it will be deprecated in future Windows updates) by replacing it with conhost.exe --headless to retain the same behavior
Fixes #7 - a Windows explorer.exe limitation with paths that are longer than 259 characters.

The fix involves obtaining the "Short Path" equivalent of the supplied path, e.g.:

\MyNetworkDrive\Downloads\Public\Some-Extremely-Long-Path-Some-Extremely-Long-Path-Some-Extremely-Long-Path-Some-Extremely-Long-Path\Some-Extremely-Long-Path-Some-Extremely-Long-Path-Some-Extremely-Long-Path.txt

Becomes:

\MyNetworkDrive\downloads\Public\SLVHNR~S\SCXL2T~U.TXT

On my system (W11, network drive) ladderr-open and ladderr-select don't seem to work 95% of the time. With files, ladderr-open works as expected. I would provide examples, but it happens with practically every torrent.
I saw the caveat about network drives in #7, if this is the problem, could you add how to fix it in the README.

@Luffier - just to be clear, when you say 95% of the time, do you specifically mean with the latest changes of this PR (i.e. v0.6)? Or do you instead mean with v0.5?

@alexcodito Yes, this PR version (v0.6).

@Luffier could you do me a favor and try the following .reg please? It essentially just prepends \\?\UNC to the path. It's odd because it works both with and without it. Worst case scenario, would you be willing to share a sample b64 generated URI for further investigation?
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\ladderr-open]
@="URL:ladderr Open Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\ladderr-open\shell]

[HKEY_CLASSES_ROOT\ladderr-open\shell\open]

[HKEY_CLASSES_ROOT\ladderr-open\shell\open\command]
@="conhost.exe --headless powershell -WindowStyle Hidden -Command $url = '%1' -replace 'ladderr-open:', ''; Start-Process explorer.exe ((New-Object -ComObject Scripting.FileSystemObject).GetFile(\\?\UNC' + [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($url))).ShortPath)"
[HKEY_CLASSES_ROOT\ladderr-select]
@="URL:ladderr Open Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\ladderr-select\shell]

[HKEY_CLASSES_ROOT\ladderr-select\shell\open]

[HKEY_CLASSES_ROOT\ladderr-select\shell\open\command]
@="conhost.exe --headless powershell -WindowStyle Hidden -Command $url = '%1' -replace 'ladderr-select:', ''; Start-Process explorer.exe ('/select,' + (New-Object -ComObject Scripting.FileSystemObject).GetFile('\\?\UNC' + [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($url))).ShortPath)"

Same thing.
// WORK
[Ladderr] Remote path:  Z:\downloads\movies\steamboat-willie-mickey
[Ladderr] URI created:  ladderr-open:WjpcZG93bmxvYWRzXG1vdmllc1xzdGVhbWJvYXQtd2lsbGllLW1pY2tleQ==
[Ladderr] Remote path:  Z:\downloads\movies\steamboat-willie-mickey
[Ladderr] URI created:  ladderr-select:WjpcZG93bmxvYWRzXG1vdmllc1xzdGVhbWJvYXQtd2lsbGllLW1pY2tleQ==
// DON'T WORK
[Ladderr] Remote path:  Z:\downloads\movies\steamboat-willie-mickey\01 - Steamboat Willie.mkv
[Ladderr] URI created:  ladderr-open:WjpcZG93bmxvYWRzXG1vdmllc1xzdGVhbWJvYXQtd2lsbGllLW1pY2tleVwwMSAtIFN0ZWFtYm9hdCBXaWxsaWUubWt2
[Ladderr] Remote path:  Z:\downloads\movies\steamboat-willie-mickey\01 - Steamboat Willie.mkv
[Ladderr] URI created:  ladderr-select:WjpcZG93bmxvYWRzXG1vdmllc1xzdGVhbWJvYXQtd2lsbGllLW1pY2tleVwwMSAtIFN0ZWFtYm9hdCBXaWxsaWUubWt2

Thanks for the examples. It seems that the main difference is that you're pointing to Z:\ drive, whereas I'm pointing to \\my-net-drive\. I've taken the time to recreate your environment (same drive, folder structure and files as your example) and reproduced the issue. Interestingly though, I'm finding the exact opposite (WORK and DON'T WORK is the other way around for me). Did you maybe mislabel them by any chance? In any case, I'll try to get it working for both setups.

No, it's not mislabeled (checked again just in case), any action over a folder seems to fail. And sorry, should have linked the torrent with the original examples: https://archive.org/details/steamboat-willie-mickey

Hi, I've encountered a problem with some paths containing Japanese chars, using conhost fixes it. Would it be possible to split this pull request into two? One for the removal of the VB dependency and another for the path length limitation.

@Luffier that's done now. Please review/test. I'll raise another PR for the path length issue when this is merged.


SUT startup time variable does not function as maximum waiting time, but is blocking for startup

I think the idea of having an SUT start up time setting is for it to function as a maximum waiting time. However, TESTAR will always wait until the maximum waiting time has expired on startup, before it will start testing the SUT.
This is caused by this piece of code in the DefaultProtocol class: (line 1200)
//Print info to the user to know that TESTAR is NOT READY for its use :-(
String printSutInfo = "Waiting for the SUT to be accessible ...";
double startupTime = settings().get(ConfigTags.StartupTime)*1000;
int timeFlash = (int)startupTime;

//Refresh the flash information, to avoid that SUT hide the information
int countTimeFlash = 0;
while(countTimeFlash<timeFlash) {
	FlashFeedback.flash(printSutInfo, 2000);
	countTimeFlash += 2000;
}

I think the idea was for this popup to run asynchronously, but it actually blocks.

Solved in https://github.com/TESTARtool/TESTAR_dev/commit/02526aa29e952be4725ce54b62fe74d3fbb0fc88#diff-3c4e8b1fdbc283fbb3c60ed8f95764e7


Handle PipelineStoppedException properly

When piping a Get-ChildItem call to something that prematurely halts a pipeline (e.g. Select-Object -First 1), it results in an error because PipelineStoppedException is not being handled properly.

Closed by 0b6b8d2747b81e42578d721faf8c3d6bbaeabe3f


Clearer documentation regarding pattern topics

The following is an excerpt from the documentation regarding pattern topics:
// subscribe to all topics by `topic1.*` pattern
RPatternTopic topic1 = redisson.getPatternTopic("topic1.*");
int listenerId = topic1.addListener(Message.class, new PatternMessageListener<Message>() {
    @Override
    public void onMessage(String pattern, String channel, Message msg) {
         Assert.fail();
    }
});

The pattern string looks like a regexp even though it is a glob string, which confounded us.
Please clarify the documentation, both in the code example - for instance by replacing "topic1.*" with something like "topic.x*" - and the documentation for RedissonClient.getPatternTopic()

Fixed! Thanks for pointing out!


Suggestion: Discord / EAS should fire an event for when the Activity is closing

Hello all. I have been enjoying integrating the Embedded App SDK (EAS) into my multiplayer game, however I have run into a pretty sticky problem: I have no way of detecting when a user leaves the activity. Since my activity is a game, I need to gracefully exit the lobby so that I can remove the player from the game. Currently, it seems that leaving the activity abruptly closes the iframe / webview that the app is running in, which looks like a dropped connection to my server (i.e. the player is marked as "disconnected" - this would normally occur e.g. if your internet dropped).
I have tried various workarounds which are somewhat successful, however NONE of them seem to work on iOS. Here's what I've tried:

// Add listeners to different events, to see if any of them work on every platform
// At least one seems to work on every platform except iOS
// (`visibilitychange` seems to be the most reliable)
// NONE of these fire when running an Activity in the iOS Discord client
window.addEventListener('unload', () => hangup('unload'));
window.addEventListener('beforeunload', () => hangup('beforeunload'));
window.addEventListener('pagehide', () => hangup('pagehide'));
document.addEventListener('visibilitychange', () => hangup('visibilitychange'));

function hangup(event) {
  console.log(`[Hangup] Event fired: ${event}`);
  // ... Send a "disconnect" message to server over websocket
}

I could refactor the way my API works to simply remove a player any time their connection drops but this is IMO pretty intrusive into my architecture, and completely prohibits the ability to implement any kind of robust networking (such as "timing out" or "disconnecting" if your internet drops momentarily).
I think the Embedded App SDK should expose an event that is fired when the user leaves the activity. I understand this would require changes to the Discord client itself (to give the activity a moment to handle this event before destroying it), but I think not being able to work around this is a pretty large restriction.
If you know of any better workarounds that I could try, please let me know. I can provide a reproduction or share my activity with you if-needed. Happy to beta test any changes too. Thanks!

+1 to this, would love if the client could send an webhook on leave or something like that to be able to detect a disconnect without trusting other clients to all spam the api on participant update or wait for the ws disconnect

@peabnuts123 great callout. We're still trying to figure out the best way to handle edge cases like this. The harsh reality is that websites do not always have a clean "exit" moment. For example the entire browser can be closed or the mobile app can be killed. In those scenarios, there's no code that a client SDK could offer to cleanup prior to the activity closing.
Something like a webhook could really be ideal, but we don't offer that at this time.
There are a few holistic options to lean on

Often netcode has a "closed" event which you can reliably use to know when a user has been disconnected

For example, the netcode framework Colyseus has the concept of onLeave which is handled by disconnection of a user, rather any events from Discord or the embedded-app-sdk. Example here

(Per your suggestion) if the connection drops for more than a certain amount of time, consider the user "gone"
(Not recommended, but some trivia) You could utilize the ACTIVITY_INSTANCE_PARTICIPANTS_UPDATE event

This is a bit messy, as it requires another user to broadcast the event to your server. It works ok if you have netcode which designates a user as the activity "host"

I'm closing this issue, as there's not necessarily a clear path forward for our SDK to offer you. The main suggestion would be to lean on existing netcode solutions

@matthova Thanks for the consideration, however I think you may have misunderstood what this issue is about. Those are all appropiate solutions for handling edge-cases (e.g. if the user's phone dies, they abruptly quit Discord, etc.). I don't have any issue with handling those via some kind of "Timing out -> Disconnect after 30 seconds" type logic (this is actually what my game is already doing).
This issue is about happy-path / graceful, intentional exiting of the application (e.g. leaving the activity, or hanging up the call). The Discord client knows when the user clicks the "Leave" button, and could dispatch an event on the iframe. What is happening at-present is the iframe is destroyed immediately and not enough time is even allowed for any of the "page exited" events to fire, let alone a bespoke event as part of the Embedded App SDK (which would be the ideal).


Support projections-style transformations to reduce false-positives

Basic aliases (e.g. admin?/be_admin) can be represented easily with simple
wildcards, but more complex transformations require a different mechanism.
Instead of using %s to represent strings that can be replaced 1:1, this
introduces a syntax inspired by https://github.com/tpope/vim-projectionist, as
such:
- name: Rails
  aliases:
  - from: "*Validator"
    to: "{snakecase}"

This would find AbsoluteUriValidator and also match absolute_uri, which
would be found if the validation was in use.
This currently supports the camelcase and snakecase transformations.
Closes #18

I've not publicly documented the alias configuration yet, which is why there's no mention of this change in the README

This is looking good! It might be an improvement to:

Include the fully-normalized transform as part of the TermAlias type
Parse the transformations when parsing the configuration, so that failures can be handled there

@jferris great points; I'd been silently failing, but I like having this happen when parsing. I was able to kill two birds with one stone in https://github.com/joshuaclayton/unused/pull/59/commits/4497cdb44d3fb2391a9ff99fb99bcee334ddb781
I switched to megaparsec since attoparsec's error messages aren't helpful at all.
Here's a screenshot with parsing the local file. Exciting!

Nice!


Updated release notes for 3.0

Updated release notes for 3.0

I don't have permissions to edit content in this PR. Therefore, create a new PR with the same content and continue from there.


Add GitHub Enterprise Support

Is it possible to add GitHub Enterprise support to the app ?
Idea would be to add a GitHub Enterprise sign in button on launch screen in addition to the sign in button that will ask for the GitHub Enterprise URL and so redirect to the GitHub Enterprise url instead of GitHub.com

This would be absolutely awesome but definitely need to explore how trivial this can be.

I assume all the APIs provided by GitHub will also be supported for enterprise accounts but I'm not sure.
Is there anything specific with Enterprise that we feel we need to extend in the application? Or will the base APIs be sufficient (assuming 1 is true)

Opening the floor to discussion 💬

The only thing is that there is a delay between a feature added to GitHub.com and a feature added to the Enterprise version. Except that, there is no difference except the URL path.
I don't think so.

By the way if you want to check, you can ask for a 30 days trial of a GitHub Enterprise instance.

Any updates on progress of this one?


Installation

Hello
how can I install the addons?
thank you

You would download the APK for the addon from the Releases page and install it on your phone, and it should then show up in the AAIdrive phone interface.

Ohhh
Didn't realise there are apk to install, will try tomorrow
Sorry!

Hi,
Which of APK-files should I choose for Android 13 phone?
I have not succeeded to install the add-on APK-file. It says the file is not valid.
Thank you for your help?

Hmmm some phones might not like the debug cert used by those files, I'll see about enabling release builds for them.

So i had the same issue with a OnePlus 8 Pro with Android 13.
I could easily install them via adb install and USB Debugging

Please send a note once available.

The addons are now built with Release keys and should no longer cause you any problems.


Update dependency nunomaduro/collision to v8

This PR contains the following updates:

Package
Type
Update
Change

nunomaduro/collision
require-dev
major
^7.0 -> ^8.0

Release Notes

nunomaduro/collision (nunomaduro/collision)
v8.1.0
Compare Source
Added

Laravel v11 support
PHPUnit v11 support
Pest v3 support

v8.0.1
Compare Source
v8.0.0
Compare Source
Added

Symfony v7 support

Removed

Symfony v6 support

Configuration
📅 Schedule: Branch creation - "after 7pm every weekday,before 5am every weekday,every weekend" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: src/composer.lock
Command failed: composer update nunomaduro/collision:8.1.0 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires nunomaduro/collision ^8.0 -> satisfiable by nunomaduro/collision[v8.1.0].
    - nunomaduro/collision v8.1.0 requires nunomaduro/termwind ^2.0.0 -> found nunomaduro/termwind[v2.0.0] but these were not loaded, likely because it conflicts with another require.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.


Proposal: Notification function

We discussed about how to inform users that their ITs will be terminated after 24h. There were several suggestions: The website, training material, as static text in the 'running ITs' window and a notification that is send to users.
So I came to the idea that maybe TPV can send notifications to the user via the Galaxy API. These could be specified e.g. similar to the fail message and be triggered by a rule like:
- if: input_size > 10
  notify:
    msg:
    subject: "Tool suggestion for *small file Tool*",
    message: "Please consider using the *tool for larger input files*",
    category: "info"
# OR
- if: true
  notify:
    subject: "24h lifetime for Interactive Tools",
    message: "For giving everyone a shorter waiting time we terminate Interactive tools after 24h",
    category: "warning"

Please share your opinions and ideas

If this is used often enough, providing a shorthand syntax may be worthwhile, but I'll wait for others to chime in. One suggestion, can we prototype this first with:
if: input_size > 10
execute:
   # do this notification using the API somehow

We could even start off with just a helper function in helpers.py. Later we can introduce the notify shorthand syntax?

A helper function could work in the beginning.
A few more use-cases:

deprecating tools (tophat)
moving users from one tool to a more performant tool (fastqc --> falco)
known bugs in certain tool versions
certain hints for GPU tools or otherwise limited tools


BPE vocab

Do you guys have the functionality to support BPE with the models?

Not speaking for the core developers, but pytorch-pretrained-BERT supports it, because:

GPT-1 use BPE, see code here
GPT-2 use BPE on byte level, see code here

BERT uses a variant of BPE (word pieces) and the pretrained language model for Transformer-XL was trained on WikiText-103 (so it is a word-based model).


Stripped build always includes unused Packets, causes errors on IOS build in Xcode

Plugin Version or Commit ID
358f7b9ac6f08d4e4f7b1d1fac9d5458e2d1730f
Unity Version
2022.1.2f1
Your Host OS
MacOS M1 Mac 12.4 Monterey
Target Platform
iOS
Target Device
iPhone 6
[iOS Only] XCode Version
13.4 (13F17a)
Build Command
python build.py build  --ios arm64 --linkopt=-s -vv
Bug Description
When building mediapipe with some unneeded models/graphs removed (e.g. Pose tracking only build), in Xcode the build will still contain and try to access packets/graphs which are not needed in the build or ones that have been removed. This doesn't affect desktop builds but it affects IOS builds and these errors pop up in Xcode.
This is caused by commenting out unused parts in the mediapipe_api BUILD file before building then trying to build just the required demo scene e.g. Pose tracking only
Steps to Reproduce the Bug

Pull down the Repo from the commit mentioned above
Replace or edit the mediapipe_api/BUILD file to match this one: BUILD.txt
Build mediapipe using the command from above
Open the project in Unity, set to only build the Posetracking sample for IOS
Set Player Settings > Stripping to MInimal or Low (should be Minimal by default)
Try to build and run to IOS, see errors in Xcode

Log
Showing Recent Messages
Undefined symbol: _mp_Packet__GetTimedModelMatrixProtoList
Undefined symbol: _mp_Packet__GetFrameAnnotation
Undefined symbol: _mp__MakeAnchor3dVectorPacket_At__PA_i_Rt
Undefined symbol: _mp_Packet__GetFaceGeometry
Undefined symbol: _mp_Anchor3dArray__delete
Undefined symbol: _mp_Packet__GetFaceGeometryVector
Undefined symbol: _mp_Packet__GetAnchor3dVector
Undefined symbol: _mp__MakeAnchor3dVectorPacket__PA_i
Screenshot/Video

Additional Context
The workaround for this currently is to edit these files so that they have commented out UnsafeNativeMethods and DllImport(MediaPipeLibrary, ExactSpelling = true)]     public static extern MpReturnCode for the problematic or remaining methods, as well as making any functions calling them to return null values
File names:
FaceGeometryPacket.cs
FaceGeometryVectorPacket.cs
FrameAnnotationPacket.cs
TimedModelMatrixProtoListPacket.cs
Anchor3dVector.cs
InstantMotionTracking_Unsafe.cs
Anchor3dVectorPacket.cs
Protobuf_Unsafe.cs
Zip of files
FixedFiles.zip
I wonder if there is some way to make these just return nothing if they are not used in the demo scenes? This fix works for us for now.
I also had to go do this to get the app actually running on IOS which may help others:

Change the Bootstrap asset loader type to Streaming Assets
Go to Build Phases, expand Embedded Frameworks and select all Code Sign on Copy checkboxes for the build to install in Xcode then once running, the device camera wouldn't work until I opened the camera menu in app, selected image then webcam again and changed the device camera to front, once I hit exit the use camera permission showed and I could then see the camera on IOS.

Replace or edit the mediapipe_api/BUILD file to match this one: BUILD.txt

If you don't want to modify C# source files, you cannot change the deps of mediapipe_c (i.e. //mediapipe_api/graphs/object_detection_3d/calculators:model_matrix, //mediapipe_api/graphs/instant_motion_tracking/calculators:transformations, //mediapipe_api/modules/face_geometry/protos:face_geometry, //mediapipe_api/modules/objectron/calculators:annotation).

Replace or edit the mediapipe_api/BUILD file to match this one: BUILD.txt

If you don't want to modify C# source files, you cannot change the deps of mediapipe_c (i.e. //mediapipe_api/graphs/object_detection_3d/calculators:model_matrix, //mediapipe_api/graphs/instant_motion_tracking/calculators:transformations, //mediapipe_api/modules/face_geometry/protos:face_geometry, //mediapipe_api/modules/objectron/calculators:annotation).

I understand, hopefully this issue will be useful for anyone else who finds this as I detailed what we did to get it working.


Set build window to always open in the same window as the build

Is there a setting to make the build command always open in the same window as the build command was run? Normally I have a small dired open on the left side and it always opens the build window in this small window.

I'm not quite getting you. Can you take a screenshot of 1) where the build
view shows up and 2) where you want it to show?

From looking at the code quickly it seems you try to figure out if there is a window open above or below the current window and it puts the build window there if so. If not, it will put the window in the same window the build command was run from.
Maybe a way to override determining where to put the window and always put it in the same group as the window with the build. I noticed you don't have a user settings file either.
A before shot:

A link after:

The "after shot" that you posted seems to be what the plugin is currently doing, right? The "after shot" that I want is what you want the window/build output layout to be, so I can better understand what you want.

The after shot should just show the build window in the right window group (the larger one) instead of the left. Basically, it would just put it in the window where the build command is initiated and not try to figure out a smart location for it. Do you need me to upload this?

Haha, got what you mean, no need to upload, thanks. I'll work on it.
But if you shift (drag and drop) the build output to the right window
group, and you subsequently run builds, the view stays there (right group)
right? It should stay there if you leave the build output view there and
switch back to your source code, and if you close the build output view,
running a build should cause it to open in the right again.

I had problems with moving the build window before but realized it's the same issue as #19. If bv_enabled is false in the user settings all goes screwy if you try to enable it then for each window. Maybe a user settings file could help this, idk?
Anyways, if I put it back to true I get the behavior you describe. I can move the build window where I desire.


Ansible Boolean Conditions

In newer Ansible version by using a condition, wich has boolean value you have to define the condition with "|bool".

Can you give a example where you found a wrong condition.

fixed with 9dc0e5d


Design meeting discussion:December 4, 2014

This issue is for discussion of the EF design meeting on December 4, 2014.
Items discussed were:

Graph behaviors
DbSet queries
Migrations and namespaces

Please comment on this issue to provide feedback, ask questions, etc.

I agree with @julielerman. Although you can use the overload I prefer a more explicit and easy to use method (AttachRoot). It would be especially useful for people starting to use the API.

I really like a version of AttachGraph that accepts an Action because it lets you set the entity state using whatever criteria you want.  For example, I would set state based on some sort of metadata (tracking state), including property-level state for partial updates.
I'm not so crazy about a version of AttachGraph that actually sets state to Updated or Added.  First, I'm not sure how useful it would be -- it would not support partial updates, deletes, or adds with non-integer keys.  Second, the name is a bit misleading.  Attach should, well, attach the entity, that is, set the state to UnChanged.  But I'm still not sure how useful that would be, because you would have to "replay" the updates, which is not ideal, or call Add/Remove, which already attach the entity.
So my vote would be to keep this version:
void AttachGraph(object root, Action<EntityEntry> callback)

And drop this one:
void AttachGraph(object root)

Cheers,
Tony

I agree with @tonysneed that the AttachGraph method that accepts callback will be very useful . But (IMHO) I also think it is important to create a method (AttatchRoot like @julielerman says) to facilitate basic scenarios without having to worry about writing the callbak to customize the entity state.
Right now I have a couple of projects where I could use it.
Thanks!

@pacoweb - How would AttachRoot differ from the DbSet.Attach which just attaches the entity that you pass to it?

Yeah @pacoweb you may not realize that attach/add only touch the root now, not the graph. Big break from the past but probably the only way to ensure consistency. I wasn't aware of that when I opened this. So now the issue is working out if/when/how/which WRT attaching the rest of the graph (if there is one).

@rowanmiller - @julielerman - My only concern was the name . I like apis with explicit names. I like AttachGraph is clear. AttachRoot would also be very clear.
Thanks!

There does not appear to be any discussion surrounding deletions when attaching a graph.  Is this tracked anywhere?

We are closing this issue because no further action is planned for this issue. If you still have any issues or questions, please log a new issue with any additional details that you have.


Add tests for RAT

There is no unit tests for RAT class (coreblocks/struct_common/rat.py). Please add them.

I'd like to point out that FRAT and RRAT are being explicitly tested as part of testing other components, they just don't have their dedicated unit tests - the former is tested inside the scheduler test (see here and the latter is tested in the retirement test (see here)


Remove composer v1 support

This removes support for composer v1.
I chose to do this by removing all version-selection code paths as it
results in simpler code. Down the road, if the composer team releases
v3, we will need to add this back, but I suspect that will be a long
time until it happens... v1 grew somewhat organically, and then v2 was
an attempt to cleanup the warts, so they'll probably stay with v2 for a
long time. So no point in us maintaining version selection code for
several years in the meantime.
composer 2 doesn't support PEAR, so we're implicitly dropping
support for it when we drop composer 1. However, PEAR usage has been
mostly supplanted by Packagist.
This is confirmed by our metrics which show low usage of composer 1.
And of those, I'm sure only a fraction will be using PEAR, so this
should have hardly any user impact.
Under composer v1 package names were allowed to have
uppercase letters. These now throw an error in composer v2. I
updated the code / unit tests in this PR to assert the error is handled
as a well-known user error.
Fix: https://github.com/dependabot/dependabot-core/issues/6298

This is basically ready, just blocked on whenever the :dependabot: team is comfortable with the customer impacts of dropping composer v1.

We've dropped composer v1 support:

https://github.blog/changelog/2024-11-06-deprecation-dependabot-no-longer-supports-composer-v1/
https://github.com/dependabot/dependabot-core/discussions/10900

Closing this PR as the work related to drop support for V1 is complete now. https://github.com/dependabot/dependabot-core/pull/10934


improve slurm complete/error email to describe where the pipeline output is

can we customize the email body so users know which pipeline run failed?
also would be cool to run grep -v completed on the jobby log and include that in the email

something like this
# Custom job body message function
send_custom_email() {
    echo -e "Job Name: $SLURM_JOB_NAME\nJob ID: $SLURM_JOB_ID\nJob Status: $1\nNode List: $SLURM_JOB_NODELIST\nStart Time: $(date)" \
    | mail -s "SLURM Job ${SLURM_JOB_ID} - ${1}"<EMAIL_ADDRESS>}

# Capture the job exit status
EXIT_STATUS=$?

# Send a custom email based on job success or failure
if [ $EXIT_STATUS -eq 0 ]; then
    send_custom_email "COMPLETED"
else
    send_custom_email "FAILED"
fi

solution from stack overflow: https://stackoverflow.com/a/73293621/5787827

response from Wolfgang Resch:
The email format sent by slurm is a cluster-wide configuration and we
use the default. So unfortunately you cannot customize that email
yourself. You could modify your shellscript to send email directly.
Something like

#!/bin/bash
#SBATCH --mail-type=BEGIN

### IMPORTANT
# need to use -S sendwait for mail(x). otherwise mail(x) will do
# a double fork and return before mail is sent. then, if the batch
# script exits too soon, the background sendmail process will get reaped
# before the mail can get sent.

secs_to_human(){
    printf "%02i:%02i:%02i" $(( ${1} / 3600 )) $(( (${1} / 60) % 60 )) $(( ${1} % 60 ))
}

send_mail() {
    local _status _rt _subj
    _status="${1:-OK}"
    _rt="$(secs_to_human $(($(date +%s) - ${start})))"
    _subj="Slurm Job_id=${SLURM_JOB_ID} Name=${SLURM_JOB_NAME} ${_status}, runtime ${_rt}"
    cat <<__EOF__ | mail -S sendwait -s "${_subj}"<EMAIL_ADDRESS>my wonderful $SLURM_JOB_NAME job ${_status}. I can put all kinds of stff
into the body of this email. It's awsome. Hip hip horray. Or maybe i'll just
put in the logfile. Lore ipsum etc pp
__EOF__
}

start=$(date +%s)

if (
    set -e -o pipefail
    ### put your task here or call your actual batch script
    sleep 1m
)
then
    send_mail finished
    exit
fi
send_mail failed
exit 1

Depending on what you want to achieve you might want to trap some
signals in the parent script and / or subshell. You could make that
into a wrapper so that you wouldn't have to re-write your script.


Render permalinked lines

It looks like we don't really render the lines and surrounding UI when linking directly to code. It would be great to better handle cases like this to make the delta from gh.com to the extension less jarring.
GHPRI

github.com

No syntax highlighting (I'll see if it's feasible), but it's still a big improvement:


Migration - Change backend of all tables in destination database to be InnoDB

We eventually want to migrate the database off MySQL to MariaDB / Galera. In order to do this we MUST change the backend of each table to be InnoDB and stop relying on MyISAM.
For a start, we should rebuild the database tables in the new database before migration to be InnoDB. We may run into commit issues though. (See issue #5.)

There is code on psat-server-web repository (convert_backend_storage_to_innodb.sql) to convert the backend of all the tables to InnoDB. It just needs to be run once.