Plugin is included in composite-build cannot resolve org.jetbrains.annotations

Hi!
I have following project structure of idea plugins:
outer-plugin-project
|-inner-plugin-project
  |-backend-module
  |-inner-plugin-module
|-outer-plugin-module

Inner plugin project is a full-fledged gradle project with its own build.gradle, settings.gradle, buildSrc. Actually, it is included in outer plugin project as a git submodule, has separate git repo, and also included with includedBuild gradle feature. Outer plugin uses backend-module.
The problem is, when I invoke runIde being inside inner plugin project, it starts normally, but when I go to the outer project directory and invoke runIde there, it fails with error, that inner project task compileJava cannot resolve jetbrains annotations.
Could not determine the dependencies of task ':studio-backend:compileJava'.
> Could not resolve all task dependencies for configuration ':studio-backend:compileClasspath'.
   > Could not find org.jetbrains:annotations:19.0.0.
     Searched in the following locations:
       - https://cache-redirector.jetbrains.com/www.jetbrains.com/intellij-repository/releases/org/jetbrains/annotations/19.0.0/annotations-19.0.0.pom
       - file:/home/alexander/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/201.7846.76/86566d2c582df026dd77c0c502a21dfac312563a/ideaIC-201.7846.76/org.jetbrains/annotations/19.0.0/ivy-19.0.0.xml
       - file:/home/alexander/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/201.7846.76/86566d2c582df026dd77c0c502a21dfac312563a/ideaIC-201.7846.76/annotations-19.0.0-withKotlin-withSources-withoutAnnotations.xml
       - file:/home/alexander/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/org.jetbrains/annotations-19.0.0.xml
     Required by:
         project :studio-backend

apparently you don't have a mavenCentral repo registered in one of the projects

Thank you for the fast answer! But I already have mavenCentral included in all projects and subprojects.

could you share the build.gradle files?

I have the same problem：
12:35:03: Executing task ':runIde'...

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':compileClasspath'.
> Could not find org.jetbrains:annotations:19.0.0.
  Searched in the following locations:
    - https://cache-redirector.jetbrains.com/www.jetbrains.com/intellij-repository/releases/org/jetbrains/annotations/19.0.0/annotations-19.0.0.pom
    - https://cache-redirector.jetbrains.com/www.jetbrains.com/intellij-repository/releases/org/jetbrains/annotations/19.0.0/annotations-19.0.0.jar
    - file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/org.jetbrains/annotations/19.0.0/ivy-19.0.0.xml
    - file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/annotations-19.0.0-withKotlin-withoutAnnotations.xml
    - file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/org.jetbrains/annotations/19.0.0/annotations-19.0.0.jar
    - file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/annotations.jar
  Required by:
      project :

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 4s
1 actionable task: 1 executed
Could not find org.jetbrains:annotations:19.0.0.
Searched in the following locations:
  - https://cache-redirector.jetbrains.com/www.jetbrains.com/intellij-repository/releases/org/jetbrains/annotations/19.0.0/annotations-19.0.0.pom
  - https://cache-redirector.jetbrains.com/www.jetbrains.com/intellij-repository/releases/org/jetbrains/annotations/19.0.0/annotations-19.0.0.jar
  - file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/org.jetbrains/annotations/19.0.0/ivy-19.0.0.xml
  - file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/annotations-19.0.0-withKotlin-withoutAnnotations.xml
  - file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/org.jetbrains/annotations/19.0.0/annotations-19.0.0.jar
  - file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/annotations.jar
Required by:
    project :

buildscript {
    repositories {
        mavenCentral()
        maven {
            url "https://oss.sonatype.org/content/repositories/snapshots/"
        }
        maven {
            url 'https://dl.bintray.com/jetbrains/intellij-plugin-service'
        }

    }
    dependencies {
        classpath "org.jetbrains.intellij.plugins:gradle-intellij-plugin:0.5.0-SNAPSHOT"
    }
}
apply plugin: 'org.jetbrains.intellij'

group plugin_group
version plugin_version

intellij {
    pluginName 'xxxxxxxx'
    version 'CL-2020.1.3'
    downloadSources false
    instrumentCode false
}

patchPluginXml {
    changeNotes getChangeNote(projectDir)
    sinceBuild '201.0'
}

publishPlugin {
    channels plugin_channels
    token "............."
}

instrumentCode{
    compilerVersion '201.8743.17'
}

dependencies{
    compile fileTree(dir: 'libs', include: '*.jar')
}

static def getChangeNote(File projectDir){
    .......
    return change
}

I copied annotations-19.0.0.jar to the path below and solved this problem
file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/org.jetbrains/annotations/19.0.0/annotations-19.0.0.jar

Just enable mavenCentral repo in your build script. Right now it’s absent.
The current “workaround“ you use is wrong and it won’t work on CI or after
you upgrade IDE dependency
On Sat, 25 Jul 2020 at 18:12, Ahren-Li<EMAIL_ADDRESS>wrote:

I copied annotations-19.0.0.jar to the path below and solved this problem
file:/C:/Users/86480/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.clion/clion/2020.1.3/e3496409e017d1e449d1df07a2b287bf6edbed4/clion-2020.1.3/org.jetbrains/annotations/19.0.0/annotations-19.0.0.jar
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/JetBrains/gradle-intellij-plugin/issues/520#issuecomment-663866331,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABCM6DUU2BH5LJUJ7KO4KTR5LY53ANCNFSM4PFUAQPA
.

closing due to lack of feedback. @alexander-shustanov, likely you have the same problem as @Ahren-Li. To fix it just add mavenCentral to your project repositories. See the docs here: https://docs.gradle.org/current/userguide/declaring_repositories.html


Not a bug - Question on usage - Submitting a multi-leg order

Hello,
I've been trying to use your API to place options orders. However, as much as I follow the code and the examples, I'm having a really hard time placing a multi-leg order, such as the one in the tastytrade documentation. Below is the example. Could anyone please advise as to how this can be done with this API? Much appreciated.
{
  "source": "my-api-code",
  "order-type": "Limit",
  "time-in-force": "Day",
  "price": "1.51",
  "price-effect": "Credit",
  "legs": [
    {
      "instrument-type": "Equity Option",
      "symbol": "TSLA  230714P00210000",
      "action": "Buy to Open",
      "quantity": "1"
    },
    {
      "instrument-type": "Equity Option",
      "symbol": "TSLA  230714P00215000",
      "action": "Sell to Open",
      "quantity": "1"
    },
    {
      "instrument-type": "Equity Option",
      "symbol": "TSLA  230714C00282500",
      "action": "Sell to Open",
      "quantity": "1"
    },
    {
      "instrument-type": "Equity Option",
      "symbol": "TSLA  230714C00290000",
      "action": "Buy to Open",
      "quantity": "1"
    }
  ]
}

My attempt to do this is below. The problem here is that I see no place where I can specify the option contract identifier (e.g. TSLA  230714C00290000).
symbol = Equity.get_equity(session, 'TSLA')
leg1 = symbol.build_leg(Decimal(1), OrderAction.BUY_TO_CLOSE)
leg2 = symbol.build_leg(Decimal(1), OrderAction.SELL_TO_CLOSE)
leg3 = symbol.build_leg(Decimal(1), OrderAction.SELL_TO_CLOSE)
leg4 = symbol.build_leg(Decimal(1), OrderAction.BUY_TO_CLOSE)

order = NewOrder(
        time_in_force=OrderTimeInForce.DAY,
        order_type=OrderType.LIMIT,
        legs=[l1, l2, l3, l4],
        price=Decimal('1.51'),
        price_effect=PriceEffect.CREDIT
)
resp = account.place_complex_order(session, oco, dry_run=False)

The other approach was to do an OCO order but seems that does not solve the issue either.
After further review of the source code, seems I should be using the Option class when "creating" the symbol such as in:
symbol = Option.get_option(session, 'TSLA  230714C00290000')

Having said that, would this be the more correct approach:
leg1 = Options.get_option(session, 'TSLA  230714P00210000').build_leg(Decimal(1), OrderAction.BUY_TO_CLOSE)
leg2 = Options.get_option(session, 'TSLA  230714P00215000').build_leg(Decimal(1), OrderAction.SELL_TO_CLOSE)
leg3 = Options.get_option(session, 'TSLA  230714C00282500').build_leg(Decimal(1), OrderAction.SELL_TO_CLOSE)
leg4 = Options.get_option(session, 'TSLA  230714C00290000').build_leg(Decimal(1), OrderAction.BUY_TO_CLOSE)

order = NewOrder(
        time_in_force=OrderTimeInForce.DAY,
        order_type=OrderType.LIMIT,
        legs=[l1, l2, l3, l4],
        price=Decimal('1.51'),
        price_effect=PriceEffect.CREDIT
)
resp = account.place_complex_order(session, oco, dry_run=False)

Your feedback is much appreciated.

Hi, you're on the right track! The last bit of code you posted should work other than a couple typos (Option instead of Options).
You can, if you'd like, combine all of the Option fetching into one line:
options = Option.get_options(session, ['TSLA  230714P00210000', 'TSLA  230714P00215000', 'TSLA  230714C00282500', 'TSLA  230714C00290000'])

However, the standard way to go about this is to use the option chain instead of individual symbols, as described here: https://tastyworks-api.readthedocs.io/en/latest/instruments.html#options-chains

@Graeme22 thank you so much for the info. I like the single-line Option fetching but am now understanding more thanks to that option chain link you provided. I certainly missed that in the docs.
If I may ask a separate question that I've been trying to figure out that is still somewhat related to this.
The question is about the price. When working on the tastytrade desktop/browser dashboard, it automatically sets the price at the MID. How can I compute that MID price through the API as I'm building the order? Even the #options-chains documentation link above, it just shows the price of 1.25 but not how it was derived.
I assume that I could setup a stream to watch for the metrics but I'm wondering if there is a more direct/real-time way to do it (just get a spot reading) as I'm building the order and not have to depend on an async process and hope that it comes back with an event.
Then again, I could be totally off on this too.
Thank you

You will need to use the streamer and subscribe to quote events for the symbols you're interested in. The mid price is the average of bid and ask for single legged orders, while for multi legged you sum the bid price for short legs and the ask price for long legs and then average that.

@Graeme22, thank you again. One last question regarding the price, if you don't mind. After I do the operation, sometimes the price is negative. Seems that when I send a negative value as the price, I get a TastyTrade error that the request failed because price does not have a valid value. How can I specify a negative value in the price (particularly in a multi-leg transaction)? Thank you again

The price_effect part of the order is what you're looking for. PriceEffect.DEBIT corresponds to negative values, CREDIT to positive ones.

@Graeme22 really appreciate your prompt feedback. I've been able to setup everything you have recommended and seems to be working perfectly.
I apologize in advance if I'm not using the correct channel for this type of questions, but I do have one other question :)
To keep matters simple, I'll skip writing the mechanical details of setting up the order legs and the order itself.
Suppose I place an order with 4 legs:
L1: BUY_TO_OPEN IWM 231215P00171000 @ price @ -$3.60
L2: SELL_TO_OPEN IWM 231215P00168000 @ price @ $2.55
L3 SELL_TO_OPEN IWM 231215P00167000 @ price @ $2.27
L4: BUY_TO_OPEN IWM 231215P00166000 @ price @ -$2.02

The above would have a price_effect of Debit and a price of $0.80
After I place the order (same day, a day later, or whenever), I want to close 2 of those legs and open 2 new legs such as:
L2: BUY_TO_CLOSE SPX 231215P00168000 @ price @ -$0.03
L4: SELL_TO_CLOSE SPX 231215P00166000 @ price @ $0.02
L5 SELL_TO_OPEN SPX 240216P00168000 @ price @ $1.10
L6: BUY_TO_OPEN SPX 240216P00166000 @ price @ -$0.93

The above would have a price_effect of Credit and a price of $0.16
The question is how to mechanically "close" the old L1 and L2 positions from the previous order and open the two new positions L5 and L6 for a total price of Credit $0.16?
If I modify the previous order, do I only modify L1 and L2 legs and then adjust, as needed, the price_effect and price of the entire original order and then place a brand new order for L5 and L6 with its applicable Credit of $2.03?
Appreciate your help on this matter.

I apologize in advance if I'm not using the correct channel for this type of questions, but I do have one other question :)

This is the right place! If other people in the future have similar questions hopefully they'll land here.

If I modify the previous order, do I only modify L1 and L2 legs and then adjust, as needed, the price_effect and price of the entire original order and then place a brand new order for L5 and L6 with its applicable Credit of $2.03?

Nope. You'll roll it by creating a single new order with the 4 legs you specified (2,4,5,6) and the total price you specified ($0.16 credit.) It works the same way as in the platform.

Not sure if there is a different mechanism within your API that I'm missing or not understanding? Would this convert the original "simple" order into a "complex" order, whatever that would mean?

Nope, complex orders involve stop losses and profit-taking orders.

@Graeme22 thank you again for the clarification. I will give this a shot.


Can no longer select subtitles in SyncLounge

Unable to select subtitles in SyncLounge, happened as of a week ago. Any attempt to select a subtitle results in nothing happening and the selection stays at 'None'.

I am also having this issue as of late.

Unable to select subtitles in SyncLounge, happened as of a week ago. Any attempt to select a subtitle results in nothing happening and the selection stays at 'None'.

A quote from one of the devs on their Discord: "We’ve seen your messages here but don’t have the time to look into it."

i too am having an issue with the core functionality of subtitles in a video player.
snarky comments will get the developer nowhere.

i too am having an issue with the core functionality of subtitles in a video player.
snarky comments will get the developer nowhere.

The issue for me seems to be somewhat fixed. I was able to watch Jojo and select Japanese audio and English subtitles, and whilst the player still showed none being selected, both me and my girlfriend were able to see the subtitles.

i too am having an issue with the core functionality of subtitles in a video player.
snarky comments will get the developer nowhere.

The issue for me seems to be somewhat fixed. I was able to watch Jojo and select Japanese audio and English subtitles, and whilst the player still showed none being selected, both me and my girlfriend were able to see the subtitles.

Still not working for me, same issue as originally described

My friend keeps lying to me about this issue but I know it is his fault. If you see this Antony.  If you can't downgrade for whatever reason, on Settings enable Force Plex to Burn Subtitles and it will enable for whatever default subtitles you have on plex.

Unfortunately not really a good compromise for me since that would mean I'd have to transcode for everyone watching together when burning in subs

I've downgraded to Plex <IP_ADDRESS>33-757abe6b4 and seems to solve the issue. If you can't downgrade for whatever reason, on Settings enable Force Plex to Burn Subtitles and it will enable for the default subtitles you have on plex.

Can confirm this fixed the issue 100% for me.

If you can't downgrade for whatever reason, on Settings enable Force Plex to Burn Subtitles and it will enable for the default subtitles you have on plex.

It's very good to know that burning subtitles is a workaround. But I assume that this will increase the server load quite a bit and might therefore not always be a solution.

@ttshivers You got anymore tricks up your sleeve?


API Endpoint of PowerApps for Admins

Hello Megel,
Thank you for the powerapps-helper documentation and endpoints.
I need some more help to get API endpoint of powerapps for admins connector.
I couldn't get the documentation from microsoft as well.
https://docs.microsoft.com/en-us/connectors/powerappsforadmins/
Any help would be really appreciated!
Thank you!

@Disha5195 which API are you looking for?
I got the API information direct from Microsoft Sources - like the PowerShell module
When you unpack the .nuget package for Microsoft.PowerApps.Administration.PowerShell, unzip and look and search for your API (e.g. Get-AppQuarantineState) then you find in Microsoft.PowerApps.Administration.PowerShell.psm1 this:

From here, you see "mostly" the route and used parameters of the API.
Hope this helps!

@Disha5195 if you have further questions, please contact me. I'll close the issue.


Elasticsearch index sink indexId random generator for null

For events that do not include the header indexId, the existing v0.5.0 of elasticsearch index sink causes document_id "camel-k-index-es" to be generated, but then constantly overwritten by future events that also do not have that header.
I found a past version of the sink had something similar (although not the same) in the following:
when:
- simple: "${header[indexId]} == null || ${header[indexId]} == 'NONE'"
   steps:
   - set-header:
       name: "indexId"
       simple: "${header[kafka.TIMESTAMP]}${header[kafka.PARTITION]}${header[kafka.OFFSET]}"

The above should either be officially documented as a solution for the above situation or included in the existing sink.
It makes more sense to me that events without the header generate their own rather than generate a single event and then continue to overwrite the same event again and again.

To me it's wrong to have everything related to kafka headers, because you could have a source which is not kafka at all. By the way I'll take some time to find a different solution.

We could generate a random uuid just in case instead of that stuff.


Get the browser logos from their own packages

Cc @digitarald

Thank you @alrra for the patch and even more so, your work on the browser logo repo! Happy Holidays 🎄 🎅  🎁

@digitarald Happy Holidays to you, too!

@digitarald I did test locally if everything works as expected, and it did, but for some reason, the logos are missing on https://platform-status.mozilla.org/.

Let's revert it for now.


Purview Catalog

API changes have been detected in com.azure:azure-analytics-purview-catalog. You can review API changes here
API changes
-         public Mono<Response<BinaryData>> createOrUpdateBulkWithResponse(String collection, BinaryData entities, RequestOptions requestOptions)
+         public Mono<Response<BinaryData>> upsertBulkWithResponse(String collection, BinaryData entities, RequestOptions requestOptions)
-         public Response<BinaryData> createOrUpdateBulkWithResponse(String collection, BinaryData entities, RequestOptions requestOptions, Context context)
+         public Response<BinaryData> upsertBulkWithResponse(String collection, BinaryData entities, RequestOptions requestOptions, Context context)
-         public Mono<Response<BinaryData>> createOrUpdateEntitiesWithResponse(BinaryData entities, RequestOptions requestOptions)
+         public Mono<Response<BinaryData>> upsertEntitiesWithResponse(BinaryData entities, RequestOptions requestOptions)
-         public Response<BinaryData> createOrUpdateEntitiesWithResponse(BinaryData entities, RequestOptions requestOptions, Context context)
+         public Response<BinaryData> upsertEntitiesWithResponse(BinaryData entities, RequestOptions requestOptions, Context context)


Corrected contributor guide link

Error in previous PR #36 which linked both the contributor guide and proposal template to the same proposal template link. Corrected the former to point to the correct link.

Thanks @Benjamintdk It got resolved through merging #37

I will close since I believe this time is right!


Issue with MVBench Evaluation

It seems that there is an issue with the evaluation method in MVBench. Currently, the process of verifying correctness involves splitting the prediction and extracting only the first segment(word) to compare it with the correct answer. However, this approach causes any prediction that includes just a closing parenthesis “)” to be treated as correct.
I believe it is essential to add a step that verifies whether the alphabet of the answer option is correct.
While running your code, I mistakenly added an extra space in the answer prompt, making it “best option: (  “ and noticed a significant increase in performance.
It would be great if the evaluation method could be made more robust!

I apologize for not noticing your issue sooner, and I appreciate you bringing it to my attention.  I agree that the current evaluation method needs improvement. Relying solely on the first segment for correctness verification can lead to inaccuracies, especially when a standalone closing parenthesis is accepted as correct.  Adding a step to verify the alphabet of the answer option seems like a crucial enhancement. This would help ensure that predictions are valid. I also appreciate your observation about the extra space in the answer prompt and its impact on performance. It highlights the importance of refining our model and evaluation criteria to avoid such pitfalls.
I have also noticed this issue in the MVBench of lmms-eval and have made corresponding modifications, which you can check here: MVBench in lmms-eval. Thank you for your insights!


Initial support for gensim 4

Experimental initial support for gensim 4.
Fixes #9 and #7

Hello @raffaem
Thank you very much for your contribution.
I am currently finishing up some pretty big changes about how the query embeddings are obtained.
The main change is that now all operations with embeddings will be in the WordEmbeddingModel class.
Due to the above, I will not be able to merge your branch directly. However, I will be able to easily integrate your contribution without major problems.
I hope this week to be releasing the new version of the software.
Thank you very much!
Pablo.

So I guess this is no longer needed


First draft for compressed data packages

This spec states only how to archive or compress and which extension to use.
See #132

@sabas apologies for slowness on merging - i have been looking at this and just been mulling some points over.
@danfowler - i'd also invite you to do a quick review here :-)

@sabas @rgrp if I'm understanding correctly, the datapackage.json file would be compressed along with the data files, right?  This would mean some extraction operation would be required in order to read basic metadata about the package.

@mfenner would you like to review this?

It's just a draft for discussion :-) The problem of discovering the metadata is interesting, something like the jar manifest? https://en.wikipedia.org/wiki/JAR_(file_format)#Manifest

@sabas wouldn't the datapackage.json in a compressed Data Package be the equivalent of a manifest file in a JAR?

Yes @pwalsh I linked it as a reference for a possible implementation. The datapackage manifest would be the datapackage.json

In the spirit of keeping things simple I wouldn't provide two options (.dp and .dpz). And in the spirit of not reinventing the wheel I would look at https://researchobject.github.io/specifications/bundle/, which uses Universal Container Format (UCF). Or for a software packacking example Chrome extensions: https://developer.chrome.com/extensions/packaging

Pebble watch files are another example: http://www.pebbledev.org/wiki/Applications/

I'll second @mfenner 's suggestion to exhaust all possible existing alternatives before defining a new format.  If you are forced to define something new, I'd strongly consider using zip instead of tar, since every other container format in the world from JAR to EPUB to Research Object Bundle has settled on it.  There's an old overview of a bunch of the zip-based formats here: http://broadcast.oreilly.com/2009/01/packaging-formats-of-famous-ap.html

OK, it sounds like we do want to go with zip. I'm going to close this PR for the time being and suggest we move discussion back to the main issue at #132


Problem with mono

Trying to use this in a mono (Stable <IP_ADDRESS> with .net 4.5 framework) webservice running on linux:
byte[] myKey = (some 8-Byte array);
var blowfish = new BlowfishManaged.BlowfishManaged();
blowfish.Key = myKey;

System.NullReferenceException: Object reference not set to an instance of an object
  at System.Security.Cryptography.KeySizes.IsLegalKeySize (System.Security.Cryptography.KeySizes[] legalKeys, Int32 size) [0x00000] in <filename unknown>:0
  at System.Security.Cryptography.SymmetricAlgorithm.set_Key (System.Byte[] value) [0x00000] in <filename unknown>:0
  at BlowfishManaged.BlowfishManaged.set_Key (System.Byte[] value) [0x00000] in <filename unknown>:0
  at MyService.Encrypt (Guid id, System.String clientid) [0x00000] in <filename unknown>:0

Works fine on Windows.
Any hints?

I plan to look at this soon, but I took a quick peek into that file. You can poke around now if you need a quicker fix.
This commit https://github.com/mono/mono/commit/0f3d4621102e5d212c9f1e14b2b42cdb5094f975 introduced mono-specific IsLegalKeySize. Not sure what the motive was, but I'll have to try it on a linux box and see if I can debug.

Hmm very strange.
My exception does not correlate with this source: https://github.com/mono/mono/blob/0f3d4621102e5d212c9f1e14b2b42cdb5094f975/mcs/class/referencesource/mscorlib/system/security/cryptography/symmetricalgorithm.cs
I'll check if i have a clutch in the dlls somewhere.

Seemed to be a version problem.
After updating mono to Stable <IP_ADDRESS>/832de4b the problem went away and all is fine!


Teardown of tenant folder fails when loadbalancer deleted

Title: Teardown of tenant folder fails when loadbalancer deleted

Details:
When creating and destroying a loadbalancer on Mitaka release, the virtual address is removed
but the tenant folder and route domain remain.

Agent Version
Head mitaka branch
Operating System
Ubuntu/RedHat
OpenStack Release
Mitaka
Bug Severity
3
Severity: <Fill in level: 1 through 5>
Severity level definitions:

Severity 1 (Critical) : Defect is causing systems to be offline and/or nonfunctional. immediate attention is required.
Severity 2 (High) : Defect is causing major obstruction of system operations.
Severity 3 (Medium) : Defect is causing intermittent errors in system operations.
Severity 4 (Low) : Defect is causing infrequent interuptions in system operations.
Severity 5 (Trival) : Defect is not causing any interuptions to system operations, but none-the-less is a bug.

Description
Create a loadbalancer at neutron api
Delete the loadbalancer.
VIP is gone but the tenant folder remains.  This suggests that the tenant folder cleanup is not being called or failing.
Deployment
Mitaka/undercloud.

Details: For enhancements, copy and paste the following template into your new issue and fill it out.

OpenStack Release

Description

Issue resolved with merge #330


Keep descriptions of builtin args

when overridden in custom map args

I could not find an object that contains the descriptions of the builtin args. They seem to be provided as parameters to arguments.get* calls. For example:
https://github.com/onthegomap/planetiler/blob/4c2e187ea3dc148d5c6e54c758b60969d2e78898/planetiler-core/src/main/java/com/onthegomap/planetiler/config/PlanetilerConfig.java#L122


Not able to equip a magic hat.

https://github.com/elBukkit/MagicPlugin/blob/master/Magic/src/resource-pack/default/assets/minecraft/models/item/custom/magic_hat.json#L587
Are you suppose to be able to equip the magic hat? As right clicking it only produces a cloud of particles, not wearing it.

Look up and right-click.

Oh! Thanks, didn't realize you had to look straight up to equip!


Implement Retryable to fix RequestLimitExceeded error from Fog::Compute::AWS::Error

based on the suggestion from: https://github.com/chef/chef-provisioning-aws/issues/158#issuecomment-102196075
We could expand this to handle transient API errors from other cloud providers as well in future PRs.
cc: @tyler-ball

Hey @irvingpop - thanks for the PR.  That code looks great to me.  Can you update the gemspec to pull in the retryable gem?  Otherwise I think that looks good.

hey @tyler-ball I've added the gemspec dependency and also put in nice progress reporting messaging for the 3 methods that I found needed retrying.   I tested this with 40 machines in a batch and I was able to launch them without hitting any errors!

@irvingpop I went ahead and merged this, but is there a reason you're using chef-provisioning-fog instead of chef-provisioning-aws?

@tyler-ball thanks!   To answer your question,  I was using -fog since the beginning.  Every time I attempt to switch to chef-provisioning-aws I hit weird errors like the one I mentioned ( https://github.com/chef/chef-provisioning-aws/issues/158 )

@irvingpop can you try with the latest master branch of chef-provisioning-aws?  I would really like to deprecate AWS out of the -fog project so I would rather making -aws work for you.

hey @tyler-ball I just retested with chef-provisioning-aws 1.2.0 - I'm getting a very similar stacktrace as before.  I'll comment in that issue


Setup ccs independent of macOS server - push?

Since Apple will deprecate the ccs in the macOS server product, I decided to setup a server on a clean macOS install (High Sierra).
Seems doable, but I am missing the push notification certificates. How do I get them without macOS server?

@freswa - Apple’s developer portal can vend APNS certs, and those should work with this server and third party clients that support APNS (sadly, I know of none...). Unfortunately Apple’s calendar and contacts apps only support APNS when used with push certs issued to a bundle ID that can only be used by Apple (and only by Server.app). That is a policy decision, and if you’d like to push Calendar / Contacts apps using a standard 3rd party push cert, I encourage you to request this at bugreporter.apple.com.
There is one other push implementation supported by the server (based on the Python AMP module), but as far as I know, the only client that supports this is our client simulator (a server test tool).
Wish I had a better answer :/

I filed this: http://www.openradar.me/radar?id=6161001854533632


[BUG] Selected instance actions difference between old and new UI

Describe the bug
Here are the differences between the old and new UI:

Running instance - old UI
Running instance - Primate UI

Stop instance
Stop instance

Reboot instance
Reboot instance

Take VM snapshot
Create VM snapshot

Take VM volume snapshot

Assign VM to backup offering

Destroy instance
Destroy instance

Reinstall VM
Reinstall VM

Attach ISO
Attach ISO

Reset password

Migrate instance to another host
Migrate instance to another host

Change service offering

Reset SSH Key Pair

View console
View console

Update VM

Scale VM

Probably 'Scale VM' could be a replacement of 'Change service offering' - they are quite similar. But still this could be confusing for the current users. Actually, 'Scale VM' has one additional field 'Details' which I'm not really sure how to use.

Stopped instance - old UI
Stopped instance - Primate UI

Start instance
Start VM

Take VM snapshot

Take VM volume snapshot

Assign VM to backup offering

Destroy instance
Destroy instance

Reinstall VM
Reinstall VM

Change affinity
Change affinity

Edit
Update VM

Attach ISO
Attach ISO

Reset password
Reset instance password

Migrate instance to another host
Migrate instance to another host

Change service offering
Change service offering

Reset SSH Key Pair
Reset SSH Key

Assign instance to another account
Assign instance to another account

Scale VM

I'm not sure if some of these differences are intended but I do feel like there's something wrong here.
To Reproduce
Steps to reproduce the behavior:

Go to 'Compute > Instances > selected instance'
Look at the action buttons and compare with the old UI for running and stopped VM.

Expected behavior
There should be no missing actions in the Primate UI - only improvements if any.
Screenshots
None
Desktop (please complete the following information):

OS: Windows 10 Pro x64
Browser Chrome
Version: 80.0.3987.116 (Official Build) (64-bit)

Additional context
None

Looking into this one

@vladimirpetrov @borisstoyanov please re-test against master. I've removed the VM volume snapshot action on purpose, this button shouldn't exist for VM view; if we need that please log another ticket that we can target for GA/1.0. Thanks.

ping @vladimirpetrov

Two actions are still missing in Primate UI, compared to the old UI (running instance):

Reset password (could be hidden because my VM was created without password enabled, which would be different behavior than the old UI)
Reset SSH Key pair

@vladimirpetrov looking at them cc @rhtyd

@vladimirpetrov please re-test latest master and close this.

Fix confirmed, closing the issue.


How to use the minified editable files?

What config option is required to use the minified files?

Hi @surfer190  current you can use minified files on this Project but maybe you can use the scriptMap http://www.yiiframework.com/doc/guide/1.1/en/topics.performance#minimizing-script-files


Update settings for the Facebook app

I had to configure the Facebook app setting of "Allow API Access to App Settings" to "Yes" for the channel to work.

@robcamer,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


TFModels Documentation

Added documentation (rst files and docstrings) for Tensorflow model logging and loading. Will add more once I write up an example for using the API.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #65   +/-   ##
=======================================
  Coverage   77.21%   77.21%
=======================================
  Files          45       45
  Lines        2611     2611
=======================================
  Hits         2016     2016
  Misses        595      595

Impacted Files
Coverage Δ

mlflow/tensorflow.py
98% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

This LGTM, merging thanks @juntai-zheng !


Windows mediapipe_jni and docker build problem

System information

OS Platform and Distribution (e.g., Linux Ubuntu 20.04, WSL2): Windows 10
Target (e.g. desktop cpu, android arm64): android arm64
Bazel version: 4.2.1
Python version: 3.9.0
Unity version: 2020.3.8f1
Android NDK version (if building for Android): 19.0.5232133

Describe the problem
I need to build the new update for Android because I had the 90° detection orientation problem with the latest plugin version.
First build
So I tried to build using https://github.com/homuler/MediaPipeUnityPlugin#windows even though I want to build the unity project on Android but it gave me this error :

I followed these issues https://github.com/homuler/MediaPipeUnityPlugin/issues/269 and https://github.com/homuler/MediaPipeUnityPlugin/issues/171#issuecomment-850154795 to repair it but nothing changed
2nd Build
so I decided to go with the docker build (since I want android in the end)
Steps to reproduce the issue
First I switched to Linux Containers, then :
docker build -t mediapipe_unity:linux . -f docker/linux/x86_64/Dockerfile
docker run --cpus=8 --memory=8192m ^
    --mount type=bind,src=%CD%\Packages,dst=/home/mediapipe/Packages ^
    --mount type=bind,src=%CD%\Assets,dst=/home/mediapipe/Assets ^
    -it mediapipe_unity:linux

(worked fine)
then
python build.py build --android arm64 -v
So I got this message (couldn't get the entire log, just the error part)
Logs

Additional context
Should I go with my first or 2nd build if I want to run the Unity project on Android ?
And how do I resolve the issue of the chosen build ?

use windows containers in docker

Thank you for reporting the issue.
A recent update to unzip seems to have broken the program.
Fixed by https://github.com/homuler/MediaPipeUnityPlugin/commit/a9edb9e8f2e8c40da7bd92376cb567fa9a59c703.
Pull the update and build Docker image again, please.

I pulled the update and this is the result :
Building the docker gave this :

Inside docker Build Command :
DEBUG: Rule 'rules_cc' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "7e3caad112850996a9c6d78b9f7593d01c030ca50872884cad35e7caf754497c"
DEBUG: Repository rules_cc instantiated at:
  /home/mediapipe/WORKSPACE:84:13: in <toplevel>
Repository rule http_archive defined at:
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in <toplevel>
DEBUG: Rule 'rules_python' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1564776078 -0400"
DEBUG: Repository rules_python instantiated at:
  /home/mediapipe/WORKSPACE:41:23: in <toplevel>
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/rules_pkg/deps.bzl:33:10: in rules_pkg_dependencies
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/utils.bzl:201:18: in maybe
Repository rule git_repository defined at:
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/git.bzl:199:33: in <toplevel>
INFO: Repository android_tools instantiated at:
  /DEFAULT.WORKSPACE.SUFFIX:311:13: in <toplevel>
Repository rule http_archive defined at:
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in <toplevel>
INFO: Repository remotejdk11_linux instantiated at:
  /DEFAULT.WORKSPACE.SUFFIX:52:6: in <toplevel>
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/utils.bzl:201:18: in maybe
Repository rule http_archive defined at:
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in <toplevel>
WARNING: Download from https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException Checksum was c5420496f05bb39c7382982456b1cd58f007179cebaac570278b03b114cc1bdf but wanted 360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1
ERROR: An error occurred during the fetch of repository 'remotejdk11_linux':
   Traceback (most recent call last):
        File "/home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/http.bzl", line 111, column 45, in _http_archive_impl
                download_info = ctx.download_and_extract(
Error in download_and_extract: java.io.IOException: Error downloading [https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz] to /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/remotejdk11_linux/temp7978245719865839454/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz: Checksum was c5420496f05bb39c7382982456b1cd58f007179cebaac570278b03b114cc1bdf but wanted 360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1
ERROR: Error fetching repository: Traceback (most recent call last):
        File "/home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/http.bzl", line 111, column 45, in _http_archive_impl
                download_info = ctx.download_and_extract(
Error in download_and_extract: java.io.IOException: Error downloading [https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz] to /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/remotejdk11_linux/temp7978245719865839454/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz: Checksum was c5420496f05bb39c7382982456b1cd58f007179cebaac570278b03b114cc1bdf but wanted 360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1
INFO: Repository maven instantiated at:
  /home/mediapipe/WORKSPACE:389:14: in <toplevel>
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/rules_jvm_external/defs.bzl:105:19: in maven_install
Repository rule coursier_fetch defined at:
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/rules_jvm_external/coursier.bzl:1009:33: in <toplevel>
INFO: Repository opencv instantiated at:
  /home/mediapipe/WORKSPACE:235:13: in <toplevel>
Repository rule http_archive defined at:
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in <toplevel>
INFO: Repository remote_java_tools_linux instantiated at:
  /DEFAULT.WORKSPACE.SUFFIX:223:6: in <toplevel>
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/utils.bzl:201:18: in maybe
Repository rule http_archive defined at:
  /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in <toplevel>
ERROR: /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/bazel_tools/tools/jdk/BUILD:490:6: @bazel_tools//tools/jdk:remote_jdk11 depends on @remotejdk11_linux//:jdk in repository @remotejdk11_linux which failed to fetch. no such package '@remotejdk11_linux//': java.io.IOException: Error downloading [https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz] to /home/mediapipe/.cache/bazel/_bazel_mediapipe/6c11c387a04fa8f17c87a5c6db6ee555/external/remotejdk11_linux/temp7978245719865839454/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz: Checksum was c5420496f05bb39c7382982456b1cd58f007179cebaac570278b03b114cc1bdf but wanted 360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1
ERROR: Analysis of target '//mediapipe_api/java/com/github/homuler/mediapipe:mediapipe_android' failed; build aborted: Analysis failed
INFO: Elapsed time: 214.008s
INFO: 0 processes.

I'm not sure without details logs, but I think it's a network error, so please give it some time and retry.
But if you can donwload https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz from your host machine, your docker container may not be able to access the host's network.


chore: bump micromatch to 4.0.8

Description of changes
Bumped micromatch to 4.0.8 to resolve dependent bot alert

CDK / CloudFormation Parameters Changed

Issue #, if available

Description of how you validated changes
Checklist

[ ] PR description included
[ ] yarn test passes
[ ] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies
[ ] Any CDK or CloudFormation parameter changes are called out explicitly

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I think we could just upgrade lint-staged to resolve this.

Closing in favor of https://github.com/aws-amplify/amplify-category-api/pull/2854


Ensure saved cell versions are different

Some saved cell versions seem to have the exact same source and outputs, making them equivalent for our purposes. These should not be saved as separate versions. Perhaps it is an issue with the timing of the saving of the cell, either before or after cell execution when changes have or have not taken place because the execution yet.

This seems to be a persistent issue. Not sure if I will have time to debug before the deployment, but we will see.


apt-get update failing on ubuntu-latest

I'm running the action on an open source project but since yesterday the pipelines are failing at the step
Run jurplel/install-qt-action/action@v3
/usr/bin/sudo apt-get update
...
Reading package lists...
E: Failed to fetch https://packages.microsoft.com/ubuntu/22.04/prod/dists/jammy/InRelease  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: The repository 'https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease' is no longer signed.

You can check the full log here: https://github.com/amarula/cutekeyboard/actions/runs/8813411018

Hi, maybe you just need to re-run your workflow. See "Clearsigned file isn't valid" during apt update of Ubuntu 22.04 instance · community · Discussion #120966.

Thanks


Update Blog “meditation-pop-up-forage”

Automatically generated by Netlify CMS

👷 Deploy Preview for playful-alpaca-ff74dc processing.

Name
Link

🔨 Latest commit
e1b94130df6e57b938461e21c87449abba14e831

🔍 Latest deploy log
https://app.netlify.com/sites/playful-alpaca-ff74dc/deploys/62506c8bc96104000806a1d2


Fix provider to show NotSupported error; Add Get/set/clear content.

@BellaLi  please fix the checkin test failures
https://ci.appveyor.com/project/PowerShell/ships/build/<IP_ADDRESS>/job/b2o9habi4vochq66
C:\projects\ships\test\automation\navigation.tests.ps1: line 1335
--- have you changed to "not support" instead of "does not support"?
C:\projects\ships\test\automation\navigation.tests.ps1: line 1249.
--- it looks like that the same error throws multiple times. So $ev is a collection. "-contains" would do.

This PR and https://github.com/PowerShell/SHiPS/pull/105 are dealing with the same thing or different?

The previous PR 105 was accidentally checked in. I'll abandon this PR and create a clean one.


Improve sequence read performance using read-ahead

This change implements read-ahead in the sequence_cursor to speed up sequence reads.
Some before and after numbers reading sf-registered-businesses/raw:

Origin
Before
After

ldb
45 MB/s
60 MB/s

localhost
7.5 MB/s
27 MB/s

demo.noms.io
140 KB/s
2.1 MB/s

The approach:
For each meta-sequence that contains leaf sequences, start reading ahead in
parallel and deliver in order to a buffered channel. Each advance of the cursor gets
the next sequence in the read-ahead channel.
Since this is operating on the sequence_cursor, it benefits all sequence types.
toward: #2079

Current coverage is 87.87% (diff: 76.00%)

Merging #2711 into master will decrease coverage by 0.05%

@@             master      #2711   diff @@
==========================================
  Files           243        243
  Lines         18229      18277    +48
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          16028      16061    +33
- Misses         1938       1949    +11
- Partials        263        267     +4

Diff Coverage
File Path

0%
go/types/meta_sequence.go

•••••••    79%
go/types/sequence_cursor.go

•••••••••• 100%
go/types/indexed_sequences.go

Powered by Codecov. Last update 233af18...96608d2

Thanks for your reviews @cmasone-attic & @arv. I've tried address all the small issues.
I need to think a bit more about how to best address the problem of more tightly constraining cursors used for read ahead. I wanted to first build a solution that would work with minimal API changes to prove it out. API changes are going to be a little hairy since the sequence_cursor is used from many call sights and it's current abstraction is a little leaky.
CC: @kalman & @rafael-atticlabs

PTAL @rafael-atticlabs, @kalman
cc: @cmasone-attic, @arv
Checkpointing the review comments, there's one remaining issue: what is the best way to manage the background read-ahead work?
Current approach:

Implement read-ahead in the sequence cursor, limiting the read-ahead to leaf chunks
Whenever the cursor moves to a new metaSequence chunk (that references leaf chunks),
it initiates read-ahead by creating an orderedparallel goroutine pool whose input channel is
leaf chunk idx's and output channel is (chunk idx, chunk byte) pairs.
When the cursor moves, it checks the output channel to see if the chunk it's looking for is in
the queue.

Trade-offs:

Resource usage is bounded by the size of the goroutine pool

Works well if cursor is scanning forward

Tricky to handle cases where cursor isn't moving forward

Tricky to managing the lifetime of the goroutine pool. To be robust, this requires
implementing a close() method on the cursor to ensure the goroutines are always
terminated. If we go this route, I'd propose introducing a new, higher level type for
forward iteration (sequenceIterator? or sequenceReader?)  that includes a Close()
method.

** Pool-less approach **
@kalman suggested in this thread and subsequent discussion considering a solution that
doesn't require a goroutine pool. The simplest example of this would be just reading ahead
one chunk by starting a new goroutine on each advance. Here the goroutine could read the
chunk, deliver it on the read ahead channel and terminate. This way, goroutines are always short lived and don't require termination.
This is an elegant idea, but I don't think there's a good way to extend it to read-ahead by more than
one chunk if we continue to deliver the read-ahead chunks on a channel. The problem is that as soon as you introduce more that one goroutine working in parallel, you need a mechanism to order the read-ahead channel (so that chunks are delivered in index order). To do this requires introducing at least one long running goroutine that reads from the unordered channel and and writes to an ordered channel.
It's possible to handle the ordering problem without a long-lived goroutine, but I can't yet think of a solution that isn't significantly more complicated.
** Read-thru cache approach **
A third approach would be do the caching at a lower level. Here's the idea:

Ensure that the ChunkStore is always fronted by ReadThruStore
In the sequence cursor, initiate n read-ahead by starting n goroutines to read n chunks ahead
Each goroutine will just simply read a chunk. By doing so, it will make it likely that the next
read of the chunk will find it in the CachingChunkStore into the underlying cache.
On each advance, start one more goroutine to read the next chunk into the cache.

Trade-offs:

Simple solution that requires very little code

Doesn't require managing long-lived goroutines

Requires always using CachingChunkStore to get read-ahead performance

** Next steps **

The ReadThruStore approach seems very attractive on it's face. It's pool-less and it's
simple. Is it practical to enable the the store cache by default?
If the ReadThruStore approach isn't viable, I'm leaning toward improving on the
current approach rather than implementing (what seems like) a more complicated
pool-less approach. My sense is that a more constrained api for forward scanning is a
good direction regardless of the read-ahead implementation; and that once that exists,
including a Close method is not too onerous.

Look forward to your feedback.

Nice writeup.
Could there be a 4th approach, which uses the same idea as 3 but implementing the cache on the sequenceCursor itself? A sort of hybrid between 2 and 3.
Very simplistic strawman, and without an attempt to deal with tricky issues (like overlowing into the next chunk, retreating, initialization, etc), instead of:
func (c *sequenceCursor) getChildSequence() sequence {
  return c.seq.getChildSequence(c.idx)
}

give the cursor a map of index -> channel, like:
type sequenceCursor struct {
  ...
  raCache map[int]chan sequence
}

and implement getChildSequence like (simplistically):
func (c *sequenceCursor) getChildSequence() sequence {
  // Set up next readahead.
  raIdx = c.idx + raSize
  raChan = make(chan sequence)
  c.raCache[raIdx] = raChan
  go func() {
    raChan <- c.seq.getChildSequence(raIdx)
  }()

  // Fetch the current child sequence from the readahead cache.
  return <-c.seq.raCache[c.idx]
}

I also agree that either way we'll want a cursor-esque API that doesn't suffer from really subtle issues like this.

Thanks @kalam: Yes, I think a hybrid is possible and your sketch looks like a good start. Your use of channels in the map is an interesting simplification over storing the actual sequence there. Makes me realize that I've only scratched the surface of what can be done with them.
I'm still keen on the idea of a shared chunk cache if practical. It simplifies this solution further by better separating concerns and it may have more far reaching performance advantages.
If not practical, however, your suggestion seems like a good direction to go.

Makes sense. I think @cmasone-attic and @rafael-atticlabs have thought much more about caching at the chunk store layer than I have, I'll let them speak for that.

PTAL @rafael-atticlabs:
FYI @kalman, @cmasone-attic
I've changed the read-ahead mechanism to use short-lived go routines and unbuffered channels based on @kalman's suggestion. This removes the need to close at the end of iteration.
I'm uncertain whether to proceed with restricting read-ahead to a more limited iteration API ( sequenceCursor.iter++) or keeping it enabled for all users of sequence_cursor.
A new, more restricted API is the clean thing to do, but it will require some surgery since there are many call sites that need to change.
Enabling read-ahead for all callers of sequence cursor (or enabling it by a switch) has the pragmatic benefit that it works in all cases where it's needed without any code changes. It has the drawbacks that it (1) wastes resources in the cases where it's not needed (which are not numerous) and (2) may hinder more aggressive optimizations.

PTAL @rafael-atticlabs
cc: @kalman
I've reworked read-ahead to use a cursor above the leaves so that it isn't limited to the current chunk. The performance diff is significant:

Origin
Before
One chunk at a time
Across chunks

ldb
45 MB/s
60 MB/s
60 MB/s

localhost
7.5 MB/s
27 MB/s
38 MB/s

demo.noms.io
140 KB/s
2.1 MB/s
NA*

demo.noms.io has inconsistent throughput from office

I compared the shorted-lived go-routine approach to the long-lived pool based approach and found that short-lived approach to have comparable performance. This result combined with the big advantage of not requiring the caller to shut down the threadpool (with a close) convinced me to take the first approach.
I've also creating a new sequenceIterator class which encapsulates forward iteration. It's currently only used for BlobReader and sequenceCursor.iter, but I'd recommend we refactor all iterators to use this as their foundation. This reduces code and reduces the surface of sequence_iterator.

Thanks for comments @kalman & @rafael-atticlabs.
Regarding @kalman's comments around the semantics of sequenceCursor.iter and sequenceIterator.iterSequence:
The root complication here is that iter() is a method on sequenceCursor. This requires the caller to manage the cursor and raises questions about what can be done with the cursor before and after iteration. This flexibility introduces complexity without a clear benefit.
For this patch, I'll implement, your suggestions, but I'd like to follow it with a patch that removes
sequenceCursor.iter and replace it with sequenceIterator.iterSequence... functions that iterate
over a sequence without requiring the caller to create a cursor.

What do you think about adhering to the Set/ListIterator style of interface, and only providing a Next() method, which returns a Value or nil if there are no more values?

Unfortunately, the Next() method is not enough for the needs of BlobReader since it needs to advance the cursor (multiple increments) in one place and read the current value in another.

PTAL @kalman

jenkins: test this


Vulnerable to brute-force attack

Traccar server must have a mechanism to block the IP requesting a certain number of login request.
There must also be a captcha on login screen to prevent bots.

I don't think it should be part of Traccar system. There are well established projects that you can use to secure your instance of Traccar. For example something like fail2ban.

can you name a project that works in windows?

Thank you


Question about training custom dataset

Hi I have 2 questions about training,

Are both bbox and segmentation used?
Do we have to label character by character or would word/sentences be fine as well? In the sample json it does seem to have labels only by character( e.g.annotation[0]= category_id: 1, segmentation:[[...]]) but since it's a detection model I'm not sure if the label(category_id) matters.

Thanks for your time and the model!

Yes
We need to annotate characters and words to training TextFuseNet.
Please refer to ./TextFuseNet/annotation_example/ carefully.

Okay so just to confirm, category_id for 1 is the word and the rest are for each character right?

Yes
After pre-training on SynthText, we apply the pre-trained model on IC15, Total-Text and CTW-1500 to search for character training samples and save them in a txt file. After that, we make the training json file in C++. I think you can do this easily in Python.

I see, may I know what pre-trained model you guys used?

@lohzhunyewcs  I suggest that you use our pre-trained totaltext-r101 model, which can detect arbitrary texts. You need to modify the code of totaltext_detection.py to detect characters for annotations. or you can train a pre-trained model according to weakly supervised learning in our paper.

@Real-YeJ I see thanks for the suggestion! Since the ctw model outperforms the totaltext for my current data set, would it be more wise to use that instead? As for the modification, did you mean changing the classes[i]==0 to != 0 since 0 is for full text whereas the rest are characters right? Also if that's the case, wouldn't it be possible for textfusenet to perform recognition since it detects characters?

@lohzhunyewcs  yeah, 0 class is word-level text, and !0 is character-level text. The performance of totaltext and ctw-1500 is  similar.  As you said, TextFuseNet can realize text recognition through displaying classification. But this is only for English text, which does not work when detecting other text, such as Chinese. We're doing new research about mutil-language text. In short, What we want to express is that detecting characters and extract global-level features can enhance the network's perception for text.

@Real-YeJ I see that's an interesting research. Is it possible that the reason for the poor recognition for chinese text is due to the large amount of possible words hence requiring a much larger dataset/more complex model? Or is it because it is harder to distinguish whether words such as 双 can be easily mistaken as 2 又?
On a separate note, I've tried both models on a document based dataset.
totaltext

Image size(min, max) = 900
Managed to detect some(<20%) text and characters(all accurate recognition wise)

CTW-1500

Image size(min, max) = 990
Detected 98+% of texts but no characters detected at all.

I'm not so sure how to proceed from this because while CTW-1500 managed to detect most of the texts that I need, it doesn't detect any characters at all. On the other hand, totaltext doesn't really detect many text nor sufficiently enough characters. I would still like to fine tune the model however, for some of the texts the CTW-1500 missed out on and since most of my text should be consisting of just alphabets, it'd be nice if it could help perform recognition as well.
Would cropping out the images into smaller texts then running the pre-trained model be better since as far as I'm aware of totaltext and ctw are mostly outdoor images or text on real world objects.

@lohzhunyewcs
actually, in this implementation, we train ctw-1500 via only fine-tuning totaltext-model on original images and annotations of ctw-1500, which shows outstanding result as well. generating weakly supervised char-level lables and training with three levels of features are better. so I suggest that you use totaltext-model to get characters.
The document based dataset has domain shift with scene text dataset, which may cause the problem you mentioned.  if the model based on scene text datasets does not work, I think you can generate synthetic document datasets(focus on https://github.com/ankush-me/SynthText ), pretrain a model, and then use the pre-trained model to detect characters for real document based dataset.

@Real-YeJ Oh I see, thanks for the help then, I'll try and see how it goes

@lohzhunyewcs could you please tell me how to convert the word/sentence level annotations to the annotations needed to train the TextFuseNet? I've read the annotation examples and comments, but I am sure that I fully understanded them. It's better if I have a sample code. Thank you.

@thanhhau097 they recommend training a pretrained model like the totaltext one they have on character level annotations like with Synthtext then use it to detect the characters in your dataset to get the annotations.

@Real-YeJ  Thanks for such a good research project.

actually, in this implementation, we train ctw-1500 via only fine-tuning totaltext-model on original images and annotations of ctw-1500, which shows outstanding result as well.
By this you mean you have used ctw-1500 annotation with only text or text and character level?

I am currently training on https://guillaumejaume.github.io/FUNSD/download/ this dataset. which is based on documents where word is annotated. i have modified your code little bit to train only on word level.
Currently i am training with pretrained ctw model. Following is my metrics file can you tell me its looks fine or i have done something wrong?
metrics.txt

@Real-YeJ  Thanks for such a good research project.

actually, in this implementation, we train ctw-1500 via only fine-tuning totaltext-model on original images and annotations of ctw-1500, which shows outstanding result as well.
By this you mean you have used ctw-1500 annotation with only text or text and character level?

I am currently training on https://guillaumejaume.github.io/FUNSD/download/ this dataset. which is based on documents where word is annotated. i have modified your code little bit to train only on word level.
Currently i am training with pretrained ctw model. Following is my metrics file can you tell me its looks fine or i have done something wrong?
metrics.txt


Outdated Azure PowerShell script

The provided PowerShell script is using AzureRM module which are being retired.
Can you please updated the script to use the Az module?

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

ID: eeafbf18-2bee-17c8-9871-118396f904b7
Version Independent ID: 1c591c58-062c-695f-212f-523b4221935c
Content: Azure Instant Restore Capability - Azure Backup
Content Source: articles/backup/backup-instant-restore-capability.md
Service: backup
GitHub Login: @v-amallick
Microsoft Alias: v-amallick

@dcaro: Thanks for notifying. Updated the commands to Az module.

https://github.com/MicrosoftDocs/azure-docs-pr/pull/170874

Updated the doc. Please re-open, if required. #please-close


Mass import images

Add the ability to mass import images and extract text from them, maybe even create a txt or pdf file with the extracted text

@Sabering1 Still not sure how it should work. If you could describe more precisely what the desired behaviour is it would be great!

So i have 50 pictures of some book that i want to preserve in a digital form, selecting each picture and then copy pasting each page into .txt file is exhausting, i would much prefer if i could, select all 50 pages at once and import them into this app, and the app creates a .txt file with the text extracted from all 50 pages

Okay, that makes sense. Not sure I think about the Frog like a full-fledged OCR app but I'll think about your suggestion. Maybe in some kind of an "automation mode" or smth else.


WebGL lots of getError calls

I opened BunnyMark and CPU profile in chrome:

I don't have any errors in the console, just curious if that's normal. If not, can this be caused by my graphics card model? How can I see what kind of errors I'm receiving?

There are no GL errors, but the wrapper seems to be expensive to always use on -debug, so I am making it require -Dwebgl-debug, otherwise it's off by default.
https://github.com/openfl/lime/commit/7ba22eb9aefec4214c5763a68a6c8892a8b139ae
Thanks for your help :smile:


[BUG] TraceHelper.AddPropertiesToTelemetry duplicate dictionary key exception when RemoteDependencyData is constructed and activity child/parent have duplicate baggage.

Library name and version
Azure.Monitor.OpenTelemetry.Exporter 1.0.0-beta.15
Describe the bug
I've seen this in several cases but currently I'm unable to track HttpClient requests if activities that precede them contain duplicate baggage. Since I'm not entirely sure what the "root" activity of a process is I'm attaching a correlation id to several activities using AddBaggage("correlation-id", "1234") and when the exporter tries to convert an HttpClient activity that is in that activity lineage OtelToAzureMonitorTrace creates a RemoteDependencyData and it calls TraceHelper.AddPropertiesToTelemetry() the lack of any test before inserting baggage from the parents into the dictionary holding the properties to be transmitted causes a duplicate key exception and the activity is not sent.
Expected behavior
Presume a set of aggregated keys/value paris defined by a caller, activitiy lineage and varying codepaths might contain duplicates and call TryAdd instead of Add on a dictionary.
Actual behavior
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Net.Http.dll
OpenTelemetry-AzureMonitor-Exporter - EventId: [16], EventName: [FailedToConvertActivity], Message: [Failed to convert Activity due to an exception. This telemetry item will be lost. ActivitySource: System.Net.Http. Activity: HTTP GET. System.ArgumentException: An item with the same key has already been added. Key: dv.correlation.id
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Azure.Monitor.OpenTelemetry.Exporter.Models.RemoteDependencyData..ctor(Int32 version, Activity activity, ActivityTagsProcessor& activityTagsProcessor)
at Azure.Monitor.OpenTelemetry.Exporter.Internals.TraceHelper.OtelToAzureMonitorTrace(Batch`1 batchActivity, AzureMonitorResource azureMonitorResource, String instrumentationKey, Single sampleRate)]
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Private.CoreLib.dll
Exception thrown: 'System.ArgumentException' in System.Private.CoreLib.dll
Reproduction Steps
Gah. This is hard. I'm not able to clearly track the exact activity/source that causes the error due to the delayed export and thousands of other activities flowing through that AddPropertiesToTelemetry call. I suspect it would involve a parent and child activity that have some duplication in tags/baggage and then using the http client instrumentation to generate a remote depenency event that flows into the exporter.
Environment
Windows 11 Pro 22621.2215 64-bit
Visual Studio 17.8.0 Preview 1.0
Net 7.0

Adding Service team to look into this.

Thanks for the detailed description. I'm investigating.

@jakenuts, I've been unable to repro this.
The baggage shouldn't matter, this isn't added to properties. And the Activity Tags themselves don't allow duplicates.
If you're able to share a minimal repro, that would help us to investigate.

most likely duplicate of https://github.com/Azure/azure-sdk-for-net/issues/40023 --This has been fixed.
@jakenuts FYI


Show imenu with list of current buffer tests.

This could be nice for jumping around to different tests in the file.

Isn't this already implemented, or am I missing something? :O

Yeah, in #48. These old issues were basically a TODO list for me when i started writing this.


vsphere: consider parentless folder a terminal node

We used to break when encontering a datacenter while creating a path of a host. That was ok in most cases since Datacenters typically reside within the root folder named "Datacenters" that should not be part of the path that is passed to virt-v2v and libvirt.
However, it is possible to create nested datacenters, which reside within a folder under the aforementioned root folder, and in this case we need to include the parent folder of the datacenter in the path of the host. Therefore, we now don't stop traveling when encountering a datacenter but rather continue and break when we encounter a folder that has an empty parent instead, without adding this folder (the root folder) to the path.

can it be with multiple level nesting (e.g "/myfolder/myfolder1/mydc/mycluster/myhost")?

can it be with multiple level nesting (e.g "/myfolder/myfolder1/mydc/mycluster/myhost")?

yes


Add Rewards Eligibility To Overview Page

Fix For Issue https://github.com/lbryio/lbry-app/issues/529

not sure of the linking to other pages but heres an example code of adding the link to non eligible part
        {user && user.is_reward_approved
          ?
{__("Eligible")}<Icon icon="icon-check" />

          : {__("Eligible")}<Icon icon="icon-ban" />}

I think there is a link component, for that...

We are not going to display rewards eligibility on the wallet landing. The rewards area does that, and any improvements to be made here will be done inside that area.


Concatenate lists with if statement

Hello, sorry if the question seems stupid but I had a problem understanding how to solve a problem I had. I want to concatenate two lists and the values of those lists depends on a if statement like this :
if lb != null {
  let lbDep = ["value"]
}
if ub != null {
  let ubDep = ["secVal"]
}
dep: lbDep+ ubDep

The problem here is that they (lbDep/ubDep) arent't in the scope of the var "dep".
But if I initialize them with [] (empty array), I get a "conflicting values" error.
lbDep: []
if lb != null {
  lbDep = ["value"]
}
ubDep:[]
if ub != null {
  ubDep = ["secVal"]
}
dep: lbDep+ ubDep

How is it possible to overcome this or re-define an existing value?
Thanks!

try initializing with lbDep: [...]. [] is an empty list while [...] is a list of unknown elements
a list.FlattenN in the stdlib too


Logo proposal

Hey @robacarp
I designed a logo for mosquito to contribute.  Also, Do you have a special color you want? I will wait for your comment. Best regards.

@psikoz wow, thanks!
My color of preference would be something which matches well with the Amber project logo.
Is it possible to use a logo in svg format? I think it behaves better with git.

I am glad you like it :) I applied amber colors. how are things?

@psikoz sorry, I miscommunicated. I actually like the red, just wanted to make sure it doesn't clash with Amber. I do like the black text though. Red logo and black text and I'll ship it.

I sent a pr with red logo and black text. Could you please check?


Dhruvin intro conclusion

Add intro landing page
Add conclusion completed page
landing page goes to intro popup
conclusion popup goes to completed page which shows a shareable link
demo: https://www.loom.com/share/af99ad28c3384c0ea6c8266a4da42657

Creation of new scenarios still needs to be tested through postman once the cookie setup is worked out. But should be working

Flow looks great! Great work as always.
@ahmedhamodi I don't think it's worth waiting for the designs. It's likely that Jack will make some changes so don't want to double the work. Let's merge this in for now.


Implement getUserCompletionProgress()

https://github.com/RetroAchievements/RAWeb/pull/2122

https://github.com/RetroAchievements/api-js/pull/64


Link to eReg for an institution's reporting requirements

It may be easiest to include a link to the eReg Disclosure & Reporting section on the Publications home page, under a section titled resources (similar to the one on the platform home page). here is the link:
https://www.consumerfinance.gov/eregulations/1003-5/2017-18284_20180101#1003-5-a
The above outlines an institution's obligations for modified LAR and A&D reports.

Not sure we need a new section for this, but definitely will get it included on the page.

@awolfe76 We can remove the following sentence and link:
Learn more about a financial institutions obligations for disclosure and reporting.


absl logging vs print to stdout

I read about the recommended ways to use absl logging versus just printing to stdout and the gist of it is: they are for different "audiences":

absl logging: geared more towards developers, system admins, and those monitoring system behavior.
print: suited for direct output to users.

Justification:
When we print messages to the user, it doesn't feel quite right that they come pre-pended with a long date format and the "INFO" prefix, which introduce a lot of clutter. For example, when we list the tasks, or resources, we are just printing to stdout, which makes sense:
(https://github.com/inductiva/inductiva/blob/a5c4e6dc5d168b42eb89b4a604fcecd625530f65/inductiva/resources/machine_groups.py#L73)
However, the absl logging messages are good for internal logs that can later be parsed to understand potential problems in the system (absl can define different levels of messages, e.g., info, warning, error, so it also helps at filtering messages). So a lot of things that happen in the server-side should continue using logging.
Then there is a situation in which you want to do both: you want to send print some messages to stdout for the user to have some feedback of what is going on, but you might also want to keep those logged for later inspection (and those will have the timestamp, the right level of INFO/WARNING/ERROR, etc). In that case we might call both print and logging.info with the string.
One thing we can also do is to set up absl logging to save the messages to some specific folder of log files...

Regarding absl, I think it was a default choice for me and Sarmento that worked at Google in the past, where this library was developed. And probably the main use-case initially was the its flags library...
But I agree it could be a good idea to use something that is already built-in in Python default libraries.
Even for flags there is argparse, which is also pretty neat...

The basic idea is that logging does get sent to stdout (but to sdterr), while print is intended by default to be sent to stdout.
"The Abseil Logging library provides facilities for writing short text messages about the status of a program to stderr, disk files, or other sinks (via an extension API)."
By default, stderr is redirected to stdout, and that is why we are seeing the log info message (which is fine for now).
For now, I think we should log as verbosely as possible (but not redundantly), and then we will redirect logs to different files as needed.


Ghost selection

If I have a grid cell selected and the data grid is refreshed (which makes the list smaller), selection stays on the old cell that is now empty.
(The double-click editor is deactivated)

Are you setting the gridSelection manually by chance?

This is now fixed in main

Thanks


Is there any way to specify a minimum record count in z.record?

If I could specify a minimum number of records then I wouldn't get possibly undefined errors when using these records.
export enum NetworkNames {
    development = 'development',
    staging = 'staging',
    production = 'production',
}

const NetworkNamesSchema = z.nativeEnum(NetworkNames)

export const NetworkConfigSchema = z
    .record(
        NetworkNamesSchema,
        z
            .object({
                endpoint: z.string().url(),
            })
            .required()
    ).min(1) <---------------------------something like this

Even when I specify a .default on the end of the .record, TS doesn't realise that there will be a value in the NetworkConfigSchema.

Just to help surface this, it appears others are also affected by the "possibly undefined"-ness of literal key values. #2069 #2448

It's not pretty, but will this work for you.
export enum NetworkNames {
    development = 'development',
    staging = 'staging',
    production = 'production',
}

const NetworkNamesSchema = z.nativeEnum( NetworkNames )

export const NetworkConfigSchema = z.record(
    NetworkNamesSchema,
    z.object( {
        endpoint: z.string().url(),
    } ).required()
).refine( data => Object.keys( data ).length > 0, 'Required at least one network config' )

const result = NetworkConfigSchema.safeParse( {} )
!result.success && console.log( result.error.issues )
// [
//     {
//         code: "custom",
//         message: "Required at least one network config",
//         path: []
//     }
// ]

If you found my answer satisfactory, please consider supporting me. Even a small amount is greatly appreciated. Thanks friend! 🙏
https://github.com/sponsors/JacobWeisenburger


Issue in ansible playbook swarm.yml

TASK [add initialized host to swarm_manager_operational group]
fatal: [manager-1]: FAILED! => {"msg": "The conditional check 'bootstrap_first_node | changed' failed. The error was: template error while templating string: no filter named 'changed'. String: {% if bootstrap_first_node | changed %} True {% else %} False {% endif %}\n\nThe error appears to be in '/home/***********/vagrant/ansible-swarm-playbook/swarm.yml': line 72, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n    - name: add initialized host to swarm_manager_operational group\n      ^ here\n"}

@himanshkumar  just change this line
when: bootstrap_first_node | changed
to this:
when: bootstrap_first_node.changed


Add logging around sent notifications in the API

Fixes #852
Changes in this pull request:

Adds logging to notification events by wrapping notify.io with a monitor class.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @ericcheatham !!!


Build with source maps?

When running spago -x prod.dhall build --purs-args '-g sourcemaps' the error below is thrown:
[error] Can't pass `--codegen` option to build when using a backend
[error] Hint: No need to pass `--codegen corefn` explicitly when using the `backend` option.
[error] Remove the argument to solve the error

Is it possible to generate source maps when using this backend?
prod.dhall contains
./spago.dhall // { backend = "pnpm purs-backend-es build" }

AFAIK, source maps are not supported, and I don't think Nate intends to support them in the future.

No worries, thanks both for quick responses!


Windows Python Binaries

Hi,
I just installed the python binaries on windows, and tried to do a simple example to test elastix by:
fImage = SimpleITK.ReadImage("fixedImage.nii")
mImage = SimpleITK.ReadImage("movingImage.nii")
result = SimpleITK.Elastix(fixedImage, movingImage)
Keep getting the following error, both in command line and in python shell. It seems to try access F drive, but I dont have one on my computer?!
Traceback (most recent call last):
File "<pyshell#47>", line 1, in
result=SimpleITK.Elastix(fImg,mImg)
File "C:\Python34\lib\site-packages\SimpleITK\SimpleITK.py", line 9189, in Elastix
return _SimpleITK.Elastix(*args)
RuntimeError: Exception thrown in SimpleITK Elastix: F:\prog\SimpleElastix\src1\Code\Elastix\include\sitkSimpleElastix.hxx:63:
sitk::ERROR:
itk::ExceptionObject<PHONE_NUMBER>C0B6F8)
Location: "unknown"
File: f:\prog\simpleelastix\bld2\elastix\src\core\main\elxElastixFilter.hxx
Line: 236
Description: itk::ERROR: Self(00000000059D74E0): Internal elastix error: See elastix log (use LogToConsoleOn() or LogToFileOn()).

The path refers the to computer on which the binary was compiled not on your computer. This just tells the programmer where the exception is thrown.
As the error message says, you can look in the elastix log to see what the real error is. You can see this message using result = SimpleITK.Elastix(fixedImage, movingImage, True) (or LogToConsoleOn() if you were using the object-oriented interface).

The error log generated was empty, which was the most confusing part!

So the log file is created on disk, but it is an empty file? If so, can you log to console to see the error?


AsyncComputed: no way to return to initial state

Once an async computed task has been executed, there is no way to return it to it's "initial" state.
In Lit's Task we provide an initialState sentinel value that a compute function can return to put the Task back into the initial state. It might also be nice to have a reset() method to do this from outside the compute function. It should clear the current error and restore the initial value.

Perhaps similarly, I would find an AsyncWritableComputed that exposes a setValue/mutate function useful for optimistic or single flight mutations.

@danielrkling can you expand on the use case there?
One of the main differences between AsyncComputed and an interface like Relays is that the compute function completely determines the current state of the AsyncComputed instance, just like with a Signal.Computed. External mutations shouldn't be possible, and if something like that is needed I think it's best if it's structured as a state signal used by the compute function that only certain actors get a reference to, not all consumers of the AsyncComputed.

I'm not sure I'm understanding the Relay pattern in the article linked in the pinned features issue https://www.pzuraq.com/blog/on-signal-relays so I'll just describe what I am currently doing, and maybe that is more of a Relay, but it seems more like AsyncComputed + Latest
Using my own version of AsyncComputed with a setValue function.
export const todos = new MyAsyncComputed(()=>fetchTodos(),{initialValue: []})

export async function addTodo(todo){
    //this api call returns the newly created todo with extra properties from the server that i want added to the array
    fetch('addTodo',{method:"POST", body: JSON.stringify(todo)}).then(result=>{
       const newTodo = parseResult()
       todos.setValue([...todos.value,newTodo])
    }
}


error TS4020: 'extends' clause of exported class 'SampleNewClass' has or is using private name 'SampleMixin'

TypeScript Version:   2.3.2
Code
File SampleMixin.ts with mixin class:
export type Constructor<T = object> = new(...args: any[]) => T;

export interface SampleMixin {
    pluginManager: string[];
}

export default <S extends Constructor>(Superclass: S): Constructor<SampleMixin> & S => class extends Superclass {

    private _pluginManager: string[];

    get pluginManager(): string[] {
		return this._pluginManager ? this._pluginManager : this._pluginManager = [];
	}

}

The file index.ts where this mixin is used:

import SampleMixin from './SampleMixin';

class SampleSuperClass {}

export default class SampleNewClass extends SampleMixin(SampleSuperClass) {}

Expected behavior:
Compilation complete. Watching for file changes.
Actual behavior:
index.ts(6,22): error TS4093: 'extends' clause of exported class 'SampleNewClass' refers to a type whose name cannot be referenced.
index.ts(6,45): error TS4020: 'extends' clause of exported class 'SampleNewClass' has or is using private name 'SampleMixin'.

This looks like the same underling issue as https://github.com/Microsoft/TypeScript/issues/9944. the rule is if the compiler tries to write the type, and it needs an import from another module, and it was not already available, then error..
if you were to write the type manually for this class, you would have needed something like:
import SampleMixin, { SampleMixin as SampleMixinType, Constructor } from './b';

class SampleSuperClass { }

const base: Constructor<SampleMixinType> & typeof SampleSuperClass = SampleMixin(SampleSuperClass);

export default class SampleNewClass extends base { }

since both SampleMixinType and Constructor are not already imported, the compiler is giving you this error. the fix is to ensure they are imported, and/or you write an explicit type annotation for the base.
https://github.com/Microsoft/TypeScript/issues/9944 tracks adding imports automatically in such cases.

https://github.com/styled-components/styled-components/issues/973

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


add supporting multiple key directives

Add supporting multiple key directives.
According to federation-spec multiple keys can be defined on a single object type:
type Product @key(fields: "upc") @key(fields: "sku") {
  upc: UPC!
  sku: SKU!
  name: String
}

I vaguely remember that the value could also be a  selection set, e.g. @key(fields: "foo bar { baz }").
Not sure if this is still valid but it could also be possible to treat the string as a selection set, parse all fields, maybe even nested and use them as keys. What do you think?

@jensneuse  you are right, it's called a compound key.
Compound key could be addressed in separate PR.
A lack of multiple key blocks my work as graphql-transform-federation build federated schema with multiple key (@key(fields: "prop1") @key(fields: "prop2") instead of @key(fields: "prop1 prop2")).

Hey @chedom, can you please fix the merge conflicts. I'll then add this PR.

@jensneuse  conflicts have been fixed.


Remove the Card section pattern from storybook

Remove the Card section pattern from storybook.  This pattern is no longer needed as a standalone pattern since it is covered by the Card section - simple and Card section - images patterns.
This decision was made in the BA - Engineering functional specs review meeting on April 30, 2020.

This has already been done by @kennylam , I think we can close this.


Update LICENSE

Pull Request Test Coverage Report for Build 993070289

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 870759846:
0.0%

Covered Lines:
73

Relevant Lines:
79

💛  - Coveralls


Detekt 1.16.0 and newer cannot be downloaded due to missing artifact

Hello all,
We use the detekt GitHub action as follows (shortend to relevant parts only):
jobs:
  detekt:
    name: run detekt analysis
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v2
      - name: Detekt
        uses<EMAIL_ADDRESS>        with:
          args: '-c ${{ env.detekt_config }} -r html:${{ env.detekt_report }}

When GitHub executes the action it fails as it cannot download the artifact from the expected directory
Step 2/5 : ADD https://github.com/detekt/detekt/releases/download/v1.16.0/detekt /usr/local/bin/detekt
  ADD failed: failed to GET https://github.com/detekt/detekt/releases/download/v1.16.0/detekt with status 404 Not Found:
<!DOCTYPE html>
  <html> ... </html>

Accessing the release download manually also does not work for the newer releases but it does work for old releases
https://github.com/detekt/detekt/releases/download/v1.16.0/detekt --> NOT_FOUND
https://github.com/detekt/detekt/releases/download/v1.16.0-RC1/detekt --> NOT_FOUND
https://github.com/detekt/detekt/releases/download/v1.16.0-RC-2/detekt --> NOT_FOUND
https://github.com/detekt/detekt/releases/download/v1.16.0-RC-3/detekt --> NOT_FOUND
https://github.com/detekt/detekt/releases/download/v1.17.0-RC1/detekt --> NOT_FOUND
https://github.com/detekt/detekt/releases/download/v1.15.0/detekt --> OK
Looking at the assets in for v 1.15.0 we can se a "detekt" asset (see https://github.com/detekt/detekt/releases/tag/v1.15.0) but for v1.16.0 this asset does not exist (see https://github.com/detekt/detekt/releases/tag/v1.16.0) .
This issue does seem similar to https://github.com/natiginfo/action-detekt-all/issues/19 but on closer inspection I think the problem source is different.
Thanks in advance for your input!

Hi,
Thank you for reporting the issue.
Indeed, it seems like it is same issue as #19. I fixed releases for 1.16.0 and 1.17.0-RC-1 and tested in my project. I will make releases for 1.16.0-RC1, 1.16.0-RC-2 and 1.16.0-RC-3 later (just in case someone uses them) but for now other releases should be ok.
Please, test it in your end also and let me know if there is new issue.
I will monitor upcoming releases and try to prevent this type of problems in case release-manager automation does not work.

Thanks for the quick response! Everything now works on my end. Your work is very much appreciated!


Fix race conditions on route 53 with retry logic

Added retry logic for PriorRequestNotComplete, with a retry cap of 100.

Coverage remained the same at 52.563% when pulling eccf23e47138bff4f4e9720de85d0e6e7485456c on route53-race-fix into 8eda190d511dc1dd34e8a214c9c2874c3a3a341d on master.

Coverage remained the same at 52.563% when pulling f83ada2d65ccca31b2f4bb3ad86c460d835971b1 on route53-race-fix into 8eda190d511dc1dd34e8a214c9c2874c3a3a341d on master.


feat(tier4_perception_launch): declare param path argument

Description
set tier4_perception_launch_param_path argument

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@takayuki5168 This lines causes following error.
TypeError: add_launch_arg() takes from 1 to 2 positional arguments but 3 were given


NO longer is vanity url case sensitive

Changes Unknown when pulling 9c44f87fb8797175bb3613cab5c256918498bffa on vanity-url into ** on development**.


How can I resolve 'make failed, exit code 2' error?

I cannot install gem - posted details at:
https://stackoverflow.com/questions/76395150/failed-to-install-rubygem-trilogy-how-can-i-resolve-make-failed-exit-code-2
Thx in advance!

C:\Ruby30-x64\msys64\mingw64\bin>gcc --version
gcc (Rev5, Built by MSYS2 project) 10.3.0
C:\Ruby30-x64\msys64\mingw64\bin>ruby dk.rb init
ruby: No such file or directory -- dk.rb (LoadError)
What else can I try?

C:\Ruby30-x64\msys64\mingw64\bin>gcc --version
gcc (Rev5, Built by MSYS2 project) 10.3.0
C:\Ruby30-x64\msys64\mingw64\bin>ruby dk.rb init
ruby: No such file or directory -- dk.rb (LoadError)
What else can I try?

Mistakenly I clicked "close issue" while infact i am still clueless what to try to enable this gem installation.
Thx!

Trilogy currently doesn't support Windows. It uses the poll function which is not available on Windows.


'Sources' activity does not dynamically refresh descriptions when system locale changes

This is very minor annoyance but sources description won't update when user changes system locale while 'Sources' activity is running.
How to reproduce (assuming phone language is English):

open 'Sources' activity
while activity is running, navigate to system settings and change language to 'French - France'
go back to Muzei and check 'My photos'. While label is French, description is not

Closing and opening the activity again will show the appropriate translations. Seen on Pixel 3a (Android 10) and Nexus 10 (Lollipop).

Thanks for pointing this out. The fix will be available in the next release!


electronics co-simulation plugin

it would be great to interface with a time domain capable simulator
https://github.com/TeledyneLeCroy/SignalIntegrity

This would be nice to add as a py spice plug-in


Add progress bar to multiselect in search

When I'm waiting for 1000s of items to be replaced, there is no feedback that anything is happening. We should show the viewlet progress bar, like when you click "Replace All"

from https://github.com/microsoft/vscode/pull/156963#issuecomment-1215608144

Thank you for submitting your feature request and everyone who considered it! Unfortunately, this issue did not receive enough votes over the allotted time, and so we are closing the issue. PRs are welcome so you can create a PR that fixes this if you are passionate about getting this feature across the finish line. Thanks!


Copy options from ssh for inspec verifier

Fixes https://github.com/inspec/kitchen-inspec/issues/160

thanks!


Error in beautifiers/beautifier.coffee

Description
Beautify results in an empty error dialog (red box)
Input Before Beautification
No change to code
module ApplicationHelper
  def login_helper
    if current_user.is_a?(User
  link_to "Logout", destroy_user_session_path, method: :delete
else
      link_to "Register", new_user_registration_path
      link_to "Login", new_user_session_path
    end
  end
end

Expected Output
The beautified code should have looked like this:
module ApplicationHelper
  def login_helper
    if current_user.is_a?(User
      link_to "Logout", destroy_user_session_path, method: :delete
    else
      link_to "Register", new_user_registration_path
      link_to "Login", new_user_session_path
    end
  end
end

Actual Output
The beautified code actually looked like this:
No change to input code
Steps to Reproduce
Just an error
Debug
Here is a link to the debug.md Gist:
https://gist.github.com/ButterflyGarden/500f5d2124281a91d9ec49addd3f003a
Checklist
I have:

[Y ] Tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[Y] Reloaded (or restarted) Atom to ensure it is not a caching issue
[Y] Searched through existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[Y] Filled out the Input, Expected, and Actual sections above or have edited/removed them in a way that fully describes the issue.
[Y] Generated debugging information by executing Atom Beautify: Help Debug Editor command in Atom and added link for debug.md Gist to this issue

I discovered it was a conflict with the language-ruby-on-rails package


Remove version: Jackett.Jackett version 0.21.1613

404 - release deleted
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Jackett/Jackett/releases/download/v0.21.1613/Jackett.Installer.Windows.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 918)


Add an option to create a non-recursive hub.

It would be nice to have an option to set a specific directory as a hub without recursively including videos in subdirectories.
Yes, it is possible to use filters to narrow down the results to only a single folder but that is a much more obtuse workflow that also requires significantly more, unnecessary data processing.

Thank you for a suggestion for Video Hub App 🙌
I'm assuming you are recommending this happens during the creation of a hub (or in a follow-up step of adding another directory into VHA). It does seem like it's very easy to create a folder manually (in your OS), drag all the videos you want into it, and then import just that folder into VHA.
Is there any reason that's not a good-enough solution?

Good question, ideally it would be more flexible/customizable if the setting could be applied for each folder in a hub, however, if that is significantly more work, setting it per hub is probably a workable compromise.  I think I would be using it non-recursive 99% of the time.
Yes, theoretically that is a potential solution.  However, from a user/datahoarder perspective we have already spent significant time organizing our media library.  Unfortunately, breaking that organization nullifies the benefits of using this tool.

Since I have the SourceFolder interface (an object rather than a string) - I believe I can throw in an extra boolean in there which says "recursive" or not 🤔
https://github.com/whyboris/Video-Hub-App/blob/main/interfaces/final-object.interface.ts#L10
But the UI (user interface) feels a bit more complicated. We'd need a checkbox next to the source folder when selecting it, and then somewhere in the Current hub tab (4th tab) in settings - next to each of the folders on the "Video folders located here" 🤔
Visually that is already a bit cluttered, but it may be possible with a bunch of work 🤔
I still have a hard time wrapping my head around the use case. If you have, for example, a folder /movies which has many sub-folders, and you only want to add /movies/comedies but for some reason you don't want to include the sub-folder /movies/comedies/international 🤯
I have been asked to allow to exclude a folder (which I understand -- maybe your /movies has one folder that says /movies/incomplete-downloads or something 🤔 ) ...
I'll be honest I'm still a bit reluctant to add the feature you are requesting -- but perhaps you could share more of your motivation?
Full disclosure -- I finally have found time going forward to resume work on VHA and my first order of business is to try to get the (optional!) facial recognition (all local on each person's machine, never going on the internet). But when I'm done releasing that (maybe winter 2023) I'll be on the lookout for any other features ❤